From 7a731a5f618cadea0c65232b8cbdb2c7f4220939 Mon Sep 17 00:00:00 2001 From: kalcaddle <824691958@qq.com> Date: Wed, 2 Apr 2014 02:00:42 +0800 Subject: [PATCH] =?UTF-8?q?2.1=E7=89=88=E6=9C=AC=E6=8F=90=E4=BA=A4=20=20?= =?UTF-8?q?=20=E5=88=9D=E5=A7=8B=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.php | 73 + config/setting.php | 51 + config/version.php | 2 + controller/app.class.php | 112 + controller/debug.class.php | 247 + controller/desktop.class.php | 33 + controller/editor.class.php | 78 + controller/explorer.class.php | 501 + controller/fav.class.php | 65 + controller/group.class.php | 94 + controller/member.class.php | 105 + controller/setting.class.php | 56 + controller/user.class.php | 232 + controller/util.php | 79 + data/User/admin/data/config.php | 1 + data/User/admin/data/fav.php | 1 + data/User/demo/data/config.php | 1 + data/User/demo/data/fav.php | 1 + data/User/demo/home/image/1983 - 日光海岸.mp3 | Bin 0 -> 4227239 bytes data/User/demo/home/image/LICENSE.md | 24 + data/User/demo/home/image/adagio.mp3 | Bin 0 -> 2815055 bytes data/User/demo/home/image/icon.png | Bin 0 -> 1994 bytes data/User/guest/data/config.php | 1 + data/User/guest/data/fav.php | 1 + data/i18n/en/about.html | 34 + data/i18n/en/edit.html | 65 + data/i18n/en/help.html | 36 + data/i18n/en/main.php | 353 + data/i18n/zh_CN/about.html | 33 + data/i18n/zh_CN/edit.html | 64 + data/i18n/zh_CN/help.html | 36 + data/i18n/zh_CN/main.php | 358 + data/i18n/zh_TW/about.html | 33 + data/i18n/zh_TW/edit.html | 64 + data/i18n/zh_TW/help.html | 36 + data/i18n/zh_TW/main.php | 358 + data/system/apps.php | 1 + data/system/group.php | 1 + data/system/member.php | 1 + index.php | 7 + lib/class/fileCache.class.php | 235 + lib/class/history.class.php | 162 + lib/class/imageThumb.class.php | 167 + lib/class/lessc.inc.class.php | 3675 +++ lib/class/pclzip.class.php | 5694 ++++ lib/core/Application.class.php | 90 + lib/core/Controller.class.php | 78 + lib/core/Model.class.php | 39 + lib/function/common.function.php | 697 + lib/function/file.function.php | 675 + lib/function/web.function.php | 517 + lib/plugins/adminer/adminer.css | 147 + lib/plugins/adminer/index.php | 1673 ++ readme.txt | 254 +- static/images/app/-computer.png | Bin 0 -> 5731 bytes static/images/app/365.png | Bin 0 -> 13919 bytes static/images/app/app_s1.png | Bin 0 -> 4356 bytes static/images/app/app_s2.png | Bin 0 -> 2761 bytes static/images/app/cal.png | Bin 0 -> 3264 bytes static/images/app/calcu.png | Bin 0 -> 2876 bytes static/images/app/chuangyebang.jpg | Bin 0 -> 1659 bytes static/images/app/computer.png | Bin 0 -> 4053 bytes static/images/app/douban.png | Bin 0 -> 3622 bytes static/images/app/fruite.jpg | Bin 0 -> 2328 bytes static/images/app/geling.jpg | Bin 0 -> 2956 bytes static/images/app/haozhaopian.jpg | Bin 0 -> 4924 bytes static/images/app/internet.png | Bin 0 -> 2994 bytes static/images/app/iqiyi.png | Bin 0 -> 7050 bytes static/images/app/js.png | Bin 0 -> 1534 bytes static/images/app/kuaidi.gif | Bin 0 -> 3982 bytes static/images/app/kugou.png | Bin 0 -> 6733 bytes static/images/app/kugou_radio.png | Bin 0 -> 12084 bytes static/images/app/linux.png | Bin 0 -> 2870 bytes static/images/app/map.png | Bin 0 -> 7179 bytes static/images/app/market.png | Bin 0 -> 2596 bytes static/images/app/meishi.png | Bin 0 -> 2989 bytes static/images/app/meitu.gif | Bin 0 -> 4302 bytes static/images/app/oexe.png | Bin 0 -> 5999 bytes static/images/app/pptv.jpg | Bin 0 -> 9156 bytes static/images/app/ps.png | Bin 0 -> 10672 bytes static/images/app/qqmusic.png | Bin 0 -> 6426 bytes static/images/app/setting.png | Bin 0 -> 6019 bytes static/images/app/souhu.jpg | Bin 0 -> 4923 bytes static/images/app/time.png | Bin 0 -> 1888 bytes static/images/app/xiami.jpg | Bin 0 -> 1722 bytes static/images/app/xiangqi.jpg | Bin 0 -> 1658 bytes static/images/app/yingyuetai.png | Bin 0 -> 8535 bytes static/images/app/youdao.jpg | Bin 0 -> 5203 bytes static/images/app/zhiwu.jpg | Bin 0 -> 2301 bytes static/images/bg.gif | Bin 0 -> 363 bytes static/images/buttons_40.png | Bin 0 -> 263 bytes static/images/desktop/narrow.png | Bin 0 -> 2945 bytes static/images/desktop/start.png | Bin 0 -> 3436 bytes static/images/desktop/taskbarbg.png | Bin 0 -> 1023 bytes static/images/desktop/taskbarhover.png | Bin 0 -> 3240 bytes static/images/dialog_loading.gif | Bin 0 -> 1900 bytes static/images/favicon.ico | Bin 0 -> 1150 bytes static/images/file.png | Bin 0 -> 556 bytes static/images/file_16/air.png | Bin 0 -> 643 bytes static/images/file_16/avi.png | Bin 0 -> 752 bytes static/images/file_16/cmd.png | Bin 0 -> 301 bytes static/images/file_16/code.png | Bin 0 -> 610 bytes static/images/file_16/cpp.png | Bin 0 -> 525 bytes static/images/file_16/css.png | Bin 0 -> 627 bytes static/images/file_16/dll.png | Bin 0 -> 578 bytes static/images/file_16/doc.png | Bin 0 -> 3549 bytes static/images/file_16/exe.png | Bin 0 -> 407 bytes static/images/file_16/file.png | Bin 0 -> 291 bytes static/images/file_16/fla.png | Bin 0 -> 589 bytes static/images/file_16/flv.png | Bin 0 -> 589 bytes static/images/file_16/folder.png | Bin 0 -> 622 bytes static/images/file_16/html.png | Bin 0 -> 343 bytes static/images/file_16/ini.png | Bin 0 -> 624 bytes static/images/file_16/jpg.png | Bin 0 -> 707 bytes static/images/file_16/js.png | Bin 0 -> 3439 bytes static/images/file_16/mp3.png | Bin 0 -> 554 bytes static/images/file_16/oexe.png | Bin 0 -> 606 bytes static/images/file_16/pdf.png | Bin 0 -> 560 bytes static/images/file_16/php.png | Bin 0 -> 538 bytes static/images/file_16/ppt.png | Bin 0 -> 3539 bytes static/images/file_16/ps.png | Bin 0 -> 674 bytes static/images/file_16/psd.png | Bin 0 -> 582 bytes static/images/file_16/py.png | Bin 0 -> 575 bytes static/images/file_16/rar.gif | Bin 0 -> 1055 bytes static/images/file_16/swf.png | Bin 0 -> 530 bytes static/images/file_16/ttf.png | Bin 0 -> 530 bytes static/images/file_16/txt.png | Bin 0 -> 347 bytes static/images/file_16/xls.png | Bin 0 -> 3565 bytes static/images/file_16/xml.png | Bin 0 -> 478 bytes static/images/file_16/zip.png | Bin 0 -> 588 bytes static/images/folder.png | Bin 0 -> 831 bytes static/images/image.png | Bin 0 -> 3448 bytes static/images/lazy.gif | Bin 0 -> 1787 bytes static/images/left.jpg | Bin 0 -> 453 bytes static/images/line.png | Bin 0 -> 195 bytes static/images/line_x.png | Bin 0 -> 255 bytes static/images/loading.gif | Bin 0 -> 522 bytes static/images/loading_simple.gif | Bin 0 -> 3489 bytes static/images/loading_tree.gif | Bin 0 -> 1553 bytes static/images/resize.png | Bin 0 -> 196 bytes static/images/resize_corner.png | Bin 0 -> 181 bytes static/images/thumb/movie/qqplayer.jpg | Bin 0 -> 59301 bytes static/images/thumb/movie/qqplayer.png | Bin 0 -> 101459 bytes static/images/thumb/movie/tvlive.jpg | Bin 0 -> 56664 bytes static/images/thumb/movie/tvlive.png | Bin 0 -> 146366 bytes static/images/thumb/movie/vplayer.jpg | Bin 0 -> 79243 bytes static/images/thumb/movie/vplayer.png | Bin 0 -> 240195 bytes static/images/thumb/movie/webplayer.jpg | Bin 0 -> 72738 bytes static/images/thumb/movie/webplayer.png | Bin 0 -> 204113 bytes static/images/thumb/movie/youtube.jpg | Bin 0 -> 59418 bytes static/images/thumb/movie/youtube.png | Bin 0 -> 122825 bytes static/images/thumb/music/beveled.jpg | Bin 0 -> 13460 bytes static/images/thumb/music/jma.png | Bin 0 -> 16063 bytes static/images/thumb/music/kuwo.jpg | Bin 0 -> 51525 bytes static/images/thumb/music/kuwo.png | Bin 0 -> 78629 bytes static/images/thumb/music/manila.jpg | Bin 0 -> 31006 bytes static/images/thumb/music/manila.png | Bin 0 -> 81162 bytes static/images/thumb/music/mp3player.jpg | Bin 0 -> 41226 bytes static/images/thumb/music/qqmusic.jpg | Bin 0 -> 46085 bytes static/images/thumb/music/qqmusic.png | Bin 0 -> 34825 bytes static/images/thumb/music/scplayer.png | Bin 0 -> 5755 bytes static/images/thumb/music/somusic.jpg | Bin 0 -> 29784 bytes static/images/thumb/music/somusic.png | Bin 0 -> 35156 bytes static/images/thumb/music/ting.jpg | Bin 0 -> 32531 bytes static/images/thumb/music/xdj.jpg | Bin 0 -> 39637 bytes static/images/thumb/theme/color.png | Bin 0 -> 12825 bytes static/images/thumb/theme/default.png | Bin 0 -> 32070 bytes static/images/thumb/theme/metro.png | Bin 0 -> 32070 bytes static/images/thumb/theme/simple.png | Bin 0 -> 32790 bytes static/images/topBanner.jpg | Bin 0 -> 1644 bytes static/images/tree.png | Bin 0 -> 5446 bytes static/images/wall_page/1.jpg | Bin 0 -> 170692 bytes static/images/wall_page/10.jpg | Bin 0 -> 259821 bytes static/images/wall_page/11.jpg | Bin 0 -> 259475 bytes static/images/wall_page/12.jpg | Bin 0 -> 95991 bytes static/images/wall_page/13.jpg | Bin 0 -> 94290 bytes static/images/wall_page/14.jpg | Bin 0 -> 275298 bytes static/images/wall_page/15.jpg | Bin 0 -> 457889 bytes static/images/wall_page/2.jpg | Bin 0 -> 94358 bytes static/images/wall_page/3.jpg | Bin 0 -> 179503 bytes static/images/wall_page/4.jpg | Bin 0 -> 133399 bytes static/images/wall_page/5.jpg | Bin 0 -> 205093 bytes static/images/wall_page/6.jpg | Bin 0 -> 15706 bytes static/images/wall_page/7.jpg | Bin 0 -> 328475 bytes static/images/wall_page/8.jpg | Bin 0 -> 93270 bytes static/images/wall_page/9.jpg | Bin 0 -> 59005 bytes static/images/wall_page/thumb/1.jpg | Bin 0 -> 1844 bytes static/images/wall_page/thumb/10.jpg | Bin 0 -> 2253 bytes static/images/wall_page/thumb/11.jpg | Bin 0 -> 2591 bytes static/images/wall_page/thumb/12.jpg | Bin 0 -> 2355 bytes static/images/wall_page/thumb/13.jpg | Bin 0 -> 2385 bytes static/images/wall_page/thumb/14.jpg | Bin 0 -> 1837 bytes static/images/wall_page/thumb/15.jpg | Bin 0 -> 3854 bytes static/images/wall_page/thumb/2.jpg | Bin 0 -> 1925 bytes static/images/wall_page/thumb/3.jpg | Bin 0 -> 3362 bytes static/images/wall_page/thumb/4.jpg | Bin 0 -> 2688 bytes static/images/wall_page/thumb/5.jpg | Bin 0 -> 2185 bytes static/images/wall_page/thumb/6.jpg | Bin 0 -> 1800 bytes static/images/wall_page/thumb/7.jpg | Bin 0 -> 3360 bytes static/images/wall_page/thumb/8.jpg | Bin 0 -> 1328 bytes static/images/wall_page/thumb/9.jpg | Bin 0 -> 1931 bytes static/images/ybutton.png | Bin 0 -> 2277 bytes static/js/Gruntfile.js | 74 + static/js/_dev/common/CMPlayer.js | 141 + static/js/_dev/common/core.js | 481 + static/js/_dev/common/pathOpen.js | 176 + static/js/_dev/common/pathOperate.js | 501 + static/js/_dev/common/rightMenu.js | 598 + static/js/_dev/common/taskTap.js | 216 + static/js/_dev/common/tree.js | 425 + static/js/_dev/src/app/main.js | 8 + static/js/_dev/src/app/page.js | 129 + static/js/_dev/src/desktop/fileSelect.js | 459 + static/js/_dev/src/desktop/main.js | 74 + static/js/_dev/src/desktop/ui.js | 335 + static/js/_dev/src/edit/edit.js | 376 + static/js/_dev/src/edit/main.js | 28 + static/js/_dev/src/edit/mode.js | 123 + static/js/_dev/src/edit/taskTap.js | 257 + static/js/_dev/src/edit/toolbar.js | 202 + static/js/_dev/src/editor/main.js | 32 + static/js/_dev/src/editor/ui.js | 88 + static/js/_dev/src/explorer/fileSelect.js | 502 + static/js/_dev/src/explorer/main.js | 69 + static/js/_dev/src/explorer/path.js | 499 + static/js/_dev/src/explorer/ui.js | 674 + static/js/_dev/src/setting/fav.js | 151 + static/js/_dev/src/setting/group.js | 259 + static/js/_dev/src/setting/main.js | 14 + static/js/_dev/src/setting/member.js | 215 + static/js/_dev/src/setting/setting.js | 131 + static/js/_dev/tpl/app.js | 66 + static/js/_dev/tpl/fileinfo.js | 121 + static/js/_dev/tpl/search.js | 52 + static/js/_dev/tpl/upload.js | 31 + static/js/_dev/update/main.js | 262 + static/js/app/src/app/main.js | 1 + static/js/app/src/desktop/main.js | 3 + static/js/app/src/edit/main.js | 1 + static/js/app/src/editor/main.js | 3 + static/js/app/src/explorer/main.js | 3 + static/js/app/src/setting/main.js | 1 + static/js/app/update/main.js | 1 + static/js/lib/ace/api.url | 2 + static/js/lib/ace/editor.html | 91 + static/js/lib/ace/read.txt | 7 + static/js/lib/ace/src-min-noconflict/ace.js | 11 + .../ace/src-min-noconflict/ext-chromevox.js | 1 + .../ext-elastic_tabstops_lite.js | 1 + .../lib/ace/src-min-noconflict/ext-emmet.js | 1 + .../src-min-noconflict/ext-error_marker.js | 0 .../src-min-noconflict/ext-keybinding_menu.js | 1 + .../src-min-noconflict/ext-language_tools.js | 1 + .../ace/src-min-noconflict/ext-modelist.js | 1 + .../lib/ace/src-min-noconflict/ext-old_ie.js | 1 + .../ace/src-min-noconflict/ext-searchbox.js | 1 + .../src-min-noconflict/ext-settings_menu.js | 1 + .../ace/src-min-noconflict/ext-spellcheck.js | 1 + .../lib/ace/src-min-noconflict/ext-split.js | 1 + .../ext-static_highlight.js | 1 + .../ace/src-min-noconflict/ext-statusbar.js | 1 + .../ace/src-min-noconflict/ext-textarea.js | 1 + .../ace/src-min-noconflict/ext-themelist.js | 1 + .../ace/src-min-noconflict/ext-whitespace.js | 1 + .../src-min-noconflict/keybinding-emacs.js | 1 + .../ace/src-min-noconflict/keybinding-vim.js | 1 + .../lib/ace/src-min-noconflict/mode-abap.js | 1 + .../src-min-noconflict/mode-actionscript.js | 1 + .../js/lib/ace/src-min-noconflict/mode-ada.js | 1 + .../src-min-noconflict/mode-apache_conf.js | 1 + .../ace/src-min-noconflict/mode-asciidoc.js | 1 + .../src-min-noconflict/mode-assembly_x86.js | 1 + .../ace/src-min-noconflict/mode-autohotkey.js | 1 + .../ace/src-min-noconflict/mode-batchfile.js | 1 + .../ace/src-min-noconflict/mode-c9search.js | 1 + .../lib/ace/src-min-noconflict/mode-c_cpp.js | 1 + .../ace/src-min-noconflict/mode-clojure.js | 1 + .../lib/ace/src-min-noconflict/mode-cobol.js | 1 + .../lib/ace/src-min-noconflict/mode-coffee.js | 1 + .../ace/src-min-noconflict/mode-coldfusion.js | 1 + .../lib/ace/src-min-noconflict/mode-csharp.js | 1 + .../js/lib/ace/src-min-noconflict/mode-css.js | 1 + .../lib/ace/src-min-noconflict/mode-curly.js | 1 + .../js/lib/ace/src-min-noconflict/mode-d.js | 1 + .../lib/ace/src-min-noconflict/mode-dart.js | 1 + .../lib/ace/src-min-noconflict/mode-diff.js | 1 + .../lib/ace/src-min-noconflict/mode-django.js | 1 + .../js/lib/ace/src-min-noconflict/mode-dot.js | 1 + .../js/lib/ace/src-min-noconflict/mode-ejs.js | 1 + .../lib/ace/src-min-noconflict/mode-erlang.js | 1 + .../lib/ace/src-min-noconflict/mode-forth.js | 1 + .../js/lib/ace/src-min-noconflict/mode-ftl.js | 1 + .../lib/ace/src-min-noconflict/mode-glsl.js | 1 + .../lib/ace/src-min-noconflict/mode-golang.js | 1 + .../lib/ace/src-min-noconflict/mode-groovy.js | 1 + .../lib/ace/src-min-noconflict/mode-haml.js | 1 + .../ace/src-min-noconflict/mode-handlebars.js | 1 + .../ace/src-min-noconflict/mode-haskell.js | 1 + .../lib/ace/src-min-noconflict/mode-haxe.js | 1 + .../lib/ace/src-min-noconflict/mode-html.js | 1 + .../mode-html_completions.js | 1 + .../ace/src-min-noconflict/mode-html_ruby.js | 1 + .../js/lib/ace/src-min-noconflict/mode-ini.js | 1 + .../lib/ace/src-min-noconflict/mode-jack.js | 1 + .../lib/ace/src-min-noconflict/mode-jade.js | 1 + .../lib/ace/src-min-noconflict/mode-java.js | 1 + .../ace/src-min-noconflict/mode-javascript.js | 1 + .../lib/ace/src-min-noconflict/mode-json.js | 1 + .../lib/ace/src-min-noconflict/mode-jsoniq.js | 1 + .../js/lib/ace/src-min-noconflict/mode-jsp.js | 1 + .../js/lib/ace/src-min-noconflict/mode-jsx.js | 1 + .../lib/ace/src-min-noconflict/mode-julia.js | 1 + .../lib/ace/src-min-noconflict/mode-latex.js | 1 + .../lib/ace/src-min-noconflict/mode-less.js | 1 + .../lib/ace/src-min-noconflict/mode-liquid.js | 1 + .../lib/ace/src-min-noconflict/mode-lisp.js | 1 + .../ace/src-min-noconflict/mode-livescript.js | 1 + .../lib/ace/src-min-noconflict/mode-logiql.js | 1 + .../js/lib/ace/src-min-noconflict/mode-lsl.js | 1 + .../js/lib/ace/src-min-noconflict/mode-lua.js | 1 + .../ace/src-min-noconflict/mode-luapage.js | 1 + .../lib/ace/src-min-noconflict/mode-lucene.js | 1 + .../ace/src-min-noconflict/mode-makefile.js | 1 + .../ace/src-min-noconflict/mode-markdown.js | 1 + .../lib/ace/src-min-noconflict/mode-matlab.js | 1 + .../js/lib/ace/src-min-noconflict/mode-mel.js | 1 + .../ace/src-min-noconflict/mode-mushcode.js | 1 + .../mode-mushcode_high_rules.js | 1 + .../lib/ace/src-min-noconflict/mode-mysql.js | 1 + .../js/lib/ace/src-min-noconflict/mode-nix.js | 1 + .../ace/src-min-noconflict/mode-objectivec.js | 1 + .../lib/ace/src-min-noconflict/mode-ocaml.js | 1 + .../lib/ace/src-min-noconflict/mode-pascal.js | 1 + .../lib/ace/src-min-noconflict/mode-perl.js | 1 + .../lib/ace/src-min-noconflict/mode-pgsql.js | 1 + .../js/lib/ace/src-min-noconflict/mode-php.js | 1 + .../ace/src-min-noconflict/mode-plain_text.js | 1 + .../ace/src-min-noconflict/mode-powershell.js | 1 + .../lib/ace/src-min-noconflict/mode-prolog.js | 1 + .../ace/src-min-noconflict/mode-properties.js | 1 + .../ace/src-min-noconflict/mode-protobuf.js | 1 + .../lib/ace/src-min-noconflict/mode-python.js | 1 + .../js/lib/ace/src-min-noconflict/mode-r.js | 1 + .../lib/ace/src-min-noconflict/mode-rdoc.js | 1 + .../lib/ace/src-min-noconflict/mode-rhtml.js | 1 + .../lib/ace/src-min-noconflict/mode-ruby.js | 1 + .../lib/ace/src-min-noconflict/mode-rust.js | 1 + .../lib/ace/src-min-noconflict/mode-sass.js | 1 + .../lib/ace/src-min-noconflict/mode-scad.js | 1 + .../lib/ace/src-min-noconflict/mode-scala.js | 1 + .../lib/ace/src-min-noconflict/mode-scheme.js | 1 + .../lib/ace/src-min-noconflict/mode-scss.js | 1 + .../js/lib/ace/src-min-noconflict/mode-sh.js | 1 + .../js/lib/ace/src-min-noconflict/mode-sjs.js | 1 + .../ace/src-min-noconflict/mode-snippets.js | 1 + .../src-min-noconflict/mode-soy_template.js | 1 + .../lib/ace/src-min-noconflict/mode-space.js | 1 + .../js/lib/ace/src-min-noconflict/mode-sql.js | 1 + .../lib/ace/src-min-noconflict/mode-stylus.js | 1 + .../js/lib/ace/src-min-noconflict/mode-svg.js | 1 + .../js/lib/ace/src-min-noconflict/mode-tcl.js | 1 + .../js/lib/ace/src-min-noconflict/mode-tex.js | 1 + .../lib/ace/src-min-noconflict/mode-text.js | 0 .../ace/src-min-noconflict/mode-textile.js | 1 + .../lib/ace/src-min-noconflict/mode-toml.js | 1 + .../lib/ace/src-min-noconflict/mode-twig.js | 1 + .../ace/src-min-noconflict/mode-typescript.js | 1 + .../ace/src-min-noconflict/mode-vbscript.js | 1 + .../ace/src-min-noconflict/mode-velocity.js | 1 + .../ace/src-min-noconflict/mode-verilog.js | 1 + .../lib/ace/src-min-noconflict/mode-vhdl.js | 1 + .../js/lib/ace/src-min-noconflict/mode-xml.js | 1 + .../lib/ace/src-min-noconflict/mode-xquery.js | 1 + .../lib/ace/src-min-noconflict/mode-yaml.js | 1 + .../ace/src-min-noconflict/snippets/abap.js | 1 + .../snippets/actionscript.js | 1 + .../ace/src-min-noconflict/snippets/ada.js | 1 + .../snippets/apache_conf.js | 1 + .../src-min-noconflict/snippets/asciidoc.js | 1 + .../snippets/assembly_x86.js | 1 + .../src-min-noconflict/snippets/autohotkey.js | 1 + .../src-min-noconflict/snippets/batchfile.js | 1 + .../src-min-noconflict/snippets/c9search.js | 1 + .../ace/src-min-noconflict/snippets/c_cpp.js | 1 + .../src-min-noconflict/snippets/clojure.js | 1 + .../ace/src-min-noconflict/snippets/cobol.js | 1 + .../ace/src-min-noconflict/snippets/coffee.js | 1 + .../src-min-noconflict/snippets/coldfusion.js | 1 + .../ace/src-min-noconflict/snippets/csharp.js | 1 + .../ace/src-min-noconflict/snippets/css.js | 1 + .../ace/src-min-noconflict/snippets/curly.js | 1 + .../lib/ace/src-min-noconflict/snippets/d.js | 1 + .../ace/src-min-noconflict/snippets/dart.js | 1 + .../ace/src-min-noconflict/snippets/diff.js | 1 + .../ace/src-min-noconflict/snippets/django.js | 1 + .../ace/src-min-noconflict/snippets/dot.js | 1 + .../ace/src-min-noconflict/snippets/ejs.js | 1 + .../ace/src-min-noconflict/snippets/erlang.js | 1 + .../ace/src-min-noconflict/snippets/forth.js | 1 + .../ace/src-min-noconflict/snippets/ftl.js | 1 + .../ace/src-min-noconflict/snippets/glsl.js | 1 + .../ace/src-min-noconflict/snippets/golang.js | 1 + .../ace/src-min-noconflict/snippets/groovy.js | 1 + .../ace/src-min-noconflict/snippets/haml.js | 1 + .../src-min-noconflict/snippets/handlebars.js | 1 + .../src-min-noconflict/snippets/haskell.js | 1 + .../ace/src-min-noconflict/snippets/haxe.js | 1 + .../ace/src-min-noconflict/snippets/html.js | 1 + .../snippets/html_completions.js | 1 + .../src-min-noconflict/snippets/html_ruby.js | 1 + .../ace/src-min-noconflict/snippets/ini.js | 1 + .../ace/src-min-noconflict/snippets/jack.js | 1 + .../ace/src-min-noconflict/snippets/jade.js | 1 + .../ace/src-min-noconflict/snippets/java.js | 1 + .../src-min-noconflict/snippets/javascript.js | 1 + .../ace/src-min-noconflict/snippets/json.js | 1 + .../ace/src-min-noconflict/snippets/jsoniq.js | 1 + .../ace/src-min-noconflict/snippets/jsp.js | 1 + .../ace/src-min-noconflict/snippets/jsx.js | 1 + .../ace/src-min-noconflict/snippets/julia.js | 1 + .../ace/src-min-noconflict/snippets/latex.js | 1 + .../ace/src-min-noconflict/snippets/less.js | 1 + .../ace/src-min-noconflict/snippets/liquid.js | 1 + .../ace/src-min-noconflict/snippets/lisp.js | 1 + .../src-min-noconflict/snippets/livescript.js | 1 + .../ace/src-min-noconflict/snippets/logiql.js | 1 + .../ace/src-min-noconflict/snippets/lsl.js | 1 + .../ace/src-min-noconflict/snippets/lua.js | 1 + .../src-min-noconflict/snippets/luapage.js | 1 + .../ace/src-min-noconflict/snippets/lucene.js | 1 + .../src-min-noconflict/snippets/makefile.js | 1 + .../src-min-noconflict/snippets/markdown.js | 1 + .../ace/src-min-noconflict/snippets/matlab.js | 1 + .../ace/src-min-noconflict/snippets/mel.js | 1 + .../src-min-noconflict/snippets/mushcode.js | 1 + .../snippets/mushcode_high_rules.js | 1 + .../ace/src-min-noconflict/snippets/mysql.js | 1 + .../ace/src-min-noconflict/snippets/nix.js | 1 + .../src-min-noconflict/snippets/objectivec.js | 1 + .../ace/src-min-noconflict/snippets/ocaml.js | 1 + .../ace/src-min-noconflict/snippets/pascal.js | 1 + .../ace/src-min-noconflict/snippets/perl.js | 1 + .../ace/src-min-noconflict/snippets/pgsql.js | 1 + .../ace/src-min-noconflict/snippets/php.js | 1 + .../src-min-noconflict/snippets/plain_text.js | 1 + .../src-min-noconflict/snippets/powershell.js | 1 + .../ace/src-min-noconflict/snippets/prolog.js | 1 + .../src-min-noconflict/snippets/properties.js | 1 + .../src-min-noconflict/snippets/protobuf.js | 1 + .../ace/src-min-noconflict/snippets/python.js | 1 + .../lib/ace/src-min-noconflict/snippets/r.js | 1 + .../ace/src-min-noconflict/snippets/rdoc.js | 1 + .../ace/src-min-noconflict/snippets/rhtml.js | 1 + .../ace/src-min-noconflict/snippets/ruby.js | 1 + .../ace/src-min-noconflict/snippets/rust.js | 1 + .../ace/src-min-noconflict/snippets/sass.js | 1 + .../ace/src-min-noconflict/snippets/scad.js | 1 + .../ace/src-min-noconflict/snippets/scala.js | 1 + .../ace/src-min-noconflict/snippets/scheme.js | 1 + .../ace/src-min-noconflict/snippets/scss.js | 1 + .../lib/ace/src-min-noconflict/snippets/sh.js | 1 + .../ace/src-min-noconflict/snippets/sjs.js | 1 + .../src-min-noconflict/snippets/snippets.js | 1 + .../snippets/soy_template.js | 1 + .../ace/src-min-noconflict/snippets/space.js | 1 + .../ace/src-min-noconflict/snippets/sql.js | 1 + .../ace/src-min-noconflict/snippets/stylus.js | 1 + .../ace/src-min-noconflict/snippets/svg.js | 1 + .../ace/src-min-noconflict/snippets/tcl.js | 1 + .../ace/src-min-noconflict/snippets/tex.js | 1 + .../ace/src-min-noconflict/snippets/text.js | 1 + .../src-min-noconflict/snippets/textile.js | 1 + .../ace/src-min-noconflict/snippets/toml.js | 1 + .../ace/src-min-noconflict/snippets/twig.js | 1 + .../src-min-noconflict/snippets/typescript.js | 1 + .../src-min-noconflict/snippets/vbscript.js | 1 + .../src-min-noconflict/snippets/velocity.js | 1 + .../src-min-noconflict/snippets/verilog.js | 1 + .../ace/src-min-noconflict/snippets/vhdl.js | 1 + .../ace/src-min-noconflict/snippets/xml.js | 1 + .../ace/src-min-noconflict/snippets/xquery.js | 1 + .../ace/src-min-noconflict/snippets/yaml.js | 1 + .../ace/src-min-noconflict/theme-ambiance.js | 1 + .../lib/ace/src-min-noconflict/theme-chaos.js | 1 + .../ace/src-min-noconflict/theme-chrome.js | 1 + .../ace/src-min-noconflict/theme-clouds.js | 1 + .../theme-clouds_midnight.js | 1 + .../ace/src-min-noconflict/theme-cobalt.js | 1 + .../theme-crimson_editor.js | 1 + .../lib/ace/src-min-noconflict/theme-dawn.js | 1 + .../src-min-noconflict/theme-dreamweaver.js | 1 + .../ace/src-min-noconflict/theme-eclipse.js | 1 + .../ace/src-min-noconflict/theme-github.js | 1 + .../src-min-noconflict/theme-idle_fingers.js | 1 + .../src-min-noconflict/theme-katzenmilch.js | 1 + .../js/lib/ace/src-min-noconflict/theme-kr.js | 1 + .../ace/src-min-noconflict/theme-kuroir.js | 1 + .../ace/src-min-noconflict/theme-merbivore.js | 1 + .../theme-merbivore_soft.js | 1 + .../theme-mono_industrial.js | 1 + .../ace/src-min-noconflict/theme-monokai.js | 1 + .../theme-pastel_on_dark.js | 1 + .../theme-solarized_dark.js | 1 + .../theme-solarized_light.js | 1 + .../ace/src-min-noconflict/theme-terminal.js | 1 + .../ace/src-min-noconflict/theme-textmate.js | 1 + .../ace/src-min-noconflict/theme-tomorrow.js | 1 + .../theme-tomorrow_night.js | 1 + .../theme-tomorrow_night_blue.js | 1 + .../theme-tomorrow_night_bright.js | 1 + .../theme-tomorrow_night_eighties.js | 1 + .../ace/src-min-noconflict/theme-twilight.js | 1 + .../src-min-noconflict/theme-vibrant_ink.js | 1 + .../lib/ace/src-min-noconflict/theme-xcode.js | 1 + .../ace/src-min-noconflict/worker-coffee.js | 1 + .../lib/ace/src-min-noconflict/worker-css.js | 1 + .../src-min-noconflict/worker-javascript.js | 1 + .../lib/ace/src-min-noconflict/worker-json.js | 1 + .../lib/ace/src-min-noconflict/worker-lua.js | 1 + .../lib/ace/src-min-noconflict/worker-php.js | 1 + .../ace/src-min-noconflict/worker-xquery.js | 1 + static/js/lib/artDialog/icons/error.png | Bin 0 -> 2149 bytes static/js/lib/artDialog/icons/face-sad.png | Bin 0 -> 6790 bytes static/js/lib/artDialog/icons/face-smile.png | Bin 0 -> 6881 bytes static/js/lib/artDialog/icons/loading.png | Bin 0 -> 1787 bytes static/js/lib/artDialog/icons/question.png | Bin 0 -> 2148 bytes static/js/lib/artDialog/icons/succeed.png | Bin 0 -> 2182 bytes static/js/lib/artDialog/icons/warning.png | Bin 0 -> 1728 bytes static/js/lib/artDialog/jquery-artDialog.js | 1784 ++ static/js/lib/cmp4/cmp.js | 14 + static/js/lib/cmp4/cmp.swf | Bin 0 -> 111268 bytes static/js/lib/cmp4/config.xml | 25 + static/js/lib/cmp4/crossdomain.xml | 11 + static/js/lib/cmp4/index.htm | 31 + static/js/lib/cmp4/list.xml | 1 + static/js/lib/cmp4/logo.png | Bin 0 -> 6062 bytes static/js/lib/cmp4/plugins/ApiExample.as | 146 + static/js/lib/cmp4/plugins/announce.swf | Bin 0 -> 4641 bytes .../js/lib/cmp4/plugins/announce/announce.swf | Bin 0 -> 4641 bytes static/js/lib/cmp4/plugins/apiexample.swf | Bin 0 -> 1248 bytes static/js/lib/cmp4/plugins/bigbg.swf | Bin 0 -> 1642 bytes static/js/lib/cmp4/plugins/bounce.swf | Bin 0 -> 5100 bytes static/js/lib/cmp4/plugins/equalizer.swf | Bin 0 -> 6185 bytes static/js/lib/cmp4/plugins/mixer3d.swf | Bin 0 -> 2443 bytes static/js/lib/cmp4/plugins/p2pstream.swf | Bin 0 -> 6370 bytes static/js/lib/cmp4/plugins/revolt.swf | Bin 0 -> 7911 bytes static/js/lib/cmp4/plugins/sharing.swf | Bin 0 -> 19033 bytes static/js/lib/cmp4/plugins/snow/Flake.as | 149 + static/js/lib/cmp4/plugins/snow/Snow.as | 122 + static/js/lib/cmp4/plugins/snow/snow.fla | Bin 0 -> 6569 bytes static/js/lib/cmp4/plugins/snow/snow.swf | Bin 0 -> 2371 bytes static/js/lib/cmp4/plugins/swf/col.swf | Bin 0 -> 3104 bytes static/js/lib/cmp4/plugins/swf/colock.swf | Bin 0 -> 17357 bytes static/js/lib/cmp4/plugins/swf/green.swf | Bin 0 -> 4723 bytes static/js/lib/cmp4/plugins/swf/line.swf | Bin 0 -> 692 bytes static/js/lib/cmp4/plugins/swf/mouse.swf | Bin 0 -> 2017 bytes static/js/lib/cmp4/plugins/swf/star.swf | Bin 0 -> 18116 bytes static/js/lib/cmp4/plugins/swf/wenzi.swf | Bin 0 -> 2001 bytes static/js/lib/cmp4/skins/movie/qqplayer.zip | Bin 0 -> 27776 bytes static/js/lib/cmp4/skins/movie/tvlive.zip | Bin 0 -> 20155 bytes static/js/lib/cmp4/skins/movie/vplayer.zip | Bin 0 -> 13383 bytes static/js/lib/cmp4/skins/movie/webplayer.zip | Bin 0 -> 32704 bytes static/js/lib/cmp4/skins/movie/youtube.zip | Bin 0 -> 25920 bytes static/js/lib/cmp4/skins/music/beveled.zip | Bin 0 -> 34342 bytes static/js/lib/cmp4/skins/music/kuwo.zip | Bin 0 -> 82653 bytes static/js/lib/cmp4/skins/music/manila.zip | Bin 0 -> 29016 bytes static/js/lib/cmp4/skins/music/mp3player.zip | Bin 0 -> 42936 bytes static/js/lib/cmp4/skins/music/qqmusic.zip | Bin 0 -> 92930 bytes static/js/lib/cmp4/skins/music/somusic.zip | Bin 0 -> 74264 bytes static/js/lib/cmp4/skins/music/ting.zip | Bin 0 -> 42857 bytes static/js/lib/cmp4/skins/music/xdj.zip | Bin 0 -> 116195 bytes .../js/lib/contextMenu/jquery-contextMenu.js | 1595 ++ static/js/lib/jquery-1.8.0.min.js | 2 + static/js/lib/jquery-lib.js | 99 + static/js/lib/less-1.4.2.min.js | 11 + static/js/lib/picasa/picasa.js | 891 + static/js/lib/picasa/style/Picasa_Button.gif | Bin 0 -> 5481 bytes static/js/lib/picasa/style/loading.gif | Bin 0 -> 1878 bytes static/js/lib/picasa/style/style.css | 51 + static/js/lib/seajs/sea.js | 15 + static/js/lib/util.js | 532 + static/js/lib/webuploader/Uploader.swf | Bin 0 -> 34842 bytes static/js/lib/webuploader/webuploader-min.js | 2 + static/js/lib/webuploader/webuploader.css | 26 + static/js/lib/webuploader/webuploader.js | 5513 ++++ static/js/lib/ztree/demo.html | 51 + static/js/lib/ztree/js/ztree.js | 158 + static/js/lib/ztree/style/img/line_conn.gif | Bin 0 -> 45 bytes static/js/lib/ztree/style/img/loading.gif | Bin 0 -> 381 bytes .../js/lib/ztree/style/img/zTreeStandard.gif | Bin 0 -> 5564 bytes .../js/lib/ztree/style/img/zTreeStandard.png | Bin 0 -> 11173 bytes static/js/lib/ztree/style/zTreeStyle.css | 97 + .../node_modules/grunt-cmd-concat/.jshintrc | 26 + .../node_modules/grunt-cmd-concat/.npmignore | 4 + .../grunt-cmd-concat/Gruntfile.js | 70 + .../node_modules/grunt-cmd-concat/LICENSE-MIT | 22 + .../node_modules/grunt-cmd-concat/README.md | 160 + .../grunt-cmd-concat/examples/Gruntfile.js | 55 + .../grunt-cmd-concat/examples/assets/foo.js | 3 + .../grunt-cmd-concat/examples/demo/all.js | 4 + .../examples/demo/relative.js | 3 + .../grunt-cmd-concat/examples/demo/self.js | 3 + .../node_modules/cmd-util/.jshintrc | 25 + .../node_modules/cmd-util/.npmignore | 23 + .../node_modules/cmd-util/.travis.yml | 3 + .../node_modules/cmd-util/CONTRIBUTING.md | 57 + .../node_modules/cmd-util/Makefile | 36 + .../node_modules/cmd-util/README.md | 69 + .../node_modules/cmd-util/docs/ast.md | 140 + .../node_modules/cmd-util/docs/css.md | 71 + .../node_modules/cmd-util/docs/iduri.md | 110 + .../node_modules/cmd-util/index.js | 3 + .../node_modules/cmd-util/lib/ast.js | 312 + .../node_modules/cmd-util/lib/css.js | 223 + .../node_modules/cmd-util/lib/iduri.js | 193 + .../cmd-util/node_modules/.bin/uglifyjs | 15 + .../cmd-util/node_modules/.bin/uglifyjs.cmd | 6 + .../node_modules/uglify-js/.npmignore | 2 + .../cmd-util/node_modules/uglify-js/README.md | 544 + .../node_modules/uglify-js/bin/uglifyjs | 370 + .../node_modules/uglify-js/lib/ast.js | 964 + .../node_modules/uglify-js/lib/compress.js | 1968 ++ .../node_modules/uglify-js/lib/mozilla-ast.js | 265 + .../node_modules/uglify-js/lib/output.js | 1220 + .../node_modules/uglify-js/lib/parse.js | 1407 + .../node_modules/uglify-js/lib/scope.js | 580 + .../node_modules/uglify-js/lib/sourcemap.js | 81 + .../node_modules/uglify-js/lib/transform.js | 218 + .../node_modules/uglify-js/lib/utils.js | 288 + .../node_modules/optimist/.travis.yml | 4 + .../uglify-js/node_modules/optimist/LICENSE | 21 + .../node_modules/optimist/example/bool.js | 10 + .../optimist/example/boolean_double.js | 7 + .../optimist/example/boolean_single.js | 7 + .../optimist/example/default_hash.js | 8 + .../optimist/example/default_singles.js | 7 + .../node_modules/optimist/example/divide.js | 8 + .../optimist/example/line_count.js | 20 + .../optimist/example/line_count_options.js | 29 + .../optimist/example/line_count_wrap.js | 29 + .../node_modules/optimist/example/nonopt.js | 4 + .../node_modules/optimist/example/reflect.js | 2 + .../node_modules/optimist/example/short.js | 3 + .../node_modules/optimist/example/string.js | 11 + .../optimist/example/usage-options.js | 19 + .../node_modules/optimist/example/xup.js | 10 + .../uglify-js/node_modules/optimist/index.js | 478 + .../optimist/node_modules/wordwrap/.npmignore | 1 + .../node_modules/wordwrap/README.markdown | 70 + .../node_modules/wordwrap/example/center.js | 10 + .../node_modules/wordwrap/example/meat.js | 3 + .../optimist/node_modules/wordwrap/index.js | 76 + .../node_modules/wordwrap/package.json | 40 + .../node_modules/wordwrap/test/break.js | 30 + .../node_modules/wordwrap/test/idleness.txt | 63 + .../node_modules/wordwrap/test/wrap.js | 31 + .../node_modules/optimist/package.json | 41 + .../node_modules/optimist/readme.markdown | 487 + .../uglify-js/node_modules/optimist/test/_.js | 71 + .../node_modules/optimist/test/_/argv.js | 2 + .../node_modules/optimist/test/_/bin.js | 3 + .../node_modules/optimist/test/parse.js | 446 + .../node_modules/optimist/test/usage.js | 292 + .../node_modules/source-map/.npmignore | 2 + .../node_modules/source-map/.travis.yml | 4 + .../node_modules/source-map/CHANGELOG.md | 58 + .../uglify-js/node_modules/source-map/LICENSE | 28 + .../source-map/Makefile.dryice.js | 166 + .../node_modules/source-map/README.md | 347 + .../source-map/build/assert-shim.js | 56 + .../source-map/build/mini-require.js | 152 + .../source-map/build/prefix-source-map.jsm | 20 + .../source-map/build/prefix-utils.jsm | 18 + .../source-map/build/suffix-browser.js | 8 + .../source-map/build/suffix-source-map.jsm | 6 + .../source-map/build/suffix-utils.jsm | 21 + .../source-map/build/test-prefix.js | 8 + .../source-map/build/test-suffix.js | 3 + .../node_modules/source-map/lib/source-map.js | 8 + .../source-map/lib/source-map/array-set.js | 96 + .../source-map/lib/source-map/base64-vlq.js | 144 + .../source-map/lib/source-map/base64.js | 42 + .../lib/source-map/binary-search.js | 81 + .../lib/source-map/source-map-consumer.js | 426 + .../lib/source-map/source-map-generator.js | 381 + .../source-map/lib/source-map/source-node.js | 353 + .../source-map/lib/source-map/util.js | 91 + .../node_modules/amdefine/.npmignore | 1 + .../source-map/node_modules/amdefine/LICENSE | 58 + .../node_modules/amdefine/README.md | 119 + .../node_modules/amdefine/amdefine.js | 299 + .../node_modules/amdefine/package.json | 28 + .../node_modules/source-map/package.json | 73 + .../node_modules/source-map/test/run-tests.js | 73 + .../source-map/test/source-map/test-api.js | 26 + .../test/source-map/test-array-set.js | 71 + .../test/source-map/test-base64-vlq.js | 24 + .../source-map/test/source-map/test-base64.js | 35 + .../test/source-map/test-binary-search.js | 54 + .../test/source-map/test-dog-fooding.js | 72 + .../source-map/test-source-map-consumer.js | 291 + .../source-map/test-source-map-generator.js | 391 + .../test/source-map/test-source-node.js | 282 + .../source-map/test/source-map/util.js | 152 + .../node_modules/uglify-js/package.json | 36 + .../uglify-js/test/compress/arrays.js | 12 + .../uglify-js/test/compress/blocks.js | 49 + .../uglify-js/test/compress/conditionals.js | 143 + .../uglify-js/test/compress/dead-code.js | 89 + .../uglify-js/test/compress/debugger.js | 24 + .../uglify-js/test/compress/drop-unused.js | 97 + .../uglify-js/test/compress/issue-105.js | 17 + .../uglify-js/test/compress/issue-12.js | 11 + .../uglify-js/test/compress/issue-22.js | 17 + .../uglify-js/test/compress/issue-44.js | 31 + .../uglify-js/test/compress/issue-59.js | 30 + .../uglify-js/test/compress/labels.js | 163 + .../uglify-js/test/compress/loops.js | 123 + .../uglify-js/test/compress/properties.js | 25 + .../uglify-js/test/compress/sequences.js | 161 + .../uglify-js/test/compress/switch.js | 210 + .../node_modules/uglify-js/test/run-tests.js | 170 + .../node_modules/uglify-js/tools/node.js | 164 + .../node_modules/cmd-util/package.json | 36 + .../cmd-util/scripts/githooks/post-merge | 3 + .../cmd-util/scripts/githooks/pre-commit | 56 + .../node_modules/cmd-util/scripts/nico.json | 17 + .../node_modules/cmd-util/tests/_require.js | 6 + .../node_modules/cmd-util/tests/ast.test.js | 267 + .../cmd-util/tests/css-cases/block.css | 13 + .../cmd-util/tests/css-cases/block.json | 45 + .../cmd-util/tests/css-cases/block.txt | 15 + .../cmd-util/tests/css-cases/comment.css | 6 + .../cmd-util/tests/css-cases/comment.json | 12 + .../cmd-util/tests/css-cases/comment.txt | 5 + .../cmd-util/tests/css-cases/id.css | 3 + .../cmd-util/tests/css-cases/id.json | 12 + .../cmd-util/tests/css-cases/id.txt | 3 + .../cmd-util/tests/css-cases/import.css | 4 + .../cmd-util/tests/css-cases/import.json | 23 + .../cmd-util/tests/css-cases/import.txt | 4 + .../cmd-util/tests/css-cases/mix.css | 16 + .../cmd-util/tests/css-cases/mix.json | 43 + .../cmd-util/tests/css-cases/mix.txt | 12 + .../node_modules/cmd-util/tests/css.test.js | 104 + .../node_modules/cmd-util/tests/iduri.test.js | 194 + .../grunt-cmd-concat/package.json | 49 + .../grunt-cmd-concat/tasks/concat.js | 90 + .../grunt-cmd-concat/tasks/lib/script.js | 84 + .../grunt-cmd-concat/tasks/lib/style.js | 132 + .../grunt-cmd-concat/test/concat.test.js | 39 + .../grunt-cmd-concat/test/expected/a.js | 5 + .../grunt-cmd-concat/test/fixtures/a.js | 1 + .../grunt-cmd-concat/test/fixtures/b.js | 1 + .../grunt-cmd-concat/test/fixtures/bar.css | 6 + .../grunt-cmd-concat/test/fixtures/base.css | 3 + .../grunt-cmd-concat/test/fixtures/foo.css | 6 + .../grunt-cmd-concat/test/fixtures/foo.js | 3 + .../sea-modules/alice/1.0.0/alice-debug.css | 3 + .../test/sea-modules/alice/1.0.0/alice.css | 1 + .../grunt-cmd-transport/.jshintrc | 26 + .../grunt-cmd-transport/.npmignore | 6 + .../grunt-cmd-transport/Gruntfile.js | 44 + .../grunt-cmd-transport/LICENSE-MIT | 22 + .../grunt-cmd-transport/README.md | 138 + .../node_modules/grunt-cmd-transport/index.js | 4 + .../node_modules/.bin/cleancss | 15 + .../node_modules/.bin/cleancss.cmd | 6 + .../node_modules/.bin/handlebars | 15 + .../node_modules/.bin/handlebars.cmd | 6 + .../node_modules/.bin/uglifyjs | 15 + .../node_modules/.bin/uglifyjs.cmd | 6 + .../node_modules/clean-css/.npmignore | 6 + .../node_modules/clean-css/LICENSE | 19 + .../node_modules/clean-css/README.md | 129 + .../node_modules/clean-css/bin/cleancss | 98 + .../node_modules/clean-css/index.js | 1 + .../node_modules/clean-css/lib/clean.js | 551 + .../node_modules/commander/.npmignore | 4 + .../node_modules/commander/.travis.yml | 4 + .../node_modules/commander/History.md | 152 + .../clean-css/node_modules/commander/Makefile | 7 + .../node_modules/commander/Readme.md | 270 + .../clean-css/node_modules/commander/index.js | 1131 + .../commander/node_modules/keypress/README.md | 101 + .../commander/node_modules/keypress/index.js | 346 + .../node_modules/keypress/package.json | 27 + .../commander/node_modules/keypress/test.js | 28 + .../node_modules/commander/package.json | 36 + .../node_modules/clean-css/package.json | 44 + .../node_modules/cmd-util/.jshintrc | 25 + .../node_modules/cmd-util/.npmignore | 23 + .../node_modules/cmd-util/.travis.yml | 3 + .../node_modules/cmd-util/CONTRIBUTING.md | 57 + .../node_modules/cmd-util/Makefile | 36 + .../node_modules/cmd-util/README.md | 69 + .../node_modules/cmd-util/docs/ast.md | 140 + .../node_modules/cmd-util/docs/css.md | 71 + .../node_modules/cmd-util/docs/iduri.md | 110 + .../node_modules/cmd-util/index.js | 3 + .../node_modules/cmd-util/lib/ast.js | 312 + .../node_modules/cmd-util/lib/css.js | 223 + .../node_modules/cmd-util/lib/iduri.js | 193 + .../node_modules/cmd-util/package.json | 36 + .../cmd-util/scripts/githooks/post-merge | 3 + .../cmd-util/scripts/githooks/pre-commit | 56 + .../node_modules/cmd-util/scripts/nico.json | 17 + .../node_modules/cmd-util/tests/_require.js | 6 + .../node_modules/cmd-util/tests/ast.test.js | 267 + .../cmd-util/tests/css-cases/block.css | 13 + .../cmd-util/tests/css-cases/block.json | 45 + .../cmd-util/tests/css-cases/block.txt | 15 + .../cmd-util/tests/css-cases/comment.css | 6 + .../cmd-util/tests/css-cases/comment.json | 12 + .../cmd-util/tests/css-cases/comment.txt | 5 + .../cmd-util/tests/css-cases/id.css | 3 + .../cmd-util/tests/css-cases/id.json | 12 + .../cmd-util/tests/css-cases/id.txt | 3 + .../cmd-util/tests/css-cases/import.css | 4 + .../cmd-util/tests/css-cases/import.json | 23 + .../cmd-util/tests/css-cases/import.txt | 4 + .../cmd-util/tests/css-cases/mix.css | 16 + .../cmd-util/tests/css-cases/mix.json | 43 + .../cmd-util/tests/css-cases/mix.txt | 12 + .../node_modules/cmd-util/tests/css.test.js | 104 + .../node_modules/cmd-util/tests/iduri.test.js | 194 + .../node_modules/handlebars/.jshintrc | 52 + .../node_modules/handlebars/.npmignore | 10 + .../node_modules/handlebars/.rspec | 1 + .../node_modules/handlebars/LICENSE | 19 + .../node_modules/handlebars/README.markdown | 317 + .../node_modules/handlebars/bin/handlebars | 193 + .../handlebars/dist/handlebars.js | 2200 ++ .../handlebars/dist/handlebars.runtime.js | 316 + .../handlebars/handlebars-source.gemspec | 21 + .../node_modules/handlebars/lib/handlebars.js | 32 + .../handlebars/lib/handlebars/base.js | 147 + .../lib/handlebars/browser-prefix.js | 3 + .../lib/handlebars/browser-suffix.js | 1 + .../handlebars/lib/handlebars/compiler/ast.js | 133 + .../lib/handlebars/compiler/base.js | 21 + .../lib/handlebars/compiler/compiler.js | 1285 + .../lib/handlebars/compiler/index.js | 16 + .../lib/handlebars/compiler/parser.js | 476 + .../lib/handlebars/compiler/printer.js | 138 + .../lib/handlebars/compiler/visitor.js | 18 + .../handlebars/lib/handlebars/runtime.js | 92 + .../handlebars/lib/handlebars/source.rb | 11 + .../handlebars/lib/handlebars/utils.js | 68 + .../node_modules/handlebars/min.sh | 11 + .../handlebars/module-file-sizes.md | 20 + .../handlebars/node_modules/.bin/uglifyjs | 15 + .../handlebars/node_modules/.bin/uglifyjs.cmd | 6 + .../node_modules/optimist/.travis.yml | 4 + .../handlebars/node_modules/optimist/LICENSE | 21 + .../node_modules/optimist/example/bool.js | 10 + .../optimist/example/boolean_double.js | 7 + .../optimist/example/boolean_single.js | 7 + .../optimist/example/default_hash.js | 8 + .../optimist/example/default_singles.js | 7 + .../node_modules/optimist/example/divide.js | 8 + .../optimist/example/line_count.js | 20 + .../optimist/example/line_count_options.js | 29 + .../optimist/example/line_count_wrap.js | 29 + .../node_modules/optimist/example/nonopt.js | 4 + .../node_modules/optimist/example/reflect.js | 2 + .../node_modules/optimist/example/short.js | 3 + .../node_modules/optimist/example/string.js | 11 + .../optimist/example/usage-options.js | 19 + .../node_modules/optimist/example/xup.js | 10 + .../handlebars/node_modules/optimist/index.js | 478 + .../optimist/node_modules/wordwrap/.npmignore | 1 + .../node_modules/wordwrap/README.markdown | 70 + .../node_modules/wordwrap/example/center.js | 10 + .../node_modules/wordwrap/example/meat.js | 3 + .../optimist/node_modules/wordwrap/index.js | 76 + .../node_modules/wordwrap/package.json | 40 + .../node_modules/wordwrap/test/break.js | 30 + .../node_modules/wordwrap/test/idleness.txt | 63 + .../node_modules/wordwrap/test/wrap.js | 31 + .../node_modules/optimist/package.json | 41 + .../node_modules/optimist/readme.markdown | 487 + .../node_modules/optimist/test/_.js | 71 + .../node_modules/optimist/test/_/argv.js | 2 + .../node_modules/optimist/test/_/bin.js | 3 + .../node_modules/optimist/test/parse.js | 446 + .../node_modules/optimist/test/usage.js | 292 + .../node_modules/uglify-js/.npmignore | 4 + .../node_modules/uglify-js/README.html | 981 + .../node_modules/uglify-js/README.org | 578 + .../node_modules/uglify-js/bin/uglifyjs | 332 + .../node_modules/uglify-js/docstyle.css | 75 + .../uglify-js/lib/consolidator.js | 2599 ++ .../node_modules/uglify-js/lib/object-ast.js | 75 + .../node_modules/uglify-js/lib/parse-js.js | 1346 + .../node_modules/uglify-js/lib/process.js | 2011 ++ .../uglify-js/lib/squeeze-more.js | 73 + .../node_modules/uglify-js/package.json | 21 + .../node_modules/uglify-js/test/beautify.js | 28 + .../node_modules/uglify-js/test/testparser.js | 403 + .../test/unit/compress/expected/array1.js | 1 + .../test/unit/compress/expected/array2.js | 1 + .../test/unit/compress/expected/array3.js | 1 + .../test/unit/compress/expected/array4.js | 1 + .../test/unit/compress/expected/assignment.js | 1 + .../unit/compress/expected/concatstring.js | 1 + .../test/unit/compress/expected/const.js | 1 + .../unit/compress/expected/empty-blocks.js | 1 + .../unit/compress/expected/forstatement.js | 1 + .../test/unit/compress/expected/if.js | 1 + .../test/unit/compress/expected/ifreturn.js | 1 + .../test/unit/compress/expected/ifreturn2.js | 1 + .../test/unit/compress/expected/issue10.js | 1 + .../test/unit/compress/expected/issue11.js | 1 + .../test/unit/compress/expected/issue13.js | 1 + .../test/unit/compress/expected/issue14.js | 1 + .../test/unit/compress/expected/issue16.js | 1 + .../test/unit/compress/expected/issue17.js | 1 + .../test/unit/compress/expected/issue20.js | 1 + .../test/unit/compress/expected/issue21.js | 1 + .../test/unit/compress/expected/issue25.js | 1 + .../test/unit/compress/expected/issue27.js | 1 + .../test/unit/compress/expected/issue278.js | 1 + .../test/unit/compress/expected/issue28.js | 1 + .../test/unit/compress/expected/issue29.js | 1 + .../test/unit/compress/expected/issue30.js | 1 + .../test/unit/compress/expected/issue34.js | 1 + .../test/unit/compress/expected/issue4.js | 1 + .../test/unit/compress/expected/issue48.js | 1 + .../test/unit/compress/expected/issue50.js | 1 + .../test/unit/compress/expected/issue53.js | 1 + .../test/unit/compress/expected/issue54.1.js | 1 + .../test/unit/compress/expected/issue68.js | 1 + .../test/unit/compress/expected/issue69.js | 1 + .../test/unit/compress/expected/issue9.js | 1 + .../test/unit/compress/expected/mangle.js | 1 + .../unit/compress/expected/null_string.js | 1 + .../unit/compress/expected/strict-equals.js | 1 + .../test/unit/compress/expected/var.js | 1 + .../test/unit/compress/expected/whitespace.js | 1 + .../test/unit/compress/expected/with.js | 1 + .../test/unit/compress/test/array1.js | 3 + .../test/unit/compress/test/array2.js | 4 + .../test/unit/compress/test/array3.js | 4 + .../test/unit/compress/test/array4.js | 6 + .../test/unit/compress/test/assignment.js | 20 + .../test/unit/compress/test/concatstring.js | 3 + .../test/unit/compress/test/const.js | 5 + .../test/unit/compress/test/empty-blocks.js | 4 + .../test/unit/compress/test/forstatement.js | 10 + .../uglify-js/test/unit/compress/test/if.js | 6 + .../test/unit/compress/test/ifreturn.js | 9 + .../test/unit/compress/test/ifreturn2.js | 16 + .../test/unit/compress/test/issue10.js | 1 + .../test/unit/compress/test/issue11.js | 3 + .../test/unit/compress/test/issue13.js | 1 + .../test/unit/compress/test/issue14.js | 1 + .../test/unit/compress/test/issue16.js | 1 + .../test/unit/compress/test/issue17.js | 4 + .../test/unit/compress/test/issue20.js | 1 + .../test/unit/compress/test/issue21.js | 6 + .../test/unit/compress/test/issue25.js | 7 + .../test/unit/compress/test/issue27.js | 1 + .../test/unit/compress/test/issue278.js | 1 + .../test/unit/compress/test/issue28.js | 3 + .../test/unit/compress/test/issue29.js | 1 + .../test/unit/compress/test/issue30.js | 3 + .../test/unit/compress/test/issue34.js | 3 + .../test/unit/compress/test/issue4.js | 3 + .../test/unit/compress/test/issue48.js | 1 + .../test/unit/compress/test/issue50.js | 9 + .../test/unit/compress/test/issue53.js | 1 + .../test/unit/compress/test/issue54.1.js | 3 + .../test/unit/compress/test/issue68.js | 5 + .../test/unit/compress/test/issue69.js | 1 + .../test/unit/compress/test/issue9.js | 4 + .../test/unit/compress/test/mangle.js | 5 + .../test/unit/compress/test/null_string.js | 1 + .../test/unit/compress/test/strict-equals.js | 3 + .../uglify-js/test/unit/compress/test/var.js | 3 + .../test/unit/compress/test/whitespace.js | 21 + .../uglify-js/test/unit/compress/test/with.js | 2 + .../uglify-js/test/unit/scripts.js | 55 + .../node_modules/uglify-js/tmp/269.js | 13 + .../node_modules/uglify-js/tmp/app.js | 22315 ++++++++++++++++ .../uglify-js/tmp/embed-tokens.js | 15 + .../node_modules/uglify-js/tmp/goto.js | 26 + .../node_modules/uglify-js/tmp/goto2.js | 8 + .../node_modules/uglify-js/tmp/hoist.js | 33 + .../node_modules/uglify-js/tmp/instrument.js | 97 + .../node_modules/uglify-js/tmp/instrument2.js | 138 + .../node_modules/uglify-js/tmp/liftvars.js | 8 + .../node_modules/uglify-js/tmp/test.js | 30 + .../uglify-js/tmp/uglify-hangs.js | 3930 +++ .../uglify-js/tmp/uglify-hangs2.js | 166 + .../node_modules/uglify-js/uglify-js.js | 18 + .../node_modules/handlebars/package.json | 38 + .../node_modules/handlebars/test.js | 20 + .../node_modules/uglify-js/.npmignore | 2 + .../node_modules/uglify-js/README.md | 544 + .../node_modules/uglify-js/bin/uglifyjs | 370 + .../node_modules/uglify-js/lib/ast.js | 964 + .../node_modules/uglify-js/lib/compress.js | 1968 ++ .../node_modules/uglify-js/lib/mozilla-ast.js | 265 + .../node_modules/uglify-js/lib/output.js | 1220 + .../node_modules/uglify-js/lib/parse.js | 1407 + .../node_modules/uglify-js/lib/scope.js | 580 + .../node_modules/uglify-js/lib/sourcemap.js | 81 + .../node_modules/uglify-js/lib/transform.js | 218 + .../node_modules/uglify-js/lib/utils.js | 288 + .../node_modules/optimist/.travis.yml | 4 + .../uglify-js/node_modules/optimist/LICENSE | 21 + .../node_modules/optimist/example/bool.js | 10 + .../optimist/example/boolean_double.js | 7 + .../optimist/example/boolean_single.js | 7 + .../optimist/example/default_hash.js | 8 + .../optimist/example/default_singles.js | 7 + .../node_modules/optimist/example/divide.js | 8 + .../optimist/example/line_count.js | 20 + .../optimist/example/line_count_options.js | 29 + .../optimist/example/line_count_wrap.js | 29 + .../node_modules/optimist/example/nonopt.js | 4 + .../node_modules/optimist/example/reflect.js | 2 + .../node_modules/optimist/example/short.js | 3 + .../node_modules/optimist/example/string.js | 11 + .../optimist/example/usage-options.js | 19 + .../node_modules/optimist/example/xup.js | 10 + .../uglify-js/node_modules/optimist/index.js | 478 + .../optimist/node_modules/wordwrap/.npmignore | 1 + .../node_modules/wordwrap/README.markdown | 70 + .../node_modules/wordwrap/example/center.js | 10 + .../node_modules/wordwrap/example/meat.js | 3 + .../optimist/node_modules/wordwrap/index.js | 76 + .../node_modules/wordwrap/package.json | 40 + .../node_modules/wordwrap/test/break.js | 30 + .../node_modules/wordwrap/test/idleness.txt | 63 + .../node_modules/wordwrap/test/wrap.js | 31 + .../node_modules/optimist/package.json | 41 + .../node_modules/optimist/readme.markdown | 487 + .../uglify-js/node_modules/optimist/test/_.js | 71 + .../node_modules/optimist/test/_/argv.js | 2 + .../node_modules/optimist/test/_/bin.js | 3 + .../node_modules/optimist/test/parse.js | 446 + .../node_modules/optimist/test/usage.js | 292 + .../node_modules/source-map/.npmignore | 2 + .../node_modules/source-map/.travis.yml | 4 + .../node_modules/source-map/CHANGELOG.md | 58 + .../uglify-js/node_modules/source-map/LICENSE | 28 + .../source-map/Makefile.dryice.js | 166 + .../node_modules/source-map/README.md | 347 + .../source-map/build/assert-shim.js | 56 + .../source-map/build/mini-require.js | 152 + .../source-map/build/prefix-source-map.jsm | 20 + .../source-map/build/prefix-utils.jsm | 18 + .../source-map/build/suffix-browser.js | 8 + .../source-map/build/suffix-source-map.jsm | 6 + .../source-map/build/suffix-utils.jsm | 21 + .../source-map/build/test-prefix.js | 8 + .../source-map/build/test-suffix.js | 3 + .../node_modules/source-map/lib/source-map.js | 8 + .../source-map/lib/source-map/array-set.js | 96 + .../source-map/lib/source-map/base64-vlq.js | 144 + .../source-map/lib/source-map/base64.js | 42 + .../lib/source-map/binary-search.js | 81 + .../lib/source-map/source-map-consumer.js | 426 + .../lib/source-map/source-map-generator.js | 381 + .../source-map/lib/source-map/source-node.js | 353 + .../source-map/lib/source-map/util.js | 91 + .../node_modules/amdefine/.npmignore | 1 + .../source-map/node_modules/amdefine/LICENSE | 58 + .../node_modules/amdefine/README.md | 119 + .../node_modules/amdefine/amdefine.js | 299 + .../node_modules/amdefine/package.json | 28 + .../node_modules/source-map/package.json | 73 + .../node_modules/source-map/test/run-tests.js | 73 + .../source-map/test/source-map/test-api.js | 26 + .../test/source-map/test-array-set.js | 71 + .../test/source-map/test-base64-vlq.js | 24 + .../source-map/test/source-map/test-base64.js | 35 + .../test/source-map/test-binary-search.js | 54 + .../test/source-map/test-dog-fooding.js | 72 + .../source-map/test-source-map-consumer.js | 291 + .../source-map/test-source-map-generator.js | 391 + .../test/source-map/test-source-node.js | 282 + .../source-map/test/source-map/util.js | 152 + .../node_modules/uglify-js/package.json | 36 + .../uglify-js/test/compress/arrays.js | 12 + .../uglify-js/test/compress/blocks.js | 49 + .../uglify-js/test/compress/conditionals.js | 143 + .../uglify-js/test/compress/dead-code.js | 89 + .../uglify-js/test/compress/debugger.js | 24 + .../uglify-js/test/compress/drop-unused.js | 97 + .../uglify-js/test/compress/issue-105.js | 17 + .../uglify-js/test/compress/issue-12.js | 11 + .../uglify-js/test/compress/issue-22.js | 17 + .../uglify-js/test/compress/issue-44.js | 31 + .../uglify-js/test/compress/issue-59.js | 30 + .../uglify-js/test/compress/labels.js | 163 + .../uglify-js/test/compress/loops.js | 123 + .../uglify-js/test/compress/properties.js | 25 + .../uglify-js/test/compress/sequences.js | 161 + .../uglify-js/test/compress/switch.js | 210 + .../node_modules/uglify-js/test/run-tests.js | 170 + .../node_modules/uglify-js/tools/node.js | 164 + .../grunt-cmd-transport/package.json | 49 + .../grunt-cmd-transport/tasks/lib/script.js | 161 + .../grunt-cmd-transport/tasks/lib/style.js | 123 + .../grunt-cmd-transport/tasks/lib/template.js | 98 + .../grunt-cmd-transport/tasks/lib/text.js | 57 + .../grunt-cmd-transport/tasks/transport.js | 106 + .../grunt-contrib-clean/.jshintrc | 14 + .../grunt-contrib-clean/.npmignore | 3 + .../grunt-contrib-clean/.travis.yml | 5 + .../node_modules/grunt-contrib-clean/AUTHORS | 6 + .../grunt-contrib-clean/CHANGELOG | 28 + .../grunt-contrib-clean/CONTRIBUTING.md | 1 + .../grunt-contrib-clean/Gruntfile.js | 60 + .../grunt-contrib-clean/LICENSE-MIT | 22 + .../grunt-contrib-clean/README.md | 82 + .../docs/clean-examples.md | 28 + .../grunt-contrib-clean/docs/clean-options.md | 7 + .../docs/clean-overview.md | 3 + .../grunt-contrib-clean/docs/overview.md | 1 + .../grunt-contrib-clean/package.json | 71 + .../grunt-contrib-clean/tasks/clean.js | 36 + .../grunt-contrib-clean/test/clean_test.js | 22 + .../test/fixtures/sample_long/long.txt | 1 + .../test/fixtures/sample_short/short.txt | 1 + .../grunt-contrib-uglify/.jshintrc | 14 + .../grunt-contrib-uglify/.npmignore | 3 + .../grunt-contrib-uglify/.travis.yml | 5 + .../node_modules/grunt-contrib-uglify/AUTHORS | 3 + .../grunt-contrib-uglify/CHANGELOG | 28 + .../grunt-contrib-uglify/CONTRIBUTING.md | 1 + .../grunt-contrib-uglify/Gruntfile.js | 172 + .../grunt-contrib-uglify/LICENSE-MIT | 22 + .../grunt-contrib-uglify/README.md | 319 + .../docs/uglify-examples.md | 167 + .../docs/uglify-options.md | 107 + .../docs/uglify-overview.md | 1 + .../node_modules/.bin/uglifyjs | 370 + .../grunt-lib-contrib/.gitattributes | 1 + .../node_modules/grunt-lib-contrib/.jshintrc | 14 + .../node_modules/grunt-lib-contrib/.npmignore | 3 + .../grunt-lib-contrib/.travis.yml | 6 + .../node_modules/grunt-lib-contrib/AUTHORS | 4 + .../node_modules/grunt-lib-contrib/CHANGELOG | 47 + .../grunt-lib-contrib/Gruntfile.js | 60 + .../grunt-lib-contrib/LICENSE-MIT | 22 + .../node_modules/grunt-lib-contrib/README.md | 65 + .../grunt-lib-contrib/lib/contrib.js | 111 + .../node_modules/zlib-browserify/.npmignore | 1 + .../node_modules/zlib-browserify/index.js | 43 + .../node_modules/zlib-browserify/package.json | 33 + .../node_modules/zlib-browserify/readme.md | 1 + .../zlib-browserify/test/zlib.test.js | 65 + .../node_modules/zlib-browserify/zlib.js | 55 + .../grunt-lib-contrib/package.json | 59 + .../grunt-lib-contrib/test/lib_test.js | 233 + .../node_modules/uglify-js/.npmignore | 2 + .../node_modules/uglify-js/README.md | 544 + .../node_modules/uglify-js/bin/uglifyjs | 370 + .../node_modules/uglify-js/lib/ast.js | 964 + .../node_modules/uglify-js/lib/compress.js | 1968 ++ .../node_modules/uglify-js/lib/mozilla-ast.js | 265 + .../node_modules/uglify-js/lib/output.js | 1220 + .../node_modules/uglify-js/lib/parse.js | 1407 + .../node_modules/uglify-js/lib/scope.js | 580 + .../node_modules/uglify-js/lib/sourcemap.js | 81 + .../node_modules/uglify-js/lib/transform.js | 218 + .../node_modules/uglify-js/lib/utils.js | 288 + .../node_modules/optimist/.travis.yml | 4 + .../uglify-js/node_modules/optimist/LICENSE | 21 + .../node_modules/optimist/example/bool.js | 10 + .../optimist/example/boolean_double.js | 7 + .../optimist/example/boolean_single.js | 7 + .../optimist/example/default_hash.js | 8 + .../optimist/example/default_singles.js | 7 + .../node_modules/optimist/example/divide.js | 8 + .../optimist/example/line_count.js | 20 + .../optimist/example/line_count_options.js | 29 + .../optimist/example/line_count_wrap.js | 29 + .../node_modules/optimist/example/nonopt.js | 4 + .../node_modules/optimist/example/reflect.js | 2 + .../node_modules/optimist/example/short.js | 3 + .../node_modules/optimist/example/string.js | 11 + .../optimist/example/usage-options.js | 19 + .../node_modules/optimist/example/xup.js | 10 + .../uglify-js/node_modules/optimist/index.js | 478 + .../optimist/node_modules/wordwrap/.npmignore | 1 + .../node_modules/wordwrap/README.markdown | 70 + .../node_modules/wordwrap/example/center.js | 10 + .../node_modules/wordwrap/example/meat.js | 3 + .../optimist/node_modules/wordwrap/index.js | 76 + .../node_modules/wordwrap/package.json | 40 + .../node_modules/wordwrap/test/break.js | 30 + .../node_modules/wordwrap/test/idleness.txt | 63 + .../node_modules/wordwrap/test/wrap.js | 31 + .../node_modules/optimist/package.json | 44 + .../node_modules/optimist/readme.markdown | 487 + .../uglify-js/node_modules/optimist/test/_.js | 71 + .../node_modules/optimist/test/_/argv.js | 2 + .../node_modules/optimist/test/_/bin.js | 3 + .../node_modules/optimist/test/parse.js | 446 + .../node_modules/optimist/test/usage.js | 292 + .../node_modules/source-map/.npmignore | 2 + .../node_modules/source-map/.travis.yml | 4 + .../node_modules/source-map/CHANGELOG.md | 58 + .../uglify-js/node_modules/source-map/LICENSE | 28 + .../source-map/Makefile.dryice.js | 166 + .../node_modules/source-map/README.md | 347 + .../source-map/build/assert-shim.js | 56 + .../source-map/build/mini-require.js | 152 + .../source-map/build/prefix-source-map.jsm | 20 + .../source-map/build/prefix-utils.jsm | 18 + .../source-map/build/suffix-browser.js | 8 + .../source-map/build/suffix-source-map.jsm | 6 + .../source-map/build/suffix-utils.jsm | 21 + .../source-map/build/test-prefix.js | 8 + .../source-map/build/test-suffix.js | 3 + .../node_modules/source-map/lib/source-map.js | 8 + .../source-map/lib/source-map/array-set.js | 96 + .../source-map/lib/source-map/base64-vlq.js | 144 + .../source-map/lib/source-map/base64.js | 42 + .../lib/source-map/binary-search.js | 81 + .../lib/source-map/source-map-consumer.js | 426 + .../lib/source-map/source-map-generator.js | 381 + .../source-map/lib/source-map/source-node.js | 353 + .../source-map/lib/source-map/util.js | 91 + .../node_modules/amdefine/.npmignore | 1 + .../source-map/node_modules/amdefine/LICENSE | 58 + .../node_modules/amdefine/README.md | 119 + .../node_modules/amdefine/amdefine.js | 299 + .../node_modules/amdefine/package.json | 28 + .../node_modules/source-map/package.json | 76 + .../node_modules/source-map/test/run-tests.js | 73 + .../source-map/test/source-map/test-api.js | 26 + .../test/source-map/test-array-set.js | 71 + .../test/source-map/test-base64-vlq.js | 24 + .../source-map/test/source-map/test-base64.js | 35 + .../test/source-map/test-binary-search.js | 54 + .../test/source-map/test-dog-fooding.js | 72 + .../source-map/test-source-map-consumer.js | 291 + .../source-map/test-source-map-generator.js | 391 + .../test/source-map/test-source-node.js | 282 + .../source-map/test/source-map/util.js | 152 + .../node_modules/uglify-js/package.json | 36 + .../uglify-js/test/compress/arrays.js | 12 + .../uglify-js/test/compress/blocks.js | 49 + .../uglify-js/test/compress/conditionals.js | 143 + .../uglify-js/test/compress/dead-code.js | 89 + .../uglify-js/test/compress/debugger.js | 24 + .../uglify-js/test/compress/drop-unused.js | 97 + .../uglify-js/test/compress/issue-105.js | 17 + .../uglify-js/test/compress/issue-12.js | 11 + .../uglify-js/test/compress/issue-22.js | 17 + .../uglify-js/test/compress/issue-44.js | 31 + .../uglify-js/test/compress/issue-59.js | 30 + .../uglify-js/test/compress/labels.js | 163 + .../uglify-js/test/compress/loops.js | 123 + .../uglify-js/test/compress/properties.js | 25 + .../uglify-js/test/compress/sequences.js | 161 + .../uglify-js/test/compress/switch.js | 210 + .../node_modules/uglify-js/test/run-tests.js | 170 + .../node_modules/uglify-js/tools/node.js | 164 + .../grunt-contrib-uglify/package.json | 67 + .../grunt-contrib-uglify/tasks/lib/uglify.js | 145 + .../grunt-contrib-uglify/tasks/uglify.js | 110 + .../test/fixtures/expected/comments.js | 12 + .../test/fixtures/expected/compress.js | 1 + .../test/fixtures/expected/compress_mangle.js | 1 + .../expected/compress_mangle_beautify.js | 5 + .../expected/compress_mangle_except.js | 1 + .../expected/compress_mangle_sourcemap | 1 + .../test/fixtures/expected/exportAll.js | 1 + .../test/fixtures/expected/multifile.js | 1 + .../fixtures/expected/multiple_sourcemaps1.js | 2 + .../expected/multiple_sourcemaps1.map | 1 + .../fixtures/expected/multiple_sourcemaps2.js | 2 + .../expected/multiple_sourcemaps2.map | 1 + .../test/fixtures/expected/sourcemap_prefix | 1 + .../test/fixtures/expected/sourcemapin | 1 + .../test/fixtures/expected/sourcemapin.js | 2 + .../test/fixtures/expected/sourcemapurl.js | 2 + .../test/fixtures/expected/wrap.js | 1 + .../test/fixtures/src/comments.js | 21 + .../test/fixtures/src/simple.js | 15 + .../test/fixtures/src/simple2.coffee | 28 + .../test/fixtures/src/simple2.js | 39 + .../test/fixtures/src/simple2.map | 1 + .../grunt-contrib-uglify/test/uglify_test.js | 56 + static/js/node_modules/grunt/.npmignore | 8 + static/js/node_modules/grunt/CONTRIBUTING.md | 1 + static/js/node_modules/grunt/LICENSE-MIT | 22 + static/js/node_modules/grunt/README.md | 16 + .../node_modules/grunt/internal-tasks/bump.js | 151 + .../grunt/internal-tasks/subgrunt.js | 34 + static/js/node_modules/grunt/lib/grunt.js | 156 + static/js/node_modules/grunt/lib/grunt/cli.js | 128 + .../js/node_modules/grunt/lib/grunt/config.js | 118 + .../js/node_modules/grunt/lib/grunt/event.js | 16 + .../js/node_modules/grunt/lib/grunt/fail.js | 84 + .../js/node_modules/grunt/lib/grunt/file.js | 440 + .../js/node_modules/grunt/lib/grunt/help.js | 129 + static/js/node_modules/grunt/lib/grunt/log.js | 352 + .../js/node_modules/grunt/lib/grunt/option.js | 42 + .../js/node_modules/grunt/lib/grunt/task.js | 451 + .../node_modules/grunt/lib/grunt/template.js | 95 + .../js/node_modules/grunt/lib/grunt/util.js | 188 + static/js/node_modules/grunt/lib/util/task.js | 323 + .../node_modules/grunt/node_modules/.bin/cake | 15 + .../grunt/node_modules/.bin/cake.cmd | 5 + .../grunt/node_modules/.bin/coffee | 15 + .../grunt/node_modules/.bin/coffee.cmd | 5 + .../grunt/node_modules/.bin/js-yaml | 15 + .../grunt/node_modules/.bin/js-yaml.cmd | 5 + .../node_modules/grunt/node_modules/.bin/nopt | 15 + .../grunt/node_modules/.bin/nopt.cmd | 5 + .../grunt/node_modules/.bin/which | 15 + .../grunt/node_modules/.bin/which.cmd | 5 + .../grunt/node_modules/async/.gitmodules | 9 + .../grunt/node_modules/async/.npmignore | 4 + .../grunt/node_modules/async/LICENSE | 19 + .../grunt/node_modules/async/Makefile | 25 + .../grunt/node_modules/async/README.md | 1021 + .../grunt/node_modules/async/index.js | 3 + .../grunt/node_modules/async/lib/async.js | 692 + .../grunt/node_modules/async/package.json | 32 + .../node_modules/coffee-script/.npmignore | 11 + .../grunt/node_modules/coffee-script/CNAME | 1 + .../grunt/node_modules/coffee-script/LICENSE | 22 + .../grunt/node_modules/coffee-script/README | 51 + .../grunt/node_modules/coffee-script/Rakefile | 78 + .../grunt/node_modules/coffee-script/bin/cake | 7 + .../node_modules/coffee-script/bin/coffee | 7 + .../coffee-script/extras/jsl.conf | 44 + .../lib/coffee-script/browser.js | 92 + .../coffee-script/lib/coffee-script/cake.js | 111 + .../lib/coffee-script/coffee-script.js | 167 + .../lib/coffee-script/command.js | 500 + .../lib/coffee-script/grammar.js | 606 + .../lib/coffee-script/helpers.js | 77 + .../coffee-script/lib/coffee-script/index.js | 11 + .../coffee-script/lib/coffee-script/lexer.js | 788 + .../coffee-script/lib/coffee-script/nodes.js | 2986 +++ .../lib/coffee-script/optparse.js | 138 + .../coffee-script/lib/coffee-script/parser.js | 683 + .../coffee-script/lib/coffee-script/repl.js | 261 + .../lib/coffee-script/rewriter.js | 349 + .../coffee-script/lib/coffee-script/scope.js | 146 + .../node_modules/coffee-script/package.json | 47 + .../grunt/node_modules/colors/MIT-LICENSE.txt | 22 + .../grunt/node_modules/colors/ReadMe.md | 77 + .../grunt/node_modules/colors/colors.js | 342 + .../grunt/node_modules/colors/example.html | 76 + .../grunt/node_modules/colors/example.js | 77 + .../grunt/node_modules/colors/package.json | 29 + .../grunt/node_modules/colors/test.js | 70 + .../colors/themes/winston-dark.js | 12 + .../colors/themes/winston-light.js | 12 + .../grunt/node_modules/dateformat/Readme.md | 67 + .../node_modules/dateformat/lib/dateformat.js | 165 + .../node_modules/dateformat/package.json | 24 + .../dateformat/test/test_weekofyear.js | 4 + .../dateformat/test/test_weekofyear.sh | 27 + .../node_modules/eventemitter2/README.md | 212 + .../grunt/node_modules/eventemitter2/index.js | 1 + .../eventemitter2/lib/eventemitter2.js | 561 + .../node_modules/eventemitter2/package.json | 62 + .../grunt/node_modules/exit/.jshintrc | 14 + .../grunt/node_modules/exit/.npmignore | 0 .../grunt/node_modules/exit/.travis.yml | 6 + .../grunt/node_modules/exit/Gruntfile.js | 48 + .../grunt/node_modules/exit/LICENSE-MIT | 22 + .../grunt/node_modules/exit/README.md | 75 + .../grunt/node_modules/exit/lib/exit.js | 41 + .../grunt/node_modules/exit/package.json | 51 + .../grunt/node_modules/exit/test/exit_test.js | 121 + .../exit/test/fixtures/10-stderr.txt | 10 + .../exit/test/fixtures/10-stdout-stderr.txt | 20 + .../exit/test/fixtures/10-stdout.txt | 10 + .../exit/test/fixtures/100-stderr.txt | 100 + .../exit/test/fixtures/100-stdout-stderr.txt | 200 + .../exit/test/fixtures/100-stdout.txt | 100 + .../exit/test/fixtures/1000-stderr.txt | 1000 + .../exit/test/fixtures/1000-stdout-stderr.txt | 2000 ++ .../exit/test/fixtures/1000-stdout.txt | 1000 + .../exit/test/fixtures/create-files.sh | 8 + .../exit/test/fixtures/log-broken.js | 23 + .../node_modules/exit/test/fixtures/log.js | 25 + .../grunt/node_modules/findup-sync/.jshintrc | 16 + .../grunt/node_modules/findup-sync/.npmignore | 0 .../node_modules/findup-sync/Gruntfile.js | 25 + .../node_modules/findup-sync/LICENSE-MIT | 22 + .../grunt/node_modules/findup-sync/README.md | 44 + .../findup-sync/lib/findup-sync.js | 46 + .../findup-sync/node_modules/lodash/README.md | 164 + .../node_modules/lodash/dist/lodash.compat.js | 5152 ++++ .../lodash/dist/lodash.compat.min.js | 42 + .../node_modules/lodash/dist/lodash.js | 4983 ++++ .../node_modules/lodash/dist/lodash.min.js | 40 + .../lodash/dist/lodash.underscore.js | 4307 +++ .../lodash/dist/lodash.underscore.min.js | 34 + .../node_modules/lodash/package.json | 62 + .../node_modules/findup-sync/package.json | 48 + .../findup-sync/test/findup-sync_test.js | 48 + .../findup-sync/test/fixtures/a.txt | 0 .../findup-sync/test/fixtures/a/b/bar.txt | 0 .../findup-sync/test/fixtures/a/foo.txt | 0 .../findup-sync/test/fixtures/aaa.txt | 0 .../grunt/node_modules/getobject/.jshintrc | 15 + .../grunt/node_modules/getobject/.npmignore | 1 + .../grunt/node_modules/getobject/.travis.yml | 6 + .../grunt/node_modules/getobject/Gruntfile.js | 48 + .../grunt/node_modules/getobject/LICENSE-MIT | 22 + .../grunt/node_modules/getobject/README.md | 20 + .../node_modules/getobject/lib/getobject.js | 60 + .../grunt/node_modules/getobject/package.json | 48 + .../getobject/test/namespace_test.js | 51 + .../grunt/node_modules/glob/.npmignore | 2 + .../grunt/node_modules/glob/.travis.yml | 3 + .../grunt/node_modules/glob/LICENSE | 27 + .../grunt/node_modules/glob/README.md | 233 + .../grunt/node_modules/glob/examples/g.js | 9 + .../node_modules/glob/examples/usr-local.js | 9 + .../grunt/node_modules/glob/glob.js | 643 + .../glob/node_modules/graceful-fs/.npmignore | 1 + .../glob/node_modules/graceful-fs/LICENSE | 27 + .../glob/node_modules/graceful-fs/README.md | 33 + .../node_modules/graceful-fs/graceful-fs.js | 442 + .../node_modules/graceful-fs/package.json | 49 + .../node_modules/graceful-fs/test/open.js | 46 + .../node_modules/graceful-fs/test/ulimit.js | 158 + .../glob/node_modules/inherits/README.md | 51 + .../glob/node_modules/inherits/inherits.js | 29 + .../glob/node_modules/inherits/package.json | 30 + .../grunt/node_modules/glob/package.json | 40 + .../grunt/node_modules/glob/test/00-setup.js | 176 + .../node_modules/glob/test/bash-comparison.js | 63 + .../node_modules/glob/test/bash-results.json | 348 + .../grunt/node_modules/glob/test/cwd-test.js | 55 + .../grunt/node_modules/glob/test/mark.js | 74 + .../node_modules/glob/test/nocase-nomagic.js | 113 + .../node_modules/glob/test/pause-resume.js | 73 + .../node_modules/glob/test/root-nomount.js | 39 + .../grunt/node_modules/glob/test/root.js | 46 + .../node_modules/glob/test/zz-cleanup.js | 11 + .../grunt/node_modules/hooker/LICENSE-MIT | 22 + .../grunt/node_modules/hooker/README.md | 186 + .../grunt/node_modules/hooker/child.js | 101 + .../node_modules/hooker/dist/ba-hooker.js | 169 + .../node_modules/hooker/dist/ba-hooker.min.js | 4 + .../grunt/node_modules/hooker/grunt.js | 47 + .../grunt/node_modules/hooker/lib/hooker.js | 174 + .../grunt/node_modules/hooker/package.json | 45 + .../grunt/node_modules/hooker/parent.js | 17 + .../node_modules/hooker/test/hooker_test.js | 435 + .../grunt/node_modules/iconv-lite/.npmignore | 3 + .../grunt/node_modules/iconv-lite/.travis.yml | 5 + .../grunt/node_modules/iconv-lite/LICENSE | 21 + .../grunt/node_modules/iconv-lite/README.md | 72 + .../grunt/node_modules/iconv-lite/README.md~ | 54 + .../node_modules/iconv-lite/encodings/big5.js | 9 + .../node_modules/iconv-lite/encodings/gbk.js | 9 + .../iconv-lite/encodings/singlebyte.js | 340 + .../iconv-lite/encodings/table/big5.js | 1 + .../iconv-lite/encodings/table/gbk.js | 1 + .../generation/generate-big5-table.js | 25 + .../generation/generate-singlebyte.js | 142 + .../grunt/node_modules/iconv-lite/index.js | 231 + .../node_modules/iconv-lite/package.json | 80 + .../node_modules/iconv-lite/test/big5-test.js | 36 + .../node_modules/iconv-lite/test/big5File.txt | 13 + .../iconv-lite/test/cyrillic-test.js | 86 + .../node_modules/iconv-lite/test/gbk-test.js | 38 + .../node_modules/iconv-lite/test/gbkFile.txt | 14 + .../iconv-lite/test/greek-test.js | 79 + .../node_modules/iconv-lite/test/main-test.js | 55 + .../iconv-lite/test/performance.js | 67 + .../iconv-lite/test/turkish-test.js | 90 + .../grunt/node_modules/js-yaml/HISTORY.md | 155 + .../grunt/node_modules/js-yaml/LICENSE | 21 + .../grunt/node_modules/js-yaml/README.md | 249 + .../grunt/node_modules/js-yaml/bin/js-yaml.js | 125 + .../js-yaml/examples/custom_types.js | 104 + .../js-yaml/examples/custom_types.yaml | 18 + .../node_modules/js-yaml/examples/dumper.js | 31 + .../node_modules/js-yaml/examples/dumper.json | 22 + .../js-yaml/examples/sample_document.js | 15 + .../js-yaml/examples/sample_document.yaml | 197 + .../grunt/node_modules/js-yaml/index.js | 1 + .../grunt/node_modules/js-yaml/lib/js-yaml.js | 33 + .../js-yaml/lib/js-yaml/common.js | 60 + .../js-yaml/lib/js-yaml/dumper.js | 437 + .../js-yaml/lib/js-yaml/exception.js | 25 + .../js-yaml/lib/js-yaml/loader.js | 1549 ++ .../node_modules/js-yaml/lib/js-yaml/mark.js | 78 + .../js-yaml/lib/js-yaml/require.js | 23 + .../js-yaml/lib/js-yaml/schema.js | 103 + .../js-yaml/lib/js-yaml/schema/default.js | 16 + .../js-yaml/lib/js-yaml/schema/minimal.js | 13 + .../js-yaml/lib/js-yaml/schema/safe.js | 25 + .../node_modules/js-yaml/lib/js-yaml/type.js | 82 + .../js-yaml/lib/js-yaml/type/binary.js | 118 + .../js-yaml/lib/js-yaml/type/bool.js | 74 + .../js-yaml/lib/js-yaml/type/float.js | 102 + .../js-yaml/lib/js-yaml/type/int.js | 85 + .../js-yaml/lib/js-yaml/type/js/function.js | 56 + .../js-yaml/lib/js-yaml/type/js/regexp.js | 56 + .../js-yaml/lib/js-yaml/type/js/undefined.js | 28 + .../js-yaml/lib/js-yaml/type/map.js | 11 + .../js-yaml/lib/js-yaml/type/merge.js | 18 + .../js-yaml/lib/js-yaml/type/null.js | 36 + .../js-yaml/lib/js-yaml/type/omap.js | 53 + .../js-yaml/lib/js-yaml/type/pairs.js | 41 + .../js-yaml/lib/js-yaml/type/seq.js | 11 + .../js-yaml/lib/js-yaml/type/set.js | 31 + .../js-yaml/lib/js-yaml/type/str.js | 11 + .../js-yaml/lib/js-yaml/type/timestamp.js | 91 + .../js-yaml/node_modules/.bin/esparse | 15 + .../js-yaml/node_modules/.bin/esparse.cmd | 5 + .../js-yaml/node_modules/.bin/esvalidate | 15 + .../js-yaml/node_modules/.bin/esvalidate.cmd | 5 + .../js-yaml/node_modules/argparse/HISTORY.md | 109 + .../js-yaml/node_modules/argparse/LICENSE | 21 + .../js-yaml/node_modules/argparse/README.md | 239 + .../argparse/examples/arguments.js | 36 + .../node_modules/argparse/examples/choice.js | 22 + .../argparse/examples/constants.js | 59 + .../node_modules/argparse/examples/help.js | 13 + .../node_modules/argparse/examples/nargs.js | 33 + .../node_modules/argparse/examples/parents.js | 28 + .../argparse/examples/prefix_chars.js | 23 + .../argparse/examples/sub_commands.js | 49 + .../node_modules/argparse/examples/sum.js | 35 + .../argparse/examples/testformatters.js | 270 + .../js-yaml/node_modules/argparse/index.js | 1 + .../node_modules/argparse/lib/action.js | 146 + .../argparse/lib/action/append.js | 55 + .../argparse/lib/action/append/constant.js | 47 + .../node_modules/argparse/lib/action/count.js | 40 + .../node_modules/argparse/lib/action/help.js | 48 + .../node_modules/argparse/lib/action/store.js | 50 + .../argparse/lib/action/store/constant.js | 43 + .../argparse/lib/action/store/false.js | 27 + .../argparse/lib/action/store/true.js | 26 + .../argparse/lib/action/subparsers.js | 148 + .../argparse/lib/action/version.js | 50 + .../argparse/lib/action_container.js | 481 + .../node_modules/argparse/lib/argparse.js | 14 + .../argparse/lib/argument/error.js | 50 + .../argparse/lib/argument/exclusive.js | 54 + .../argparse/lib/argument/group.js | 75 + .../argparse/lib/argument_parser.js | 1165 + .../node_modules/argparse/lib/const.js | 18 + .../argparse/lib/help/added_formatters.js | 88 + .../argparse/lib/help/formatter.js | 803 + .../node_modules/argparse/lib/namespace.js | 77 + .../underscore.string/.travis.yml | 8 + .../node_modules/underscore.string/Gemfile | 4 + .../underscore.string/Gemfile.lock | 17 + .../underscore.string/README.markdown | 814 + .../node_modules/underscore.string/Rakefile | 23 + .../underscore.string/component.json | 11 + .../dist/underscore.string.min.js | 1 + .../lib/underscore.string.js | 673 + .../underscore.string/libpeerconnection.log | 0 .../underscore.string/package.json | 73 + .../underscore.string/test/run-qunit.js | 45 + .../underscore.string/test/speed.js | 148 + .../underscore.string/test/strings.js | 685 + .../test/strings_standalone.js | 12 + .../underscore.string/test/test.html | 31 + .../test/test_standalone.html | 18 + .../test/test_underscore/arrays.js | 200 + .../test/test_underscore/chaining.js | 59 + .../test/test_underscore/collections.js | 426 + .../test/test_underscore/functions.js | 259 + .../test/test_underscore/index.html | 45 + .../test/test_underscore/objects.js | 548 + .../test/test_underscore/speed.js | 75 + .../test/test_underscore/utility.js | 249 + .../test/test_underscore/vendor/jquery.js | 9404 +++++++ .../test/test_underscore/vendor/jslitmus.js | 670 + .../test/test_underscore/vendor/qunit.css | 235 + .../test/test_underscore/vendor/qunit.js | 1977 ++ .../underscore.string/test/underscore.js | 1201 + .../node_modules/underscore/.npmignore | 4 + .../node_modules/underscore/.travis.yml | 5 + .../argparse/node_modules/underscore/CNAME | 1 + .../node_modules/underscore/CONTRIBUTING.md | 9 + .../argparse/node_modules/underscore/LICENSE | 22 + .../node_modules/underscore/README.md | 19 + .../node_modules/underscore/favicon.ico | Bin 0 -> 1406 bytes .../node_modules/underscore/index.html | 2467 ++ .../argparse/node_modules/underscore/index.js | 1 + .../node_modules/underscore/package.json | 35 + .../node_modules/underscore/underscore-min.js | 1 + .../node_modules/underscore/underscore.js | 1226 + .../node_modules/argparse/package.json | 50 + .../js-yaml/node_modules/esprima/README.md | 73 + .../node_modules/esprima/bin/esparse.js | 117 + .../node_modules/esprima/bin/esvalidate.js | 177 + .../js-yaml/node_modules/esprima/esprima.js | 3908 +++ .../js-yaml/node_modules/esprima/package.json | 59 + .../node_modules/esprima/test/compat.js | 239 + .../node_modules/esprima/test/reflect.js | 422 + .../js-yaml/node_modules/esprima/test/run.js | 66 + .../node_modules/esprima/test/runner.js | 387 + .../js-yaml/node_modules/esprima/test/test.js | 20238 ++++++++++++++ .../grunt/node_modules/js-yaml/package.json | 60 + .../grunt/node_modules/lodash/README.md | 140 + .../grunt/node_modules/lodash/lodash.js | 4258 +++ .../grunt/node_modules/lodash/lodash.min.js | 35 + .../node_modules/lodash/lodash.underscore.js | 3688 +++ .../lodash/lodash.underscore.min.js | 28 + .../grunt/node_modules/lodash/package.json | 62 + .../grunt/node_modules/minimatch/.npmignore | 1 + .../grunt/node_modules/minimatch/LICENSE | 23 + .../grunt/node_modules/minimatch/README.md | 218 + .../grunt/node_modules/minimatch/minimatch.js | 1055 + .../node_modules/lru-cache/.npmignore | 1 + .../node_modules/lru-cache/CONTRIBUTORS | 14 + .../minimatch/node_modules/lru-cache/LICENSE | 23 + .../node_modules/lru-cache/README.md | 97 + .../node_modules/lru-cache/lib/lru-cache.js | 252 + .../node_modules/lru-cache/package.json | 33 + .../node_modules/lru-cache/test/basic.js | 369 + .../node_modules/lru-cache/test/foreach.js | 52 + .../lru-cache/test/memory-leak.js | 50 + .../minimatch/node_modules/sigmund/LICENSE | 27 + .../minimatch/node_modules/sigmund/README.md | 53 + .../minimatch/node_modules/sigmund/bench.js | 283 + .../node_modules/sigmund/package.json | 42 + .../minimatch/node_modules/sigmund/sigmund.js | 39 + .../node_modules/sigmund/test/basic.js | 24 + .../grunt/node_modules/minimatch/package.json | 40 + .../node_modules/minimatch/test/basic.js | 399 + .../minimatch/test/brace-expand.js | 33 + .../node_modules/minimatch/test/caching.js | 14 + .../node_modules/minimatch/test/defaults.js | 274 + .../test/extglob-ending-with-state-char.js | 8 + .../grunt/node_modules/nopt/.npmignore | 0 .../grunt/node_modules/nopt/LICENSE | 23 + .../grunt/node_modules/nopt/README.md | 208 + .../grunt/node_modules/nopt/bin/nopt.js | 44 + .../node_modules/nopt/examples/my-program.js | 30 + .../grunt/node_modules/nopt/lib/nopt.js | 552 + .../nopt/node_modules/abbrev/LICENSE | 23 + .../nopt/node_modules/abbrev/README.md | 23 + .../nopt/node_modules/abbrev/lib/abbrev.js | 111 + .../nopt/node_modules/abbrev/package.json | 29 + .../grunt/node_modules/nopt/package.json | 36 + .../grunt/node_modules/rimraf/AUTHORS | 6 + .../grunt/node_modules/rimraf/LICENSE | 23 + .../grunt/node_modules/rimraf/README.md | 21 + .../node_modules/graceful-fs/.npmignore | 1 + .../rimraf/node_modules/graceful-fs/LICENSE | 23 + .../rimraf/node_modules/graceful-fs/README.md | 5 + .../node_modules/graceful-fs/graceful-fs.js | 312 + .../node_modules/graceful-fs/package.json | 40 + .../node_modules/graceful-fs/test/open.js | 41 + .../grunt/node_modules/rimraf/package.json | 59 + .../grunt/node_modules/rimraf/rimraf.js | 161 + .../grunt/node_modules/rimraf/test/run.sh | 10 + .../grunt/node_modules/rimraf/test/setup.sh | 47 + .../node_modules/rimraf/test/test-async.js | 5 + .../node_modules/rimraf/test/test-fiber.js | 0 .../node_modules/rimraf/test/test-sync.js | 3 + .../underscore.string/.travis.yml | 8 + .../node_modules/underscore.string/Gemfile | 5 + .../underscore.string/Gemfile.lock | 34 + .../underscore.string/README.markdown | 668 + .../node_modules/underscore.string/Rakefile | 28 + .../dist/underscore.string.min.js | 1 + .../lib/underscore.string.js | 525 + .../underscore.string/package.json | 72 + .../underscore.string/test/run-qunit.js | 44 + .../underscore.string/test/speed.js | 138 + .../underscore.string/test/strings.js | 438 + .../test/strings_standalone.js | 12 + .../underscore.string/test/test.html | 31 + .../test/test_standalone.html | 18 + .../test/test_underscore/arrays.js | 166 + .../test/test_underscore/chaining.js | 59 + .../test/test_underscore/collections.js | 270 + .../test/test_underscore/functions.js | 198 + .../test/test_underscore/objects.js | 535 + .../test/test_underscore/speed.js | 70 + .../test/test_underscore/temp.js | 27 + .../test/test_underscore/temp_tests.html | 19 + .../test/test_underscore/test.html | 43 + .../test/test_underscore/utility.js | 155 + .../test/test_underscore/vendor/jquery.js | 19 + .../test/test_underscore/vendor/jslitmus.js | 670 + .../test/test_underscore/vendor/qunit.css | 196 + .../test/test_underscore/vendor/qunit.js | 2360 ++ .../underscore.string/test/underscore.js | 999 + .../grunt/node_modules/which/LICENSE | 23 + .../grunt/node_modules/which/README.md | 5 + .../grunt/node_modules/which/bin/which | 14 + .../grunt/node_modules/which/package.json | 31 + .../grunt/node_modules/which/which.js | 104 + static/js/node_modules/grunt/package.json | 82 + static/js/package.json | 14 + static/js/readme.txt | 26 + static/style/base.less | 236 + static/style/bootstrap.css | 15 + .../style/font-awesome/Font Awesome Icons.url | 2 + static/style/font-awesome/demo.html | 442 + .../style/font-awesome/font/FontAwesome.otf | Bin 0 -> 50204 bytes .../font-awesome/font/fontawesome-webfont.eot | Bin 0 -> 29360 bytes .../font-awesome/font/fontawesome-webfont.svg | 339 + .../font-awesome/font/fontawesome-webfont.ttf | Bin 0 -> 64960 bytes .../font/fontawesome-webfont.woff | Bin 0 -> 34420 bytes static/style/font-awesome/style.css | 1271 + static/style/login.css | 41 + static/style/skin/common.less | 215 + static/style/skin/default/app_code_edit.css | 308 + static/style/skin/default/app_code_edit.less | 138 + static/style/skin/default/app_desktop.css | 383 + static/style/skin/default/app_desktop.less | 100 + static/style/skin/default/app_editor.css | 321 + static/style/skin/default/app_editor.less | 40 + static/style/skin/default/app_explorer.css | 449 + static/style/skin/default/app_explorer.less | 115 + static/style/skin/default/app_setting.css | 332 + static/style/skin/default/app_setting.less | 198 + static/style/skin/default/button.less | 59 + static/style/skin/default/config.less | 15 + static/style/skin/default/dialog.less | 168 + static/style/skin/default/filelist.less | 202 + static/style/skin/default/images/air.png | Bin 0 -> 4431 bytes static/style/skin/default/images/avi.png | Bin 0 -> 3856 bytes static/style/skin/default/images/cmd.png | Bin 0 -> 3364 bytes static/style/skin/default/images/code.png | Bin 0 -> 2632 bytes static/style/skin/default/images/cpp.png | Bin 0 -> 6087 bytes static/style/skin/default/images/css.png | Bin 0 -> 3488 bytes .../skin/default/images/dialog/btn-close.png | Bin 0 -> 3791 bytes .../skin/default/images/dialog/btn-max.png | Bin 0 -> 3474 bytes .../skin/default/images/dialog/btn-min.png | Bin 0 -> 3427 bytes .../skin/default/images/dialog/btn-reg.png | Bin 0 -> 3550 bytes .../skin/default/images/dialog/dialog.png | Bin 0 -> 88406 bytes static/style/skin/default/images/dll.png | Bin 0 -> 4320 bytes static/style/skin/default/images/doc.png | Bin 0 -> 4329 bytes static/style/skin/default/images/exe.png | Bin 0 -> 2608 bytes static/style/skin/default/images/file.png | Bin 0 -> 5956 bytes static/style/skin/default/images/fla.png | Bin 0 -> 3992 bytes static/style/skin/default/images/flv.png | Bin 0 -> 4061 bytes static/style/skin/default/images/folder.png | Bin 0 -> 1653 bytes static/style/skin/default/images/html.png | Bin 0 -> 4805 bytes static/style/skin/default/images/ini.png | Bin 0 -> 2790 bytes static/style/skin/default/images/js.png | Bin 0 -> 2670 bytes static/style/skin/default/images/mdb.png | Bin 0 -> 16579 bytes static/style/skin/default/images/mp3.png | Bin 0 -> 4755 bytes static/style/skin/default/images/pdf.png | Bin 0 -> 7961 bytes static/style/skin/default/images/php.png | Bin 0 -> 5125 bytes static/style/skin/default/images/ppt.png | Bin 0 -> 4137 bytes static/style/skin/default/images/psd.png | Bin 0 -> 7288 bytes static/style/skin/default/images/py.png | Bin 0 -> 4005 bytes static/style/skin/default/images/rar.png | Bin 0 -> 3835 bytes static/style/skin/default/images/rb.png | Bin 0 -> 7019 bytes static/style/skin/default/images/svg.png | Bin 0 -> 4368 bytes static/style/skin/default/images/swf.png | Bin 0 -> 7654 bytes static/style/skin/default/images/ttf.png | Bin 0 -> 2568 bytes static/style/skin/default/images/txt.png | Bin 0 -> 1693 bytes static/style/skin/default/images/wmv.png | Bin 0 -> 4591 bytes static/style/skin/default/images/xls.png | Bin 0 -> 4855 bytes static/style/skin/default/images/xml.png | Bin 0 -> 4859 bytes static/style/skin/default/images/zip.png | Bin 0 -> 4741 bytes static/style/skin/default/right_menu.less | 65 + static/style/skin/default/tree.less | 120 + static/style/skin/metro/app_code_edit.css | 300 + static/style/skin/metro/app_code_edit.less | 140 + static/style/skin/metro/app_desktop.css | 374 + static/style/skin/metro/app_desktop.less | 102 + static/style/skin/metro/app_editor.css | 322 + static/style/skin/metro/app_editor.less | 40 + static/style/skin/metro/app_explorer.css | 449 + static/style/skin/metro/app_explorer.less | 113 + static/style/skin/metro/app_setting.css | 322 + static/style/skin/metro/app_setting.less | 180 + .../style/skin/metro/blue_app_code_edit.css | 300 + static/style/skin/metro/blue_app_desktop.css | 374 + static/style/skin/metro/blue_app_editor.css | 322 + static/style/skin/metro/blue_app_explorer.css | 449 + static/style/skin/metro/blue_app_setting.css | 322 + static/style/skin/metro/button.less | 59 + static/style/skin/metro/config.less | 39 + static/style/skin/metro/dialog.less | 179 + static/style/skin/metro/filelist.less | 193 + .../style/skin/metro/green_app_code_edit.css | 300 + static/style/skin/metro/green_app_desktop.css | 374 + static/style/skin/metro/green_app_editor.css | 322 + .../style/skin/metro/green_app_explorer.css | 449 + static/style/skin/metro/green_app_setting.css | 322 + .../style/skin/metro/grey_app_code_edit.css | 300 + static/style/skin/metro/grey_app_desktop.css | 374 + static/style/skin/metro/grey_app_editor.css | 322 + static/style/skin/metro/grey_app_explorer.css | 449 + static/style/skin/metro/grey_app_setting.css | 322 + static/style/skin/metro/images/air.png | Bin 0 -> 4431 bytes static/style/skin/metro/images/avi.png | Bin 0 -> 3848 bytes static/style/skin/metro/images/cmd.png | Bin 0 -> 3364 bytes static/style/skin/metro/images/code.png | Bin 0 -> 2632 bytes static/style/skin/metro/images/cpp.png | Bin 0 -> 6087 bytes static/style/skin/metro/images/css.png | Bin 0 -> 3488 bytes static/style/skin/metro/images/dll.png | Bin 0 -> 4320 bytes static/style/skin/metro/images/doc.png | Bin 0 -> 4329 bytes static/style/skin/metro/images/exe.png | Bin 0 -> 2608 bytes static/style/skin/metro/images/file.png | Bin 0 -> 5956 bytes static/style/skin/metro/images/fla.png | Bin 0 -> 3187 bytes static/style/skin/metro/images/flv.png | Bin 0 -> 4061 bytes static/style/skin/metro/images/folder.png | Bin 0 -> 5908 bytes static/style/skin/metro/images/html.png | Bin 0 -> 2667 bytes static/style/skin/metro/images/ini.png | Bin 0 -> 3617 bytes static/style/skin/metro/images/js.png | Bin 0 -> 4284 bytes static/style/skin/metro/images/mdb.png | Bin 0 -> 4388 bytes static/style/skin/metro/images/mp3.png | Bin 0 -> 4755 bytes static/style/skin/metro/images/pdf.png | Bin 0 -> 3586 bytes static/style/skin/metro/images/php.png | Bin 0 -> 5197 bytes static/style/skin/metro/images/ppt.png | Bin 0 -> 4137 bytes static/style/skin/metro/images/psd.png | Bin 0 -> 7288 bytes static/style/skin/metro/images/py.png | Bin 0 -> 4005 bytes static/style/skin/metro/images/rar.png | Bin 0 -> 3347 bytes static/style/skin/metro/images/rb.png | Bin 0 -> 7019 bytes static/style/skin/metro/images/svg.png | Bin 0 -> 4368 bytes static/style/skin/metro/images/swf.png | Bin 0 -> 7654 bytes static/style/skin/metro/images/ttf.png | Bin 0 -> 2568 bytes static/style/skin/metro/images/txt.png | Bin 0 -> 2926 bytes static/style/skin/metro/images/wmv.png | Bin 0 -> 4591 bytes static/style/skin/metro/images/xls.png | Bin 0 -> 4855 bytes static/style/skin/metro/images/xml.png | Bin 0 -> 4859 bytes static/style/skin/metro/images/zip.png | Bin 0 -> 4978 bytes .../style/skin/metro/leaf_app_code_edit.css | 300 + static/style/skin/metro/leaf_app_desktop.css | 374 + static/style/skin/metro/leaf_app_editor.css | 322 + static/style/skin/metro/leaf_app_explorer.css | 449 + static/style/skin/metro/leaf_app_setting.css | 322 + .../style/skin/metro/orange_app_code_edit.css | 300 + .../style/skin/metro/orange_app_desktop.css | 374 + static/style/skin/metro/orange_app_editor.css | 322 + .../style/skin/metro/orange_app_explorer.css | 449 + .../style/skin/metro/orange_app_setting.css | 322 + .../style/skin/metro/pink_app_code_edit.css | 300 + static/style/skin/metro/pink_app_desktop.css | 374 + static/style/skin/metro/pink_app_editor.css | 322 + static/style/skin/metro/pink_app_explorer.css | 449 + static/style/skin/metro/pink_app_setting.css | 322 + .../style/skin/metro/purple_app_code_edit.css | 300 + .../style/skin/metro/purple_app_desktop.css | 374 + static/style/skin/metro/purple_app_editor.css | 322 + .../style/skin/metro/purple_app_explorer.css | 449 + .../style/skin/metro/purple_app_setting.css | 322 + static/style/skin/metro/right_menu.less | 65 + static/style/skin/metro/tree.less | 137 + static/style/skin/simple/app_code_edit.css | 321 + static/style/skin/simple/app_code_edit.less | 140 + static/style/skin/simple/app_desktop.css | 396 + static/style/skin/simple/app_desktop.less | 101 + static/style/skin/simple/app_editor.css | 334 + static/style/skin/simple/app_editor.less | 40 + static/style/skin/simple/app_explorer.css | 462 + static/style/skin/simple/app_explorer.less | 114 + static/style/skin/simple/app_setting.css | 341 + static/style/skin/simple/app_setting.less | 194 + static/style/skin/simple/button.less | 59 + static/style/skin/simple/config.less | 15 + static/style/skin/simple/dialog.less | 193 + static/style/skin/simple/filelist.less | 204 + static/style/skin/simple/images/air.png | Bin 0 -> 4431 bytes static/style/skin/simple/images/avi.png | Bin 0 -> 3848 bytes static/style/skin/simple/images/cmd.png | Bin 0 -> 3364 bytes static/style/skin/simple/images/code.png | Bin 0 -> 2632 bytes static/style/skin/simple/images/cpp.png | Bin 0 -> 6087 bytes static/style/skin/simple/images/css.png | Bin 0 -> 3488 bytes static/style/skin/simple/images/dll.png | Bin 0 -> 4320 bytes static/style/skin/simple/images/doc.png | Bin 0 -> 4329 bytes static/style/skin/simple/images/exe.png | Bin 0 -> 2608 bytes static/style/skin/simple/images/file.png | Bin 0 -> 5956 bytes static/style/skin/simple/images/fla.png | Bin 0 -> 3187 bytes static/style/skin/simple/images/flv.png | Bin 0 -> 4061 bytes static/style/skin/simple/images/folder.png | Bin 0 -> 1401 bytes static/style/skin/simple/images/html.png | Bin 0 -> 2667 bytes static/style/skin/simple/images/ini.png | Bin 0 -> 3617 bytes static/style/skin/simple/images/js.png | Bin 0 -> 2670 bytes static/style/skin/simple/images/mdb.png | Bin 0 -> 4388 bytes static/style/skin/simple/images/mp3.png | Bin 0 -> 4755 bytes static/style/skin/simple/images/pdf.png | Bin 0 -> 7961 bytes static/style/skin/simple/images/php.png | Bin 0 -> 4792 bytes static/style/skin/simple/images/ppt.png | Bin 0 -> 4137 bytes static/style/skin/simple/images/psd.png | Bin 0 -> 7288 bytes static/style/skin/simple/images/py.png | Bin 0 -> 4005 bytes static/style/skin/simple/images/rar.png | Bin 0 -> 3347 bytes static/style/skin/simple/images/rb.png | Bin 0 -> 7019 bytes static/style/skin/simple/images/svg.png | Bin 0 -> 4368 bytes static/style/skin/simple/images/swf.png | Bin 0 -> 7654 bytes static/style/skin/simple/images/ttf.png | Bin 0 -> 2568 bytes static/style/skin/simple/images/txt.png | Bin 0 -> 2926 bytes static/style/skin/simple/images/wmv.png | Bin 0 -> 4591 bytes static/style/skin/simple/images/xls.png | Bin 0 -> 4855 bytes static/style/skin/simple/images/xml.png | Bin 0 -> 4859 bytes static/style/skin/simple/images/zip.png | Bin 0 -> 3199 bytes static/style/skin/simple/right_menu.less | 80 + static/style/skin/simple/tree.less | 121 + template/app/index.php | 52 + template/common/navbar.html | 41 + template/desktop/index.php | 108 + template/editor/edit.php | 121 + template/editor/editor.php | 69 + template/explorer/index.php | 146 + template/setting/index.php | 54 + template/setting/slider/about.php | 6 + template/setting/slider/fav.php | 5 + template/setting/slider/help.php | 7 + template/setting/slider/member.php | 144 + template/setting/slider/player.php | 20 + template/setting/slider/theme.php | 10 + template/setting/slider/user.php | 11 + template/setting/slider/wall.php | 19 + template/user/login.html | 40 + todo.txt | 17 + 1922 files changed, 283620 insertions(+), 1 deletion(-) create mode 100644 config/config.php create mode 100644 config/setting.php create mode 100644 config/version.php create mode 100644 controller/app.class.php create mode 100644 controller/debug.class.php create mode 100644 controller/desktop.class.php create mode 100644 controller/editor.class.php create mode 100644 controller/explorer.class.php create mode 100644 controller/fav.class.php create mode 100644 controller/group.class.php create mode 100644 controller/member.class.php create mode 100644 controller/setting.class.php create mode 100644 controller/user.class.php create mode 100644 controller/util.php create mode 100644 data/User/admin/data/config.php create mode 100644 data/User/admin/data/fav.php create mode 100644 data/User/demo/data/config.php create mode 100644 data/User/demo/data/fav.php create mode 100644 data/User/demo/home/image/1983 - 日光海岸.mp3 create mode 100644 data/User/demo/home/image/LICENSE.md create mode 100644 data/User/demo/home/image/adagio.mp3 create mode 100644 data/User/demo/home/image/icon.png create mode 100644 data/User/guest/data/config.php create mode 100644 data/User/guest/data/fav.php create mode 100644 data/i18n/en/about.html create mode 100644 data/i18n/en/edit.html create mode 100644 data/i18n/en/help.html create mode 100644 data/i18n/en/main.php create mode 100644 data/i18n/zh_CN/about.html create mode 100644 data/i18n/zh_CN/edit.html create mode 100644 data/i18n/zh_CN/help.html create mode 100644 data/i18n/zh_CN/main.php create mode 100644 data/i18n/zh_TW/about.html create mode 100644 data/i18n/zh_TW/edit.html create mode 100644 data/i18n/zh_TW/help.html create mode 100644 data/i18n/zh_TW/main.php create mode 100644 data/system/apps.php create mode 100644 data/system/group.php create mode 100644 data/system/member.php create mode 100644 index.php create mode 100644 lib/class/fileCache.class.php create mode 100644 lib/class/history.class.php create mode 100644 lib/class/imageThumb.class.php create mode 100644 lib/class/lessc.inc.class.php create mode 100644 lib/class/pclzip.class.php create mode 100644 lib/core/Application.class.php create mode 100644 lib/core/Controller.class.php create mode 100644 lib/core/Model.class.php create mode 100644 lib/function/common.function.php create mode 100644 lib/function/file.function.php create mode 100644 lib/function/web.function.php create mode 100644 lib/plugins/adminer/adminer.css create mode 100644 lib/plugins/adminer/index.php create mode 100644 static/images/app/-computer.png create mode 100644 static/images/app/365.png create mode 100644 static/images/app/app_s1.png create mode 100644 static/images/app/app_s2.png create mode 100644 static/images/app/cal.png create mode 100644 static/images/app/calcu.png create mode 100644 static/images/app/chuangyebang.jpg create mode 100644 static/images/app/computer.png create mode 100644 static/images/app/douban.png create mode 100644 static/images/app/fruite.jpg create mode 100644 static/images/app/geling.jpg create mode 100644 static/images/app/haozhaopian.jpg create mode 100644 static/images/app/internet.png create mode 100644 static/images/app/iqiyi.png create mode 100644 static/images/app/js.png create mode 100644 static/images/app/kuaidi.gif create mode 100644 static/images/app/kugou.png create mode 100644 static/images/app/kugou_radio.png create mode 100644 static/images/app/linux.png create mode 100644 static/images/app/map.png create mode 100644 static/images/app/market.png create mode 100644 static/images/app/meishi.png create mode 100644 static/images/app/meitu.gif create mode 100644 static/images/app/oexe.png create mode 100644 static/images/app/pptv.jpg create mode 100644 static/images/app/ps.png create mode 100644 static/images/app/qqmusic.png create mode 100644 static/images/app/setting.png create mode 100644 static/images/app/souhu.jpg create mode 100644 static/images/app/time.png create mode 100644 static/images/app/xiami.jpg create mode 100644 static/images/app/xiangqi.jpg create mode 100644 static/images/app/yingyuetai.png create mode 100644 static/images/app/youdao.jpg create mode 100644 static/images/app/zhiwu.jpg create mode 100644 static/images/bg.gif create mode 100644 static/images/buttons_40.png create mode 100644 static/images/desktop/narrow.png create mode 100644 static/images/desktop/start.png create mode 100644 static/images/desktop/taskbarbg.png create mode 100644 static/images/desktop/taskbarhover.png create mode 100644 static/images/dialog_loading.gif create mode 100644 static/images/favicon.ico create mode 100644 static/images/file.png create mode 100644 static/images/file_16/air.png create mode 100644 static/images/file_16/avi.png create mode 100644 static/images/file_16/cmd.png create mode 100644 static/images/file_16/code.png create mode 100644 static/images/file_16/cpp.png create mode 100644 static/images/file_16/css.png create mode 100644 static/images/file_16/dll.png create mode 100644 static/images/file_16/doc.png create mode 100644 static/images/file_16/exe.png create mode 100644 static/images/file_16/file.png create mode 100644 static/images/file_16/fla.png create mode 100644 static/images/file_16/flv.png create mode 100644 static/images/file_16/folder.png create mode 100644 static/images/file_16/html.png create mode 100644 static/images/file_16/ini.png create mode 100644 static/images/file_16/jpg.png create mode 100644 static/images/file_16/js.png create mode 100644 static/images/file_16/mp3.png create mode 100644 static/images/file_16/oexe.png create mode 100644 static/images/file_16/pdf.png create mode 100644 static/images/file_16/php.png create mode 100644 static/images/file_16/ppt.png create mode 100644 static/images/file_16/ps.png create mode 100644 static/images/file_16/psd.png create mode 100644 static/images/file_16/py.png create mode 100644 static/images/file_16/rar.gif create mode 100644 static/images/file_16/swf.png create mode 100644 static/images/file_16/ttf.png create mode 100644 static/images/file_16/txt.png create mode 100644 static/images/file_16/xls.png create mode 100644 static/images/file_16/xml.png create mode 100644 static/images/file_16/zip.png create mode 100644 static/images/folder.png create mode 100644 static/images/image.png create mode 100644 static/images/lazy.gif create mode 100644 static/images/left.jpg create mode 100644 static/images/line.png create mode 100644 static/images/line_x.png create mode 100644 static/images/loading.gif create mode 100644 static/images/loading_simple.gif create mode 100644 static/images/loading_tree.gif create mode 100644 static/images/resize.png create mode 100644 static/images/resize_corner.png create mode 100644 static/images/thumb/movie/qqplayer.jpg create mode 100644 static/images/thumb/movie/qqplayer.png create mode 100644 static/images/thumb/movie/tvlive.jpg create mode 100644 static/images/thumb/movie/tvlive.png create mode 100644 static/images/thumb/movie/vplayer.jpg create mode 100644 static/images/thumb/movie/vplayer.png create mode 100644 static/images/thumb/movie/webplayer.jpg create mode 100644 static/images/thumb/movie/webplayer.png create mode 100644 static/images/thumb/movie/youtube.jpg create mode 100644 static/images/thumb/movie/youtube.png create mode 100644 static/images/thumb/music/beveled.jpg create mode 100644 static/images/thumb/music/jma.png create mode 100644 static/images/thumb/music/kuwo.jpg create mode 100644 static/images/thumb/music/kuwo.png create mode 100644 static/images/thumb/music/manila.jpg create mode 100644 static/images/thumb/music/manila.png create mode 100644 static/images/thumb/music/mp3player.jpg create mode 100644 static/images/thumb/music/qqmusic.jpg create mode 100644 static/images/thumb/music/qqmusic.png create mode 100644 static/images/thumb/music/scplayer.png create mode 100644 static/images/thumb/music/somusic.jpg create mode 100644 static/images/thumb/music/somusic.png create mode 100644 static/images/thumb/music/ting.jpg create mode 100644 static/images/thumb/music/xdj.jpg create mode 100644 static/images/thumb/theme/color.png create mode 100644 static/images/thumb/theme/default.png create mode 100644 static/images/thumb/theme/metro.png create mode 100644 static/images/thumb/theme/simple.png create mode 100644 static/images/topBanner.jpg create mode 100644 static/images/tree.png create mode 100644 static/images/wall_page/1.jpg create mode 100644 static/images/wall_page/10.jpg create mode 100644 static/images/wall_page/11.jpg create mode 100644 static/images/wall_page/12.jpg create mode 100644 static/images/wall_page/13.jpg create mode 100644 static/images/wall_page/14.jpg create mode 100644 static/images/wall_page/15.jpg create mode 100644 static/images/wall_page/2.jpg create mode 100644 static/images/wall_page/3.jpg create mode 100644 static/images/wall_page/4.jpg create mode 100644 static/images/wall_page/5.jpg create mode 100644 static/images/wall_page/6.jpg create mode 100644 static/images/wall_page/7.jpg create mode 100644 static/images/wall_page/8.jpg create mode 100644 static/images/wall_page/9.jpg create mode 100644 static/images/wall_page/thumb/1.jpg create mode 100644 static/images/wall_page/thumb/10.jpg create mode 100644 static/images/wall_page/thumb/11.jpg create mode 100644 static/images/wall_page/thumb/12.jpg create mode 100644 static/images/wall_page/thumb/13.jpg create mode 100644 static/images/wall_page/thumb/14.jpg create mode 100644 static/images/wall_page/thumb/15.jpg create mode 100644 static/images/wall_page/thumb/2.jpg create mode 100644 static/images/wall_page/thumb/3.jpg create mode 100644 static/images/wall_page/thumb/4.jpg create mode 100644 static/images/wall_page/thumb/5.jpg create mode 100644 static/images/wall_page/thumb/6.jpg create mode 100644 static/images/wall_page/thumb/7.jpg create mode 100644 static/images/wall_page/thumb/8.jpg create mode 100644 static/images/wall_page/thumb/9.jpg create mode 100644 static/images/ybutton.png create mode 100644 static/js/Gruntfile.js create mode 100644 static/js/_dev/common/CMPlayer.js create mode 100644 static/js/_dev/common/core.js create mode 100644 static/js/_dev/common/pathOpen.js create mode 100644 static/js/_dev/common/pathOperate.js create mode 100644 static/js/_dev/common/rightMenu.js create mode 100644 static/js/_dev/common/taskTap.js create mode 100644 static/js/_dev/common/tree.js create mode 100644 static/js/_dev/src/app/main.js create mode 100644 static/js/_dev/src/app/page.js create mode 100644 static/js/_dev/src/desktop/fileSelect.js create mode 100644 static/js/_dev/src/desktop/main.js create mode 100644 static/js/_dev/src/desktop/ui.js create mode 100644 static/js/_dev/src/edit/edit.js create mode 100644 static/js/_dev/src/edit/main.js create mode 100644 static/js/_dev/src/edit/mode.js create mode 100644 static/js/_dev/src/edit/taskTap.js create mode 100644 static/js/_dev/src/edit/toolbar.js create mode 100644 static/js/_dev/src/editor/main.js create mode 100644 static/js/_dev/src/editor/ui.js create mode 100644 static/js/_dev/src/explorer/fileSelect.js create mode 100644 static/js/_dev/src/explorer/main.js create mode 100644 static/js/_dev/src/explorer/path.js create mode 100644 static/js/_dev/src/explorer/ui.js create mode 100644 static/js/_dev/src/setting/fav.js create mode 100644 static/js/_dev/src/setting/group.js create mode 100644 static/js/_dev/src/setting/main.js create mode 100644 static/js/_dev/src/setting/member.js create mode 100644 static/js/_dev/src/setting/setting.js create mode 100644 static/js/_dev/tpl/app.js create mode 100644 static/js/_dev/tpl/fileinfo.js create mode 100644 static/js/_dev/tpl/search.js create mode 100644 static/js/_dev/tpl/upload.js create mode 100644 static/js/_dev/update/main.js create mode 100644 static/js/app/src/app/main.js create mode 100644 static/js/app/src/desktop/main.js create mode 100644 static/js/app/src/edit/main.js create mode 100644 static/js/app/src/editor/main.js create mode 100644 static/js/app/src/explorer/main.js create mode 100644 static/js/app/src/setting/main.js create mode 100644 static/js/app/update/main.js create mode 100644 static/js/lib/ace/api.url create mode 100644 static/js/lib/ace/editor.html create mode 100644 static/js/lib/ace/read.txt create mode 100644 static/js/lib/ace/src-min-noconflict/ace.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-chromevox.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-elastic_tabstops_lite.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-emmet.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-error_marker.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-keybinding_menu.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-language_tools.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-modelist.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-old_ie.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-searchbox.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-settings_menu.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-spellcheck.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-split.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-static_highlight.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-statusbar.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-textarea.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-themelist.js create mode 100644 static/js/lib/ace/src-min-noconflict/ext-whitespace.js create mode 100644 static/js/lib/ace/src-min-noconflict/keybinding-emacs.js create mode 100644 static/js/lib/ace/src-min-noconflict/keybinding-vim.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-abap.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-actionscript.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-ada.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-apache_conf.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-asciidoc.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-assembly_x86.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-autohotkey.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-batchfile.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-c9search.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-c_cpp.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-clojure.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-cobol.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-coffee.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-coldfusion.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-csharp.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-css.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-curly.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-d.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-dart.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-diff.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-django.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-dot.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-ejs.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-erlang.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-forth.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-ftl.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-glsl.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-golang.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-groovy.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-haml.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-handlebars.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-haskell.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-haxe.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-html.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-html_completions.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-html_ruby.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-ini.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-jack.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-jade.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-java.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-javascript.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-json.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-jsoniq.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-jsp.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-jsx.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-julia.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-latex.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-less.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-liquid.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-lisp.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-livescript.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-logiql.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-lsl.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-lua.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-luapage.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-lucene.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-makefile.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-markdown.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-matlab.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-mel.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-mushcode.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-mushcode_high_rules.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-mysql.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-nix.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-objectivec.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-ocaml.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-pascal.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-perl.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-pgsql.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-php.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-plain_text.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-powershell.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-prolog.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-properties.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-protobuf.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-python.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-r.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-rdoc.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-rhtml.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-ruby.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-rust.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-sass.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-scad.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-scala.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-scheme.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-scss.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-sh.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-sjs.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-snippets.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-soy_template.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-space.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-sql.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-stylus.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-svg.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-tcl.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-tex.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-text.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-textile.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-toml.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-twig.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-typescript.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-vbscript.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-velocity.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-verilog.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-vhdl.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-xml.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-xquery.js create mode 100644 static/js/lib/ace/src-min-noconflict/mode-yaml.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/abap.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/actionscript.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/ada.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/apache_conf.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/asciidoc.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/assembly_x86.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/autohotkey.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/batchfile.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/c9search.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/c_cpp.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/clojure.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/cobol.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/coffee.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/coldfusion.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/csharp.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/css.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/curly.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/d.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/dart.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/diff.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/django.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/dot.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/ejs.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/erlang.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/forth.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/ftl.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/glsl.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/golang.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/groovy.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/haml.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/handlebars.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/haskell.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/haxe.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/html.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/html_completions.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/html_ruby.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/ini.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/jack.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/jade.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/java.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/javascript.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/json.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/jsoniq.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/jsp.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/jsx.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/julia.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/latex.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/less.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/liquid.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/lisp.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/livescript.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/logiql.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/lsl.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/lua.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/luapage.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/lucene.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/makefile.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/markdown.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/matlab.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/mel.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/mushcode.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/mushcode_high_rules.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/mysql.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/nix.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/objectivec.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/ocaml.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/pascal.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/perl.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/pgsql.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/php.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/plain_text.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/powershell.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/prolog.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/properties.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/protobuf.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/python.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/r.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/rdoc.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/rhtml.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/ruby.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/rust.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/sass.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/scad.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/scala.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/scheme.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/scss.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/sh.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/sjs.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/snippets.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/soy_template.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/space.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/sql.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/stylus.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/svg.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/tcl.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/tex.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/text.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/textile.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/toml.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/twig.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/typescript.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/vbscript.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/velocity.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/verilog.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/vhdl.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/xml.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/xquery.js create mode 100644 static/js/lib/ace/src-min-noconflict/snippets/yaml.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-ambiance.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-chaos.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-chrome.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-clouds.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-clouds_midnight.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-cobalt.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-crimson_editor.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-dawn.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-dreamweaver.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-eclipse.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-github.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-idle_fingers.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-katzenmilch.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-kr.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-kuroir.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-merbivore.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-merbivore_soft.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-mono_industrial.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-monokai.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-pastel_on_dark.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-solarized_dark.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-solarized_light.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-terminal.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-textmate.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-tomorrow.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-tomorrow_night.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_blue.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_bright.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_eighties.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-twilight.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-vibrant_ink.js create mode 100644 static/js/lib/ace/src-min-noconflict/theme-xcode.js create mode 100644 static/js/lib/ace/src-min-noconflict/worker-coffee.js create mode 100644 static/js/lib/ace/src-min-noconflict/worker-css.js create mode 100644 static/js/lib/ace/src-min-noconflict/worker-javascript.js create mode 100644 static/js/lib/ace/src-min-noconflict/worker-json.js create mode 100644 static/js/lib/ace/src-min-noconflict/worker-lua.js create mode 100644 static/js/lib/ace/src-min-noconflict/worker-php.js create mode 100644 static/js/lib/ace/src-min-noconflict/worker-xquery.js create mode 100644 static/js/lib/artDialog/icons/error.png create mode 100644 static/js/lib/artDialog/icons/face-sad.png create mode 100644 static/js/lib/artDialog/icons/face-smile.png create mode 100644 static/js/lib/artDialog/icons/loading.png create mode 100644 static/js/lib/artDialog/icons/question.png create mode 100644 static/js/lib/artDialog/icons/succeed.png create mode 100644 static/js/lib/artDialog/icons/warning.png create mode 100644 static/js/lib/artDialog/jquery-artDialog.js create mode 100644 static/js/lib/cmp4/cmp.js create mode 100644 static/js/lib/cmp4/cmp.swf create mode 100644 static/js/lib/cmp4/config.xml create mode 100644 static/js/lib/cmp4/crossdomain.xml create mode 100644 static/js/lib/cmp4/index.htm create mode 100644 static/js/lib/cmp4/list.xml create mode 100644 static/js/lib/cmp4/logo.png create mode 100644 static/js/lib/cmp4/plugins/ApiExample.as create mode 100644 static/js/lib/cmp4/plugins/announce.swf create mode 100644 static/js/lib/cmp4/plugins/announce/announce.swf create mode 100644 static/js/lib/cmp4/plugins/apiexample.swf create mode 100644 static/js/lib/cmp4/plugins/bigbg.swf create mode 100644 static/js/lib/cmp4/plugins/bounce.swf create mode 100644 static/js/lib/cmp4/plugins/equalizer.swf create mode 100644 static/js/lib/cmp4/plugins/mixer3d.swf create mode 100644 static/js/lib/cmp4/plugins/p2pstream.swf create mode 100644 static/js/lib/cmp4/plugins/revolt.swf create mode 100644 static/js/lib/cmp4/plugins/sharing.swf create mode 100644 static/js/lib/cmp4/plugins/snow/Flake.as create mode 100644 static/js/lib/cmp4/plugins/snow/Snow.as create mode 100644 static/js/lib/cmp4/plugins/snow/snow.fla create mode 100644 static/js/lib/cmp4/plugins/snow/snow.swf create mode 100644 static/js/lib/cmp4/plugins/swf/col.swf create mode 100644 static/js/lib/cmp4/plugins/swf/colock.swf create mode 100644 static/js/lib/cmp4/plugins/swf/green.swf create mode 100644 static/js/lib/cmp4/plugins/swf/line.swf create mode 100644 static/js/lib/cmp4/plugins/swf/mouse.swf create mode 100644 static/js/lib/cmp4/plugins/swf/star.swf create mode 100644 static/js/lib/cmp4/plugins/swf/wenzi.swf create mode 100644 static/js/lib/cmp4/skins/movie/qqplayer.zip create mode 100644 static/js/lib/cmp4/skins/movie/tvlive.zip create mode 100644 static/js/lib/cmp4/skins/movie/vplayer.zip create mode 100644 static/js/lib/cmp4/skins/movie/webplayer.zip create mode 100644 static/js/lib/cmp4/skins/movie/youtube.zip create mode 100644 static/js/lib/cmp4/skins/music/beveled.zip create mode 100644 static/js/lib/cmp4/skins/music/kuwo.zip create mode 100644 static/js/lib/cmp4/skins/music/manila.zip create mode 100644 static/js/lib/cmp4/skins/music/mp3player.zip create mode 100644 static/js/lib/cmp4/skins/music/qqmusic.zip create mode 100644 static/js/lib/cmp4/skins/music/somusic.zip create mode 100644 static/js/lib/cmp4/skins/music/ting.zip create mode 100644 static/js/lib/cmp4/skins/music/xdj.zip create mode 100644 static/js/lib/contextMenu/jquery-contextMenu.js create mode 100644 static/js/lib/jquery-1.8.0.min.js create mode 100644 static/js/lib/jquery-lib.js create mode 100644 static/js/lib/less-1.4.2.min.js create mode 100644 static/js/lib/picasa/picasa.js create mode 100644 static/js/lib/picasa/style/Picasa_Button.gif create mode 100644 static/js/lib/picasa/style/loading.gif create mode 100644 static/js/lib/picasa/style/style.css create mode 100644 static/js/lib/seajs/sea.js create mode 100644 static/js/lib/util.js create mode 100644 static/js/lib/webuploader/Uploader.swf create mode 100644 static/js/lib/webuploader/webuploader-min.js create mode 100644 static/js/lib/webuploader/webuploader.css create mode 100644 static/js/lib/webuploader/webuploader.js create mode 100644 static/js/lib/ztree/demo.html create mode 100644 static/js/lib/ztree/js/ztree.js create mode 100644 static/js/lib/ztree/style/img/line_conn.gif create mode 100644 static/js/lib/ztree/style/img/loading.gif create mode 100644 static/js/lib/ztree/style/img/zTreeStandard.gif create mode 100644 static/js/lib/ztree/style/img/zTreeStandard.png create mode 100644 static/js/lib/ztree/style/zTreeStyle.css create mode 100644 static/js/node_modules/grunt-cmd-concat/.jshintrc create mode 100644 static/js/node_modules/grunt-cmd-concat/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-concat/Gruntfile.js create mode 100644 static/js/node_modules/grunt-cmd-concat/LICENSE-MIT create mode 100644 static/js/node_modules/grunt-cmd-concat/README.md create mode 100644 static/js/node_modules/grunt-cmd-concat/examples/Gruntfile.js create mode 100644 static/js/node_modules/grunt-cmd-concat/examples/assets/foo.js create mode 100644 static/js/node_modules/grunt-cmd-concat/examples/demo/all.js create mode 100644 static/js/node_modules/grunt-cmd-concat/examples/demo/relative.js create mode 100644 static/js/node_modules/grunt-cmd-concat/examples/demo/self.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/.jshintrc create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/CONTRIBUTING.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/Makefile create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/README.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/docs/ast.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/docs/css.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/docs/iduri.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/index.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/lib/ast.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/lib/css.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/lib/iduri.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/.bin/uglifyjs create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/.bin/uglifyjs.cmd create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/README.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/bin/uglifyjs create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/ast.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/compress.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/mozilla-ast.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/output.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/parse.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/scope.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/sourcemap.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/transform.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/lib/utils.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/bool.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/default_hash.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/default_singles.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/divide.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/line_count.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/nonopt.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/reflect.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/short.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/string.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/usage-options.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/example/xup.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/index.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/package.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/readme.markdown create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/test/_.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/test/_/argv.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/test/_/bin.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/test/parse.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/optimist/test/usage.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/README.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/mini-require.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/package.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/run-tests.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/package.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/arrays.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/blocks.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/conditionals.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/dead-code.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/debugger.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/drop-unused.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/issue-105.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/issue-12.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/issue-22.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/issue-44.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/issue-59.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/labels.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/loops.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/properties.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/sequences.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/compress/switch.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/test/run-tests.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/node_modules/uglify-js/tools/node.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/package.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/scripts/githooks/post-merge create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/scripts/githooks/pre-commit create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/scripts/nico.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/_require.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/ast.test.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/block.css create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/block.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/block.txt create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/comment.css create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/comment.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/comment.txt create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/id.css create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/id.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/id.txt create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/import.css create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/import.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/import.txt create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/mix.css create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/mix.json create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css-cases/mix.txt create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/css.test.js create mode 100644 static/js/node_modules/grunt-cmd-concat/node_modules/cmd-util/tests/iduri.test.js create mode 100644 static/js/node_modules/grunt-cmd-concat/package.json create mode 100644 static/js/node_modules/grunt-cmd-concat/tasks/concat.js create mode 100644 static/js/node_modules/grunt-cmd-concat/tasks/lib/script.js create mode 100644 static/js/node_modules/grunt-cmd-concat/tasks/lib/style.js create mode 100644 static/js/node_modules/grunt-cmd-concat/test/concat.test.js create mode 100644 static/js/node_modules/grunt-cmd-concat/test/expected/a.js create mode 100644 static/js/node_modules/grunt-cmd-concat/test/fixtures/a.js create mode 100644 static/js/node_modules/grunt-cmd-concat/test/fixtures/b.js create mode 100644 static/js/node_modules/grunt-cmd-concat/test/fixtures/bar.css create mode 100644 static/js/node_modules/grunt-cmd-concat/test/fixtures/base.css create mode 100644 static/js/node_modules/grunt-cmd-concat/test/fixtures/foo.css create mode 100644 static/js/node_modules/grunt-cmd-concat/test/fixtures/foo.js create mode 100644 static/js/node_modules/grunt-cmd-concat/test/sea-modules/alice/1.0.0/alice-debug.css create mode 100644 static/js/node_modules/grunt-cmd-concat/test/sea-modules/alice/1.0.0/alice.css create mode 100644 static/js/node_modules/grunt-cmd-transport/.jshintrc create mode 100644 static/js/node_modules/grunt-cmd-transport/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/Gruntfile.js create mode 100644 static/js/node_modules/grunt-cmd-transport/LICENSE-MIT create mode 100644 static/js/node_modules/grunt-cmd-transport/README.md create mode 100644 static/js/node_modules/grunt-cmd-transport/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/.bin/cleancss create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/.bin/cleancss.cmd create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/.bin/handlebars create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/.bin/handlebars.cmd create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/.bin/uglifyjs create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/.bin/uglifyjs.cmd create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/README.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/bin/cleancss create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/lib/clean.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/History.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/Makefile create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/Readme.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/node_modules/keypress/README.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/node_modules/keypress/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/node_modules/keypress/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/node_modules/keypress/test.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/node_modules/commander/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/clean-css/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/.jshintrc create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/CONTRIBUTING.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/Makefile create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/README.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/docs/ast.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/docs/css.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/docs/iduri.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/lib/ast.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/lib/css.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/lib/iduri.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/scripts/githooks/post-merge create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/scripts/githooks/pre-commit create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/scripts/nico.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/_require.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/ast.test.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/block.css create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/block.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/block.txt create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/comment.css create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/comment.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/comment.txt create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/id.css create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/id.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/id.txt create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/import.css create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/import.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/import.txt create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/mix.css create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/mix.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css-cases/mix.txt create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/css.test.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/cmd-util/tests/iduri.test.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/.jshintrc create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/.rspec create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/README.markdown create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/bin/handlebars create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/dist/handlebars.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/dist/handlebars.runtime.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/handlebars-source.gemspec create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/base.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/browser-prefix.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/browser-suffix.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/compiler/ast.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/compiler/base.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/compiler/compiler.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/compiler/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/compiler/parser.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/compiler/printer.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/compiler/visitor.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/runtime.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/source.rb create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/lib/handlebars/utils.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/min.sh create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/module-file-sizes.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/.bin/uglifyjs create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/.bin/uglifyjs.cmd create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/bool.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/boolean_double.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/boolean_single.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/default_hash.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/default_singles.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/divide.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/line_count.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/line_count_options.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/nonopt.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/reflect.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/short.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/string.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/usage-options.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/example/xup.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/README.markdown create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/center.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/meat.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/break.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/idleness.txt create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/wrap.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/readme.markdown create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/test/_.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/test/_/argv.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/test/_/bin.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/test/parse.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/optimist/test/usage.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/README.html create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/README.org create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/bin/uglifyjs create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/docstyle.css create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/lib/consolidator.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/lib/object-ast.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/lib/parse-js.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/lib/process.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/lib/squeeze-more.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/beautify.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/testparser.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/array1.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/array2.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/array3.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/array4.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/assignment.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/concatstring.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/const.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/forstatement.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/if.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue10.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue11.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue13.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue14.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue16.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue17.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue20.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue21.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue25.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue27.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue278.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue28.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue29.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue30.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue34.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue4.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue48.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue50.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue53.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue68.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue69.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/issue9.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/mangle.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/null_string.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/var.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/whitespace.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/expected/with.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/array1.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/array2.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/array3.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/array4.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/assignment.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/concatstring.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/const.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/forstatement.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/if.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/ifreturn.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue10.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue11.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue13.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue14.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue16.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue17.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue20.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue21.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue25.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue27.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue278.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue28.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue29.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue30.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue34.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue4.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue48.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue50.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue53.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue54.1.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue68.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue69.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/issue9.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/mangle.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/null_string.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/strict-equals.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/var.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/whitespace.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/compress/test/with.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/test/unit/scripts.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/269.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/app.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/embed-tokens.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto2.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/hoist.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument2.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/liftvars.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/test.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs2.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/uglify-js.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/test.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/README.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/bin/uglifyjs create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/ast.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/compress.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/mozilla-ast.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/output.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/parse.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/scope.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/sourcemap.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/transform.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/utils.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/bool.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_hash.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_singles.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/divide.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/nonopt.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/reflect.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/short.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/string.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/usage-options.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/xup.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/readme.markdown create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/argv.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/bin.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/parse.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/usage.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.travis.yml create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/README.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/mini-require.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/run-tests.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/arrays.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/blocks.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/conditionals.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/dead-code.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/debugger.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/drop-unused.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/issue-105.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/issue-12.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/issue-22.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/issue-44.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/issue-59.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/labels.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/loops.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/properties.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/sequences.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/compress/switch.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/run-tests.js create mode 100644 static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/tools/node.js create mode 100644 static/js/node_modules/grunt-cmd-transport/package.json create mode 100644 static/js/node_modules/grunt-cmd-transport/tasks/lib/script.js create mode 100644 static/js/node_modules/grunt-cmd-transport/tasks/lib/style.js create mode 100644 static/js/node_modules/grunt-cmd-transport/tasks/lib/template.js create mode 100644 static/js/node_modules/grunt-cmd-transport/tasks/lib/text.js create mode 100644 static/js/node_modules/grunt-cmd-transport/tasks/transport.js create mode 100644 static/js/node_modules/grunt-contrib-clean/.jshintrc create mode 100644 static/js/node_modules/grunt-contrib-clean/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-clean/.travis.yml create mode 100644 static/js/node_modules/grunt-contrib-clean/AUTHORS create mode 100644 static/js/node_modules/grunt-contrib-clean/CHANGELOG create mode 100644 static/js/node_modules/grunt-contrib-clean/CONTRIBUTING.md create mode 100644 static/js/node_modules/grunt-contrib-clean/Gruntfile.js create mode 100644 static/js/node_modules/grunt-contrib-clean/LICENSE-MIT create mode 100644 static/js/node_modules/grunt-contrib-clean/README.md create mode 100644 static/js/node_modules/grunt-contrib-clean/docs/clean-examples.md create mode 100644 static/js/node_modules/grunt-contrib-clean/docs/clean-options.md create mode 100644 static/js/node_modules/grunt-contrib-clean/docs/clean-overview.md create mode 100644 static/js/node_modules/grunt-contrib-clean/docs/overview.md create mode 100644 static/js/node_modules/grunt-contrib-clean/package.json create mode 100644 static/js/node_modules/grunt-contrib-clean/tasks/clean.js create mode 100644 static/js/node_modules/grunt-contrib-clean/test/clean_test.js create mode 100644 static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_long/long.txt create mode 100644 static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_short/short.txt create mode 100644 static/js/node_modules/grunt-contrib-uglify/.jshintrc create mode 100644 static/js/node_modules/grunt-contrib-uglify/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-uglify/.travis.yml create mode 100644 static/js/node_modules/grunt-contrib-uglify/AUTHORS create mode 100644 static/js/node_modules/grunt-contrib-uglify/CHANGELOG create mode 100644 static/js/node_modules/grunt-contrib-uglify/CONTRIBUTING.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/Gruntfile.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/LICENSE-MIT create mode 100644 static/js/node_modules/grunt-contrib-uglify/README.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/docs/uglify-examples.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/docs/uglify-options.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/docs/uglify-overview.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/.bin/uglifyjs create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.gitattributes create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.jshintrc create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.travis.yml create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/AUTHORS create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/CHANGELOG create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/Gruntfile.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/LICENSE-MIT create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/README.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/lib/contrib.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/index.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/readme.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/test/zlib.test.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/zlib.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/test/lib_test.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/README.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/bin/uglifyjs create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/ast.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/compress.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/mozilla-ast.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/output.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/scope.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/sourcemap.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/transform.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/utils.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/.travis.yml create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/LICENSE create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/bool.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_hash.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_singles.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/divide.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/nonopt.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/reflect.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/short.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/string.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/usage-options.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/xup.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/index.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/readme.markdown create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/argv.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/bin.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/parse.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/usage.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.travis.yml create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/LICENSE create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/README.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/mini-require.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/run-tests.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/arrays.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/blocks.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/conditionals.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/dead-code.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/debugger.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/drop-unused.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/issue-105.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/issue-12.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/issue-22.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/issue-44.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/issue-59.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/labels.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/loops.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/properties.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/sequences.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/compress/switch.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/run-tests.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/tools/node.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/package.json create mode 100644 static/js/node_modules/grunt-contrib-uglify/tasks/lib/uglify.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/tasks/uglify.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/comments.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_beautify.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_except.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_sourcemap create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/exportAll.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multifile.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.map create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.map create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemap_prefix create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapurl.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/wrap.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/comments.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.coffee create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.js create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.map create mode 100644 static/js/node_modules/grunt-contrib-uglify/test/uglify_test.js create mode 100644 static/js/node_modules/grunt/.npmignore create mode 100644 static/js/node_modules/grunt/CONTRIBUTING.md create mode 100644 static/js/node_modules/grunt/LICENSE-MIT create mode 100644 static/js/node_modules/grunt/README.md create mode 100644 static/js/node_modules/grunt/internal-tasks/bump.js create mode 100644 static/js/node_modules/grunt/internal-tasks/subgrunt.js create mode 100644 static/js/node_modules/grunt/lib/grunt.js create mode 100644 static/js/node_modules/grunt/lib/grunt/cli.js create mode 100644 static/js/node_modules/grunt/lib/grunt/config.js create mode 100644 static/js/node_modules/grunt/lib/grunt/event.js create mode 100644 static/js/node_modules/grunt/lib/grunt/fail.js create mode 100644 static/js/node_modules/grunt/lib/grunt/file.js create mode 100644 static/js/node_modules/grunt/lib/grunt/help.js create mode 100644 static/js/node_modules/grunt/lib/grunt/log.js create mode 100644 static/js/node_modules/grunt/lib/grunt/option.js create mode 100644 static/js/node_modules/grunt/lib/grunt/task.js create mode 100644 static/js/node_modules/grunt/lib/grunt/template.js create mode 100644 static/js/node_modules/grunt/lib/grunt/util.js create mode 100644 static/js/node_modules/grunt/lib/util/task.js create mode 100644 static/js/node_modules/grunt/node_modules/.bin/cake create mode 100644 static/js/node_modules/grunt/node_modules/.bin/cake.cmd create mode 100644 static/js/node_modules/grunt/node_modules/.bin/coffee create mode 100644 static/js/node_modules/grunt/node_modules/.bin/coffee.cmd create mode 100644 static/js/node_modules/grunt/node_modules/.bin/js-yaml create mode 100644 static/js/node_modules/grunt/node_modules/.bin/js-yaml.cmd create mode 100644 static/js/node_modules/grunt/node_modules/.bin/nopt create mode 100644 static/js/node_modules/grunt/node_modules/.bin/nopt.cmd create mode 100644 static/js/node_modules/grunt/node_modules/.bin/which create mode 100644 static/js/node_modules/grunt/node_modules/.bin/which.cmd create mode 100644 static/js/node_modules/grunt/node_modules/async/.gitmodules create mode 100644 static/js/node_modules/grunt/node_modules/async/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/async/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/async/Makefile create mode 100644 static/js/node_modules/grunt/node_modules/async/README.md create mode 100644 static/js/node_modules/grunt/node_modules/async/index.js create mode 100644 static/js/node_modules/grunt/node_modules/async/lib/async.js create mode 100644 static/js/node_modules/grunt/node_modules/async/package.json create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/CNAME create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/README create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/Rakefile create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/bin/cake create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/bin/coffee create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/extras/jsl.conf create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js create mode 100644 static/js/node_modules/grunt/node_modules/coffee-script/package.json create mode 100644 static/js/node_modules/grunt/node_modules/colors/MIT-LICENSE.txt create mode 100644 static/js/node_modules/grunt/node_modules/colors/ReadMe.md create mode 100644 static/js/node_modules/grunt/node_modules/colors/colors.js create mode 100644 static/js/node_modules/grunt/node_modules/colors/example.html create mode 100644 static/js/node_modules/grunt/node_modules/colors/example.js create mode 100644 static/js/node_modules/grunt/node_modules/colors/package.json create mode 100644 static/js/node_modules/grunt/node_modules/colors/test.js create mode 100644 static/js/node_modules/grunt/node_modules/colors/themes/winston-dark.js create mode 100644 static/js/node_modules/grunt/node_modules/colors/themes/winston-light.js create mode 100644 static/js/node_modules/grunt/node_modules/dateformat/Readme.md create mode 100644 static/js/node_modules/grunt/node_modules/dateformat/lib/dateformat.js create mode 100644 static/js/node_modules/grunt/node_modules/dateformat/package.json create mode 100644 static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js create mode 100644 static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.sh create mode 100644 static/js/node_modules/grunt/node_modules/eventemitter2/README.md create mode 100644 static/js/node_modules/grunt/node_modules/eventemitter2/index.js create mode 100644 static/js/node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js create mode 100644 static/js/node_modules/grunt/node_modules/eventemitter2/package.json create mode 100644 static/js/node_modules/grunt/node_modules/exit/.jshintrc create mode 100644 static/js/node_modules/grunt/node_modules/exit/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/exit/.travis.yml create mode 100644 static/js/node_modules/grunt/node_modules/exit/Gruntfile.js create mode 100644 static/js/node_modules/grunt/node_modules/exit/LICENSE-MIT create mode 100644 static/js/node_modules/grunt/node_modules/exit/README.md create mode 100644 static/js/node_modules/grunt/node_modules/exit/lib/exit.js create mode 100644 static/js/node_modules/grunt/node_modules/exit/package.json create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/exit_test.js create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stderr.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout-stderr.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stderr.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout-stderr.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stderr.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout-stderr.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout.txt create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/create-files.sh create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js create mode 100644 static/js/node_modules/grunt/node_modules/exit/test/fixtures/log.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/.jshintrc create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/Gruntfile.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/LICENSE-MIT create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/README.md create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/README.md create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.min.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.min.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.min.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/package.json create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/package.json create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a.txt create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/b/bar.txt create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/foo.txt create mode 100644 static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt create mode 100644 static/js/node_modules/grunt/node_modules/getobject/.jshintrc create mode 100644 static/js/node_modules/grunt/node_modules/getobject/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/getobject/.travis.yml create mode 100644 static/js/node_modules/grunt/node_modules/getobject/Gruntfile.js create mode 100644 static/js/node_modules/grunt/node_modules/getobject/LICENSE-MIT create mode 100644 static/js/node_modules/grunt/node_modules/getobject/README.md create mode 100644 static/js/node_modules/grunt/node_modules/getobject/lib/getobject.js create mode 100644 static/js/node_modules/grunt/node_modules/getobject/package.json create mode 100644 static/js/node_modules/grunt/node_modules/getobject/test/namespace_test.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/glob/.travis.yml create mode 100644 static/js/node_modules/grunt/node_modules/glob/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/glob/README.md create mode 100644 static/js/node_modules/grunt/node_modules/glob/examples/g.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/examples/usr-local.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/glob.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/README.md create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/README.md create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json create mode 100644 static/js/node_modules/grunt/node_modules/glob/package.json create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/00-setup.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/bash-comparison.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/bash-results.json create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/cwd-test.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/mark.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/nocase-nomagic.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/pause-resume.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/root-nomount.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/root.js create mode 100644 static/js/node_modules/grunt/node_modules/glob/test/zz-cleanup.js create mode 100644 static/js/node_modules/grunt/node_modules/hooker/LICENSE-MIT create mode 100644 static/js/node_modules/grunt/node_modules/hooker/README.md create mode 100644 static/js/node_modules/grunt/node_modules/hooker/child.js create mode 100644 static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.js create mode 100644 static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js create mode 100644 static/js/node_modules/grunt/node_modules/hooker/grunt.js create mode 100644 static/js/node_modules/grunt/node_modules/hooker/lib/hooker.js create mode 100644 static/js/node_modules/grunt/node_modules/hooker/package.json create mode 100644 static/js/node_modules/grunt/node_modules/hooker/parent.js create mode 100644 static/js/node_modules/grunt/node_modules/hooker/test/hooker_test.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/.travis.yml create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/README.md create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/README.md~ create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/encodings/big5.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/index.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/package.json create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/big5-test.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/big5File.txt create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/gbkFile.txt create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/main-test.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/performance.js create mode 100644 static/js/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/HISTORY.md create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/README.md create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.json create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/index.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse.cmd create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate.cmd create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings_standalone.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test.html create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jquery.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.css create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/underscore.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/.travis.yml create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CNAME create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CONTRIBUTING.md create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/favicon.ico create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.html create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js create mode 100644 static/js/node_modules/grunt/node_modules/js-yaml/package.json create mode 100644 static/js/node_modules/grunt/node_modules/lodash/README.md create mode 100644 static/js/node_modules/grunt/node_modules/lodash/lodash.js create mode 100644 static/js/node_modules/grunt/node_modules/lodash/lodash.min.js create mode 100644 static/js/node_modules/grunt/node_modules/lodash/lodash.underscore.js create mode 100644 static/js/node_modules/grunt/node_modules/lodash/lodash.underscore.min.js create mode 100644 static/js/node_modules/grunt/node_modules/lodash/package.json create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/README.md create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/minimatch.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/package.json create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/test/basic.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/test/brace-expand.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/test/caching.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/test/defaults.js create mode 100644 static/js/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js create mode 100644 static/js/node_modules/grunt/node_modules/nopt/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/nopt/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/nopt/README.md create mode 100644 static/js/node_modules/grunt/node_modules/nopt/bin/nopt.js create mode 100644 static/js/node_modules/grunt/node_modules/nopt/examples/my-program.js create mode 100644 static/js/node_modules/grunt/node_modules/nopt/lib/nopt.js create mode 100644 static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md create mode 100644 static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/lib/abbrev.js create mode 100644 static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json create mode 100644 static/js/node_modules/grunt/node_modules/nopt/package.json create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/AUTHORS create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/README.md create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/.npmignore create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/README.md create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/package.json create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/test/open.js create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/package.json create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/rimraf.js create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/test/run.sh create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/test/setup.sh create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/test/test-async.js create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/test/test-fiber.js create mode 100644 static/js/node_modules/grunt/node_modules/rimraf/test/test-sync.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/.travis.yml create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/Gemfile create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/Gemfile.lock create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/README.markdown create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/Rakefile create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/lib/underscore.string.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/package.json create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/speed.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/strings.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/strings_standalone.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test.html create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jquery.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.css create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.js create mode 100644 static/js/node_modules/grunt/node_modules/underscore.string/test/underscore.js create mode 100644 static/js/node_modules/grunt/node_modules/which/LICENSE create mode 100644 static/js/node_modules/grunt/node_modules/which/README.md create mode 100644 static/js/node_modules/grunt/node_modules/which/bin/which create mode 100644 static/js/node_modules/grunt/node_modules/which/package.json create mode 100644 static/js/node_modules/grunt/node_modules/which/which.js create mode 100644 static/js/node_modules/grunt/package.json create mode 100644 static/js/package.json create mode 100644 static/js/readme.txt create mode 100644 static/style/base.less create mode 100644 static/style/bootstrap.css create mode 100644 static/style/font-awesome/Font Awesome Icons.url create mode 100644 static/style/font-awesome/demo.html create mode 100644 static/style/font-awesome/font/FontAwesome.otf create mode 100644 static/style/font-awesome/font/fontawesome-webfont.eot create mode 100644 static/style/font-awesome/font/fontawesome-webfont.svg create mode 100644 static/style/font-awesome/font/fontawesome-webfont.ttf create mode 100644 static/style/font-awesome/font/fontawesome-webfont.woff create mode 100644 static/style/font-awesome/style.css create mode 100644 static/style/login.css create mode 100644 static/style/skin/common.less create mode 100644 static/style/skin/default/app_code_edit.css create mode 100644 static/style/skin/default/app_code_edit.less create mode 100644 static/style/skin/default/app_desktop.css create mode 100644 static/style/skin/default/app_desktop.less create mode 100644 static/style/skin/default/app_editor.css create mode 100644 static/style/skin/default/app_editor.less create mode 100644 static/style/skin/default/app_explorer.css create mode 100644 static/style/skin/default/app_explorer.less create mode 100644 static/style/skin/default/app_setting.css create mode 100644 static/style/skin/default/app_setting.less create mode 100644 static/style/skin/default/button.less create mode 100644 static/style/skin/default/config.less create mode 100644 static/style/skin/default/dialog.less create mode 100644 static/style/skin/default/filelist.less create mode 100644 static/style/skin/default/images/air.png create mode 100644 static/style/skin/default/images/avi.png create mode 100644 static/style/skin/default/images/cmd.png create mode 100644 static/style/skin/default/images/code.png create mode 100644 static/style/skin/default/images/cpp.png create mode 100644 static/style/skin/default/images/css.png create mode 100644 static/style/skin/default/images/dialog/btn-close.png create mode 100644 static/style/skin/default/images/dialog/btn-max.png create mode 100644 static/style/skin/default/images/dialog/btn-min.png create mode 100644 static/style/skin/default/images/dialog/btn-reg.png create mode 100644 static/style/skin/default/images/dialog/dialog.png create mode 100644 static/style/skin/default/images/dll.png create mode 100644 static/style/skin/default/images/doc.png create mode 100644 static/style/skin/default/images/exe.png create mode 100644 static/style/skin/default/images/file.png create mode 100644 static/style/skin/default/images/fla.png create mode 100644 static/style/skin/default/images/flv.png create mode 100644 static/style/skin/default/images/folder.png create mode 100644 static/style/skin/default/images/html.png create mode 100644 static/style/skin/default/images/ini.png create mode 100644 static/style/skin/default/images/js.png create mode 100644 static/style/skin/default/images/mdb.png create mode 100644 static/style/skin/default/images/mp3.png create mode 100644 static/style/skin/default/images/pdf.png create mode 100644 static/style/skin/default/images/php.png create mode 100644 static/style/skin/default/images/ppt.png create mode 100644 static/style/skin/default/images/psd.png create mode 100644 static/style/skin/default/images/py.png create mode 100644 static/style/skin/default/images/rar.png create mode 100644 static/style/skin/default/images/rb.png create mode 100644 static/style/skin/default/images/svg.png create mode 100644 static/style/skin/default/images/swf.png create mode 100644 static/style/skin/default/images/ttf.png create mode 100644 static/style/skin/default/images/txt.png create mode 100644 static/style/skin/default/images/wmv.png create mode 100644 static/style/skin/default/images/xls.png create mode 100644 static/style/skin/default/images/xml.png create mode 100644 static/style/skin/default/images/zip.png create mode 100644 static/style/skin/default/right_menu.less create mode 100644 static/style/skin/default/tree.less create mode 100644 static/style/skin/metro/app_code_edit.css create mode 100644 static/style/skin/metro/app_code_edit.less create mode 100644 static/style/skin/metro/app_desktop.css create mode 100644 static/style/skin/metro/app_desktop.less create mode 100644 static/style/skin/metro/app_editor.css create mode 100644 static/style/skin/metro/app_editor.less create mode 100644 static/style/skin/metro/app_explorer.css create mode 100644 static/style/skin/metro/app_explorer.less create mode 100644 static/style/skin/metro/app_setting.css create mode 100644 static/style/skin/metro/app_setting.less create mode 100644 static/style/skin/metro/blue_app_code_edit.css create mode 100644 static/style/skin/metro/blue_app_desktop.css create mode 100644 static/style/skin/metro/blue_app_editor.css create mode 100644 static/style/skin/metro/blue_app_explorer.css create mode 100644 static/style/skin/metro/blue_app_setting.css create mode 100644 static/style/skin/metro/button.less create mode 100644 static/style/skin/metro/config.less create mode 100644 static/style/skin/metro/dialog.less create mode 100644 static/style/skin/metro/filelist.less create mode 100644 static/style/skin/metro/green_app_code_edit.css create mode 100644 static/style/skin/metro/green_app_desktop.css create mode 100644 static/style/skin/metro/green_app_editor.css create mode 100644 static/style/skin/metro/green_app_explorer.css create mode 100644 static/style/skin/metro/green_app_setting.css create mode 100644 static/style/skin/metro/grey_app_code_edit.css create mode 100644 static/style/skin/metro/grey_app_desktop.css create mode 100644 static/style/skin/metro/grey_app_editor.css create mode 100644 static/style/skin/metro/grey_app_explorer.css create mode 100644 static/style/skin/metro/grey_app_setting.css create mode 100644 static/style/skin/metro/images/air.png create mode 100644 static/style/skin/metro/images/avi.png create mode 100644 static/style/skin/metro/images/cmd.png create mode 100644 static/style/skin/metro/images/code.png create mode 100644 static/style/skin/metro/images/cpp.png create mode 100644 static/style/skin/metro/images/css.png create mode 100644 static/style/skin/metro/images/dll.png create mode 100644 static/style/skin/metro/images/doc.png create mode 100644 static/style/skin/metro/images/exe.png create mode 100644 static/style/skin/metro/images/file.png create mode 100644 static/style/skin/metro/images/fla.png create mode 100644 static/style/skin/metro/images/flv.png create mode 100644 static/style/skin/metro/images/folder.png create mode 100644 static/style/skin/metro/images/html.png create mode 100644 static/style/skin/metro/images/ini.png create mode 100644 static/style/skin/metro/images/js.png create mode 100644 static/style/skin/metro/images/mdb.png create mode 100644 static/style/skin/metro/images/mp3.png create mode 100644 static/style/skin/metro/images/pdf.png create mode 100644 static/style/skin/metro/images/php.png create mode 100644 static/style/skin/metro/images/ppt.png create mode 100644 static/style/skin/metro/images/psd.png create mode 100644 static/style/skin/metro/images/py.png create mode 100644 static/style/skin/metro/images/rar.png create mode 100644 static/style/skin/metro/images/rb.png create mode 100644 static/style/skin/metro/images/svg.png create mode 100644 static/style/skin/metro/images/swf.png create mode 100644 static/style/skin/metro/images/ttf.png create mode 100644 static/style/skin/metro/images/txt.png create mode 100644 static/style/skin/metro/images/wmv.png create mode 100644 static/style/skin/metro/images/xls.png create mode 100644 static/style/skin/metro/images/xml.png create mode 100644 static/style/skin/metro/images/zip.png create mode 100644 static/style/skin/metro/leaf_app_code_edit.css create mode 100644 static/style/skin/metro/leaf_app_desktop.css create mode 100644 static/style/skin/metro/leaf_app_editor.css create mode 100644 static/style/skin/metro/leaf_app_explorer.css create mode 100644 static/style/skin/metro/leaf_app_setting.css create mode 100644 static/style/skin/metro/orange_app_code_edit.css create mode 100644 static/style/skin/metro/orange_app_desktop.css create mode 100644 static/style/skin/metro/orange_app_editor.css create mode 100644 static/style/skin/metro/orange_app_explorer.css create mode 100644 static/style/skin/metro/orange_app_setting.css create mode 100644 static/style/skin/metro/pink_app_code_edit.css create mode 100644 static/style/skin/metro/pink_app_desktop.css create mode 100644 static/style/skin/metro/pink_app_editor.css create mode 100644 static/style/skin/metro/pink_app_explorer.css create mode 100644 static/style/skin/metro/pink_app_setting.css create mode 100644 static/style/skin/metro/purple_app_code_edit.css create mode 100644 static/style/skin/metro/purple_app_desktop.css create mode 100644 static/style/skin/metro/purple_app_editor.css create mode 100644 static/style/skin/metro/purple_app_explorer.css create mode 100644 static/style/skin/metro/purple_app_setting.css create mode 100644 static/style/skin/metro/right_menu.less create mode 100644 static/style/skin/metro/tree.less create mode 100644 static/style/skin/simple/app_code_edit.css create mode 100644 static/style/skin/simple/app_code_edit.less create mode 100644 static/style/skin/simple/app_desktop.css create mode 100644 static/style/skin/simple/app_desktop.less create mode 100644 static/style/skin/simple/app_editor.css create mode 100644 static/style/skin/simple/app_editor.less create mode 100644 static/style/skin/simple/app_explorer.css create mode 100644 static/style/skin/simple/app_explorer.less create mode 100644 static/style/skin/simple/app_setting.css create mode 100644 static/style/skin/simple/app_setting.less create mode 100644 static/style/skin/simple/button.less create mode 100644 static/style/skin/simple/config.less create mode 100644 static/style/skin/simple/dialog.less create mode 100644 static/style/skin/simple/filelist.less create mode 100644 static/style/skin/simple/images/air.png create mode 100644 static/style/skin/simple/images/avi.png create mode 100644 static/style/skin/simple/images/cmd.png create mode 100644 static/style/skin/simple/images/code.png create mode 100644 static/style/skin/simple/images/cpp.png create mode 100644 static/style/skin/simple/images/css.png create mode 100644 static/style/skin/simple/images/dll.png create mode 100644 static/style/skin/simple/images/doc.png create mode 100644 static/style/skin/simple/images/exe.png create mode 100644 static/style/skin/simple/images/file.png create mode 100644 static/style/skin/simple/images/fla.png create mode 100644 static/style/skin/simple/images/flv.png create mode 100644 static/style/skin/simple/images/folder.png create mode 100644 static/style/skin/simple/images/html.png create mode 100644 static/style/skin/simple/images/ini.png create mode 100644 static/style/skin/simple/images/js.png create mode 100644 static/style/skin/simple/images/mdb.png create mode 100644 static/style/skin/simple/images/mp3.png create mode 100644 static/style/skin/simple/images/pdf.png create mode 100644 static/style/skin/simple/images/php.png create mode 100644 static/style/skin/simple/images/ppt.png create mode 100644 static/style/skin/simple/images/psd.png create mode 100644 static/style/skin/simple/images/py.png create mode 100644 static/style/skin/simple/images/rar.png create mode 100644 static/style/skin/simple/images/rb.png create mode 100644 static/style/skin/simple/images/svg.png create mode 100644 static/style/skin/simple/images/swf.png create mode 100644 static/style/skin/simple/images/ttf.png create mode 100644 static/style/skin/simple/images/txt.png create mode 100644 static/style/skin/simple/images/wmv.png create mode 100644 static/style/skin/simple/images/xls.png create mode 100644 static/style/skin/simple/images/xml.png create mode 100644 static/style/skin/simple/images/zip.png create mode 100644 static/style/skin/simple/right_menu.less create mode 100644 static/style/skin/simple/tree.less create mode 100644 template/app/index.php create mode 100644 template/common/navbar.html create mode 100644 template/desktop/index.php create mode 100644 template/editor/edit.php create mode 100644 template/editor/editor.php create mode 100644 template/explorer/index.php create mode 100644 template/setting/index.php create mode 100644 template/setting/slider/about.php create mode 100644 template/setting/slider/fav.php create mode 100644 template/setting/slider/help.php create mode 100644 template/setting/slider/member.php create mode 100644 template/setting/slider/player.php create mode 100644 template/setting/slider/theme.php create mode 100644 template/setting/slider/user.php create mode 100644 template/setting/slider/wall.php create mode 100644 template/user/login.html create mode 100644 todo.txt diff --git a/config/config.php b/config/config.php new file mode 100644 index 0000000..e417c4c --- /dev/null +++ b/config/config.php @@ -0,0 +1,73 @@ +'user','function'=>'loginCheck'), + array('controller'=>'user','function'=>'authCheck'), +); \ No newline at end of file diff --git a/config/setting.php b/config/setting.php new file mode 100644 index 0000000..83b2423 --- /dev/null +++ b/config/setting.php @@ -0,0 +1,51 @@ + "default/:areo blue:default,simple/:simple:simple,metro/:metro:metro,metro/blue_:metro-blue:color, metro/leaf_:metro-green:color,metro/green_:metro-green+:color,metro/grey_:metro-grey:color,metro/purple_:metro-purple:color,metro/pink_:metro-pink:color,metro/orange_:metro-orange:color", + 'codethemeall' => "chrome,clouds,crimson_editor,eclipse,github,solarized_light,tomorrow,xcode,ambiance,idle_fingers,monokai,pastel_on_dark,solarized_dark,tomorrow_night_blue,tomorrow_night_eighties", + 'wallall' => "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15", + 'musicthemeall' => "ting,beveled,kuwo,manila,mp3player,qqmusic,somusic,xdj", + 'moviethemeall' => "webplayer,qqplayer,vplayer,tvlive,youtube" +); +$config['setting_all']['language'] = "en:English,zh_CN:简体中文,zh_TW:簡體中文"; + +// 默认配置 +$config['setting_default'] = array( + 'list_type' => "icon", // list||icon + 'list_sort_field' => "mtime", // name||size||ext||mtime + 'list_sort_order' => "up", // asc||desc + 'theme' => "metro/", // app theme + 'codetheme' => "github", // code editor theme + 'wall' => "1", // wall picture + 'musictheme' => "mp3player", // music player theme + 'movietheme' => "webplayer" // movie player theme +); + +// 默认配置 +$config['system_file'] = array( + 'member'=> USER_SYSTEM.'member.php', + 'group' => USER_SYSTEM.'group.php', + 'apps' => USER_SYSTEM.'apps.php' +); + +//权限路由配置;精确到需要做权限控制的控制器和方法 +$config['role_setting'] = array( + 'explorer' => array( + 'mkdir','mkfile','pathRname','pathDelete','zip','unzip','pathCopy', + 'pathCute','pathCuteDrag','clipboard','pathPast','pathInfo', + 'pathInfoMuti','serverDownload','fileUpload','search'), + 'app' => array('user_app','add','edit','del'),// + 'user' => array('changePassword'),//可以设立公用账户 + 'editor' => array('fileSave'), + 'setting' => array('set'), + 'fav' => array('add','del','edit'), + 'member' => array('get','add','del','edit'), + 'group' => array('get','add','del','edit'), +); diff --git a/config/version.php b/config/version.php new file mode 100644 index 0000000..423e13a --- /dev/null +++ b/config/version.php @@ -0,0 +1,2 @@ +sql=new fileCache($this->config['system_file']['apps']); + } + + /** + * 用户首页展示 + */ + public function index() { + $this->display(TEMPLATE.'app/index.php'); + } + + /** + * 用户app 添加、编辑 + */ + public function user_app() { + $path = _DIR($this->in['path']); + if ($this->in['action'] == 'add'){ + $path .= '.oexe'; + + } + $data = json_decode(rawurldecode($this->in['data']),true); + unset($data['name']);unset($data['desc']);unset($data['group']); + + $res = file_put_contents($path, json_encode($data)); + show_json($this->L['success']); + } + + /** + * 获取列表 + */ + public function get() { + $list = array(); + if (!$this->in['group'] || $this->in['group']=='all') { + $list = $this->sql->get(); + }else{ + $list = $this->sql->get('group','',$this->in['group']); + } + $list = array_reverse($list); + show_json($list); + } + + /** + * 添加 + */ + public function add() { + if (!$GLOBALS['is_root']) show_json($this->L['no_permission'],false); + $res=$this->sql->add(rawurldecode($this->in['name']),$this->_init()); + if($res) show_json($this->L['success']); + show_json($this->L['error_repeat'],false); + } + + /** + * 编辑 + */ + public function edit() { + if (!$GLOBALS['is_root']) show_json($this->L['no_permission'],false); + //查找到一条记录,修改为该数组 + if($this->sql->replace_update( + rawurldecode($this->in['old_name']), + rawurldecode($this->in['name']),$this->_init())){ + show_json($this->L['success']); + } + show_json($this->L['error_repeat'],false); + } + /** + * 删除 + */ + public function del() { + if (!$GLOBALS['is_root']) show_json($this->L['no_permission'],false); + if($this->sql->delete(rawurldecode($this->in['name']))){ + show_json($this->L['success']); + } + show_json($this->L['error'],false); + } + + + + private function _init(){ + return json_decode(rawurldecode($this->in['data'])); + } + + /** + * 用户app初始化 + */ + public function init_app($user) { + $sql=new fileCache($this->config['system_file']['apps']); + $list = $sql->get(); + $desktop = USER_PATH.$user.'/home/desktop/'; + foreach ($list as $key => $data) { + //touch($path); + $path = iconv_system($desktop.$key.'.oexe'); + unset($data['name']); + unset($data['desc']); + unset($data['group']); + file_put_contents($path, json_encode($data)); + } + } +} diff --git a/controller/debug.class.php b/controller/debug.class.php new file mode 100644 index 0000000..d4c7c8d --- /dev/null +++ b/controller/debug.class.php @@ -0,0 +1,247 @@ +path_app = BASIC_PATH; + $this->parent = dirname(BASIC_PATH); + $this->path_to = $this->parent.'/release'; + $this->zip_to = $this->parent.'/tag/kodexplorer'.KOD_VERSION.'.zip'; + parent::__construct(); + } + /** + * 首页 + */ + public function index() { + echo ''; + debug_out(HOST,WEB_ROOT,BASIC_PATH,APPHOST,$config,$_COOKIE,$_SESSION,$_SERVER); + } + function less(){ + header("Content-type: text/html; charset=utf-8"); + ob_end_clean(); + echo str_pad('',1024); + echo '

开始编译less


';flush(); + $this->_less(); + echo '成功!
';flush(); + } + + function export(){ + header("Content-type: text/html; charset=utf-8"); + ob_end_clean(); //在循环输出前,要关闭输出缓冲区 + echo str_pad('',1024); //浏览器在接受输出一定长度内容之前不会显示缓冲输出 + + echo '

开始导出!


删除初始文件


';flush(); + del_dir($this->path_to); + echo '删除完成!

删除成功,开始编译less


';flush(); + //$this->_less(); + echo '编译成功!

开始复制文件


';flush(); + $this->_fileInit(); + echo '复制成功!

删除开发相关文件


';flush(); + $this->_remove(); + echo '删除成功!

开始替换模板种less相关内容


';flush(); + $this->_fileReplace(); + echo '替换成功!

打包程序


';flush(); + + load_class('pclzip'); + ini_set('memory_limit', '2028M');//2G; + $archive = new PclZip($this->zip_to); + $v_list = $archive->create($this->path_to,PCLZIP_OPT_REMOVE_PATH,$this->parent.'/kod_export'); + echo '打包成功!

初始化配置文件


';flush(); + + $this->_initUser(); + echo '更新成功!

导出处理完成!^_^

';flush(); + } + + //---------------------------- + function _less(){ + load_class('lessc.inc'); + $path = BASIC_PATH.'static/style/skin/'; + $app_theme = array('default','metro','simple'); + $app_less = array( + 'app_code_edit', + 'app_desktop', + 'app_editor', + 'app_explorer', + 'app_setting' + ); + $num = count($app_theme)*count($app_less);$i=1; + foreach($app_theme as $theme){ + foreach($app_less as $app){ + $less = new lessc(); + $path_in = $path.$theme.'/'.$app.'.less'; + $path_out = $path.$theme.'/'.$app.'.css'; + try { + $cache = $less->cachedCompile($path_in); + $out = str_replace(array("{\n",";\n",",\n",' '), + array('{',';',',',' '),$cache["compiled"]); + file_put_contents($path_out,$out); + echo $path_out,' ...成功!('.$i++.'/'.$num.')','
'; + unset($less);unset($out); + }catch (exception $e) { + echo "

fatal error: " . $e->getMessage(),'

'; + } + flush(); + } + } + //编译metro多主题 + $color_arr = array( + 'blue' => '#5db2ff', + 'leaf' => '#03B3B2', + 'green' => '#008a17', + 'grey' => '#444', + 'purple' => '#8D3CC4', + 'pink' => '#DC4FAD', + 'orange' => '#FF8F32' + ); + + $config = $path.'metro/config.less'; + $file = file_get_contents($config); + preg_match('/\/\*replace_start\*\/(.*)\/\*replace_end/isU',$file,$res); + $default = $res[1]; + preg_match('/\/\*replace_start_color\*\/(.*)\/\*replace_end_color/isU',$file,$res2); + $new = $res2[1]; + foreach ($color_arr as $name => $color) { + $theme = preg_replace('/@main_color:(.*);/isU',"@main_color:".$color.";",$new); + $file_str = preg_replace('/\/\*replace_start\*\/(.*)\/\*replace_end/isU', + "/*replace_start*/".$theme."/*replace_end",$file); + file_put_contents($config,$file_str); + foreach($app_less as $app){ + $less = new lessc(); + $path_in = $path.'metro/'.$app.'.less'; + $path_out = $path.'metro/'.$name.'_'.$app.'.css'; + try { + $cache = $less->cachedCompile($path_in); + $out = str_replace(array("{\n",";\n",",\n",' '), + array('{',';',',',' '),$cache["compiled"]); + file_put_contents($path_out,$out); + echo $path_out,' ...成功!('.$i++.'/'.$num.')','
'; + }catch (exception $e) { + echo "

fatal error: " . $e->getMessage(),'

'; + } + flush(); + } + } + $file_str = preg_replace('/\/\*replace_start\*\/(.*)\/\*replace_end/isU', + "/*replace_start*/".$default."/*replace_end",$file); + file_put_contents($config,$file_str); + } + + function _fileInit(){ + mk_dir($this->path_to); + echo '
新建文件夹成功,开始复制文件';flush(); + copy_dir($this->path_app, $this->path_to); + echo '
复制文件成功,开始清除调试相关信息
';flush(); + echo $this->path_app,'
',$this->path_to; + } + // 删除 + function _remove(){ + $file_list = array( + $this->path_to.'/controller/debug.class.php', + $this->path_to.'/lib/class/lessc.inc.class.php', + $this->path_to.'/static/style/base.less', + $this->path_to.'/static/js/lib/less-1.4.2.min.js', + $this->path_to.'/static/js/lib/webuploader/webuploader.js', + $this->path_to.'/static/style/skin/common.less', + $this->path_to.'/static/js/Gruntfile.js', + $this->path_to.'/static/js/package.json', + $this->path_to.'/static/js/readme.txt', + $this->path_to.'/todo.txt', + ); + $path_list = array( + $this->path_to.'/data/log', + $this->path_to.'/data/User', + $this->path_to.'/data/thumb', + $this->path_to.'/static/js/_dev', + $this->path_to.'/static/js/app/update', + $this->path_to.'/static/js/node_modules' + ); + foreach($file_list as $val){ + del_file($val); + } + echo '
1.文件删除完成:';flush(); + mkdir($this->path_to.'/data/User'); + foreach($path_list as $val){ + del_dir($val); + } + echo '
2.文件夹删除完成:';flush(); + $path = $this->path_to.'/static/style/skin/'; + $app_theme = array('default','metro','simple'); + $app_less = array( + 'app_code_edit','app_desktop','app_editor','app_explorer','app_setting', + 'button','config','dialog','filelist','right_menu','tree' + ); + foreach($app_theme as $theme){ + foreach($app_less as $app){ + $temp = $path.$theme.'/'.$app.'.less'; + del_file($temp); + } + } + echo '
3.less文件删除完成
';flush(); + } + + // 删除less相关信息 + function _fileReplace(){ + $file_list = array( + $this->path_to.'/template/app/index.php', + $this->path_to.'/template/desktop/index.php', + $this->path_to.'/template/editor/edit.php', + $this->path_to.'/template/editor/editor.php', + $this->path_to.'/template/explorer/index.php', + $this->path_to.'/template/setting/index.php' + ); + foreach($file_list as $val){ + $content = file_get_contents($val); + $content = str_replace("",'',$content); + $content = str_replace("",'app',$content); + $content = preg_replace('/<\?php }else{\/\/less_compare_online \?>.*<\?php } \?>/isU','',$content); + file_put_contents($val,$content); + echo '
处理template文件:'.$val,'成功';flush(); + } + + $config = $this->path_to.'/config/config.php'; + $content = file_get_contents($config); + $content = str_replace('define(\'STATIC_JS\'.*','',$content); + $content = str_replace('define(\'STATIC_LESS\'.*','',$content); + file_put_contents($config,$content); + } + + // 默认用户初始化 admin/admin + function _initUser(){ + echo '
开始创建用户';flush(); + $root = array('home','recycle','data'); + $home = array('desktop','doc','download','image','movie','music'); + $user = array( + 'admin'=>array('admin','root'), + 'demo'=>array('demo','default'), + 'guest'=>array('guest','guest') + ); + + foreach ($user as $name => $v) { + $user_path = $this->path_to.'/data/User/'.$name.'/'; + mk_dir($user_path); + foreach ($root as $dir) { + mk_dir($user_path.$dir); + } + foreach ($home as $dir) { + mk_dir($user_path.'home/'.$dir); + } + fileCache::save($user_path.'data/config.php',$this->config['setting_default']); + + } + $this->_initUserData(); + } + function _initUserData(){ + echo '
初始化用户数据';flush(); + $role = '{"root":{"role":"root","name":"Administrator","path":"","ext_not_allow":""},"default":{"role":"default","name":"default","ext_not_allow":"php|asp|jsp","explorer:mkdir":1,"explorer:mkfile":1,"explorer:pathRname":1,"explorer:pathDelete":1,"explorer:zip":1,"explorer:unzip":1,"explorer:pathCopy":1,"explorer:pathCute":1,"explorer:pathCuteDrag":1,"explorer:clipboard":1,"explorer:pathPast":1,"explorer:pathInfo":1,"explorer:pathInfoMuti":1,"explorer:serverDownload":1,"explorer:fileUpload":1,"explorer:search":1,"app:user_app":1,"editor:fileSave":1},"guest":{"role":"guest","name":"guest","ext_not_allow":"php|asp|jsp"}}'; + $user = '{"admin":{"name":"admin","password":"21232f297a57a5a743894a0e4a801fc3","role":"root","status":0},"guest":{"name":"guest","password":"084e0343a0486ff05530df6c705c8bb4","role":"guest","status":0},"demo":{"name":"demo","password":"fe01ce2a7fbac8fafaed7c982a04e229","role":"default","status":0}}'; + file_put_contents($this->path_to.'/data/system/group.php',$role); + file_put_contents($this->path_to.'/data/system/member.php',$user); + } +} \ No newline at end of file diff --git a/controller/desktop.class.php b/controller/desktop.class.php new file mode 100644 index 0000000..2eef70a --- /dev/null +++ b/controller/desktop.class.php @@ -0,0 +1,33 @@ +tpl = TEMPLATE.'desktop/'; + } + + /** + * 首页 + */ + public function index() { + $wall = $this->config['user']['wall']; + if(strlen($wall)>3){ + $this->assign('wall',$wall); + }else{ + $this->assign('wall',STATIC_PATH.'images/wall_page/'.$wall.'.jpg'); + } + + $upload_max = get_post_max(); + $this->assign('upload_max',$upload_max); + $this->display('index.php'); + } +} diff --git a/controller/editor.class.php b/controller/editor.class.php new file mode 100644 index 0000000..a09ad83 --- /dev/null +++ b/controller/editor.class.php @@ -0,0 +1,78 @@ +tpl = TEMPLATE . 'editor/'; + } + + // 多文件编辑器 + public function index(){ + $this->display('editor.php'); + } + // 单文件编辑 + public function edit(){ + $this->display('edit.php'); + } + + // 获取文件数据 + public function fileGet(){ + $filename=_DIR($this->in['filename']); + if (!is_readable($filename)) show_json($this->L['no_permission'],false); + if (filesize($filename) >= 1024*1024*20) show_json($this->L['edit_too_big'],false); + + $filecontents=file_get_contents($filename);//文件内容 + $charset=$this->_get_charset($filecontents); + if ($charset!='' || $charset!='utf-8') { + $filecontents=mb_convert_encoding($filecontents,'utf-8',$charset); + } + $data = array( + 'ext' => end(explode('.',$filename)), + 'name' => iconv_app(end(explode('/',$filename))), + 'filename' => rawurldecode($this->in['filename']), + 'charset' => $charset, + 'content' => $filecontents + ); + show_json($data); + } + public function fileSave(){ + $filestr = rawurldecode($this->in['filestr']); + $charset = $this->in['charset']; + $path =_DIR($this->in['path']); + if (!is_writable($path)) show_json($this->L['no_permission'],false); + + if ($charset !='' || $charset != 'utf-8') { + $filestr=mb_convert_encoding($filestr,$this->in['charset'],'utf-8'); + } + $fp=fopen($path,'wb'); + fwrite($fp,$filestr); + fclose($fp); + show_json($this->L['save_success']); + } + //----------------------------------------------- + /* + * 获取字符串编码 + * @param:$ext 传入字符串 + */ + private function _get_charset(&$str) { + if ($str == '') return 'utf-8'; + //前面检测成功则,自动忽略后面 + $charset=strtolower(mb_detect_encoding($str,$this->config['check_charset'])); + if (substr($str,0,3)==chr(0xEF).chr(0xBB).chr(0xBF)){ + $charset='utf-8'; + }else if($charset=='cp936'){ + $charset='gbk'; + } + if ($charset == 'ascii') $charset = 'utf-8'; + return strtolower($charset); + } +} \ No newline at end of file diff --git a/controller/explorer.class.php b/controller/explorer.class.php new file mode 100644 index 0000000..6669cbf --- /dev/null +++ b/controller/explorer.class.php @@ -0,0 +1,501 @@ +tpl = TEMPLATE.'explorer/'; + if (isset($this->in['path'])) { + $this->path = _DIR($this->in['path']); + } + } + + public function index(){ + if($this->in['path'] !=''){ + $dir = $_GET['path']; + }else if(isset($_SESSION['this_path'])){ + $dir = $_SESSION['this_path']; + }else{ + $dir = '/';//首次进入系统,不带参数 + if ($GLOBALS['is_root']) $dir = WEB_ROOT; + } + $dir = rtrim($dir,'/').'/'; + $is_frame = false;//是否以iframe方式打开 + if ($this->in['type'] == 'iframe') $is_frame = true;// + $upload_max = get_post_max(); + $this->assign('upload_max',$upload_max); + $this->assign('is_frame',$is_frame); + $this->assign('dir',$dir); + $this->display('index.php'); + } + + public function pathInfo(){ + $path = $this->path; + $type=$this->in['type']; + if ($type=="folder"){ + $data = path_info($path,$this->L['time_type_info']); + }else{ + $data = file_info($path,$this->L['time_type_info']); + } + show_json($data); + } + public function pathInfoMuti(){ + $info_list = json_decode($this->in['list'],true); + foreach ($info_list as &$val) { + $val['path'] = _DIR($val['path']); + } + $data = path_info_muti($info_list); + show_json($data); + } + public function pathRname(){ + if (!is_writable($this->path)) { + show_json($this->L['no_permission'],false); + } + $rname_to=_DIR($this->in['rname_to']); + if (file_exists($rname_to)) { + show_json($this->L['name_isexists'],false); + } + rename($this->path,$rname_to); + show_json($this->L['rname_success']); + } + public function pathList(){ + load_class('history'); + session_start();//re start + $session=$_SESSION['history']; + $user_path = $this->in['path']; + + if (is_array($session)){ + $hi=new history($session); + if ($user_path==""){ + $user_path=$hi->getFirst(); + }else { + $hi->add($user_path); + $_SESSION['history']=$hi->getHistory(); + } + }else { + $hi=new history(array(),20); + if ($user_path=="") $user_path='/'; + $hi->add($user_path); + $_SESSION['history']=$hi->getHistory(); + } + $_SESSION['this_path']=$user_path; + $list=$this->path($this->path); + $list['history_status']= array('back'=>$hi->isback(),'next'=>$hi->isnext()); + show_json($list); + } + public function search(){ + if (!isset($this->in['search'])) show_json($this->L['please_inpute_search_words'],false); + $is_content = false; + $is_case = false; + $ext = ''; + if (isset($this->in['is_content'])) $is_content = true; + if (isset($this->in['is_case'])) $is_case = true; + if (isset($this->in['ext'])) $ext= str_replace(' ','',$this->in['ext']); + $list = path_search( + $this->path, + iconv_system($this->in['search']), + $is_content,$ext,$is_case); + _DIR_OUT($list); + show_json($list); + } + public function treeList(){//树结构 + $app = $this->in['app'];//是否获取文件 传folder|file + if ($this->in['type']=='init') $this->_tree_init($app); + if ($this->in['this_path']){ + $path=_DIR($this->in['this_path']); + }else{ + $path=_DIR($this->in['path'].$this->in['name']); + } + //if (!is_readable($path)) show_json($path,false); + + $list_file = ($app == 'editor'?true:false);//编辑器内列出文件 + $list=$this->path($path,$list_file,true); + function sort_by_key($a, $b){ + if ($a['name'] == $b['name']) return 0; + return ($a['name'] > $b['name']) ? 1 : -1; + } + usort($list['folderlist'], "sort_by_key"); + usort($list['filelist'], "sort_by_key"); + if ($app == 'editor') { + $res = array_merge($list['folderlist'],$list['filelist']); + show_json($res,true); + }else{ + show_json($list['folderlist'],true); + } + } + private function _tree_init($app){ + $check_file = ($app == 'editor'?true:false); + $favData=new fileCache($this->config['user_fav_file']); + $fav_list = $favData->get(); + $fav = array(); + foreach($fav_list as $key => $val){ + $fav[] = array( + 'ext' => 'folder', + 'name' => $val['name'], + 'this_path' => $val['path'], + 'iconSkin' => "fav", + 'type' => 'folder', + 'isParent' => path_haschildren(_DIR($val['path']),$check_file) + ); + } + $tree_path = WEB_ROOT; + if (!$GLOBALS['is_root']) { + $tree_path = '/'; + } + if ($check_file) {//编辑器 + $list=$this->path(_DIR($tree_path),true,true); + $res = array_merge($list['folderlist'],$list['filelist']); + $tree_data = array( + array('name'=>$this->L['fav'],'ext'=>'__fav__','iconSkin'=>"fav",'open'=>true,'children'=>$fav), + array('name'=>$this->L['root_path'],'ext'=>'__root__','children'=>$res,'iconSkin'=>"my",'open'=>true,'this_path'=> $tree_path,'isParent'=>true) + ); + }else{//文件管理器 + $lib_array = array( + array('name'=>$this->L['desktop'],'ext'=>'_null_','iconSkin'=>"my",'this_path'=> MYHOME.'desktop/','isParent'=>true), + array('name'=>$this->L['my_document'],'ext'=>'_null_','iconSkin'=>"doc",'this_path'=> MYHOME.'doc/','isParent'=>true), + array('name'=>$this->L['my_picture'],'ext'=>'_null_','iconSkin'=>"pic",'this_path'=> MYHOME.'image/','isParent'=>true), + array('name'=>$this->L['my_music'],'ext'=>'_null_','iconSkin'=>"music",'this_path'=> MYHOME.'music/','isParent'=>true), + array('name'=>$this->L['my_movie'],'ext'=>'_null_','iconSkin'=>"movie",'this_path'=> MYHOME.'movie/','isParent'=>true), + array('name'=>$this->L['my_download'],'ext'=>'_null_','iconSkin'=>"download",'this_path'=> MYHOME.'download/','isParent'=>true) + ); + $tree_data = array( + array('name'=>$this->L['fav'],'ext'=>'__fav__','iconSkin'=>"fav",'open'=>true,'children'=>$fav), + array('name'=>$this->L['lib'],'ext'=>'__lib__','iconSkin'=>"lib",'open'=>true,'children'=>$lib_array), + array('name'=>$this->L['root_path'],'ext'=>'__root__','iconSkin'=>"my",'open'=>true,'this_path'=> $tree_path,'isParent'=>true) + ); + } + show_json($tree_data); + } + + public function historyBack(){ + load_class('history'); + session_start();//re start + $session=$_SESSION['history']; + if (is_array($session)){ + $hi=new history($session); + $path=$hi->goback(); + $_SESSION['history']=$hi->getHistory(); + $folderlist=$this->path(_DIR($path)); + $_SESSION['this_path']=$path; + show_json(array( + 'history_status'=>array('back'=>$hi->isback(),'next'=>$hi->isnext()), + 'thispath'=>$path, + 'list'=>$folderlist + )); + } + } + public function historyNext(){ + load_class('history'); + session_start();//re start + $session=$_SESSION['history']; + if (is_array($session)){ + $hi=new history($session); + $path=$hi->gonext(); + $_SESSION['history']=$hi->getHistory(); + $folderlist=$this->path(_DIR($path)); + $_SESSION['this_path']=$path; + show_json(array( + 'history_status'=>array('back'=>$hi->isback(),'next'=>$hi->isnext()), + 'thispath'=>$path, + 'list'=>$folderlist + )); + } + } + public function pathDelete(){ + $list = json_decode($this->in['list'],true); + $success = 0; + $error = 0; + foreach ($list as $val) { + $path_full = _DIR($val['path']); + if ($val['type'] == 'folder') { + if(del_dir($path_full)) $success ++; + else $error++; + }else{ + if(del_file($path_full)) $success++; + else $error++; + } + } + if (count($list) == 1) { + if ($success) show_json($this->L['remove_success']); + else show_json($this->L['remove_fali'],false); + }else{ + $code = $error==0?true:false; + show_json($this->L['remove_success'].$success.'success,'.$error.'error',$code); + } + } + public function mkfile(){ + $new= rtrim($this->path,'/'); + if(touch($new)){ + show_json($this->L['create_success']); + }else{ + show_json($this->L['create_error'],false); + } + } + public function mkdir(){ + $new = rtrim($this->path,'/'); + if(mkdir($new,0777)){ + show_json($this->L['create_success']); + }else{ + show_json($this->L['create_error']); + } + } + public function pathCopy(){ + session_start();//re start + $copy_list = json_decode($this->in['list'],true); + $list_num = count($copy_list); + for ($i=0; $i < $list_num; $i++) { + $copy_list[$i]['path'] =$copy_list[$i]['path']; + } + $_SESSION['path_copy']= json_encode($copy_list); + $_SESSION['path_copy_type']='copy'; + show_json($this->L['copy_success']); + } + public function pathCute(){ + session_start();//re start + $cute_list = json_decode($this->in['list'],true); + $list_num = count($cute_list); + for ($i=0; $i < $list_num; $i++) { + $cute_list[$i]['path'] = $cute_list[$i]['path']; + } + $_SESSION['path_copy']= json_encode($cute_list); + $_SESSION['path_copy_type']='cute'; + show_json($this->L['cute_success']); + } + public function pathCuteDrag(){ + $clipboard = json_decode($this->in['list'],true); + $path_past=$this->path; + if (!is_writable($path_past)) show_json($this->L['no_permission'],false); + foreach ($clipboard as $val) { + $path_copy = _DIR($val['path']); + $filename = get_path_this($path_copy); + if ($clipboard[$i]['type'] == 'folder') { + @rename($path_copy,$path_past.$filename.'/'); + }else{ + @rename($path_copy,$path_past.$filename); + } + } + show_json($this->L['success']); + } + public function clipboard(){ + $clipboard = json_decode($_SESSION['path_copy'],true); + $msg = ''; + if (count($clipboard) == 0){ + $msg = '
null!
'; + }else{ + $msg='
'.$this->L['clipboard_state'] + .($_SESSION['path_copy_type']=='cute'?$this->L['cute']:$this->L['copy']).'
'; + $len = 40; + foreach ($clipboard as $val) { + $val['path'] = rawurldecode($val['path']); + $path=(strlen($val['path'])<$len)?$val['path']:'...'.substr($val['path'],-$len); + $msg.= '
'.$val['type'].' : '.$path; + } + $msg.="
"; + } + show_json($msg); + } + public function pathPast(){ + session_start();//re start + $info = '';$data = array(); + $clipboard = json_decode($_SESSION['path_copy'],true); + if (count($clipboard) == 0){ + show_json($data,false,$this->L['clipboard_null']); + } + $copy_type = $_SESSION['path_copy_type']; + $path_past=$this->path; + if (!is_writable($path_past)) show_json($data,false,$this->L['no_permission_write']); + + $list_num = count($clipboard); + if ($list_num == 0) { + show_json($data,false,$this->L['clipboard_null']); + } + for ($i=0; $i < $list_num; $i++) { + $path_copy = _DIR($clipboard[$i]['path']); + $filename = get_path_this($path_copy); + $filename_out = iconv_app($filename); + + if (!file_exists($path_copy) && !is_dir($path_copy)){ + $info .=$path_copy."
  • {$filename_out}'.$this->L['copy_not_exists'].'
  • "; + continue; + } + if ($clipboard[$i]['type'] == 'folder'){ + if ($path_copy == substr($path_past,0,strlen($path_copy))){ + $info .="
  • {$filename_out}'.$this->L['current_has_parent'].'
  • "; + continue; + } + } + if ($copy_type == 'copy') { + if ($clipboard[$i]['type'] == 'folder') { + copy_dir($path_copy,$path_past.$filename); + }else{ + copy($path_copy,$path_past.$filename); + } + + }else{ + if ($cute_list[$i]['type'] == 'folder') { + rename($path_copy,$path_past.$filename.'/'); + }else{ + rename($path_copy,$path_past.$filename); + } + } + $data[] = iconv_app($filename); + } + if ($copy_type == 'copy') { + $info=$this->L['past_success'].$info; + }else{ + $_SESSION['path_copy'] = json_encode(array()); + $_SESSION['path_copy_type'] = ''; + $info=$this->L['cute_past_success'].$info; + } + show_json($data,true,$info); + } + public function fileDownload(){ + file_download($this->path); + } + public function zip(){ + load_class('pclzip'); + ini_set('memory_limit', '2028M');//2G; + $zip_list = json_decode($this->in['list'],true); + $list_num = count($zip_list); + for ($i=0; $i < $list_num; $i++) { + $zip_list[$i]['path'] = _DIR($zip_list[$i]['path']); + } + $basic_path =get_path_father($zip_list[0]['path']); + if ($list_num == 1) { + $path_this_name=get_path_this($zip_list[0]['path']); + $zipname = $basic_path.$path_this_name.'.zip'; + }else{ + //$zipname = $basic_path.'temp_'.substr(md5(time()),5,3).'.zip'; + $path_this_name=get_path_this(get_path_father($zip_list[0]['path'])); + $zipname = $basic_path.$path_this_name.'.zip'; + } + $zipname = get_filename_auto($zipname); + if (!is_writeable($basic_path)) { + show_json("{$zipname}".$this->L['no_permission_write'],false); + }else{ + $files = array(); + for ($i=0; $i < $list_num; $i++) { + $files[] = $zip_list[$i]['path']; + } + $archive = new PclZip($zipname); + $v_list = $archive->create(implode(',',$files),PCLZIP_OPT_REMOVE_PATH,$basic_path); + if ($v_list == 0) { + show_json("Error : ".$archive->errorInfo(true),false); + } + $info = $this->L['zip_success'].$this->L['size'].":".size_format(filesize($zipname)); + show_json($info); + } + } + public function unzip(){ + load_class('pclzip'); + ini_set('memory_limit', '2028M');//2G; + $path=$this->path; + $name = get_path_this($path); + $name = substr($name,0,strrpos($name,'.')); + $path_father_name=get_path_father($path); + $unzip_to = $path_father_name.$path_this_name; + if (isset($this->in['path_to'])) {//解压到指定位置 + $unzip_to = _DIR($this->in['path_to']); + } + + $zip = new PclZip($path); + $result = $zip->extract(PCLZIP_OPT_PATH,$unzip_to, + PCLZIP_OPT_SET_CHMOD,0777, + PCLZIP_OPT_REPLACE_NEWER);//解压到某个地方,覆盖方式 + if ($result == 0) { + show_json("Error : ".$zip->errorInfo(true),fasle); + }else{ + show_json($this->L['unzip_success']); + } + } + public function image(){ + if (filesize($this->path) <= 1024*10) {//小于10k 不再生成缩略图 + file_proxy_out($this->path); + } + load_class('imageThumb'); + $image= $this->path; + $image_md5 = md5($image); + $image_thum = $this->config['pic_thumb'].$image_md5.'.png'; + if (!is_dir($this->config['pic_thumb'])){ + mkdir($this->config['pic_thumb'],0777); + } + if (!file_exists($image_thum)){//如果拼装成的url不存在则没有生成过 + if ($_SESSION['this_path']==$this->config['pic_thumb']){//当前目录则不生成缩略图 + $image_thum=$this->path; + }else { + $cm=new CreatMiniature(); + $cm->SetVar($image,'file'); + //$cm->Prorate($image_thum,72,64);//生成等比例缩略图 + $cm->BackFill($image_thum,72,64,true);//等比例缩略图,空白处填填充透明色 + } + } + if (!file_exists($image_thum) || filesize($image_thum)<100){//缩略图生成失败则用默认图标 + $image_thum=STATIC_PATH.'images/image.png'; + } + //输出 + file_proxy_out($image_thum); + } + + // 远程下载 + public function serverDownload() { + $url = rawurldecode($this->in['url']); + $save_path = _DIR($this->in['save_path']); + $save_path = $save_path.'download_'.rand(100,999).'.tmp'; + $result = file_download_this($url,$save_path); + if ($result == 1){ + show_json($this->L['download_success'],true,$save_path); + }else{ + if ($result == -1){ + show_json($this->L['download_error_create'],false); + }else{ + show_json($this->L['download_error_exists'],false); + } + } + } + + // 远程下载 + public function fileProxy() { + if (!$GLOBALS['is_root']) show_json($this->L['no_permission'],false); + file_proxy_out($this->path); + } + + /** + * 上传,html5拖拽 flash 多文件 + */ + public function fileUpload(){ + $save_path = $this->path; + if ($save_path == '') show_json($this->L['upload_error_big'],false); + if (strlen($this->in['fullPath']) > 1) {//folder drag upload + $full_path = _DIR_CLEAR(rawurldecode($this->in['fullPath'])); + $full_path = get_path_father($full_path); + $full_path = iconv_system($full_path); + if (mk_dir($save_path.$full_path)) { + $save_path = $save_path.$full_path; + } + } + upload('file',$save_path); + } + + //获取文件列表&哦exe文件json解析 + private function path($dir,$list_file=true,$check_children=false){ + $list = path_list($dir,$list_file,$check_children); + foreach ($list['filelist'] as $key => $val) { + if ($val['ext'] == 'oexe') { + $path = iconv_system($val['path']).'/'.iconv_system($val['name']); + $json = json_decode(file_get_contents($path),true); + if(is_array($json)) $list['filelist'][$key] = array_merge($val,$json); + } + } + _DIR_OUT($list); + return $list; + } +} \ No newline at end of file diff --git a/controller/fav.class.php b/controller/fav.class.php new file mode 100644 index 0000000..dc439d0 --- /dev/null +++ b/controller/fav.class.php @@ -0,0 +1,65 @@ +sql=new fileCache($this->config['user_fav_file']); + } + + /** + * 获取收藏夹json + */ + public function get() { + show_json($this->sql->get()); + } + + /** + * 添加 + */ + public function add() { + $res=$this->sql->add($this->in['name'], + array( + 'name'=>$this->in['name'], + 'path'=>$this->in['path'] + ) + ); + if($res)show_json($this->L['success']); + show_json($this->L['error_repeat'],false); + } + + /** + * 编辑 + */ + public function edit() { + //查找到一条记录,修改为该数组 + $to_array=array( + 'name'=>$this->in['name_to'], + 'path'=>$this->in['path_to'] + ); + if($this->sql->replace_update( + $this->in['name'],$this->in['name_to'],$to_array)){ + show_json($this->L['success']); + } + show_json($this->L['error_repeat'],false); + } + + /** + * 删除 + */ + public function del() { + if($this->sql->delete($this->in['name'])){ + show_json($this->L['success']); + } + show_json($this->L['error'],false); + } +} diff --git a/controller/group.class.php b/controller/group.class.php new file mode 100644 index 0000000..d7d30bc --- /dev/null +++ b/controller/group.class.php @@ -0,0 +1,94 @@ +sql=new fileCache($this->config['system_file']['group']); + } + + public function get() { + show_json($this->sql->get()); + } + /** + * 用户添加 + */ + public function add() + { + $group = $this->_init_data(); + if($this->sql->add($this->in['role'],$group)){ + show_json($this->L['success']); + } + show_json($this->L['error_repeat'],false); + } + + /** + * 编辑 + */ + public function edit() + { + $group = $this->_init_data(); + $role_old = $this->in['role_old']; + if (!$role_old) show_json($this->L["groupname_can_not_null"],false); + if ($role_old == 'root') show_json($this->L['default_group_can_not_do'],false); + + if ($this->sql->replace_update($role_old,$this->in['role'],$group)){ + $member = new fileCache($this->config['system_file']['member']); + if ($member -> update('role',$this->in['role'],$role_old)) { + show_json($this->L['success']); + } + show_json($this->L['group_move_user_error'],false); + } + show_json($this->L['error_repeat'],false); + } + + /** + * 删除 + */ + public function del() { + $role = $this->in['role']; + if (!$role) show_json($this->L["groupname_can_not_null"],false); + if ($role == 'root') show_json($this->L['default_group_can_not_do'],false); + if($this->sql->delete($role)){ + $member = new fileCache($this->config['system_file']['member']); + $member -> update('role','',$role);//改组用户设置为空 + show_json($this->L['success']); + } + show_json($this->L['error'],false); + } + + + //===========内部调用============ + /** + * 初始化数据 get + * 只传键即可 &ext_not_allow=''&explorer-mkfile&explorer-pathRname + */ + private function _init_data(){ + if (strlen($this->in['role'])<1) show_json($this->L["groupname_can_not_null"],false); + if (strlen($this->in['name'])<1) show_json($this->L["groupdesc_can_not_null"],false); + + $role_arr = array('role'=>$this->in['role'],'name'=>$this->in['name']); + $role_arr['ext_not_allow'] = $this->in['ext_not_allow']; + foreach ($this->config['role_setting'] as $key => $actions) { + foreach ($actions as $action) { + $k = $key.':'.$action; + if (isset($this->in[$k])) { + $role_arr[$k] = 1; + }else{ + //$role_arr[$k] = 0; + } + } + } + return $role_arr; + } +} \ No newline at end of file diff --git a/controller/member.class.php b/controller/member.class.php new file mode 100644 index 0000000..b5280d9 --- /dev/null +++ b/controller/member.class.php @@ -0,0 +1,105 @@ +tpl = TEMPLATE.'member/'; + $this->sql=new fileCache(USER_SYSTEM.'member.php'); + } + + /** + * 获取用户列表数据 + */ + public function get() { + show_json($this->sql->get()); + } + /** + * 用户添加 + */ + public function add() + { + if (!$this->in['name'] || + !$this->in['password'] || + !$this->in['role'] ) show_json($this->L["data_not_full"],false); + $user = array( + 'name' => $this->in['name'], + 'password' => md5($this->in['password']), + 'role' => $this->in['role'], + 'status' => 0, + ); + if ($this->sql->add($this->in['name'],$user)) { + $this->_initUser($this->in['name']); + show_json($this->L['success']); + } + show_json($this->L['error_repeat'],false); + } + + /** + * 编辑 + */ + public function edit() + { + if (!$this->in['name'] || + !$this->in['name_to'] || + !$this->in['role_to'] ) show_json($this->L["data_not_full"],false); + if ($this->in['name'] == 'admin') show_json($this->L['default_user_can_not_do'],false); + + //查找到一条记录,修改为该数组 + $user = $this->sql->get($this->in['name']); + $user['name'] = $this->in['name_to']; + $user['role'] = $this->in['role_to']; + + if (strlen($this->in['password_to'])>=1) { + $user['password'] = md5($this->in['password_to']); + } + if($this->sql->replace_update($this->in['name'],$user['name'],$user)){ + rename(USER_PATH.$this->in['name'],USER_PATH.$this->in['name_to']); + show_json($this->L['success']); + } + show_json($this->L['error_repeat'],false); + } + + /** + * 删除 + */ + public function del() { + $name = $this->in['name']; + if (!$name) show_json($this->L["username_can_not_null"],false); + if ($name == 'admin') show_json($this->L['default_user_can_not_do'],false); + if($this->sql->delete($name)){ + del_dir(USER_PATH.$name.'/'); + show_json($this->L['success']); + } + show_json($this->L['error'],false); + } + + //============内部处理函数============= + /** + *初始化用户数据和配置。 + */ + public function _initUser($name){ + $root = array('home','recycle','data'); + $home = array('desktop','doc','download','image','movie','music'); + $user_path = USER_PATH.$name.'/'; + + mk_dir($user_path); + foreach ($root as $dir) { + mk_dir($user_path.$dir); + } + foreach ($home as $dir) { + mk_dir($user_path.'home/'.$dir); + } + fileCache::save($user_path.'data/config.php',$this->config['setting_default']); + } +} \ No newline at end of file diff --git a/controller/setting.class.php b/controller/setting.class.php new file mode 100644 index 0000000..8d461f0 --- /dev/null +++ b/controller/setting.class.php @@ -0,0 +1,56 @@ +tpl = TEMPLATE.'setting/'; + $this->display('index.php'); + } + + /** + * 用户首页展示 + */ + public function slider() { + $this->tpl = TEMPLATE . 'setting/slider/'; + $this->display($this->in['slider'].'.php'); + } + + /** + * 参数设置 + * 可以同时修改多个:key=a,b,c&value=1,2,3 + */ + public function set(){ + $key = $this->in['k']; + $value = $this->in['v']; + if ($key !='' && $value != '') { + $conf = $this->config['user']; + $arr_k = explode(',', $key); + $arr_v = explode(',',$value); + $num = count($arr_k); + + for ($i=0; $i < $num; $i++) { + $conf[$arr_k[$i]] = $arr_v[$i]; + } + fileCache::save($this->config['user_seting_file'],$conf); + show_json($this->L["setting_success"]); + }else{ + show_json($this->L['error'],false); + } + } +} diff --git a/controller/user.class.php b/controller/user.class.php new file mode 100644 index 0000000..4d63904 --- /dev/null +++ b/controller/user.class.php @@ -0,0 +1,232 @@ +tpl = TEMPLATE . 'user/'; + $this->user = &$_SESSION['user']; + } + /** + * 登陆状态检测;并初始化数据状态 + */ + public function loginCheck() + { + if($_SESSION['isLogin'] === true){ + define('USER',USER_PATH.$this->user['name'].'/'); + if ($this->user['role'] == 'root') { + define('MYHOME',USER.'home/'); + define('HOME',''); + $GLOBALS['web_root'] = WEB_ROOT;//服务器目录 + $GLOBALS['is_root'] = 1; + }else{ + define('MYHOME','/'); + define('HOME',USER.'home/'); + $GLOBALS['web_root'] = str_replace(WEB_ROOT,'',HOME);//从服务器开始到用户目录 + $GLOBALS['is_root'] = 0; + } + $this->config['user_fav_file'] = USER.'data/fav.php'; // 收藏夹文件存放地址. + $this->config['user_seting_file'] = USER.'data/config.php'; //用户配置文件 + $this->config['user'] = fileCache::load($this->config['user_seting_file']); + return; + }else if(ACT == 'loginSubmit' || ACT=='checkCode'){//登陆提交判断;或者获取验证码 + return; + }else if(isset($_COOKIE['kod_name']) && isset($_COOKIE['kod_token'])){ + $member = new fileCache($this->config['system_file']['member']); + $user = $member->get($_COOKIE['kod_name']); + if(md5($user['password'].get_client_ip()) == $_COOKIE['kod_token']){ + session_start();//记录session 写入文件 + $_SESSION['isLogin'] = true; + $_SESSION['user']= $user; + setcookie('kod_name', $_COOKIE['kod_name'], time()+3600*24*365); + setcookie('kod_token',$_COOKIE['kod_token'],time()+3600*24*365); //密码的MD5值再次md5 + header('location:'.get_url()); + return; + } + } + $this->login(); + } + + /** + * 登陆view + */ + public function login($msg = '') + { + $this->assign('msg',$msg); + $this->display('login.html'); + exit; + } + /** + * 登陆数据提交处理 + */ + public function loginSubmit() + { + $name = $this->in['name']; + if(empty($name) || empty($this->in['password'])) { + $msg = $this->L['login_not_null']; + }else{ + //错误三次输入验证码 + session_start();//re start + if(intval($_SESSION['code_error_time']) >=3 && + $_SESSION['check_code'] !== strtolower($this->in['check_code'])){ + $this->login($this->L['code_error']); + } + $member = new fileCache($this->config['system_file']['member']); + $user = $member->get($name); + if ($user ===false){ + $msg = $this->L['user_not_exists']; + $_SESSION['code_error_time'] = intval($_SESSION['code_error_time']) + 1; + }else if(md5($this->in['password'])==$user['password']){ + if($user['status'] == 0){//初始化app + $this->init_app($user); + } + $group = new fileCache($this->config['system_file']['group']); + $_SESSION['isLogin'] = true; + $_SESSION['user']= $user; + if ($this->in['rember_password'] == 'on') { + setcookie('kod_name', $user['name'], time()+3600*24*365); + setcookie('kod_token',md5($user['password'].get_client_ip()), time()+3600*24*365); + } + header('location:./'); + return; + }else{ + $_SESSION['code_error_time'] = intval($_SESSION['code_error_time']) + 1; + $msg = $this->L['password_error']; + } + } + $this->login($msg); + } + + /** + * 退出处理 + */ + public function logout() + { + session_start(); + setcookie('kod_name', null, time()-3600); + setcookie('kod_token', null, time()-3600); + session_destroy(); + header('location:./?user/login'); + } + + /** + * 修改密码 + */ + public function changePassword() + { + $password_now=$this->in['password_now']; + $password_new=$this->in['password_new']; + if (!$password_now && !$password_new)show_json($this->L['password_not_null'],false); + if ($this->user['password']==md5($password_now)){ + $sql=new fileCache($this->config['system_file']['member']); + $this->user['password'] = md5($password_new); + $sql->update($this->user['name'],$this->user); + setcookie('kod_token',md5(md5($password_new)),time()+3600*24*365); + show_json('success'); + }else { + show_json($this->L['old_password_error'],false); + } + } + + /** + * 权限验证;统一入口检验 + */ + public function authCheck(){ + if ($GLOBALS['is_root']) return; + if(ACT == 'loginSubmit' || ACT=='checkCode') return; + if (!array_key_exists(ST,$this->config['role_setting']) ){ + return; + }else{ + if (!in_array(ACT,$this->config['role_setting'][ST])){ + return; + }else{ + //有权限限制的函数 + $key = ST.':'.ACT; + $group = new fileCache($this->config['system_file']['group']); + $GLOBALS['auth'] = $auth = $group->get($this->user['role']); + if ($auth[$key] !== 1) { + show_json($this->L['no_permission'],false); + } + //扩展名限制:新建文件&上传文件&重命名文件&保存文件&zip解压文件 + $check_arr = array( + 'mkfile' => $this->in['path'], + 'pathRname' => $this->in['rname_to'], + 'fileUpload'=> $_FILES['file']['name'], + 'fileSave' => $this->in['path'], + ); + + if (array_key_exists(ACT,$check_arr)){ + $ext = get_path_ext($check_arr[ACT]); + $ext_arr = explode('|',$auth['ext_not_allow']); + if (in_array($ext,$ext_arr)){ + show_json($this->L['no_permission_ext'],false); + } + } + } + } + return; + } + + + public function checkCode() { + session_start();//re start + header("Content-type: image/png"); + $fontsize = 18;$len = 4; + $width = 70;$height=27; + $im = @imagecreatetruecolor($width, $height) or die("create image error!"); + $background_color = imagecolorallocate($im, 255, 255, 255); + imagefill($im, 0, 0, $background_color); + for ($i = 0; $i < 2000; $i++) {//获取随机淡色 + $line_color = imagecolorallocate($im, mt_rand(180,255),mt_rand(160, 255),mt_rand(100, 255)); + imageline($im,mt_rand(0,$width),mt_rand(0,$height), //画直线 + mt_rand(0,$width), mt_rand(0,$height),$line_color); + imagearc($im,mt_rand(0,$width),mt_rand(0,$height), //画弧线 + mt_rand(0,$width), mt_rand(0,$height), $height, $width,$line_color); + } + $border_color = imagecolorallocate($im, 160, 160, 160); + imagerectangle($im, 0, 0, $width-1, $height-1, $border_color);//画矩形,边框颜色200,200,200 + + $str = "ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789"; + $code = ''; + for ($i = 0; $i < $len; $i++) {//写入随机字串 + $current = $str[mt_rand(0, strlen($str)-1)]; + $text_color = imagecolorallocate($im,mt_rand(30, 140),mt_rand(30,140),mt_rand(30,140)); + imagechar($im,10,$i*$fontsize+6,rand(1,$height/3),$current,$text_color); + $code.= $current; + } + imagepng($im);//显示图 + imagedestroy($im);//销毁图片 + $_SESSION['check_code'] = strtolower($code); + } + + /** + * 用户app初始化 + */ + private function init_app($user) { + $sql=new fileCache($this->config['system_file']['apps']); + $list = $sql->get(); + $desktop = USER_PATH.$user['name'].'/home/desktop/'; + foreach ($list as $key => $data) { + $path = iconv_system($desktop.$key.'.oexe'); + unset($data['name']); + unset($data['desc']); + unset($data['group']); + file_put_contents($path, json_encode($data)); + } + $user['status'] = 1; + $member = new fileCache($this->config['system_file']['member']); + $member->update($user['name'],$user); + } +} \ No newline at end of file diff --git a/controller/util.php b/controller/util.php new file mode 100644 index 0000000..e56db34 --- /dev/null +++ b/controller/util.php @@ -0,0 +1,79 @@ + $value) { + $arr['filelist'][$key]['path'] = '/'.str_replace(HOME, '', $value['path']); + } + foreach ($arr['folderlist'] as $key => $value) { + $arr['folderlist'][$key]['path'] = '/'.str_replace(HOME, '', $value['path']); + } + }else{ + $arr = str_replace(HOME, '',$arr); + } +} + +//处理成url连接;返回是否是在web路径下 +function _URL($path,$pre_path=HOME){ + $path = _DIR_CLEAR(rawurldecode($path)); + $path = $pre_path.$path; + $path = iconv_system($path); + if (substr($path,0,strlen(WEB_ROOT)) == WEB_ROOT) { + return array(true,HOST.str_replace(WEB_ROOT, '', $path)); + }else{ + return array(false,$pre_path.$path); + } +} + +//语言包加载:优先级:cookie获取>自动识别 +//首次没有cookie则自动识别——存入cookie,过期时间无限 +function init_lang(){ + $lang = $_COOKIE['kod_user_language']; + if (strlen($lang)<=0) {//没有cookie + preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches); + $lang = $matches[1]; + switch (substr($lang,0,2)) { + case 'zh': + if ($lang != 'zn-TW'){ + $lang = 'zh-CN'; + } + break; + case 'en':$lang = 'en';break; + default:$lang = 'en';break; + } + $lang = str_replace('-', '_',$lang); + setcookie('kod_user_language',$lang, time()+3600*24*365); + } + + $GLOBALS['language'] = $lang; + define('LANGUAGE_TYPE', $lang); + include(LANGUAGE_PATH.$lang.'/main.php'); + $GLOBALS['L'] = $L; + $GLOBALS['lang'] = $L; +} \ No newline at end of file diff --git a/data/User/admin/data/config.php b/data/User/admin/data/config.php new file mode 100644 index 0000000..f2c1cb3 --- /dev/null +++ b/data/User/admin/data/config.php @@ -0,0 +1 @@ +{"list_type":"icon","list_sort_field":"name","list_sort_order":"up","theme":"metro\/","codetheme":"idle_fingers","wall":"4","musictheme":"mp3player","movietheme":"webplayer"} \ No newline at end of file diff --git a/data/User/admin/data/fav.php b/data/User/admin/data/fav.php new file mode 100644 index 0000000..73622dc --- /dev/null +++ b/data/User/admin/data/fav.php @@ -0,0 +1 @@ +{"0.000":{"name":"0.000","path":"D:\/wwwroot\/0.000\/"},"config":{"name":"config","path":"D:\/wwwroot\/tools\/eXtplorer\/config"},"kod":{"name":"kod","path":"D:\/wwwroot\/www\/kod"}} \ No newline at end of file diff --git a/data/User/demo/data/config.php b/data/User/demo/data/config.php new file mode 100644 index 0000000..e53f10a --- /dev/null +++ b/data/User/demo/data/config.php @@ -0,0 +1 @@ +{"list_type":"icon","list_sort_field":"mtime","list_sort_order":"up","theme":"metro\/","codetheme":"github","wall":"1","musictheme":"kuwo","movietheme":"webplayer"} \ No newline at end of file diff --git a/data/User/demo/data/fav.php b/data/User/demo/data/fav.php new file mode 100644 index 0000000..7c4c840 --- /dev/null +++ b/data/User/demo/data/fav.php @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/data/User/demo/home/image/1983 - 日光海岸.mp3 b/data/User/demo/home/image/1983 - 日光海岸.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..941b473d9199253528da531f5d1f7e83234eae4e GIT binary patch literal 4227239 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 z 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

    B?I=}1^V@_TIDO-t4e#B8jB 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

    gOE| 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%0AHk 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 z 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 )x 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 &w(@@Pe3hNMH1iGfN>CKm3& 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

    P49+~D}Y8H&s@%}0{(TfRUAM9!oM zCT2}D;DVe*Q0U%X4=RB?6_Zifp{{71k+ByWPsIM0I- z?+m3y;p#}mch$qAYy)BM#@lGz68R|BqXini66q_p8GeY|E25F%2T7U07U>iMB3)S| z@V+<;z$PvS#}wtB6q+@K>rybkljbjjm$aq*0By?Ncqp_jlDq(tH}mN&f2H)&8T+!} zjPU*G@OKPC)`QGXJCM8chEonD<=MJax6S>udH(?deJB(yn|#Bm zo-V9a;t~w=B}Gj_U$>UUqLy%l&vd@%L=ijY;^`^sboyM0&ZnL627+#!5g%XBzHo&y3J6H~j3I1P-Q6pNd&)x?i`;km04c=Ue#7|sro)nxR=YpO&pC&&}) z$wb>%*HS5)TM^&wm}>fkwq!o@OTa0sxPRVWKkJEqpWr5Oau(g^o{Kh!)&ZC6$ozu7 zutTJk^?MBNA4(_`?=CA|fv4+s2tm=j5&7q*XQBTp)@xYs4@vbbMA{?s6B`%fa6S27 z0@_m5w)6g#HPoMf+mB2et@-7}U5P7Ttn`nq{y7-nz{ z`S1#zk{WtXR7AcQzfzCK`DV>wYjg6E(o>qp9wUGy=FTHQI#b@O3S9^?1 zg^^}bmSR;olp-z&OT4BFX9x2ap|#;^g#`(WR~^0t`;|djCVb2%c9+x{@zP0#y3Z z%-tGx%;O2MUudU;Q@pYXXm@x(N|42y00=fnnDVF*3R#VjGa*+D@z~^>h@xXG79*(< zqFML(lL+-E^HFDKvHk~(;@~hy0fi<)33gri5b^YTybFBme$tv{P8u&BE#|Aq(&JAq_HL0jq!g3Ri0?ES`$ycJ?FhI6jGMh>1b<# zefa{z5y?WWJp_yC{S8UH0l(zI93A#<%{iAtY=@2X(K5RJaHNni&9e^Ie^jkCX7k(e zVUDyj?$Z zD~^8o*Rmh>vpjWL(Z;cfH=A$GHw6#b_g^Ry3aiR`OmFk2mMIhDke37lgEi5S5wcxo zJ_4fytznV-&X`W}mJ4rMThFcE^$Z~^|PH|J3P5QXBNc^DE6>Ez*@cb?L2vQKoLMcaI{ z)EQ=-DQ~Hv`r+F^RM8QrbA%kRdCX7ArXQFwVvEeb;5nJ?&iCE3W$-W6Y@3yq3w>#- zMuL%Setm&($-Xcg7c*NE{auAj0#8`FNn@CVV9G1t%aqdCeb;&nof)hhYOE|Hs;yk= z5e^m>seY^D4~9aTDkl}1bSh}GWEB&{0@(?1u{aG6-XfSx+G^V@SJT&wg;`%Er8z4z z=Jl;MDlwDc6yAn>K%yhQmKlG6WGPs!1nic~O6^U$g*^82n0A$gO+pHc*LLaIN{WEG z)=F`l&6{zglx=cWcw!+5yc8NrMk3Ct|xu= zo@0QIvUXin0daYiNMR|?6OikvE)~#HZRJ(_8g<}^(?JJ)T!@*-Zjkbmp~h~F#%$A@ zs&cW-z$j7>aq9CQ`IhZlw;sPI-ipnt3ZnSS8W3N%Zd%SY$L3VC&ujY9d`!iKko#;T zk2q+dDsArf5?p9kdFQoGAJjNEMugv3VZoHYe`K@UnFcR3&Bxu)M@X-h(qV<<*wGzl zX<)-IjJH^&V*Z6LSdZ~VEO^Rqay{-G3%5;^gng?8Q9rjiOJCWUhA>E~^8dPpxfpJP zc1nYVWMTw=k3nJ|gSUcbV$t^~Y*Kf))gud^J3Xtlw@C#n^^ISqEPK14_bQ_5IeU}0 zN+*_O-o6Kcfh~Bj^^iR43xVG)gYMKR?QuG&Zpz4hz37&WFJscz`JO5Kz{Mx=0(_Zi z;DI15-Asm7stc|#dID1IvnK4AA-Q}=SvDI;?O!Dv=y}uK$D7%|Vrw%}zg{-9Te(+{ zmssxmFjfEQEWOoqHul^R*9L&+FOzA2Ay0MN3)#x@E+73<=m<7&Q*@>N6#sLA=XLaH zQy7g{rD!Jr7vZ049rL;BgSirVUGquw>;iX(mB6yhK-EG6XKYy^b zwpsSR=6{ZA5TW3~4EoQM43`z;$is-;bzB^w)acaWG!skJ&9D?C39RxKn%&-ipY>K= zZTYu0PdL79cu71fyubLZn~?o(Bw=iPHz~Voer;7@Nef?DhPl+P#soFVgFmdJC0aGHRTh||M!QjP<5xzLfn=S`!4}Y zD?b#bH*#mjS^HkrF~5qxpv*IyAh2CrFv{Qec-3|{p7G%4Sb)SNe*!T}8Eo3Q_??oA zlwZ!84IN+^oEU1Xfiy-T$V_245(#*3UzZC61B#uSpSmW1U{xu}RP^M79ol=_`U4d1{Z4r?`MwCi zNW8&cULRf1$O-O1Yac%VqnFNW)oT`WNpa!9<#i(F&L_9hfZ^CPcE5AtTf@yMQvKGgYxU_R@jpq=!W%W0XCO$Flc))N^IHCQWDdn24iL541`S8er?y zHu@8l>ALtfDF>i`TGRN?1Hi~5cVSO$ei@JI z!%|Q8J5*-KOMgo$L=B{E8MxihsZzK#tn74cV_GL+FgyszIZXOd@5XN$#eCcw0pP4xSJ7Gcw>6^t7!car){3`?&R&;M{?_ zY?vl%i}(-c+A>L<4t71;cfGEpwqiRoknTp1|qV&(FucftssQwib0Y-9T4co$rPq zTtcFdKC*=I7*Gr@C)=nWh$L?JyOHK+qZIU4Nf@5-t1S}i%Xc*wKbZS; zrroi%+l2bt?5VuJf43`-Oi6E*1NQ^^ee~46?~2q>rL@;r^sYn(qLg9|0iCDPL`Ek_ zlqR?{HIqFgr4s*AvhBarUvF+Yidtn_#(rlkx5fT~_!ab#HsyphhY-dglj@2mKG>n^ zUkRuSb?+fk&Yy6U7_yOoTtNGq`Q0Rd7QIK*TWgLb7lLqm;0=cC zmy;jqWs&XLm|!29E#k(oJ5`8&UxdUi)?!8ib63gl(%Ch{DG!M}aensHQ%y%sSG2J` z+s=pKNj9WmakumY((=H3=|RieaQ6iuwBOR z&@!EI1yMrT{(Iy6>LU_8mW;)CIy-$42L$(ToM@DsJRxN0d_HJXBFY`-EDSaK4rcn+d zA0dpv6=fkbE*1$(5YPW)`a9S9bm<9vXdaey;S%EV!~B^P+TPaP@cp&W6QY3A%~{_q z^p~4ic<1k6UnnFbI4tf?znR&%-X*dwfi^S06r5}KUsAClCWY~C;MUf>zzO-Br%=1I zMz`J-pPyfEuFR>V`YEX-bX|5wxm1=PQ|{icEp0l=YK?~{3eLv21-ukK+;KSprCI%a zF-N%$%}!70bzA)Hhb`StlXk>2va7(b|wgQ zU4KyDU>pPl>Clh0Uyjvw{0I>bZLuc zt7hI;y`Tp}&{y3zLRffk>_p+J^IJ?cDXH*N_1-tM4HF{j~nwp zzw7qDxjce?2pLlKnZ6t<8j)KWG()2@=}`8MVdzxJD6X`o2}}rwFZxdYWkn9!0XdVN z2%VgeSRhD<(m)K0%quSr)C(7DcxPjh96t~C-XHgZddps{di|VzVXnNlUl(7EJJZFr zW1Xq_K0Fob^B#-OvCRF+Or;dyGhmzc63Qs7sXXA`-Z-0aplEUq<$v$n-u2E1wM5kJ zhQRvF-xtFcA|MYs>P+#_8E=rBLTwX6E}>KNma1T7wkO6#Slawk=pcA6gncOp4u8*} zERw?dP!G{)U+Gh!h*6w!xNJ(+i?aupqt?GL;-z%xc!dXUpzDuspmG3RSjQ12lr513 z?@XjR`{PY*T#87CPp4qYVAIRl@1GQzIn8um(`j(T+!P9I zCbS39YK#^SYX_AL3!b$ki|vqk13ijm#ob7JesbJcfPgi@y9DE0*j4iVu#E>SPQ6@!I`#a$)PE8AH#|zKPFj! zB~DyqZsKfoBsmVe^JLFEh)APK3IYdm^P%Y>KpHUNAP>*?`$YxhQR}t)v@(&Tj+V$_ zeW+-$B32PkQ9 zJzI|PniPqqmyi0So9oOClQsE)XyF6%A%D{3Xs`*0rm#aEup{&CTt$A`w@x%<^K6!M>^8((`Qoo6`?KHRpoB{Lpqm*U z2eSRufZO=+t*Zz9cmjd8-vHq7{sS>c2=V5W;-a!dI~!H5>+B_B%P{?rwBx< z+^(fB+xgB{0yG+2D|GnU5HCcN1N=%Jf|qq3F0Re_>t+q{BhlN!QuJKaj-UKf=r=$#31@i{4sSpc zV#32XL>7^K+O`PSw!$;^WIC;$`t7*Uz@zu$XWQha<5Tl0gWoX-0C`jIPv*F=2&wNo z$AV3@yFf^qgSF^Zz0W0mlicBYsl)HpE?vqmU(CL2yaNt|KD1w3` z&8)E#y^O!fo1nQxt*z4gf`p8rp|=yndV*o+gqDaozPg@=yrAe1h0!VnORUew)h2*; zM3#R#-*vf}b4Ny)r6d9&dGs>j|NeEE!;t-6O#RcGF1F#N$M(6byfD(qEUokVT$st^ z3SzG@^sNnML2o%U8gif+AO(N~EF*Mw1f#|OwUdC5AI*--i=i^Cn~%M4aR#CJYL~si zO3bFqQRHIES#bCY;|RCUtVNC0T)BD6rqM6^2ASX<9y9!{***B5LMMQITA*qY3ag6Y zkQcf2xhw+pqb)Gswmv_(9IUK{xhQqFc@#bpNL9O{-4ag@4q>z@$0$)6R$#Qe`I{a1 z4WR;p09U45H+{rdYjHyoA=u$ov?#Mp?#x9u7P%}Unp=t%%UAdDcw1KGZ~Xx?mhyh# z{;d-?SjgI~?aCS}5Cy&%02NJ)Gv@m9{Dpggn>Fk?BFP`sfCSe0ZFc&nkRVdKK}&g! z#_gKHTtSP?VvJ6*;?$NZih;%DyJOBMy1|ip!nr znZ3nln_vVYfa!aaPg2BLR}*1iKqfe|e%v}a2IU-TVX?xte{`hB-B7MmM)4O{D&;wL|oog^#=OMz&@2B)*J?oB>YO8f@N- zr>_0F%cFqMA-@9O`-(4fSvBtfoGwynfjTkwbYJ#A~N_s*xJ}EKp2#h%0vnX75eLbbr4$nb+Fx-O(&vp0Z$4>&QOFdb zY7!#(6!BrvAdznP-GL&PVU<>@WHvhXYBc_|{CV{&>boTuDp=~A zGS;q{n`*i{-_Eqnnhm|D3AwCMy%Os}4>qkng0YaCRDn7M@Vn6sjfsd7EKv66%h_jp zPHCkX2n>e~6wdp$!dPXuscEX5V}x5`)!t#$zEDdplR_8>Q%UDqne13Ys+dOc3WGhH zb=U#Je85t790PIg$lwDc1xNrHfv z^y|RM&_StEbEfkTIaQ{4yty`$-ToQI7{t@TDHRF$L@!soEDJ*>l4FFj`!e=i&bqdo zQ;cS=H91>Y|J+pulrld@iBS3QAsVniYFJ=#X7P?na}q#0RP9#cWH-H-dfp}rOi2nQ zJ8(;_P_dI3Xo^1nJ4&Poi`ePURBVZ(nhLZ^!6z8*XE$2uD_>*$_(kdm9t4>zxRnCj znJOI7iUeV<`mu&PEnNMt=OQuyE|NT30gIS8c!d4{Tk1RI%lE;`6m@!z7_gSAd(`S* znx&OO#Y)2aVcgE9z9mD(?fT^=rcN#BNF&|zmd8Cw$g6)WY_s*6s@wetJmp2A+!xMi z&I=;DZOq;HsT}|SxP*p_1_LyFXvGFy{y^NNHu3v7?Q}$#y=zo@Gdft|+W3$CxK4wi zhtns;yC%SA7MifLCkIrN% zpok~czDq&x8wtcE#RiAn6hRncPS338y^E#yosqdkE6U%!*MQclL=6~$?hye`qR=D8 z?AfrKm7qWKszePVwwWg45YVEf;w;@Q=P%pHCG2Q}&qY+FXy#8rCgCl1IG~J^|4p$Z>t*=-94z^Je1p+Tct|Zj6EgwR zfKrSEqz;yH4+D(BE?H7-Al0l2k{=#MJ>XpbVyK=D>5)|sW_p~dgrins_;?_6(~pJO zU>Y*9Ffpsl+^Hc}t5$C<3Syu?bEauHF6X^1QZpk$Y9H{2TDQwA`|lls4cy{gJq^b{ zF*UQHFh7+=nDS7q23i~26IXo_8eQ?;R+h0WmVp*C-5cO2oB&{&^;Jm_&JIzNn1slq zOmSKsI%iVrIBmM?-7hzmquYZd;K67Nd7(FQmk(;ifKtdvlf&zaKBygzSD(B7N@ZgD z_7^4k6$1jlv=6-1aOLe(XiU+l@=MK13n~E1x-xT6L*}|qh29L^sIAMz zit3FDv+2MdZNu~gCNdoB0Ehj6hcLK2Y@W<`C;P!hx!#4}I)-bVfi0e26OfF1FgCZ6wiH5!2?w&>Riq=Q!K_vjxJ;ja; zG{M)qsMw zGNrmnLM-$4P+?CKqrNxL2il;u)0rA7^8bP5eD|Ey^t4V;<`M#)AK zTWM0cPFSrAEfhLUP#I-}%F!bmWe5|wXaw+>?F!d2x8V7?nMIhL*@ZSrUlv1)n;P5P z_MNKDOWim9Cfck6Z&n^<-sm0jM_ah5qS^8Klr`(Y+{F~T8dL7MI>|x}r90q&mYWJl| z!a!`QAychW4J>Q&WT*MN5QX&3fKCyiUm>Qm3d*DmjF~&* zHmiL#*CAylMuViXJ>#^33y((3w3x}mL%)fX)I&e)mh1XyB4ES3%0Go}0E6n}^GQr5 zN;*J%6JsjbDC%XW&%f>Zgyiywv;t;^^#U=OSM2R_Fp&V}u%N(17!E|p9`HUQ%iG2= zD$LP^8Wd~di422#qc1wd6)9F;d6WF51oG#)j+&?2u1E`l7Ply#dErp^_XOK;19Tl4 z5sz3x1Aa?UZ6cI=0O2L!y&#c?@(WKqRY5-H$IQ<=7joH-_kaJox2CjZ!(r zC#0~=sERH&Uv&3^E@WX_bRV>$JPc;Dq!&~yQ`7B>xd=>CEMrvsklOC?Je1@YXV+5% zZuxq8S$&%0f2j{w*bDgnoRbG&(a0vZ>b4_kX~M5fQSp0N9T3MajMf#~Ti9{*zNn6v zdxDCWW{L8XIMY!r{&J^@e?Jyh3Wp4WiiCycVd-OCuFD5+OA(%P#P&2j)W9!)Bq#H@ zgeTTV&3C8rIh)uO(G;r$2xCL25azaE@6+g>Yz~&H=4LpgMi58fDKue+U}(eI_ePq$hcjkUKV?y?94dwh5q;U;G06!j*G`d5;LnG29aD-nP}2pv5n3IFPGM;F4Sch2sAC10FcQ$q)|Rb z)%EI0O&Lh%zqq5jTcJJVWkoU6Wjr;1fk_QZ*z=PtM9a@CB=HGUS18bywr+V(eH`lk zxofT5v7)_oo?#>XY;ROlA~o{x=2&DupxfArCAeCjYUYhuVQZw=WiT#rdA)DKkEEx% z%BoX~MqfZR=p3@??j*B|3sfAwkG&DLhm6wAnQoKsTqFIPHzVf1ULdj zLP`d@A|4MuX`-BKJpvD8lH@*JfYJMcG8#Vo>D-NkkSgqaqz|!xygk1s(r_blmBMf9 z>If;ZCRY~$m*rL(=@}oT0k=eD;k9U$T~RsA8vY0-6&kUStEX<8PnXqyL+~IRu7yq% z-W?-K_#op5*~qCF<1fYIPOkAbn}3jK=x2OonWcx}-jqj#Aro`JBK?bwg(CuTyKOS;7biXm@$YX#HMg}W8 z?m^cVxP0$M6#nP!9o%qBh;BUg%&tU2-A`ILHQdNI|6Xx z09|21%mG)dVYMR3@Z*N4Nn_7BFO0I%HU2db(jGDFvLpc$*M7A*58hnzX@1qM-~)Y; z{=hhYs95+VQ83h&g*~4lh>OOLrU7XtfG}oq7Vb>uN%$eZqVB;fKl

    7BD#Wd*x6U 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�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≪!<^03oqJ-v2MSG$5#$rkwG)ef7+ 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 *Pom=`*V>Oe#>ga0fKl#Szg* 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ⅅ0^0T)%q8~uOqM22b$>DsO97e1sKJ9{?`x#BC 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�n^%z;yk?g3zQ)-1fqSDSqie@4Dwp%6&( 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%0DxMD7!j$euHv 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

    0(NF`#fp`c`8HzYSt3U~K@K*yw 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

    b(QFi?7|4Mro151yEom97 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

  • f>ac) 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

    ej^nt_UO!iNqss5M5JzOv#R5ySmGPss4kY6}5N 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�tLq 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 p0iV2|ygudW1Xi4N`}310 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%0Dhf#1Mw0>E>(#u z7u*%nszQU^X`&N&$R+o7Io19{=rRyOkXvJkmhaqRvIY^i*dRvf#igX+qEVTc`N25P zLtZaa*r=j|dt(`ZfK?JDMbRU$8nT7oupUlvq23n17WPM>gX`OKg{X(x!^E`3@OfJn z<||13JhL{v0jfKi{ZG4Uf6lp+)p-V+a zN~ww`>P1zi^=q=wo45-I6E)O0(oKodrhRF5NT;;-*&{#a^ssg5=FdS1vF_doOn9++ zS+QNacyoQn&!|IhA)n|m(@sg>9nVzSciDvc{<+Ihep-Z6J|+X&N9QS7zngsTd=dD( z`ETUQ()J9lvQ57VBE+lv$S0QmLkIvt%(0xKpt5f^iBD)`W`H2Q7E;Uz-w~Yp*|8RK zE_80uKYO2gqaaEj$8F%J!X&D?gM}N|iCR5*+4hQZPk-&7W@OI2SqX{*tzYQYh!Y6Z zX5y1qpS3jE^PLdx9b4h*?ED-|7c0{RIouRWVeyUXbA;?D@+VV$7(~;Y0Z~u z@Is;5olM`Ek;-2)Y{?xU`I*|+-RJGcKU8KC<^6$$APCUY{j+S{>V)oTkINI50$t28 z8~%#d08bf0X~$SoG|p3W^!59D-zRM{LSW}PfSp5bA3ss@#tI+|Mom6qB)ljd#k5wW zZ|qYPH-*vx3rEIg{~Dqv}x zCpPxOglIxdUCD*lEf<4PEX8XlgzVJg;*HzdOx>)+5${mc1;vu50PlF$pE95yqL6`2 zU;9`15SDebL`}N7cZFs=@IKwQeKEYM;l|11T=D2)r4g5AdUpPf_z);*S2HQ8^=Oi@ zRfCd?^ZV^xS96iee<7@=>{n-O+j^5DN+1fGibuEQ^!?aW2JT!i`U#(p*9O%8X8t-K zY_4cSY{D5u`Y0Nwz~ajh;rh08g#`#1oMrNq9!pb2cWOem@1Ue8U~6GTtbn40>jXm& z(re|bmQNb~C~833mg~LN-8{8uy4hQtza`iA`=X6%l=b6yf{;)v_8_voHDT`&&k*~| z-Zs2El59akGClhSY%bX8L-@yo&tq%a4QQ{ftrPSy0|+8PS&b5(ZM9U$Z zIwUJ+{#roMR=G@um7|e=vhDd*P#N&FZfP(>GTy!F&4;D#15!7^-EK5+d(L6?uC!qx zv9$>tD)PYQvqhuOv#Jd6PyC0_C!vu}Lf?v3=h6i3l9AEOA=`%Q_)A7^HADf9u zgiD+>FU&Vp@BOXDnRPP8I0*ehKi|CDng8K`<8V8oH)+;EAWW#ez-3$e^2r|p8KRpl zA0_V=&GX0b=O((&fbU+ahhRRXdw=ve@MBu`$0LodHIx)hjcl<0om@*tGzC>dT85YJj$#*4RkN@n`fX7pE-A`$)SS2f3v zA;<|kOh&oOwm-ARouBp9?-4SZCoA_?oa!c^9%ux3-16ioqUU|`6S6vXZ^l0jGQ8AT zvL;^E3;aSLeA}EK+RnsA*Uv{ER81nDv9|N9rTkIl73p;-X3l#WWU{#V4VWLqnCCZ{O@BddJKfs6feXBF|8LmO|ygkyaQ` zIIf9&zbKgJ*Y}o~){=P(AcJM)T36JN5@E`=th`pqc{<7tC5~-bV{pB&do;9Us6GvP zUg<|b?c4XNOT5NVK63~)00sOhxVi5Y3d&D_i+)Hpg9$NI#$C&bZyf6>r(DEU)hm#W zn{rKFKN@a->1J2r?G!!LFNm-eSCJ)j=-zj^F|B9a=0{2cuAYmDr>OP<;e)d2+_h!C zbk1T4wmK|my5zM96Po(R5(zf<9U?9=+_d^@{k+a$JH=2R;kXC@0l>m^WoF3RYQn<( zt93)9xHea>weipi$swe&$WB{Gb~q%=ElLIB>WE`#*(AlI9!ZPjD)+=anNL5OcWn2H z>Q4FX1Np|^alZOl1dQUBXz$s+H4g1?na$EvM_a9eKIkAJQ=KKxtvdDeIw}Wbdk+q2 z92boZ6%h50hq~erAnCEUzOl#0g=7q$ARE^Lhs{?FoU28(0pMO@{@ar=^C5+V_Az3wU;Vo_* zso};59vh|pDP^E_613u^HeH4F>8c8j!!%~a3kf7wk6=S%&jroiWeOOp?@yZhrTm^gQ$Kk&7d4r7W@098ScwI)qc25u*ZrqJkUA zx@VsDS1|`1)OK zF;U{Wfll^|a*&O_86)-Fd+HnU1!Ybpcuci6&-_QZar@$&s1?imih<@Y>@c06@0Ao( z0w$F4V1+LVC5Bdw8%blXp|3Qm>eZbh&OzM+gPGiiR*!@@H*hR+zP_>L^Bu-lmFR9H zl&;IB(gv!HdR7*N9GU*-_050lVQXA6cdx8$-e>rp>2ti1Z#JTvCjhH3`A{v3C{P*nHO*?IyppA; zh~4YUq!IuD{0vqMGp|liv8LR{Qbpn_{>-_Nl1{7iO9wK?y1@YArI z*u3z*w}dw#*$IlI)@@^^S7FxhQ~2F*rN_ZF(R_~dyL3uu?Veo8suD+7=)&>?@~hY$ zSK`-KZ4$7r7r6l0|k7Dfe=ekE4vBeqm#6Tlev! zVuHOu&#}Di7MzV$(llZq3L>6R?Q39#e>kp6f`91>!7}yht1S2Lzs~`UIN$J|`ri0* zq87l`5$g3$?|D#-ztsNbXUSr&V|DnT1At@4ZICzV(~c#hO=13UiZFdimQ1$HG;WK) zh5gW<6GI&{N$C86E#yrLWdvJSg8ZRve_Xd&{tPi}okOj~maZKcxxP$`-)?{|(nzhJ ziRKTT@3Bkn+qc!+RFrf94aTKaIyOWn8z)93!)|+QUAi_a_JZ%}8XSrjZ#$rq_icBU z;rv&l-TP-Rn&}dR{j4<`m``Sru5A<0(Z>TjHAZ$4eT#zfc>@$8)#gV>QDI@twEGnv zwc{Q8<>s8j{QiBJCDMnTEw>p_$h8^c_fAH6PuqvRLo>J4;i8G5Z~@{^{+OO<_vFN; zGqxT*pw{O0{ym+S{l?VU7&UCK5y0XOof9_X9Gm%U}nnbX$_Ba|m|GhTB% z|1)#i<1S`d`==g+xu%)c%eP;DPBh+0MA>JMRk=6H1Fk;#VX1Cc>xhKmIf4kbBUCkMUheR z1d}nDM6APfXDgOKc)neH+SUA*LN@?(36Ax%3+r#ld)6NBhR?x13Zi#sE#TaK{2 zfb==7@5g@gMzE5KddB;~D6ok%JlwH6151T9q=M3(ale@`m*SghgI{@8v>jv}%+X_c zF13fH9-7Mu0gi0X7TNqoCT7V3Go@cv<>(bIeF%o9w3%Fc7P#-QzcMg1?fM{Xc;O3y zqD3l~qtPIkq)XD;C{Y+z`~!jWy`#wchZKr;#M|#II29S5iN2C01$+^z*g0k{&=gbz zQ}{jH78{c}-E%Acis?rq7v-s68){vox0hLWC{A*(E)3Z!EvXR}@`2myZM@Dy5RqRt?988vXkyw640DspH(xI`MBn7b^^rE9qkl@$#}1 z3D9;U@fmUtJ*PRjbA;zn^H03N#jo|tJI{f|T?Z(cHn`>%Yo_y&oYUh~#srB`n+b(= z$x4&)B`Sr#O2v)S5}(irUFadu;(C-6%60eIQ>n`JbvLnAz_gb zY(f_F1VEVQm!d#MMY}L`Tr^psUGFHfod{&fT|^ilUGw~0!e&Sx`jbAas;l&|mqex+yD!#N@YT=Txw@J{SIg_eoaHV77-@9x61F$|+v?i-^uW!+3w6Jd}izh7t z*##8qRs2@EUOCCa+kShQ);N9Z>l=9>+p+IF$!l?@{kPj;Q)Kd~aUvM8(xeXe+veq{ z8W+N%MNo|=4XQpRf3w5cUejR6)bV0p{p6vXslexX!E0S0C!gkfvHEeTCDAFzh)pB> z5F99%%E!t@id79{os^)}&JEK&3l`zzf!uGWV zDlCL>cnM>Ke~VY@mT?gWavSAhFYgJr_giI7l!S&`c!&MZ_Utt|E*wh?s85q_I0ah< zTUj%CJG4!OWZ63ZL}{xI;(!n6u+mB|6FM8cI>rrhIF56ZgZwwIK=NykZiBzc!9PCA z%3p#%lsQ!LvK&MSQyH|Xkur|UY;$i@rKo8;S6DZBu9>&Q4V#-caWm29;vMZp|@s6kN4;Q}+6sGfRHg zvkh8{ySPNyY;=KO;!p#qEM6IP%gUN6T{`tWiaJ#Qh(EmeiVtAnq^d2EL|W7O+g?zX zco#-Qd(*ZhFCSY^K5APsv#OT+3i@exNN*qWEe7<6At7MJgO|uScxkkXMsAU%;pT~? zRuatLG1xJ&oHZP^hRn<7QM54rE4Be4sLZPP3@V0J7U!ErmOyx%XPa=`>P9ux%F=X3 zn%aiQW#$J{pF)f>2TTitNl7OSotq|S&B7GN)BzzR6PCQPpa&0F$ zHOUy0;U983bf`{7G~h~St+AZ>Qq6 z=g;Ib>L(fNQ&PupSf|r)OirF>MqEL_CaAEQ7B(%d zWA<$9Ex|XyD76Ulxeec{U7VKD(-DKCq9{75AqF|+tm;24oj{gM;KH|m?l0)km*w`zHEaUsyF>!|Q&--D1Lzj?n>i}rJrq0&ObKz+*(x)7 zA&7Pw5Y?1E8bwx?YOcuVem;#6gxw!PALpQ32+7&4HNsvm*?7SGAW-SR@|s>9Z#%Qb zWn|cbMhf{&*1bM2AgtH5`C}tnPYC|vW)EcWR`h9;IieE#gmhsg&JTJf5pRmpVy3ep zL5=6xrwD4IHQkjLW!>m7bd0Y7hn0hg_-5;f1($hPgi5=*Pv|47t=iEd27{HLV^<=xBbF!rk@|;XAo>Z~SBXTz>Jz_XTtka3enldKo5bGu8~7BaMa2--iO^_mnNk z3>B_$&`*+_E<*JV!Et5U#S|WdMhy)j7bYc27pti0_!J;h{*Y*$bWH#5gnMsw%2GkA zqsHUV+LdO95SxgIXcn>TL#X`^q2oyKW;)d_SUO{sA$)5JOWqmZIQdU|D66tMI>c1O z?lgps`lW;Koy4g+`3*csgGRu@et=8|xiimpvkMY0rK!AUFzdbCpgHSV%5U;JqvCg~ zxxbEPz!7;W1H#nF;|zrW`cj=nZIRB4nJ9Egc81GVRyUkOj_`)p`o=rCovB&age$eR zn=cxyE8uco9R#ggZFI^6=z<)BzpVk%w}HO88{E`iZt3aDmPwat7c{MM3uxF8(LK{M z$~AGm`X~#zbix7`w)>m+|k?+~nOe-v7NSb1We!uI%IYdo&JQv?QKwa<{dluHW zd4q8)+qE8*K}@=<`WC)}TTtR_L)YiYDJ@zXnWI+IP#3d`%PVf^veh{)++`)kgh;A32V+QyTJFt8~EG^Y(8hjNCqQzzai zlpO7;*%-GBQCPgpk;GD#q0N%q{}2LzzbWY|N8-I{Rpr#;3>n0Feeo+PsO|`;x~dq0 z4R9j7HWB?n6OGSrAN!ZVTG(Eu)mRiBP{1ozT$%|~n>()hUZE0>shFn@u|3DptvlHk zB%`r)47zh@SW&cg>Z3h-eG!dkgBcgTbzvKMB%o60x!J*WulLEG-om++RPXhnT4Pej#<0VDpwGel zj$5+$i_(Q9&r>{Nc1;IUrxs5@6kG$f5UuTc5p0+t}Tv$EU~qqC<{JQbel# z9->HWwQ*X&8KeLP@kK4{zjNpW0Dexcfe)*rr7vz>Y!)tyfXePB-cWrP$ZSV51l#*4 zi($az-8$6)F_mL!+23A)R)~DFoGwMBC8}I9jcCIz*P%_FbF0|m%#P4+(0*u~9cBB@ z9%aAR!2jK$Gum{o6Cx@%vaTXdH;oRYTUnlOFK4THcVIGxj6^t7dm;4Bdt82>v*LTz zTqErg8`JQloLce$fOl#=ZryM|aWO!IZ$%q}JXKEqi|7|WJ`&3s$DzY9ta6T%K6Uom zc@M9_K@bTpvUG%P6+!lF-*PXhq$bJ9q?Oy&d-47bQHRGV%K$)?JaXPJYd?VcVJJ_B zh8CaEX@5IAfi!QcVN31Okb*055>5XX@=e}sp*K1VJEPAmJ$?%|;9JqO8m-Ll(9!K> zJ%QerIF3`FoC9j1Rh#X}uXM496ZUWDhC?UHmcL|$p9@X1bIB#zu2*EBe#T0WPFdz+vb2s9PPf@UPB?kj0mE)!a2Lp+`m2Y5GU(E7a#*_&(-f@_FeZ-azG&ZMET z6%cbo=og17;BOex80#YGGXCYz=_e_eWJ@{RThF)#KbvC2VWK_GuNYRwNez+Nl{E5H zHjp$}`Qr0k&v7ubl!7TK{8KgKxzDF9Q5!X{SsyycvD!V0PPsO7xv(=6RSargf~_GG zwp`6nco+ljW#&Z3;``Hg=?pqIcfLFg-nevvd@zWaY-@d%NfNXMdP}FZA3)A8#>x?T z;@}u{yo{?;{_#bT-n1q!?7D1FD*3H>rW}EMXXAz4X)u&o{iZ(KJo}dT<>v{!NApO=GNd4kSOmO4Lz5IQ5X-Dl6rj{kFh1`4NyncpIYO2MNJUVSvS;k_`ro z;>K4L_NAczjuCEGz|T>6OtCTQ-VL&1ZIncC&yH!jO#J5R;8;Z)wMDr-_rth>9NZo2 zn(K&D!-tdOyxNq`ZL=odMXmK8LcakJd{k;V48}?pk$C4uH^ix5yc}WQQ8Mf=C!2 z8WBGw`qPc=xr9a~Ogq6=u&mQ)lbgrYGJ_RD&NhtkoR>ai$(wf%u+)RA0B%Q_SnAi_ z{y-Uut>BC(E<;ETcz>1OqJ7MdkXLO}6_oVL^w<#spG;Ms?r&e^?X}5I6hy6FANawH zLP$0`5p5{zY|fsZR#e&y2o>`l??8I3pqKE4!neyq7cjkU>s?(%zT>AN7cKWB%kKMf0V zG#qhF3ecjfH1^_V4B3|(C72{P$2lSlFmX5+MD{&`Jv&Uoc!>b+GUSTk|V}N zX=ou=8c#cLEp@JDA5w~RIO6m!1q=dcw`JZsHOUj5M?#10t`+Hq+@;`u8Gq7$H+wD2 z)*K~%g%V3->%pF^fnuH~8G;G7=3Z#e5E*GdBk5cWTLed=#`p6KXB5Yq_~5xh>9(T3 zx}NsCc0V9qvJ_S^1}X`cg>s@&&k*W&;4d`vjyeqbmcmSqF%9PNWyD}2&#hf}BHj{S z)S{0e&YQ;{Ymp9|s8q%3w%!3^Kt={MMl=}YsNoyy;KDy}(B4WdVH;ErPVNz#uNsP@ zi}f`CfZ#S*yO~U8Go~fqS+?ZU#Q*v(Cur#fR_i zhhHx{)*9Wc%ps^|C;#cVwXFw}Yu>Ny^|k_}aJHA!{sl%r_u&#!_)>pr?}?aQwzJK`_&OPLe&V6(eri1z{9 zO_EEcM<=vmoblRmuONtw3O`7zXqS{$e6@p-PFkfCqa6PAJO8e0DOm^Zt9&_V?)RF| z-O01v3==T0aMr`V7QGPF&jgwao?VAn2$`w~% z2dZNvF`%|KwKcW*^Mn0jj2S_Np)txn*hr{_esNS1u3KNRGM~qw+6CaMqK&|A0Rft! zfDG!0J^fHB;Zlm%1hHWT#ctX#h9E)F7pG4qyGzi+?Pmt{v95+Wxe2h4t%JYY8dfY2 ztTa^08i9%sRIC71uIrcQc zaqdWMy@jeG&n2z{fx$o6wZKIOFq9=xa=UF0vNEY-v|TRM`t;*HSS?&R-|Z%oSGCLJ zoa}fyqgK`_cUB4PGkzSpF!XtCJTc1pskx~q9#uvrNzgp{Mm`Xn{@;HRo#rSEBVV2r zSnOnekGc7(+80gB8c%mOeeH+gaW;Ki zfgmcB@ToeOn7O54XrxL_X@g4Pb@w4=g~LvKsH3tWJ%0 z+Iye>tME-g<%dsRU-p0JP#{FD*fKve-I04t=ebdsLkudSl_Z5+haJB4*{6o)ZmV*@ z!vz~8t^~%%4>M-!Z+#wq?~bAN3K0ZiKNpnZ8{|zZCIet?>+lMrc{cV48Lu4`Za*@F z9N#QYL4`RYvMk1D-!n(cAq@e6!+4mj}Z2ctukTnu5aB9eT02Q`T&Mu3zsKKVTyfiq88Ag^O zY`+uBBT2Ok-|~8$X}`~Vp3YI@oQP*ugDth$2;D(hOs&IfwP$L2tWTD_i!>9<`8Wz7 zm;@sDZ-YvWciytIwru>|^H%qdSCZyoDF*^GNxIx{qG@&Gs`ZYY!^Hm`N&!HMwUrDW z2zvqTW?5lE z>T-DUOlTv{=iTNXLO(yxA>y^qj#Wcl(mTZ{L=WL>j)_z$ta1(g<)_|7FZFXWu_v3I zT*qwhnqTefTa9}VEKPDaKY2)9jvV~2-3kdC83O(sqMHn>t~O%>+S^M{#$o}PUERII`FQ=&nCE3 z)caPg-8u?;&Yh1Sp5u#>N4=jz<8maACJRStN{|O7Wyy+y*rgn* z-4>blEQXT))3~(1Ya(%RT-3dkWetmm&FUYhWA2_O(8f(K(_p~JEq$FS$di;JD_iwa z_dP%q47S&1%CNMZL-}?SuAoGbB==0%FPXktXNQsh6Ga6guIwl$zM_TR&4jXZJGrNT zo@EjGz_zL(@4dhA{7Ez(u@x`e7TJ7tG~P|X#_;C_0z?Wuf&eu<#KC?i4nmX`6pM5v zR^L?4tKsJcm z3;<20FlO2j6p4tir;ZigZE>6cH2%Z?#-bT!ff*$i!(~Bh9l-Un5e+J73Kq|EOoa3! z4;?jZ9w4dUbCU=*qKFu4CpoQaE2`GBvL1 zaVd)BW(mN=L4j3Fhxp3)B?oe>s2Gue@1iZe5?fUiQ~(G+?$Y6(cbw|Lz=`%`3m4Kn zGpQt%_UHFayK4ixuC!9<9Qt2ey>oXQ-uM1Jv5m&IjmEao*tTukM&o3n#SIpM0l{mrt_u%vKq(UM4JznRJ@4YwX*j7mBBIDbopWNPIou(2Emqj zOUJbgJMq3<>;WMfn2efp2)6h|zOc)v!8sjg+0w}Pd|MqS9oX#TBgwM~!QEsR(KX*Mm}; z&Pf9phcEJzP>A5rX@8O(mJvFrHX=L5mdbDhybw&Sf|fPHks)hB6<9h$e}_W{(vOtn zHE2`P5?Jc5*xGPt1Qb2%8fe49k0heQ>@4x~!9Vcs@W@tZ61>C^5s^?q!f?cc^8~vj zKrp^7Ho($YHvD0(ZhBWns8)rfxM<{gY&5WD^>9xLw008FJa# z8u85-&^~kSxwG>BRSH2Nf5|j*;n=iHf$&X6Lwd3d*49!{C#)99Hn^EZ49z;4g@7PY z#?~W>fdur{W13(6eJqS}zd4-<)R6&Pw}C#L^q8?ZvRQ$#VuX)o{kxgd_@Ii9LMIdc zkv2*~G$1=0!fj>NH_@q&jM{v|1JR2>*UY(|Xb{6VeU1a-TsIMkY8PC3p8l1k-lNx4VF5UeZsBVak_p}H-LfwP z)c#*pFy6%G(|x5R)(zE$t)7^l`UGw~icmg=ly0h@vhvNo{&h`AJz+nDWTZK2N+I3x z-__C3m$A_9>U>Fpk{PdWxjMY|9Yzruhm_?0i!-aAoh5XZ$#7!3w1-x(DbJg6l>Sf} z7xi1D@V5yBa+D6qKZS0BASjf!t;W&c>}X%AjL8jR$EJ;?vZ@;jv#U>^;yp1SceLB} zC9ZFN-m^T?fOXv1uoc45BCvIPbu)Bkz|wGF2=Gn}ou+{EEjf2OzMiR@kEnItqv4}L z`p9B=;wLkTlT)JJsbsIym7!xe)BZ$6mzD=dL_!s4U$g^iQQd953k7gnhZu)IO#pVD zIB}IfKSfae#AmupY?c!<#(@Nc`%dTJT_GXKGdI0xs&@I@mJqx17nqqz%}uxD&ukM^ zQB3>R8IghZN;RY;axAnW562F?$U2j1z3oH_)`v?LonGnbT2aoYGWXMOc9ME4a+C@x z#v!%vH9=cvDXcBzcbpC*mOgY1Uk%-<%|y)?Iqn$taH+flK^_&mFY4JBoGKChxSrUQjx!M{<|5NA_c(KX8$_Iycs!!PkXB@5&r+lM%$xt2K&1C!V7~id7l2H=2 zCNIymkUxLiU~-lQ6g8MZ@Fmwd7)yt#a@uePU z;%1;tosRQ+m51^Ew>>C7`wOG9z0$sCUv6ArQ`UTLFFoHEPYdvbbJHhNq;Johj_t1? zO;QsWgwDpq<|ZV%O83e-P0=JUy7r6Dq2`f-uX}ZELNqCNc)PG!!w*HtsV*+Fz^SYg zQ~EX>!ETu+_(yf%1*Lo4u5IAYyc3eB)}kLI---}6uzM6dAgVo|VBWoP+V~;7Prmi# zJPWzQj+3S8ySHBJH=~Mw%YKZ{mpmM<%4}O!}54A6EFKtYzoAsw+XbOur#= zHuShb7ABWH4#RUz_Yui}FG)O4WG;%u(V%M7gOv2v%^~$XN);XsCyYnZ%S-+*oxHrH zPNbe%?$Z^fKQxpmm3EF~5bt`dJx4wrwV{ZKa|xSzYGkpnFCzW-WU#5RUM%yN*hXL) zuEhi)M*nNo>R)_LefP6~Ey^pIAr9Xv?I}n0yk+1y>rY7v_voqwR1v5hxp3hD;GLtvTiBI}k(I?=(brJEOJhD8Z} ztiMV0tpF!kk5Nslf$N4TyDC=x1Fv6?;WPcLl6L8o_!0tJB*JoMAozL%NO^hyJUYTyNn#4RVKb0bImxx5Pm(+N!Kw9 z>}h;-Bll*?OTdAfAz2ZfI>A97gYa3o+ilYY8G`0(4uosUj`Sjgi?Fy$J*CmGl^aX& zQqBF1p{UY!%LlpDyQ3E9=}P5Ksj}A8xPf)*PP1m|>k@-0@TrNb81SdC+M`bU;)OiN zrX-^jVYILzXg|`JeGGu=#~y(eV*a3&k8wyDMRW=*U?HvpzE@?lCc^GQJvdr)39D1w zo+!9Hx-!(LnuQE~yP=ZaFiGr&&5^oozu3%p%vcjj2Phosx|#EY&)3ty28uFJNz(jd zX3;__rZYla3V30Xhz%!)=cCN>=cD;LMJT1NV`k2nh)9=9d$b6luu*msq0 zyDNbr_3)}ZlSzk*|J`z*w(VgB9hD38H*MN#SphP`xNTaUDGs^Y*bKV-^lT1Hr;@&0 z(Y{9kVQ_r~4T9tj*<<9<5>Nf{+PHM-wo2+BV_R}eY?M@voa<1&-*wokVow(T9voZu ztb~$tCD>$ak|%eSR|semY741rJUtf7pfQop;AWT^1Qz@Xt6z4`2Td0lzI-nf%UDMU zKp${h1kBq1bXZcrcYua(2=dz6<`-p8A{gUgH&;Zi%6AZ72hD$F`p(TMZx5OfayYkS zI(*oha*K=Fc_6c#pSzse?&jxQeaD4@B4{MxWyvf2aO@IT)U7iYhGfZaR5euoOx!_( zmc#c_(XxP9=HxiE$wC6!D2i9X(t0suAEXKP#Qb_Ws(474EWA<>)Bjzn(0lXUleWw% z=A9+3DpecSHm(mmO5FE z%pi1>mZ@~1!9KASqcW2KHcAJEC!+r#y0Re7{Dk{zlMi=$RIqx;uq5M}j?l}`Fd0}i z@R=w&HPuK<-y_8ciM4;fLq|d2P5fJPV|bSaw445{riO6@tBQ8@lfi92D!0?)+u7)- z;0E@h0;WZvAYEWPZLOkhE~VzC$wgO^W|B#SCG}!NeQU)s>(ivma8#YN7 zzkw{?-O|xg;#PLELKPVqg2EH7zR%+RHUxoGH;oyDN2Bnul)b-{y9#4*m;DZd^y=eC zEQ9a0Zh*-hDzrVK$h~>Ua--M*nKDq6B_)dQ!y+DI3BsX*_tO!Eh8GiW)DQpaeW8BWLqE4~Avmx~Ql; z@3X2%mw834`&Uyi_t49ODA5Kn;n3e_*EU zPOHf01SI9zbde!&IftX9Cc`RYNO!k#yj^ix^{T=@VXEJHkA((!1NLq!GpPzmy)jVgGhGb;`ASbNzy*&Wv)}aZ*sekW^ zV#UuCwE4lrkJIeRAKE?p=+{^_m^#g3X!Q2Wccc!~b`LTngQYr1mE&x^v4Y6%bS0cW z-BG9Yy^RHq6?S5)!$voq{UpyaQt2X)U{>0;CUbBasZCBg5FjJ-uI#+4s~pE%vQb`2 zPOtG`HK|0(LDbgzr_krmP#K}le3Yo3<^e)2&QIQWmUvz2hG_4U9ong1Q#GmQK&@F-+KzmHC)H7K?i9*!ajUb&&U-^q8O+sATt7C!4FM4SI-3|l7*Za!N zi>=_~F*<}Ay9?LWkUqh#B#7Jm4}Sp36HVZQ?qf7^QDhpbR2tqfD!JPH=rWRVgBjhv zDId~yRm9Y5SJmQ=9J)>{4SWEfamj&$yE3)4D-_HSyg_Lu{0{ObiYRmb^ZPK;LGDIT zb)oI@xT0`s(ef7VRy#&~GtQZdtavgJy40kMNlGIEFNUS$iOS5qBsYOY4E%6c#GSGy zbvXXm9AHu=44>mOFx}nKyMfoH2CWe5&fXGS0Sc>-dG0Q1p3Zpnf!o>fJ@^wvklC3g zy4Iy4V-~#+1c?HPM#cfi(3KSRh?5Q!az2cO0X`Zt#KkpHiLS5jpJRKM0HJ5lIzE6&D%?oTr?PAR9lA?F|O%2hdrr?F+Y&zsnt0Rks-(JsK->b4ApF9je;-Pj6#}$gO5LY_C zq7()2kS9$&<01pqOQ8NO+JEu?U9=3qkz_+v5 zzb5$S$CDaogyk@S=Q7wv&(A2JoE#9<|lkcG8|!Mkbe zpcm2)+pZrC+;qjvj#3CCJaR|*QhA{+1Sh^ zsTbUsa{1(tcn?A6<@W~&s1j|D(EPngYp5dmVi`jGJMe{hd}Ox_=R!DFO`T&P2P7SJ z0SixHij4^Prc|H3RwU|*&SQq00UeEa=3}4^=Fc7c9gm$}7J$x4(Y)#Q`{ke%bp$Eh zhZi56h;rX{*dQtS@96Kq%lD|J42hv$tuM!^4`NyDhG%Gm#$aM`CIdn6XMZsGFliJ` zq!5D_`sYdWndK&em@#*ty{x8cX#mtY=D@2I`G#z5nT)Y=Bpe-D@>g(IGP9GD;*9cIW#7<|RQ!!pRFus|0#ce!rvkSEQ@orfdnqn2nB_G-C$W%)b?EanR zze(`V2|PBzP3vg3OAA?Fe^w~Nn7<%*F#_8LL*gr|#&{2tBb;}v-l`nV8@2{1GI4P*Bh+1Db@(T_1=0Ar_7~EC1dp4qu|>0Mx3ka8kUk)>!;Kjr6e}30@)%y%}>? z2`TAMa|v8oYc;ZJ+uMDUkQgFSG;vuH2|kJ{-Z2t=%NR(U4oM*i$Exyp->DiEoH>E( zDf^#ClG5F1ki$Rmn>+}#B)C!@rz1^UhXZe!_&eaDRT!fo1MdSPIuiP#V>=VRsQ0Gh zWLb23mvTyDQiT)rt|0NB?j#W+o?7`LBl~~;v~R9TjJNl zvk2~)s19JJ=&dY!RE4QvYuG>oLQ))}4g!@2N-EI!X9zJbmx0afWiC*N2j~nsAlaWv z238kd=aZZ6wyrZ)gMCetIBk{pEDZ|^GYeJ()e;fr?6To6V$=$*2Ys##iUA1Ukq>~t z{~`rGo8ajDdS|q3msV0Sna1IIu{5=g;ze*BI=QuO!_gi=TF+MjtvDob?x*JNL1@mc zi!PGKU*mnrki%_Sl^IY53q@jqx0+%o1k7f5%1e0qMS;988P~Kd_fegAMlpG^EJnFB zUAV|p#izbqlw-y6;=D+vDY}h>w#{t|Idz>Lr$-G5jC^$~Ly%xhJ%~T*k*Z=8nzvwt zJqp>-^EPEB{CdSx_qSv^Pk!Bl#*pk*Hb{rH+`WiSmgDbO_ZJ31~wsV&nO~|*tsO|5_@^`n90(lyA|{$Bzcw#&TAz=vrj&7(^$>Vr z)of623hs9~;=LaO3Xb2QjV_iyL;Pw<_;eF!?OJcJvxm@k;80(`$c;l^pC}c{f$mA)hnx{mMMkt@F&nB(&fGO}0i}6q!h?(G zV3mao+L%?8OmheRk$QVkezTjsm1?~?uBY*H++6&}xP1zB36A~~aaV0KUR{%&swxBF z&g3|S&!3EYJ7`TXX0>UABfWICyAfM4Jv<{=Y%p-<{bDTEh!mNxc*qQd;K$QU!73}L z&WNb}uN_GKClc!t;E1;YMx|$Hi$XnI)NMk(jWv%aPl1v%I|0+=+&iVRr{63M3g#Eg ztFZ$T8|x-E&vrR_>{^pE24~PdUvI=CSOCDVw$8wsU2s*LHdcI0+m{kO!3pIf$ql5@ z<0vMU!{;#uNdv^wGq(n7j0urku(JqlDPS^>dO ztACZk=Pie*ykkv;{$?E2`6OVf7h4moZpS~a;`^fpI2_%(->*qJghFG7uhYFwm)NE-0t=tXK$%B*VzDMHC9? zXhUUic|umvFAm75L?2p7eV?iJ2V!qS7YCBPBFws}8S$L%rTty?@UkQ$tKyo4%F$yn z3R0dIZdc(|8!%$C+L2s9tJ7Lg`N;Aws7i~YgHzx*QrtA(=Hb&OSY@oaBZE1RQeppe zPO%iWwlT+bjD9gZWyKn$+|n5TPRhso*3l`-3kXuD5nn&zpOjAD5M#(7oCT@x;MfJu zzO@HRhKG=n0))fU%l7KZi7n5|$lQjs<#LD-WOHx=jMAI@oq#*^kcw+|TQ8Jq10KEpNG^aDy zrOlyuDceO9-OXTvzjg$7pnhOZ5hypzrK7-hHq)LTK>bPBF81l&pXqG&9TWGEfKAe4 zTsl>ErCpHONu=9`t!jIxId?D~mb^FJR^U{pvZiR&{6?D3pU8t`_4*x`t5kPFn9P9} z8IuOo8>`C;ERf;}uVh9^L&%}wJi!2qdFTG5;jx)LW|kM&{L&v}G>NGc48Dizmgcjw zN_62jenKG)s9-*d5NV8b(K8d6>)CQ*-A6SQC#`E!=;82D)>^sxwBjBtWHWtmTwD2vc&EB|2lA7LzxLj}{y)AMFD!_E zNknaPs3im=vDEyDn0}A?p{Wy2!!#43f*H+n%*=@KwK~phcVDP1Q{_Hw5~cCC(wlu` zMqv5gy5n~4DEkxpB8R}sv%y{N-?Z}LvM&G050_2!8B^YiEG#U`4@Q~YNmOOw2IWS( z#S#S?06-Wrx3v#Y0tXhtcZ3(+N^8bZ77wg7{lQKYGDx~FCo1_JyNrqmAKh#I>Baw}o=SZAEN{&vvJydE z_53%)pYLjdOe3Hfw~hM{(iv_NZr?G(I>NWOkDt@qBPpuOcplU^O$jJq!qZWCI7V>< zD2#A;UOK5pB?Hc+`wGhQAJ^k)RI8opiQ{zOcs0d~G9ra}@r}=|g`49G-|VR6j#>HC zAi+3T_IZ~45e8Y9sPead8cdc-hlA9zsvAbZd^tQ2_kx0J`k{H!ZBN{p%WS-=lrOR*Cjc2%q16c%D4)MlG4x#PaaN?D+g0eoqU0>ME zvwoI)PuR2`y^X#fBl<*ne!LlaSjTKz+@{@a-&p3h2tYFn55eMbL|Cr9=dKd$8H-F_ zmy#{j$&t5CdeMR7(1Gg;!%i+xbU8@o08QwsE-q7sLO^@F?>HYq!*jWR#eLEV1XF14 zE3=MV*uOTivcJ+g@?xD5*7}l5S#w_bVLw(15PP`)2L+NL*2pHix8#ZbN%!`;rCeWh9O5be=mz3Tmz;R~A8@tu3g z>innBC(D`O(=PW}ZJSBc%d%SN#};Au7nN2w*cICWKWT%6Aty1R!rEBXhj@-Y?+`07 z2D60#0034xe!2tJFuXDsj!JwQ3K>!>#}rV&7IPlRJg_ce{Sc$1Qbh?_ZYOJb=l+I# z(424Ns3Co!wTaGf*!(JhQW;ycMuJ0!2%ylcOS0~{c)-&+^Tj$vEey+bpzegHl=~(U z!qMBX@krctE~{Q#(xi9cd=I7Zc>Trv8Q zY00-~noFM*FKy(9K8nQcm9eNN`_3!I>NEeL3lbYpu+raEG%T5=b%W2L#D-V)BpC|s zvcyex+npvlLgb9-4SR=4FI|t6O56OX?|-G&=7B27&2#_`6`S%L`%Yp7c^o#;?{q7O z97ev=>*?E(htQiSyV1z1$^9)6!Yv2HqmP7o?yqPTiWKXZN}1z)I22`{E~heDv{FoG z@qY>(0YW}#7rU5sjI_mbraw8>i0aFlm;AQLIe1k_nb}SwLA4DY{95|qG&LRR%FFSk z$0OynwrJK?=&1_J3Zzl}=TqA;&5FlJHahlr7 zwAB%Kaz$lAd$Kd0iuM90-)Hbv1&O*v$#}n2iifDzHK`tXvf*j~Yt(J7Y_;c51HdLn8lVas8rxrO+`&#MF^WWNB`3zyAtI#42tn?Ka zrsHo4{(zpg<5`|Ed<476=*(W1Fpa5!E`!4e$l6adx^8JQbvL><{}lQp1)uV5p3%@< zYQS{qQ0(i+^;l|Nawx1vG1+Q8M)#@F&n(zm>7ch=kthnoMwqqP30q`rU%*O7JLy+e zL2(2;27-9SGO)3z zcZ5l5w`&5Jf6%g!g0cXK9Pr1()@ zsUE}Cz~dIj=3VH}>Evw9OUl#N3>4{d4=IF&cjZssI|sQL3>d~ZPK?ve6|yR zohrM&$gtV^Vi4McN?u_3TM)szpgl(Z*8*WHi-=28%{Wm9!&+!GY`C*?r+no45cO?@ zHq860z2lHC?Jif`t6dr}9o!s9u^= zt(7R&QcSH{KB1^MZ|$Ksz~7Vjnn0hDkB>2MoUR<%Q?tzA1Jri&AOG(#D5RG{_bi%C zPg^3U%{WvZ3G-diuDklvj8&x&f#lr9?$2!z_^PxUL{noO-C*$)WJcHSrXieifI4uJ*kY1Pkl74&FP+ zv)XeU^x>aN`!OQq06HbXx?z+pjl0yHLw9 zHHb6;6;41O3-NUOjVhkIE%<#cN`r;yFfk0uR$nn7lMsSnLJRv5ow6@PByyHa`b?&4 zbcC)6e7}i;>HeP_-?{MNw*X=e&GxGZ)zOTy zubC=y{ixI6;jZwFREs4Qde<0=gB#Yu1gxj~8vU=Z0Alb7UlC&)~(<#OfkbM$vv% zORMc2i=p{NIY!w#-I+q$`B-pY4%ip zA!>}Iz|Fb7d8=vr8p4)88Bw_Jzg!ekSTs2nPhAZcg-9<^Yjy|nq^ zvMjT$zz?G!jbA+Ct~%`sJ<ztnCT`|pbL_BLURB;5t!=rTf4R<#~flA>5UKUvgJG%3&X_p9BukW!B z^mc=1{311VUN=)0AiB!cBu!jUGUX5ZzlBBZw_}o^v5rl~WF^~?+DBOxaV9zNgSPp6 zBfYx~%5_wi2F|ERG{v_NXF3HxY9;(wLH$Lr3H56%v=j9FSsRnQ$R8btN?wH1rU;GJ z*w{2f#^B5cJjc}D8P>LvHPu$IBoN>^_7i;LCgT|hK_WluP++I+Zzx4ANs_CP@QVc` z)$N#pO-470oW%K`f%Rn*X&w==CVA@Oh3vS8?Aaz^$fUSFJ5%n39<{Xje2pAW9qZg= z3LoRI#SV!%GYWjswJSkm48}jf5anb)YhF0bwK$nAjS;{4HrPa6vLJSk(an#EpB1%g zBZx>#e+%A)7LTz#Q*JuL)FXJVk!~fw#{2jsH4y>8wh1i$DfH{pSg)}$PycBof$`13 zIo6M}npL*rw+$|@yC8Us?h5$H)C2xu#-{^)Q->AstyVW1_ce9*X7{xdHkuO4er2(P zcSH3HgA1_0>$G_YWAv>hp5}MMA~!fE-x<{ePWMosu=-}7bai-hG_ zeb6!~Uk@XlFvr563uK0J!-TY#ccGbJdq_d*8=pPg1D(%2qDspwnG1?|kR){nZz=(F7O;G8q-i`-f?3Djz*zKLb{SxA}_= zQ_0z;_9)LUZn!{iqH*s_^FTt>*^(SPoAk7h?R;bnUe#Zu4@w?SQs&-PKYa*&JTomd zHB0(RlF4D6(d`trQ-u<7&#eMbiY>+fH>vJ6gW zcmsc5|Iwx~6cl@wHZ2a*@o^~kOc6BSK~QKEjcO`wM#<8_bKuWn ze)My4Vy7o$%{TR~lGQzcoM!z8*BeKc$PG;pd1P1zqjy3lHKoD zsV&USO!h)g$H}#gMlNvn?VBm%j7JrRw~-Qi9cp8Z?8WS@&`;0FddMo~Cb4f>wm*^r zA6%><+%-Hpu5GPj61{J96F-Q`Rlh#>eNgrOsJhZLvm_opb_t?{ddZ#g94UFY!!(4C zB!_v_f0Kt0uB0qiE8Key74{NAk7vOD(Wb^fk8-s}qLFrxXa3GM# zI>AxSmp9B;k#_KgysVP#B@hHUlv=pie46gdsme?iU7mO}drOqF5`qH*%Z@QNVC}6( z0x#!^#g%ZkHC7y5UMstnW4d>qy@M`EM`G5(pfh0hug9 zlwAILYgGd46I`9(lzqhQev|ePj)NB7BD5{Y`XW~ZsYKB=;I{GI^5lIGoDk&W#p0|a*hWhk(!WBLQJVd2Lm>rEV{}8&0t7Lk$;H!fR^}8;!8r2(Z z-R1RT=o6wAnqpbig_V_*EHNV;gV99E{|YQgF%I-HksY{hZDq4wxrlhgOTK{?rV z~b3P>&iz!j#kJ1wHEw^D`)EJk<%UZ;!37(Qv#S+Cu8fM|} z>v3ny@@Ecrv-apf6t{BFcX;&RZw&nH^1>b7%^peoFVvS(m73Xq$k$ki)MC<1zO!QC zZR^83Nk{X4S@?0wn4Q`*bt%ZHn*kzUniTt|&~Xs>wcuhG3f?cn z;f+w^3t5Dz14r?i&k?-*>xWb<4<)`cNB~7@LZ<3)_7@{30@L+^R$#fEfCB)&kTqN| zzr;7NHlU1qvsD>1!HJNun(3}@7T70Up4^1G%SpJ~*1O6P6@9hPY)S8MnV+NS-v|2B z=kr^*Q=WjK-|%)2PNsv_nAVX^_t+zQnzmf1y*ry6VK@ueaI67RDpZEvqC@)7=AoKV z{e+7RWYkERMJH9Ads@qwvrYkz^$wTe>D#Yb#A#QSh~|cEC{wKI2?#K$w5#jfaqpy6 zcXhTjUT(CI+C0vzpfROe=}ILz2?EI{EUVfp2AU)lRyF|Eo^f6A_{dOC$(uc&@+sc&P*d_!5-8+JK-Y$&y zP6=~CuQ%tA-bQZ?Ebm6jOf-gIJsruP-@4`T0I8hWC@QPOhrZ}pF|jdZM{ z!6#BxH~Cp(75Z}X)sp%!U8TmgYz{Wb-#WT#3cBUhZNYwBo_vlzBtf1dNc136MF&#ciu!QdB1wqE;bA7SX~wH}2by;%6Oh5_z?2k)o;Orf9Voe-8zQ{k-}h z;;e*^&>JL*Hawfp2W4Im_w8t`=s?IyR^3!1vtmY9R%_N0a&#FaCKm*LTa|SDxH9b1 z;jQ$6DR<)**^P~wSlQ32;F+){s8$Ho9(OhR+LGfXMQ<;)Q`-_7tX zRHO>Aa+05_G9>fPPDhI^cf!{R7U_YA#%Zsuo=9i405w1mWJZwp^K%DF8yzhkCl_q03?Ez z0U=dPnBe)%K4|tZ*26U+5eVVG2jtzWJ?dbZZw|~hT~&k&SMWlT+Wlu(qu7;g=nSm} zbP8Ke1@3Tjq79`NMn+?Fo~TBPu3eC7YmzTID0exs9|->)p;G{OCfA1YPr6GZJ3fC( zO2;_VGIh)P%IwS>I)$)wXRCSPSDhh~RAE%e1)3peupq4%E9Rb~9ZwQf*+1_~fqj#5 z9ncd>MEK)oS#NXFyQ74Ybg!jHp){nz2sX%nP5CtF&nEdA$y8T23)z53@$0nH4R9cj~36+at^e_^BKQCcxC?b@_blX z$6LC8BYfa=D7OCk8i86>a?!Q$Tb{UNr|J|oDEO;9z)Kq7tz4K!^Mx!VG7H@G!N*bV z4|-|igaA|zpnNMOt`*}{4GzakRCTF61!xoUz<)hDEr1;QFa!#?^l-QQ!=?|U?A@=k zYkXVj8E$CF*KxQw1CjNFu}rTm?o$Prk*86^XcL+-1%C7uywvve?7|!F=#Rfnf9-`LtZe9Mk_Qt6&-+o)Avsc%r%k=MRUutX^D=DTt}XSnHbj$~@-9p2C;EhFD~tL@KTL(L`Yy6>i_;6@n@%Usv6SXSl{R z_LyU8Kf)5WpE7qHUcdw`6r>0;j)o_231u6B!&oLS3V>Harxw~93NVott=482OubF>0Mev#M9BU?Uc(HWj%w|L;*Bc z-IZu6ZAS}od!~z(b};;ZRJD352QdTNOy$<%J7O2dZ}%jAeCOtS`J?cn4uO8_Pqv!p z%bGW4CW^utbDTf=Xn2LEA3lUwj@Em*gyTaWvq26t>)Y!6zd`|mjAsSy2Jg~R3Ljp8 zN`De3)V(Nc+}nWknkEg&1JxE@TWvCiT_*^s+7S~Dpf+@v0U#oruvx^`m%TbR3ysDu zebKW3MnpQ|_r-g?sMhm(w{B%T0JZR?g+!=a^X}kzyrqWo^x`ZH_BU2OUNViHhG@ea zyEvf%O&i3*p)J2^sEAKJC_n16sF&waYET5+P`GZ}!)AV~WFpPVIWzFGI15N^>{7G)F4$T;Kj z$DI(RpfZ|0Ud%`R)fgOevf%oCZ27Nq0y?&|M!#vg1^+AME&*bAf=l=)biXX9H$u&i z^biiqKAYf`9o|J3pN2+PuTG5(X!w{&Vj5(Rug^)yaI&n;`P!KwkmREQ6t>PC@9Hs5 zY-0zLN&>@|m$-twaiC_rXFaD=r5r@W~XDNyYK4S%X0D zvy8C&!}hUEsRSlal2=_-xL~y7Or}~<^3z#Z1z%bkAdJK@y#h)Ibo8X^^G6OOn$ZJ= z#O6|7v30PQ31K5qThvqQdZef%Jh^4f`83{z+N`9L{>)5&)(IUa^+PLF7-F+w48gSh z-@YwpfSIo~FDfiAv_jUFnUHa^IPE7f5X&LX=RbzE#<-O`%3DyCg;FGEZ`ky;fy%K} zpq2S(<(c?rn%>VVG^r-0#&qBbm#kV`RFBOX;+n15@&28mlOXUn4(-oBPA^R&Vr40z z^<&@7t;M74pPgzM2=3y$q9Q#&kA<6cXVkRx*!abCLEr15EuVTLP~}|YV%q7+VQ*-0 zs6#Eaj7%ZZaqlxG$&PHLKyvv8_zGK9j@yA(NTS%#?%Er8ZGi<{DXzM-5a9VIuwQv3N&)* zfk7NwaIng@l=WF5)ifVWa~2P`MU?9$jul12DlUz9T@BE*$tQ@L46q&lvnQitjIJ1{ zqMqx>rvMLGewZXNJ!n-4HAkQsr@2;jGBl2b8Y=!J{}G#9)xfIlGh5`c*6K>4VXseE zOZw3zf@z0jXQ?JE5QU*Z`?)|w0xqha#hGfjKaa6NM&kbzf)J5kpFgAfFs{sb;vX`Y z>O8Qm)ZmTqk14ly7tE@5( z{)H~?8mmc%o@g;?N$BU(9c>U^hqd0`SAsEi@;KIX9bh}BGV?W10ke@k?&d~lBYjqA z*4E2B^En^Ks3)KiUSV9eMBBdGuDUGPw%ZRcJe`K>Ra_Y z`fih@Z*&dqpQ9E?tlHhluE42XC0!)gHqOcQBGD?S{cs5D45|o@Y>u9i5vO$}-^Odv z2>dZMUsMtRB}KO}+|uyCZ^gaSQeTnkp^0YpLfDyft?Gzdw}#r1Ssb;IcbEJy5-Hw1 zf}Y%g{=x}68}+pgYyBbOaCWP~F)S7$kBn*}n0HvH&e4-E0fT*Dib)@dv!BNlH1Kj@ zBXsiaTi2cr2^n*?{bSQ1=Hyqug~`L7U#J%kq$qKgq8B8UQ7D@6R_Pa|$BvUH)X(^H z$fD2|lV;swEKescpWk`FW?81Qo8e$sWCReTv^qcPe-n7eaf2hA8rc_khdSr7sYV9| zh)yHwb`;~uMH#fyk@2i7V4%!^+^*R1Exx}Zc|2{{s7Bl;5kact!G18EML4i?0E;CB zUIG_oIS9x}M8q@~ge-I7_N=(L2RROmQ!2B`IjU;&hpFjR3rX3c{OhHf^&Y}MmgVLi zI%_~AOj2c7D?I2>4OksKFuoC8*B`MrS^$74yl}o?ETVWJ@3a@_8?bPnRIwql{|$~( z)064TscXj81=?4MbEL4#Mk%nbVjikH3Ifb`aTlOFdpG|O1@Xbuj@JC@0HeXd0R$2e z!wECkSQ%&%;~0VQG@HP-XKZf?X!aY%zzc{1)5T!OAq)rw>>vPf-Y-BYAVpEsPyCZh z#TMswj>5%0MOzfKcjf+6;W=mShu%@;?lgAXU;V>#wsK9!ZmOTO4|32{Z43FIh?Jq+Z9~lNU$m! zE<6C)FYOor4r_KM)=Y``0Na=~OqnasHPggk<{)o9=~LRH@@dmS`0Q*uaXwnVD#oLQ zMi(o2hV;w4Ucs5s6(7eZlh7Fg$)tpcjS2r>3?2A^S*xs>8)LsHLRnTr3F*di>gs=s znmQ4Q1O9o029_X>rWH1yIb76aM~&#&EO}m+Jvb9|iLOgGu%{^^Ay-tkwBFaIxd{~H z0jh||puqfC=#c>UfBVLL-*rh8^Og~fMP_C1XAWaAtMwmi;2;DwCgrzZcWqQklvr=- zmEKxu%b(Ql^MKxIN#^wlj>(+TZwozVHTVLVIkmk4AfzxA;4D}r;0!cpWzg}{wx-2^~j0pAAV?ZQLFMOQjwB1cH- z?T+?iqG_GkS5q-yrJ6`|h(SFx-IIwxt6{6aH35*HO5qek(F!Zx(y>zLXpofFE%O5D zd7u-#YK09Qr29&a=Le}heUWp$D$13(haOz#%1o8*xXtm&>1*xG%q2yx+a-RY>Ytw( ziApgRlZurqT|Y{FD45gZ8#hzyvA2T(FoZGx2yOWdXsfD&95LOhh@1+U9!W*)WSWvj z$^H_GD4$9w+sf_exZRM5a+2r+&|z@HA;N+sk6|($o6f2*n0;TowuUIvp@IRU z56{aGSr!Tv1{VpT8Y~mD&muPFBk{%aa=zVE(>w^3Ka!W9#v23qUFV_4DOu2lrbvJp z>fAHvyz=MvPYU&=$KZuTo;ux>;^nP+Q#p}xKZswp%O$DY(4I$I+ZOJ{v#Q>>F!7Z= zi*Wot6ObcW29Lq1;QUyaOhOzgG8&09#sbHMX;{{1vwsvtV3NX>zUl~J02VXH?JPx1 zxF7U)hth;#8J198LF93n=>)_8-V%}P4-E!Ys99CM(olYcfNw!`LP)^`BX2tUgpqLp zRAFU+K*Br#Xx=2&cAqVT8}%MC|G|ecRd@JVbfUbABo$`H_q)J;xAM^H>eX@pfK)&< zu*)>ZO!BW1evQK^yf};iPZ|c_-#=|hn)Wxe^{frS<)lxWI%ns$vUt)*f_on?!mgCF z%co&INHr0#?=v4_3+NsWU>PD8Fi$bBv!GGP{|KG>?U5L09rxpS=nmaK?8N8~oDcE?A?;w$Fk`Ar8w3&BA%pnVv8ZCL=@D81 z!sg}bt#MJlUKp(9_2CuPB^n62EEIUdV&bCpamaXa)7(L7Tq=0I1mp>%;-;PA;n zXzw!LLIw8MivcP)22EM2aXuh=ucTpg-C6n83nI&xm4NW3KVg&Va+@Cm%WwAQFdVx6 z){Uxz%I)szW6u$*7`&#!#iiwZ* z7f&FRssgxY0Hso!&N8L`zdff?+FOguq&F=ltj;k<3xWWCemjnb8lPABfC|4V3c#kH z5>&&#BRnq0x}|MM!T#r-0t$bI7>k-V*L2F7cKR0uYn97X70I>pswOAm4NUo>h0EK* zwNX{#QPTXrJS^j&;*6AR95adA4fuOKXAs=~KJYs68=zuVlRU!S)f>bXHb0eu@L{Rew=u2&SCmZg`w^L?WqhLW}VXtFbL=Dg^^OA>rM{k#A z2{yeH@AF`sPZrbNmpa=xI!C`QryKUaZ(UZIrup>tMrpN?;QK`TyvK0+RvSLH16`ek zw`^aZrhB{mSd#wA2+!Je0Qe`sIMERM!Se8S})fy%TuqPRfzhR`n`4>ZHVRwkEON?j0ZR7n@V)F|rI9y8^ zINl@Z7#wqu)N%)yT-Up|XD2jtESz{VHw-e7q6E2`yFz_%58OHK(Rb;BpO3q@Wmj-y z<{%|K!ula#qGej7(fw+XzXAfbhd0(MolgA(6!&6>aiaGETU#v?XX!*v7&ZFJ;Ld<~ zbsF|z0xG&zRrQA1e@9*smsjZECT?C&>FK2 zeaycAzaDtV0t&^VepOT;VZ+nH?<9ipeCLFY{rd@ZyoH4uX?*VkECd^jW`Zf z7wK6(JJfBmx$eU6BUCWP(?`5xoZ=yn zdLo-~78Xh39n{RS3j$pUG$&NY=op3%d$y`Eq#vn*TURAld^Uq`na6}aN{IDmW$#|L zZ`2>I`+mXGzpn{kv8h3;4CywD2JsGyT_Emu(k zsI{U;G8dmyDs)!%%ZsulscZe2iO+Wc;-&L)`!!ixbaU56;jHK4Rcv8GfyK|x%UG1{ zlFmIfFgMgsSU-pA+*?0(5&D


    RtZ@>_rJ+CYV*IsyfQL(z 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

    7e>F0j!qwu+&=o2Rhc(T9mJ@l zDX`HknTxr#qrS?~yxPwEL+AhiSwg=CE@QRV17^jbz{^iFjcL&qS2dL9otNK}JFWj( zz4XDy1s$n!K8*m14Esb0^n zG+-ov(l?3D9c|SczgH_$S97XfMa)+IdWoKiu2`|ewWHwzT5hXs?Q}vDKYKM!f?MX4 zi<$ubh0p+G1Ar+_pwB^halKJxE&ncZBoS|hz0+zPzBG`5QFUb2)r{r{YDdU}jX#*P zi|DbDPkS8Gbu!E&gmUTXMP}Ene#9EQABe1wLmO_H`Y1A<<08T**Y$^>NhL$fnu8_w zEQ#{4M#HfmFB{R=71Pz6*TVI7Qq`Ecz*Fm3yHtbtVsn($$OHQIURu}Jh`Jq1k`#xH z2ML#|T^_w4rV&a~82WJ)1GWlTG?lYQAhpr@v}##mdXPjX^c>3 z;g2m6n99o2`wZf1ftJ~S2pu91PHHaVUt+o#!EA7toG2iXy(&xR%QyHY+Ms}S3agv1 z*PsISp>Nj*5LCyfbRZ>vCaO@`Mt`5FF%NrebJhibid`#(P5Q@(p^yL?kfONEx#1S0L97yw-mGxSorI zpV3lwgHs1;oQqeP579~sU9d0t^9-ya<;OS8aRkCa7E~L&{^VyH+Zpk^D*+a`CiM*C zJAC`ocGXLNx8v(KY(^pmyJtlpWy<600T{T|bgMB2WF_-{L2j4lD9cSbN!bcf)uDns z-sgd^Y0=gJs1i=#Gh(X>u^503lxNpJ_T3gD_OGGhkhI*x<|UXd#LYhInjc5eeYsi` zCZ^?7lbCJ|nmWx-Tr$Y{_&xzv3&t|v{OQct; zDuDzHYSZ`!Zpt&MejG|%iJ|irAqp@AM%N!$N+(jLg-3=q%SQH&d!?64GD4OHNsOAV zeP&yU5vQ`Q>4%dHmn?N>`R_dh7$T-u0dIXw4PiDUOhOgp(l?E$lBXKJ)7mHo$9O^U zB(s{zBIX04l{kDbck+%?X?mh$Kb|dlC255Hlc*cIC!J2wTcf>{_!7;AR0G(d=v!og+8nU zo#AjIwip@B@d4$qGi4%U`HQwl!-qtIPB0XvGu4q}XpDi<$0a5XYek`R6`NDS($9gBnL_B!~lhhM(Y#?pyB?ciz zecTsa2vIx@%_*38{)zrqZ2OlE_)RDxH~ol^`~XzVy6!bBvC{9VH z%X2JAe=d0-HNvpY~f!T9n=kzP7AL)4>5@P6_ zt2f^4pgZ4}>3F=H>f}ah0n^W?drfAQ&5Mh6V^=g>?W8_|>Xkxgih*D+G@y;RKNMmM z(_+p!tOef+d6ZL#o0BOK>Xk;$0$Qk^MPj#p9m^)1pRHu%8&9+emaAmWJh4GOIf)9y zk7%rg=9%JZRa}Sc2fdH?op&(9VX|hbS(~fHc=o&e(ek${!xzdH0Jb%R;BV=0<@%7e zU)AhI#l-0X)S;xrp$_=q_=sa`J6NX1(vX>?N?2q-u3kCKY_MN{f953qr6##m`pHM3}%U$(c(4(nR#$pg05g4>qmGHUsL%> z@zOds5+|;=Rp9ZQH47FAcW@B2KkQg8lS4srI;9a_3I9GoAw6BI&9c*%44b;IssE4M ze8r~y>|Kb5SABCgk;;*BtCy!O|GO6Rgx#q?hQt7OFYSBJxLKjOV&tGW5=CYd=i(*j zi6u@D)F@ZHu_z=D+fDkWwhqD12o2R-lLMy=cDDb1o*TN1`9mGP>!4{xq3nP+OwzU1tF+cMW+3V5g8R9)hTs?62G*dK7REB69xw! zSbT$F1-B^ni+`g)`afMg*xyCTvXF($Z>(pLxxqG~h{TnkY)@4o_8qqpB@~6N<7@3h z`Vc7R5j6o2wRb&@vDM~&4`ugK6MgK|j?S04zL>|7{ssXN$O+9-iANE`F~?B55p%xT~4uqWP; zzyNYGBHeWdBd?y{wub9Um@^YcWCQ6w{tQa-tw&13B zt~0%fl<`8_YpOGHDrF$O2fLenGFUHb{)aT`a2cz zYbNNhvJM&Q_|V4c@>d^d_k(?F^5X|5x24|8osmam*lW^fk88zJa`Zz2q?Vz(ECBSU zxQF-08|DuZl6mx49TBBZm?em&-QXg^!pM-7PwR1<(c@hUIz$(^qrDem1X%i!<#b*6 zzX&wlQGaWAnnFvl=c0&^(Um?q3vGBi9R85}T$la2`PdA4O!&FJmrpHj4Fkg?2@mCW zyU)~xBn27O&Gsh!k%C%Z-+oEuDYwZm@Swe)DCZ*lDi}-t?bMTOOM+Uhj>BhIc0uiT zZ~6Qx5n<+5FA?7>=^)4K2dv4)q}|5PO;nP={E7uw259J#Ee)s|1=D*mr#H^cPY=Qj zmA8xg#a}5CAq@m@@-ri(r#m=}azx&0cW8XsEndFakE~cM4Ao<#yuKv7Q+q?VI}wHX z3yP*#ksJ4!Bn9_R=JfnS=oCKiLt-flmf+0tEYnqpMqggNN&7UtqC%hiLMIr-&GrQJ zw=ex$r9h{5Ht2K@b3nu1mgovDQ;X1{JT>}92}R=I_V~Jwny)}JciX!kNY;wY%5L9E z|8GGsu3QC4PWiF$N3ox~H}-a7IJp;42(p241ua2eaALAWLW;)!jww>k@5A#(TRtR? z8I`w2)t{FvSj|x`9d_aS=CC)x?tbZLo-T0ml*cYhQAz&#_|7aK<+@>acO$qCUr|wk zk`Kyj7-c#}eVJHm^7JA3Jo#mBIXTKvE($rCDFnO1xU%(Cqr>mniOsjkz)olfbou=J zRS(7{(iG_$6sg_4j|J59j_8q+Du*;2AQBtXyFmGKx-t(vnWM%gD*MOTQ!cc<6I^ z?tA|rDk(P`J6ASygfxuDW-42PV3GBjf}s&@)mCiE2;c~CQo60BllxJ@|54asx2hS( zdvAiZ578CJA;9mw8dp|CWFy|s8HEZ5mxUP-XtI}t*m~UT3Y_D|>TG0mlD)3kKEDG0 zXaI-v6w6((Cw-by!P8d>4_O6OIGfD5$DyXP+dC|Jqd+4HUAs_^vevxA$VvHb=Wgxc z9}ZWjRIV_lp}P9rO)c2SSCC21exz%@VWAEP!%w-|eW0Ho;E0@hIK%}P9jkOH({`#; zE1ylxVVkB#`HsiErgVSN+JG-VZgEKBvtqK!Fzj}HOT|{6kX(|mB{4Yj zxOI*iZ%gk<{vEeFt~g+U{oGR5!P+|;xh`k}y=KZSN#wxArMwIs2ahsvQyJ+$BvwFY zJ+y@AzXYLepF;OdCgI-<{UZvBD-+=aZyM0x848g@a?8<^&OorS2D>)yW0?JZsl69h zaB~!wqsb+VG!uKQIWbChJ2sBLUn=*jqX;u(WCZQd?42Zc+IdvMFZ#9ee^>m7+aAbc zdoPVInbd)=YdY~ym3V#5om{5uL{dYHrNUveSH^~3f*>KJmSxnI1TDR0@yo?COh-|R zLLP56q9GMl+!6U%B&~x5-T}(0qB^FmR;zajqcO*%Nq=QGL2@Fult$*)>$#Y1c;N%S zOc;g}GC6WIW#+zS!_P=+IBLZs3)CAZN>E=ViwBi_$?rgui(hm#A>vhS7$IT^E;?;4 zT^uuq_e?FR>2ab6h!39C+xfCwiPB%m?MM)Q+WuDJ=+Jh}SVjWM(T4_#o(%;wm>?Jf zW!$u%j0Fe9MmoXAg6$dv0Xe<58m@;DcW8|4C*v`*TC@pawa$C(3J>uVCPPij+kp&rJpbq zq(n*rfy5qs-U&I={}B3x9K=GqNQlg#Y*wcGk8C3)!2Cz$OtBekg0Q(J%VY4&N%$ui z!Idg&_bimJFrqMgBHC!70ukjKg)>~AS6v*QpaRb$p+3>ZPw(Bq(IZ!Qb=VE-UfaKx zaEPqF55kIcNbVyrSXPucVpb%gr#k(*4J?Ef=L}qTu%Om;QJwj8oK0!TXsJzI6qB>o z>zUuBA2RG`T+Tde(+chdhFYTXUVGX@#2)PlVKC=?Uh+9(jE1R%#|7AiZZlp4Lc(C1!seyIFz$at#jBTLaVMm1keb0$Hj=#nxq6 zLl!P3@1@fj2n7Zfb(5^w?>4JW4@D$xMzhal_j+xWLItvlhA70?bMu*87049}YJm;V z;sx<<+Ae|nXlOS8w|%njnbc^?6b~P_c?Ar%*Z``)%{2L0mk=CBsWN7VUvcX^pXGuD zU>w4Bt4x+X#T)6!+LM{4Xn|IdE{E)2ucO2rZEer(k5a@Z0b*H-6(&NthdlT;H5QEB zt#2$ds8O}*|K*M z^jOA5rc3a3Sberz@iSZV`f6s~F`iX-v1qK#@8kq+&oT)Gve5yHC zT=$&9Nz3ll1vkx?!9%N7-}#Vw-nPl^mrS z&Y1gCsjmS7$RlmWhu$98iA$<=z)Mvy_$@ps@EOb>9qTU8E%EGQma!{WtGw+9Tw%&0 zLfA!S`$_my9V&*7jYWqpcLH9RQQ>sY^LpiyEu(62@7mt^k6M<@9mA^PN5C1G?z`#s zytK{f0=2;ZxEy>CHq`>yfv0L*`r>K=tB;g^EBEhn$Qz%5=sw2X+DQkGfhp|$#~hxs zDj+cVs~YMke?t-S`d&$zS|{L%OQ5FGKHi(_!mbh5fI)20y5n2Db`&Zjhw#0`1ZVEW z9ksrdP%cQ|e5>yi9kw)<-#rX7kLOI#DT`5|yOe zv~M&B_8gs;;2g$wUAgyx!Fe`{%>Z3r_Vu;EK<{(}XK9~ML#8vV_!@Hap)My!2l)(+ z2HA{f5xU$K(snQ=67M*FG$2dD0G|{%af9E6ucXk46}8KdAL9xG=-Dw0PudIj-)%m~ zCfY4i}3iW->9-56Pb%ZF$cIHbMyahHUY z058gaYFOZYSBP8;Xp&8tiLW^Q7;B21Yyy;3y6QrKAD%Asg^_3$n5-~UCv{d|ES?MI zKwvf3h=A2J{J6MaKC;O%!m-=jP~fN|e7zOQG$KIc5P>CkTjmst^6b}2)=@RF4iqW% zEq0_wm&v2j;-HleNB@+Gh>j2;#>PyEm5K2sch%xdu0mHDk1i+8d|tlJrg_16kRKJM z%XN>vx2J%(Ii}zaNlqvTM;^r5`Qtp9cJeTg&y|-9kJrdCh~F@#3}0T3h~Q2A&TNj+ z8=T(i?K}#I&|UXX1Tfy};PdYyKu?F#tQ^JQw|t3Wh+TmIUpxorX>ps(io`|CaGiaX zay%@8NV82K>qXBCxom8EUBp_etqdF7RN7N9ZP0cEN_yNsPf_k;s*m7noy;o)2bOp= zwisRX{bx=&^@pMs{m13@EG;M1EDrS%&*m*?z|}S^=*-sUC@dG$q5gp4L+dcHwvy8? z>SX?OgfN1MI%a{I<-Ae!oKt6RW+5bN#Xg?MC&Il4*ZXH{lp+e^$BU~}JhtY|Ig?GC zA;<+b=-!!xT@S}m%h_D07>Qyx+%atIF`_Qxpj3F^>s=fi~cr~^bw=y0| zw@g?o8bT6vAKH2GqVgM;zHdpBP9j5>M~A1^M&->pk41(AvEug6qwP68y8`n*U&Gy6 zEoHu1a8yahIo2Vf?C*khA4iP@T2Oc2t|DmQRi<9$=-zB@?2!V=F*5t$dpSJ96rG*- z)KtiQ@X0#IMjtp-zBk{!>%F$!@Z(jBmL=%q#LE>Mq!+&xkeGk>I$xHbUety^SYfSF zfxW4leSCjn{IxM=_u(;|1PDIfo`Xj2a~SdEqJ|3@Jg2=0UZA5=;bo*B9Kgyd4%f77 zlOvu3Ef1C_^ooS}ZT4NQ$6lRU82Xrp=RBPEjXnHf&e&`nhAG_4VoxZ4$(DiE-tbLb z`Q_|g|8IuCLJ|t`c}!&R5u6sB<$S1*6yF7A3KJ1-+2=FCG0r9VeRU5lQMMG8FDNr) z(Eh+f55>75inSmD+Vx8j^slXP;UdYQJ7sS)Iei;o#s686Pfn|Fw(!lb{%F2)w=JDl zB-@J@0eIKBgnhvXqnZM>KdTc{O*xa!+nir>wHRD+oL2L<7SN>R+rI;*rKz|Q1kVf0 zm?_a;sbfo%$i7h<|2d1rAU*HrfW@a-({=ZUv64j9zTr1J>eWU>0&%C!8QSvUHN4b&_mlNjRIuIRVoZgv`Avo zPf^PYW@K>QEzEE`-b5S5)7YGO+Yz}JX zNVv}MmYuWp*%OBA4f{SsyYe@|t!mJ^)^>%(u}ar5k_H!-`NZ*a7wH#jPFFJ)+`B)q zSB$US{~f`9Awwyts1w3++~`DHY=FOqkce`?TOS))hpY<4P!y+e0M2o@5@d@$e28+5 zBt6HeMZY%=H~TyxP#Nf{YI}_-vutiUd;S^J_qg&J6=k#EVcN}rr{TNtM+m8rwL*P5 zy8YDB9bbKJK7K;?&x&}Y4}DT*h93wN5D*LM8q*I%NZd@;FR`7nr8q{bp!1+=M2aM+ zAU+*ug-j3bU*{OL)6)8W&+;)z+$1QYepTp;hV>_ZU_uOV)=I}d9vQu;KB{7#KgAtx zMiHjM?Ovr|YhB3VAf8wf*=0`<5m2^yX{-()bO3UY=8RKB)W>mcWoy6g>~M>tYr&U5 zq2YM>G$8N~LdjHERHe5#I<=id^~6-&<_O;_ZkK&*{=`MRiQJF!9gO|$jvjgi;@q1o zbzvHb(+en(RLD{;t}w0Lge^3-`TMel4OLyeRstVx#kdxFyDxm=A2I>YXGfb$J!&VA z-UmyHS(`k+HoN0z&DJ}YMI%_4u_J{}e!=zI8+$EnT9T0-I{e#bSI!cwwMc>dG2b4~ zr8YFK+kZ0zUTxzkgV{FtJrwZ*wmujlTR$t=*H;B(5YWw};yba`J|u(BleD}>bV|*z z6#R`Rkr$&|muv&h^8L+UcqZJGB@@N|QfsbmMEuqs0Kb^Q0fCUv=$NqHIEB2YXv?hF zGk?XYDDUNUix`hGEQ?)Jx(kxW-?}?a@1+!89T^-|G?*aulkQWE>k84g^&wmnV4hOt zsHH>k$maTQ3Qc32_wAW^U++cEJQRUC2fioYRoTn4`kT>HLT~Dw6y%6U5<_O8Lfr_? z2YdB)P$mrx5my{HrUfry48x@9;ot{?SylrmMMMFmJF76SG>9>@>VdHn6b{WcU4VLf zwDiAlKzSlrRJP^jYOgJ+NX#)>#P&~t<2g@QEQ9z>pJ$XYM0q5PPkxMQ`4%%Cm+WP$ zjMuicwEQ-%nmZdIBO_6!2>BmN=inXZ<8<+jZQC}R#~?%Pzld)q4Ei@-m!AL7C=*<>I8jqky@=&RH#8mEz_4lKk4RF~R&Qdi zQc_rY+8bxxMyx;5(ye@PH|KuYo}~S#LJlo3G5>+99N`yM!50! z*jhKBUF1oMrC4Z29XAnATm(pfR{#X(Z;wG&VIB3aQBaUR+E(ugHLV7ETfK-;7()u~ z%p=v_1tpqwXukoBZos4mBQ~|kP z=x}Y62?ab3!0Q&VLE{R1OjtJI)W87wtl4zxa5Uyz?7F@9Wgia;^3~i<0D;eMfVBSz z1q^<&sNgZ-8t7M8{X2b#=Ht^D#jd`!!l{f6&2&7>8Q@S2SY$;hF-$^GgDZ(%0q+Wc z5f`|_>(lRg$uh0Y2s@lcoE^8~TCn`_D@x`v!JNE`0G^OnOr&BifA`*v%m{5LS`#r7 zy*xLiGP%j@7aBMyawW{{BF%>O=-PicFThbm^Tg+&twZ=F^o2Rz+MV~9)cV1H|T z(i~^XqIA_>DOBrw>>OJkEb#C1@!lq5``ujF;Hq95UWHQN>W}a5hEqT_dXEx9N} z9+JJ7oYoc9X%EG9dFrS&+CZW{2Sz6!uk^R&SESZ3^{VO0P}I>H?VFvWrkq>ftAB*9 z0zgkF)fP^1wT#BAocV%v;2#ElP?f@TMq$&gJ>Y!%;!ney#!K;lp1snpx>>F+sS zmyolH(88DRIFNLb(@}}ml&+zX?1{NI^cod}bOrX$W zAwX%}V#xV?#Rrs>woor5Fcx*^7SXneP|tdm84{;L3;iH#`ZNZ|lh)!SnOf}c@GI6h zRD-H@Ob%@G2pps_uzrw}#Zt%{j4hO4)aEG^%N&xf+~q^z6knQ=J^hTE0t>;)l1lnV z=p+E_JFW6Bcwr-BsIR$P@Rw|R%(Uc7NFq~Y*J23cMz;I;6B^LY2zMyiax_Dm=cNfI zuD8zK@g;aiaNwLva<;6zlE~zs#M5SY;dW%WY;ng>8YsM5O6hiF^Hz^VUuM$bZSBEv zXh_FQP?+Yim}vU;!_}QmH{*hKBqRtrM^U5^`4trKs|0}NtlEaa55*{|hf0b;z5U%b zvP?}+?Cn6EVvDV|+ewvx$lYJOoIoh{o!ou2QPxUwK_Jvz0WHW5}pc~kKr@f=i?}5$36FVnfLzB$pG+n0y`KXS+Il)%)msKHxkT{ zQGJ4W9UMo}<^`6N%&Kfq4%iVF%sp{L#!);Sg4G^OuFOARKN~_&c>&;Z&@kBS#9*QL z_!{%SHMDSfb;M6BG%wk-CXnQ=KlOp8(g3X+si24(xF<0{9hBwI-}BFt~T7kyY-7(0cH<-@h^itOtDJD`lTZsMTu72ZJsQ1NRHDaG#s>&j7@r zIo*epluI=cVc94&9A_4O>l7M>&_&_{JZf`#2qs%$dwbdWQ*?j*<-@C|YK-P&I@(W@ z(ENiL!Au#CK4ldXTEl+qx^xj;Vuk6XYkDR9wPa!mV>YN#YMk1c@UKWnvXek2ZA&UE z50=WDNoq)dH1u(65|CLRc`txWJt^3IzT5%AO<@S7u|j2}@*w2yHgi!7xTLGNPolF* zJk(EY6-X01-W!jl;|9S6<|HsTn&3e5-9bhEK?M%;eZPp zJfmg-#{&CKtR#HJ?Un!J|ELCCw$<_k+cETbi4>8DFVcf&u<~8kr&;4k-D%c--+7SA zR^0gW@xyA?;Fl-k5uWV8e5<9^#wKwZW3_vZi`S&hZ0JutocC`ve8Ju&-Ou~r?5iP3_4s6p_6H7!zsR>6)AJ6?S^>aqPW%hr6s*Fa$tTlMk9!MHg z)6V&g4)puiSWz-t@$Ld-;-qRa#w|Pr0ufr*V*bpI{np6T7oF^Cn!~S~!TN3Jp zT!d*64oax^w@xm?X%o!qYWo<98E_>ZDTZ#=p3 z7q|Ks{Xcg=Drh9hvvJ;87XBaoDPsa@cqqUhkP z+_aqHUv9F%5l98r{QWQ@XA{Y@6c)_DU)2`B+lVOwUxlIf+6*nw_K>%>xbBpH7h@vM zu>B)+8Z!jJsFr!mYGxo#Tg(S38yhPiZNoe@ky?Hx`+(y+j%zMHY0uQ}XAOiS!0~qC z#4f$Qg9ZRZQMXbEf3xHkO=FFCtFWFb^2d&@TAwd{IgX|~Pf5jQAS34sGUA2#OWgR9 zGCJW>hmVV}RP-sI$hnR34dHciINf`9)_*Rn^Y5lL%IqE@69Xuwf}uGHo|t%;Lo0GS zmTp^B&IxGo`MI%^!Nj^CO5>Jx<;F+GJp6M*iG=; zH6t>wktzGZ%KKf{x=r7&uRlJWoP2R4Q#R?7tJX*%3^qGXB`q$@EO(xx${ z$c$Ny<}9;BmR)wk|4ya&7~1NBLqzdLgh0m)5VKl5PodcTyd@3sxe!0v=Y>Mh3DTsy|E(n--u311ONl`58(26Ect9^l+|BwqOF;@gYa8^4Y zdc}Y{s9uqk{GwoKR$2RUg-l#P|8VBch(&$XW}$&!$q5+94e+eoWOLk2v;KCezf-p} zi5yc?kqH6`4Gp6Jo`Hsz2LLPIWfv=K;RP-0FvXN&(7wYee9cA_o-G7`9~FK;g&yGk z>g&y>u+l&u;1h+|CyT6w$OsBwVjwC~_0Lyc{Tul)Db8_qTW+THdEPdx$DzZ~!p|aU z`S%~8%cvnMDW$JWfg6L$uRvomJp{oo@3Jq`nD`_bgfI$fkcuEd3HfXiw&F&B}Bjxt8P+E#Y%Pj%ZlDSa(+)EPDDKmjcyc#A1K;yyI;#84lprcQnC zm2u@R><7!JWw9z6Wf2}zj#pqqLP$XI*J!qh#w$QvQ%tQ7EVjfWN_RuNsUjp*95EK= zv@goVukT1H379YNJGg__X^%ZLViGUwCB9HXK=?d4zxG&BD+lq+fpyO<3PwY8Z~%Pu zShNHJ7vEcV9lclji^3o-SD-Pr3`nDd_3G-Un<0fDE}#`UQo@VD;Yv?!_Tf(>-PSr0Wiu1J7N z7FtG%7UurU9BM9FOchdn8k;HD@PgG&VqKaR2lCQlR`@!hdI=tJ!y`n2gsG9TiIiSo zE1?#|yLij~k%faCo%Y>Eqh5_i^K%6NnzP0+MPdt8@Pa`l-Jy+U zXs%J@`Js_}Fit<2aGC6%wpC_AIXiu!*+-1HguD-nt}Qp^Xq9un7+STk5bCOpnnr}Z zB#5@nJ-*BLEwGvABkE#h#um~~gaO$9mS`pC4-^EXaw<6cPUY#9cv;)PT5bgov9*D( zN?6r#J7Cu^n)nS69aS*J*D%QGhA45G#IKnj38`^JJGUx(+Rna{>U!UNhthwnUj_+& zDGwuadCb6R2II?!8=I6~z%ZhOC@dN(5yR!LFm?`=V}6`KD!@wy zNp(_qxF@jJopy>;Aa>d()U2=6GAVuZ`7lArY7!wc)|!K|CWH=-ATJ9qC}KmyCf>Xg z+6gY+N*?T!$^|CTCnpezXUox(Ri|^&p<^m${!}DRHUgq6;$Wz`k&(CZ&qvO`LHIyHSETR?#j<;W*>6#(*aPj#dv1mZ-{G=h`{Hj10glrjyOnIT%} z44q%<^!2!@TFGh~+2#*P@^p_pHJvolv1F*|`lG_qt4p@I{lYR>(#a%KQ}6SK-tcw% zzY;o#0E3d$SO~+tFr0urd}iRC~&U7{IULeL=hZ1?^xZFznEERn?`8~uXw<;@vbLw`5-X;<^~IWqOU+jYs(f) zgu?CjuJW-&n~8&63NDcp{3rf{aC)|%>&&^qig~e)NBX7<;H4pY7RY zem@)|sw7FHSnbbx38WX3&804w>a7C+$F=vZ;CE%y^ijQ&o^| zdi%%}xA}Bk+&#s*1qeL%8a4!Brv97ELxYW7Q+NMk=k(tVb!`;mTOrMdr0|HFs3XDH zC54^cvQ>U8bD%;>d3(LTz!Cucs6aj-)s_>mrXkIVj@$X&^GBXwlcw614|;aixfoR& zTd!qP```AfjfI`|yG^tni=lHTZT*Y3Ct#CyDocGws0|J~DhTn2Pd6{ z7InHMJAomr3Dx+-n-$s7xQnLjsLFFpSB_4XSbZ+xPzsV&_`Zw=Jr3hkV=`GrKTvE| z6b@RI7*wM!qFY5nkTA#kMzE|F(_uE210P0&X^U6`fK56U^#(x+3^Y#IsG8W_RI=od za1MM1X?z#q9hIENZ`bqbddGa;$t*QD!TdmgQ-N%-ak?%fAQe3|d;1+x`kvJmCt;;r zFtq>EQ8|D-j)|L`y+D+RF%=866r(EoVK=e>)xExO-Ps0YhhKfjV zmVR%)WxvvmTPN}Hy`cS$ZjlL*MyQJ`4o}&*$chB_`1hy3^kdC4gD%a_tJPX2jHVx} z9A}8a0pmGcrbC-&*Uwg8l)9o!j4lTRlt_$w3gGYCB?JLO>3rk&v- z6M-(EC|ayXj}vZF6#=kb4d{Lu+V|1YSAcl~OB@`OsyI4A3;kR(n4e`6MG+mpnk6+% z_>a(84Co7!3eGjFkxr%63Llt$jNYP3Cr>DmA|Q9u8TbEkpN2HbOsp}=1UNzXNy6gwl;>f@rnLbDUQ1xar{Yc6y5pgY zVA13L22Y;R3FlUrOcvYReMeBQm0Es&rF!V1(XoA0tPH6V(-@@gq1DkFE{}!J#toN) z6-Y62$KQJ0P096(^&gZ9pAdJQnzSE(`SV!20#NScOF1V zI>p}n4q@$a>^!Gs5Ta8-PxmN=WRoGumOAgKM>s(uZ3)!!C}P> z!p#fPNm7?J>b%r!d#O`R((YY<$(`%>6eBVd8xrn^#Dk+#Y+G-sXH5Y>?e>JloeZD> z+4by|ca|(;q{@jRCNUPJ20T_BXPA+$Q$uf7(zPigI2pq#YF?qz?AKj*)X9}-v?LqO z+^|%vX)1U>=rj`+Nh0aw&D7kmSMj)q%T%(o#2b>r2_=O^iFNv;jDC(}Y~e0tE?<}p zXWNP~4`&b#z2{w@X%($+HKuv0KQ4R-&}k+S2w2(&f&=092Ik;PdMSg zhlumZuz!c%`{SBrObA?j66K5@MOgPw1qDyr>h2;%A8p8qP&r)GUWB908H}O$j(vhq z;g_zo0cTe_U-UO%{?KuK0l#n#nQ{BV3;B=JsTz`RRG=+S(_mlYDuUvHEdrhA`Yi|ME7%M(wy6A(!#Jj>Vuj&asNGVgU zYFTz{1_Zz>!K1Z!&o~I5B6-~3BcAl^LatltsqaPYs<0W29ejrgi+tLQp>*ED21a_4^@63=jlQwk!GRfkBxf8Ft9A zrSev8({Ay->QU{KeAEYed>EN$>6;Oj7*Qn@5m-ItOx zToa=PhBAE!b}r?x+Xv(W+&nbX_6%fQ;;3zBXdF4n_P}FHS~L@u&R*u+@ZL*r@%#%o==I#w!@B( zAdn!IU6Gn*S`2fsUJgb6T!b>Qna~4!WL$~SDVW!2_9YT)>j0!vLjI+mZ{Wi?Q>CqR zMSC0NYp@yr`6`o>S1+WLTmPfnG~dj#{EdF_uq1a+l2&BzGZ{{9F5}Q?toq#n1cQ{F_>3ikQBX|3UB$6lU-DofFdxF=8}y7& z{rO*~5HN(Gq&{)X`mO=-`sL~)EAx9s_FuE@ky(WhlIiHQrSLM1wJ!>_q#DW%03Uts zqeV_8HSueT>u0DX=ok_lo?{F)K{N)jh2sJ?;@9e}qj{d_`**G$Kfg$pjF(jyf(d_F zxs~S{f#X-**oIM7R7zeS`><}vEc za}@g3$5>sYk-0f?Ok)WiBU3Pr-BllerTRVPVaZJw-5Vi&*vZXVyU#qLgVO@t`n1bD zo;&f#sR{BpDf;v?l9B5$LsOT& zCHSWGY&a9VBlju6%wTsy*V$J@KD~O+2yT(%Xtn+*9C4OX&F2B0pzkvgC3Y+qTN2H@{Rgda=Z_^VBFFX?7lzAB$e8YqgbnOCKT(zm|?Pv)+0U&6E zD~ZWD#2$1)|E4px>Uu7T><<_Q;b4w1(vb|OYH8aOaLx*A?Fm$6WzAlzUP`zF z6}=5y{t(q)=O62GEDJd*K>AcZBMI_DfV(im3Ni#Iu)Ax)B)3oYe*j>eHs(nJXTc72 z7N(?3Ss^$tao{%@Ft~l4pqg%$M-#1j&f*@Eo}QJqTIp^CYN_1^>*5(SCx-ma=C=HL zTKJv&#xmm(uzs|9=lR+w^)2T4RKpcwU|xOMIy<<^KDZ1tokef<2YlI0iU=tJ7B!bl zWk+ImN2%Aq!GE`d@K1*)x=U@ae$o&;Hp(1uSS#B5p;}*?*^E>_ zW0*1z(n&eVI~O8{E3p@EI~Iu4W{+K3b<{$-y9|+baF=;;8?3vEUG9#6l%zzqZ6;2k z8B!vjmCqEhL0@?zJWNFdeMB!Nx)@*NsV7~WZO8h=S1-rmFK4+oPUR9TV;mdXMB3Z` zBlIPgLt<3MLt-^D6sr<34U?5Uxs^39nTo8)`f^i9b(GT9%u`Rh`oj=dH&s9#Z1`AU zG#6nGynlQHLEn%cKZu?BnvS!O-<;0KM zZ5J_mGqfwpe7dso&S*wBY)cJR^D7XKbFldzc?t9O z&6Bv@@LZ9q1MECM)mEK9g#4|#n}x5!)m%?uCM zHc&Uj;7r`@?`7_ZKRMgaH*{~;`wCDDtnQw{zvQOn4AXz7I?V6JK7XcR^a2GQ^|S8( z5!wcTHpp$A7^8k_S$5~bfa*^fG@F*BSXLULU$c`$eyedQDL(|xvp#RwvgaCFQhw98 z=aMo-iNv-?C5Jvk zzmuWY<%7=7%iM(^5ybe=+IVhIv@s|A+%XGEz?d$a<;rg{Gmm7v>R|@I{jJ4WM`AH+ zP}4qYwBRA@{x|mZga-(m`?E8}?S~TpC?~Hnz&QYMKpNjSIu7lS2pyJ2X%eOiM3UD^ zQkY#hKEQ@4&8hBxOHLc?Cn+Sa)#KPK*tKcibkg<)dLnK5^;cS3Zch1xRZaVfAkY|q z4Vx+w@fT#iGiNq{eyC{;$x{}G(h9j$T4nE{6p2XE^%1(IFU@Y$N}-dVekn$dIQ^9S z2i)xTB9B_p_lrv})eo6-TDUgU>yH1lMA(OH0Jo|h2 z-%}16^pJdoC5TneXyi>Adt7cRCR5owLrN+wmuC7Q(?Ribg66_u91jN#OJCT_TpjN* z006H@(@y54$csU%TQBYq^)?<(#R|D|FBb)aYO#>cHHM~!i~?lxSJBbbnF5|$GOFgY zUu}g^=~sXUZ?b^Bz`zkEABkgTun|NMIdcRGKD%{X78q%(l_`t>D0G(bS? zpMGPm2WMh%Gh{kq9HU@rVtW@4s8y3epwC$pONm3{J{5bbfG|rSWv^Bx;Uqb234V(C zLypLxy_}g>6NwoM3DU}Sc-Rp|z*TlGlMsE)y*~S=0%2$T=LU(7iIdBDtvdus@KL~V zS%*o9%gBQhqJ(@w+ElP==hpq>nbW)AoM$t0JyK)YQT+T*@{tpQ^Y1^<7GP02Q$$41 zvn(~??nH&1p#gz7djW7`14*Y$K3fLfH)MUw0DKr^vba^KAdle}T*+UX*p{70@FGH{ zZjJ*N7ANDklg+**qF#KoU%rI6tb_>ROxWDzK7*1ncCkfpQAN>w>pfoaJ8>nZ);#~s z6ixuaB#Ii6qr&f|kx^ZI(0Wlf3-V(n)`2n9R)=@7o)+g@2bv-YKq8*#TGYofdLiH@ z4mPL2=xxW}8)A@oKNO(|EOC=FZ-!Rl0Hh$ELX@lzenV+ls#n5CxbS{V%23E5mP$&U z(v1Fb5>($bg|atagr=yW>0gAp;H-}g9dnq91JDIpj(2-zQi)iu;0&!$@{QM$q>gd= z`KCV6yjlK-qx=4Njpr>b{zya(005wU)PN0vPKVfE2}c(EMd0@qF(5%$Mig-9j^gqA z8iE(+_blb@H#Ae3G+JeymiAPp`!`WKMwr@Unpbpo56}IgdXHu+-1dd$si316d8KO1 zQ{tlw*Nl%ccscRBNmtOs+$*hmiL$w(U$=$+X)l_Ng-(qvWHbzTqlo}1MvX$JQaJP% z6*<0mjKZK|BoTQQ-8eLT%AIzUd0{XzFY{vm0e|pHN)U=&m*{CA@S}1waaRo#0$kb- z72`XZbz{z1VB_fiU@C~gzU3Ifyvr{y|AN!-aA*PQZw$2V{b`IGbg{-djgJva?c;s_ zYUnVanB7cWDU{B^1#WVL+00HlAyw9<;#4SCK50QgF1jNz9ifArO=HTS7vzOCwgyjJC)dDvEL&*o?mxT8&&yedsc zbo$1h)j1FclPhAIB_X6yVVC7xQB~49e)lS^=KiSR{q@r|R~`orH};_%=hr3KP=`p# zEhLq0MxAtBo1TnV{>Jx^OVN}GUfy{x;Ntr10wDeD_=cSlV+cza((015dqD6sl_`mv zwv9CiErcmbL<<+L&^m`DS$IHT0K?e$p+bWOh*XB+)5kHwK=_+?wQK3q<94fO92SqMjG$?NA6 zCuNn5q?H0-ni<%qW;j4%B~5wN3mTvY(&S3t4F;&^CHCnVm7F4LSY)L`swhn8br#-3 z;%{F`|9%QMz6u;t1EcdWLBjS7`>=5WNE!;}Zi6Ai4-Uo-3fC?K2=H$E&#ry@t7?`0 z5!!?Xts+_OhT&G#ispV~7O|63b=0symr}CK`WI8^dLR&sE%0Hq$&C&U5>6u%XW&+$ zB%Y)$F<&zkDS#_Ty(GQM%tdd&>o3ywn3}m9D<&a@i7LO9FcHL+pk82Xr#BG@U6itS z`9|dNuq#ldxU#6CC*ho#W;gmStP{-^qE21#ycQWzH=0jU;326|3)_L|P=$VITSkds zDi4QX8BbkD1nWFE3(V22)bXL)#*39$Y;T2*xX>XTV>S_WbhsuU7?VjSiXTA%=u|ph zj~!9KIf}`uC|4_kO&HI!CQ24}C1VDY_8kq6G~Lkt5at0l4+W3=?Lz)DW1t$T$ztww znm#Tbx4-=S!0%}T=xWPuRpzdzkV0GVzKi0C3gqa$V28&<3I?4J&LBVu*l&Pt#EO6r zFO1h|=t$^9wzL4#-vpKdL<3rb#SOk9eB9T#zWW6ZA;TAgD2IWbBIxl#o-VRbU8?11CSN5^*QA7_~(K_yGP#CRrC}Y96r{p6gRt#;Or*0 z!0$XfbXn`BW-1j|3wp)0t#ky0FGTotvgk9KOtRHWsAF$UUTaM=$EJz^NSY8XB@GTD zI32O?T9Yw9WBoGF5y|B%`&##esjZe;b2=bHYLq{e^cIlV~~K z-3H!>2!Ra%2ZE0U$PeW@wriie{WGhY#G~nJU~gqs-ua}~T=vTqU1%s#+h6R2$Z__s zC#?W{=IhWK6qke!u;SwO!TXf8(-|tbiFLnOTXFPsdS!Hgmcp(ARTxWy906uIhEx9q zc%8+7AuuSRDR3K@ou1FY59v=9T*}&z%LKe8SP6wh(inD9w*hzTYR^6j;RO{qk(*72 z5sAJMpa9yCI^_$hH* zs`LRFKNbfx^y063K*f^Yam3YVJSs9CBBVgh<&_MczYRiNXZ+Q<9j@Qix}U<8z+D0j zZw}(_<7WHY9pWGdn8ERxUiSRU{nC>Xd_XkAeR{YtyKv7%3!icL)r%yal1_ z*pVvY!D!OA@L^D<_q~|MX+J@ri#4KGWGRT)(20XiC}Ncgb6JM6aOnsl$V_GMA?)FQ z`A~202QiHEXbQ>(4ijgBrlxxEDZeCbda45xs4Pc<5jX(!+ld|;XUhLFREI9ryAollXYOR`7LB=3dr#j1iA|ZgRi89Twn6%QbAGfaE`0H zxB__QS)p`~?~7iK$6`+jXWmOnGZVl5^UBiZOTpmJD-3EiQ=dDE`trp1;M<=dw||G$ z7`2#id|@HQ0OwL?_L)1lNbm^g)CDN0)KxZBP%y8?n1{AxG8$TREYS1<`rlkTcGqG% zL(5)9Qm#{X+dnKNW3I}n8No9LW)4lrXm!UQ*uL2$CB*Kc@VF%oI;`!K^=lkV0aYM( zL(L=eC*B{C+P?wofpz(60LmNDOjOgL3Y~zTZDtwk`uC?VH-e^2cYUhz{qrLVJZBq6 zHuZDl)n`FT`v7#)7_MIjXl(Kv$Z5w zgMl^lG#{E+p8eHjVy?uu8S{94#Y`Ekv_81-q(Pe}SBOG>fm}m4Rv);umv* zfPro-uHb14Bp_O`vb=F`$S@@&z=qc3wxq+@mcz`=XAroEZXraCD)|)&35f;3hL3=^ zwD}hFvpyk3fW7;98!@+L+od-3A)Y9=z9i?x!>-MSLRW2D$xVyf_vyqQf@36Yl4xlE z=-mun&~HSkt2V@1XcR;*$2aThiUCZtkXh~Ld_Z+f86XiurIsCE{TX_*hAxCdFqRX> zq9fPT!Xk;Je7XrMB;Xg=3@BcA+x#qQOs9FTdCr8DgdB#lkl{d^S@a|v5iB{b4KDG| zL>2fzsg1K=>!&D9!?H2_jxj*gc>t;m`wyu$og`#R7VTB*1NmP#8G2VnZRsDyv!&PF z5@+f#1-f;5P&p%-bM8iTDaSp!-FZ36ORrz5wi1y7Dijy5Z61-G1m6Hl*EskkhYk`# z-+zS8qlRFa7txTE4Gc=791TOioUuy9XZS1w15s!q({QLQKXv+Qau_jjK|mNfDamoI zONM^We4<%R=TNW~(d&g;UNE0^^6aikoeJdH+`dQ3EV~NB6GjVa2A9b!qa>kCbj(|T zTyc@w(1JlHay4wO;So{?YaG)$A#3F5h!dTjGb(@ghIqAt=jBWcK>+zF9u||00<|p; zq8CD>u!Cb|S(2&#p&nMXQ@PCgNWv;7UFR`fbC1sCQ%@=y?SU2hVK3#XpzF0GySb0Q zxntn-E>a-~A3`KV(dRmAo$K7Kqw&a*iyBk~82~_rXW-s<#uC(E<0Ci9KDhdNG4s}E zk|SF<1wsi;lPElmwFlQ-GYYIx%fNs`lE*9CNaJ& z&S&>ucvaRaHz*omL!t{vw%T9{Q7r)F0LW4sZNj(dh+A!82Jg#_dL4w-lGoAKJ7Cb8&S1jzt@UQdjw`@`tLpA zdi*1F3J>~+UO5|y+d!W}y4;XV7M{9X6u$Q~Ft)7vVFI-z9+0$_bb=-(dL#eP z5!ZX$Eh>EKXv1;PedRf%{w!W|`P0*GAG#x=j8LdpOb#xtY`EmwVi0);$<@|HV9^VY z`mV6K8i9T7H=Y6IV7w7Z`+XY#niv5UKSfAqlHd`-7yf}-Q zRims(b3Y2M(eZC%_bAx`Mr@R)npT)r)v!qiW4n*_`6<$H{vmntk#77CWHYraG?T0evDFKzqeKPBVL{tDub0W$Q|RZ$CxzF@{MX<))t zSoM$4pBT{Nf3`mV#kP0xk;%dHCVn{uTMC7wp6P}ZGXLb{|LtL@2Cl<>>|$3!>C^~&A`C++}|M?HJl6i)3%TJcj1o@3Hx(QiI*5Z zt#qx0JpZKP@A92L-hGG0UA&Nk|n)APBI}0 zQ-W7-KKB3cwS);y>)MR>|W z@iET?hikauUecy6vNv=P;nh^f7t%Fy6zZQ)OkG_QnnalQ+X`yv%exQ>f!|mNM~7_$nU5PARm>XnuzrhN&???=^{5Yy$G#hCz<0R&;d&=MgwvQnBR z3^jF-G;>NfP8oRVoto?~*dO@ki!`$bM&`{g==YUKp}x<;-hHzS_Zm@QO1Um((tmeqF+gpLVlUFx?k4~0@%zx?!b5gJiG&bZlbsY?zLVJ zB_$;xYq3CPSyceWuoV0BvGO6YlwHGllMFQssL@kN6}C6YTsnU#Pl0S9PSDYW{2Pz6 zXc6B0*IL7{K;M%-ouR0)GTtY2ZJ&lvpwSK)8-Z_R6pj2MhyvmDbG#a&gOW^l@@#%g z6#&7$WI4PU03WhltIu4S#JROuB(LI^@jR3ja60==bc|wCQEnV%g3pCHC;~0Pi(2iK zE|i0XN!pHugog+v%>2#;W@X`(u{$8azHwDo1Y^ruWXG8t2FAAZ%Q8ro)yToV9Z&kq z5%wl$pEfgW?(O%y_ShJ+Ff~}BBbwll9eimCg9Se`JSl7qKV*xJ_ev(l(~$<2H1_R^ z*mq%ob$>Mn03@KKsp&YRK~M}C0+W3Z^fyMQUv}BaWB71Ldj`pQ(t2!=CM%66ymGI| z0$VoQy{*zW!t0X6Gw-uyb>jB4k81a9wG}*IFGpY3REn1q6^7Lw1@iSugZpD(l8IDw#C?%jdIDC4~DUfi}CcME*e(mCCG3ilyEuN$Odu@ zatAIgiGg@t#|&G3T(f-?+-zT6ebHIZGq-)0CPYI$Tz*sIqFWd7I~A`yv_6 z5rG=M{IyZyUPUJ*5P6w8r989A7Ns$TWwhwLo>1E=vP`0uht{vMCGB3NTq%N@G;~S} zF8oXgbU-59fnK71p^-YqMl>(%9hpu7OQ%@x2&PRw30t||M$M#t1qo+zOuv@T*oX3m zj?Du^NQh59J9pc^MTC6j!W&u_GYg-whV0}yX*Y#1;|9qpdxW*Y=|xtwh%+fAMhkZR zlvVwj`X7>O`QXIp?&L;>CV}W|xC^3njhkEECFQTD9im$r+zv0$QOCxGM-)c~ap~JK z^aoE2HHeA8R$73VAu3vhnQW!n6p3^@-K62TU8G$m0!mCsn{q4$+;MALS!S(@K6zQN zml5<+i?w)g9wMdQQQaP)kVZ_c-ST&)M;LwgcQJRA`*;6$|1&Pg5E4e&HJB_R{mcIX zjS;~($>)<5yc8|K&xB2{rC}fD{yUO1!KBT3h-EI7t5kax0UxZ`%vvq=}(){8GT&!i{Dp?n7K8Q#NAA}eu5xMF;5e8}} zX@Ps=>QC_G%@-(!Xs?u8=Nc&xL+ljQdD}5d0IF<@3-J)+ol_Vr9m2!`dz)D2u3ybOZb62 z?wS3PcB$CYk=6Jlz}L!B1?!3FS!E+{=QV^0zXTkYo0Zwqka*C}p-P5*dxh`61>Tq9 z6qa8(8D99%SZu@DFhUkSq4En*WnfGZEkbCdL$@!!l{iDp>GMGVKDZdbng0Q?tESp` zC`JjjRdkKR>0`EC{}TIgFiG7J6Zo z_IaX5Rd9p_UI{Ih6>`BazIHRy^rh;#YZQ`jYpedf$^|PbZOjSY@6p$9o6-S_viT z|G8uX?tTD-Mj+CH;^ks=u74b;rUG(-)#m_=792oHlUXEbu~%#YC#pNqCiJXA=y7Xq z9rqueC+m;O!Mp^Fgg;xD78?VKH&4Az4?}r6ars#ggnqkk^+cuIm%p}ba#w)58?%iX ztMW0kvEQB?r+Qt4V}I4j>^RT?EM#L9GH`3IT4=eq;I=Fc)0vH8W*uBRMlL?4geIuN>(Ne zVf%oFervpy?T4&YG7DwLBdQ#T{3b_1m$WT}Y&@`;)kUDr5nbOL4L!ro)4V#Y2Ga*Y zyTYuil|U_Y!g;jo>;l)LP8%s*O28Ug_{6+V9|sL!K-GnwNQ1p0j^Lb19ObI`ih#En7#BnU388`s92`(8)&@+oM4>w2IadvY5#aVw1EZ**-FaG=6 zMT>NzRwP6D?XsR;632)0_DXq0lssJnO~zVK8aibg+X;b+Wh)*vn|bsJ+e<`9vhRBd zq1?gr%2XPW7Mrn3{jaW%pMTxTgZ6&^QYS)VWUtm*G1fFTbe>fyylS<(j{e}*1Z=8I z29KxWYdQ-bUP0!ytt20jR(6W1mPxkSi6B;mr~v}e(Lqv)cUi=Q@c3m@Ni*eZ4NqQf;ehioSj|+cNMi&C=7n6NyFWr@7&^%q|PUi5A823lgU|KTZ_g!AqnR|0-va z{h*i0)dG-CYQ-fUn;p&Ukb3KSjL9^lY;I>R&VQ=xdGgd=V@HdX{Cvw(?`Rj`VkF(V zhahsTMoN|LdOYoob#^1~{S!-3rC*EtWq6W?!rVXd3H@STz^tt4?QAK?sDipQF9&Ke z`$Dt2aHm@ph0pC%c=E~VF*D#=rJk&9az^*$BGbR<>M!v8hAQac42mYFwBGK|A5mZE z`#4zl2|yMCKfr%_44~eC2}Z#nz9$brMF#!THIt|o&=w_?|jo41oilIE$x!G)dg!u`M`Di{QRFd)e|dZI4k?r9&Ql{3k!Pg1-UoZOj3<+u3$Qipf3(OGQ; z(`nN^n3gKQy{wm2_sl}JI66emc6yBBwNFYfMz;_k)W-Cc?ocXulkcM6nJe5c>PkCLNIu619t z)~uQLeQw5|YSDz`V#qWlKQ4dpKk&`MqUtNQECXm9d(-*{0W;`sy4^5eewTg3&PFOR z1yHc{M<@&+!{Mp~julEcqBU>Upgk3_(+VlS=S*2isW5%~?uB27Tv8X#X~0Ej|NKKJ z%7p3P9D-z*LH0qDS@evpB%|H_1=cU4nUthd7wRY1oDU$wO2_LN-#Z=rFCx41FxpC!xpgt+rz|=stJD zKUAJDk1Ay2K6Mr@tACFA+Tq=bUtj~iaRKemz8!!8K-|r)sPO>tIhiHiuM*75VyyRZ zqP-nLJQK&`SD%&mA0PkLzD}zD;Seq>&xneDcG;KGz2UI zhh&W(ejY<5tdJ`^^znDCSTa1+0iYW3Vk;t+wiPqSt+(374zm!8?dNhfj(9h+0_-*V z>a+eVPZ0G5kM^Y*MYQc@9&x(`(`eHE-n)$%&BBHbMQ9-UreS96p_PJ>-UXse*X*u} zZjJdz=pZt<1Gvn0%C4e03<=vFQA9=UlCu}A3`)a2Rg5TQh33Ng=9}5I&aMI#2;kci zqWKGVJ7NZX!=fX8VH&>IMApn*=3_`_Wpo0tr4k9xA5R$6Fps8 z_&HRpR?@)6RmbT}!hBjUTn?TnuLC|8-boEq2=dT~O^F#{j{1sRmrK4z^`ll1$#Pq4 z$OP5qK}N=18^1Gw1bVXwYYKy#pO+hU-irXh?GEFRq@JRhpYA2Ul|Z=6O&45WbkR<9 z7gAqpMiwiTH$ z!~I9-487=$60)@|r(tv;S0-dFAM-aE(j#djnwSPMj3{KS9#(mGteRw7t%ZVxmStKP zR%6vb5UKWt$uLux;I>dIhp~G&nySi-e>^3-oWWbY2q2iRW13S!A{_$G6k!k}>PA_r z!coWZj1}&%HYc@{Y|n7#W#fCNxk=G7nx-|t{5ZE0oc`!{gnNJa7Rbwdk16??P)7!g z2!*NZ@jYJTyF!bO20m;KYOf?*BX`u|4G3`)myRvXHv!kzn@U7C9ozPuFmt3e?y^E> ziE)w8sjT)q$BN12F&R1X%4ox=eLAzVwRn8g|KYD0n$$ztZva3%D#IpN9wWnUki|okxcVB~7ZOol&G~fCJ>RX7ro7-%_v3h_w%|b!IUewq)h2f3`S<9j!*6GWd7ZH9 zDF0=b9iu`oGOK5!vKyPxY-pRDD4^PxOEI#YMpfZkkLR$lcYO0zcOI=R<}k=Y+QWL4&Q|spIMZxzr~H)IgiiPJ zDhoL=!rN9G)*jt^CRf<9Ho?Ty*zJnwKp|N-ya5~Se-SMpMiT{BS6U!bEB?PmlYQ={4(HI(lEjtDZtt^q9TTbwpl^GH?nIl0G1HUpGB2=)!OH9P}-?#RlBQsb8&VzP%F5 z=D|c_TL$&Jpx)xqDZDTgj96v6lpH4Heo=wsPL@}U91tUuF!zTj6=-HC%8I{E6Q<`i z#4!B3%k2W7ubEfo_r+|r4ztc6U98dlG!_yC@;7=(RXO)@;I$@-W|fsomBzw@z@kb( zD3W_a(F>Kkrj)w~647k7XDNHWLeFgJA;rnvqwo1PMv@1s->9*BbFUe#718$+^s%K5 zxyn%=L%j(f^!)2DUE8-*hCHF@L1X=bTjaIc!oP5We=fl(`3*}F4}B4l{sbP3eD~@RDmPMbp7oK8t>Mnn+HoC{z(Zu^DEp(r<)-HmKRFqoG7dFXJW~xx~ zktp-8hcR@2R=opq&R1nRgqR#$UJBH(l^#H_yjSv1Huk`Y5?Fd0WqjkkZ++aUp`L;@ z-0reHF5I^W)|Z5=#Bn4qho$Iv)gDM z_`)HC_G1^Xa*5kd%aiZFomg=a+CXlC1~g7WEi|hyH9mg4nbb{V^lJsJ*?j@;@4uU% zkbEA6{t>!D95e>1bzI1)SPmnLTbx3+z02U6G8V-wn zaOy2y5q-5pb-)Or!b>JJ9R5{!sEHG)( zY^Comn~!H?E5y`Tg~WkPfN4&0{7p+p4i_m(q8cp?pF!-tf{=2=;yWTGd`fJE9q1^C zrv0W2Z?kM$0F@K1fl-Q zV{p&0*`sfC(Mi=%Gj)x3NXHv~gN??q^#jBObh9-Q$6#YtM8k+Fi>yLEGvJPs1PkOR zW*~7wsr(4yCGD|FU74#!eCySUT-88l5J>m$|CwF?;6_`e=W3#!@Xnk{-((L&L!aFk}pMO8DRUI(QtM-GAjD;i09$E z+*x+?AECeyB1X-QQ!z^`;F+{ZtQ>0Ou)+nKO^|m|mGvJYM&a|QzWt7eq;jLQIq3Fs zTb`yCZT*QVnw9B_4cA;lY4lDq(pgr^;ynDmZu*BT{yF%+fsgJ6Y%TuHubJ^T`vK!W zc0L|hErig;uj)0L5^o&vnR=l~o}goN+ay(q{YH+M3o_5vIF@8|g@R2|#H})GC{Z?y zst!qJDK&)x(u0sJSl4u^6h=yq65>E&H;QTRm%?8G@dV{Vy>S7{g2?)98lSmJ*9ilB z-n{NeiXCNQv(R&Dx++XKf5Rmt5CIynCf|1@G`Jks76I5vO2W~XXTii)@YPmYkYy^F z6APM6HW8D{4!uLKW*fT+f)2$Q#nxLSh0G>S+qVd3n@s*~QMifdj|1m%>w14U^ZOcf zNL+sy8C{e3Ho%AW{#s0!07Fv%0O}+>fyu;_OgPg@sD)wav1R zKOWOph1%^d@iWY&k9e@JBXb3|7R66i+*zW5)AfJ2&M;x4fmkF7K&dEL{6=iLlTxz_!QduczV38DGqrvecGjlxIX zejEkss6=+G`NBi727bty&J4MEryFiRP4MR@-PL%!)KQf-FWO`I3HS|YQ{0dlshH>{ zZ7WHlnSK-+qGZ3)HUSLPntH8Y9(+=H)TAZfuA8;RoXCYzq^0dz7iiAO77vx8U; z<7Ey1Ust{{cg3Raw9mUKoPi=*Gr^d5d-wjS0Bkwu@e{O#$M9QqV7-DuG1X0_PJ61S zP8!==rd8>tSI^+J7d2QiG{oDLjJI$rUFs|NB&*ZI@!OgI8y4TLmk_Esw#j`w^KuLj zOnCBd4s8R1L)moH5s7WJN5HEl;tH__qe==5)ro$Ipy`NG`XYnEMpfe?-?j#l&9Hz~ z6-W^4$t38= zUWZT=X?Jk>+hDfz=W0)Mjeh7)pT#ZIFxT_Hw9XPo(;Hqspl5sfV!#v;U`u>pAc-A~ zv`!~!jg@z2|M9smB72nc1>L{Itj)eUZ#i7P?9u&U3_t^mo`V{oiXum)5SWytM1=3q z!J7ZbM33TmQ-(AXgr*iG!Z!3ssHj7g4<0#`=;pviUIPp;EK0d34UK(u{>q6->K%Wd z52W6~8{3L+sZ~9#?EeCb9TX-G%j6|eI7$l@aV@e6g1BTH>8OJ`3&t*fx&H~;=U8+9 ztyi#Tux#O-LD?67ioxK57lk@st8V6=B=$nLEi+-7?e)f32#pwuLQ7AIFdS5HN`cfu zi1dQ`kI+$U@IB))MBrs^B3@->1DQkJ!wL?NIpmB}l^YrdZgg=Us#5`$Gq!eEB)LIH z@Nfw|y?N?{2mQ2*D;dg(nt4Daq7g3hH)RZp9}dx_IH;)WHR*=}c(z1M2nPM`m z|B=b5@;>Wkrh+dO_cls1{9TB!;hHB@`{J9H1Vi z32%6+Hu+qPCay(DsFan1EIm{ur>@;A zQ=6CrJ+&015{vp7mUik?^zTOkHPm%A*zl;-vTTQLf)L(nZIxDA^@%tcoq|8816X$J zW^Q$sq-hvvs2(wYoeo0i_K*8SKS+CdNtV=ftLwCV0XcqA87G|@7T_Dbw~H@JG>pu^ zqb~hVf_D%I9mf2_dYIT=3mCIaL@gh?bgcqWtVKaY25~89J|%XjvKmbx3hz5l%o@*& zFFMfrNr08$0x{H#MCdszQ9ZFEH3~G*dau&bps!6PgPLnv% ztB=N0IatkFJc_5V(hKp8=D$Lv!W|T;K`HL8F=wl!id0=#tYB$5LzxxAq)H3;%=ZRp zhYd7DlgclwSE5rvdNgVyAufnrA(a|jy)Ly%GHyTnyt!CdKMudTC7Yi&q#|{8u9l`~ z*^Xs4gY0CZRb&1zLn41}-%dATU2@=HXt)_$vi<%%y`KOuVI`=xvICU?SJoG;OPZWZ zp<9)fdlLS#vCv8kGfd^aZX@14c^uxZeboEEujVsoO=UgNDkZtrH@PjDY}jNZp9$pO z^B)5|uTg(~Q$tdWVWQpf>+O361VV3hWf_yJrrVSpGubdU@n9nUkntKkfIaOP)^9)J z@~+&`lk+N?AcRYYxXS~S@5n zT6-<|Zw^5c8p-50Pa}!n%*TC_Ax)BUhe#Tbz>6pgifS%MEBH>(+0_yNN!}%{2>fdV z*6_rjV?3d3C@+ht>URLL_k*$Lr{WMO@9(sMG-3i zD;Z0*$AVqehw`MT^8+EMDUM^4b5Rzm1hHzuqtyl&!Nx}J*K-4D$i|8rO zV{&;Dsl};BFhRKxdjd=|K6Z>SK@G3LkhYMR@8dQl#0{1p1l7$V-@V&fOmRTKT6StO zkW;{_DBh_MWL64GnK48qeSf-*D>`-KdPX1gH|Lbq*v^ZizhQ;s>v2M2f{)u^M5@x4fsCJ6+!iXhA_)Y&TJL${7ZTngA*VMM;U zbx_oqSN{=$_@V0L4CaQxFY2~2dcY#1SPKrFDI%1cn6k^0q*VWPf+8=&K1-Z0uXgW0 zezh?KTmVuNH9sKAK(mk38-A3gZMW)zM#^;)Rva3c6?koB&oCh`qwq5CfJla>)P{)L z^Fj=U@k|?|kHexnNrq@LHSRT~n`_;yCnZyvwi9i#O}T6A=EGD5q`5;WO22+45}Pgg zfViy74gbB9NTBSp`VWJs6H39Fu2_PK-zsqXNI5%hyu=56Dn(Cy}J7FU&RMm-lt2;u+Z+5sl z_j*FpCS#9Aj|mS0Zwvzn>~xD$^uV;8EkvuX>C^XU`vED!pC(8vAz3ojOMIS}`VzRm zXk%xV+kndRUimQbt~v}YEtYX29y1IU)&9}dtpBCH&fN`feQi>mp)0LbRlJC!c@`9F zd=nOX_@6oDC=do7wA2M+H#J4-d=wluiV33Bnxe3)v?i>o42@%DzCr z0RUhY%T_X`m*^xD`Kl*R&-j-Y%-6b9%%6~1mwagBb-VQlMUS?<_TPM2obC|ft?Y_* z;KVQJZC3=08rs}cVFbK|)7g}J_SABRQ^p>Iqnke!flhlB*-;TDC zv$kJS?&)gNoXdvuj2t^&*{MYi3c~n>;*?tQbosX?_`y&GDcNbE7Or#?@YB^(zN(fz zjI_3xL!{SAY=Yap?}(+WaCjtGAB2R5n^mfCpcKpqKzv0EvT-Rh(O}}Yp;z77cc75m z$|M>Bf!kKcXvKWN36W#GnR+cJ^d~_;o*=096z)NFz&oMf*7qMMy!KRVRHmZ1f z!saRs+flYgc~U_kL5V6Vn966@jf9KEn#p9%^U{7#QZA=5T)Uefat4w+G}kmcH5L=s$hUcETqsBs z;ZCGEuZrF+ytteWQd>p}<{5CWg@|WRZ;_!BiXbVyQM%U1l3oqSOxZm2}l6=}e+d<-;uEine-m=aqNwU0v z@3@U*67((KuX3(Q+eGOca6NX~Zs&$S_aKkPch0)4Z-;kEu4^6hEqx)pkZummV!b$< zvGUL*Ej3U1>c#$?a&mFC%sjS$8SOSDmYJYM!a!HPEq^yqknHSBzrj$S2BhlvMqK%CTSKAj7F^=|bcO@ei)^;PI;{W#3AP zRD*Qalz-)NCxGA+hUE`Pkd*>lR=EYOf`Sc`RT(6)J}Dw>heS+o)Mq!DNp#58dkFN&|l&FAAw4u zsTkDSQ;4&1L$1`ZdGh5ytggp}*T|X+TFWxCs%hW@6I&Wvxby203!0EtWKoTmw{(#Z zv7=NRIqFv(<&3o)n&znWe!i`{zP>&@STwD(f{7zt zd?*>s`0p|FGZK1VT8D2Be4uYVxlK4|7(Gs7A)O-ss19U0X^iqpngs3IR%s=OL4mkW zA`U*elZVfYO=gW=EAX?;gKBgV3RW1dB`9Ilh2t;kj`oM(hCT&#<>D&5jD?_bhKPvs zgR>f8_=`wODJu-JlO6Olxl6%Ui`KICb)$IBA2LMUsPn$2;?pHddjb_Cka=aIQNJN|m~ofc?2^S-HVb%(GPRpfEwyC9y| z^yN7WvT3J``Bbf3oi8uE-&=E>aZZDsNqoeLCh^iLSL8Bc-*un?B2?V)fk;KRks6ey z36c{x`84$uRnxtOhXpMAsWsebU$3(tZE$D2cLu?-TZpr1pFX*{cFs)xt!N+UvEcCO zTDf}e?RzWDe($@TKth2cRE=WX<<+E=3oEViODdxlUIpNpV@FGhQjo|3TRskd;QXY% z`?-WtpZXr#<~+HC4Y4guF+YSA3Wh~NmG^`sXG)ymgs!ISE#&i>nwO+oV5AZ*4w@OM zY&rIL=fgij*8mtnCCx5)@NcWJiFOk>gP4nbh>UeIF^&w<-$mqE1z$_6Qq_ki0{@3L zNV#vpf%^yrPo?y8#Tt6yln7s`K%A8DmW{$e}$riWik}PWDT$ zHR2MjIV*1B&$7S@)kZO9$bTd>J%u^Q?{Ma__V9QE2clgl0#dfp(rSj_%1v&Ywwr=M zrq5plDHT0dS;DTQiqT;ueFV#%4#)j2s0@9-zN@ONUAIt?j8P z*dJKOW3X!3Re}yJjE;gmX%@yFNy}NHB8S}wTG0JvNI#JsboXhn`s_WVQIun1!=MTF zAE844^bnh_>JhQM&hcb4aL_R3hRFc(!a83-4~FQWd~8a?n>Z(X%&Pq1j5&#?1I?Oh zmKu;9W~VezGFd4IiF`$ejT6TQGGNLugGmg0gb465a#qS(0%RE!5~&;un{lQ5GEJ2& zXA@*pD+@-g+Vn?E<{p%mV|DLg;u&f>MOzjIb&>eAYaE=uH(2kTLXTSLSDFWJCdF1n zP7C$8mzk+evz>lBTc6CzHSP^IQw zCGlI}W`#;la~I9J@YGNw-cJ<)07Q%(pXzFKry=X)C4fW$Y>8R~p*z(*oQ~m^N0d<} zJj@UYKc_^onU24;f&1%B#vukZ{k+Sh|5HP7gQzN0qReUT+;PEIwfky?>yM7Q&M{{O zk)-OfL2-Nxsb^=yIZMSLMNKGJ*lf>8ZDzYTys5gkSGe&S$Q~O@^iatPR$VGf%z$%y z^*ed*$JCCyKgRItxV)FFO?@OitD;AqF%JZ`9EDq5LaVtwhNSMrzpI*vM^dFJJ|7JI zBXk@K!w6Q-#t<_$Is_-1ge#ypcR>hMCYn;%SKP*Vj-WK2soaa(^E`dmV8kuVQHp?} z3KU&9vmv((Qc?`e0Z~wA2NjgM&;j6Jo2qYdujd!4{R7}4Vo@a8`Pg7Q|7s1a>6T?$L;WE?||HaQRh=4foMI4)!25AMqWklI^CBnwQpB) z(Spqjq%diy{8Z_o$`OMoY?TVU>w)XuS_vJyPfwtb>z#f`yc~^<%t4a8w?x|S)naE7 zCd6xbwj~RlFo`e1e&`>STMO=2hg$L%ne-hjQXh4a5&`JvV} z27Jno^stwuBKzI#!e6%QFQvR{Vg+7}o(llj0P~8=uBe+Uaoc#$GdwqpjQNYJv$|pa zsFZ%8jyBX8sI#jQQj6tz(%m6_|A=Cu7)9M0!U|q@IaX5aT&rAgI$h3!gJ7p@)$K>Q0aqFG_S03DHJQ$OaI2hqFVK!2v#&ik@rot*P zem6cq>7EpOf`JNcrB2xXWZ~jNlaB>QWsm?!Dc$>^sHzPEEf4?5Su}t8B@-Vrv?)^x zR<(d^xTrI~mpNcR-pvzy8J($g0FOFp)-MpO6?R?XBq`XMhx$^O=i`0>$#LnGrk$lL zmu7=PMr2|CkYsjGW)s%1Mx4cQ<)SpPV@f~|U^wJNI}2yZNhZNLLejjYt+NMfGCw5| z$v88!zSa69@nqGut8np7m=cD$=B^dOx+1BPM1$OB%4WVgaJj5Ve;L9T48%OV$44<} zNg@=p1y2>Y6o!QuJ9Dus<$kNTaB4(J0l>f}EV<5oXTzqYe3sZN^$JHqGO;4jDlg?Y zttsgy{`72~4`=j7$oejfOtg%tDifBQ(&yXFkDoD$w>mSpoEe{<4o(L(>v51-LzZ%o zVk|`HVGdosJ?s+=m}-8(V);1G2ep5jJ}K#tvh7rMXuTm_+p;yFmsAqqmpK(L)Ou33 zB9EkG(`@&862sg+cP9&~wRH!ML(b29S)21xd>1RSg z+@G{Tl^c;#MN<~q+?{7n3>UfnSE+RGH~nniLldpZ88|-g0ZXGk9_{wtH1~d{FQn{X ziWNi@yYBu%p?#DV(J0rJ%r2{C^|zo(6#JB-Fyl7o4}HuYP@-bbc001-d>J&d(^WHd zD&<4=+=zu@#h)|PglpO;Th}(Mud0~_L;`hK$DJHyMF%Ua%zMQD^a;T-7MpU>5_8SY zUGVk(b`gXD4JK`sZddDDIk#*v&1ufbitr7WtWH;bP88*L*Yjxi)FpAR?m@Em0)y%f zM9PV%WaNnc9KGcCj;v^AQNSL&Fd-G`q&Nz=TO*^ubhsWXB_d@da@I;*R7w$>D2mIJ z6uAFU+iaFEn!4XG_;{u;Gi>C2Au`gRg>3NwUcxnD$V_QQJkv35>$L-~Rx?2U-Du&z z=TIQ@(Z|*KBjOWn6agPrQ>Q5!ZPU?=>Kp&EYQ+$wFLh`Mu!8N{g&0;;uuvKfKy1m# z&G=5Uko3i~KJ>QAZ29s-n=ki$_zc5`QAg^1r*(s8`+jOr3A(7Y64+!yQ}}GLkR~)L z(r8yj4nFjAZ@({|Es0!yAitK}-V_TGO0>#l8}aqAK*Y7ccn;dQ0T3y{+o+`jZXEn) z>*5l%m=Kn*M6PD!uXVj^4%h^@eP)4?MIOJ*&@G`grc*zbqWd5y;a%z`CF^Iu1@MMA zPd+*Z^ab~RRv*r3$Y}b`yG<`!9z1>e6@a_df=zW$ffKuO7QrQU%rf}Qdnq}yt3j(Y zvRUV*xsnrc5%99@@b~>elS70^s~BA%EYgb-DMkW)FoTF{fJS4CgMt6T@h#Lgo=3&T zQ4z;FEi(v4n_(pRn-Jpv#z2!uQDw$^~pWF6PIG}g%p`=y$$TN zUGTwweKj^qjm_g2PjUF=$2(yU-@^|Ks4gSLwoUgC92+dDd`SIi{`y&)?|tCQz&}D~ zsDlU!OWBOrzYJu3j!bBbVqQh{6bS8Z5c^O6)%wGi8AgwSzBq&-6NEBUEanq~Op0G~4K5`oRkLpeAQj}JXh?Z8P_A0j*hMiG z8lF*VATyTpmVJJi2=zf?l!!F314?wTVE#{VP-=u!hHSyTRPAgo7$cimq=5EM8gfWw z_cz0z>!L2Q{|MuO&*MRe)iYq9__s1v=H795ebHeO&*rctT$y+jfaF-m|TA zqU0ShMBwwA%y2+yb#y}N=Cu2P_0?(deW$-^Kwn0DJTBr86iA|Rpm>ywFX=U1eC{71 z$l-&nl}^Xe2VYC^=nxBfIk|#umts`;MtyXLivCpQ&yt}uomx7yFhE#ro|~*srvNCh z;%GWG9LIQ|Vv2%>gp@?Z^_DD8xjY4GLLvW~hnaGHnoho|({h}6KLT38&>wt}Xt zk{rW&tkTR-5sL#BqbC9;v026dGiQS(mWqyDhM0b##Yjz5AwvLB=~V*7dPzyL>>Lh6 zKW*HCZxLvR5IJH83da1D)Ohd?h+%_E7`DutBqeeL(lxDoJ(KT>F08dR`Axv8BP$Ue zgYV#^4|Z;?Hh?EX5DyRj{Ysj1*yGU>zk~q&J6pKZN3m8zk*9}la>RVYdq#_RH@M18_w2WnaE)=ea4qP zmPR3vtFJc^)3Tq3tm3+T=~WdBxiO%_lvYoHSRF2Oy42|vLAW|u7}mzE*W5wX$5iM0 z826Rc;HKlhcC){C;_ngcre5;{8oy$6ZFhYfa6u27L7^pNM#a|&3<}eYcd8V#68}dC zqRYkoxUPC4c3~3!lx#s`fC5~1kU*_&G{R%5NG9Sg>+8N02f4wT!Hh^jQ$P^_DJ_cT zG)S@W^k+j4&s@_%?PRgmWe?M{&bqB8seXe#`wbx6fQ+U)ls`rAyzN|U0oc*SgbaL& zq-s%CC_$CKd!9?Es6tXM?@-r&TK)SMkP!~WLGE37=Ei_nWGZ~vc@#0VB;M?bmwwCG zs?(@yb#IbW`*I$P(ft(NNU4=Rb=^OG-S3d@#=NQ!_9a1u9cEY-8YUo-E7R$lqzj+vbOQkZfEb%B=K?j3DMG9*AMdY|$-z7G z&{45{8Z&|@sKo^5A$n#6fC4PYQ$loaJtzi?3?42uttPZ_VI2Ka*{=9ra21{^j+&v+ zTEU6KcCMtFSmv4~T$245JU-G^x*8bL7ri{{q=LD@C&xdzrv@K`K19O`+o;6Ro|6Tz zh*gr9;3CYbcf8vn2s)+t-TE^|)%LSNaf_!#vZ~$=sQjRauuoFh4eYyLkK3$uh=s%? z=j;4x_vl7q>b{ivrfcR|ekCwthoEuttM~*>j(vqz4A%R-53=9*{$Ahf^xx-rgfthc zuXQ|**3=pdDik=DfOAR#ekz_uF%Cn47bfzSQw2K0F1Pu+KNcsNjAECoQ=tE__ zW!3^zoue3p@>r-`?=XJdsX&*iEWc%yads_Zh9{>kDcNAV*Pv0Ds9sc^ zzQ)r>m#Q!vtneedxhhj-`;tq4k@sp?Pfnlv{46V4n!yuT>(S>*PqDM|-*tFDdu6)* z?_1E`&2$wPU3D<%bQ3;joA9F7EWWPF*RKvw4uwwT6?@<#;~&cO-0CRKy> zohiki;hp>OZe$S~7?nJtK8S;+LJ3tgt7zuC-9ab=2C3XFbR;;aR*ykQnNjg5-)6E@ z?sjna&cxnJk521tm~PwCl|il2A@Bi0cClafK3aD3?~?~8A8ZMX&h+lCD!0SOs`mYG zL%GI(CmwxVsb2fEobPlBfKentX0<-h)iDli{5~5D{jDI?AC^A+AE8eGI0{u&c!ym; z1u`+#j35A|gU9&gHjvE$+x|Ss7#<+94`nk~(_UZ<^MZ*j%DaYaj68tN7lG)?0Qq`>_b=wu7RSd%2=AQ)*{*je2P%GZ{>m% z`wRD2N&vC4uIt{JPJ0abkGcK7zel)YpTr-#<+ZhzdAde-%9>A+6~8#~J}*5#?zGr# zI2gU|F`>R12b>}SgAtM8P+c;uHiBkQWea9)S{-a>R>Z!^1np5Q<4KDic_2nx=|@wS znS|)dl&6x$J1Ea5a&@@G5m~SuRSt@V;X6tMfzKxq7<z=Fz1-Fn^Cn#55 z0f0BhmPr@s-<<@}GFTW^eY@Ib{OjqzHTArRZK@ye_q`LT7)v)M*mA2=llk`Hv0g>=+-3S0^lbuX>{id}gI)qdHspriuFBz5Y< zO|4oeg@x*^CD{+Jq+&@~7V!fi^L5{>vp2_kOoj@yB{I-4C0~et{ErZEUNN~_7riba%Xsq3h4>5Q<6wUQZW^SwfGTU;5KWR3~*G~u^?suLCpY$3-gS5ZPIx{i^g_5R84 z_XO)KFNF-uFr;x|VG#53Qb&6>zLET9nMUMGlcCdbN-0rOLaXqT^l{>uii`}dTdi`z zM~edl@R1!7MG?1PsQHRP=}T+cMGl1;E@F)I0H&yf`Ot}mm^uCnHS$kM@s(1^0&nvn zkXslH^)2}`%ho%!DLj29Np+^Au-}-6kWDby*k#KrUCo>a`Z#B;pTcN@`*( zl-+j!hOj3jK*y5xN(Ym*`QMTXk<7Ye%2l|6G|xoCcV=)eQuA!=%mAlFV{&nA5K{dwfI8mP{&PO zjiovwF>NwRl9W_Lsm+;0R32>BvzXF;EYR7n{qp}j@mGJ=pWsKv({;dY{G$b51g9S6 zv>SZ0yYPR%yjG3U;rp(}U8MZ3SDKD?{MVm2{EJRTf@UAlNAvJteGzEnOdhhGfRUhe z^+`;8hVGy>E^d6raI_F=l1cQ6Q8^)DQb6Lf4;xI7p-_*mEEF9#-+d-%Q3SB6_KT>g#Kh5#A%;Dw=3BO zX=(hl#?IeT9tZBE2=o%werFV$VfLO)+lLI5K67@tQ{uSI>B8omwom zwaSgJwQ6QE)Qfoilp=BY#NRz?CZWdbiik(^vWi`itSXY}U|l>jvyc4Uuo;5nw}F7SDTqU%Ea8Q&lCcd(kn1mbvn zu$U$z9Jb9#s0`BFY_+ly=?HB+->?D&a&nYgj2G$Q!fk*v4O+ZzvP;&S+gidWE8kg% zx0oACu-5xu51!Y@t`|=pE$8>+iR-6s@?Xt;f11UjU1fPyrup_=^l8$DW$lW&6J6<# z4~X)uJ>I0i(Pys#G(37yr}cgUJl=%7#e@z&Wp_6dmO0m@uqr;6qPro0qEzA0%@*hr z;T<9tX7ZQ|aW3wmMP<2vri}!GX?zze@X;>f)nMsI$EzSux7s-4hY?=XfzU5Y!mUfy zv|_=0YsI1sG7XrYeW6i1>OYdXNa^{*pm)pSs=>$hC{%=yb6T*Ylzx@xw`;4-V*&&W zZc>{-n-ckSJFLlz`dPpYhFWLo^w#hH@}s_8or;bZk4Ezvn3lwH&aCMP2e+(vrbp(b zr{H0wQ-M*CU?d`Xq zl*8ijg4*xDMgOYdM`*Db07FqCD}mJ>1CK%@dPzQ`&upqG6}B+E;o=!};rQxC?6`4T zGd6WrU+{V-FH&1NH631meDNgmGKCWZz|l|;}CN0J1po^U5K7DZ~QEJRSQ zS!O(AUPnnT?wsv68jR{&&!lMhYe~Pq)o!~Sri>uW8x|f z1=qt1uUdH?5o^EPpoY^cQ#gt{5FD{4W~MCT&>xYkUP#*G;Ys`>BpC@^sJzB@g8ia- zxQWa|%<9xkODv=WNjAq-meRn;JaTL!Ax!D~ zaQK(-b(LESxp37m>XQ2e zNtPlxFpA$q`)RKX1AceH&XvZ9C7YC+hf$f+=nn?~Tb-Uw**S)foq`bDA5@NpOl1z2 zcN-S2d}oe%7HOkgY~4?OCML35f{UmvV=WHkf6DQ8#%%M0H)H9mf3jX$3`-2khK3uk zh|ELen!tb#8V&B*Iskqp=cW?ievz>7FyAKlcvYU+&0)3!BcMgSc2Sx)$$8!SN5I2g zeDtAr1%($yVE3_E4>WjU#?(+v+bz{P(ue0qnwHe*>cyldm`(AN zYX15;H!wY8P}&Cfl*6Qj3}n{-6X1GR;owW4K#xni;c8kYYE=|w`5Hqx=DE}9wVXdy(dUW9rxSrG)1y&KmEtW=EVf(xgV?r0w54Dy$DX5&XW z56oo}R`6tnD=KsxYRbH<%o~7-{Ee2SR@gC=5Gdo=nIzaWz7=nPnBq5pJ2B0NNA$r{ zVWdCRX$ z>IuQY$6VVX+cj>&1`mc(y0GE)kprMZGqd0ol2o>|*ziUnrn0VfN_yLP+3fUd{!McK zs5|rKcF-UTCk(}DgeLpluUhidBfKbuou$e0oM$_-Okd$FwtYf8IH?zsoz}izqbYS@ z{YCmPKS|mw$HYCVd@C=HsmqQSbnJ{NSRL5f2+Ca*m;0(6rUr*I zrR&U=Pnk*Gud;KUOd%V&8KniU_X)9 zt(w9685$N#((X?)g-wmqb%#4y-N(4Tr8Vzo!r#8nYsdRv1+UYM6~Vc%RhqNirPjEE zoBEm=GDGv|09+$!fU=qi@_`CL0z4oRAM80)Sw$&{BY*^6d;V1S+|*3r*FE_CXlqC;K~(41`JHI2Rml02vg?BX8}t0rFM6^IoQ1$%jQg-qds7rPP@;Dzhj6`c z->=vPtn|+#!gp>y@&w9j;!<9?3!?ty7DLS!z=wzDoj+KR@)v<8#CE3dzqmAQ&|^w- zl1ktNQHW4J7S(xYwL!Af%I^M;q;m|9v+JVp#J1JOwi?^EZKtst+qP}1NgCV6#As|a zX_EQU_xtz!o4Kwv`#Jl}Ui)4L7~Loh00lgrWiU6@t$V8q(x9>2c2y{ zR}4EEiAvvpwz;)Sg5F#}%=eGkTe)ojVj*Z*4?qeL6+9OA1N%RP!U5n_+`99jtQV@o z(b9Yt@)O;a8g}H?kqTIJ)c05{Nr|@Ta>$ZjwdF0fvzCXCg`I}tMg^Yh7$jMl-vQp*r_u5gJ^w| z`}K>yrOG}LLN=^8x{GeA4dsYg?Z zF`pJU62s6q^PMFB&I|S%+pREYflcc)HB^)H397_HH_EboTJGHLHp;S7Cf-BR<{W~h zrB`*FInGRn2OZp1w|))~(YLe)m&ls0{g>5aWO@gyvk*#zo%kU*1e5bZcTw}lBq-?E zVK#4yStzLVh@$7)*c6j~-@e{i8}{x^5z~^vnWwCAU~7P*7S5mmj>iuirnM zKRWSR(J^qh9|7p*w%|%(yc%p2*`^E4&sHAA){oxVie%NwB!TiW5k4Y6N1Tq3#6%KP z&Qv){t~`dcI}Mu`l1MY-!YFDg;?>usIMHkoG*y6zcmVhg7oQZ`tyc%mO~|o*`-r_7 z2jrLy#8dyeS{~-HsUs?8sV!r_Z|E#n>#T5$O7xLfz2P%qO9~zqK}A9s!r{yr{Rm3b zBKg>b!X5~$PS!#+-^jr>sEWghQpPG6EOV~&kPjPi7Rs0q*LR$!Cse*RT<>etZ!sO` z=Y45D_OLI+=`xWi`%|-hvrM3UOu*ZM+w`iOn-&$%q- zqd;hWDE&y!d?(2aYbUiF+t|-@=-VW>B);eZi4=3;cdi`0ud1zx0_Wi*f5qdwdB7m^ z3N6l->_>K?O^T!!<@HJKa9dYS>^K}t%!pscjNF@27T~bCjwAf5&`k&({z$Rl(T%A0 zV1k=+B6XNi#K{;iTpJwIeXaUkPW|Ztk>>~5$XSsAs9c3?4j1IVNuqI>PM-ZvUuuO` z`z|JqBzlI~jn&nJHP2&a9CKPV^AoZDcJMqom--=9jDx_E8?CP9gRWV5YmRPXT0k|j z#SQ1hO$}8`!04-Bf~A%;hLcL5kNs_IzCX2%|Wcn6x7B${yJR4Fo_n!uUkU33j&gI*t}59LhN=Q35Y zchD&Wdej(_>ZMqa+$dp zhef=i*d5Bp7HHMwp~cdSzQzON5=IU4Uk!cc2-}hCeBM~~ z)Fq<5DL%VxzpwU^G1ZN#$yX2kv5c=Ce*u^^n|y__npG~8nvp4ILXO$BXefHeEGD90 ztx|Xau_{0q34Cs@R1m!8l&s5*;#QQeZ`ALn#nRuok5wF(s=o=|Y(Cywp0_Mbw$-53 z^jf!ORA%nMXM_U+aY8Vg$K)iH8;Q}AoK*#zZUq*R+^#zr!s`R%<)t0GZq(-)ej;zVds8O=7DK3&CgXmVLA%-u7z)P*g zpw5`Khz0qOY+0-3`_O)bsHUPj_1AbDs~N$(mO`H2iX~9L zbi)8D*T?q}GU@1zf?}HC{5$%_fxcX$Z?BR#YRz)-9(z_-2ocx3M_Q9r`*MW=DF#V< zom1tNt>+JB-zjIWB?4ywJO5zT%^W@LtIWcpF{OP!io2RBxn|Yw>3@dCYuG_tcGWH# z{C(4~2^V8ZJw(DrZMjmo#1Qgo#Jf}<&F;K)DK47U<488hgkdM0IWUIlm;7!7%%EEJ zE{3Jlh~9ZBjX(T039!4TwVeAc_O9V7$UoTlHDelEqTU~6Az9P&@<{(6|ZU>j*J;^23{wGAbV`z`{{ z5Hy3z&KXJ_U~vG_b(|w*y_IeQ7BCA~QP9*ke6SA2ji~0-DK)X_%Bg9b`QUypSZ(Zx zOcpmyaw2KOCF>3&t)%r~pa;sM6|fus;oeEsYA^kTe~ zKm1kU6TJm8Cc1x-RR0{s8g!MEoPS6j`hUzlmFRABT4}s&{Nia(GyYdXr?3!Aic16t z_%|kzKZC8w4B(Z~Y{g<^8?CbKt(sEZ#XxQdP4E`j`#uS4o?{MJEz%KHPtb{HUm0id?3@ zxYE*-JE`oMB~Q!WBxji+VJJk8Miz*k3UR+LG3LJxKuvn`!?PeOLu-YdG~M+sHsRLr zkw-^|Xe@j&_G_cSKpDOVKXcqZ`xRmK`{iZ^W6&^T!p3@eOt}@7LT@W3l1M5EPAg6v z3l9zsGk5ZozvAiY`Y+14eITH+L}-wZfWu~iT*|&7)Wp5?%(-ag^de+Dbq*%w`~6G^ z+0|WRwwZn4@BmkAp5;~edo#jY`2EHiQKISg`Qb)Oa|s%>$S^ZF(GY2hN70EFGS*u@ z2q-WdMdzqq&!O1s4j?Aa>Hcc_WvGZXJ}RJwf%c0XPUb`3$xA=4+9&ff_xlhL4sB{M-nZMBcEKwF+*;Clm|}_(dveUpZv33X>8&DS#9U?e z@HR5dG9j#sN&!0|&yw#gD56EMR?4hZUBw5^k;EG;J2@R5<1y6**L5d{+~r?k`{=jO zbrq^7?;u~Rs^r=~{@xmn`sJ~P7AsQbc6|hrnB(HhOovKmQXme~D+ZzVzw<01!u)tj zELr3`JX7<9F;3LWHz#KyY*G3iohgha7Uq$g-9{ML7$M%$AjKkwtuVYbQ#qBBWQ z80MaPmV2&gra|)zxoVWzzZKZK zA{KxSpoO|%rwoSd`%d1pa!Kl$o*KY1gh2O~_9K-P3U1u4qxy;gDWYTK-V=uyz}!-Y z7lhSF)6o-L*G}#=CM?fpUm8$sP+ZelvKe5)GNOoS-DIdt3jh}xH+R2-N4gIzxYcp& z##_-k;0&0u82LC^e%Xvz$G66}xnd`EHA5pQF}17VH@CU6H>atJ`@cfL%@(Qzb{OC7 ztl^7|L-nHj{SA%_JVB{D8HGe#{`pr>V-Jgr@WZ1_FFk__Bsmj_-Ds(C7%Alp4XT+T& z$9KF{mtIf=WT6B@xQGGdU{eN4xhaFywF@Wkm2GBJhbg_Q{r%*m`p0V%&#tB#V(tEo zDAH%D6NguNw~GRe&Kw#-98;v~+Nhcy(|m|pSVZZ)1d{K4`k)IdqX^c5^cCy-nDz>A z8R@~T{y!@8oebwf@@r1dRT6BN3@YAwD%}<)JxG(=iV0D2{`BhLvSkCweoBwg_(?ZZ zGQUV*Wr)6b9|(Xx_wP>%e%hnZz#&T;XY~;oHWt<@zQzhTr9G;n7EQE~2i=I!vA&pf zAzrFC&X07#kZYbdP@AYWmeXP^F+v<_F7|@n8orRROUtY>I#&<>QwRtf49B!Oe=1^S zH2Jz}G~gKH+pJ{&$-A&mIg?K#Vck^Yb+vw%L-cS>*buOx%PFX3s|ZsVCGEtkcBcXI-S7Q3f6d?`b_(=QMa&h^NCVZHKmw#`MCpOP z8)nh<2lZe7u49)M`6Y5Uo}3i}BCxC|qP-s21Ri2P7C&HZ8@+{Ly>lwQAmu#rovp*4 zt2rm;{dN_}%^kBTTEeC0^X3A9-rOKj7X`)Ym>gGYZ6Les`;f89(wx=ys3F8#X@3#Y zfukxN6S10;CSo>-e)%OWMugc9@U214h{YcM>H&c`MBdImdM0X7#u-KN2A*If{ z;VP3=gO#$6a_83Lm-=nJ@j)n{X7NEQO@eT!9dvLEK5|g3C>?EkjGs>Wm%~IJ0NOYe z=;u$cbjsagO5u`8Bs}uk5O?P|ZF;DoSYc-}$xs1uC7$i3Wb1=FZ4~&bKL?2=^p~Cs z=^)4R&gM1>yiNP~4UT)l&8^hXI-y;wzSlx9k6E2ob!MRy`Y<)QlKL~0~|Aa4L=A;KBz|KcFDxLM`x@+t=ueS8X z1bosl;!alk0$Qo6}J z=;HDZzIncRP415Fm}x%#!MSkU`^WI9sT?v%TFE!E)5wMu$qiHTHtS|JbM$jVq$Q$> z-7}{!2sfXsruBQG_O1iq`=kBqX0hG?tIQoZAn_?l7n1~KqGS2?9>( zRN30d{1A2LxOa}d$Is^;{Epm;O0tfxKkhDL4qytP_#ORQpJ)FmbQS>tU{@!AW8F71 zJIng)6y(kSokO*^S_F0{_i*miXNO%2HA`f6EPb`q9l zC*ikZ#t4!Tyj?6g>(mr{F{7iExO>=r9g+PnaY!MXd9PffkXJ8PR622Zox0~XRou;W(oSEk(xl2%geRpnf%Mwm60^($}zF$k}2SCo+C-=jsEvOf8A9UWU#fxV&jyA?vAYQr61s!*wMASY5j*FL(Ui2!jydYg zhho`C%+ip+b<{c(A^e73n?QItMbR50Y&8Z6R%D!VZ+Z)~hO@qzH9E6Tt`HfDf2!4% zmnvm%M1E#FDgXQ~+tt<$_0UC@G=A*$&PU$KAinV*f#lj6i&1WtBSdm3qy^ChUD z+Oyb@LP~INSbAI3bMyM$yOV)c3;JFEz3B8wd~*6&?c7{ltKGET%zKR8VB-AE<}bMG zrHcRCV8RR~C9xq`D=wM%$GawVSyy|By5os%a!~*#BWb36+2(*Ud}PItk}2#07}V76 z2lSOuMN=^LU)C&YELK-raBg9Cj4y^`qLhxkELEDk)d@2fq29yIwU`(1E9Y?%;wl2p zbhuR{O3evUw;K`g-){V`0+uD^rDzW;ZY5ISs^B;eGsaW2s0K8E9C!+xHM1AB14`0- z-*g=ut%?#h*W_zY*nykNgH%glVmhy{PIUrH2W2)uzf9WLr=!((%q2ChCU`*y1%;fpW|w_D6pigYGFD#1gk z>s6#Q`LM0RS_Vq$D=id0b{SlXtuk@MTz*%3N?iFzF}_NeMD>whHA}N0_>=4#TeOS2$PxTjv zt9EkQU*`*}y*tSu&{Cz>)KWmS3NpkhoFX=>5|!p(_ks~t2`>&lf~VUWV# zHISlneU@33!N7TI*M}jfL*ji<&}|)xm8)H+nkQw-W$SF%jFvTX_lRZ7h4udDH~sXd z`irOSX9azg=oXPhc>wL7l26`5g&p&yx2_tw+^&5LH(N4c!3qlBKt7*QjIJrt^q+u4 zHRTDDXiMk4Ra;!=9OoBWgL{hJN{9v=-?8$KA8U!>V=f|TLH`ZGw_?Cog;ugDMNV`= zCw?1K%SZ2tekx=;Zcb-caSzv9(pL-~o)ZWjN1+es!_0P`Cl@E;QWx|xIl>GZ7@(ci zO~vT4Xb+duPAdR<;82@W z&XpEKQ?oO`=6ORVM`{WMz;V0p4tE@p zU{DoNISB`054erQCS7~J`x3#{2$YWGSc?t?6=F1|2EfOC|N5_nJ`Ih7LfZ3`_!n9d zQJ=k>UJR0;#zjeWzj3N9O-LqN5j-4W(TC>H)$(%>vlXfc zu%*EbB-MbV?1BwBWPoc;F4!)hP3dsHHUcYYqTeXsJ^ahpRq9Bshn!R6z2y^{_^(tJt!>XMb=YOUysX2)kS}kgz!A8x;XcpGnd!* z>=Vl#Q27M_Oaa0xo&`(@eZZQta%BbUE?QQL1hF$E9DV)HCk4TA;bKC0yGDtXagH_{ z83lt*NYxXo)a`G4gvRkK$Ybu+;sVHIC(u(mdb2MGB`&lMk*SiW5FZZ83gKEj+-<-7 zs2BVU2*Z4CzXO7y8qJku33Cj)Z_8_@PS9KGx}#BUu;C{JorXQstz2gau)-Z(5kf%4wRsO2S;2uKp=>9Wt=T{Ewz!WN`ZG zVjg6G^og&wZk*`X!x0<__WaXb{}$9YyBqiw769>#N^AnaEO9*~ zoQV-br!9ZmsFXgXxMwjhv9zP+^<^PcC$O=xjW0z;d+jP)D@>bn+e}gUU@~kJ_m8>$ z*e=smYuP=y>Ke;o>3O;AZMO7NpSE2KjMbzk$7d>cm@amb=n+Zcb`rym=FXOCnkESt zCj{cEe3vJ{-2E7IlTGm;a?Kq*4t(1(PP1`B*SBdltrGx!JUia!;?$yeD-_NO1cSw> zeZ^LOvaKAG$-l50Mw^hjd_d?3RshTTj`*FCYp(&oNu1nl_`D~7OxB)T+^{g0>||G)vcTJ=c0UwM7W9(*HVz7ziz+!OL#-)^6fG6HGbo`g)gfo0jQ9c* z%&D~RVRd%7LG_j+jq+}x;$p7(e}uD0*%)!~ zdzXJl{u6=Q-uF(kbC3Z*&ndtb@+=_d68b~Y6VpFW-KZ7IyR3J}kfDiRNFgUVi8=A7 zexCN}yU2;L8)kyGvgrUMzXG!sfi2|L`SBN z;&P?ZST>km7`7HYOjLsobiZQj-~HWVX_B3J&%&1L_&+1>XE^a zcuEP}K3;YF;hL~$nUXrAezgnm##Z;dZ+665%S-$QL)9V1=nM#K5Ao(u(rug9Y$_Jjh5)J;YBmkQr2MD1?7 z9T4h$=3(eq1;cVr|sQgF$a!Ua;N;ea?L`2EFJ7P9{UWgRNb+O zmC_$1@`Fg)yl6pZrPE@>)YKspj)G)mVXO@>|A@E5Y2(WJSe^jnD;lsJQl2f2DHlld z1*}ri4+?u~V;ryuB!T5GO2p+<5Eiit1|=`Zgf&<=8flj(z3$Qsf51@1N{)-lID(tO zrwv<|#FlHk+^yD4dFBLG9po;ZKalPc;Xbh%Qg5-+F{k{Qm*pvWhVVy=S3@4BXdJDMAUR=^Xey8V(}U+UjYMXtlR# zC??oO95OH@n#m7QK5;{G6G#5@le&EYXvRlJebVG8jmL47?eyN*FX7{Km9;4N%73#Y z0Fc=s+aMG%Lr8O`^9~-tcp??6ciNyJtIj5(E6Ddn^1*TY)X1dDlNNgulZd1M2EwWR zj(ReN(2ubf{KqcqcSN(EPS2!9%e*t(m6km2T_w6o@Js+mcaGTPuo)eZFKlFQ(4yVB z=bGd9+bP(&Q{zj&42e^5uy*t^Urwku=?*x5XWwX)Bd*id^KXi%S}6U-_sn^EX60qg01Y71qfMIA)+j5EjyjKCdmxvLex2v!nH69F=UJ+l)a*lZ46cq$=Iy)wl%h_nw(eXWrh$}8&()MwsxvDLuGp5U^P027%3EDw z;HR*Wx(qnNRHlV2-MtloHA&Qcl4Kv}2K(JT@uikMiF z>-?J!$(r?i8tbhawNvP+@9`MPzjR}TMukR(5P_5cWskdm5XD1G((+Pu<|Llh8&ymecp1=P_yqN4zxYmtMJUPnYX_=}4 zGSNI?;)AaMafgMX+3{*}IJ zhX+src=`)u3I+cNCf`ZTJ%*|dt~Za*dF~)+ilRO@pDArY4Af3%>m|98n?hc?kxO5Q zq-9O_TACWa0|OeZgtVQ__@r5)D5OVVsV}Jtn26Kmv-WigD{lK;DzMC zv=prO=y{H*BNbcygoi+PmT;Ugs+vgKF6LIy$C9Rp!z$9@%%jEXu-ZhYB`riaif*rE z*m<>tjRH2&JQ_y*&z|zUobPus_`$N#M4;y#5Ep34^9+yspF*dAfp?8H?g$KD3n?BK zb5lL|i$O=pnDI^{Y}-#mBP-XNf7P)P0E(&+SIC-q)Ph;zdjyt~V2fEVl_=D(_GeH! zZpf2c`iV5e&%)vNq*>E%^_`eu`pVNi*e+-w9jw0=0y^G{0Quyfy&9MIdpD5m1pzmx ziB~deE1B8!N&2wMX+80edS_sOPG+v6C^Ix#2fL04A2OY4N?aixW@2`EH9W5FxU--Z zX{7x#F{i9fwp~i2AqXt)QzpH<{QPY^Ok~`6(qGiP3)LE=`@Sw3QIw>oC0AvXDdwOL z(35b1URJ9LPzW_AgCL6x8c|8aWO@clMl$ocBxK|aQnhf{-Ubdo8&wwzb$9*pTLzY+ zpXShcJ?rXwJ&#wu-6s(yWCCpDph>Cq!h%hC}-Q-g1|)gDA?YywD;KCgxeH z)}QG^houVk%+`@VFe^X#e=LH}K)<89%uz9SQKamc@{r2%FzQ55K%5ffv- zLEu-N(K<8lK;M>^-n71MbZt?b!#s^@3$n+B><~IjkAc=2L37I_d&be8*3rq}*is;qMj>5U+xqCTV#>MIK+73YrifXeFE5tlSsAe#dJtqDW$Mv|fQO$*(*BNj=M4%`X85 zc3Xx~bP`2|hkg~mj37?jtK4xMN`OX8&_A8{m56i_y>-mXe*JwZyRaG6&Wz*WL|jS-?)*J8NZA7}n1pEmtD&>FfmixP0(x{4tx%p| z;{!Rl9N?!ylYvQSpS@fmjiO^&%ygDl2Jd6NSX@iY{R12Y6)|*hZmBOdB!P9&WSQB3 zNrlL!1RHo&n|hQrByPGQe6j&+3nf_?FSS@vao%0S3Ps2^!5e_&pVmJ#KOzLH`!-b27#S4IF>5C)+ zL;8(5h$9gtb=~nKBJ&D=&h8Mr^(aGzJwNH;I%5KtBUG-D%d^$YtQ8z4DiU-;u>0p1 zD@U*#9F`~Ey*TPB0Z!#=32i|Vyfl|e1PhE0kS<$ckKr}TLaYZz>a#w~#(~&RazO>x^GK(GG*4vok*X|)x z|9ygTw!K0R*=LeuiHZ`q=a&;481+vlEtQw_QDHQ=?*9EIe$@7adlSlC4hZ-#zkTL- zUn&0Ohou1CqTz(F%E<{TJy{wpjER>#>SA`{O)R72U!4Csg^=K{O8-*up7ce}lFcb) zrtC4aj$^75{c&uFQc_u0Y|kdV<`jYhKBFstQ$*4u+6)3907x|MyC8@G5yDWlCRnzf zBEo23fjG-@1_0w%Lnu(0q1`(7G^>H^RQbj4XYaLcE_9zr2{3QP#LwJ*nvy_4}u_0Tg?!cNgbrZ4}Ji~8oyu&N*VJI9Zm(Jj$c)ma^v zSI~t~G1Czt6}mcHd~dh+uBv3G;~&z z%Fa4pAmya0N+z(3RyB^bYagY}k~249c;jNMfQRvBJd13*7~j(ULKjk_jq0F}ScuXCMGAxDXst1du4i zornUkp1=Z^<B+mGLKC z?nPL`Ed+pOmqe@3&;YK#Op~v}OonSKo250di-4*YST&)e<}}qPj3|&W$x{!zjp1H@ z)na1tL!X~EFXieon(6Z0cSl$%GmhxpIDT`Lw+a;J&Zwf<%T$?uj_=d^Zw9J*-)M2{|M_r;K8a_n=nFt#8_NU3 z6bghKQL@@&of~A9%K(D`GYLQyf)~R=gK*gM!6{Z(D+IveF6~_e?2;r7(t{5V517y= zoPhrh|89sTLykLVI`~K~?mMOw!o_MVn{=q>i-){V$~7J=+#r_;&w`0rF&j^A-3ZRf zNj72>mH_@jDHO&Rh9!j;WF91piKZOsnV?-%Hl9(YAvK;P&1rprBQT`ta^_6OY^gMPO}0|2n{jR_?g{r$Hvc){zRB*{-J0t8nHxT6t|b`Y@; zJ|Qh5Jh(W3If7=_jH8_#8wZY9ECctZpUm47Lg$}d?hpW-W}=wp0RXhyzTD2t0dyWC z`Lw$M;72u<;okxPb+QA`!y9JcWRR0GKIYP9wRc(65L6o`n<5hTx9PI9Jggl*gg#V- zUPiiNh6GI*=#y0@i@40?r5(NzH5)igQ%o$~dUsgLR{CNXpL!71RBMd5@E^QY*Uy0N zulK?<%8SrFe)IIJaNFaY=e8Q&bcJ;3wdY&f8m?ZaiG)Vuv|<9F@URU(mHGo(RJnWp ze0a~wa86_J1emkIB`cw`n7ClWeiIkMsn`YcHXs9onfe)q4){47tU^O6M~@jYAi>sX zhR57T@}z8^$)P-4&F}k0=V#u! zXZY+(uY@oIz@M~NHI0lAHBYngk0ZdMdkmHA zh~@hY&}@*>@MzNpd=q@Dfk?B}u?qL^y3-bXMS{@H6ox$`pn5^j0PZ>w6o|&-?tWsY zaCa+zzV~bmuVRT93av;*nhM4yJ0&Z>;@AUBq%)Vr8;K8AOqWy(zf4L9)i- zm_;1hW@Gp|mtoi#Hj205wP;t7N7l{5mEKB>-DY0>M4qZ1-b*)l>5`OnY+C3I^WYXB?-2jZ`IjI=B~=0E6$ z67%%w**vtHzfSCL!&%-70^f6`B)^QQp0~6f#>;rweE5MLc7O*d%wM(il~}LkCmHop zH5(U1*w9J|p9{`)FFsR9RMLR9)KKh+%mfA4;PXg9njCCg!;6jM#MHdXR34ov_WAfK z!eeEUY|0zTi10MNhIr9`>%K$+Zo^QZ0Dk4@( zE~C=efq`x-80(j4r+$qGHTRqSRdUb*&m@)U*b%S2}|MZr|m3wbLZK&~FlWWTL^J4sC(3T})=2 z{PY}n8b`{SRsl;Qq#jr+#~30olL1-VhW~A3fKBh5kE#~iSls39DelHjqt8` zPpEYNj#3JW|CJu}hus)m#fu5*m%Zl-Xizp)SsCNL?PDrd9#&T7)FyPh7$3I-k_QPM ziLp4KGZh!dtLPfDl4#3jawFWJpXZTg7LlCv=)cVe1^{>)mCm>|tDf4>`6c3@Y_ylG z!4$FVtyy9XO)wtgCB+J`V@WHRSqz`_N42fTh0`47iE*mA5v|46f}AWpWXaedSZp7N zwyH_=k10a;tMH#g3~MhI$y&+rOnpaY_5D<`ag6d-I2`q|%@oE*jRts`>O%>{VtYl# z+=+*g)3#Ocmq9ZsvMS+mFZCB!{%NOE<;@>V?{Dr~Ie2KPaYL*Y3zOCxuRniQ@8$x- zBSC8F4s{Ru_TqlpS&{hEtWkuOv@~9;$w$$ANkU-O6r@q#@!9{nmtBsZuTN6!oiwqg zi1d@+yE}SWzclbHboEN+V{9J!D3FT^I6UAtbP!7kps-*g3R`lUjwTlj)7=_tjt@V> z_gLuBD6J5AN=Gne{|%PG_vzs#Z~z>t8x`9&3k+$*Ml>a_*}DuK|FQ#?v_C{K{T=1s zOL2FKWFILNW1&`h2t3o*o#IuOe5bva`^NeSE{RZ*qfOL(0Ck!8X@`+u_(P}cNCtpI zsRg1UCmabPt1DkulKtvDxm`yicE1WFbexjj32gdTL%ab&t<1oA8W9Io3GWfUPeLON zoWT^XZKDpd?a4hB)7N3u6G^rco+s5OCaf@2;xf6t{(`u?vaqOL#UHebgz)s-LmMq8 ze)ZdO0}ytR8_tl_0EyHZ^aSO74f?Tzx01`;l+DfAnfy9(R>J}Pnf7oO)t!FgeCY5R z7+*r}wn}#{AIs}Uz361nx*yW4;RBu22T5il+A1_oG#Iw+l4sTX;O3FnKv)_-X2ejE zv;xwy)R4Jh1WfYNi=cqv_9Q3c(fM@8%;iERpT8?TD-ESQ1EJR{*y{KbXE z=sj+TG*VS@`p1oUb&{lk`Pz@N?d675Xg%J&Ii3;!6p{}BFCgCfL^@Y>Ewg)XoVAE>gTf!KSJ~sU_}R?DPUXW%MR?PXdrRNmn^38r(|OVL@JDi zkr6Z}%fGG>-udsWC$InpV?_xs)XaE;CnvlZvsWIvTGLgRsqG&nL4sGW_gOy5X#jB8 zL`hYOF>dhjoD*DhX%6B=E!#jCQ6zU*TUNeSHMP`g_S;+LF35Hbd=Le_C(k}2JraD+JFO0dLoE%VgV9M| zy6v3KsyD{C?PC+~TW2K<-GaRT+k5%(S-b|Y3VLjU*h9mon&-(-(sH>jdB#Ew2t30`B-S>iVy6bwjaow7bTulw=C^`W)S&|HxZ zg)sZJQSSNv(cRQ&qC_R8+E&j=*M4~NBYmf+;BOGFn1cSk>0CgEF(Pb9)55IvqHC6O zhB1LGv06#Cf^k{bmIc;PvwqBs!Ej#;0uOoNjV|gxg-ih8HA;HQVV`@(;?dsBBl1zP zf?9UOvU|!&ws;|#j7Z_)Q9~GtIP}4Zmn3`{Pa2H1MUAjS!X}MU;iYn_pJ`M6Wb{>2 z?hn&<51g;|8h^cGaOV^d&EA?|15ni=C~b5akKOh5gsb!9ol5AMjp@;~Lm0|hvL&k< zvRo2^u?!2hYDoC*d&g~dE^#j3B}Cj^8w&5icJ@L5%u3(cLHq zZu2Z2mk-9xVduF&{Jmgnv)ifH|Mq?|D(nGHNB2v;TK55QT%J4!8jp%|l~JaGX6^nr zjv?;i_L;i5!~V}R^0Rag@%AOdwR=>V7UJfX%}f;oQQAeBV-`Kf%MTFl?5TDsJ4rO_ z7|qqCi8v|TBS9{c2!m20?jWwElAzR#v}FD|y1&tRj}a~XelOD+oPIk1KOlk&PQ+Xy z4}(Ki848n$xR_Pz=CKyam{jViGx4Kd__#)M-AclYKLUH+m9?O7J;Q4%j!~w7=Y9fG zH6mZ@vdPx^(%;XBP!zbOZ|5}jeUW9K3(Ps$l&j2IgYo_t~=2VGdi;H zM?D|H+hXpnYFGrLf`2O}AgT3A7Om%{0un>?syS6dtf_rE_Y(_C~KL znpmu?(y%Oe?rQgNbE9KPsLu;`_k(Fm9oiiA=g#bj!N%@HfDfh^-biNAQNV{m;?sg~ zY5~fB6E$0Mb8vD#V=ih{f2@6cMi?$3V%~bOq6cY=nG(oe0#lARx(!~$7R5ctyB5e; zv8V*ddJIeBY%?m+j@iC7&HE%YRFG=hOJ~%=6kU5Z0KkP=bgIB|nCDjK^{P8Puu~2E zJkxCFSRp1-RUPRZdAA+99t1R?FXD9!EhJ@}*JI++byQWcpfV3Lp`|!c{?rQk;`-UJ zeIsd=T>0@6urR5=D1FVqj|WSB=} zBTwed!!xQoRVe67?vZ}@6HQ9Bsr$Ks(bjST9RL#ZT*Y!Y|Khzd{I z1G~>ZEQlvPw8S!5NEMo0&;L-O1;|}Xh^GZj^j#u{lgl2_c^LI6zU(yCc^nHq1aZ|C zHyO+O^tw}6xk>|M;Vk7!k5@ujRIJ4|QlimoOik79ks2C4S;7(<-=U3!-m11+W%tqI z#h|RXG_Y&-hbBVrPqt?J+OJLc_2czy1!t}O9r3u`)9)PKa4v){1b>TsGS3EueTefK+Kg>nANx{*RDAm1zkP)awoSsr*0c)i`JPn%MEVlvl zlHP16?Qf;%V-i@+b~SF8o$bMOoJur%^5Kus7ek?!6`UJ@Lj$HomSr%AYAHW!(Hwz# zzyFWpDzW2jm|M1{Sm4tArx{-TXl$3*%ph+0HDC5k--vb1^ zOez1lYSUfrvEDoeo`}bpqaO67fbAM}rrI}=dH*$%ep>uVNm0Nh!`^2$XAtU}0IBJb zS;?%Wq7S}~7Er^zSFVa;`<4l_+yhWs+5f&{G{T;O9fiMV=tWBN0jNHei-7cjw3tw%iG zSne~#KE;5IDcW&aUI%7C|4piu9`ttiW43T;LRrS~1n^IxrNDtw72rJC=bo_zPb1&3 ze&o%#lURmrrz~dG&_m`obmw5(2n90 z%IA>w@A^?vsE=UP2^*Y-1C5Vo--;{*gRZ|}LJ>p$+3{Xmd~saDaeB4+iZio7PsOAcXzko?k>T#xVt+= zi@Q^#xVyVcakmyIP~g({oBJ=nGLt#8n|*eV99H?nd?v%v-)oq}NMdzvOPo%M@jmt0 z>h$)ViT4wuF$VNHA>z{p>;SwhG-`*^-8OtT-s}`3TB!*f{;Q#DM~sW z$9A^Z+k7@URcxe{MMqd_?#N40)&e>YUR#r+7ODmkL+mtE=~-|@((k^a5B?`@l5a0= zJMRs3NDiLf4!`t7f^#}zvgWfE_#8$LZs!D1rjGl5*)dpWQXlEU>Y@A~qnaj(XtXN( z&fMtetMOLwuBF>2@KvlGx-v8OJL4f8J@I@lzV?*(Rpjy)+GaN&UPD9BmSC%16p@MD zWmxz6X+9w3t4p#%-$Dg6NI_1cS-Murd^U9(QU&(+4Ry2FlDO?SXkQ{cny!;=+1=N5 z&$I~f#IQEF2$K9~{=KybmqZ9&FgzOV36^s{!cv@b$YF_gh zz?2xXm#u;5PrGof>^7jK3V;AU5sL@25sz+`L`)v=gwOxGS6H{@oK^0avnTC6T}=SA zVQkSikR$*~9x@)cs}w)5!fFp{%=yaK^`EaUHG6W*cid^ znOTH^K#anQcE$32?jJOT)HEQhTP1Vz&`v%;Rhi(e3@fS&Hil7T5Y0MhFs0Bqi%ALU z#WXnzwU`${83zx?Rh8aIm25>Qtx^jQ)i1(0u!C`Ud zGPS!iK)hO9hvg69d;x2XgTrfc&wGkn>E}mW|3EblCnOFsy#5YvH6uPj(Vs|8hV~5T zI#30$vx#3FJT%ruY3;Q?S9KWO^xP@id&sIJp&V9uI4ys+jV5Sg>j+P(Ih3nRnt0o& z573~N4mfBgfgXwZ9@z@sH5X0OqZ#GJKgu_5AMLOuFf0MAw3aAVo_QhHyg z2#ggt0UHsIF0tz@F=-vy+~`?_n%BKk&eASnnVx)+37`J6z_i(Fkgd?vk?8LG{c8J1 zZhOww5*M>%Nm?*s5M$$=N4<-_J74}lhqC8?<>#KQp%oiN(q5wZIykO7hOhW%d3DgCfIJWaJFIq z=|(bJHL?v}X#i4QFn%%fXpII%n#&&j2RTq&NHS7N1R| z(?&vK(R6}#%-ZlwP|rKl`)PE*#=ZUd&>a9?JyeBCgd7nrtp6kZLB6liz~Xrxo1ulw0v5-Pxl4A#@Qdo~y4)2>Rq? zJ9x(ZFVGl%4rEtf6=j@y8dn^}n#AT@^@(*};PiIFaY8sRM0Sfl!G;?(Rm;Q0L;Z%ZcOz53Zg&XttgVr&U-PIzWU ztu5ZLrn=vO8+r5dc2vU))9A|k^V5P9XCiuE5$XUn&kj_FGN6KK#OJ4YNN#e^cow(= zG!Yt%O!G#k{6bAW!0%KWwOHzrFO_LTd}9voi_bA{xtg=Kq~No`UrHy6hUbCcN-7FR zZwpOM|AvJrII0cpJ6fTENc)z{s6hAnd}cI!w?Y&_d!~qp@WXF8sTYH!rYNOe5Oapc zhI|Q^T~1I=QK(DY)}s5^=bNq|4O?3NRyGH0D%tP*)R0U*Q?$u{2<=4npQ>rig%kWW zJft(Tpa3DK1!>yhDg6AfX`V`rV)5BNv@|H4gO%LYGf;f7>airl_wv9~bSS)H_F#4$ zG$;9%SN->On&atRd|*GKMg^J({f+{e3Gs`pd-{fbr-c-&NDgU3wIXBFVaPtYrk;V7 zEn`fMU*z(}w(k3g<@D04ri>M~s;=annx*uq>w}Pm&3E01EsXdLrlQE_;`{eSxh_d* z&&iPAuw)R4p`;;&x%&6~O?zROJoA9SPzf?ZXw0xD79-8hQcm`@zwqtGGPM>RiCtS5 zGk93&JHfpaGK(7gM57zArX2V1Jw|gr@FCTEgiME~69RpB#(&BDqpBym7Le09Sx|{zOgs7f@|0t(BflxiF>PQG| zcNVb|m&ikoGqUy;Wsy^-p~S~wEx9gWTQ7w7Z!F_4+8D37s}5z2)cjIo*{Z0Cx73+P zeN%Uq^y?bBg-9Y}*l{HIEUC4C!Ui$xXp#v$-cz^}yv5*oKpG`teZOo4^tBhY_;Mr) z89D&)1DZSGd=~+-kpg0ZJOO<2%;G8&kXQDIHz^y(B}!a5LYGuTCuzlIC3|Lh&`emY zFT{VEJb$mwml7+99THhsc^d51Vn_>=6oL9UmA0`66HU6T^dz}l1eiO|?)IwN6wKm7 z^zCwyqM>6GPN0bIA@j5-_xu(9I&sL>*{%1c?D$UG3-1-eXIo(d8or{9Qi3nWOD~{< z%$LdXNx7I_T$6#O&k5}l63_g_=!5(8^mJ0c!!wlB-d4eWRXsxS-x0hYAT}tV4e^s; zPi^p-0(>cl3<0*HinJf&`3mj|$z?I+k>{d_2+{17;`-Zh?9@I&`6cgFuvz%`a}Z@> zKDQTzz7k7)KKukJGz8P&ArX{KP;$h$nUImS_0bBK!guQpuBX;NzX=1fVMhSWe`tgA zC-I|(ow@NQuz_0Rf1AoT?q3R-b*I12Xr3e1Bmit^m~hKONdHLH;^I2Gc5)#aj46KJ zT%#U8U(tF~V~(46S1ONQrj(GA8LzD(5Uj3xp$^{V;~fmOf91R`DwB;Y^<~ldaOnp? zw)KAGFJ{7{tFvlA7M^)3lW|ixME}Uw!lE(@8IFVHW${UZ6|MK|-7FVE4iQ3q4>6vB z4S*3s{4;4u4cE=eWXL@}?q%9$y2Ci1oBB&`?X2fEru*;*CAQNuY=`59L2a!eF|Lve zj&Z5PD=$+7nIslz2@b=D?|Y*(BgvwLcYGy12JxKoq0J^mVDTtn^5Bx;-TsBRXX*Gw z^k&5B+WYa$#;fnTRe;~du#e^TR<_Px$0rrLdv;b=Y`*OVf}Cl&hKhe(ZXuzcKtMBS zk6>4;#QT%|F$lhVP8%-AHpuy_H9{vbOWPrqAToMMphUV{SW{LaLJn1CdV;6Z#sRo_ zLu^oU<>{UDj&x6!e8#0L7!nT)ua~vg6W6GxCorHlQ232a-#*1oO>*qB4sN7$c}!J( zeeIElP@)QxJm-cURc~Z5O0Z$++9GvjB1ixul$9T12On7%BfhQSm?LL&AHxCR$ece~ zdm?4(Yz^P=XuL}28$n`shW$JZDU}{_6_0F~IIPZUz1B~gwJBVRv4Fi1!Tuj~d4uXT z2LPm?;xdUWLE;=NDzO&~aLcak}(RzBP zVeH-tQiP0xjU0@ zLD;e^hW722+Jg3N$LHrBhy=NqoU^|Bm6sIT6C1-R0K!MgqpsG|x7KTQeu4r|(o=2k z&&G<0DZw~u=qYA+CON3NOh(V4pC>^(ZIvBIe9#Lz3PTtyUn(yj6xyDm1G6m=p%W@9 z=aoZklGgGv)yE>MYfw?lGA$IK>O=XWjBh?GV+ew#7}g~RpuX|1h~tv7x?t@hMO20E zAVO5;uVZ}^SRdO^>8&QQg6O|o;lVCj>#oI~A?_4v<&1y}9L+vfE|64p7k&jn#bCq z*hhQgg)HeQYQ{kjV6c}BXMN}|A{J7o*iKg$u6S;#t+40^qqz5R_c;p~Pz+o|ScQw> ze1E!Zi|%L=5{Gq}4-mdX&nKX3c^eWjStQ6kO+V1vDTQQmMlh-%H@DgMNr7UM=erK5 zlfaVIjy($AT#=r})K)=8*&07W19~cMSAA=UpyTemMW#hNag=U%L0HjAVRB= zCPzQ$hHgH(H(tRW9BElbdAG3wiwKJw@hh6vDV*suJj}o@D?(`}9MXSR@LfQE0IgaG zErGET<+_?hgdFm0gKcpJxFY+12+?sMtJLWy-tThs4h}mT5hg*X4n#t-IxT9lI+52? z;Nl)`fk6gV`ZVkH_@PX;-EbB$>_$81Y`9elO54OF_SXp+QJfWRggKMB4f?99F$7d zOb75Vf?=CNdp$Qtrs8-fw)d$vmz0;EqmTyf3{v(w{P!vt}wd zgZ1XW(Ib^JQMN|d$vzsre7Di_ZOs!lpvg?n`SVt0qjUd#(#uilUk#lE4v_LLkA37r zflJmQKWYdG%ht6x){0j(j#eR^VHcOP=R2>_+a--5CdVKqN0kP2PCP>pz>W}wYd~4$ zXH-c3D!@WEU9``aN8=OJ(`>aNMv8`>W=BRnF-^ug72YIH!$smr5-jd{GIVKgETsfe~%`<1VZXS;5ab(dQ=(3K`=7&-yCQD6(rV! zgEU`NL4Zm$5o)Qz(MvH)q&FDLM2G0WuZ#`^U~aNC^-1*in~4UBqr&t)|8dh8*aDS! zd)48iX&@F2-MtL5fsZu0D4z143uCJ3xK|A97M8f)WRuRYFu9zRnXO6m)H*NkvS*7} zUPG_nOk`yflS6`AN%2Jysq1>ZRXMi<@c3dC#`rA{vmV*7|_?zlMQG0 zwJce?vp)qPL2rSnKX?l6XytKbHNcL)Jss}>6}=dgxDI>YiS}^8E}a(zV}a)*FsWcP z(Gg#Jrl`U9<#M_<2~-+n%RgjZp2_31IKi+)aOCb(^L>`Cli1L+Oeyx!4RC3q9%H_g zskB!g{^bBs>Zs6>kziR_9@jryg0{&b_Ye13TM_ni zkYZcT-+!s(#eQ}C`k}aM#g1#=>Bvs-pBVL6x~4SwKK@N$@B+?YyVw5VMX{$ml|Yl$ z;J5O|JA*rMJNQ1A~ynSn@G$+bSi-y?r@)wDhK1Z_wo(@g$d@ZynzO61iDY}MAvJD zuS&V+_=a`Cp$0iI{ zto>U1XC4+5awvFR${#s}QBjy5@npHc>Upz9!hv!Swha5LBmhvl#pf2+?+VF-1t9?= zQq+{Yn*t+BwWWy7_=(&A-;g)7rNtx~uM~5UB{Ec>Tn&*YQ=zo-#46L#t>^t-5WQ6J;XB_S#&;WX?%%%Z)Q47D(kd9rBoA<&OFbm?yJ_7nJ| zWw3_ZcRU)-Kg`qMMKJHjfX)PUo=5A5RZUOrPKW=>W7qI7==GeFjupIL{MY2*2Ove&Kfx00 z86G~fgTp|`y|>CE#S>A;#KGwpH=-%20#hjIVHD!wVPxXlqHdp# z^X@v8fQ_DlBzw&V70*Hpx#~OUS&VTPLma!7ospqlwzANwP@>;~ca-wFa58<}^~uR# z5>B=SaEGfx+XL=V@pl3CD-A{A$>Iq#3#F zCXcKaI1<^W&mn}yY&Hd-Wt%<$0P^aevG!2lkO9~vECnSsDFuCR*hR}FG%gjWcM5Ff zIdn&cxoE%YT!I7m%CCQtc?Ndc=#vtp9lC^sjWjfHxgOX{*v#=P(5BsOb4fUyAEg(S zq-G%1tT$(UsUQ!`EXjK(kl>>MBr_!F*)=K)Opa+O-NJes9TWhp>CB^X;~KsaA%Aiy zrsEX6Z^yb?slC?F*qCM)QrrIPGjryzU@y54T~nnhD=V3XK&Z?8U!d_GAlRRE^AwWc zLMtp<>tnTz;yEM->KqHo$17JT%Vjan;Rz7(OM3Dics&kydA^#M6%s|ErA_gU%pYS_ zKec5_7;su+nN_BX#)l`vfwm~QkyUSoJe=TMMkT1d8<(~4UEQzq=`KjRF#6+iZbSI| zt+g_}c;8WGnDMWg2-vJW>A~j3w8{quU=3Rt7qYizp^7(n!Ah8wnYS_Gi>&?pbZmR) zp>_Nz-7K8yCg4uO{mXjnbzN5zS?l%ix@7H~945u;#)b3NE6JO(>;x|xXW9<_R5PL8 z7n|x)>~u)UyoX1BIGGEBE?Y&9cjuS4)Cf)CKY`>=rsz9bv7y>v04aD}OKE>}50Yme zrSMBN3F3gewo}sh81D9`i1DxGZb3upT%T`m`052Jhr@@ffIT5SAEa(V8@k4~e6LBp zbYO*h6z|u^YMvk;H9xtpoyW6Dm7f7J@ye-@sUI;Q?n^L~=jk70uXfnIO*^ax#SBTB zU-wU0F|vhQSjCLSxobTzqf}12Il#|ch}k#@y#r{dW*_2Rb36d>KfjCpz~DvpHSh`B znU)2CmPL#lO8JT!1It83Jth$0W7y^}CS@y3pi@c9XQ6AKFX7yp>6UdAK-J-Y{?JQ8 zcX;q%AE-8kcw$vvmZvm-P9!Hz{1)=ztKm8uwNr@QVIN!z)=yJ6wX%n@l7hV*1Y@06 z`q(0n6D4Rh*Pf~_lp>D6l~uL5yRk;POrP^G4d(Gk=3V-oKvWH20)Akat5`YueymKT z&yV6tr07_jzPjfo11~ulvZuMye`O|);3}mvnZDH-cXsh4+5~gUb^a>|71oIKj zhx@enEpG2=$r+k)^@~#-2U~5S(<4JfGyJQ3n-@uQo?B7Lg>L1q<+q)u<(|UVfWLKh z2F>@I#_CQp&*%VXWK31rUWfvH63AuZitmDaN2`^#C^O01tR^vZ(?qq(=RaL?5Uq*lXI3Xx3jc*DcT@gUDxoO9W^U(z+}j z0GT+ruyHlu`idn-Oo%X@QmU3pZ`*5x(xzWpEzkGxw-Y@Aa+sC|ZX14-3S$T?3ZTLM zC=Xat~G#WTYwPP z!)YV)eq&p(qmLXWwyHK`42#fL8pYEr^qFvJXoD`rEZW9Gy)ui;D4-;V_H(NguKUVs zR7AmzA~w!=BFe5P1I`iTsx?(yI%BM&bpx@x!s2Mrb2OuE)_0lKJbrGZtd|OJm#tnn zngsHNU}(aV6EzrBhSY$O)=ipHLP`(EsuTb`2IT_NE{7DYw|X&O^h~3VYzc-@)6D$e z9z1aC+INZ=x-*RSK=M)3#9fLrMal<1Dn^}B4{`j-FLYIm=9rvHTI&BBw)Z7C)aFhJ zcC964@BR(jKL+$bcw+_L7{IAgMqsdRdMwBISH2pkI7-MseRB;}u`zGky`fb5laC7# z0FVKfsNRBv?8ciWHu)@|+a_bgQT}$fAvL~LBayTTw;|sg8_tKB;O^6wJ9j30K308P zMe|CMr)5CT=KEHqga4Y`)$@9;ZUp8EFe?Y=pK%FKQyl>Skz$Ml2if5|zE-hWMe%y( zHicQ5Ep|f%i^)afpD9UU(E92xDFgWQL7J-WfB9VmqRZ$Bh+u9A!;XhsAlWTO`b{8B z0C?8C+${RKZ(VjjP5Aq5l@kq4>j_2zR^k;+(JM5H z3b$h6ElaH3^4pNN14NKX(U2L4fFfDp1hDuF@uteGL4Bo4@SmVSa>%SeVDC?5W&PgW zdngts?rq&`5iLk~dsz48O7^6=4WZU45l~OcyBiJFdG>Ac`R>%(? zv1xmgM2f4foN0Ylzw%*JOUIXXFIu%+|nS0{WODslbF z=zo}sx$U=QR&(4PK!5n&zAUU|e|F71^Otwa_2#eedqCaa$DX&xyq%Zf?JH}5xKFah z)jR+i3T1JlccHjCEUYJuXx!F=xJ&apJI%^nvX-2=f}1nyXClde2pt8&@tG>2x{3gL zEAjiL%>hWhd3pw+fn*Ly6-xCt0Beh{*j7Cj72hOj0`M*mudFIH>3Em0Iu1H^tt9{S zD`%IH0FR{go2W*^rx_FUh-}zz`fcCK0SI4yE%ri-rfv6vF)F=wq67sUnl6V{^L>|! zd#{LM$K|W@KaY9F4o#_j#@c#iCCCm2_v6ok2Wc^fV1SfVwgwlTA{gKiFFbi1qYD00 zo4?guf_utEe*Bb`04??6aaoa{2&?Ho>dw7K;t9}QYp9o?4le%CQ3Q?7KRk%%%Y}(m z=ZJox=vXqkRujZ~{4s1f{p(u=zr?`aRUA2MNGK|zB=U%qs04D3aS>j@;Jkf|=%`MA zAQzp{3q1fcrfF@GU25qE7Q!!?T@gfTS1MyO)r=9Fzjf3^#RnUipqrkgnFIuZ{j`@c zY7+?pc=D@|=vZ_2!vZ8Z{HN!RtfCRm9sFqz*(ZbZ1qCi(v6|3AoeL=7IWUk6Q?_Ux ziVaK&-!z*A8d80-x`?H+sxeU_tk~kLS?aIGj;K2N`VvI-tE61vA42Yd`|#qrDv@*- zdXnqn;6o6y`HSXpXH|hv;^|mABVA&GJJCywz%*hMZ=PF#>EZ@IR|zml^+`@$LiH#!?J$qrCIumY8_^CuJ^^KbY=D3^W zA`;#h9~2yZ&sPvml}FyrpkH6w&Eres_>7#8MVJa%CeCHuwC&FCMkbfhZ3bMX_Y;#g z`(DII#x<)cf(gBTc@c^JBWror)8ag|w^yrNR)!6<4BD3>1is8q74D&+MP+^2D)E?Abes9WxNaM%kHxHv3|CY&bc;=I**+I6F7ge8LuTs z1HSTERfSc_|KaZT`UD`7q^mJTH;^7DKbC!M0AKC#oCp)sVpu4}Pc-KWYl zPGnQ1SrpswH4|EjgsECnKeCwj-V{BQ??H2O$07;Oxc+xb2re%DKZN`MVvS@U5o-jh z8UvN=A8rarGOuPd8C4CAXlKOXRCLS>`Rb;V$!0zsXG5ZZWHl#)k~tr(BBfYn-ct)8 zcVOt9g>vn#`InlF*90R2ja9hXyrm-kmuxQdl8kTa;F}HeX>7 zq^jiW5Px6)r9oA_PzLWQU3g1a&LB?B%U{;c7G1dUCQlw~uZlhm(y_>qAjs4-mj+=h zAj;bUAmy9ph5%^>`RHeqMxuSmo}Hpk+oeMB{Yk#J>ah#;mz^><7P*C%;gE1)0HV&) zKr20MvcE5(Rj)=H&if5Ly)!WGoYeDq0Xw`nTQ%mCYq@9Q{O~O9vHYH4AMr z6^D=>G|U8Ta+j3*wflGcar6@q0zK0>c2en74`VSU_%UsxR%k-uTmkfF9utZWNfp!# zu)1PFdupQs>ET-AZ4X!s5WsfDkF_)%`iBgoD3*z%Eso2MEXRWLA3`wz$a0>42<>V@ zN3(-Z8|J?`JGk0v0-{#gFpMclTgrNy_YY(2LxGrpHXMqh|Xhc#r+S2p}) zfq<2lLH|n-N`lQP3Ko(v_m4%ZYe&!JbK>^ZJ4Gf4sOY6J8ZB`C0B8NSEGukLS{N_C zz6`Uk%enF{L*8u9wJrxwkH|FeHvTilJL={7EEiF!xMsXX&ur!iMbvYyPGw9U&qEr0e~!Ns=A!V+?L7S2k&v+Kb36cx0OOZ%fTJCb;kOkdx~lrjSKm z{H>1dUv8dwn7X^18d;6VT+;LNH&vlU<)8^wVI~T`09zihN5}&IA(RDxtYX!h0}?oB zOJtdvgv&*rQrUkH8gHc&FUo(RFad>Xjn%;&-^$Wq#KrY|)y*sTJFPl1ipqbSd`|~H zat55$is)o=Y{)80DatJ4uMWlsBf{SGv-Ksiwp=0}p2TCpG{*-iTDjR;m|jDpHG7l< z^uTxN22^S(uUnJBW2tQxx%Sb;MJa|zOOw1$&^{#EQ%hifDTdJ<95bjm3Z;;sYos@F zqn7yYTs)GxcwcYLPq)vLA}&4|7KGX#>L`vJ%&Xb@`}JlI{;_h{odu+w*$eMS>p58S zLX|z?4&Z3X>T%|adX6Oc6mSAzs#EwO>dEA>=q3cqe-orEF&+F(;PZ;_E+C_t=M}U62+j! z`L_G3J{IrAD2y3|G6qXen?1ZoK`fTp?MM?HmgzRuv@kNJc%GFW9%_e~Q*RKF*?$(A z_~BT1@O9&gKsSD*kXO+Zk99Vg4uS!m(A%$z69NIN&<%o)2S4RM@3NXe$WnG)6$*k2 z4GBI|iw}fkTt7&`70#eIo7~Wh1N({6>_hYVATyER>Y=zfEoY4J*rfpHGF^tls5bY~%J#OLS!*lRW^xKmg6N z6A_oRV&W5=RP;FBSBW_9!eX!%%8)kpqwDe5mU?U4&!ApuSstu+gREeAx zh3MufSog(?!N_9)b6gMeZ-~4gu-W3go___ar)?%E5(CNIVf5Ay-TZpC0^YB?jrQ7C z0g#)p*QB2ohV0{H-El|{T0$t`)iR9LsIr2K2lyy&Yfq=jk}=3EO-<`h%&Z!E<_vo7 z&y|w*L>S)C&CV?uhH?>0&oskXFD-!2a}{0b1b7gbePl!qfGDPO*`-gZGT&GC;R}LF zn1PLrl@cpn;&UVHn9EGmAf%ZGZf{poD-%w}cf|^Pm(fAfpD_Q$6b?rAmnvwsoe=y{ z*?%^(2$4fH_A!!9tpLlSoqh<7fywO%k%`H9Yo=)L_A-<2lLVnbq{hX=eQo6k~&*lz24@TqgU~N~NW&FscUe+Zfp>XDN}!&kfB{wx1+M9B#PaM6ZxlW;bBZHG4*E zGvqtj{ywn#aZOAJ|GGX`T$t7{uW0%+PdYo?U5ttfWfM|t+gh*kugh%(2G_7?shkkl zs7lh6nm{SU0{g6_NXOc~;GM)pq&XdLaXaWfa56xU>l7V`z*7PYV3+d&ndqd-Y;QE) zD9=?Q1G5&)=wO&n%bD_+BxUVyYGv7n`jsg(oO=&A+nQn%S;qW`WrbH@7}G9yR%Rfy z7$shTG_xppLSsEL{6gjP&=}{@CP1bha&<%LvghTF4?n6njMuK2xX!D?%pT6{*W!5M zMLdv(Tj4S^N0mg zTO=x;$pkEHw?G<4JoNj{E+lSlfyt0uUvM%Uc0m6g@RLIvOO`lX4GI-PrX`#lC&B!e zZtQ_e)k^=H(M`Dc-Y1=ipVES#6aLP0yL{&Fsfk;D({dVQ%3uj%`B;E|+}-dDU9QTr ze&BqXIkC|I;AM&EF}4_DOX2U;ITxKYsx$^8{-A}L}(x$);PZq{wt2Ie#ij^^*@A80U?My9|*CX z=$oB!gU{uV$=Ja~q_(GDlC5Pw+~wv?4{)9}1UR@z6tvuf0C-@9ggFstssSs>rXvj_ z3tYguX{vn8DfX;zn$gLytFAMb9XLIcn=u-w4t4VFEhGDJWk*ZrbtT}0B<9sv8-fAU z=s~b|7%9+_&AbdeXSU?En0_@{Zb0kWuy0I7j%El$O1lGFCx^(0+>@o?_eO{J$#DJ3 zB7^i?^jVBrtzF=`KEr=B0Bu*CbKCeIUVY0w@1`^EmB3M42pF$8UYz71kcEP5?dm^T zMUdh(JF#wr!P>Bvf$SzBwJ;6OPybkZSHqVlsHGdqsnE$z-?aP2C#F-&${+OGty>?- zk4+&PFOu67^zpL>(E0b&(Z?^W^@k$o()AbER`@eAOFwkBBcR)lFFz|F(b`{?0N_P} zxek)1@y#F!@sEN!Z^@faw%qL(6KSRgB456{FeQLJK6z#HkFUR=!Oo{~N7$z)4P zamcD-UHoln+#kX&6Z@ABWQE4e^m5OBJg<@Iv{J%36BH5in})mQKZF89FgUfrCj=+D z=IvS*QF2HJQ??TM6Ai`*C;t!%qLo~-Cq-X%xXfY!lP48UsS2f0~Wt@Wnq>%X-MaUj-0- z-NAUFdVXsD&F~h8;8p;d-XZf%>6b)8@KTY5ee!tbtYpGvo@>5@^ggKv$ChDh0TKXH zRjOq}5{QePCkv;G&9_#nc6{UEzZo6a_i#t{aNlyAjG2QaVS$iTOrxehIwg-d+UR)@ z@V+}K95M2|kOm(vPNsqfkHdv1!63mUvyt~?QLJ5IuAlL<+~OZXSAhc*N?NB!1b>VU z=`g|PAY_3ZBk2s=3fsj0Y6u8`M9RN!*aD6s znYqVAJ59K!+BYkoH!E@_k#HE~WG)OY5UR|m{zP2=wbFmmhf6^435Oo|!^_#&{P~l~ z^#_q;!lW!?q9T=$wjwpoNo4j3`k4mm3ateDE6_mJGEqVXq9YKEoF+R`FHB25^@RCl z3X?Ju(KLuU!ksdfsYyOoMr*_+a#2CO^kBL%l})MQYK0B%+N+L_09yc9Ael7Uo5XwM zY!&5@rC7i5%}FI}W3#O^QD|h$R)mZ?I~)XAREhwk>zysB(^Ofo@M9+!6q^01l(81X z@3Lj)ZnTM}^FxTnaG^7ALLT{Q3B@Lu2yw@*K|qWf)xpx76qy8W9fgz{(inn;K7F~` zgl2WaN1KZAX|`h7EiyWtt{xH|Kn1ZttqH^gx#0opoz?H8u{LfPm5T2g2wB7LvCIf~ zUDmw{d@p>zaFe7rTrYEQl8C7I1{_R-C=1{0^X%(3*E6H4&f{lS#FH4IM4m56lcaz9 z?j;dvlr8Xl4`eiAP*~ya?PnWsW-0}5|-G1OwP}cRue`_eW_kH_c4IKwUA+xD3e7sooDYC3g zV&#y12bAqP!9nJ!>|QYv^+fdUTF1J;GF zseRH(C6_M=kiy3TS0fD5nnj%mshX8V01B56w4U95NzY={gMWCm%VYE3EUp2wKSo!Z?R zFxBjR2noP6$X^IW_Dq?|x{It&6}M~3m%=)jX^yGH$j&X4R859FzVYTjQwc$CZ^j&V z`brR2mmLpW$$=VL;MRHa(S9~u8G2^>IcrQ{mQ&?Cq1@V~Q3-&A2$iL*HDp(HSj{Ff z>Fts%XC2e8GGjac?EVK6GC37dP}PlF_w!nKGlA$t%ICCUA8AFxYt!O~VqYX9N>qy&_5$=mpOBs@HlV&){^0u^3Dc%hzCcYAqYA8{ zQUZ}t=s%v3H|-`t;k@Fc;v)OF_kx~R+UEFhef9Q4 z4$&Ob-OIo>Q+KS$|+AL(z(3g09g(B_{Yn z4q4{iNIJ*1VzGz@p%dHbMU7X>mZ^S;ng9OrMgIN9X8Ef1rS8B90ss(ECK8eiwxrFn zf<%aiRPVY* zSoQ4qBv!?EZgW=N6#r~Y$+`18)9=I-eNB~F^qv@&(NB)8F(gD~5g8_5M^<*=2SM!3 zB>Oi0Gij-0&+(_nhd2rBE}^`A!S5pr z0$~tRj?v$8B4Ln8O9BV8Hq-cqr1TpRTD2 zLS$d4`iDtPF)7~(z!JE`z(&PW@Kx&=k&9X9fRT@F4(gmylgS2m(4gjO|N>b)rT=QQ5d*D9Hp7O-4p$euL(PaJq+jv`wp`4VyT=QT?J@i09; zC~HnaFuNy%=mZNTC%#CE)cME?%R~f+HZBVa0Vc^Cm7Ba5!s;Np(3z~P1bMeND-=I0 ziVg;EcN7OH!G7A$gx)pfXflXu7KsfW0FLI9G{&9?G`!cNra^4Lu})H=<)uixr{8|b zknzd3(h`BijO_c3R1!if&Z?>VN+b8{LfB$XVqhrslnRTVz^{(OF`z(ZSeq`nITK3Y z`xNMVz9|3@inTzi?A<3~awGPYcH$g--V33_uL3cZson9#Br>?}NUgt zj^P8HgL~%slLI%pKJ0CfEbM`{si>(`r@GDGB2BAtF`9n}9Yq!~vub|)583EZR6>4q zIb`H05QqgVYma7~`!Q`RYdWzZ7Wsmnf4ofE{=V)Iety(@r@lLZVJU`f;mwA$oGK`v zEmfaL(%`L25CfOU{29&JAe0Zo=;}D-32|}0T-DTrrIwy8o>;Dx2epq_u}azRcD+j} z>FH@$2)aLAs44$A(bj5P%BQ|9P|yE$ok%6xHr!y~j*ZST##CuVPBm7^;w_@@?ULqp4b(L8uvK)H=nIhq`9V`kJbPi!XY8a4QP@~(af_vIO-gWBzH0w26 zsP+BzEiVwzLI0O+x%yrBX6sJpt6D5@NhL@@KLD62hmW&8A}cWgUZVSXHsD2ray{!cFdqOD z$$^F(%m*=ebW=-Zf3|tGW<8A=OXIDP)d9O@2J0FQT^ym_4|1-oAXj1Zalaw;yj6F< zK2NWA;m#kbXMNW`ZzO<>a8B8sL+Wo)0>Gl@B-95$Dm<{w7=4ws2x3T7a>;;qB8d>i=u=-VP)U&w z*3?)vDP{C#RYQ=!MC}f`i)@Rpc|1;jxg=|IL%7C0kKW)stM4$JQ4xJ0nNAYE!lc93 z5$xG;$!H~hZZoA92LKkU$OmJ^%_K*pg~jXU1lV+98v7A|XV|&4F9|K)1|t?FkK(bz z9NgKo#`H_!6&NELkCjYqX~jop=v4WaSmrCw@o6Re<;qY-pU*%S{j)#@((Cm;0Ti z6F#*O+V7UTV2F4L8|X(XgV+Tau;_*A)Zqwqi}`bY)1po}Ch-4lvU1pIz3lq_wz&3w zsl8THd$(f$*wnw3tx{1^nQcC>np7A|!U2pdv`+q4LT7;B_s_auS^`5uif2ghM+p_c zsa{ap7IPWmfBhzIchPhm>q9!X@7|d?mJAHa5PrXNC8iXMYiy z6i~1mRD5$e9nq6er7(eMTs}GnPyzsm1RX=c#)VWr2rwtimg% zv@lv}Ei}VdB!TiGUGzCO`*(h44)U1AXtPyDE4(TlKGRuRTmwB>1trL^(KI@cN=z|P z*-aLDcq3ijE?yu;Wujj4Aocs#{n`NGZ;^P8xz0$9@mv?7ogO6IhI3Qn1N=owDdm2( z_U1<&9uqtF0+vroX&LiRXbs=IB>4|4El(G&b^o8W%`CGqN6z+FpYp#FLbi^Ox)c}_ zb%_VYm1P1O%druXI8^nS{Cj?rQC2aZCniw>Qi3=&)YY9#4nBnwYd$2`o@{Zs6zq)! zEZ!p>JaKts9WU%S8G14QRR#T2-AW$nzC60P8?4(lJ}FdYE5(!WEPvF9YFBR2?H=^@ ze~^=oB_tAl%M%xZ$%SaP@B=^x)IxHF#K&4x%j~a8v~RMY=g7cUsgrB3V}@rPczkl~ zQjvOP$K%6h2Risf3_(=z~|gp*MAr%j=4>hf$W;*UP> zl3W6g#J`y)Tv<_TX*lndhw~;#m5l$#(KQ9ep#{;6ZL@JUb{aRfZEItrjcuc`ZL6_u zG)>ajXsjlA+qXaazh~#(xibePh_UB(etNT&v4;ewcSUJ;il%j(rPH$*ANJov_r&)G zImK-~@YR!lF+VUZw(E-`>w?hoHJMxfzlH(^@kBSRN7&B|!!jXlVf2xx;nb(dY%653 zKnm%pK%TBXK;*Xr;_;H+Z@I%6?#76$=2#;R<dlAnMR zodG)fZ~z|!Z~I04($4M8h>c_+c5~@u(S5p`#pl8Ph~Eq8rv$l;p>w_6kTSe8{>Srz zLLVOrR6T=uTXDl!s$tiJO+{%1_EFI6vd-g_pn53Mtg_kiqnn(9GP)1)>bk%5OoU=z zOk)3{mu;NvPBrS(Qc3Ul#P@HVR=HYms5e%YP%0p2;C8W9j_L@|5tzWhS{eMxW*z3B zKWRIB@3n?cQqSMOUS}fo5JUR;$4x7T6*GVf%b6K?5FMX=$*(m#5gY=GHmq>Cfm22= z{-afba%zmk^o?MD|3Q8BS@5aPLocLGL#vty^5caMw%{g|r6rR(HNuh?C=1Hr3 zo@h6pnE{a70I1>WVe`Uk{}Z5ui!G_qKZLFT!NH=-Y6$Gd)+NuojtKII7f6mp__iIQ zm~N{_pPz2-fYW_QAx>eegz1FSZrGBC->#F)$^ZaD!c%xv7&yH6~5r zVJ$feQVQM>Exu}1r=?=!{^r?~0I~?^xg61`31=ll3nF4KT)XQ*c8IPto2pcdXqpr+ zTD7_d-gQu6CBo|^j%1S+-luGlpc`4Zsy-Wk=iI^iS$meMjN^zqymS+O9z!AebA0r0 z#xR-u{ZmG}_k42dudT~AOIdFF(ARGQ7xu#=vq>KoLyL_+XjTUi^%hd5KOublFdRkEu#O@>wp7VU#(}|o z<0VpHWlW=r?UoPbXc>RCn72Clp*&(R`T^R%+2wU!Q|Qo9lhN3jJ^UG;pv#rLrfP8_ zxvGzyv)KupIxS7}6jTu(q6XM$qGBP3hx|k6B4Uv9U$aeUY7+8-1&WkKK0eWs%AYK- zOR^dV)8#~YnfzbQ(T%|W^Lzi_AKLYp@G#+*_@`uA3zStY0J#whUdMRhr(6{v?kWU^ ziMk9^bsQUQDz(@-CZjKpvq>Zt<|IzOLEoO|pqMt32E0|%C?VKjALv@q| zh(AW7!rJk5WX>BgPmG@B#$zsJbEj7gn8wB*jY5=B5gJLiB#=LZ{^6J!Ct@yTL(I^9BKeGXhg1Q7kuX_H7W@LMv+1w9AWaf z5-zX#kKrxVB(C%VLMewo;o2O6Z z(Ef;VCgpsK^*MFv>_BbNXW{)f;JU=WR4XFgK&Qh$FP5)>wjjDF%-L}lBc zolqWGN}Q5RGunAvO{`;LaHOwDDD20Ig8|n}Nu)d&_h$r-8d>kPk_}MK)@OIBt0Kuy~|S zK+?Kkod&NDX0DzAvO}Bi9=*8$`fxQ+?-!n-DlBRgxwM)3lIQ47(5kS4jc9rbbep?3 zg6;tEl9WXmb<1_pFB7k0-_k7hkF+4^o%du5py848UhJ%c7DqOJnw!!8bfETL`SiNO zqkgV!ucj)xI4OJ$EJ^^nlN;j;kwN3*L;XYO41Q37PUGKm$TWET=HGfKVO-v>+cwY& zi!L@j2lxZ9fQq)I61m>>LfEiOo_Uv4ujaA^5#_w0+#y{HynZFOy;q9qXObAKCOej} zj@wCtP#R-)Wh?{Sd;N4OiAJr;HS`owp~mKI7JaL@ay?ZjGu!?MsVTr1yJKgTnizC zB7@|k@sB79gbOGD1zKSQ`TKHVwh20X9+E~X1q83siV5h)*d3_@Tj7P#%rG>%VZVy- z2)+NNYHQymW>n5sD14PA=;535F&rA&a=TUDtn_g@->g6t9Ml3bPy5^MY_JZb)r|nF z4eK=1HX1+kUH8Q!n)TakH$AWRI&@d}`V_>-E6UQ8Bu)CyU;_X^QF#4ij(pBimm{xw z$a6(G0`Q^p?^AN{>HqInZ^I`5;IlA6ra>epEl$e_3REd(il|(>sS_>|atNBdJc4w3 z6S5c-+F$^gq_MP%v9h%B_WzXA{Q$@v_Fo#*0AwYb%EwZ$7DXbEPiHCsN~xSijz0l_ z038^Yff&TbmWaKtQtxfDh9W?v3MC96F3T)r!Wa$I0Y|5U(td_~kI(>c#~}fXQ=rjF z*i)*~E*~(&IWfPm@Rh&I2WP%_uQ?=Xpz;5mMfh=2chfb9{3AoJIL)uV#x(X|^u0MO z%KuR{Dc*OL`LUV1qwdXM1iHe-mFSL}?qJQrf%toV)6E3al=?`wudDWhPUn0RE8!sc7e`Uw%; z`hb-}+71UlOSov|tSiMQ?Q>1(@Z|0?$U7)EMnf0Yo9}bykYHoPnkzNX$gyICxl5#S zQ)stiQO&=hFhCwjKNH=YpZ=>MhlqiGS?yJ-d_=AN3AOWTKvY1YsvR4Gh$q^K0{A`j z=+Ttf`mnk_RR_liV4=0XuCOV|!x4|#<<+h5H>)Z=dF$qyFFOS!<@BAoepbzwX21zZO2zYKNMW3!Dh)~N;Wg-baynBoG~MV zBZg>Q!ufqmz6+KkP$LnRwW|PIm>8mLITRkL(Qz`UiDUvM=V)}M`8s5kufB6P#10Q9 z?u@Ar%VwcHU5D}c&q^G-$9&Zwnq4~q%jp;+qPG`Rc~S)F`5wl0U$h#G&#gt&Sef4O^SIJ|{R0_Nsw`7L;i758 z_96mZTxc)7X9o?6lpmz&(I88$BlyL^e>QOPPVDoY_t9tcM+ud~N;CI@6u+yOgRNw5 z>e&JRNv+}Mwzkd^_EzzX%>UgKd;%aZ<vO6F9i_>q4P07LgD>fSMMFo+_IG|3G-|JgC<|zby-d+a0*MCSDb% z+o_)Kjaw1J$be!EQZMUuz8x;CnkF*x9A+rii~pNp&ZO;sEd_L_8rBqvTUyax2~c+0 zQwCXPr_uw+DpBDuzPTmFdB>)fA)*W!a}g-NdssZ*l?M9;aqb@cXiL{D{2JY=y`uDO z;LPKl)Swtn?3PW>0 z6&LoixIH~)gWjXCVW`3E^Zi5EH2Z4p&Kj0>LlR@MT?Sj{IJ`&mWS-H1rR5{5u*#DG z#)3>VK{S-1PO<8fc_J?PSS+6C))J;!9vPJVFDD3N$|ez{g4zm-wc6wkVUOK*IX3Id z7F|c)ew)aMegE67#8i)=@M#gn#5DC}2Dy*F+3~kyXGaLY&dUv2Q)ITHBvr36-W_Ix zxtIYJr%#v&OEL(rxB*16^8fq)g+~OHlW4M?h#KnbN10h1%0`=zt6PD^DY}Vt2H_<@ zivR-ch`6j53jW+}dGi9aIZ4!rQSA!i`verbr9K?hRC{ zEogHrdX$OVIn)|w(C_>GsHY4$72WuY%ka-jx{9_Y=?@qv1hn;41&K!pSp^Q6QYNN` z-D}jVN?M4;yC7l?HlHPF@cRaoNqT;UH-<#Q~`{&|9kd1z6)6 zzQD`4fE8Q*?94-$95Sq}E^ISt!G_qLmMs^2>%f|)#f|Ab1@teK-9&?x7QjOxaaJ?6 zRVL#pCCd;IAv1&O5I1bJ3Iu#tR=h>Q3>+Gsp!_H=2!g9rBWRG5X7VG3Xw=#mg>a(- z52rHKs7otn7jmmN*ZK#=v_Ahk<weBSv{JjOz`YPE>%l|Se2>xBZqL)P?Liue5}K5h8jABRn35B&Rqbs~ z0~`SO11TD^t2%%kXa2;x&)Y{KJtQGFLY!?VQV1uU!UQ7?5!e@H+CV(apI&8~n-4S| zl?-c19HvY1RZjk_xH!n3a+bzV7)F6^S8-Jud~Ef*+Wn#YK>fR!YipJ6<>`S7mz+_D zS>5dQ$LsZ1KefLHeuh=5wRoOvac%Mb#2uE?U4&QbTR7g~>{sjHd<@@9qZyZbAC6we z0haVzpR3!>t25mr@16zi$uyo7TJ_iVn-1mE0}YFXgesZ#a-8;XxKlm`yU~sw5eu{yg`l)*N;dugpRBsL(jEmGyVZaM5tp>Q9i1BCy`e&B9NCBL;}0d5odh*;3Xz(Jl2u(#s~s=X<5ieQHgivBTaEPihAl6G zlftHq@YE~Sl?PD+*@g~a!$H%{GKM4!5goX0w4r$Yq00XgqPNOJZ8A>~5yjd1!FIGD9H z5_(iNY^KYK3$@^$tB9a7@xFfusRITI@wTi7d1utcUbw9gWf8|pROP`sWcm2=e=k;b zY6#2;Mroq@`P@f|svaJ|s4`Aa-)K6MXSKH>)h98?nMH%TS(4kquYW82bMGa8aOdb? zaG_b60@}&sdEmph&@}IRT2J2FCe$j{$l#&g4gTu)(VGJtk&*k&Zd_q&!iPdcm)!+Y zvLn6F5z``rj?=}d#;lta{v?vdO4JR8>Tt&L9!`M?bEUn((;d8=jT(v2;=a@Agwb}3 zOAhodTr>}mySoE4n%vC`TDtl?&_#O4IoUoEDY9HS8Q9#npo*Pot!eLxQ?Ba496bF| z&ZI}ew!1tz)wH{qmI;m|VSPb0;~k*e$>KC(x16V5@5g;oP(He>6R}96`Yh|IzxeXgW*f1X{ z7v_c4V{7l3ByJ`22V8S;Wd9Jd0SuVYFG8V-8mpK^aaf$nBL0|nFCwdIkN_i;UI7$1 zA`1YRqB8PuX53mDuRV%hc`q`-O@@|z(L*mi^VAMl`b0$}j0Ei=+D2eKFr$X(AD><_ zM`VL@a7*ZCO6MdP+j{9_Q+W~vUAt#el)qbuSXq(W+Vq(QoRMJ#1CjaN2gRVZ*(@nX z!D{!R;EWLh0y8m@Y7f-jV!;eCn^4~B`^VUJUbjOy2%!5!evX=J_$3QDVtT^*EQR-g zh0lNA|9QsGK+)VZlt{4F`t37cCMJ0*-<3#B@j?e?HTEDp#Kl_xI>dJ#(IpX%8GM>N zY!c+sSmta&A=K?@fvqemx>pe-RcRB9qsdGpUPbgrfOo4fiz6>-&sDfza3UU$06lVs zSXxa{q*9kloJ~?xtJ2dR5)h3HsYP{70}ofT)!sw1IzS{;6-o{Znw>Q^R2nc+XF{iC zHMXxcTrZ8ohYOus7PRZ^GMMCTH9T8>i~>2R`RC5dyRZ`)$PPe(Klw(Z$@zO(rtRt; zGT5Zo#X`K&_)qLj15GD(+dqWD0tSj@bV0#{f7Qe)DZnpQ#29zO(Fl;U3hHrWH4`vC zS~{XKp`iHMa^jCKKYH0?q$H?y_n@Otps%`i+qPNDq>ga!QcH0W_5RAVI31o_>~FB6Z3|#LTRRx%Twig9_#T0Xn@RT zh#j;Rh_}yq4dR{kT>UK+CLjil2}m5wZ~iKOTM+4V+;qeia6=qR5y9klTTN87er4Zdld%I0lQ`ougaO zH6$siWquhN=l)CC!!-%_VbEEXx9R|(Yv}k;oPbngaGN5?wxA-5-x*{TA%r}yDKbUV zK|%9P%)L7H5%tm!ER#RRE*T^t;VNPYO!vsI2#%tstxW7;rz-WQcyH4Du8ech0H2+) z=l|<>D{Py?Y3%ElbB_w+@&6IZ0R$Cu>dg(XpQ{W-NtqnWB32)0$%ALx3Mu8o=^5;8 z{x7pR*rc7r8KKm}sh3OBFk3CD(6|dV9gK1ET;R;Hre^+GV=+`-&E#Ru6D|@>g3Bga zM_-@HCv7(Xz6r)mAbK1#C1&K(E}3ye|2CHJTsgf0Jw_Pu+;{V}d~kOj+Q^E%Nr-`@_IH znj)U4+~I0leoc$wRE}MRqwva$z)h%Cv}Z)N6cy+4ENUl>zvxcJqd!|tQ?3eu2@h_#REGNF(0D=a1L-*I8UURH2qUFQTcAbTfq+@=R?4wc z5G3$_ynFKpPY2F6idsJUcy1W0sb!sqw#r0I;S5syXegiIDDW$Mv{QZ6?WRn!tbC3f zbG)or(8M9k#uElQ!iaqzF~{2&^Kd5~R8_~y4_4wXMvn~d^M`#n9;iR>gf+_wLTGe= zJr6}hTHD)JRU*-2KIPkwEdQ&a<^V|WfW~@&U0=gIi%?)tE-G6FB!+CotAcebkzNBN zDb&p>HPQ7qlXJr5+9~t0ov7nrj3>Vs5Olq?!7&^f@A^|Er zVWb|zucsBwAN+g!f4qGNy>|&Sta)SN!mQ%uz$b*_fUga6Z^aG@;$N+84$gXcJT_5v zD?~;Wa7pK1erX9va0{)p`7L;!r*Eb*1TMsw+9HJLbg7=H8aCJ2-t{z|JMjR>?Z;to zvm3e?W2XeNwXxmqvjit*jPX^Ski&tzbw*phDn1m^f!RZGu4mpb#?cUy6Mt$1W|sMc z8;rd=iqsjobA3$*L(|OfJO3dx9ym}#qB9>#s1Ft!t67*DA`%;csKCBUiiyB+@Jyk3 z#Xd8xW%k8oG$pKC#R)j*8;HTNf)gJ)(hj8UmgY%&RBmQMpj2UC>A)!`FB~AWGbo9lL?6zgl%Huj$2V&ezC7$aBzA* zD_*w#tw|tNqD5kZKLh|#cqNQ#84xw3a3%UK`~{Uu9aU5@d%Ye3o=+vlqrp}3a6Ab+ z>=6E!mW6x^pWdRp-7U)5W4QMo@0!w-nt6CaiSA3Tj3rC->}8APM>tZwiT1%4G5Xso zmy=XRER;Q!3e$rF#S=byH4T4(mV-|)oCWg;As^5xAec&Md|i8fu&aeReIUZ$po^cM zT2jOW=_Lo0HXLCg@{fr#)*SCXJ)!VQo+kV}LoSeb^GYN+n;;25>-nl{Q&Lh|)*yF5 zl5^`caG`iLck!zc_k+#x@BTl8b^{=*={CTWQ#*xW1_D+wg{k8+X$4lf#JCJFZ9B&a zL>%UK{`(vdy>l?`@TM~C2g-n^u>CoPjM5lTQED&) zw{a}Zw`5t4fs5k_$=D_ZLW_!}2+(#Jn^KUA+1S0`u-7L}TQozliM-WUsxm`6V&+ph z;HFiL{#2EEQIY6U3B2K8=L?Fabr}(YjD0>2B~d$!Ttq;OL_ri<;^=xIDh4d!(P!+8 zv2!qIGlR|Vb^otEsrf8gT)roNddMOrbdt^jkGxFbaT(Nl=CK}@dPgzMT%i~T^SgIX zhMngX(&na6yR*s1_dodBoc|Cy1q>XrY@7rWIvC6FiGhL*k$n2Ks>vz}%u%f)!Bn5I zCZZO$mL^+1XoP}9YRzQv!72hXam-a88xHgq*yZU zVfpW&Kd)Ijha$4ylI6KbV|gB^wFG%(JO@@PxW(wH8QFiFKIdnxaq zX0Q$PskvXHEL-O$rH{<{py>p8e_?bX8BOGYtoY(;Bo-L#9#Ql%v!$x3Q9rkG#L6#N z`L#0pDcvRsmu6f;fDI+O#goba5*JvGco@pJ8&K0;^M{qwtDF%95VTYH9p5|wFjtG; zA0{jgkBJHN+ujzZmpfU1%E>ttyLnMG7g(mITUSLHH>%iVt3rtG_)}cX;&m5w^RmIW z`)X_Hy`MaLa5G8Bvuke}fl*i$(Kr!RyZ^~l`_rEG&#?xp_fQ1x#e@p@*aMJ)+i9qP zhh>Xt2W@z4Kj#6RjZ+5crLvyt=A;F~siygBk8|w!^z_gUoh5g&8pq|ny11ZGm<+E~ zYL9>3UG&*&rorcVqmQrbivMpP{vZ$Bf#Y%+2yaZxUm)$lZrfww!YG0uk<>(Mgtl(r zVA2E9W4d0-tOZ^RpkLXoh)Aff+$v@5+WD{$(k8Vp5>0wq65-Ly1aEb3!Kd4r6$ch0 zNJPU?Jrk>KyM+m5+^k?RXyv5*Lu`FP1z zRWH-6)f{i=&O>9#q_WuT`l#UnXnCch-MbzqBJ+_#Zg-8SNsQk1QHA?={;j~})Nta8 znq6Dy%n@lSTnb~jrq=9*;C0S9B1a`^88Z+|;ecMR=%LX+QK%V}Fp4 zBrmgnu@qsq95uI;%Pk;adB@5edo_ZO+xTgibB93hF&?{BGxdG^{QRosqdlgqj-W&g z`<|dH$*iX85LHFN^M2PLyi#6WmwNX3Tp1QxJd_-Wa`4wz5kUSxz1z9q7$AKXfdkM28HDhtWa) zTAnaY$3{=*v$Og)eHrhkOrqAz0m+$$+u!39R7xBlIdr57sYRFj>&LNh!YHQiq-bBx z5U3Jahmu&GaYdCV^{N}oO@Fp_DW~nZCQs6>+X8ESeA$zk)>=DzZ?)RUbBwGwzmkfJ zE8GMCprwkmf+ae(Np8SDiXK-7}SOC~y zT3SwxED4Qs%hBAo#BJXw_dFx53N*scg?`TM(TDHePA~ z{t3zhJF;C}`ID7RKtkEm0;M*dKd*k zBOOgD{Dd1JRk=rB)|t>u51M0>nt!OD7b??NDwXHg)m)!iC>Gi^P({65oInDoii;Vz zZQ07#fXY0w!VEqpA>z?^JQ~YdwIL!^G?#g@6#{Wh!8%$>KOQ^H+NGxi`{ltJ@fz&0 z5!(vVrnD+Pc=gLbdrO{ zO?u$g>{Fgi=k})*ZcqoAqu-j^XX&)Qx9aYr+ud_UMJ33BH(o3S;)OWzTuJ4VQ2#`r zOMafJC{qUwhKK1Iqcy(USG`6B;RJch@iQHCMnAh+n)1w8w2~^tFF9W=XGiwbc5^_( z0@++b2{W%J!&k$1yUudcU>lg~r8tVI2g*RGXgY$fqF39GXC-^uuZh&^3yrf->`Lzo z!t!k*1L)=pk|;K-DDPB=AMGp%gG0;Mgb2bK&}qTqGAO4uRCnLS3%b7KEXaA@H+m;3 z79oXAj+JhL?wF6E>1bc1`3$nU$pUn5@LwC^q`EKg7-dp&b+r}%05YmX>V;nsj=oqT za@6e7^jx|OzNQ@&eOo-+zAlQsu$DIQrL8SzHk`wDrO*CHZ6L9c(r_)MBxi($Ntd3s z`Kj!kLml}x{;b?ziRPYPz;6NYA$N#8h{LCb#YlLpRV+*K?~rr5RsBM!0=a(Kg>RoUbGJc6ELO*X zL%G3a8vvmTvnzel2__;xfjH0f7!O^7IFDW72W!PanYM?*4U7y#zSVdSB!Q zYmG()a!`iNoxh}c%K5YXE;2)`8tFUP$(2^`YBAOAw+HB!&_!5}QYeE0a@Y(l4zDvmYppI z8n+Ko;nsvaYSh%pElXu{jE2Dl2v^Fcgb>)wN`28bh?=HkFI6sX6oJY_tbK32(*O)p zCDKr_aw(XMgbJ=YPj;vyP?neUE22S0|MgI{#L0v*b+$a~d_<+Xu%akmA=!LcikVx^ zC3vG%9jBAp0UZS~`<78>HxvIu=s02!U3O`ak?_eNIP+hlfC6xql;5G#@rye~Xe$BI z0G+)9gnoU|#t#ia52=wH2LPCb5nMpzlBm3u>||7hWN>lJMK0{(-V5%+>tPotF76T~ z6O*BQ*CE8x1^CqrjLsq=d9c>nD17uh>@eT1?@8XUlHG?U(TawiFp+VlW0_+6bcO_bwb*OZp_FtrUw_P*WB&3*43{j!?WEU z|FZKIL+!6qdC|M|F{3~$goWe-fG~rS9b}2h=v`=EFwg)|SgzUY^8$GWpXRmUDY9WK z<;N453ca)ebCPazy8Fh(Vz9@EcEyRBRYI1G#isIkE)=ZUyD5mBa)9<^k;{Fh?S71lcqD@z8cTo_ zhQx2~Emb$~99&$l%ftYcV7GDh_GCOreoibXLR4xJA~E%(m^>;cUU`*McwV3sp(T(< zfz#_J!3ZCaG%pkC=?@&r;C%iGqg{0LWOPIk?Bi#};~H?{IU9p#dbIdLNSG4$FYMK9 z$8zKj=69qyTlfYMIqpF}3C`J1D=&8&tiWp;&(Po;I;GMtZP46))5)K>E6hkWZ6 ze(?D%Wcx~CW*jEiw;MD7xOn182~Ll~N$P@639B$Nv>gDPJUvoi5_+FcC_Xy&ep?U+ zJZJC`JbTP~4X5TjZ-}toA*Q*FIC9PMLg^R2R!H{lf&hEI3l_J_->=^u38&6qHn1Sa zaYLkZ^Uq*Pt8nG@{aU+v<&>G_7x8dYabcja>o}MCj)bMx$fS9e>d~_zX8~!6AzwEf zuAvub#Wu$Iw)7h-X_ZMkh^XQ2)C*=MLC!(0;9ejDt z?cQ(S)F5!#DO%{W+-Udw-~Vsr0E76n^H@sks+QuB3-;i_>D-R3B$$jPfeDHYBLH5F z_Nd{ikemkLn4F7Sn!!xr`&heBaPE^Si1``$@;S3wDfS5ZQs$jg;o8+^M>Bj-)C$oyu(VoY&!sf#jNA zXuuJ-sf2AAx%%tBiXc-sSd#fIad}eZoFc@y9xn=w)wdE)O+{&aJ=e+hlbT=4C_1Eq zWC1+@xr1s+GI~ko3>%Y>6Tk#po!FG7jcdJ0uQp1cr zH!uMJ^y6U3xS02$_{RO16>y-`-TTmXV7C$B0IJGiO-Rl@qw(q7=kQnV#eYm@^QhRQ zNxjw`sP9;y5Lc~dkc%;n{X^&~W>AJ|4$Dhc)slwb26QBk>UJb;FNhRqiTY1xOyB&P zgYEXWgWVhk72afo<34!%$uFk;Py5|tn>HCB1=d!jk_G|VC9!tlfYPP@vl8bN41}8t zMp0~sc8!6CsH6d78C-DKCek^gNm-HTCk*Pvm7RA2wUvIQtxI)Kzj9_&!@kB7@~xYa zg65Xva&iw4Kv!wcEgQUqP`n#^+u?iDiT9iDLV|QQhwNj$m5D@W90@~G`1MjQV>N5> zZmvo5#E@T6-BtDW9{nOd@Ihs2+whc5Qi>RF_0LhwugupDM8cUQ}7~5S2qJ&4HGT>CTpew*|t{q!_RV8mb(* z4au{gpA(%+c^u=1Uozdy%lGQs(ID=cwV`j$GFwL{QATOKqLk)rOSW^s4IR!gowGWy|Wgv7|CzXwt6#!T8 zi5-C6NO(rO<~5_C$&<0>kYeT?5V_K(rt7)Fd^>T}oxj|z!RvTqsx@W~g5;QKoT`fa zm5AIp4>iO=CL;aDBUj}jg=4V+^Tm^VnG+g{H=-_ePL<>#S6qelB-p3G({G0IhTOv) zLB^1rKvrUJ} zUbfV;=wOyo`&_P;WQ>~|*V7J^I#v zU-WTd7yv{3`81iqA0C!Vy&(w@Dx!>M!1m)aTmuhExG_K}aNiNDo^<+-^Cx+kO}<3l zmosL80N(nW`h06~?F~N-pU7ttN8u!ogDXq-k-{nY?+#DKG zxDzD6nu1C9w}OWEM|Q8m|3kq~;0Hg8s&~P&AM5S&QG%OoE{L4D=%zun%nn zZvmDg#u&bPK%oFY*%qkkiS1-U`<&>4z_Sk-ye-HU92^cym5I(VG?V{RgqWV5wp`uC zsXh&xKy?qX2#QVk_}p6hrjPQ5Nf*N@W}u*vI7=< z=Id`28(lcN5iFL-34E%+SU`V)i6&J4QvUWIOzGmNAr^uAP3Zy~wOw|~*t#phNNMPl zZ9WNPS(7zlX!e~098mHO{A`}L$ao{NN zEZo?if%$R+kPS3g7WeGsi4dc?zP_iKYjDcb!wDx{r_2S#<{ggGHC!Rf?A(RhD_z|V zybhK+G>ewGOr-kCbAJm4{_hli2MnC>t%FVo&sF#NL@grZkdAX??FB$09$4iH;3aqz z?*%5bO#RE6>SHGwv<07pnS0f#4n%!1oWbbDLBK3`29MiVbuQD}A9k3q0M-}*VcH6W zkx$J;^pc-Gj-58VH6+T%k8qmoeqKdQ>TuS-J7$7)&6Q`Fes;Z;)}WsRMb@ucEixmp zu_YDmv`eKGLy4m#GE{NKJh9Z|&1o$+#X;kR@+T3TnU8vx?w>b~QdUYIa!aPlt-gWn zjWOAMRD`Dr6K>%i_QlnhE(t-9{9PTLdNyc=KaQR={gqnai)TN0kF(luqeV)3`&jz} zWT@AXQIYpn`)q-kKfZsH_OJ*52Go=F^YW5aGozV86wUXGePxhpFWpC#FV5n%=ej9m zFZj^qeQo-fKhiP-`JG6q3XHS?rBekR=~SV{aNY0c_{fSQSXWt(A~BE@H68qh zyDDSPhoi}LJA*1seLq}*Medtcx9T5sd{rno#tTvTZ7nwrROxUqO+CRoP7cFtAwrT8 zc7DX_eA`9;ljOmweTJPq%03d=8VPgdDYL^Jx;q`5_6V=c`nN;v#>|()t)9jnBQqB? zml@4fm@V(_M#g(2R;FbGD;@`d|u^&I=I7@3ER(Cc6eY!p+wlkDx+ot1_ zz+us~8zK501Ya&*F5*HY^s`CbPN_JLyEz4JL(;k-=5b4D$8ULgEa@&1$xra1iB6t= z^;iy<2(9D61J=;e890XRX!aN|rgTpq-W`e!GO}sTmxs9REyBAAF-ioXgrU$O z;bJtM6f+B++bN2%Na?@;5MrsgQv%jqIqBr_$rp_SBuq0@^~5k$Rd^OzQrX!J6Bb?= zefu7&{4{

    3pSO|e`*GKEhoKxQJ|PpySVNF3 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�pjr5?!W1;0ZPW8 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 z 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%0DQ4pAxLNv(|9G$AtSA+PzEJ9C^5=p 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

    VkB`{ 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

    nIHN5Qb|zl=F`zUFl}e%sre!Nagwx& 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ⅇoR5 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¥5lAUqa$|pV~G}a>*OD$<{kHFkF z5))t2(-(2GK$W~@+aMBS?a*vfbZ-`_%GB+A<^9f0h$IksgPC*JRNKuUstNb?>l7We z;s3pyzr(;?LqAx#p)RLK=VTJcrl~W~@z9s1ELHLr);vl+nZFwyC|`iC!B9UQy{ppY z8f2UoYn~iQMnTOHTxc?pKegIg^)D6~Yb_;`AE<*p4m>~Oh;_}&n+KkfnK%T7_Unj* z>`=adWGaX4cDlAdM1rrppwJv3tESyk^!y#IjCWaTKVCC;{rc&U@>^%N@Cf*b%={*y5?yGb4D1jOm!LP5=KW7(Az5c*0<*P%Kq=*T z^3$Hdse?+uihB@yq63;Ng~}01JILAJU?Q1%SXzypXO2G%u;CV&v3BCZ)7w_2S7y+x z@E8`9IcmHAlbO=cF~5DwT;9i&S)q)7T0k8&5j_FPR0A_yVQwBbv2*Lx%P7Zw*207o zsJ;w60+`3I!QxsZaLe=Pzin|k8!OKWYt?UMbczq>)L65G0pz*9nmf+LE~b$b7AkW* z6`ls5ETcYN1)ho8r>8Lt3cs+0`s8m7IQ{(U>l)iLm^raNHl4s45R#FkJp{uBkdnv z9K*O_@?A1fCw4BP6VMF2 z2-ET`zeEU3MyxhTw+_}mI;PGwOZNuJ##wDcmZOqbKRgf9TF9d3UYb69;%B0r+SAB$ zIl3F+A4fZz3o2UG6Ovjcbmo%s)$VAeCct1-ebq2y5)5%f#(|&IC8-x^F$M@*mnf^q zp8TW7lT)!n`4&&b9&|^DO;Z7v+)gsNO>jQQ4|IXT_i9%o_oZK#kXun@*raDZ;NzjMZ4$ggOQv%PNd+iEP|p~s7|XDP|UcmPdtRgR2q|13*glRxDbZd=D#Fp;mEuj`8_= zDXm6mdlbO(uOb$oF_edlmUrKFsmFS!o=5iS9rR?;02WRakq?_eDxK>> z&@BKN0*=4aUA|G7f+H^8`=qP&?eHBqUM|wCnws34w6nZo-J`s6p^%c0B#bm?${FwVORAX2>_^xY9Hs$`|x%tg{ zEH|^VRup|?0~nWl#_|}|@y~#!z`mX-8`;9$7jw*t;vcx`lkq4`auq?1c87D?yY7dQoEJZt~^V+6|Y+Xsb5qaB$^(VZ==r80yL<C{^~^N8 z%~0$-_$d163ILng907fgR5j{pS7fgN0#@1tX)#|)kaGx?vWi*_6&)0(%}ta5<&Q~S zJi$oG16d}VYOTj+z|v;7bm5~sS#8(Zd*y5jT^5-JyC*k(YRFCGqsj|f3q#2l3!}G3 zEKY)@kE=7bc{EP++q65@_7dKlP8!&aOw&?0cXXvgW#zAsh9Sd?G(OMo(Uk0uLc;Gg z^c@C&1nOOe%`R^q|3YR1GEeh>B2?WBlp%F*h)d#|^_e5$HSg0WV?b%X>wN7T47^ZM zE`WW{A~rq7XsX&g`uG+odG&=Fv9o+A8!DIr^AQ%(3(UY|9PobpyTC#b?=cA zF)fPJdR>?*9=^^@)^VMEL;>jP|8yFHD--%x8HE_oRe&NVXoxZTpKNCCEuGGwN?s}< z>)MvJvxEUGP135_TWfsUQ{}~{fGcDXFRN<{8^2HrZZlaEIaCPXfF`_uEd@#I)Y~y) z2Ecr!z*76*wv*ly%j;;>>_u_5y-WUA;`QwX0=a$jhm7^?%bb-b5ft}$%pkz*Rd}Aw|Yf;bAycw;TKo8Ar>Ov`(T1!mry91TPCO>p;q3v!VeLq!+J-k zGa8;1iVy}HlP(H$2+k;;t^%}Ds=%DrA#QfQ`^1NaTs21_=~E-;^X239{_|hze5EVz zI2=@30#LtuJ+^C}=`$YL*WKamhB?OjLg5=3R$h?x(rot9^iT{;FeVputA_n3boc z{+nuIozRh;QO&DLJ<{r}U3G4^vqZSjn2argGPQo>aU@qvc+S6Hx-qt9^YVjFci}t_ zOS5rofS!_;M!z1w4l(uh3V{eKTk-GNSbVpq-3PWc9Xox{z~hNqD6Qk0NRUqdxyq(lmvNIK0H1Cw6-_sz4Q3L{{7StbkzidP08g8YvK2(xFZNeXV*=o8BClK7b7Y7Cd~&q6pDE)P@3sy8y%rCZ0J$L+(U4C5sYGX&JYj1Xb;9$awad@Xg<8L$ivK~%3g@%c`y(z=n`maL z8{&K=EPJ8zgPujUJBZ|dv5@|%l({3KrehW!-=i+`^$Ps+Ogt{^X-eQwsz5eahM=9t zVk$3#erY41-Rn34Qm3~o$8O@AW@x9bO43nR=&G|a`>pQ?Q_}nwQ9%zAL{A>^|1Sj? z=n9^x9yV*IMnZ~*^}acj_3=<=XvhkyZ*jgW35hP0CbrDP10rLzaoMq2M1!uSickJY zMPHBK{skx9IO&XywH;6HzFJ8G^H<+|lmsV80OjM#fHjt5;g2-TI%}6yG zP8#9YznSnJkXL5<4n1D_4wZeGYlXvcEWgyjzWJi$j%V_z(^&X5f4gGDw3AP>=F`ZR z^4P79D7Lz`>@}+~WP!G>Uwp+d3P~>6mA?acoe3`g|F42%@-(2hG*F|HPnWT)Hi|v{ zti?|EI#ll?Za>_x)9f4WyM-N3^qf_d;sPu)M%MlU1xAXPyop!8+(GXCUZkcc8Z%1w zSV=oY9U<(3qX=Xhphm%7s`CHI48<*)XH_83xr7Zo?Z*i|1s9%XHR0LQydyOHe_{Rn zDZafzyql|p16gVt)DK-;DNBNtljRN-kc?pOQAs8uZ*$y?HW5A(bm%8Dhbx(E5Hzo8 zQCjapzmRDIhtfBfdFqJi32tBMOnQp>RQ>2|AF^hBspS3WgB|&xV|98@Z4pT+2t8*H zxC{dO1;$htu-$qcg@Hn$@U5$mu3&LnfwmDN3uPY5nw-MIP%IYbYG?yRnI`&|D_-Vk zvCOLLVW5fM%?w?Y-hyxTxA0n9^U9kEJ3L+DHz~;DN7*y{!5`i6Q?79a0wRL7Wi~NQ zCj0R&x4X%Xv=bw@Dy;E{zUJ(!`zN=I%(^!QWB%eGE}kBmxoT-1!!gg=lnin_KifU6nq`NPcbHjdMIP~1J?VY_R+4Pb zy(aTg1x-G;xy_`E#f66PSU!(;{8?xAQ>)rj>?Pp(s{|3#6 z!j_dcZk!_Hbg)k?0XkvuG-Z8YF}Cat9N zQ0(db*tt|ZMms6syY}T&msyNriah(+u8zO@7VG}@X;hD%Vb$ej0H=D@L5)T?(>Uh$g)=EkuJSOE@wLqc9tfF7 z+QZjV5?d?Zp|fS9|^am%CM@cbH?`;Pl*;=7m?AaT>%C}TzYW6$C8tH zoVSLsE2JB_2wpo`NI`#1XJpN}6P_O6wci-1KUv8Z&su*j%n{}W=UFGUzxMm&`Qf#` z;CElX1))^O+cUxk@Sl7;3nAUxBLBl9lMn*BYn~6>o-)v)tNt}%HVs=rx zlQWoW^C96<>y%kNenQGsU1dqubmsq^u0R6O34`V`j44TQ*;_jpE1Xq4nI`uMT-11T z7A7yn`672{&P+AU>{ZhgYL!?+Y{`H`Rx%z98qw7LN8#?5Y_uM{gr;vXTy1Pz)xvUJ za;Nc)@r-Xi^pmGmpH{CxbTadx-HahrD16=Wg4YTE<;xaV%y8}kA3hg-Q6iGAxy%SW_+N24to|H z@0zUc`TGwkNjQ^EblqL;hS*<{VS*2jAPz*Z1134)cPQ9zuwt1msKKSpa9^&UBbm zAfFd);_!6fwQZ+I&?!M`B@y`;5|E2(gMF_z8V4MG6=p67#G2@DC-j^o(6>8Lr`ZdE|OM(yWFGi>pr5(?nWy02~So!2R3Bn)&yrhm0#=q$LVn; z%RGkX6-gy|LGqW2yKiV`uBNkqGz0d9WL4E3eSx8$IcX$->4fnU_I{SH-Jc)s=}m zXL2}$7I(RX)XA;@7n@vk6JYc`pjuf0g-TVrs|+0E^1A^?SEY_?_c>-XoUDbN1dktG z=RTB~zVgl2IL=FZ;#s<)4lu}iwQ$t2K zu1k^En^98=@`)ZZ$r?%Yc1hMnDbK8Bt3uaJD!TZPm_Y9EVW^9&;~k-=DEP>C$9fTY zog{QN2}VUI*9wjL)L8dmY=I)Q;YgcacLF^+WOOi>s2VD~?yQo@3eFm`z3Ionqu;TV zkiZw6wCl!1`- z+(&xM^=Yx>2PgVubn|AuSF5#Yp(&oaZn6EPPBN?b6^ZU^qh~WYI#xJx(#t5*NRD=~ zUJtDZzt3h(r7o5kqX3bfIPJK?e)RsFh{1&;Yr#@W>?m@=WIuXe3Mz7DbiJBo`$vh>10wa~>x9UrvI@7w3aA)(cV_dTl_)S&j&e&*%2`)cf$!#zI6%Ld>*a?~b6UIW8~{%z?crPG6*A#d4ZgAOMKF1>-zf6&xze?%cu zz$C*WDKoqkR<&to*Ld+zLuY`A+On5`#61+O{XgZg4FWSaHY3`a;uZ55%Ze z@AhfErCd8Wan8inQEDDKktefpS?0J8NEJA%)_v=Qvg**k>z)QqXb1N3F;6Yvp&Or& znwcoqQ}91RM`l$v`n=h3nQgyp&8y`dt_WdCmQZjX!qO8YwsgyXYt#zK=&XOBK&ZodFxtZmlqMW8Q0M4F;Y7iV!QlzBUs(nZt=d8fm_R z21ARES20IJbp=3pwjFCG#ifqpmn}RIM<9**EGKR*-nN(4%lhxsko6M72Q?2)MYk7D zH%>3;3JmlbsKF&;Rcjrp2LRzD2_ll=lUtbw20Xk$7r(?T`233YIqHYg)%BN2{i?71 z&2iV{st=RpVtz@H+^DDP33&1m3DnSA{d+QE9Q_E}&8Tc+{s2+0XLRWe*a)s|v6fc6 zF;8%i{ih=vO7FD%p$(z+T$eEWpk9_<;4`)I)bIVPoIBJZWXd>{!h}Pd_F(OxWkMf# z)YdDWFn0ceF!V@ZfWy>&p znY~u;*-NS8W(CXLWx$<-Zu$oE`G-Ax^V7W_rFdTR3lRTdZV?U!2UcS$aHfV_*gcs- z$lhdYio)aMkE^0?D;TkQ6`aX*Z4tg4FIYD0>wi*R$doQACHy`4faIW^gmlP>Roewy zT-qULLp7A;2T0sxYatQS=gjs?u!*vMVseHkP5T&|Xrg*Z|0d!dI3GRt&C*UzRVM6leD~h&RQz*vo!oM*#6$OSW@FYP=`HFLH7! zh7jTfS}yxBcO==6Xfrsvh{GKuGe36x@4x4uN^82p&lguah{3%a%F|dRS_>h2W9!M{ zg?a0}NH!Q2E7Ov&9r%i5#gB8mJ|t5CL2tjgN~80!^O6EXPNg(SZ#VWd&qXpOTd?|bNXJ`M^K zu*nB@w{t}xCRj#^tc*9vP)X5@T884(*h|lB?;lg>j;i}aSE1=s(Xmq8EAH;sVL&Qg z$XVGt{=}B6DnPXZ=R{(!ZhxZm=~saP>{FcP1FnhXRLuAeHjFj(eLt#=dlLMg$6(A? z)w!%Pe`_j?6)|fO&JNbyYugSKS?2%0$t`_^n}QOjsQC5fCa$Fo>v8 zaGV!@b^9h~OQiUUsJ*Hy>B~44_k^=(q{Yu~5lk#QIb($-p!Y{V)|BT^%IlkoZ}R~d z7738ivJNFBS2|Ve{u{lVzcM8C;pJV#F6w@JSXZVyYQ&lLQri<0MM;KkP9w|&@}+Zk z^vFgo3__0p7R6IR$X(3$ifMGb7W^mQ?ewK2uzBS{wXk9^SM)SM1&#&=CDGxWg!^^2 z&M$0pJyk`frb>2`u2{dZr@+SchDCsZltcUD_V*%yt518XPCx6md4*L8*q}U4$3=*9 z&=fHPHyC!kecsVLxL2a&^IXd09C+AtzG><(Z0I|8^VFbckdZlu&W6ui(lzxhs}HKd zM~wQs=gkMJ=Q=5tUwjSie%IA(8Sgc;4+A&(PHp4c+ayk*IXG~n%0MXvftD=WDvqvd zN&qoEauiv5N&KAY!+evTd!sWa|FoC& zZDm|S#NxgWr~PZQ$c%`(?hCiAZ4TTQq{vq-O|wnNV@KYHT|XRr7ctwY6UT}lQN?}0 zj+O%|BVX9V51uHtq%PldsgmiYMnzT+B{gW=1M;|m<&K6u%_H-^N_+Bu$g@kq18m(^ z?R8H_ed+=VyOkPhXgYZBL{gzSyp8tKF}V4CL$U^k*_P^}7^4Seuv=;e`8Q&+m7qWQf zf3QT5MV*9g8YE<=RsORSh@>oE@WCcJFw2>FOZkl>TjxT*OS1JjDTeYSc_E4Bn6E81 zB?vTx%szx|@A5%m9Vx2QWbpqZ)+1Or&^s;1cBqO3-7{uWhnj6WyzlDA*LnyhlmNi> zTLGYZjYjlBX5-A}{i;f7 zm$cHW+EnAc4#yOX56mHI=bVcoqjTvvw3|JOAknsswlSAQ@g^bcuiQztuS91&Xsg?%fAe<-yCfia^}UA9v-0^ly3#&1^-wNd z)!!B{h(GlXT8U(sK-3`-dRza5PFHJpA>eh0<=B@eV*Yz@f-15Z+)h=#M>oT0ksO5_ zYoxPDP0@-NX!V67GMJ;RY_?zBY;*hX4O7z|&IEf>#Mt#ECg<2pAr103Oy)6HVNUiRJni`1-R zYF6p|G6pq8C@$!qIE!UnHn5Z>_>a;mSimi-ht8zp&*@qsv%no?Qx1s-^4Oj>y1Fip z6_EhP^CjmkF06E?@dI7h(KT&-9pI_AWbLvxHzd@z2RyAm z11j8rr1`%B>J@Daut6@ob2$uYw%<%ckw3Pd{Hh@t7N9t|R@v^IO^vz4LA``hQHM3j2)6d#6)*}R7sbb%nKG1~veLu-=GRM|?OnLT=07Mq{;{P3_ZH*9|_LfXqx zJ7P@zMA>!K!~*5tuR)N-I@)df%D)&4ybVva);*9uN74t-XT4BZg;qI0?4uT!TSg!x z6{BRkrwIP9kc3!3$Rx$p8#{@2aQaYeC-d*`(Vra;JJ|}%<{vfz@Hr83sRtSO?cW`3q+(E273z_h?jZy6vpLk_4GmY`Y^ZKQACO8Lg(#4}w! zk(l6HJo)xyW-lHW&Xo3!(AfXSLyP!g_U0$&P*JdX8ZLD80qPl3#l(J^R07B|E2-^@ zU{&~&M^rPu-EU=<8b+pH(PMELUY3M}pFDH#a**gUcX!8bK^*=yQm`bH(5+GFCCqc! zDrafq*;h*JtAh9C@P9qWhyOkB)ZwYVg%Ql5n*N+;wyDaoU$RKiF^{=t{9ThLFx5aZ zKW}s=-w5)*y;X0Nhd@#(x#*^Rdi@u4o6s9?E1fcBetjAWp6>Y8hal@S#KWW9(1dRW z#E)k@(3zDme$}W+4tfyX7iZIr2i!^F68{D7Y#^G-e52!@T};H{YFr};lhzO>=^dE? zR4Jy5X-HaiZwyE_oPGM<t;8b0Knq5&mNr8VX=Xj@#M-eqZdgDl_L z?e?eg8BS`{{v8azEU02(l=4O86xUOYcCQmEiR z5Nub7RT&00mo}pIA)8=j>f|vcx>9OS=y+%^AlaPb(T*u3(1v7XODOxCPRa{hPezvc zQDoDQv5Bvz%62j`XCN<-$9;RyZuLRPdR&yX{`i^zHhM$I#r3IUC<^~>S@!2A4d3E$ zK=@pP+BK=vgxyEM!&Yt4pDkl9yl%fUwmmk%GA%{LDvToy@1gH*T30yzMG3Duxgp?b0>Y#jG z%C_hMBe|LnBHqRGy(82R1up@0^&t>*bQopVa7vEq9K~bR`ca3ICwfrjGG=i#KmktLH1S7 zfOI$Wz+0H|LBU;b-A67|Ume>?p=tM%}~G*m^6w&Z#6 z8jcYrIjNVc-*xZIcEbGA>yQ;ufFL>07S75~r9Ct$=gIg;s*FPUR7B1zoJ3yV!&AWpsYN~#Uu9ihx9_+^Ln_wXTyx)e@ZCG#{3D76j!VhyLd6ilTwRYXq7EEKhy z798Ym1k>5TH%(a#I6Y{r_ zT52n5|N4U>X`2VTR3@lC6K_~}1E#7X-?wr*J-OD9o(r|$&hMx$gFx*BbI63%gHA4* z@mAoASDSLK-l2!;$*1&At&F-&^?N_0f_KMo2X_wTq$KC*?N7|P- z);4c!03*D-741#Xh$~+YK?A~iTyj@lR%ZNIO0FOl2`VgPn6iUuiBfj7Xk+nhxh*j%ks)M`p_pcYpO< zqGs?1vLX(7%D*EN0s}ALus;76Us3G{`r3BjNRi2RQTo;l4Eo&SAO8vPw7kqYzWm%j zS3D(a0D;`-Ns%@{!<=|8NKh4swtBqE^t`#WWx8<-!n(Q7SEL3sWhKAy1CJtv<<|S@ zXR{A(2naD}Eu$rNfmMiz>O+l%^*!LaB|iiL1U(YXJVE_W&%|AypUo;1+4u~yu(VW7 ze6Xz`<-ZkZ@O(N!J>ff;KY0=R+Aae5i>UZ$P9?3q(P1dZ@KEGnmS_=D_)d8=YFMyL zgp)wN^3%Yg_VGpJJ1~jf)g6zYZM{OU)a82c$BZfnPetE7I5KxKDzk^X_H!4<_tMyn zGR?v0FjbiBbRo{oN9WZ$U0v)?j`ae&SAJ<9mc)r}#Hkbj&Gq*B)snyJ%XHfQv&X{x z{lWxJ`pl~kJOBbjaz1&+zhs{AUev=#L7JwI(Ian$Psk(x9qpN9BqH`CL&^)eJ!HSlDh@VxeiXegIFKBhQyXfOy?w41uz- zj>-3QIWLpQ!gqvXqTvM{Hcs#G9km@_!fj>MQ=gzxpZ~FRl|fOqZIn($TBKXLyFo%a zrMtUBa_R1r?k;HoVFi)ylp- z)^_lg7I6J987t*qkt8g#8pl$JiCG^e#)|9Ac7b&YsAH#}AKlKLUpG;sS#J2>`$N?h_3(t3%#M6Hit2*=v_S{_uI=Yd!j=!uxC3br6>Hs|@YVW6ed6{{YInqYYI>dUACnIrk>jcS10RCF(}IS;~c5>EN)3#UWk z_|xlD9V3iF+%=~y`p7U5A}p$RoylbW0rVyNprBIa|q zm`va%ORvhi7I)K4G`rEnzH`5y6y&S0xN!kKfI#BoFsBMD1A=_T-fG}}@rX2!y}Ck{ z8YaCsP@e`DR3IxWEipn0!b4Ny%iE&oIfmP%-3bFRo}SU;6~;c3>rmy7sw$QwEne?K z(fvg_8Zn(RM#!boGS7XD0Z)iw z8q5e_Ir#o5?D2_Kr{Oofu;BPQKf##z(+f9&IeI+v@0V{&et5KppJ>2)Gq;=>FUvRF zQ%`;XMErG#L~^iHWQC z=x`Lp|B=&$OHD}W_?$ciB5P31)KKgnr`~0>R#Z;jcwD$}qrdz%I8zO-Y=2dEHyLj` z9L_cS-!At94iOexc6=`Es50>EWX2={6Jr^lvDBw%Wx`C7b?? z+NwnOZkFz9fpe&l?OHE=9Iu8e>QRFxj}+Q+W}MwzP6-Hv$~@j74V~M)k~qqzvdZzk z=UOVBz8WA)2{L)9-CP3xyaZstA-`u`{QKK#x_o+FSSFJ<`#4Bz@p-`S?1R8?8AL;5 zvu!idsy=$AUBh@?r5&e9sZm;!8#%7~xX{3l#zQo~Q9ef?N)Pu~iYKMTpRD-1xVBWs zHQbo0d`yaht)k>pqx4E-3N{|0yEna-c_s^5FBx)QVx1Kmb% z3ba(3y$YR?0#&&2XJ4`5N#fwEgRor4*X%$GT_F*%qUZ+|B5v8C>pXPv3yGR))6ZBh zp{7ljdT{jn-C4;Do{gKImZvsZVv^D6X!BMfXu*W|_+}DOzNc#i*|n=ZEAOG2AHUY& z(hQ1V{zGUm6p_GMcjl1U@>4Wy#A;(0rw-$`S(H=s$j*+#)0;7U#Uzs;g^^ESD0V$? z3@oL!{ti`I$IQr6enueY`Pb(Km&KJYUc)D7K(# zQ+3;lAT$Z3%3$_(4aUrk`=O_X zx)p|7K6n}WwN=pI7D@mIj2nU#UC_>n6^b14eYSO^N#^KAlS$z!rf>Zd6tV2@<${r1 zuf!9O8mJVH_2$J2vTI^X0lN?3@+YMynL6vKuXrnz|M z1a(^fLudvL@dHdq0-HW~V00&#*^0*X!Da;K$+$C-ggWckbOxe6-{Rg}QEZ+!^E1waH;-X`2iuMab53I&z!C!8lSO%3 zoHQ*35VcDy&u1p7in86`z5us2i3}co`;zwZfCGeJK?%X=VVU`T(zF)d>ks>Q)e7bF z+@Jm-)CGqqWNqjGJBQ5e_{g+KSvP`x*7lEdqsELcfeEW4C_jT6RvP0kl{( zaJ!OYKdjOF9o2{LPCythS|&U2bX7ma4u(L06Xs)pffV#=F{x^Cd-iR%eEP6LVu4v# z|HqWkbs0V>u+$?63@%pYhd`b3(LI?*2E%~diT=os@yn)0 z@IQp=f4do2!Fwo zdNT4|(_yaT)5L2m#_^xFVGz#Fv%)Kf`5+FW(aH86Y%9u`q zRgwg`_&%;z+_Wxn+WY1h>8m|pE9bkkf#fg1&(zYm^2+>dtCH}qRNUqmiqh)UW$43R z-#lDGDeX*50`hBpAoMdjL_fdo?jn9K`p_dK8DP`6RIUn+Tmn;+*+x2FFV_f<$TA=P zTSGChyBy3UiGycpdep5Tj;bGT1`}h!jK(Q6^{lwiCRy2^R;RN zlC4O zdRVK)DMw9rKaVovFj+VcWGec0p{1BbQ20KCjINv{jhPf)iyr|y8|Jt8+)IB3B+<|7 z1=}D-z_K7_#j25REz2-1x!P5tY0FqwekJ&6t{J~io_fdq&rLZ6No_Ay9_f_H2}le7 z+j_I6f}vWZq_qm=u)ZhFka&`HKRTEg2 z1hBP^E>WhTF4(Z*Hm!s{r=WJD?2WBHNG{{n_L^C<AUC{8sf# z;=O^`@($IsEB<>`>@(pa)xNN-=*MXPsQdC3%upR`ri*HPhlN`B;G@sU0lA5yc5*Qu zBGw*qC+i>E)M?RE=;u3}3aN14{fMYYFA}@qkJ6+8HFVfl&9ejD9C5V^fB%ON zj5(!)F{iKbtWAbjVbNHI36fb3u!P2J|Jt*v+v=_pXA^1QX?4?@9f0z#1pAfcH?Q5I zP)Q?k47SoIO|WXtV-(Q5jta(?9I>Qwdhz2smd=^t_aR<@$^){1jLQhT#7)x)6^`}0 zJ-cyU1|^-zn`fYSYSQKX5k&mX<%V~z8{`iF3gyU+|)5Osp?l(*bF&2 zghFzszx`+f{J&Mnxk|N4^-Jb!rVcbjfc-#&PdAK4mtpB(QWp%q(|3Nb=yWcROYwrKvMY zU=Pw?Wc+QUFV@{%0juX7uHgc`!DFH34Fe`YovGaIL&IE^3M(nsyIcf8h@xIEz zN!@jw{5WK)bc)w`WFIFm$aDS_0xnTVUOsQb0|mJ)eG^DeZr1AtEoVyvrS$(^Kd!y z_}-TR6eD~ei1?FuwOA=!cq)c;8EoYLnuM)z?!cnL!Mv0D+xDM!h5^=6=F!2d{l3N? zGdswh5^!_pnc?Y-l~%Qsr2qZ9I6g)Rkzj!0BBW2#f?LbE!UbA4uF*{VD8`RHSlY3E zwCMssoQ{EgJTyw&82K^p6}8t9d0m+(5uRQUaQI;Ev zcnQner8+fiMuaw`*W6^q)q8%_i4q)%3X?>d68|GBV z4nxKmHA8ie*Z!oDI4xqF(6QcH`5~wf0G5b_uw&%;*1BCF{j;C}&z*01HBcXP+)b^ZSx}-*aU8g zwFoU?@~^sH<_5`R{Un=rKY6?uIOvE^4lrjZDCif7%6WWkZjNLvfM5PAEA#TAe zkx~Qa97Z4F)L6ug`x)7Ze&Gf_#e=nlVsvX@>&*}pCJ3iFMm>?~WvpyDS+wEOwq zwo2d*D7*oFQc8TH6LemUfj=?Guu+@V4R1z$GwP9?goZ7L$yL<5@RsyA7Dx{>#^s|} z`_xR(r}98@47s{Pnex4(vt=GR)I9rB`Yk*e!H#}?6#|bQJgZZji1%fNF5}^NZBgZS zUwnFIzfFc5`T9I@K*c7JLGcac*N?*Ns>i~wsS62|wGxJe7ILPj3q94L`Ebg_#w zlfCSzVJ&;XvBT3FSwNq~pIQ7VgU8^L?JTQ7hUUeULuPM1a2wb#CkVk15jEVW*f05r zuqQ9b(!N2QGnRx^U^rMz_LSu^?ps|%8Gm`!JY@O@UZKDY(S%tMvU#|C#3G|WzPZXt zoUvI{_p-Bmn(^#bx>>wd&%ozb-imF$!sA}In@y@bYn|_xYWbW6Er2P>C;lBn@orjtw8w=Tx?kKVKD@E-$G6<lfRoV;wGS@oG0iJM9-{Y!f1|%DxZ&?LtiB_s z5l^qyd?}4-s+YY4^Nz;tqq3--A)ETYogz|tl|(Vab7P=hvaw=~SA6b% zeRowGm&BfSkk*@4v{7X*oF}oJbBSqYnSH+JvVuM);ANs9IJn8~dE1CXj9pTWPs6{$ zJJIjMej&sfTP>|`GH4}cK>P1Z8b@c52;Y+7pyDG>e%s!|v>1MWf9%r_a$+AV)9;Mw z(Ug(-dp=*ek3z5YyEd$Ld~oxza(L8ZoQw9%Jnp{krU@s#_w4rkpR#q@*_1@n-31)_ z?uRI%(w>|c<8YtpRCS&3*pEwd?6T-DQZo`92R|XYD{s&cr&vDShxPE?{wE49fI}p< zHiT6QI7$qT`Ef`Y#=F6aBw@6iVV;xi4gSfu9tM>`Y@sG?Ci+pem?2?oH6b`S!@?I= zvFz8>S_Jv)FUc_+7|Mb$+ZG*?U~^+r$rR-(F3|NP~qUh zl|aVL^>6|sz173DsnA_`-=LeY-?pRvmUzFrzmDavSxM>hF*`n{A}D$N{8WY1IhwW3 zxH0-+X8W`0vBkyB*-9#S7urP`Q(u~MlnO^1>udzRfiv!u3`1p<(BRZQ?F-lS7)a-{ zpgayvQ?%G9Q2BOMa)pMQ5g3V&N*dadO%Z?SCaO}h5thP3bzH!0ew#S-pvU1C<$eSedsY$dvcZz=oO{QWe4Dtaoq{0M|K z@xUq5mNoA{dlaZ$EqV`YVY1Y8(4{9bT2hz~=`OZ(Hd(?bI2LFxtA#gv%sr*h81R!l zj)_k5=FgheTd~Z~p$!+gm}9q4l(SLr?;Xnpb<}EPyhJH;=AWj`MPS90AlTurHH___ zrnAA%^{}pA)!&Jw{`j$rk27Z_P4Dd>8U18a%>4q$UCUiK)*d&Ldk99-6nX!73Iq?o z!NpBMQ>`A4(DyAZQK|s5%Wmp^u1?04$6rewqZcq%++)D0X{K@Y_BpKohfq5_tm@NX z4vlF~O6F8wq+coSHru6+vOYzQ`hquv%zH-es6bb$@cHN9b$BZ#BmH&fwX@Xe)IA11 zN?QlO5g@>F_E~eS=EGxFWtHabyPlkLqhP&=K>}ptMCs&^nFO~1YRDztJcJzrrY0Lc zido5K-6RsCm7v2-^9lU!$jwCj7j3#K{lcK|-dR-ZFRq9u@7UiVVm$S{-cyB6d6#-2 zQZ;{(U5YX0Jt}QVljy_**W~2)h$PrXPk@nMI}nFl`dmtjph3s)4QP@#n46}~N|x{u z5w<}FJi>hHazRX3QgO2hQ6{423&5$D*s#xe$7YEz%j6hKsX!pvk)#V!^vNF-mq&j8 zTno-b4em4po1W2VY2FnR&8eo>^+r8@AOPu4vcC7Tw&fs6O!y$d^pvTW3AN_+*mBQ| zMGTGRU_4itE8)y0Pi=~->h<+IaMo$QL0pH-y2h&b;t8qzs$0#Gr03lF_1W2Z0wuaK zeqQPrqd>N0URCAFmUYwaaj5q)l$05~jrX}N{Ua)F4v)VVFptNobN=5N8V#nghPB!- zGdrq8*8W>V@$#_e5Q}m)HPyLYc=X9PQvYAu;c^~#E(%6`?xNDxU-q2)FGghPR0*0h z+4cnbNor5c9af)mjVo2!Aj|-Uj~cT)zt5^#C^{O&k7h;LBZKexJ^oOmzVE$i>6z(2 ztiu9&56{65g`84Ig~CtnDs4lWX1^3v?fSKPZJXw)E$UHZ^bKf$`M^zrIU|Gbtuok{ zDX_WiQMI!A1poTC9I3kJDf)74-XL-ca<`^KvE(v+!Vb!5w#CJL9?D(vR2ksi(#>d% zIE9t?9ggIRc~E)9Ps2aFEOMx^*h)#(To=AVCg$(`$uoSMj4gwP^L?CcRPSN5-@^~B zgiaseiNE~x;cZw4k^QG{S1V5dy9fnkW{HaMLqCK@XR$<^%!2mzq^t7s?eZWmH#ndT z2V~}{q(qRRB~4!9SXRN8RXW^m1{dW}1@(<3x+mpS>x-LjSbwezx|ol7yRW{CRXs*? z&r@=vOvze4O1?U{0v5TrODzqTs?6xUs-XDgwCIt>q>AfJ_vfZoqoDb<*L(Z@Vea4I z2A}w${%+8>m8A9Iss^u|V*FF5cKlQjuzvcEY~FMS8L%sMfZ-abgVA|l23H9B@UXnn z7uKI3?Du*3&jG)$7UmkA=3Cq<>vw*3X9{{+o18!k z8JP(>ed$qI?t!WN9Ljj_Ot%6C(e+a=GcoOZ{zB-W89N!ncNO!;IVjg4bSi{Gn)as(_w2&?nmZ5nXo8 zAAriMVItiimWCp;9_Iu14!$C|J?Q`~^Sf9KoU3)^K;7VF9co;a>)uRCkz$0S{Nd;U zlm@Mhc%n41GWPFWX{~p@&3MmTe;UrY74zc8J72C1I1>XOuih6l$z1vRsHyNspwq5p zxx8%IW4I!wyv9pczo!YYO#=H?-FRG3KC>ErUh!%b?yJ}}(AmQ$rJ%@hfjn71r0rFf z_|teqbZ9+{9@4wfih6e3eoY#=U4r?z_F48d(||c5sD9Z;WLiykdER6M6PwSb+~4%N zGw(Mc=8WwLueazQ?Odq#Kg6> z#W+n6J+X`n$#Sc#tIiH?boL6%=l~}^001w}#2J4!@!6I2OX_ONl|p8`OiOX1TL%y{ zAC9OaYVZ-sz-`2`y$e2zt2GuKIOKTgg$4qqzxrRhj^hsCa&!tOYo!nxesPygmMO%> zf&`R5$jUWR8QxJbK+<0;c1)VwQIoGK9`aY6kGg5^`P`oRX=zDw$6#W% zo>cYq;nv7sYsZ7ZY)m==zA36B-PIrYTEQs``MqE$hcW#}bo#Y!0Aht6!ZTu)p0Wz@x8UtDK68Q z3VnBv8M0A=FYG-86Owo_!w`z;syY=Chc(}PHUbZ=bI z9il1M;nSA>o9s|y2bXIn$eN~^QGxC&F%p0o%XX+UB#?=ERV0mUE`&TWYH~HTW2F>2 zHn3b3@hoi1)J5}2$$d1DMWYOra<@2C5hE420w7njrmeI{;zWCeBRmM7U>BT~PL=3= zB=-J0*C+%|D6iOZ|*7*8tk9xKGCfmXW-pJ_YCxiE0k)QkKOa+hR-o$}`VWLgX8ohi2G$`V*N@x;(e(#XnE3NHI09}GQdWRhR> z6ACeq?@l2YibOz!cflWHPRlBeK~~x4UKl{aX=6l!w`NOH;QH9S@X2l}1&cyn9bz)- z&BC&CTvd7%`<_Y&9fJawTwZ~tvdyI=>WFsNy(RrLu4#$Uwi)kh-*8Zav<}0Ni*Xk7 z$|evwkcw2c>fzM;`yCqN%bTAg60<7@zWP=ZWODK3y}GkZmFEvvE^@!*0YYs5k89G( z_h>P3=H{jz#KqwUcpm%Mbm^tb*2GZJw(MMYUQnf#NnF&{_Bf!J`z~1uuDThXrDA^- zL`b8-lu%WcFox{#wLsy~<4j3>q=+`@l>R=?g;{ZP5(@%Adwl*w2p-WC#wiFe9vI7= z28tfCz$(_9{#o!`%ba;`Gq@h0!nRR<9A+@rq<1c$9rUUY(hG^%1itDYIn`o$+JWvK zAk|#(>iBty%I~-uDC|z3ImScu4zfUiJ?O`o%2to#d+|ivOHI(}$|idjPuwYS+}gV4 z;SF(CpqyWh)v3!TZ88R$1l+oh1AHfP;`YYQZr@j(I^1wY4BgdA3`aZX z1eZS0%-0v&f!>(x2g_ZL{;u(oR!;t9i^4qbI%D_NacTBbCR9y+efD_p2h2P1ki0o?? zZRXLI&|9+`eg!VL^bleIbgDK^^RBMYG)#3HFj8O#A)8zRWI%F|OUxc9^PDx{8@drX9) zA*TmWDIuD_;Nfdd*88PbRi6J?WP{o%TF1)yt-TYx1UT#U(4RtPqRAx*{9lRL>WNZ( zOyUgcvjDCVpLLhsZa5KI@Y&HWfsSZ|4-qQ;emr$V!qXaykt6({!D|c-;U2cjvEx})_KMeogzQj40@{)v`TH9P|>?Tbcq(ht1gq6FL-Z3dC*g{jIN)Ibn6=>mR zJ3y>r&L@pZUfQves}~;V;Ks*lu$~fK?2FNjs?rbC(t^t`qxwrw^YEC%rvShu_MsoR z3&JD22TmYj5OE@b#Y+zeRUgjB;N8-R>u<@6gg5Quor96Hsqh1NPD5;$=rnk$P?e1f zkxl)(9u>A%y=^a`r9@4gx_NrJ9wTn9x1Z(aLI0{g9h(sl?yLq86o#cgCp#~yo;;=qWbGDSWF9yEK)Ijtso|49mG^SgaMN^EPP3}w?h4Dz?> zN^k_!JjJ~68ZmBK63R!tqRn(Rxy_2M-Du53yBQ zKGiBcADZ&1teX~fMtF){ed+1G?QJomCCHyQD^0%1?WHKvs_0BqYm%O?(1s4PwneaXDt&CVtKe7cL(oh&*cQot(R0^oSyGjT3^Hy zhUxe1#Ju_(*l6SJP|er}!%(N0B{l}sh_*k8%W|@7Aeyaf9$zEqtQGx9!|TmuJLPpz zCe%*4rK2Ygv_3yj)Oa@nJcF`CER&_&sOK|JRmczE{xWr%u}th&vy@PhpFF)HV+@qF zw2gtUi=&)Lh$yoqOcf=rem_}k^r_8S@+yU*L++M8`@2gtY{G=j@p8W;-7#!54F;7s zzPtYVXO}-oYe@VN-URwph!z(!f^fh6^p#ds4_<~LW*|e~&%lW+w7lJL1vpz$R-SOy z&Zu9mJtS^!&UL-GI4fp77{V7)CL?j;uatX`@1}@}V*9V(_3%s`I$mn+3ex8~Tpv*1 zFK!G0rB%Zz$-f8{JEIEJ325B{C#cc9Qgc(!D<$_>QE8UP!4kmW z$YxBmT|#&kQlFt!bsx=dr(3P9tD)KDqwWbXdNwfow}ztN5Xtmmwe5J84rATQV)mAa zoG{i$sXjY}sowK0->?4oFR(Pt5%+7bx6*qvK-%B(P4Q-~4^gW+*rGf;C_yKQtFAt8 zduuB+$A`kMCqU^>bP8MsHe;vrlKCF8)-i%Zd-+NK=YWaSkHYbsv9ea?16SAlL0+l* z+uO?o-necDhvtWectKha^X3f(T8Ay~8~j!E?%sy_#wJZx4s>jf3yw%tSb_8Ty^GO} zv(Q8-j-65yey}`tiZyO}`?)Tuo7UT=kl1$)lgjHpuNYLYRyAm(HEP)2QR{o9;BCJk zyydRZqkc251LVfEu7eK(qH<{cUfJ5l;ysjPW>J6t+!S78F(DuG2gor$G#Ku3_Bir6 z=+T||em(x-!u~Cb5ARdr^*iJDVjAhu$h5_bW6oEDdBl*KA8G{)#k?K?fdAba44m5$Zf$^AyN=9(?q`e`h@?t--AmPwEW3a z$fbNek#-R1FpBJ5wM|BM9dinYd(}tus}(9cRC=WJK6m+Yd-f*&E7fTx`zBt`CeCUG z5s+t?+k-62XB*+5E?%Vt-O<0?Zu~-bOMv;JMC9?Ve%)tq;`of`834Y3MvhnW1YM)c z5ZpfIbvQo3Ti7`Du@Xo=rqA04-5dgqnu34YLfH_AA+tWsS$7b+r`eM4quq%)H90mu zh3V9+_rTH)1r|v<`?krO7tA}=iWK)I=6y*J>+7`RjZNP8Vfol0vQHnYHG$iN{OB@_ z1cAJ611akg>G788#d_)vRE09Tkng4tlql!mR9V48y>w@gvZHF=xEBJodf~wr_Nzj? z!s8=>m+J6MGvZa`H~SJleI;LSOw^=&()=`tRa0zF^ba8uI79&$>m$IlXHj+PWCklV zX3YBU9LjHCh1pn}LyMz!yMSN4EQVE{b(Td2b|Y-7k6*#qC`yCI%aq0=benN1qHN0M z0oT8|D?_f)2~-o-Tt6&c{SXy1n#}JTsE3Aoa53^$i5!h+Xqlq4thXm9m2k zp2Rz0!8cqfk8EJt>8+C^A)7dE|1Or(Q*AeEx#grE%A}! z>g5m^q6Fy9Kj6(~c%_qks7d*f@7yQlFTljLTp6IXj%0m^zFF{|zbfr-E+9I6&+xfp zy4^j4=%5s=ntyM?7vyVSbg41%+t?Oo>Pf$2haaOw;6fYOZ*N2wBuy^d2F15G+ROC$Kc;9p&gp$>Ws_6j#}XO^kK7O z?jgH;);IB#uTf4G_-2s)F?98xL(;nlH}q@I+gn*X5(AbKOm)l(OhWm?{-e0=H=$Ao zqa=3+NTwX;!F?=G(t9hBNrHplvn^UsVHy9iT~hxLQiDg>v08I@&2(Ul7MCwtsT+r! z<)#F)KF|=KSBK@hyYPgxZ_am-eHbL0V}*4UFpZhFoR!lo3|m4ZyPOrZMiGkjV`C+q zmH(8S^Papcys@m9{KD-usOEExt!Mx8^SP?g1A*=Cl0u@gg64wC30aJ2sxP<7Y?BBI zegd9+4VJ!dP=2{AZgM^#*e%nEkhzKZ(UdRc zzgxs()x_}$(iL4a#E)U3iQ<*i7%mnrI(3cGF*Fts2Vv4-Fj5j`0VzWe~GIOw)3 z5|^w-WHnemrAnC?-$l6&3i*Pd9_CSU#$Qfpnf>NXHFao03Z}g1oZQ@_i14TL`y((2 zJ)+|+R;L>ucU|OF@#h-|Ij7!9Evy6`02;G^Tv&2W!&f;7{l)5wrhGplE~8?UmDUJ~ zuLnZZPA#a1k+|SY$rw{&r zj-9gr>h&tYr`i$ItI}cCZ5&SP8Om>KsYYO^y6r!N%-|4?tXAf5V3FIg-S%etBC+{d zuqn85wliz}%^iVJNAS=AZ@e!pdI&$sz6!y?|CcZh#SLLMuRfWVHL&Sj(>~)3E*AuCdZk;6EpfkiOtREJnPW6SN zXP>tpC{Qdq0+1=$&hSRUP)gUndX^rTzFx4hJ0pE}dTE6FX9vpl!E9R{L{^i&5_*=QRrr6Yc@pkYblTsPnA5out;+5@Lrl1eR9eF zSsuierIB7x2z_O{0{3lId4zQdtu#3g&h+Dwx_AN-;MQ+^i0GC&&7Q;c3EkqeWN#2w z?S!+_*T2`-Qvl?ZQc0QcPV;*W{?6ahOOk|kHIzkgp59T1# z$0`pw)gk7(dqt@-t65jD;n5GYKkRu$z8EnS-8h1~(Dy~Pg+#uF0 z+pCU2t_drhjW;a)M5@$M82q>i1XeHRjaMo-9f3MZuGk-nC1u@>HhsjksZvOzQKA^L zKpQ3i1PuJOkXA>g)o@-1raRvoWffS}>rsfbij;%!kb`zy;;~SJ67GM%dr+J<=&-+S zBo%+9=<0(-=(ZWcDU1Yzazv)<8AFW#OJM7UJ{5kOp(sKqRkHW9?5P3;N`Y^p zlf+kEoLb?cuy%e*6wV8s7`ahYeEIoA5IDd2&{0*~nFv~P8#x0W^>guzKtMN0I3-04 z{9biI^&-3FMmJNeWjR)Y}fd_ z`V_SM28Qblu6*Fb=Yt;Q%O}plA6rx-cOan%cGvhad3fC2R0C3E>W3H2S*0q9T@CSv zzTT)y*Dc5!Ck=o?qKSc?HVV?~ur}()GkE7)ZczqyY?Yilxt#FTD5?-2{ zUt&L%(&13`P_dh)xH$6o)pxM4foU`ebdlPGZR;qhF*0oZq%{-&IoJ&kwQ{|G7=U{A~%5 zb+6&4Y`i@y1oY2go+hXe5jvb<^Z6B-)37Pq`%7v4$ohbw!N)2EzcBuvNwX`MmHJpe z`eRZ26D0^L$+#lO8SJ7yzFO6}1x?-XPd&!pn<>oJJkI5V%i{w60Czm6^s;7>&GA?U zp3B^6kz{i}ie)5VWf~4eL^QuCsX5oRq5lMpt-%PT)`rLX%mM1-V+y7+&au2OlOznG zAZ}L1(ERQzWqYAt9D8* z7O&qZoO9iXx@TrFj;76kfrGhK^{2fj(5nWScN%%!ps$1-yzVzu3XAlMXo_oc{6&sg zGWd_bMCxA}*(6*|3N914?i?v6e2Hh-sShbgQWhP$P7)0t_xzb`h{G!W;Lh>sp%>u6 zX*Hmr;RnF4PfgmC}8az zc*zawQ=GA0xQ(b(4Ws+K$v^v2R>^Pf*I42Qz?4trDYuN>?awr;MEKWhU%A;fbJG{- z;omHpV4?dJ{^&QkEDfia>0MEiDdhwZNGpGtu$a;N-MZ#}p1shS7e3H2?|!Yy*Bg8y zRaSAa`RKbQ@0V9PDWS+8cHndx0}Vn#?_DB*yPEHZnt30CZfhY>Mvu0;B1px%oPO(j zvI{Xe>Lk@$hMKan3J3O>oWU5p!HLR$OK1oVVbEG{4xJfa$2QkqW*LACp8S^Dp zqK2M3f@6Im_?eQf1CHuFjIuzTd>l!e_gBwKOM(NmmW@s$f9eqhr`zP$d!cHC9ZU0- zyk#AgzkWbVMG?@ezD}(|PB3{+Ji_u9GZ26gWNM2}hFL^Q^;Wo$g^dd;4FWRs@~srYWkz>8n_1)96i!b@*2L@vlw zlbDfy`)O4wWTZR$jYfKwQw=G`K-vFeXc1OnK4WyoMeP$<=>r{K92E>9Sdk<}zO(IB zo4Y}Zg%&S;g^~2s;7@#XMjC4B%sq*1>(W?NX^x~vtD@d7;U+e-k3-`Jcj}5SipQ}2 zyUfMBXJwo?+Y_a;PRnRj39`f@HAB4S3DXoZL+Y=%c^yv7G(UO}W(W|Yne*C&#kV8Q zx!(snGjR>(?IPzw3qjGr@_%FYba}PUP~Z0Jb3Sb1He{o(b%<3 zuo-=k)*5AWmhNb@K5JZFM?PYvCYCjp6!-Ct!1xjn%Z1e8++i(JIs2LvvtPJ+alIv1 zE)^5Lv1&aKsc&UUI9GUA>cntPE^bp(R9PTIpv<)N%DA+gq5w0ImkpczU})gNAtx;2 zfOZ=^4qW$$f?#*gan5yE2)pvv_HKy;>W{S4`KurXkzd;314xwnZwT+VKmW+XMR6Q> z6YY(C0QH0gVTFJhZ|AbE3gZ*d)nyMn2$+45v%^vj^)avlkt|FSv2XZ)|H;2T(7KK$ z{n--PYS{S1c|d$1azN=Bu&sO3|8EUF1tV%(>(2=Y&g)mM>YE)BC&f&NU2p9~swwN5c z=4`&LH_GfjG4V3I%2smR;`%xFVxtfYdntE|Rk9O)^WC~GJ~As5k5#ZP5I=AwXfggd z-F(|>=?3X$>F)0Cl$KnTknWUHy1QZb ze9Qa&0WaM9%$zebcZ}%p^VyJADDem;e?4q^H_Lok5>Ee(c2LOxHRd^1L!(mly+QwW zugDA7xKf*XhXVj)+#pnh{5qV;+~Cb&`g$oijZA~Kfo-HoPrdbL9M@>e6+Lt=(hkc2 zMI?m4@;8Q6Ghw}2abmN4W2nJ!6f^Y{U%r-Al<5Y4O&9$}H&(SW!qvu9;A5D@vCz== zsH9b+>@4||RMEUpQKn}vB8Es!wr9`lPt>3BF$O-1CU2KrbwRX~mbt?QWn@7BXBvmW zphAl3qe7~e{R-5b=&vK!xH{YdS$rlt(JMliL5K;~tM<(NRu0DoMwUuW@j@`)C9e9F zVJc?&)Hc^(fATd$DGocK|8$psUi{q-`mr4Mg|HC|iPRP8!$>q^ovck`+(&D>tTh^H z&M#W`kDXP(<$qdRZnRRHj~~>x=n{FO!)NW1YsPz;HK}6l{@dGKa%_J)a8uQskaGY| z(+&wN8a_}Qc&Q4Xc?*vdTVfKm$t7AjG2E>8E|^Rqy154T>tFJ7wJlECG0;{QljoEr^Rv)LS&TUM2dLsX+*p^Kf~srzM%B7n-kuOSziJRPwZR~BteV;#bI&_Y$}O<#j7FL01DgOZCr9~z ztbzG;&SXXYT1^lA%G)h#1-oLw)C?PhECp@Tn}*#hpPnuGtB>p?Avhil-k%fvuSthd zq583O7{vTxosWbZT`1yEyE!t}t8udv)lhAX5A0IS#FI$B{@S>clfxm9I7FKG7@ldg z#L0G_xLZ+~!dt+C?rNvL& zCGrzp_^m=q6fy7A5}*l5Uy!0a76D8lnC%|+xCiZRiBFoc6T;sDDnECFIOxJQNr(j( z;u>}zc}(LdJ{1y2UWa|Bp4ezBQa$^c_V~42wlxax+DA-U%qqa5Mm?0MRXUC|MSEYk zS*aW3OfJs$&KFyK_fjGQkro9?YpH(sD7ZjwfdL0z^Yz=}~q zRL1|Oo=mcxEM1Q4Gv}klFvd^GNz4*IaslQS8_fD{nS$tlB2`<8#h6~(GQQ|eA@f^X z2M@`cS%uF8LWR%D;eET$Am}ww@|kIA3u>CF7FwAWw3uRk9${V~!@yyNa$1l)0)dh$ z;jS}WT#0h5j>RjFB>17IL$BzQ6nMgK=Jw;nj)q%MDmTM#TQo1KX}#nf$v4F{@mS&^s4(Ldp>a4w1K3Idhtb`}#xKUS-Y~8{(^65g zIvGS;%x&Wi#oq9tu^cUgG<P(|70(8wuyBt&vnRpDD{z6ANbbJQ+s3p_&1Z|TgY?ZB0eB>FuBES zCh#cDc9Wsv5P2^u8Vl++#nlQ7ew@0+l1~ zZFGng@WaCQz92+c+dclosA=(*(a0Q0F`h5ex!$2} z#<#(VI|sKJgZa%W4n8Tv2Fe@ol0Y1An2~EI;lv$7>Rxo zz3@?{>2FS&T;(KFNvCir&)A2uZf&Ze(qMf`Zsq9BSQm!BkA%#^wan)X8bo$PRln${CK8n0C*O!CLNSN9=TiM9g>7FfGW zptAU++8u0g5o*X(S#ZNX=tcD-&4g-P*z)CyfryiSfuIthxqnCXRzanS##&L%qAgwC zk#ZFK2j^L@QV7Uo6gJL~r_x|R<(j(hr#JO)yJ?l4PF_BE|E9P5N3BqT#1 z#c}2VBQzFXi4+y?8Xthw4NtM&kA-JIH}O@%z$Q!AkO}v@Bm5l{aF<9L`DGzjRMyKb z1It_na8>$W+u@@`U)=h6z{=w&_q`iH4?tR`-MdLvZ~~@3_fCrN@YApwQ2juqO4)5+ z!RS^fMrD)S{w+N@SV+s@6&GZz9mzgz$Rw!F9*!opb@vFQJr4RW5E{*kdD@t$@C_1aGKAw;k+o5jjM20uy>B-mnw z#iw9=*w&#}=CWk{@i4bSI?23G@UYl|#We>&^%P2HCNJSPGae&f6!Y=V9>M7Vu>USG zpKI1~{UaY=%5~$w;1)SXo<+6isz{|N#)YT~6Q;_FHaHTP=qE3i-&yoPoi&CdUv~G( z7|Q??LM1M1eM)o+yi*<{DyN7!d9Yt=s1~NcgE=&6@b9Qr`UzReNdM1mTW~+whW@lI zGw%xh(`SB~&t|*-X-tEKi+k)j&dr{%rlnk>6`S zZexsth~rTs2mkpZ!D|J#iU^9Pw$j8pnTY1eS|>o={4@8FA!y=|DJDExxot94%{{k) z;%;B;j$)C{&_+hSXfmwqeY3fXKB{KCr%l+K^DPyey6dXf1}{Ay_9w|@a=jSLWo_-9 zd19c<>wc>nM3;lVkc@c6a(0f;T@)!O$nEHQ97SxdYql;EQb-}jz8DK_Shx}V6NT4W z)H9d+jzeEpd11}FnV+1kvvd4wqeNWcGjtQ2CdN$kRQ)MuIBagdtDDmU#uLym6bvZS##~1i)Ug?)_Swob_4U;~=wE8uS4KOd~ zuDT{-C8DA>rnUT5UAwi3Ls}IggL5WUyl?~wHy(!$5F7t0GC96+n4=Tr(CRjD z`M%73(L+|05MXj+&f$cMdc&fV7#Q+<60~Ze z6mCsifHp6uwpdJzj?_xxcZrNt70MU(J-G(?_m+>gKX02HgdSR(kql%~X8gn%xDbgK z;~%+=N~`k`A<-hO+O89(m%LoY@qIAz2iLwpkB$tMt>?9SL?uK7OI4~NALk`eX4w^M zjU@uc?Z~q1*G4h9Jt>aH@uI{HO`%o+Nt=Z*^2?tP9xFN7oERO;k0yzOrP^B*fXVr25k{r0(%q?= z+0k{<DwG>a28xFE90hr-8m4sY5gs8>W~3)eD?psui`I?Mw~kaR1(6`Z%7nR&L_$L@WxBf zR!8K`ny9nR{McIP(VZ0c@1^a+6){XK4&yr)wifKriEk(8bqY*tZ15$JVL2R^g`+BS z(#VfZ)iACcY0G~!H`f<;penQ`J|sk+U( zLUULu6j@wlAZoGGbt+fVw9N@@=e&ZvRnPb#ruKf|SL>s2S?5GwA9CGKXBSH(3y10( z=a9r(XMhjj7J1aLvy7qiiK+eVIBgTqj0`rAQ&8Fc3omfs5R35IR zjFD%p6u9b?zgydVBUW8e-r`!0 z>CcMY&%l|`&pSVkws8mu14_;Y-G|bP?5cE`U7zpyOTRShU)H{WkBQ|;Kx>h}UCXzP z3UV{5rTz9e*_V|vjO68;5NfMj*Yys2nfL1dz$tbDFlVfP+0OM`O37av9B(VD zT*0Rg;NLIK81k1gm`&ME#_8AX_}s1vQ=}vV-jwq^ zb09>FbIuX@=httB*zvq>=opo1QI*>ziBW@nEH9=?IE|;3v=aQWN!LcSff5gNPoIGM z=LC>5#BJ)F!%wLxjDg%_YAh(MOv09GH`7r`PI_bw%y8q=bRew{?z6|JnZi;(?A&Hk zz%Z{)nPA&YFl~Nmwy)+xe43aqh=b3bL5m(C7a`7DjzuF`KJPb~d+6AG3HHKaAB`Va z1+Majz7KmBH$W7|3etBFjQBiPeSc1ASR6;T*7$9Le7m1lnwVlv%s^A5N{3@(aj7>L)YU|MX3aHQqjC~N=sD`or>L36bK)sJ_G zQJ#%?Qkv}OHDgHc6fud}D3j?ljkoNc)Fz{Y_owyR8a6+IIZ!Z5Nxb_HNj}@jRa+2Q z7L2it^abAD*B$Ci!*p@t4H1rl0}ZXI3n#;2AxagetIp`jZR9LH%}44#ufOJ9fh9H} z%6H{29Mx3y?`V|OwuabRX*T=`2Y%iso%2BRr&!=Z!$HtOucos7JqP{vxgMP%d+~^cSpJxk zwyY&#HhD*BF`c$1gn}(QIfY60wT3K$-eB9T9rLQ~*jxMcnmOvmBRSjG2_7d0mYv?h z+_teKB;yQISmVfZ;)n^D17tt??#l%S5E!fFNVsFR&xUWNr7h^v&gBEtU-@eHOKpF`;F}Vy6^FEt_{q-HhcQ}`B#C{+MtAIi3yck z9qdeQ8AT1{hx2`rCaT*fg)~xTZM?$!NAQzNf4sJR+FSeBuGz{|`8NnT%p;C%cbM(9 z3H=mPL=?BA>r?i^L*`}a%>3?zveq%3WP!13EaW8fTsN!|)3~%#us~ezSe57Rz419m z=%a#mj4agKY3eI+gYS;jF8uPBV2=-LX|d1+8>gP?yf_urPR1(IxnXFyaq<>IGMetD zGj~;3-Kn19+Q0=O!Tft?sgoWh1%v5U*0{4CzejQ34+gFejkapmZsRHECUHst#M^_}GWIJnwh6x;TN)=KlXa?bIQ0q9j^_m0Kh?Z zYF!2gx6x4>BdJ$|N#eRsr7%bkhN{SMF-c{{ESGVqYe>Epxd|R_Yk48&~ z+A*|uxQN3Gxiw3Dr0MT4cr?v1)O(*AfQnGFH#h# zDeKL+=cDjwvPrxf*7XPI)%L`H_9hfb;y#Svjdb>FT69_VBqBp|`>$=xpMaUCtU)Wn zSdL8KFdqv?NNww26(x%xsS`Z4Luj&)@U$s#n4w~NPK{|%k@PyY!D&oiai5R=gw9Xg_j z`~~`^01GHi2B)v-N#vSZvVqN8*|-Wnm~ z#!q~;BcR@K9uUT=Z>n@*+8l5)VUi>LadM69luRxU1dP%G4~2)1@}eNafVaz`O8yx) z7{r0FFNey<#yt_iU4gum&Ot)K+EG)EMB9%8W51WP;bE%u??sXyjh%#CWaDCT3+tRb zY6PQK=E{O|5yA|be(8bqUf)Ab@CeV=2FK`_d)gE4YJ{kTVkhifUVWF`o6qP&(!0w1 zt?RuG`E)MgPrmAi^T@%js(6CW-6?P*J*90jjO*1`Uot)KQC8e|BHVXVLT z5E`JtgAcj^SoH4n*)sX|mFkjr%}T2MyE$#VI1g;Hk_pm0_dTBu`n6Q!-@wE2u{xaH zi^}>{WiSus;C%Q{X7vhYd~1m^u0&6)PzoEl3eX9d@j6mU_A3c)C_oR_OMpfRjWhUC z>fyZnwj`An)B(&TE8pl1kI0-uHIrD>+@)j4$x>V$+pAm%FPKBSwbIHyk#kMFq)zn8 zz-(q9n&DnmKPx%9P@5i|?2`)ezI=jmybL})6X}q+t*uC`WgU(ZW)xS;P~FoZjD1DM zX<)?yuBE}ZL&@+oDW2;Fe@FtwQnX zN0b5KgOkOTCWku{Q%|p5&K(Y+6Sg@;Ww6pgwvRVG5{!MN`p_w@@F%fwN48!mqVff7 zK&k9ow|M08B1dz^E^2olxtLFSg~Y<-Ga@tZE}Wv1;N_@JIszCuP;Zpe@nc1*3%xso zxpF(!-jDTg434w&%IGBePqc*d@l06LxdoqF&?5hu<9eo$H9k?p)X-#AKY?5tKdXym+A zm*_sBNt> zDxKiescJ5P(o42O~QsPF|PxaNAFTa47Ou$#4PSuCntfT?8CERIY`pvwPLdW_$ zR8;1Cby?LN9D_fZiw936mtEvIU`OGRv=gW0R*fW~hmWzq?A`fz z`=BnCO8w3_;}bOcwA|U!*)aFS0ITpE0HDGYaC8}~DeE`I5zg;%HPo^qL76cY(T)}K ziAv*mc1UbCFQ%1C3aJ9wXN7@1U-b zC6Hx6%)6!eVz7AOnC}#4MOi%y!B$VAli_*MH@dcrh;Q`rwaH21@?3c-MlKGh1pZ{! zE%==vZ{JKUK!9lS9%h!&7mi$<((&l=eQIfg=x|+F;pO9&7&|@Jy9x38pZEOY++N+E zcOnD4SsM>o-zZ`fj&4df#Q%ifUr311VVDEdrjEBn-^|F3cmX>%B>#p@hj>(Mj}HT$ z)pqekUyPlZlrorZxJimIhlzR;j|^l{e{Di}0Mj?O9oeiUTHI6U!I}-n0tAV!Xwbkh zS7@cNM~CxidBVcwtj!?z4aCW7`@j(no`DM{ZT0c^_V3eQRZO_<*f!GCr0sgya-Q4HKux$|c9Ou+ZHQcd`EE)qF|T^17dG zSr_KhF~$XQ_q*67j4K1pCw!I2gq^1DH>W;3K&bg#%NA1hbDsBTrfyksMWZngZLtq&uSb?*ndO(#eU@W(z`=JxBU5nxp3(hgDOV)OHN1JXMk!$nwBJq4+o zcIqQ;Nq)3`w9~cZno)~w!|O*}R#KF9DHY+@tIWh1o&{I8fJ!_mHr$&O$JLIPi~q!v z=0E*(oHeND$}P+{9Qe6FvAe6T_P{2fC+FkYE&uz3s6If-% zQJm4nu?o~jAI?=inUvRvh;kjud55Qo;vu^P=mu=m&ig@`b#B)GHswZK>{&{t^Z5UA zs#x<^c&(vQ6l_vhmqTZ;&{g=9FJVchBHy9Xb!j^(=gK$8w3xw3*mC0h%vLxipFqm& zy(BFfx)>S_%+h(`$Fwqqp~dLH*2GKiTfk(OIeKqxYq&Fnq62DjvPu>VR$P!a%Nq}D zJBzAny?r58*8ER^)~=Wd*503^MYTUga7hMT-xOAqQvbJW9V1~Q94LGz?$_}ht6MWS z4A*4Xh5k}14r+H5_?HwDkZsgrc9|<#`gT3-b?H178}h?ggLSSz)hVX8m#z&5)?B{^ zDg3agog{LfVfx$D>vL~qtWkHk*{v>X`Q-m=EaF$}>0t*@lpI(XE?}$h(2^3cS3iC; zZ7hDNKa$XB-bR375-_(!t$M_qzi&U%ebxs!eTn|FELBa*vI(@`iv1h#YSi%+8PQq> zeb}ER%U^->y4V$`IG77;AbV0R?fp;WhZx9F5ROCz{>BGEKicsTELdhA<2cl*V1%$r zL9gTwyDvG^!Xd0!8EK$no@q!6_;MW>#(HErE3#E)OB6fNhoxOLZhd-DToB8u*xh_g z)^4{%H|2Qf^u1)13AoF=%N`RqAj|k@X0_N*5{EnaEBF_)r3o+sEDpbPoY0%U|7|kl zXTud2f@(Rt2icgBp#v(~cg;IJb0#^(+pxS!0aso{{|+*oT|Ot^A6v~(a@(QQF}e^R zslP``-nY=i7Qc{whRo6Jgm^p8-`R&zV6%khZ&C(^s}HM}6XHf|Jg$)uQ$kn8e=OT* z#+?f$t=$HX^BcYKTGzTkFHFPDhj2}ujquc~`;+b-opXp42Mt6&Ce2j(?#;Af@2g{W zA6bG=27-I^=JoVv#;2leg2(n#d~G0-<*J{2dM6K*;JQR3^ah!FzqE=tbj_%<%YzBO3Bk zQAkX0wBnuIk6Ylysc-=V)K$aP(|_KC5}8Tz!$X_-PUMGD5W!Fcst3fX*FPB!<&EaCr23D<$0dD$vc+NJsm zuP%w%Kq1h+m#5Ul{&?J=8~NMKfu-2{JD9fP>h?&T zs(@FOko$wg#d1}0`jLp@i8H~Y42>`*R(0g}T%`deV?2-`IREEwzog&tB(VVCCZfV| z3&)V`YSj1R8zLOSz)OgzQugNP;nd`Q!OC~r+dnRQpWj#N_2e9bIjifQVi~cIjm6?x zfAxX~2-hBsRf~V;T1qZ&)lRno+lMlz)}{iJdlC1G|{dwqvWP zSsv&+p$f6{?M(6498cAq7xA!j|Mz5!v5v5Ty%1^wA5da$pWsO6R%jp{OM!j?2F>z6 z%5irt+velLr>qlxX+NzcQ*jjOl)6Wml&NLrYtb~BdTQ8DPhg3Wj1@V6(kZ21=R+^p z(b_seor6b8Hl}=YA3cK3doWO#uX1`-kn}CdSS^1(*GW(>@m9kljh{Gy1^?{nmNh%+#58zWx(+O|@I6q*Ycl13NNo3ubhS>6{1sa$G>0 zxQf!ncwZ+kayvACBLX-g*#$lTiZ!fs6Vv~~{7N0C&Dpo7ZXe?y@7)4aKKINmP4c1F zGoM*(WNdV_m-Pmm6^7s8-YHF-am|Rmp*?f9c7cqlHF&2OC;jGmz|`I_Ix*l6+hTWz z=uB_-vA+b1>sd15Iudk<-RwB8&Ou`BUy^C@2l2Gv#w$;Bmc3SbmZh_KST;`+J3Yxd zJ6Upub5&EU!KkgWFR z)K`RdgRyBWS7*)zxTGr>VF<~?#vx}#veTK*f-#ss&hmSU-Pd)aXNPX-)IKH z@47bn%;{NWJlQqrGOUJdkwt&WzUK;iOE_$XLi~=*in1}STXFor7J<w*^luMyiOUk@bQPUM7JnePCZ- z=2z&{OP%B(Qnb?w%2>uaD4pR${&MaOdOAe-Z@QE%%^7ftFIoLt9^

    &)M5p(cT@4 zFk5KpCVoHX+DVcAd~Kxbtko!!y8>IX6o1iKx5iO6M?B5JAa8eG4FlW1$B0;zpkK+9 z@0xMGR!<(|tBE(KRj4z54|#{mPom~Y$SQpkRx7rw% zCZ?l*XXrVZkR&tdw-W?>@RliH*ndxosfBu)H;A-_+s4icK8{!`c#hW(VlMJUZ%FN5nueJ2Ix9)^hyi6H9Q!8TmP5xi3*;x(}W zF5&OjQ$uh|DPdlN7)?0kbKoX}`u6@Y&_mm82G^bmg`YecksBH@uKnAOq*sFqO`A|N zX8q8W=uzbNik%GkUhvX!IQq^|nJwXx7h6Q^Q(NNcTX_XZ{N&`@#^uDz_T+ z@GpFg+#9Q;u`2Ue^)Po;eQfP^gr5#FH(&(SNlBb>ON{qL_ftnR2c z*J8hS{uY0qS4ULVO2X)AtUC!F8Ov`#|GMy9g;$6aEMP=wA3Hh5pCwznmC#8iBnTsO zy~eh~wE8e&J%gfowV$u4wb9rkjJDkaBQz46+{SR59bdBI*eqTdB`j$DXWE=ex4T0q zNijqu>FtxVqO_1?Ku^oqmbSD&SmUBw1DbFhIy| zxDuN$lApxwh1k=fn!AVFh$x*inQgDa{2UdSrg7}P`b`A#kY^z`%@s4jA@d847!w z-SHU!uon)9bb@z0#-hVqeFe~L7)n-|RPp&#V^+j?z9dLEcC`xlPV)5;-TYM2smbY! zw5a&Cpk|(ga=W1xbCoTVpTMUmMQ^)Qa&rG{a>cCfY6M!x7J~or1W)@DRdpP1W%Dd2 z9$ljkP%kubXF9KooMPK|DRKB28}*(%O>2wcv<`^F11I;&Qb6j@znz~x-ATr$L_!p_ zadC~>8V&A;9}72Oe{DZC93lN!`>NvK_n53zZYB41DlZ&u63(orJr%5y1-{MkV=;r3 zqST*Hxx|gtQob%$DC;J{9reDUa%_U{-jk1+;#T%W$L2FX3dST%?4lFktozrQx5xlA zcy=uP$%EM=ZXW*4lrR32fTF2hMksxp_D6?*=l|$3h^_}`!nc^Qv@;uKNhf?)Z*Fn{2qOQR zTDxQLQ%x|6K9g8V#rk9QgogT&-rnM0$rPGp>JC(IB1?uOQciKd-NY(=h=dC>2UUhV z0b<_g7|l$IQ1)WMrMz0J#(FERSx01EyYej8rZk(-S<#>SvujjdIQkpskmWFJ;j~OnduG030{O;PvIrXh4bRyaY`h7+pxY0{#i`%EfQ4{DJ z`9a){cl&u&0*&BYSQz4O@egXJo~v4_Guv_Lx_G(E=e=#L=6irS{FR~FzkG7a1I%5s z??Y%;pE$lPR-fao2fVM@SF{@(-h=zc7t3xpnB!>0?Ddj*{%k*z2;K4==GpN0t8%Nm zeA-m)>w8xZx_!wHFnNY#PZUwZy_Gj|%sp-;_8%5?lIN`4(N+px}6dqwCF z4pAIdL#zxI4z#QCrl*Dp)i8tvPiHEL9S);}I5Ox6!%uAG=xWPGX@omEU*g&#a7KRh zlNh?tfEc#k)NV25!bops-0D8AlYZjrGsz-B_3^q8eA>@Ah}U3BPZ2t^?y51OL{Rdw^TC z)6*pzzdRbcwQ?20Z-~5zO;z9FyOe6}6{sc2dFax|BISx*;EhS?wKyrU#WmTADeOYr zaZ>m_Iup`e^W|q#M>zAjWt$BQj=D|8=i4~yj4jeE{?d3CF?enyjQY0-K2s%Ws@pql z9z|rUe1zaImP>G_8vbhSa?Ub%{2=sUEUux0ycj=o=TCGr!X1X@fE!W~;iJ5HyG^g) zc{BX7K5_G-`jg7>@wLZFM!W-9+!$`YUkq!o+<&-i@h-4A3gld?81)FQ1pzM@ z!%3p-at=K;+Hn{JQ&Na&I)TcDFCv?|rkB-PDLSXTx*u`~BsxF+ds@pJ*!|y$brKGH z1r`s5&*&Z+^-0KF%`pBk+qUkDQgR)o!_5n~Ypig#AnWZ(TBLDv)6GxAJ2f}M5UUWCC4{&Le#P2IpB*;8A7xH^D4w0(}UZd z>oQW*h6BIxr@QVW*Z0El$V>h_?4Nz2=&Eq1)Cd<_L^CG?9!QAV6*-xEX4abA$_dE^8%Blsq`Z*4#g6Ln30q|_P=SP}4ZFIyk%xTK^$=*C4*J3J zRs}?!^L`|~DuXd?EJA#Wz0-Tv0_Ey5nL#CMd~A*@$6}b&nVp7I-<2fs7y5MCLAB7) zck0EY$v-~F<3MU7v>(1&weABS6`Vv*IHB42jh21X*vD7SjW?8uAmJ3ZIV3w z4}mdHSC<=c>?jvkE4&}|f`-j2F$0*$Q!<>Rp`xHrT3gvldCF;8V&02dBx>6JHSgNl z(ykYoMNQqUC#zGnRv*GHy>%j{%obGQ+B31yo?|FRr6L0CJmkok zdtp++?sp=1*0n!Mdwz*VS{?*?nPRTfaoAn}x71+%jCpKZTM1&`(6ldSWwDBB-Z8x2pRhClG|a{mQMF7C`{%qMq|Css$Kw}oK)l)wjgA$2R7r3I^9YnwJ=ct|Z)@OWuEGqgv~?yJ zc>Vdy7B$SJnHy6__jhCEIK#o{AE}_3f3peq2g%B!>mW3$$E;#3ni>W|Y!nuYl>dGw zO`w(AU42O|`yQ2)gb5h}eFSYzs#1ViBpa*8CRf=>HTO$$6}rz9HNi;)PQ+qdxGv zC)EhSt6W$q{?YIF#ktL36f3fTJLhoVmpOc;0Vnkb?QD=B>Q|*gb;e(Cj#|W4&OmLd z>P&+itsD~Fc#_Hy=ToxCDii|DMq|jwa~-FQQS%S-z*CrVDu$_o?9taZefsJy^h~jk z0oVg6Mi}0zIcqodVhjGASO`>Lfq9pbankC+bgYNxO}EDrJcgp{IY4Ynmus?pKi=fhJcg66fR* z&iJQh6F9zS4p4Q@@jQiA@S@t1mrN%zH}CZ>dKis$zGwwEvFfJB}u;yli3uqXVoF$caT*kf|cUhYV9DgBuL?0dTIU&)sMQ-Y^BB>ul= z3_4?=NzCg3&w0!eCh!tGOqL_9rw<==h4s#|AKc7B9?yP(6-^Rf=9G;O>=OMx=Y4xl z$vZJx3~fh>3h>pQXV`x(sv$viZ*9ZpE5^pdHCkW+#BL@n2OUcWosDQ=v3G5B*9?UW zvfZ7DP^KU7<)3#ube8vxlv86q^^7iuY^9x9%l;n8&ObY-=PF39W-5#s* zuoHcU!xvTil0J$|-a?!TyOu0(K7AQ(Wc9qO{Wq4DHnj@3#K^vlRZ1i7t8;=Ihr$P% z${WYY1Q|yM`#Pz8cIrCY_FMm$#Y{9ZR`1G@n_OwkD2Dzn;1u-p?iy{fmIWgV%GdS4 zW4@iAGJ6@Z>AA*~^O^2aT3@u1m_1TcVr*9ypy*Ju7J&~&v#6SrHtbT& z0Pt9S=;&??i`j}iLU_sVaJ-qOa_YKNcyQm9t5ZsJ02!Y7btQdtzI;U}4Gv)e7J|o) zwWGZI%x~(b7>5h1AyK83)@ldXIMd8P7Z=p3*R4?SM!CViDjIKif|i^d55WeL-~d-P z{(A7_aQ{>f145&u&fYmGH2t$4mo7el_R}rEvuMrZ8mgsnU1e517n`N)OQ(egn-qQ^ zv{h1f>wM#;OZHrr>0*w-=F3}MGYp%J4jY4+3uw#IlxXo~=_X6Is*>bLf5`DzY}ccP zC;9$^;dVd`c%cRDmD9BBh?*P=@$lT%e4xf3bSej|?iX%h`5Zu;-y1mf@JgCZD;IUM zYVkIkU11MM#ZXx*xLaW8J-)e0|Go7!UM|>pk3^OQ#bDxG&JUAHq#NuhHgnXObm=AJ!5j!{_22f-kK&*q@zIW@t3s|V5us(CyVzu57WQx} zFFMA2KZfYGg{VFL$3>`f(g=~}2d4GHDvO}E?5$_rrysea>j*}-6#lh?Iz@J+G@A0A z02s~Y!2Mx4&hpxJn>!84gO8fc{uqCU&jd;gawBm2fFN!<d6164SA?SAUnkaMd;v)#npGw9 zxB79Nu$_YFX>uyL!@)zFncomzN0auk^UpbKpgG!Te6i8&Xu1wyyB0&LXj~-h{L)( z9*|vf_HusksrpfQzn?>)$ zWVZ``M8%P8e?m>X$(pxiDu*roTqQaK%c^_MXRLQku);g!w_|M|vIm~t{XqzHQfgmy zca$`s(P2jMHG>cvG_9W`q{wah@)Z0+5yXqoUN5Q>j(PV}Dr{m7R#a%FyS?V6^9;^&=WXM6;vRXz_N-n04g`NbjHz>A>jzjF9c970cj<`g{Zf%1=4^6A=IuC7#~tBZNvjwLn5O?(|Z`M4Ra=~@B&#R&Uv0oFz>zRYr=+H%Bs zVU$OHxc|mQJ0?45wZBOH-vaGVGZ`-Bc=FL>g{q!Nx7~lVA|8rykwdEt5|4rNB(!HX zWs<#$?zDlW8k)ZtzjLW)+w*fmyqYNrC8f#YLF zX5mipdazJ%A-UwT7Us5y^sdF3kn@9~rNSw-F*ioOtc~IIUAA3Ls$rOHx`av6?Y{Gq zxY6=wgk|L2itSlk#+}@ed$g8)ee4OJow-kozf*rC208NjbD#gUmHD-oJ7DdsMg_I- z<^UCl8=Qc6#C-VrT;`37x$Sor=z( z9YseGNb?Ohjwp*2OuFQ^OlTd9wOCZ)h%$Cv?-pGVVmZhLuL>J#zxXKA>K+-Fe}__9 zxa$$iOaa~AHy=K{?C(OudLUc0@{ia?QfG^l4hdUB zIJETv_x)N($nO9ah|E}^)aZQc|2Vn| zho-tdOoxG_bV+whcXv0^ov)Wl8bTg$JX*RaqZ+!p3-JW~SJ?Hs7 zk%AQ(Ci_E2vAA*;BoO;-|Jac||j+$h2Xa*v!5` zLo|DlcjrGJ{(dTf3!cgX4QlEn}W-+`U5t2t0NjjSwzL41Q z)~42wuJTS6v3ZPBm`P~mKDaH(6ucr(RJBo_3N15VFuQsUW6L@SA_0GYfyDRuQQ4~~ zwrG6q*24?YPt4NTSABhKN#b}duN@dUGTri05CSv?NwsWPub<}cb2 zihNCh;@axk2)s!^y)HF)Dg~M{RLge@hh-}Lxqkx9<6U!ih>9l;v~zR(XYVau=x^?+ zUeugB@TZqYRN5>?bj}ns1+k?Oy}q;?Yqe&T$X2F=C8pKXV&lDri9C;pBKU5H0W@mS z5rfDHf-am6T3t@Va@T+GQ4)c*JBwTJ$8i9l6q!tmoRCys_O_*Gd1%CEc`4yNA@q>w8i zh|&zQQ>1ZDCW{^cHamMm_1ggxE=5a}?E~OBa#l}WKD}PcJZ&>N^Pdxbk0WBfWs;bj zO%5I+?fLIx;v6Z)It|}P1GEtGjlw+)Gf&$l-lj91*EdCZ5ee-#z#CW|2aO%md5lxV ze~Z^N9Domh8wdbekw*6IG%q0wzC&~J?sFko+=bHg0WyEx@+MbySs%=|jSH>`Gi5*c_cx<)qp?{&$i;5EV~V#8 zID-JdBn<<*(`XA3hs-h^^!4tVpPUiHFCjLk3ntEmI*FNpMR)t>0u?zp8BrRW@1Iez zWnCj*>h`BXGp%Ehd-vB>m!QbNl?)s#{NEurE67sf{X0fNprm8D%J`475v;NH{Cq;yL znfSv4bJbAfM`9|j4=-und?GzOG+4pDBIuY5^fc&ZuK%=DLV~CHVA^7uw-aF}FntFA zW7~cSysMgE;G**43CveAa3z~kJAKC8lPFbr_3Qtq50cTS7CZ|>A}&WOPE8FNHtVF* z0{0ZXQ~mc&ef(0zu(TLAiVWF3rv-llqPlQ=q)|cD zkH(&WpJwOsav<>r>8r%g*>6Ff+hAlY2*_Bq_Wd%Am|=LLQ~hB(Ml$UO?@u)&-#3%1 z!9lyqWzJ{rlz)hP+2gL__xj{ji!25j9DTO!6U!dZOs}EuDW;FWNwT?jZqE1nQ-zSC zJKY=B;G1dyD7c>W0Z_5&%ujetii1E8401}#IDhO!Bx7=XS9?0ILQZy*Xlhb1EIThC zZ%yn<{~F06ayR6g9uR!62a4?#9HYikUcOJkNG(| zmdkJqAK)58b0XBp7^Pi9P!qCTSVYdqo5m^Q_22nKJe;K!ZFXYfe~kDR)Hd>6x^<+~ zF=k;=6zNA?di-bCX6T;bOB}SZ;VtgH-4mtt=MnfIEQXluGkeJe0_*=Kb_lSY@`<~2t@G+IL{fN-ex+@wzF`L<0BE-X{CV-@|1WKck0O4rnlJ9X>8{YVpS>&LztH=-X59B5_<{nwR{|XhkHzk(Gzco6;GixQnef=# zm=uRWE=y|_^F1D3;8-y~c}A3!?SCiPubGVl?bz+~Axr5+Pd4GyuKH=B&xd+<)?X~(0W@pUAoFe=uELej+CHPl@O*D8ev zl@#2jJ(Jnujp~Q$*ckyAJE$R&`eghnotm{eJX7aw|I28O(qKW8CBrdqPnG{s<;V9H zye)^p11(MCijcW;y?AT0k6~KKMw9Mei>lgg4*-?3x_g_;MyrT9qysb544vGlzYOdv#|6{Q7s|izXsf2qzjI=7~y-R)Jkz)!)B(HHN4; zzU^!Ls@7Rct?4NpLYKzI9bN&`Ldx!g{9ZAIvq1M>pq6VUP#5yIWGu^{2NB}QUkvrN z_<3brolFBv@d1dAvfYux5y&ohHzX6AgGu}Gpdg4UeQ;X!;1hQ?Q$x{m`zFcFc^;3& zDfzsfH8&-K9rLiTEUo+XpGO z(fSEUf%j4(dW{Kx#ir2kG_?d*VX|1HDuz0XqqM&}Gl{a-%pysX&wY!7ygJdNQdsY^ zX})puhJ7t*XIi*?OZh?Ot(e3Udh-nDkMCKRjszGW`u^%*mjgReWgRxq;4qm*hBJqf z1~)q~$}7)?Xcm|S!Z&2|U?4U@?k`ZLDkJdO5#yCQ!i z`uv6-K+rDk=6lOozj?uWK+58uJu_E9oI$vX4Q1n5bETOyQAs;+JnLmByc!xh^7xGV z*_DMJ?F3tCq1J9%WKAn@;V>(rZCK!ZOzVfy`-*@&(5JT%?-vERDlmG!4LNlt@u|{4 zVC@U%Gbk(AVMMME0QXW8Jrw6%Q=&&Vv3x{GD3W-?Y1NR2%irW_vWB#>cXD~2OT$Ec z!MiG+fVf&;EMxx|ei!4<;3HAr1~WWAH%y*u!dSrMP7h24%NM=eX<9*6fEgmmG8I0s zOKvhSNEEP=O`hLu$SJ z48}Rv9BCf0pz;c~@UM|BovmJ+PvE5xtbxOp(Mz>7RS_(JBv1RVhUG25T!S{tp~~}v z(7Ep=>#&r;J7o>vEng*8fi#9N=Z6qoiN~Xy6dDFt$L#Qw_}a{~`-u#$`?y=4lWLoG z!GA*BhjBT+wDR6O=D(A#Wm%oq#br`lzUp}bQro5D0O(tO{0_Ki(%g`)p_6INcku!M zW@^PYj^XJg0KC2f`;dd&dxhIF(JT`Eu#fa-Vub;#nAZyu7k{ho7!27<>3w1Tu=jsT zO>5b12xU!>!#>FBq7%iX5U(_6K1-y9)xTNu<~z?K5?z~}?-ug7nMVn&Y-c6+rm|1u zeKIvHJ3hVQ@@09&q2fkr(SGvIJy4T^VQ5T-ED~qn`L4?>9u{QXw+zBQotW4(1R@5q zz9(3Y0r3;Z^Q7%a&6*jT58$z}+VdsIQelI5{Uu!6@@!*{N+NO|yEb>X+x8oC%r_>i zsnemSDdF$LXKEW3nAcq}QyE2m^Px>@rw}k@*!zC@{uA%gaZ|P;*;k8wa6Tk3mC$?U zwfxC!f@BCK$xzlfMZ8PHQx;}UhRE-~9b33e0mB9IS{w;On#-NjH*9tSV}U7hN}o`{ zv(E3S+%bsaR^ylw66j`jSLUgr#w*H5e4`!_Qbi+q=ej&|#pUnALro=J?VkJ-RSG`P zsIP~*u-@eq9?-{c>(-dl_!NJPRa8StImpUu>Rjes%+&4&Yrd%?B!qDCowQvuZyW3v zy_w>MUe5e-cc+5S$vC@RE56h+o0!?2@b@FF01B=sv)h)^PE!5ne9xOLp0^NEMGm+} zvGs((U2s(MS17-(6K1dN%m2xgYINASi2%#$jEE<;^i9yp3)15r^ENuDuE2Qj;H%GuF4iiKrRmDSnRqA3x~Anz1b zkC6VL6)G~v3js*hHBQid^_G%NJrW-ZmS|4vSRvQ4zaJS4o`b~Ff z8wjwiidIXtLb}uKrdC%}`+BB4QnuERZTLx?gTml^^0V=o>pxl_hrF1hJx3!1v;ab; zFgbaIqAW3X{k8NDJ6X%uQRo7o+QrgS0peh1-DX8RskRE@>8@$eO-;s*EfmWrV0XmN z;HQ+5pslH+Vdil|4B1CgeonDsZ;G+&*N?lLbR_0$6s3T2f;*o+A>0Fbo&58sqC9I-J0z6_0rM}V zzV6P)&I0Pb8QX^Tb$HF0182~;cwqE4=l0J5ldAH^2XYV6y7*WT(K2!Pf)M~k4f2=r zvE8fC8QJ74?x``z`C!_nA^nzR_1Q_D1%DOU*`&bhT^K4MmiqMbZnro2J6;w}O;sK1 zU*e&>5u(5BmFZOVgvDfIh`x9fV@S2P9pXwJiTOaqQXpb^T~B?gp}-T5iMM?MfWGc- z$Q_{D=&wC}f~re3DsFMrNR{usN~RijS{y=)C48bj@Tt>Nn1V-OgBjV)Em2H>p4YT09d3S*^p6~t zXahN*ajppGK9S4``vf3C-(*#RH6Zm7Awe`0>0{xcP2z8P`qaX%!aF4qRcMTo%S{P; zwa3v4diPpgi1T!-_odps*g|?sP17Bp+l4(*{1oEeaOLpzsvy!HqhVwMnkHtbxxO91 z-ut$*QF$KViU3XEmC8vhXGM~H0U!?`U@ai);re8t@>@8!@e{NG;K5-1T_*PHHG?;u z=VGq|E)SaDVJ{I;g1R%7@*yChN&E5MDS^%>HgjynVZamHWa?!#t3-ySxQI$v^1yI7 z&6`k7FRNW`Pg8n`3(H!P{|<1%*xfEJ+X^zr_h3e-jk3nCx!dLTFr%w?%;ot!z#03+ zURfxN?K{0bpXQp5Xg;PaG%?TPQx+jqQw1{+oVGjLJis(D$Kkh zF|@w&hIx24vbtra#;%N)B*U7>IsdN{Wd<3q*SkSy9AB0c{#(9vBuCDA`s(CTYZ2RF z>JW{K-De6mX^^p88D7OQLJETl`vG%gmkOlDIcZPW=3ctL0P}0vEG9D9;9v(f|EM^}MVUP}2p{Y9a5v!bkn|z)&!%$X6+WWoXs+ z^tO;xsf&NXI#XkYtr@66bsNxpjE<8tEjO=4)2Fn22u;5%E!R7*xT!0GfB8-!4)+!i z?$=a_1$_2}BETJ;rhH={&dODPQ9y4Q;~KR{U9t!9-H8eNQgp^Xj&1ZB396BrdWs&2-`Pc`tbw! zQk)0_5fu8dHG~4*iqw~q;F63Vld$k8CIEngJMhRnbx}&TnKr!Vl<0May~D9iWNH0( z&{YeeeIa5_Y-6_VLA8*?yh|tHz!)q*GvuY{m1&31_8v6)58NUEBi_~@+c0g6cAijM zwf$en$B{fB-|+*w2r){)Q$S%JgCUjwy@E6D^ko&idqH@V8XJoCvoa+`pI(VSL^VRA z6o%mSyxYg0N1%@z?#vBzW(Qg}n@%8C;pK zqm%?DpznPhmj+3t9}&`v#Q2LE;Gv{GR-D~$?Bgwxu4dg1`W14mRnGXVVCV z-7{ujp=q(a+U+_eyjjrMcTU+!W2j4nw3L2TPk zRo%`p_B3=A+l=ol4&52whFxpF#2HBZ@!cm2ZJNn_Y`)Y0gCfj9(`_jhREc2QXdxLV z1Mw+(r(S}rel!K3YEQK_?EA#i|M`IrQg0PM)!!cU=vGHjVZ2v=l@;W5ZKd;1sn$b< z-f`&XzL+Z?jY-ZVZnPlGNzqZ4mF5=d=8hw)05PPjoi_ANvTaK|b)?~T;2prxDEQrS zcmo{K^ZS~_kx2>tKN-se9b*$EXhf|c{kSzRJ5{ZuTGWk|`>;TU-peh8)?)WozD{}k zCC~h?{?En|gPfV>9#(O5`9?0x+nX5_Ku+l>1HaS7x;aRod1z>8PJ#*)o0wC}Lpr8a z-&qK{MMA2J3a-2!sNHgWyf|h-$OzCa0I(l^;L7k_>uCGP$-~IW8a(6{2GpiPs)ySJ z;T7^9li!Z&>7XlGrx~>(iX2>0$Dx(|*9SZV5__;9RMFYe#B*dC~g=rS4^84~<}j7P3Ln}k;f-utQm=WZctD*gtfDHALbw-2Cg+9)m#UQO>6 zEQ@D0Q*r;z2O{5j>Qp0*GHyh6)jmK?KTbi1;KEBG_1oeE?;G+6nia@g-hf@cQl~~+_UZ4!y|?dixUOP8 zul)x(pAd_FLT`6;(?GME#sV)aw3kFqKcoH?pYHY zY#S0*JY8bHe(-*wo^-}9t^)UtQqZg;`~!^aSlSA<0SmJ{^NhK+JXEdkbs4!cVqaL zy8N{+{xVf2skAP&o2P9@O+VhHtnWC>99DJ=G0v+4><@xiA*iknm>%QngLyja(Z40& zdz-Fp=j1mNk*!p*+bt0mMs`1b6^dVz$lgJZ#pWJLLYqw}-D>5eimY^YRr@DzOyF-j z5F8T_bI&=gv;dK+uzG$Y$1I5gde8(p=pUT>14(T<2CYh^Q=P9hmbCjN(&VSm!gfr# zTs9hQy8a_Vfzg=mPHS_xlK!?HMeeq!gvOtF-YKZWdb3YFH;E+{w`oXnS`!l%D#H9tt$u{!3)Q=V0Ci!xzTa z>s2eYeF;Ac9zQoWY0@;H?=?Y?JYB$2Eb$_X1P`@XOc7}M)%o?;a%dNHpV|B(xDX&J z_iKN$#rEQLfT5WpU3AJsT^)0fN{O1K3sushMx$@Odz7zmtFlQbyPh4kr1$21&8*zF zCqe%(VfANcT_4_kYsG)ArF_9%J^-h_lSX1ea1dIv#N*#4FD-YgmC!&-*T!rs*CXSr z#0fBBodyUK7ARgIH-yH(l>Nsb>#0hVm-VlFY-VquaDeOy-RWsUu-IDqfQOgh`bKyi z9yUVOR{W8d)A}z8Q_#@T<0+@3`AN5hZH3iDSDsgOgZ4~(%jsc!af{{kWYc+EK)AbcfGvVC}={u8sIut)rM~ds5Wv6LY#SL&|dp9o2(jQ4$9mRCA;@Bwb9Y(Z+s; zN}FA~{Dn>3Q&;T`@Ev*#7_+A8mSG^sM%&Uy_5tSoVt*kggv=)AC35KdeM3MG=t%VJ z+G)y!MlAgRR7jHc5%DGnsWuMQD(?t#rV|;j(`89-=qEpj+bz%%$)DGrdfiqR1fm{P9YCj0UoWpub0M> zzkda>Fk272B%OOZ%zsEcx}wr5U87xHPn*aOCB4~U;S8>}N(1Ud2u|FSzxA4%6;Ojs zWw$ZkBvq<$ta;D=VJwT&XnSR>@t&oC+r6`5Eq#_W-js^+2?4wY=izi8GaLLIs-W=8 zQQsq5$}qTNlJ=zCL-KbJs?w|oIOl7(L@ut7?om+5A`2T|9MxE4`EFd%2w;bh^WZnZ zGZfdCLMs111owy}v3cYaxB`tdsU_^3Bv6&pZm6?dh8YX@VGQY2oUmJ4GLr~fuh+A7 z7e7W>>dz@#De8fZS4Nwi7D*M<^NYtqxm|Oc0x}9~eUm7sy;s0A%u|EP1p#b`h)B}v zb$jWa!U_NNa%ZmpNId;T_)+gy`%5aUNmDpez399x4e3tbvRZWJB~$0uXD6BiXngbL zAkdJcOpq&}{o_T1yx|kb1L)d?{ru`J;O4UF8S>ZbL{882ylhc^;q@LEruUsx zi*dw%PLJ?~1YfQQ_Qs!pS)&GkKIPD63U{#6bAPGCYa3J<1W=ihCcQ;p$)c*V0S?%+ zOX`En{ajv=ju^;7TW7qqe$1wm8IO6b0B~E6zYK0XT|TP}aj(AW+Ef)Oc{%{o4x@hY z@{(M2)MRv>BMCSZ^{%S3@3Tr5mS(|C*PYc@?X!@2zsp$C8MrH_k0=L!aD~itg>;7B zlg=LM9OiD&mEJsNcNx={SXi(1I|u}}+5R^J(IVV*b55vwd{x%$aafN$qqueaJe$M- z!LnZce=^p8Xc()HaSEJ!+KEpsq^nJm0t)=JxV1BMS$JwLOF{y!m8FvI>p(zi_m%q^ zSg{p!0~{7egqx!7CRb_(FL%2^`VP!$dU`1WR8~TqKZ=#~d&yI&Fe0J{`O^6@T3ltV z%Ymi)zpsi8O>d2_Wg5E545o*ZX|J>jZV;gM;QpbsZ~3N+W^4q)73pBEakOLQDGqN4 zbSIY(i^i7UVs>0ki&M2*^1N|t;MbM6=I0NEkyx0_Z&~e?tLGNOZiK%yU#CU$&IITj zF66ZS+qS6d8@*PNx*1BobW(xr^h}*E`A{8dPQpupa<;3Sv9pJ2pv;{eORbir)66mnH;C}X?3;Xly`4`mIb#hL2O&&>Hj*?!zKoremMaHbNjEU~{$?ek zPr}Hmv=OO019U=VkxjaSG7^8bZ!$0sS}lR|ubv-X|LzI^EcL&BRry+(hZRT4oOHL= z9Kg8}GiUdV)!xC1Bw;gf%(hszzoS zDDwCnihGp$Sk67?@_+NxgHzhcd$Jj2!Bc9S*=+Wzxi9bT0sdwW^S9(`O1@%InDSHG z`g$SpTQzq|c=zGv{HHE(7&rdhn55GOIhe$r%2+GF{(aJKajnftLEodFFRQ8TE80IZ ze1jHN*RFuWBlBuaHA$x`o`Vm6TV;Pc%F_4q!9IwBUSY7~#aRY5#^$fk@Wj4Wcer!5rZAvsNCq9EQ;M;onPJ|kX(qaa?KB`IOb@Kl z%A6k&^2NYpceXqd;!?8nDDslQ_D*gt@Tui)oY8FK6-Jfd&9jzNDLL_NF$Xy>M3gt4 zf?M#$(+>tA{C^eF9FF9Z!H7!w+SdRa$}B4XJFTVu-JHY6P82?2kCQ)&bgnxGXFTnKs|>C zK12Z343aMS#^j4J2JSC`EG?1) z&PsPtfq-ri{5NCejFa;!)Dr`7;btJ)KY!&+DZ*^!Ajsd10SI1E9|12O&&{_b^j;x3 zfKKrwaIK5X>!cf#!`jlZ1S9|Kiklc$8NO3s0+qN7ByRz0im5lRvw4+exsf5{l_&Vo zQgbTl%ax$&*$_nJu)~LP#%~JGXU%cj>)4Mi0;LfV@mz-O9S{3bvq0&UnHC1TU9M>m zm4{^>v|h!{%q_n=MSw&k%_aRC&?-l}HybmDEWCPaf7dX)ysO8R*skc!fZx8tai{+O z#QK0pjA2xE**O=p#W<>rb>9)iDfnoyYtIx?pZVXk`+8f$eLw%%MQZq+`WOg##yj>g z4m#)hdCi?9u*sH}0svCd6)P)Iz4HNq_6hr+0r_^9=lxLU=-zAZz{!$TTMazF=^9;6 zxEI#TI?(>_kdTRfwc^ir=E4b~HOun|8*xVui*#w6h6%n=%8EA4;n-i9^%efeCV;?F z(sA~jz(X)>`&D^-A8PC#IGtA)Jv5j6hUX^Q`$kP>AQN9?Nt_)O->Jg zEnE;}{tdUbczlULpMiri^yBf;5Vj=>qypa=WZ1_D`Mr8^c4$oNfw(R_7g&BJe+uZ* z>oC@M*K-_TxFzXfvVCFl=)Zkr@Q@PaHP1Tb2fd086aD-1_XkO1=@*2gsz zf`&2sXk#VuSI2qKu-&&p@p4XD+_f1#wW#Ssi6C{|doJzqpv9-pEYhqc&$oshM$+T3)_?!?_p?YmBF#EyJl7G$}6uY{eOEK=_L&a}`Y3r!3~jNAZ%lIlRcuZIX# zWUTYG@qH&yB@ecN7yks+1=+N8%zK3e*&Jr=1F~ykw~e3AfP;5@PFmxIMi`@%WM@$L z_xC;;p#gN^3q94NuKn(VdlaSd&o;|}?WOVoQ$T5)@W4fr!)z;!zqL$iXa)C`^~BU6 zE7bWFfoo;DQP|K|=rsf4dIr!^i!{_$IRignsDum|9m;tNci>hp7*4%ogR*(Tq9HvAEfWjPr6cbRpsPb*E3W1FFLr(R>6*lHf|Y3hdww&)&) zHrjDw?-vbPBv}Y~7YA_OfI8xM}#z z&L-IIa$2^dpcZe!IuQzRtKpT8jsDpbG^bTsYAYd zb1Ejz9RNB8={;v|XIZnw`s>B0@EPwK?^2bbifkrYFgJgzbG>kK6 z3;lm6lVroVyPcC~3O>Edqd7%b@D!CUcdT(-_^wgbXa4-=SO^BceBbF~0@MMQ&`r;C z-2=cOBH4fL3iS=jd1oYNmc3hK9&;kprz7FQtv6v>Bk0OS>Ui}6O*`h9D-F8SxklrqUxCg2DD7G;$mKI-KLAPt}TXscx~|w9q;H-HGoKFHCOF(?LE(? z#=7;VO;KeS&^i`k=Ot!1$IMnF(+|=f^;t{ni^K6VW)*nf|J>ti7qg4O*Wat^=Db(^ zT{O`c9)Ki^g!m@0Dewsg2E>kYT`&}(0tA<|^<++g>23m}RH?I}?t+ZC-U`RL88Gbd zy5RZ_01|qPaN5>$J-({sqA~lkE?TC>O*X+n35RV*a`?))yf5^<@G`aCMQbVYE7bjU zslW#77T}t{b$nyY5SyxjpnuJdXA`9;=dVm%&$VRU9)O^~;$C@73ihmv#K?16(cdR_ z)^k37+~txp^4wG#8dto(Jn9s_TVN$vZp0Vk~7@FkmN-pDx!+`4P{?>#`*HJ|ULMF9lcD82%kL_I=SnFAfX^VBV%T z5?W0OvA9I{vOQZ>UR|E~A3BV=ZOFue=_LRQ$Qm1woek{>5u-(v!;|bq9T`C<|K*7- zj?ZHt2|&(27g=y_sPXX{nR@;7ibFQ;JC1k{?#@Fzxxox?0stV|iSS8A z2TG`_SIlO=$?foUPVzKeJDgZ7k|={c?|s9Nqf@HgB#**Ras>6-N9?cFp!q7vV$AC=G0DhNuT@D(XFa7e zu3lU-=lVb-MX8I?wMU*M0Q;GajIgOAG`_#}v$BL``83V)IWN9{4>kgjLK~yHr=JFG z_I##c$q`!}FrRZE_E!SF+G^(7?SQ6k(zGJ^q0MK+gT%VkF;74c8K7hbxH%AjrV9mJ#++Gaic{bwP}FexviX-c z@rpElYbWWs9$MtBNx5%iT+vDYpMo`Cq@d(H=t2@$jf!4;c$y6%O_>E zYaE^WTz&DvJ+u#jZG!L3jy_9m@aeyl$}yluTK?0naD>CzHgI z*eu@jl8vn!Nd=_q8ZjXv=BUp&D?ZniKz7zf+uKJKhTV7x=&FH|UH$9G$d~_WcDv1O zu}0gfp3PJYQc|z@{T=nP!W;4?ev2U5)WTNFrmwA1WShU-vM{wbSF`G!5U-}))?nMk zqnHNfpB=zm+bZjcNmJn~SMGeA1fx9oJkZ!jgjUfoexd}8PdOIN;zPBi_YIN<3!JJa z8i_>9J=^26kLnL|z_)e!IDTHJmr2+^A?N)t^Xg8~ulEt=BnQ&QTZ6~D^kSby_;a4u zvq!>tzx+7dg_d)^k;(KJDc{>;>7znJcw7m9*H%B4j+GVx^31iLPLZSP!gIQJHu-$# zIpl~gUdS2V$Orsy8m5D4Ns~t#Qqr$Vyv(Wf7zsLyX3u^s%XLo_e(~M?3EXbT0{iUe zLrHwUROXP|>TQGg-NVK)eR@$pksa1;9yt#YS;%<=?DOT^o$eZdtgJ%&t|J-P&teu7 zm!PNGCfwIVM<_`u>(8*b*^6%($CqGlRPj?Ko?dC79NiUqBucCyTF*ASe68@`kkdPVI!pFNk4v`*2i5I>k7Tcw zH=YXlbkLCw^}M1V(+&ZeYH_1vry%mu;FF4KlLOwE2|Gr8%(LPUAyh!zj53>eBWYM% zZFCgY?>Ur}-OcB59Y5a?{LSxDRJNIJ=NI&{k#bd22g)G67|K}M~?p|9^%|Kj0D{C}6bLwg*8&vBCY8?&x)+OcS*6rip{Kk75yl{6gO zHCmvzXm)kgi*H8OBF_Q7GP)Ztxj^4I%(^8I*IEwq(m}^%h3Oyu;Z4q0;6kt{%tsvC z{_WPOdvXd?(V1?KLMgh)ei!?tRKMOWHSLl4%LLFz<_O5Xo$`0DZtul=vQ=yxYL13_ zLx$2O`UKUs%Qn4M#|uGD{XMrS7J_LhLSNu^g5(9kHGiwC9-&(BSg}da zZ#Am%=E(l#wdYtXHL5qKyj?#6FK4H$Yj{(ws*X!hrw{<4s*voz<_l>T(zL-h6LU@C ze$8cMq*vr}yZFMMLvYM6XUo57N=)uE#aQ~=)<)E%a zNNTs#UjmzhQKmU!QJGgU$bCB7dR#*fk(hGMrgLJPjxOq!JPx>8sk8-lj|gQnHn^dR zBoo+^BbWzWQ`MZnvKpL$}6r@ z)lM#Y^U&Jfzmhwb$(-2mFL-2=;@+@d+J%39yDDG*xv(9AAun1ZAbRzty=u8K4pKGf z&q%-SblHrjYF#BpBWPW?Hb|z6=z{nSm!=C&qzKb0_&(7LqEh?Yb@RyP- zR?Iu)F-&(`Y@_X6I??iL4(TS32%Vr|3Zhbdo|E`{xE^bxe8wpoC?Uy@-Hhl@+=q!| zzBCq;r@5o`Tc-wNWNB%c|Y&APmb z&Nm;#;m^NZ6uW90u9@+f0-dZLYTTbMG#&yI;>2hyBfEJ%oq3JlV^yATe|&>3p6_1h zTXpHVsaIx0`G^0HGwY7lC5D1PlSo6`;P!}zGo>#|!pMjh8p4*UzbO}#6yi6PE6v>> z{mTKbij?62+B2p|nxB-M8meR@pXfnj1~Al{79Go;w8K!q#mPl}8V@}Eg0?3-tw%vN zbl{?Lxp7i56HnEQzC=#${~|gj9*=e?5rp2pWebw`*oh}a!R6g9Yw%5xVwy2o-okh~ zv;|*gmWlpG+Sn`xbmb$sf9MtjypaVC_~YbHM|mN~QF@gmU%j~S%CbUQQHgf<$ zk;ESmKT|KeN!K|S-toU8g(!ryHqkI9QR5-h0MC_soYSt#DvhVWsR88#_Z8xHy-aMO zN0ix!$10>=5MkZY-0FTBs}QQvkELPFCUI>ie{nSO#8k4P6? zE=EF7vk6De7w+nTYi8?$Q6tJE2eD$czWO9BT~*t03xDgsR#>x zy-+jwt@p#ATSVI+$2LX9aOF#W#iPs%^ZD>0oOJ#ijUW>C)Zv=tBsTz5B7?*b`CE&?fteR)n5U(H4FqnhH{1;;#(o*1$g6ou8Z~qt8=m=v*qMY@*L;lF7!x+_F8KIefgWX&@5YyoH-lr$|C;v; zYI;?%`px`#-H%y4EaJD5e^|e4`Z$1g4}tPJhciZEF~Lyw_vz8U{n7`IUM$}pwMOkuX3jg`bIQ5GTO@+Fg_rV(cX~@Qv=WL9D45oo zFjzOKA_n>MyH|2)B)iguUO2VXPtNa!1o#6>x9zAX6k3eb&cFv{#{RIpr>*u>^xXBr zKRH4>+gow&nmd#Fdf$hc#xeMVlyrw*Qc(gIOC2m$A%3T6b)=Po)fe#-!=8Fcy8ju+ zB#S8W6$a8T$JF?3+zPapKkjlPk&2$qW~khy9S7VHn4POss&;{mmQ-U#LKU~`O}Suy zl6N}%8b>#0OZL26{*d)_&HSBt(5EeYX2+mB!%=B#dzzm`KvAjxZ7W**DhCW6S7T6GZ0g?5d4Pg7`_ zV-2)7kQ>$wsWuH#7e!n=z>S4yL(OT8dhgzozbGW6_`k&$ozzAzZU@gw+c!IjW~7fk{- zeTlN$(LO%F{>Fc9%F0Es?}&#RV2uy;f2P;^NN#og-)K5dIKll76Y_U+v|MSLycKqGQ{d_=z zAmKB7dm;33lc3?Zy@Se+2z8-h?4uCk;c|3vMI~doN+fOMIXouT+cA2&p{Q->&?!XK zA2Ws2$^dJNhcb_wEPJ)e@ALWiF)j7CTi4buqSGx(#P6HtENFi3AMv9Cx;q?VS|vH_3{M!eMC zZ)&m&Ny{(L^%Wb`*ZcFLQv&8)t6OoscV3eNNJplo6r;#Pu8&=qKbiJKhtg-`K-zgO z55@u`M*crfcAs7gkJ|rbB`X*q&sB7nM=$yO>H7qF3?+te*(>Wf%&NFOXUSFiC^i|Y z!s$*cO$a0C(CMf_H<(O1!57Ru2V9lbQAynZ-=|BEOmnh-z#ky_fz!6EHZ;mb^L-BG z15+qSVfgfKhpicpBYAvu=ZYhiuD|wrHgDioSzq8QaVd9g^&3rQ2`mdwY z|1!IKq`2Vf(m$WjUqwX^w|^8h?-Y10dNKSX@g*67_|I{QyW;qhdMRW|K;dC#H`LGi zJ^EoSZ@1;1VO7N=LcM4tRw~PeeDXWG@u5#p)`yg;JWDN9{+}UB{b6j0pIV*x5Z3mfHv(IjETo_l5>Ap{oqiaG+WNApy{26~(TZUOE z*}LgOc*UMdSXWO<2mTfNEHnwcnlWlW(*^A3qwQAY5 z?C#&Q@B97*&*y%Q>%?`P$9WuY#w8Enr>s{C2v)Um?_a9&$#dLzKbumypW?Ds@ucNtqwuc#m$Z`7&8*u;n|P*eOt0RFK;}8Uib@8Y0b@Mk$4(dTCOt zo4d|B3c@Tno*vn1>3b_s0VDMKfxPyL-|LrHAq|RRKbO8It?BCP$*8UQ4r^U6js1H^ z3ka?m`62G}54Gh6St3Av0PS9)BhLB%>E^nPIFXt2D=!bw&^Fw)r&FRQHW~ z-7X&xDaTBuucj+qAP1Wo31J)WD+_>=8(iSIE=r`Zi#5ryc2xs&{2-fMUaV-Cltt)> z%cg&XZLk@U&rdNtdL!uur?qw-Of`95_;>u`YT+)xtAMB+YNbDerWEyX>Q}xZrE^Ru zufLr@N8i*oLtv7oxy_LiOx;B-ol-!_oiI$zyykWa%aHb)=7oX~no_hSh%-`GSDMJA z)S_wk*ZFrbWKg6{jdr*wi^=GbZ+a&5`@N-GM6e&$0PsVo6KnUQGSR}d3SPYkxg)U6 zF*-G{B{Jjhohg`iN}(1o25G)&$ZqLf$)~48V30s;E2>2U$<_sFekSag;n))hEaB8u zgN-O~@xFfFfwsD1#3eB#Cu9hZB}oaL)(AHG$q}CV@QaSgo(4Vw-R);o5v?~~9LGJ| z%+wT5GLV=nu#SeTvYP5QWUyDwP}^~#l%-xa$$vk?UFytGC++QjnLDJ!Fe0<1lurKMur?-zYVVMLH!DHDA<@kt8eM^|153<-YF z3oQnWc}4{r^Q!`QNE6ca%Ks*TU!X*s4z13ifUtckj>T+UR#Cs~Ss;E?`5;4FM|Ry- zRc1ZY2gc(a@d!#zzRa@gtq?-MPbiGiz3QrZAhIQtUv$IrC#E8ljRWZ@+`d( z42NI9U6efdr=HaUfveClm=KM)QLnYH#rcw-^Afwg^h(Yj8n#X!QpAV)Vm;IhY7aETV$52KkB`J-r5IGE!y?`Q-JCkSE zc{XB(SS=zqHYAvrB({C;!VA1lS+HDyFICBzT|BwA&1fA*o?-8rAKF)CzM^l9`kMkk zUgCFCu4;(*3A2{y;`2$99vRLcu}cX^2&>0TKnsIdrF=rx4*AKTaQ#~ZtFELiPlfiP zlIDr;W;qxk#YqTgXv<}_b8Ky=vq@$!O(8y--LO`+X0EE4sVWZFjpo5L1a;v}1bBYR z0H1u)AS_7N;@|B$p#Bsg`KRt8?GIVa3vY1zZd>x&bWV$+p$r}R22ZYA zgIEy)s*)PW&lsQ2v=ezbIn1MHyq3%2%@oz(tvUCVF5Lw?o%5>9PJG3STuJ>ZN&uh= zN|Z*5+S|Cc(oYKn ziGLI>b&&#wtlgOGhe`XCf*M_PRck0p6vOWR=F&-2|yM ztr&{4Px$|yh8(VMvK|YRc!whssfVRGW6kIc+hi1>S7i8YsdY7shBn_uBPZUb-Smrb z^u=H#{6nZ60-98O`4nGZ(e4NY z4RQqkwlXhFu~IE`0@F6|{jl>G02|!hlA2;6yV8(!9b>X}i+@eET1OKK7vnm1Uhb$l zn;@?Hl0za2C(eF4;{_c|X|=Q`C-MyrFF;d>BI8!`4l^r7l7{}w@sl#%;rGQx${*Uj zhb2YW@>NT;d%uziBoZ{;#%y*QY~PLgfY%sU42}4YG+l^`iIHU?VdV_r-Q69JAa|~{ z$CY)y50Q~L7&x5i?)6yhTh~K?=+Vm;e^g_$hI_)-h=Q5VM6+3C(y^12QAj-Vb{oyv zoaS)J2-ItAJ(^L%f8=i~TVOyXY53f(0TyK3gbH6PA99-IQ27x8c0fp<8xFEK%b zWF@z*J0aQhl=PN09d6a%lInC0V4x%6v-RQ`^0}1~DMn_<1cY6RRBKMS8o>FZ3`>-~ zG*-hg+(Zn<1QWy2@yu4&S#Q%+fvvsAp9!5((O}iJ{pl|<>}lWStM=zTtM~ZhhS%u9 z2!_iZlz&;SCJ0(eR>z)?-$F7185O)f6yNe>So^02WKPW38kxs|5jMnhVjd0iQ=3#X zkxbwlJ~5jgS|E~zCw9D+L%gFKFZS;;3Tud*17ra8% zUyZlFZ?Z$y4r0pdI(GDT7EXUTRHmS;z?fPQ^FRw`%P_=BEzt18e3yvZN<4ugaC2@j zkLe48^vo=WhDMoDhseBOHaM%`pYW!)U{*sms(6h60H*?Q3fwJ}qvdJa;SQ_p3hQ^0 zkilEd?#Zi|6*W7!bWEd&)%oK8d|kZ$enp}ENUYrOoegd?q-q#!y-8-M<1$!P#^w^Q zJFB@1!vS0JJK}DWzXX0XGsZQ}%e52pIvzZ?1gBV-V!e1?swRzSl8y-6k2fH4X{mq_ zoZR3X1x1^moEp#wkBA{=i&iO#<#mtKEl|y0;QWS^0g8`WlYyzpLQzcG*MWA~xP;tE z=9r6ZSpQ<^TL@H{%rATJa*AQxB!d~0T^uZlaYc8HnpZOuSa-=wfLch?SPNKZ2OkFj zAeF;Hw$rCsKTiG@GQ5%o!->L*(mY)=Gg?KkYcBkSniaE`T8s~Yz~A1@-eT&wpn82c zuNx!#3l#2O|GhiV`^u^Lz`nLhOU;&)d6?PvyJk=lMpugA7FdPPhBn5DhPZ8Xz=>|$ z32)T7yHqAi>r6fEM#Abz^H9cLNaqJl+NenQPv)Ph=py@{3hqy>X;_>p{dV!4qJ(te zb(a>yJ3MO=vFU8f3ktGLdvK>on_mKfXE6wCYqB$1j!UI#B)(G|A?hzI% zhZcM$yTr4uHj9@|DwVE&rCIB_wSy2{_HQwW-*-_Fcy9(Q-UB#~?T>w9dir8tbie<2 zqOvb%nIEP!$-%=3aaagT6+Oxz8rG6Nm*)g-we*q`Hg0cAOrs&tiIjp;zI@3bf*fNL z__XWBWE<2D@(CIgLB@P_*Iev(h^D;1R2?9I}$BwL-icg<-8NvYG<8QwU9Sdm|@@LQwlavaYr7 zVGa9?hLYR;F@!=XR%W5$`S`66H3=_wT83Lf?FjYldEgA>vGL6$Pm-nh52ZUWb^5Tz zD8TTjm$4+Ym?7--z);2adv@$T!N^xapejzkxCFzlE9h7#=otN3(5DC)j#u@i*9Q3i2e@@@>i5 zCZgoi#i8 ziF^$9uu=-5!RWU~f}_!O^weQ{E6rB?X0OIW&HQQIg&8)0A8MpV;gBrwB}f)X9_ifn z;=KI9?0%AUBXb%TXyXnaM=*PO@csR(p87hS$AzrL^$$otL~wA*lP9Nu38d))F5;R; zKDL6gul%e+5vAT~SrT;-hP%zrv!wmoIeh=@7)yZn(3yAWG{BXvXY$o`X>FpX!7(NV zJCOmMT;_y-KEPjV;#fKcdgo*>aR=_oSeDHhFnV|cj1CBef%haN3hF(jErSWWX|i|< z9i3U4hDMd}V?2Th0KGoM$}wEHpavo|`9xzsurUbG4s;oeetPE7uWTyh}fXvX$30_&lg+|0)48S<6jdo?;Ft@@bT z&No@Q`L~p}FsqKCwP%1EN`lL~M3eMa9rhk#{T(as(;G8{46o*dM(AlKV#p173QR0F zj2O~?G1L(ZwJ-iz?NYqO=ER=a)J7>b8XQ9=3Thb?wVsh_Zn%8ie3c2MG;7q_N|8B< z-kw{)6B~IGk}}W!)^Su6o{`bRv(R<7!5gK0Yp#?2K8$Qhu9zSPEgBc_ z&H_Baqa42WJ=&-^_ga6BFA^sBEn@tE^ik5YIt{MX<)p-MW;Bub=)q}2X@hPsBnQ|6 z-kY!?N_Ukuyh!JXg!zcIX)$aPHg%VT=&JEM%~r-wc=NR!jbjk!LebEJbAex>FW5BC z?{QxP+ERIJr=6yFk?<~nJO5380`0||cE5u#JL54W4Cb zgC=K=wISc0)vyr~{~w9@(?Y=obfZT+8k2L1n%61H*knvQgJvZYF_CpQNjv)(XkEzg zVF^D9qhlqcho!Ik0N{QI=~Xks0d{`BIg;zgn2Qe6etC~;V5Qb+dcb|*-*1)y#3Gbv(plS+sp_WdI>DsScitEky-X@l*m?n-^0L z64`$-)Di?uE&a)iQM*Ww>7lo^c~R5`z$rJ+X<-y3&yw}hW8&)UpawIdWi77i8Fen? zCdp&9+1P$QCVQt$+X}wP%~1)VMHf;&1M!M?7Bb-$A&6OPRI~EA@tqyX)>YO# zc#sr@82spM=mMVmP3+_*orY2m@%120^2LWLRcn~sUq-Zjn|}eQpwAWGdod+utmPAU zwTLpFGchrgL&Lf<%d2wc_#y z?SSw4S6e&Kk6lxo^*uZxT!hQfx%C+Zl=Uc_c(DnjH?SkBkfi2&C`vS0QOZpnqdPm$ zc>nH0;FnWqcG1rZh#sVjy7?Is9Kl;xrh7(c<>#~MuzY{ z%Gj|+XCKiBaWy5F%qWh0R@V=~I4w?ko|V)uZUwOK2D-((?`aaQyPY@xfr#w~A$Zv& z!~*aGH$R>(UNslizArKx+@+w9=miv46nct=j3{b zTUKb_lPyK|9|k%~%P<+X=#T7lH@Z=D0u8A=?|c!q#ut9W?Fpus>aO@KzMuNvpnopOJ(u10D92p-@_r3+QS~%Vysa`knpc$DT#0}92itpL%s329b8LO)3HC<1f9JA z$Hs4+r^1(Zz~x#>rRRa@S=*ylSkhX z_#*lbp5 z2=Q!Vt_DZrL;{I8j2NH74)yt0l`?MooD0Au2zbXkw;)V$yL<=Rl^$r*G@UnrVWh7~3L0wFjd&=!wC|mtl0Zv8$Tt9Q$E|@oeU%1YuMq^U0sT4zfFuch1 zmf=GBQ>d{}2Jf@VpC0e_xn?rsdHGj=F`eYqpS(Bt2rQHz#e!cuW4YIrbPqV5EET3G ziPOvTV3s+}+ON#a^`@`QI*&}q zc$jS5&|lZ67%KfLu={<#?!ZAI!=TU!?1)9u^UL%nT_YBX8u*45@0mlAU?iCQBq()n z{#S=?AfTQ_b>{Xt_M8;ENQC!ors^^*6{%%Ft<|-yk!fG>$t^I!uHPJylD}ZnclPOj zyNqyvZaHyj`K!Al%>;4fvYp?Ojlq9&!7KAbv}Wm9mnppoEk)dK3hhuF5cb<&D#Xg{ zrs#C#=y7S0I+HNkj`N4hE%n>T-Yio)95gF33PZA?*~GsH-+5+7@zeTX>IaYyk-QUT zOH~xa)N?WdTgCm@<_Pp~JUzHut~~h-yyx}=x5LU3rY8^K8OT;S-Sx*pW||mN4dE z>`4;cBeEGoNKKUD>k-F5amTBK6trf7Xv*xs(=_ez1-Go_67fl?r*bgnT%)UpgRGr& zck(|%<8}~qtmTRZ3cZ!`Fe8#_1YJBXm`Q@K01_uVs|t(etonVP`noBkRfX8))K9^S|MVM7`9bN-#P<6ViV+&MRbU7>?VUL0;>6%T8OBLuAB!+rIzon zYbZh>4#Qpf{i@;@Gm1QJBwRfr@{y)p3{e6k1G!~CYaoAJKh4f!WzKWYBw1SLE{Oho z*)B~l2C6uqJ8_M|IafVo&qB1H3McOlRFQI-pm5MNB%#$;VrMSx0Gyw|A;kqjSq4^w z7#9Cwh+Zg8Z+Oyz4bqq6^iy$;lY{cb6Gt)h~{^g#)DXs1v;Thin9e{=BQ}e4we{NkRl9s^lZQ zi!QzrnOM_bxikE<>moZkIgxjgJT>0}pC&-9C@7nr-*K5d6+NYrR@xwiX~I~<2IKB} z*8ggkVe)^zCG~Pju4-bGCB3@F8o1ArQ}i9-W2U&B825yKujAYgYg2SP{~>f9 z1dRNH)yNej^}vbrlJ;^ zIE)nC{F)Ry0utZGZW7)YfQ{(ht^kR>XNs%?#mWfRY4?3;TU6q(?qt;^&brImkYY=l zLk)f$lc_;9XeweYSRSboJf9a7VYI3zk-LYL9tnIzoECYv-XSjW?!#g}-=sfaUvW|%u%-oe}5`mJ(_Z?J% z=Pt|sLG2^(B~GS)Z1Q9(nZJE10w#R*hsq``3LB26Fn9XhjK^x_<+m(v@!e?$SF48^ zYJm>juV!wY7p8O86j||R2^~h19Beo64c56v;{391{QMX@W`$ffrK)D^KVlRAA@mml z+7V17L1eVhv;yx)9^xm^gSE@3>*lyH>ssy+uA_1(W&IqZ1-nOSdYwCUfoJg8_e{$k zY#ZF`<46A?RIZI@iRDuo{0!D*^Q@DLnq|P$O0{jEf!CEXuN8X`8ktyv8&TCcK=1ig zX-R#Nqf6~%LQ zp3K=Lmon}1tC}hc>F9X7B}8SW#Uv)@i2yx}TYpFXz{)!rde$!M&euS%WVA$?jeFkw zXdGJy#Up%}Yr|k~L8p;#BMo<%W>YWuS`zqbS!*zU!&oAvXp={${G=40aoxQC94pjW zv9MqbQ0s|mRT{23W%~F*=2(%*f zGvT{5xX$*z3iMd1hqHYT*{pYuhQU?J{j*1tmu60=COuuh!0=q;epgLTruE+j-bD~} zE_lBSkD`aPHolGGPL z5VyQ6RYb8KWz@IEXoQrD^tDg`k4pH`7x>71Xnfpc;E9VE-M<;$%u%M;6y>nuqwx2{g6x!L8ZH$s<0ZCYB`w-B9Wp4 z3pvWdob5bs8gGJH?l5@VW>z$bX^f@BUHmH#o-R$ymYN>Hl~d?&vM2Y;M|>Hql^oLo zi#T&gs2|G{n!gn{Ekzlna)w$kSV~Yif)m}VEe>8X*wopWUU?9wRF<$#Cf>jBQq}lP zVrY1vmW#JJLj7InT1df zt-+YiW*+0SA>!e;qMs%MNLAnt+){uQw-p!9!#1Y*!^F}FTt>WSs9lMbT-xV@WM1g@!bDqIgoXkL*;E6vk84)nc#&3VlgpyWA_HF^CU#&Zz^X-6bQE=xpwwcngZRy0XZ;F7 z!gHGCbZ^e)o;a-AkB-s9$G10b&5?w|AY*0}1`g+k)L{uEyl3RtUQsz&@nt$CxTe@gjT7L4Nybw(2?lz!g+rswOy4?v?R87=UzB2Z#XwTqEOh)ngV1b_9nuVlO zT2)8;EA8&MDW~;r^J#VT>}k~{7`ck)VqK@dGdTmcrB*0+nX8?lMDkqF)Rs&3!Rkz< z?ql3`S~-5_t>3+1;8w}6FGK!9IR(7x@5E|Ikz>Oy9%6H&fa9DB#y1QepB zu?7aPz91C$VyYsJRxU}th6{PZIG0F%yR-WI8e7 zcEeBA86?hH=4`)_vxQ>b~KSXC-x4<^SqR9Gxo1F~822h5bWl4+7d897C+w z7N5iH3C-ce!PYjGiluTONg9Xa2!s>Psc;Ko!eqQ~AFKWU}yt-W!CSk!3#ECbpu5Y$T8nC5*cE zTSxJ*Uzd^_>?6|~*VSXeiH1q}Ynp#pH7qI{0O|vFHn!e8upn)5es?)4;wv7L7U6_S zfaWQu4{7U^#~(mCa9j~Pi;W~8n(WWl3|7-JHTqf!MFlW|_>3oeE|%hSHK`hZK+H`2 zv?dm6(r^hg@Qo~r`#zCHd7!BimNnggFgHP5@)K8djZYJuCq4Xq|M*nuYDiou;N-_f zj?TzKy1cFpK^=i8M$<~}TM`OEG)srI)4|KzuL*8`Pjr|ZYbVMYCcUtbO70%Mekk!SehN5rdpy=sbWJGF_|t#jjIl#O9_J;%E0{gPtxIe( z0?!GJA9GT>GAT3Hpst{9Re!PPp#<~+&jbCeX_BgQTHw&!QiGKGR+K0~R!EoYrk_Zi z+_N`mfoqCGi!Y=nt7lq0WY6S|ctzykE)5_|3!_8oTp5{d!w@?Um=#;-e_0bp=&CYeTyGGvkN0+;nW5~=;umG&QyG{C zQ>J#ko$+X-O*HszfraBb9F z58IG@t%4O{T8N*?ItJ*yy>AZbRo--6OzX_dGT3aBzSBXDbu#UXBEV3C%X%v&988@2 z*1nwsoo2NPQ=-ST_pa3wn1upDt>yHWKCbR9*1jbEY2fU}S5?e{D)Ye# z6bw6E;)YC2m_QJDE?6J{`gUHMQb=1x(qi9RTEw}|V)MgITI`9Fky2SHm}u4*7)d&q~{ z6MmxN1Cz1L>q?d8r)9Hm`p5Sl#+vVB&9WE zZJG!OoIcBtmva?rl6de(Dqy)|%w^O1%xw6tRgYG)1suK`xGh6*}gnJUj(a47@_uCb$vr9iv(r|Lj9$b?|K6ttpQ?D%{T+ z!Pqts$2v1RmqI~aM7FmL)z_8H<(<+ReR*)OY>=SQPKhdF{)f;u1T-6X1y2@Shv)>A zETN?nzpD(F zLS3oaPz4w5jwyR^NF)NA{+~cm%>LZi_1q*r_c7`na(oV7daC2?n)>>l4z?E6%5+i~ zl`cx>9hclyx7}bIK(u{aVMRpLgIJ}Bu2=+I^h#E%OX^ui6WqPVKh)|cbWyIt_fk@M zv3egTDhLc6%TVAd^Q&IxoDKHAxZhC9vizD}uuew(pfE;+EJc;}mYg*0yAE@^% z)hZ2U@wsjJGgA0{PaB0FG;G3i8DtR-Bse3v7pFfVqTx)03)hty@-(d;Y14aUp~{s} zI4x_NEo1*H6R2zCDq#0ZzZ^3wy&Bqc0VSCo88)KnYUsRw2>l9z#jsh^pjYrninBMg zM0B3&0UM_bN$RWsER&Qm9!EZQ7| zacHUZ6?tWNcRwL02Timr7aRibTYoktpw*Mlfr~NX0mK<1gD>l6rZtJGpVJ4mTQREZ zS`rQC)9OXAIbv{+Rbh%@(SBDk61Z4@@WL~PVHYF`?<(?AN!-vh+NQ=zantX6G|}*- zq8w61cF`+NqyA0SoqTMvrBqd>AdcXepn219Hyt82&@u7Ntexo$l>?MSXWNCkGL#8v;*3NK~j$n9^gx z$el5=ZX*17O}RPYbQ2_v!-mkys&+f{*gb3alrP&4!rCLrpeTvlPp+AmNv^0Et^7+q zJSZk1wY9Czd4dFNFJ?zCx$o;(q+8&VJJ=Nj2Y&K=Ghi3yt<2JwXCD(J=8L^eKYL0C z7xg;@i`^`MlJ@ArwNt;Fk$J_=eL_AM->IIB# z_Cxduj9l$2B7vdTUNR~rE>q>7kT8DrPnCgB4c)bEGfMy7;Q$zFegT^3gY14GGmlS*@pm>0Dlqi zAMz$04U#f6eNzi2>x_Il2n39#C0krLS#s| zkGJpMD=Arh=GWIO32y8b^l>%Fy*}WFS|&Ey(=ynse_5^(0;*0Hyx=8(qj}UNU`az4 zHmi0_A!r-DijYLX$YxAue<0TSJ5#kj) zomWwT&@aJTOHSh-aOZRqVdp8J-Tkwipv=aYvo*+0S#M}`CS1J9R%pVWT$u@49Kd;}s0zu<^drg7n&Kykdf_hKQ;VHHUQqiCQ^ zNa-00tXZS9B6vA?RVR(5j9<1j=L6miFskBIk*wcn|9Dgi2yyLAM_QZO$|)B9O@saS zN;JH|gAZXr8F0E3^chZ7Hip@*@1Z+_#n8Q2)8)Tju0I%RSX5Voj&M(F;;VoqywT(n zvZWIKB{V+6-?ccze4kD%V{xs&#L(2;`*1lpjw%d9A%vUDEKZ zK2LxBR+(;H7UYUpy@dK6Uiqp$Re~}Bq!qJpKGg*l5CJLg4qv%$Syx7#e)1Rvlzvi?*b<6WIW@|oP5z6a*&wJfkyQ;u22G7IWC4p2gIFzW zW5rB4kO*NdeQFk=-2F3IL*OOg59}>Fi<37w4gWxhqNtax zBaj)M5|F7l{yU%dU`?_p7NT$Lcle+eN*+x=>18W`NR9;!!2hJ17$e?D6RF z;Hhv_aSV?nZ9TS87uKW|ewYnYV;e@r_m^4oG(jWgik~QxZ8>O8VZPvwqNe@Izot^Z z1BWGmlC|t2o1UvOrvd<-A8^%E+8uCI4YiTU=stNdyL8$%IAOXIiQatM$t;2)EQCE- zRvU{9yv%f!ir-zCfR6ka&pvOlx+J^amEu!OA*m@>mPRVzr?$#*r8{$%Y9baainG`G z9m5F}y8n_x$E&;NS1bYsz?n_1jGB6^kfW%+Zy1D5r?)8>`JW<(Ewp zKi%nLJ=R^q^T39cD-iURaN*iJ@a7;13Q13q=lF*Z_{RD{^s|N>2bUg#Jt3GB97p_M zsQ9f4BmrJdNyo)X>!Bpg`~t6U*(m`JX0nJDLLjM~iiWYz$p@7~qjoht^Pr5@IQWMD zvEG>2F(+i1JS*FMJXcE%`ZChmn<%z(DbelNTLD~QhK7V+QNX25xennd-omftYny0P ztUEBE9*?s;Q;e;7!0?r*`WYVZM58-hl=l_uf1enF`)qd9m5&HTztrh>*l8Pm>EmOs zD#@`Fa_izjg#?m+Eh3`ao){{>eB- z=DTxaRoe#aG$Q~=R@01+JN=^J&l^!~$76dfFIk~Z*Zn3wZ~0}gjJ&)xhFCYZ^}fke zG;zu@lPf#*0i^)kfaa&S!B6#`kyOuUkLmdf)&w~h(t(FYKz-n10a3W%;893>Cuv`3 z8t!<&xjTAC8~7biM3V1}jmH{BtR}F;i`|;CYD*+8nIA0$T(rjM&L8xvQ$oLd#2P zb}YAr`R?w0BM<<7pv6FzfiJd4D1P*)7XJ`B4+<>-yFM^7T6_xoDqu<}^q+0JkP?WZ z;H(Pl%aP-B_Js&IjQ=U^AUm`rMme2eCfu(SNis*OM)4e2GaYkC_&~LVVv2ca<&DyE4A>kI3Xbt38NsvZoFFE;jv+IC==bm{_*9VWDPhd~nE z%tOqIuruQ`F$M&h&~6+#1NEf%x9~;VsCjRz^R4%vj(q^IEzy~3r*7!=s>(SIL&F1m zKc!j>nOh=6D*DaoX@J1Ae9n1Cw^_om{MFsKyzA{ZvDO;O7X4_h=S28V+>iXT_UTeG zeKJR($1sqBF3`UyZi7}qZ|h#b_DCp~W>~GEGm5(UCj`dc1NY~jq|HQ+@erpjLkBX5 zA0-zEbOV)z4b#;90LUI2bkXJ7ebo8_$66< zrQ3s%m;yYc;xST6ysIjNhxir`?8+P~{}6hGfOY{-A5a)16%mL8ETjw)qyJ4Gs?-Ei z&W=IM3?yxOju&6*w_d=f65A1CdB4lQ5h8KHgll}291D5w4fwFdW$2Kh44SXWDE*s_ zJIuSc2HIogu4MI?<|i?87HQVZsr&6&Rd;%Y_SDuxUo+9_{Bi3Rcohx0r)?$~(#dVS zDU&d|f7`mwhmr-Jd>}q2yKS`UKoF!sE4!I#o3fAK$M|7HbEV5mb-l^hCr~DD=oMc5 zG?={m_Uc!-Af#-Kya#FCvo%y6_jysrfG}$`o=qW5Js9%vL4IU8?bkJlO)G%}g?{z? zeq4uGo?CKgM^?Czp5Vm^>cWBkMa97<-~j+1UN9?$Hj4RpvTdDeZW5_l!!0LEzRvwL zgyiju+qow>cN_%=|jbxw7w+{`yKs)Ey zl>jKvg^qhQ8|mz;%oM~E?UePYT$^Y?c6?;svhqXn!GOR9ec3yev|Cich{&8klSKCh zVUuAm^Q$+%L9*SDqkW0i_o4$W{zqthgn)hmTYaJnT9{j%3YfAQB!+{RB-v3hy$Kwu zO6%P4Rx4Sq<3GsFE*GUX27R44#rQqU9$rAZ!a?kxpES2~<)MfELDWhZEp*X9(UzL> zL-R-AZkk;!Y;y(x!VSi$arT@H`yPW#^aNaaitKve6vtk8!Upx{e@?H2H`Myr>+faI zaVft&dsMDXxC-Sge~stPKPF6<2-2mo^p=#`Er*qKZNwv3lno~q`yrer@8^)_yNR%k&pr0cU&}-Kz6sk-JjY? zFzVEOKiSF2ckIEL$!<)J)_io(W%1n|r0{cb(3Qs}kp2*1?*6NAtrWqch^mp0Iy8+_ zMz1D`t>4HFJKtfnQQS*i{Rb$S(xC~@`5D+u`DmTmx(+-}YU164Pi|Hr3o?w`E*`}g zM<8JQzT1@Htqlij>%lrKJ9Y(DMy`3G@aPm+ho8A|n0^fSG~0Jv&-u1XAnSt|F(amS zTKsp3jZ5a9J{PKs>j=Z=U)u{3W83w{IviUys(hdS2B$hO5z67<%AVLKbdQ* zN{c$%W-nHcoV=c|1OkE93K6mmbL!s)knW#wx3o z#_xK5e8DM!79!~StGZ<|_MA@mH}8j^-qEbR7D#z9g5>1Q-}}h!E8kJMM<0^L)!3N_ z?(h_@gAJ)Ri#!Px9AeZiigQNI<+6M^z|#=0ZfVUI=WE5~%ZFF$7f%R#C&T(*nvq%q zS3YpJ7k^&B%!ePIxThZ~18KIYb;*hD`Y_-h7d9cVmb2=jF)t)TL<*qU`$&41zv-~B z(dv4!s2jfmPhyR>lYNH`%_Tz~#Rw4Jf2VJ~W0=5}R(6HQ@z#ph3pe=#K6%$yyj^;K z;Kr_b*-RsCw({^6$S{B6_-*uTc&uF#Y85g&-=uf!-tX596`7U`1X_KUp8jd~8VW5r z3e&%{V~QEaW>LZCXW&9l8qO@~yFDi+iD^dd^LGe`mXky7%$vVf40}x%0bG2pLMulw z{X3jqEJPshFiU*OsWBY%?gLLZZT`{anjoNy!Ef7Oc{%lcdwEj?#iX7L>x%BWxvV^g zZPw%o*_WZ*_N60fS#6 zl@e;R^e>Jk1hWN7@(9Z&VN9%*kwuO3^FkJ{0+_Y>m!O__&bu^sJ}yUIP+(^%d@ndV z$w_4*Q%>#3(-Z8{n4R&~1K@3=`WlG5`jc=0x!EQjfY%Z98v5P=r%cg9s0W=c^kbWEbYZuFLhH^Z`fY{oO#O3C3&#<^dRU4a0sag9B4}k3ftNcCK-Z9tiq_P_UUKG z;dLBZHjj4~pDNl<$<{ZFfCs|Xn?UVT+nesCHxY1U@-q{=--dqTcj_|3A^p_x`3FZ8 zDVnqYrYfvl_@(6iHQ1lCcm7a-{|2++m*fWZbZj`R#m=Y7zdf03iN|#(ftw4HQ~Bfp zNYf#(i@@b<^g8$778?}TLi7FC<2M@oeaI?$=5>o(0WsZ5RVdHCN)?n-JOg~3(SR%yhTgr&&*rCaOv&C_;AY_#AfWVj)tP0^;G;BR`oF2 z%2Q?d8NMGv+a;V0oTuuJsk$=qnf95c!qd}&2UPqKJyYZ@@`1oUazWRRC|IuK^o=$} zv!p+=vJeE3^2Cpn883|iJ_6!#@C2rVH;E^!9GdZbp|e@JKG@-m_}EOLgX5a-=B~W9FkNrkAyHb|LToN zAilo*K!S^HLkr`pAXuS(&!WU(7$7?!p_D8`KMXCgkNofiD%n?(@E0h!eA37c=pH}% zayIoeQp+%E_T!3J(Gz&R07S#eA=P=E*576Mr%R>cQef>2x~IPp!k@4Lvs;&}F%z;& zskH>;dP)I5vfr_cUyDTcAMTTXofTdE(ytn$v`|qxlYQ5qP;V$Reth3hc1NQbmF7GU zG`d(#u$7ZK{k56*f*_d1f4s1M^*@%bf-B0dYm*`fh;&GIcY|~c-Hmj2H$y7j-QAs% zgLFsiYwq#f3UP3y`Z=6h2qJ6At zuLesRPDmfOAua6fp^0e`X>g#nGjY%fTnj4PKZNYz5zS#Sg)ptY!MI|O9g|VQDl7z# zr8--Ss>H|Qp{COf`R2hqd2R9(O9THL5CMU@ z(BjeSc@4kN4t&cUf;>FkVrS6b2(uwMofrbHEje?-;Mm!3eY9u@*S}eS6mFT7)yM5do;a^j>gc0TRwt_=BpSjcN;-o_sun z-Kd-zK}N&+I$(fD9#tawVZff{_dqnu_mRmrZI8B?GB#fwOZ-9svCWHI;Hc(mRzdzK zE&o>^__pu_Lf*R#EHB^VeH!!`YXc3ui|_IQu0G6ar{o~J?I0tJpsx4{0DNmPhM6c< zL*>k>&k&|wi4TEN{KN1hW`$AjuC=kiO_LA*5Hbltf`vXfs7fA~+c*SS*~%wUW;@kO z*RR$TINo*^yFUo>BY^a&vEK#}pCF*zbxoXBXtVqW?;Ny~*bZ$5s=OKmXBTZ?UhG^4J{oQ5?(Y?g113s3zC4BzQq}9r9#ol3k z@N2N&u~yg0c0-$(}>>$)TEJ3%vgOd(^MG&QXk`FsFoZdpeNXcLky2h^x^ zsdoJL_j%HWa3X@r*LN9?<|sjIz!eNk*X&wbz@v5KPpZwEx!fn_+)X2t(Ee% z@=?y027H&l@Z>apDYbrW=|9SO6u4B<-r_N`C*PJ>9m}z54xLOnVXf>8I?=!&9?>1i zR%^Vr{&W0X$v1xAmd-mdb8ZE`ZJELt;caNH{fCes9HKvr>hqr2+PDf9#)@JTUkvMV zBDKk3`Dg9v#a!-&osV*{lh$EoP2PV*_yTeK`~G(R*SaVJRo4AfA|0TMhtt6LfWhj< z93`)6Gh$gFaIkdUeJdjpG*dh6K2cM38Qi;N!z}QfQ|Wpl{OV}9E@p;7xsn?I1OpHQ zoQ*rD=kQXkezimqU{fQ}#J#`V1K;^v&UbH^B^ubNW24K|?x?#*A9?NG&h^u+gmhd) zc6{}6CzJp^#xl$?=3tXY3lHke9YK{*0@~#(q?tNt7AN-S{B1n0?4xLQI`Nc!OqPL# zTe5W}gpCB_e&~CWEZl{LRl*!M#nFyXzr^iAcVmioHH+Ulojx$0_@bD^LTT8OSfO&q z>^mmEUw%v2^gRMHsd8ZQ#G19Eka4JRuaJT)S99qWMlEn!5)EcwdXyYFl`z$wtAd4u z=)DCsFXZ#BZfTw;pS-&bMw5b^6KBA8Ivp9(J<$XD4%;PGW0T|zpRa~#jZ_G&8Bklv zy42~reCJ5t69;5BRQ8R?Ey?W7*Jk@jajVY$Lx?E^G5;SKOX$GXc8V3|E*JlrZCBa* zCp(Iawf$=~6+j1yN&-#gjU7@}aJl4|_h4-Xu+GYAFJHi}c$qEo0|<=#wCk2c+=Osm zAH0$=wrmbLc|IFcJ1F?UuTP*<7zEHJSDkw@%NmX(1$-cn3~$Bw&7q8g^(JPy@tu3L z=#TJUYENxfNP}NhxF!6O?6?qPDWkR`>8OI~ReQ${X~El}6N0T5v@{6n^sJqZ$%GOG zTtmLHgB$t-=8~d0z{=^?g)t;hF1}2JlAwh%0Ew-NDkjI)st#{###(((Q@MIKa$k15 z`K|YX(E@L<#KvHvR6*UgjB_r_Ajwvnlbv<@>{i3Ge_p%GQR)*Jq+#r5@Ob%ovg?~u zXG8BNIP4lW@vH0>I=W*Vz58L4Eo^1Yl3s1spR&_94LWiv0bd|E#8S+`^B(2crBuvd7#xI4V|rx{2`z-!>|bvjXy zX!RptE%uFN1;qURoA{yasoLL%$OLLkK$z@jsYDqX5%^Mbx^nm6b@G6>OFh zQB3B7SUpiEhRGX3=p-S;;tbCzP3AL)!{blA-PoQ%x4 zV2%wIuFjFWf@-IMwRd}VuBEqC*-8IN8?oQYB4a0;(_FRX2k}y1Q*6hq*D?*>ot}05 zC3!6B52kZU3XYaSMltyK=SqdUGW?3`-~Z-jOMc@ox}B@bxNae$W1@5JAQrm0%Y@7E zXlCpoq$x>|En0KfCD4#^r^ysfeoh}~(aF%w)}Ge8o(=`9D%seJsi4FD%19FcZiR_hE|Na~<(crRfm zgfm9VGf?J5{PLu`0e73Wu5wp%0!);aSJ@Zyz$1KQYCqJh^uk1DpI)3WD+a5rr`O> z0U0zM!zuvHe-CwgeKoF`db$nv0j&9)`=cJ)fx}O|)jr};VW}C$H(K!^FFm1an=q=5 ztAwkfrunJ4>s#8HoiD$M9P;QDoc%$dm!Sq{wEzqG@W3nVi^?azZuD5MEyy%Mq?Q%~ zDs=nK?>+F;x=3I*)$wRsAT5Gx>O?_Hsz(b(WS2t^yd#IA%k8%O6j%A3*E%Hq@RjGX z+dD!+$) z`gG?@1l;lvH{1y~-e^b3J@nXF_`{jT84Uw!hck+A{S`H-F(-dsq52%I|FS8IpU-V4rap>EzFhrwbGbPO?nCU#;5pmQx1q5E@|nh>v8>o%a|C{+ z?PhWoztC(Gp1;oHP>(45R}?SHWc4Oo#Ix@oLWFRL#jr_%P?*N#@HF2_(KzlA7RK5q zm+hIu#+zR6j!FK@0Oq-!leNeoevcECmc?DI{by{^I8V>tD4Fv*ms*{Ra17tGy0gFH zd9{`+@!6zNGU_o}Q>8{!RkQ%|6fi=2H@FH5r*~g>Hn2JRz`*F*)@iPD{~2&r#{c** z{06Bc{O>@e&FIHp?DH5eqi3>UZQy(DZmEPy@9^_BEyFhXC+`jetWe*RXIbA!A(vnK zirsC~>X6>+WSQ0^>CAZ`<3zGPop1fzm ze5H9o^E!RW#NxysN1H+9xhY7Uf-s*JB6s@<)O&i7KUd%Cra5-GYtuXJYMpAK*_%^< z6p>9K$Ixt+8Ji0fHWyCz^Gu+2tV4i@BAf5=T3TNZP_*mla%NBZl`Xwkrr~3%$f?L* z6)v|RRU#$_CI$<~%e}7vU#*P8AEozXH6OOOY=e9O#}?+>jqjo3Sw(Zm-{F3g#0dnC z!X9;il~sv!-2EOu+fByIl$kH(X-w_sw+AqUl+Z#D9zVk(*05!r9ee!E-a5zLS~w~3 z)MkImW@C(qYIz#?vr$EHPMPf}TWu1`PjEL11}`SGIpxZ8+TX8UDN0N5(cbiB7OPCl z${e+;Q=93+evtxouC zE^VF0G`E^gDp6h^Y;OjXUrW*k8h;k0ZV9HCO}d?J%4#T*lu-%dOZ17FNZrbH0$)5s z!s)3RJrgdzW!1}#P26nIi*Xa2zw})|Z`qE3An?6G&<`Cw_ZLe7G!?@Rb+fnst!ns9 zQ4~h}dMyuVI&TBRS!XHDA73|?&>ytnD!zywFIPb%Es5&h@UkZr=*~rywm=(g$iBRa zo}6DN<3mNA?R0HqF1ShKO3TUtO$%bA?r7#+rey}B)KsUNro8HtUphpmdRDSr*B4u{ zw4>ikcy4!c(KdzNt@1^lIM>etOPfT`oPtcaS&kFOac!(r-3_2N9rso5_!`8%I(YQ; zeX2&9z>H8kTG}3KOKk6?4TD!d=?dIAH;(^#Xud;4d}Fn?fW~AAq6_dBfrSsDW;&p> zDeEg|pSP!{dwYG1<_$0Q74`KOqZ(#&K(mL7z1$ShPH7yrZhA|Z)W7oIQTN608ee?Z zyG&?c2@1P~y6{2}g9h|u`YzME>6&PUj=>IndtqUX&jq>|3K%eGO5BE%p+a8LnBIi}PDB z*Y~FuEp|w!3zx&q3@~|jlny=uw{Y4DJHSZW{L&}z^6ToWtUic-V6(QAw4zV%N^7AW zH%*L*t{NPC-n9^^Ed{Rnq3;+!M9-F}91cE9KT7jFJ2!3;-K+a?`f|lrX6^qu)>FeHw7|kxQ5g?p2&Y@;Di>6jo)`znT;#1gngtY#bR66XH(shch*fK=5l+r)m{g) zzUSuy9vqb_<6m^9hd$ilG`f$b-Y?-Dm;F^sEX1gM?A48Wb9*_w`tY^m0KEk%+7s6y zQf&KuVNH_lw_Vja7QsP;bKC8cjVa@0_Eg1RXUmoKL2tL7frt6I3OGjmy>*viaTV7| zxpqk=gzt#%3fKQVW)znxKkS+cpY*c`T1fpnha^G}cCC#x*%|lbMik?1Va`~*FuL52 z+T_X#C*F*F_lS$lF7BqiCd4`1%(s?%<=n5%N5DRuQ}-4yX-iJAIe+L5Q$(|1q_hDF1R8+cDQ zYwZdVpHtyak+1#y2C=OAY=)z$^?MO*=!dJ#lko?aoChYwz#d8O*LeU$aSp-R0 z5%~R|7g?{swb-?DkTv0`3dfMmEZ0HTSPhBbJ0g8Vil+#ap4NL2{7mz__y2tx61QX6 z>ognq`qqfGgiEwo+G<$dWRWzj(EreWtCx0BOe>mYhT%5+@xF0C2+W;53W%6S4$;C- z6mc&Lz2ktdA*o3z7RNE?>rA3toYXMZ|CKmkatGA7mugKOB3b$wYV_PVp#HtMVp;P8 z{W&UeeB~fWO;L0Xh&k*=GehxjaQ0XY9%COS`G=5n2x6SIfu<^swZXxuft`X;Y&$Fj zuT43b1@D|UJ?&~ofLYTLPJi-~Z_FfG5yd^$0Fz2B0)n)Lq^#zbhH<~N`h&-?u51lN zv6r7W>IX+Wk>ErBLZV0iRXKdm8Ztrj@V+2Z!?L}ez;Zb~=6RC74o6Eksm4yIaI=v& z;?)vuf%U+h^DWNSLh!^%Ll_LZ|7p^nHO=fFiP|`tqqR% zglc#FE_LT%qj4<%6gs=6cPccw2?nKB1xB-f zX_Jpyt_q`p!mO>(SIg?Q;pz{{#8L}ZsodNZWG_hI+sELCgoNyNwbQYEk5_uF*J%@| zUH!Gb@sAmb8ij;Y+#nVgU=xF~Vt`RTCqd8=j*JMI8zp+O+64?OiwX}@{*;!8kdWyd z?BB7&&NJ5$7K?pmym}JbZmj&`9KW!C0WJI&;N=K{Luk-2hIyC$QDchjGcz}dGt2g= zYXfzOP&as`SG&7+wzwQ^gDsl(3~Q`>?b;*{{q8eVqnc^l)jJ4D?$FfhR z2<-_Hl&buWf@WAa=X46v1ZlsAF7YK;_(Vs|EhN4Ky}ZKBC62S&`H~TI3reoA*yc+RqZW zY9zGzS+{?ey;nzi`#?Xl(4?sqeP%NJ46pa0u&z+PAlK022UMbWS7Ibl>a*U3V3E zxfm`+SRiue_0(sZUyO5{fCGT8+-p(~qd2Y@m;We~wn29?-eay_$odCIB>A8UL4s z@+Nt~hnmlu5INzVB>d|Eo~`frIDX`J$oc>H5ovRDqA*PhNOx?y}wLfaJA zhZ3#9RQ6#Eeb2XK17C&0v88qFUw&Srd&+UPk|?#JB760J2`n1c(ZGi3btf&6PRhAY ztvR0vCx9AF;N~({4K5kP?+he`NZ-aC%CN`B5N*3NjhWsGP;NLG^83tYbjx#=g~5|n z1Epf+>^y!RKf9K({RtaxQL^4=SCT(az|<(g6^q-DYGjSPPH?L05k~&^I6IZ1?CMke zPX}jcKGjkP^piZd>I6As#3JI?(p7_(L;rhXb%aAifC-IhaV$ZR%t5AyO0j*}PD*L@ z^Nh)7cEwp&r<<`0N#Rl6!Ofh&`X=^x$+NxgK7;L5_VC-P%Bl9Kc$bvj>Dto!3Ue?3 z0CPSHXfVTq^`77RxlBK0@F8H;%kS}W-_fZvcVc1J930@d)(SFU6Ns6NwbyuG2t0ga zWpx`a()K@ghCJ*=DyV|#0-!gFdI5h%07(JF7C{ z-_$~i{+Nuvz=xGpo4_8Vng1;^6-+vFwTc$9Pig*>Eo(y!y++LiGILr- zlbI`rx#rV*)fAC)|M4pF&5k+p0Xw7YIo8Jo#-sSwvRL~cZ1;@%r}GAehgpIXZ>0J_ z7Qw^%qUJ@18iC79(E>v6?3^ z(T-Gc${rv)8ir5}PfjDsD7OPxeWU9lpAGztk*r9 z(5o%C`_|-=%(&$?;El=Ff0bU}B$Gc*qTNcRDXB$Oh!hWpILbbrbG7^osD3-m-D=n$ zJo#VYcV*S11Q|cg=O@^WkHirP#!+;Npun_U)xu6>98aoG=7J@50t(PU1)d}!4k?%3 zM%A{Uq}BJ&*gzL;7%yo10yCJrE(*z?n-_|sq6utoZmfmiW-G%uJfyO?;z# zMMoUTqyTN=Wykzg6hbstY_Hx}4d+hSoBZ9G9~7k5wx_!Un-06f5ns?yF|o(B@RSa) zV~FewQRC)f{2#V~R^2oD{reVAA&To1yAG#Zle@vMHt#=+^Q#QVLC5$^S6q14JA2;)@j{@rGMNl_Ny3cG~3ziRxiuJZ4?`dta&&2V}l| zc^>RLP7}$en3KpE$Q6Irq12x~u9}~lmchn$nqcT#``e{6AaU0NIP1cV>hR095n5K@!KQ zlBQ#W0^b7z_McPSsY1A^L(Vd9sDA$RyeLrPXl#Y4-$uwscWo$m|0l4j=RY!9;bOm$ zKK=Qe)`DcBWZ1){3_BrjvUEXR_zx=XZ}V7}zr=CXPANN<|7c|v=gN7BiU}FgrR~WD zrS!YJMLRo%Plx%5U;c!*Kxr5!W+SApJc4-o&}!;E~jBVte2m82X1$EgZs?wUL7?wx#57kFgV#P=Z9ZPd!V0vs%_! zby%^x9Flzs`)U$_eO-FqxG3r~e@KcXc5)}|s}_C<3zPnvsm(=9LRA^P{phpLGO=eK z&Qi`Zb8L+tI1Hr;w+}F6YyGn$e`xX}`(l3H*zR;lGuU)hpa#pzMn@A>^v;Ghl)HDt z{1sYu(pm{X!FCR3kKQjhbug>d=qc9BYCUw`JuE7%>Ggie^^X(CMa1y%SaZHq_#OVG zs74@OEFm6!WkD&p=|HJRSBLRMbcP92Hk2OR1%UaJN8yuVAp3DN6`C>+?4Q##aQ&D0 zV8S9PkbvqdOW?(6FjXP*Jmou?TI)SoSAO*EXv6W#r3zP zs9ci#)G4^*DKV%KmRN@!g9t~`MosH%t8Y; zAi){ve-{f)x8;iHEL>W%vv;qes?LM{h#Ss@)rR%=3&H>un=+b1X)T-Q|#3 z($1>lwKy(G_&nO9tsBirSR*tOWKXj5=UL1ITK|}PRqM?TI|p7YmEkmGVCvx8AK0(9 zLjPf@klY%|L%G-9-@o;KN5c#kz#xal&6$LAV&}|AB1@|-y6=5$$Nn<&g8hLBmSz6o z;A75kjS~wy6Rqnfx$Wy8ThK?%PPlE9e^=mJO!)db-rw^CNZ zr5ww}TkD1~)21}_8wmuw9+7$eAv6?%&;g73e2Z}lX1msyceA3<4BU2G&Wm+I-$G3pVQT$*JGf`{o8G@rhUhOiFJe|H-r`Q< z48#n@7xZLZ%5HYTVfgD96MvNyJRwYJi5Y)}t-mKdfENHd-6su6THb*3LRDy91X}x+ zaZS-XEY**u*&p<2&em;^_#&Hq!rvsgSdtK*-YXYAN91X#uMQz4eF~j-#f9TGrELAW z{fyL~kJM}Gsuw`b^YuoXk6|tTA3`f|h+6;K`utLUBb;xB0CQ-B?Y3beNxjeRP8 z1iPf;6hq0^YX+Riqv5q!VTF8_Gebr(S~pa7w8~dPzs~Pn8m^sY(hSiFTByWnaZ|m| znj)H)G>rDdYTwYmrxLfQUNqZmHebb4Yq~B_&S9i1J7Llu4FCPK4()85uZ7(BsJM=J zYw!bfjFGE@UT-NN>(62>k8t831w|*OC{(Pj+@%YSPAZn42777)tJ~^E<-{o$oL>n- zw8(lApkx)PKlM-nJgCXz@9?MsGmB}L1s{e98KKlzQKK4`Q8qAJmwL`sGz{5_0MA@dQ%$VeemeTDG3~w4!b2 zX0neIY%ki_DtzB^UZuPo*5d{0K_3in@ldzy)P zG&2~X)tba`Zkxp)c2c+9_z$725X8^0odPl}jdd*7*p5~p?q9YI#n~!fI?HidJ{O=| zMbGi4vzy+gfX>9ZVgKf37KCU5lZ|L7_js=`AVINpX8jB_nwK5k3aBJit>!ht4d@jm z$%jz|aCDU*A|5eGHB}rU5X1w~U(uo!=d4wMpCu!^IFY;WX+?fvhwwS0nf$dM0_$0Edwp@MLDhHauh7PK^0Gj$ z34!M6i?K^QVNkJ75^@=AYVO1;iF;B(F@Cx<*5rZnOrcGB5*}g;a!JRP9n!Qac+u&xF`BB#b)~5bLVgMFxQHZ+rK* zB(SANcU&Fm!=TUasFgNNwnuK$MYEQ`AGW-IBc{nRT9#JVe3W7lh_Wi&DufPUYcl$)vf>TcIGdb_+B*D>RbK6g$ukF2>Ii&S`paZi z%asqFVh0tqJN4V0vdon8hpq>_5itoK85PvtCK_sg1jSyV(#41wYsDZIqR?Xdgumk! zF5B7V0oAr+c9G;`USV6iDT?+_@bMJJ0)k#tMkE1v8nt3nxt{v$>{9D>rHD*}*Yp{L zRLBIxlbF%bhMg{g)M@Qhly;J-+o|KNU3?4Dc(=HO9DhFs)D64s96e`5yX%GC{nFwz z@~)n=3I;B2JnUW!1s377+VY;E*sYSW5V^v7zpQ)Q8Ib}2Vo^%p$8MmILW zlL)U-k%rxULHJ3}m{bNoTEaV)dTLD0yK+9o&GKt)`=^o?9EUEEU!S$kGuvQfG6nbRQ<7i5m#cS-qFr)GvarafYuArG zKRq(E-+}QPm4ij}t2JiTpu((bLtns}B^z}zaG}!WuqWa^lK=39l4dsA)kLs?l6#YV zF{Ev$IZjk~rKHly-vr^G@m_Nax(ugOyZS`Hf)jOF?5N_T}CjUYxC0%syt> zwR_Zgb#M9$hfcD(pYXVoD#o3oI5;2o!Z5IzP5+`M)1z0AS0FmD7pgYOZ^eC_U-!L` zJC~DrhpuGrWx2HST5H0k?`}TkXs!?X{ccI-1#4aIt|?&W5E&D`dwzc)st6v`NxKf_ zpo@ZM!)+Dl7=`FfeLZEa*uk6P)x-yJx)w8PAkM!&MO2w&3TD3%%Z1>WO-oEwqlH;x zd1P!7*1GBLuq6z7v;6qqF%*I*1Z#4rjFuYK%*J++Jh7xOx*Ug6vf@Xl+u^j6c2p)u z3gtIkO6F`;+ciGD(eDf8%+sT_@z?5x%pLcL$@#ue?xmcqS<_=w*Jf5&gVcR*<8 zZj2_xuD+b^{LB35C~`dTI{{Zq0ujDNo({umj6e9mBdX}wP69y50tDu&kuAphTG#^nqi1XpXy9LTW(T&lEBDd z=A0}-M?TpxlYU4Z7c~JL{r3-7A@v++Ain%{=nu~VY79(qv<|{-dgp78=c?R`Wv)ZH z#U!l)C*-U3LGbfKaRmRr8rlm%?65YpJ7u;s|1+f^YVHVgX!NM8t8X^pX0uC+Cetl` z4GN^{oyj5iblX@@gH38+V6sMMmEw;T`^>E&Y1#TACFqYk$ zvr$QB<_$B6CN|!_`Q$-)?DCoP<&&^3R^YcgPXdK+9S87FPnmO`Ut^cKT|4LGdi^ek z5^*n%CFo9+k+R#tz({Xx^USmL!b(JCeT;86-t(V5TDDJ>I!Q?BBr3)LO{lNxcYE3K zrT5K*@}nbu!-6BqrSgQ~ahK@IW1$OC@zm&3UG6v7C(L4VV2s~J$HKQyd^>&$!I2f7 zqF(&tGf?tCzMCWS%2R za?h7xBjceal$FTlK8UR)19{?}nGVi*I_-e8-}$uC7S`_UfJ%%+n7%U-LHbdZikPTa4T8K>=hW2`hvDypl2`lb)cm8|Pf40Lam zFti5kpDAjSEnqV+)hz12#|NcfaM-ifM#ra2mgY)RF|a`6_}5~WDjwzJ_*OPp=mS?b zaa9>o)|#*A2|a%rYuU_ySm_+la#_C$LtK87SU$HPP8qM@=imx2v}l(^Qn^!IRiaxBpU#HV%-lS;1EI|6CTyol)}CO~2>Pf%JhYUuu+Kf%4bV?jN(Lm+<8S}? zClc!gK9obCUvcsy8tGGJm{h9^wkmI20D%4r^HoFTjCG$0@c8Ih0fJL>;^#16Jl#_u z+H_JMLe*{z@3DAFqzX45ZTj!gP2vFWEsmKyB(E=C;Ts#~e&F}>6m~X$70h5A4=0XT zu#L_xhtO;pTa@ zI?0s8oS?wAgV|jLGgUbx?}hlRQhP+WK)|DFz6z+Eb5x&w3ru`hre98au-Y@JsLN309#3NkxoP4l_3F%e8$7cw)CW`(a_J%LZ zj1As3TRtM;i!BYQvx2Jho`>^yjRkg7J0-9Sy-_~j#b^VlIfQ$gA zz|%GNX%CD-F1f?m?Fr4-lI#tg-D+`Yr_C_D2o%xx`zE5MY0T~OL#MbfIRtX^)Hr>> zufEyex;G1nIwml$qdK?dII~?rZTks}n6E?*_2;H{^`Gx1(VGAl{;U_>4NAZ)onIi%J7{hjo{ zPCvBYh5F_VyUT;g*P+UBPT;Kbb;C?k&Yse)a4*+mMftS29fu@D{K9n~rclr8v{Xxq zqeAkIZV`2VrWwRKpwRxOVpW=gg%4R993N_Wn#4VCnprtbm0Nh#F)GiSHC@==rgzY; zJ9pRtWJbJ@|J2AOin`8hmEeN&rKg8SAAGh4;kG_gP|u0ZiOe*A0bGy$2|O~34eJeP zf~42>D7jHHmh~oiByiPnG^nIM2cOg!49j_yKs8hNxzFkLa$?5UPe``Mmt6qOkI~<0 zL;_u#FPNChB~f~6GBMX`MS>-Qb*2`*R8im3IP6woO>D<$RW;d#+9OU@s&#N(H zsq5(Rj1#TGUXgO9^hfW4JBtHeD|g~i6haK+l#{xXD9gmE!Q&IFWDvmY}y0VZyEh1U-J(ow?ya8minS*E%(6v?sp$w-d0PrjGRIQQdkCrP$Xo! z32Jk-b-bi_3A#)&`mVpz^yF>%#0Spt$|yQ-cVZ3Gpxv0>s4@?_;HZ))Bhs`vRYF=X8L7?LDFq{=n^+?VWkA?a%Bw-urAkg&2|{z z4o-?H!jZ-e5@6`=H@bIqM`-&OKd0 z&srM`e@R8LmXiaa&!^g9YSuW@d;RTPbXhl zvPe8GuICxmulwOo-r#v!R+`hLyHzrvj4hS1{z#?S@Rx;jF25rxt!>Ji&e*)P_oKj4 z1m0vX`K#RTfj4tfuDC&xT@1K5LecRo0eaq2fsk68!qWvPc=(%JO{lJ{iR^%S*=|CY zD=x>b+=zl?5f)Vh`=p}ZY|zD}Fd1$swWZvRpXbD4md@9R1+$MLKkbHW_AHdAj)UrE zC{OQ+CEq4;NlT3~;u0hU9O8m+RFDY_GuF`9WtYY*U=EQ|9%#iM-o(}xEl|Y>WCg{9 zM|_cuLKnqTuyUYOPhvZ?PC{)wKtsIBKuviHFo)pAK**8-mCbe z`^&%$*Qc0_UAL^tbb0k(m+J{Z{AIOvswiZwh;$lcN5z*oo#|8GR^Kc@>3rLn@7)D0 zZ0N5mTz0&8Ebw{$I9uZ0c-_;uE0zvSgzUeGS`@BjjRpmZ!<+E=L zYE(6AG-Nn-tXYRbKvUk(q(CN=lszM5$#*a5-`rl~V-IFZ41`BKzU+%K@TdxEhY zhn;!AiI>97NO-)#bnK`9YN#0=@r}_sET+)XJg&!I)XL~bv6E93EYP@w;~WGyd>bhtc5H6-I6g}l!Nh+gA8 zz5n}!p%>*=MFZy4B$;kEBKL&fJn){=&k0qA$>>&uSlgkX8Rf~jmu2HKMIVu1 z=_t>n#hgKeK8vj7ZcoxbrLAVn_T#-YK%j2%rH&N?Dppv?>Vi4kXca)TalT*mpF(S#LD2UI3@pi#kkp05DAjTi)q|{f@tyU`m>`h< zZBm=>1^;-50I~Tm+~%1RL&>i-S9EP-qRHg1ampwuZWYbA)_vs(s_TdD4c#;$PMstv zXHTSJ^xYo3TKwU6BYYN#>ru%_0eYnNIbl$H_{hY+h;UToQhK zwu(!8{{8xPd##~vnR=;70gb2dH_@0gRGX-$7jvROYL-Hys?HH>1QX}e`hkK+8##!R zQ>|R}NmXPGt(vC1$7=^|=W~a)GuvrZrT(RfJJGYI3ur$9EpmSD8%tjrVzeOK;fu7G zDkQI00Y`|R^4;ie-YC_P+#IC#Dt-zfT%&BuDaQ@WKmKXU1_EiCt0vA-7>-k7V>QgS zlxuLTcHI6TP7?zXWL+f-)65j)+4*RZ@WJpBY0Piv4B%(*x>esk@>--| z-0hA5FPBem*FP*@f=#ZreO`v_LQ>-eS-0=2;fp=!S@fc;sb2n0ljZhvLtYa8Q&jgx z|0IOvTO=GEx>a%W5zc%q2>p*AMr^nsG^`*}R8(e@VD(XMR^VO9VLe`sx6zXv`}$PC z^XGDduAy-szHRNh*#w2Ik^#_gTE@jA5k^sQ=8aW)6aPx^50GHkf$NPn3aTB0jmFs` zgobiQT!p=aA7aJLqeJ=+p(2=fnYG~pnx?n-SZ$E)zCc`LrdOTFezsBNx#umZ|Ke7u z$x}yMVzqO4Q_ z?SBr2OxlbLHJBiDUAg&AS2OSmnSb@pE#?RSI^{!@xp;-%Tax)b$5k%s?kg|f-}LUD z3h`@qHePJ@kxK!O71^N_&c{VY0hvE}E9?E=iFUVEd?C>^rKNG&?A%-=;W{_LMkp)n z2Nr=IumHKxy7(6?*8sJSU|qwj)WXW-!xH7R{3~56_{+M7o^i!TFu_yneZR?a7MpWr zCj&G<4gjvS>EJ;$>zyvc3JE{r5{F`V5c$CXiVZRQje`7`cFFI9eW}l3)oft`G8fh2 zy~3}CBVRCd;Q}o#`-`TBUmX`QE=@=_Orb-4ePY*7&p|gtDMLF|vU&TcT=(RWq=r&;ky4mP6P7p!ugIc?okeC>$0*4@o`b+h^NTO(Hf#J9LC*Z&dx$?%DfPKYc zH0M4~E@R>_I9(Nd{|}*hI7C%z<5LBPV3jDvK0AA(IJ|6+x~lqYY=ZOl)O@b1?T)|E z95@VR8$H3xh-dOXAB6CjO46V(-Pv-48N2zN#E!^-(li40i;Cil8qU+xi-o!bWR69% z3TGke=LL%2d|;GkL_})B?KLne<}PMzhP%wBB? zIw*X#Ww#YMRQ^QL#PiHmkZm=(KB0u-Y7cR!tO()*v~H%b1KxJyvsa0*?A!y-BxvlLt}~Ys@E3!}-ne!^trR%&F%guUB12DI8|dYy#q;(X2~h zlK)v2`~U5l4WxA8@GM@{Qm++vLt8;N#(f1L4En!MUMoqxm#aFRre8uateo_;^LZDJ zEywje^o9C*;q?{>cK?E--Aq);SXnBnsmQQySM(Z`p4u*)m?92fxXA{$Mr&a(`!F+TI30#F_h7OH&2g0sz0 zCC`Taw6Zd-2iM2afP=8_-3Zd$Kd|!aXKyauV84@o{g&g5X3g9E?qGhgAqPWrF~vuX zBRKF~U;)NUS(aTBqVvlBI#e6UlVI8pY7UR@-@s$sftsc#}!JZ}%!EZno8jN^{2H*qG!vts)ZN`YH*4N05y~yK7^*4kAYVW*cq#qC> z>_L`Y;~2F@FDZFM`?3L=oF)evIa_pp8`qP8r>o()p(@6|#lgDAh^tLo zbK~}1THqJMJ?@voDDh}p38cnD*5=pKz@5I|H8d!T(MzHg_@aM=)Pg><3B=UZ8KgjyH|QTUz;n!E+&Yz6D{g) zo-pTSg!>Zm41LAzE#@r`)^SgNGvBR%v@7D%bV;7uuqMQfu~z>2ro!Pqo_lU?Or$6? z*w}^9geCD6LfQF38ZU_ukH3*(v=aJXq{L@uPwaahM<2%F<_3iSmafsr2fHKfGeT zq10zHDDY4qSR0=KjXkV!Vi0^&m1F!?q&{G`?ypDF*RdC=vuWc|2524A8aip#APQIf z*D-fggaZkbPv_f&gku(NaO-wcoxp(EsO{PN#(+x3*R8HWIn*8B@p=C!6r40yC`4sf zdVP8;@Fd~8@4VDy80^UB(VfFdqF~*S(p}DY`b0PdE==G+u)~INP`^^AxemUOAcKn` zxl#nM6AS=SHGEoy_f=wv=%!7-A;<^)VIVLV=L_UE@bc3qI^lz0QvA=oN+wk{}AdT|LDRSmhMg*YL;|dM(s)p_Y@*a zzI-;N+BvoW%Sjv>3=ft~9MN$6`QP}m%)2YQBiF(;Cos$ebFW`>A8IqZRhUQ|52pbV zSdC&RyRxLoya0r-LKeh<~t_^-EXHjq34nWO&a@<6F_O zNje?7FfRGMGqe86kY7PLzTP6iQ^pPEy;XJibfS!6doq*lf;)Y(|Kf4>aDzwnuf3qW zV(SfYnl%kU*4ojiUCyit$`r7w2xPkLK5iutq}E5C^?)ZcyFB~;F;as5_*ePUHCN;A zNMX7O*-4Sq%17cD_oT-w`u)bl;+MwaYJMhJd*imK{yoTK&r4PGAYwEQOUp+7o1zW~ zve`Giv~O3=F8hO~Eqm0>UVbSr&gxzCIiN$h*zOCf=$~%;Xg|E8rz%R)xg`+WaYvn( ze+%Yvnq=^*a;k`FN{JDk@}6ZJ*;&r1`OMUCj$-P^*ScIooEy|Pgs7t6((+O+o@~FA znX^xQ{GVez5Q?Y->vHtWj+#@k`KC3_@e{B~q3yKUvby2smNXc|9}zCZ*Z}@z8ZY$q zKvNS3C#n&Hzt>b~2KT4k{@22!M<<6Ar*1S<2pQ|~Up=3gPc}_U38WMQ56|3WwQ2a% zQs^u$j0;P&ytY}zc_p;*yh3qA&rXheX{;!xZg9C4Su_;!^hnZz8T--1O}Ec&i9rJw z`uZ{4LBY29VDOE@YZ_v}R)r0AE}Hxr>gcXpaX*hz-%#%G%;&b>@s2iQd8{kp)t-!> zhY&k{NS_FgwywF<`{u>WhkxuJUO%{Q!HlMWgZsC$rB*xmsXwQzRi?sl`zM9H;25Xy z$9h#taZ@$BEj!Wq`%VsDx!yfy$v6i5y75!Vis%1|FRFF!Pcc3yjK0#`@Nx5-Z-W_u z0#TqmHF2N*eRV1(!&vVgX#L5bJ58fABwbvKfTqV*UHOZ`DAB2GS#_rQB!A&Ev1qPl zK3vRa4RF#3`0~8=`rV`5>Fx&U9Npa^AT2E^J-Tyrcb6a`5;N#-L}Jq2jNbOn_b=EFXV?8a&vl>kIhU;x z@YY{1$1*uigPJ4Cku#+6jE=5lzu|Nw;qIC=9^zEvie#7h$2K-y7Pg&2V~PYEA&(;V zj|D=>)Srrf#a(X(4Dm;&ll_6UZ#ioB)e^{hdGx2@Fuxl*paPxa83_rP1~2p1<=9CO z2M4UeX`cH>PVHOc?f>*n%OFf567ASD z%o4`vc~^7`wJq75MJJLP=@}RAy?px!??NDggd;#p&XDi%d>_;P$kt7|_3Y{3I3H)d z7BhME<7T-@h8XyKkM{4BJ48W`LRx)rBphs=U7RIPEmL-Lyc?xd^V*tue4d5MbGq*| zq!Yk!9vIgW@NiiIP{PsZM9NnY`&-E3u%Dh!>g`>3q>(I?YAi$0D0u5qre}EMJ}k9( zL;4$;I>IfxlCnTklLbk;3YtC%lrSCXEv&o0Qk%Jv^bq4n_PFla6;#= zqPpRocxX-V*unm<2ap+KKy2hu#Z9vJ3|oLVO~ zpB4lunaAsoS?aL!bTn~O4ay|MrwRybYg7fa^ zHYu#YX>2<~fG%JtVm0!l+L?&6^?vv>;z?WV6F4d~~M`W~C6gc$5Pc z!rxK)?C4A7p5v9zDE?Du0tI~&Y4stKu=D0j%$GWKPqirc)F|214Sd_ehTLuM>F1?a zU_oAq!ug-ltbTp(Q{!P92Oi9a$L}5_AG9x0LJ+B!T;s6=cNnxhTAI)LTp$HBxBqtC z-_`$Rq*5u`S+d-G`+1h2t{%Lto;}if-B!Ey@s7#S3Iqc4Vc3wPO-(+|c-@*l<*WBK zPPZ_AIF%&BA0kX5k&`NXhS5Sp&mj8`E+7y1?%AKR{8^~W+k!fT^pli_pq(-A`OQ?3 zeE*r4>IZS(I*P#~$v=32qMq&TT)u!BF)~zPWFrz7q*I2Y`cBvK^@TX3I)3tOI9vPF zVB_vpI$S;HF{vB10!keHSLIG`RbI7_eqM>c`-2~6Xe+5RX9Mj0Fl?h{0C>^Sxx0!m zC`VOp`ld88wLSN+bguzHp!7^zZOeTqR!M)Ar3C*wLecY??_~DNAlr%!!>WO5chuD$ zsqB;>Lq?{m{47@l)e%|&dy4`0jES9!gkVRGXTN9pKu{U1?UHb6j<#HYJw;L%*BpUb)>&LH6-Bp#ICjT{fh2;2ZNY>?<)4Jb4v)*pHNq=0U z!jS6A!LILmt{L1zJs5-AQP^INZ536#<;dKNh5U(yy%J}_XqMgDa`TMkZuL75wAB*? zCOx{c$W}-kEq*=w1OOQis>Bi9oP*w?A}!_+czOIcB)c_6HaIKWF!WMyGI*2jacp8_ zTF-9g#jjE2El(ct4|3Yhi{5b$Te8>A>@-rYPQDVl!TWXgT0&mPY(#vPqzK>hsTPNX zRFYig^IBa_z_vV0&;oSM-GQ@qzg^LOxos76S_0R-9FkFFSzm_bFU$EiaiKb6_b&T; zxVIW_vJh{*;{J|aqAyw!C}sA^8L!_Zt0~WW&~AAgl6OwH`d#{J`-g;A^?SB7ojzx+1&Pn9@|$21m7Ht&K;eZG{I(y=7A@|Zvu=w90n z^)M>YZUOO$J!BDhhJQZ+uu0qEy4X59JmOgMz;lz2i&F(6no~Tx0*dyj)-`FtCclgn zKWtm1x7Xu_lIGi!{F|YiF!TbXLU`g1TFR?^k~Qy=HIa5XWYCzC`HbzlD3FzV*{!X~ z?vFE#p5+vpm+`J-h`N_UxEAv_Z-+jOOwk{|oZ(TQ%94OY?XYl>P}=~2pp2quAz^1Z z>ku+rbJw-dsmz^&=v^XU%i&qIr{<32ifSjPm$%Np?hbK8EH7LG+x3djj%i;;fxY3X zASvSB?qG|4whjMm$$inypEnw%pPTsneHJ{qtoICO1x1!=c841bVy#ja6 zmuO69-srBi87}TP)uAxea4+r3rSX0@Bzx7Yo}q-Gy|)YIAJE-o&6Wi-y(b@P<@djs zSiYfTKHH~J6igLk*z}B28v`gG1@->*4|x~$VXtk#xAO9A9bOEnIlX%TTlm_}wry1) z(&F2&*^rQXcz^iA2iJ5HWt3dOtY>4Lvse)3Xeg--hVDevyC$(2gSGaS0B}5fWkjdU zn^b1vd8hk0(vY|BW$ek;+)p~&kB z&q0olCy@(YfWZHgf(ua4MNQ1-UyChR;J7#o9=WG@ZxfpAPv zWzT8P1+C&&1KJ3FGk14DCe|;d&GLuCQNJ?Dva5=djG6VjhHsQNFI8SSOKPh%7LpOz ztc;Vr$dbGzNVW6-b*DQYA6f$4M@eo&W6MFVDJH`A4dY+Jnz!gDJ&xY>!G~U=gs;V= zkYCkZ!j%X~rGt%*yfwM2|7)=GN_?B-a|{+qlmE?SJVZ18RP4)N!x*qLf-koxAfOR+ z_=KZlTiXtuoNs3T1udnecIgo%Wh7IW{?*?X<6~|SyS1QpmeQc z+uApeNNhK<@F!=mMG@Z@p~Ze_rqV@SOxB>z&wN+UY>J-}{X(>21#b~>VaN#rv?$^Z z*-?o_dBjH1p(P5H{Akkwf`rZh{G_(Y7l&T&I1jx$`8W{25c~MJ4^g z7{w*VIduF30&=xqc8KzWtzTW)e*T}MjgXCK>MqUJ#%iT%BcCV|ZRJS~%dorvM`l?( zkkf1#VZ6i1-GbF0|Lk%(NXsemdkBluPc4=*|KAMZx%n!$H_fUt@f<+ez1+E{7_bL& z+PV}44o50qw^z*siGqhI%lPF4Dv0uE=`jO>jW~}3Uq_Tihbmy6oq29i^fr+}4IV-> zdQ>{Vh)cS2xh!O8!GH8WN)xumqnqM3oX!SK6~M9p>T|`CbeiM{Q15I%Nc2v!ic$Pn z_qpomKdnkDF3Z@;m&VI`%At^Z$g`RRTpxjWphn9Fv6N-*;fekT)(ZOBPWa^-0Gocq z0iJyA42;&MiM)9Blt05Du}H*UqEz`h+`VV?LoTE96k1Q>L~mShm)hE&ZUP`XXd3=& zoMqGN#~~2t=@Tq<8nxl8ttuDuAgkLjY;LtCBYS_J)yxC~JQhK3)augTK>@sbuU#a* z=`bTkp=D<8I@epHn5>=EbE;8&-BTsWyb-)0dJ@V%m0=q=MHLN4RhI5VB-Ll>7Q_Z4 znNo7j$t=2<5^HovYeuPYPgu(LrXjLYS=Wv6rI2;9sVxj!;y4cit0(o#t`P=hiC1KT z>zD<#+YeuFGyWZN$ZX0cGChPR@2B@lB42XfGTAN9^PfO*+|53BMIbt6Y`@ix^%s(q zapexh$(jyS5cmZQ0u>t}XWEwC3LeQ%3oaM4edC0K7gMo`+&Bp%W8g|d#g?9GHyEZ+ z8iDyuYkG}=zhoQC{Mr1kZy?!-Vx5LZq!DyNzJ^K@{`pAOj-9*bL$JA_p`_@@NDHs9 zu!Be`S`4xxK_2099j-Y?kwx;}Y7Of(C zO5Opm4DqIkBmo{v<4qMp5pDix7+U$Z<`D5EA4R7y+q|Gw9M_uu54!yeG;s|PkP0LB zQF^W{YTB)-LCEJDa0A; z3LCI|a}2Rpy6PA-uGRM2e+B%+db*nht3pU2I6$PufDFWLz%v*@bsqLTsuC5OX)XJt zC>CvC^R^<)*&gI1`G@ZsF8omO%v2Fa6|}kSISM$Li3oe(OY7UTr}F-EgAWb+nFlWG z8_?f={{CL;2jiO@Spg7JgdF%zS6O)c(z&1L9Z0rS3xHen4`ZdqW(ttHClCf zKHR}6SKs6bZ2pjAeHch`_n)H_Bq#yI?s|lJ$G1N8)&eqrdLTxRs98GQk2v=T0Fdq% z_28$}r+|M7#fPDnAo+iqRw=UuX)bbb`k^EDA%g5_%7-GlNRrZn&Q8 ziK*{*>sYFaF|P!}F;)(;wGti5Y_$3Sv#cB8HxYI^dgR1?wns!Hw4>C^_sgeR@|dp! zNAIUg9j9P`l>4}fxt|d2%p;HSxCF-LiD|9lc;E5`8zU*jX?qG^EeQa4n?V7CNL7_* zqx9B@8c_Lm;I7B~AziFb`RlWddL+GWD}y$VUnzg8&u`-&5INekQpR421hWg^D-pm5(X9x#|ctZA0{r#d>aMT^L(0`Kin399sv$8(HBzt{1FVke5D56iTArWVP3DDYZ3DLrtF`r*>JN8mP)E%ZZL;L<%N!JH`+*70^0 z&Xe!8+$ENs-YRm$ko<+@rrcDS%x(>A-5vC-lsbI_JR2!z(@cX{-p_115a2V?m_gG{ zWEaF1qZEFp)T760h}H~=;t!Q94R}57%mkONL4XG&zi0Hx^03Vnuc%s18P`!TJ|}6& zIkXQedJlnlle0AR2tufpiMSkRPfkAaJz%|Ci&PHc>yT(SOe*kX>_?Nz7Q4_9Fm}9$ zW!K7Tsk%idCOr-lNn-|-gJ>jl+}=VCm%i%YP9sTO+7G%_0LfbU&~Z;7jAD5Kcpw{| z0_jpI{x?IxVd&mgrt`=d(q(xHv97Yf!9-Ghkohh~S~p}FtKNmJ-I%t~4H#BKX>~w) zX)Xvk3`h-Zd@$iNmUuh{>KdTbFn5*@ju8LKSNLkjBhdL@n@uMCbBgiZts$?H@|mpV z+X{G7eV~Dn9o=@u?Tp8n->vM4Ek{B?gjK`+@acghc(vi8>hGCD7~4*dKZbwGxETvo zIHSAD3F7y1<-S~)AMuyWw1tYJWz+N;rqq{g`pmi?8%ee;U5+2t5!gAuZ;v={b9t(1=IpzsA(^pu?(lDOY-gOffhh{A?a;CGscf*K>aO?o6x z6T07>v;5`Z*ZYhHZrIZi!nJ=G@eUSr=e<8W){mLNxcB>GT;Ke$KuF*lzUKGV3XScR zWA7{Yng7jDA_}_RzvmFr6wL8tCRyb^L7wB%D5;rO`-QvxHmgk;FgI@1WYMSd$NT_s zj#zX!;Rhf=I0NZ)Q6SJN!X4`~{Tx#(86ECn;1n2q?B#Nk!juv&IWunBq$FsWJB0O? z(5YK6Q$$Og!2USSN9T^EyGsvCxdE>5NS;C&w zHrUoNp@%Sl|56M?zMiuq6N7LB`i3Y5^EVuPsZaPrd0mc~c5)t1lz%;wVSL-tWxs=_ zPH0n`rf{Wm+)a&Cad+>HXg*gP(>kX^$%cDu_FY^$#s-u&XO@+*vu(FMd#B%Bd`a`tV+Em{|I-QMGob>NGy6+gjv2j1TW-4(;n zTG8sArtq{Cqus!^-u*8-ZOuyIs)B_e^@^r6LcySn|E6?)3<*E5N?dw}&K5bU)63q~zM)(TRmc`r zP0Q7pAd0ny84Tf_cyiKa)nH<*Gm3ScA+AvObwz6zUiOiR4S4GnCURl zBjRw>s(%XQqoNzzuO9P??djJfCP*t9Bq3=Eja)V9dNe#f1DRLGaE@Bw!C%|}H#nOW z{r&GN9o@p9{X)!w79guz|;F z|LMZ}JJZkOR>2LOeV-b$)HwU*uR-*T=?dy(9qkLYQZW*E4&1CFhu1Y9%<@yvAScj&<@fBlZH?!$?2aV3{L**Lv{xKW_W z^08ZAcDSp@UrdM0E|15`6C(79ntTyN=|qVp8WTA4E|Ydj%WKYF6CI(hmvHw8idmeO zOTvE3|4*U9FtiJ#LOASu>L=!XlI2o~eaIQ&YUtLaaA&*8@~Y#!DBFmBR?)Hl9QU7~ zC~xsyCZzJg$ZDcYv_G3Wdt0R_84ZmIN$m;!{K6&&Dnxe78j%l{G}1t(cT6C9XvS~Q zy?19wzo5~OWVgI@BIoqr%#s8+AuPWV0^Zws24izBk82MC=MQI-71P;IPr{vSl*J&* z`S~|@pKAH*z7itAlHg}I8fv@3Be%jnZT+B^IIM!9Y!cRc{A9nL&tKY#@j0#=)R*0gUd$x^dax53=uZ z>^t^3rQYa5w3ZWF9R_fl7V))8`oAUP_J86~C*EB~aEz9||HMN6-=Z-{d7SXeLGZg0 zlK(oX`n~&)-w6;>?;sxYuH@%y)3F$Al<5n>j^b66%EWPGbV6vnh(Ee3R+Y)bvP_j# zJ@CfTe+o6DpdBEMB*>hx>QQ2X=bJrp>pa1R85BWOG6QWYG=V0$o)Qmbg((l7Es>tlclOA7ftm#QNvPgJBIxGis z1?N7AksHoBJC?P_*Wct3DZUgx#h(u$7koMe5McVmfe4tYcp#65Gvi55`8FwymKiv| zbNDwE|I`wH{N+y3En^js+~Sy7{74+|hZyW(6o*48IP%clt@VKBxM%#N6|lz<@c1w! zwroBRted{-RS7zEI@4=YdkIqWTEF^0RsG+aXsvG!%yQAcd(nOkc>a925~+(oi$GEI z$i!>>r3>9jQvyd+?3Ra=IK@EqA2Sujg@h3ug!^V9=NZPs{xy1|6brU&!m`Y&caI`g zh$A7p%vVgAr#(=20-^HH!wmRd#ZDqtK-!bRnCKT={*dMD|kbV?FroJh)pmFpRXCtIZj z2ttFj|0y(pf^LZX9>V5uFy=^1ey?nq7=k?Is8rK=^P8YZ%4zB=LBoB6i@$ROv{-wz z$3fK%lQ}mwpI)zDwM1C8TwUD(ulC)p`MKNs73#i(j{DwLW7QX$LrS}9o)EeviSE5R#1Y1gqr zuxSool}JY%Jv>K>OuS106wR(g?%Ux5+biX2?=c+1a1!)BN)Vuc;<`?ThNn%j&#ET+ z403M)B+s8&V4bV|^T{K3EsBt8!5)UPyUX6Dx0?`ZZ5URlWO3>SpGC(vk+?vgaoDbL z&Q3Y-xoO<0a%o#btD5AC52OSU7^8xG@~di&@`Qxgrj4E&06oBHTSW09Z>32{&`CyU z0)@9zDh0fsq}Q3LrDzvbSw{mCaI~(a!}+6Ux4l#{wE4^@H>P{Y5%5tVqkx$1n8H!^ zEczT~M4qG(NfVlyLOF6k${ow~cH*7Y`YwW+o&woap%kjbkXxJ!35egtz4l}3`5{yr z_n$&jXlM{*^x>Sy$P$av?fuBRM0TV?y$$Iewap!oMWHYVqSOO1Qp{>&s*~@h&0_5A zw*vQj7~UCQr7Tlr6zw)^axW5d>@CYV(5tNCS%tkGGIVlat2`pp`>$*`5`JkzVMl$ z6E5Dm2m(Jea(*J?sH#P@zWCng;8gwtn9*v0EKBv&$`K*U~#4${9EiMgBq55 z7Y(?9rK5@{#Z}8_h!$*9fcvfVKa{mD_fvHWsPD3Eb}EX&QMm5ja(*Flcv7#=<0$#3 z&|(QwR0X_)g$Ye32JRiubb+@RP^8PTtN}(mZ z-$2qI1cXPHYRRy_@+z0D)y2>a#XNjaSU2UBf_}L4KT%N}cz8JBk*-MF{Se;yfie9C zU-}D%5*_fh#P0exAkUsf)8#GV&nJ)db+cWTKi`_bQ-Q$X1`^m+>Y`)qc{2UKvSyX2 zqMi_ix4Z5ddrs2yM85@MR^uL>kDwfD196HyiLb7}w>Ud`}TcfrVY@F_`>CPiC68*3nZ>!nG!6k=5^3%^U26!AA_bqn^vu1k!X zH2ZZq2@i0G2nM>%2VE5l-fO2gnPZgmf>Zrc;^4 zhm3kEr%uO?~)WG0tW18uq_T{2{Si6@gSUgOr0eG$RyF-1+py5DeBqqgmn zgZ+?Hm96ncHgLvAHI2}T9myJfiy2Gp_g=v>SB?#gx4x({_a{{Ls~`;)EBiV&R2%lw zMj>XnGNL#H{?NJ)KTH-mm1m!MFrj^i5XL0%3Eb8Km(h5MJ=c$l#xbC>BXP0M%M+jd zF|+8u#T?9{+27G>UR9T_p3kg&WYlTFcjHt^w-3vlTlXEtwGF39`zUP08TwuilmCvyA1u#2^1~$c(++CsUDm47C59=0w;7sae>Hz& zFQ$?(#w%LTr>vktpiV-;N<)oLrjV?w@{=sft=X}Ym|Tt+`1aMPDl#V#6YeQKvT{Kl z>w?%hWs_E0iNTFVQ=*}IXThWl@NB(o4g2h~*+ZtkOS`55xA=n2tg5Yd-9f!kC0m6t z#Z-5`^50_v9N5pm=OwNCtG6L6t`e0k6ZvrsCs^@ed_;Uu9Mv%dvdc0O!|KY#j1A>~ zekxUNG^I9+TP@tWA4ba(5%9)n+kO9wvoQK1oIX>Jz#GeqSMP7}DaWSW9Ia7ieOr|fs?s3hU&fIk{ z$PLpHyX4mo?-4oyUg7o*59HG$Q6%Sx&V+L!I(yp*9%5|8r_q+P5Gi;oc}@09^)4$B zhkIYEoqV;v>X!rJ@fo{j?(tWQO}Fp>8GlOQWU>cR3^qNE$KsLxt+SR$?pPlmIaN$T zkl#82Fn}^oD{C2zdkw{G@`7=lcy6J*E!;M_5ar30vwBh4`}6lkaM_mNa0>d8-%o2o z_Pe4zk*)Og{sQ`+wgokQE}SYh6N!$N$}I7=<&8NXYLxBGvRHev1``Iz{aWKjj7~Mc zx)B|6d8FfcZ=scZ>B?kb>eNf_*TerAp4CRjtEX8H`iRF!8Fd+57wI$h#RhW7R&3U^ za$gI9#RG(u!gm87+9F#Y^U~Prza_d(Iaxo9^zyCN+x4D6D==1w+KT(W$Cbb0X4p(@`3F-a9fbxlYb&Qj02?fn5%N|gPT^fKW6QSE#0?8nqh^&~>Mr?~-F5~QoyU)5JEeZjWhdG3?q}sMIg8h>v530^x!JNOuU=ts1 z1U3CKuiN5#AZ3qVADpz|E1Xq#0ed5KL`aY}cwQC7{-cD)Rb%03-_s}SNk~ox1+~|~ z3{@#Xn@m-PW!nIOwk%V!{`FCa?Y59uI+l59QuW*Q#Bo-U^YXZ^A%M~ST!OeHJ}|M3 zeepvNi!Dpu7guTBnB+&e6~ZIQhwTkYG!n;r;KNbpZS9|6X-%gY)PEEYUamx}gyfoV z;hM@oP{g7yH26V(cjY54o{-p%q8+vQ8mCWP+y?U5~I+OJ?& z_K>~xfXW+A)@RYxsj7u7p)8=b*Kk7~P&k?C)Y24Q)y2bsO^%ng$v7@Q>@9_+{wcJI zg4`*rA;bEiRy9E()|~H>c5~bs1)Ekt9H$+zg>5wdIS`T)kqkn-8xm+_+YXr6gQ$?K zxZzaB5g|B!a>e|HeG2*&o#np4yievX8HXD_w*oy`W8=>V#*{tw3MLzJjY?8+=?Lo| z;vhC5i^3rzDW#-Yt~;G{PVk!-KMT6t+F#-euVBmOfuPO?^z44FDP`YJx(*Cq%0Fx- zP>s{YIZoN?`K!4;VrT4MN2iGo4D-kxJ7;BSzrTI=pRzg6ZN{XAD{TPF7@g$(+$Vq&hHS~Jn~vY=#4z%YKtM_k+L;zt}5HB zDe;{z0E4ZqLO$MR+F^$TaD+DJtPY;bd=z+tA#8R`y3!YQclK*xec7aTv&cF3P1I+v z@L{6DumeFSodR91hazA_h(o13xb#cWJ%9J{VNMpno3oTKx6*0Db!`}xY)Ne3zbMxo z0kt7-VhWN%s=tLcQpq_d-7MgB1bhkOewK+P-Q5CwjSlf5njD}|pMRMS|EEw(82Y;X zs_wZwi#YtIK9JPa}}^_1)*9)n7Ccgj0vu1W&JnP@u8~H9U|b(vfMVpXJ6{YJ^{D z-7r;S`bWN015AxDlWImH*j(R5wbi?-r;#=+%XsM7x}-!i9LbU3>qWeT8m6DmTTZ`! zPoILvZaOBT?qIZW@-w!TV%hLz{j`_4F>*&85o||D$c_ZW-jCRFH`sG=LE>-@hd< z(Zbos-T#n^+u6|{{t^OB$`#+T1;r8v<%e{C!_Bu@o)8D;iy=#UpgI31)|a86Q`@iV za}w+s#^NNuN7lCI{a+!I2P$s1TdMqWTJZV)E`SICLEN7aY7{Ath0Q3sAxl{9ety*o z7feylaY!-~@OrZ;%}yY24i92t*x?N(ln2H9E>e`p_}Ua-?9O;tS5$9(Xmzk@biQ;) zZE=lYMJzeaw}{O;kQxQVUazcF)&*HCEHYN;OL_MtQSY&^0gS#ks8p|J|CV3;bx*m) z2jV1Lf7Kfhy3^#C^R)E2fS}ERhHpyGvzGw^nGl2v!Rc-`0VbCaxS_AX?XHz zl=>{2UDNClE=R$93f&+avgH)9a=)x|M8BKgB^H#SzaYco>2GSJAhuqwQQY4@9}yTE zEU=6262x*Y4SL@RlvE0`=)uLN$Nr?F7&=aV+v34(b z$)Yy%2sX9R#_q#232g&*{(;j;6Qi&*fk2}^x^^mgHE+t=j5Nin4dG^eb|0V5DsIK? zThfKlVm2g7#{T?yBi37dQg7b+b9k>5kIQ#q8)*nvGw}<){j~G1E?1)?44v8j&+NH` z;QN0;<6Wom#XJw?-p1LyFFZcC)WT;2eYp?>jEVEKJN7N|CVx?lroOg%-*UBPvflHj zG0JzerY_-CTc%9>?=BJ%_mTyc$xc$M4u9g?pRNxFrzmuUe?rF2I4{R;z0l-Su+cJx z-3KBam5MpvkV>&+^+R#upvt`}$imILk6AMB$sohAH+@Wn;o5MT3KC zfqStt=ku-OG&1{RJnr}O>G34fE3%zWmRW$&I|z{i0y*b}ck2`G1AMR2$672CtaL@X zA0xq%eI3MVjut6#Z;FYA`1W|k=(9xZ3+;sSOwHErbi?1YU(*ZGiLcLyU{csWDw5<< zQkgD;9!spwVe|8ITCmy!!@8v^$d`=;qtRnwQSZkN9W&MO&PRi)Mh*W?E8$Q{3}Mcb zk{pQ7Hoj!Zvd70#hP`gWxHr10Tl@*n1}3fvv$cmsN=?nkJFOL4c*NgK6F)W0DLc_i z_VEexK2E~kZ@6pgDmN>AK)wQjUF8}o&k@WfWPWv^p_A$dh_-PuTvi_8&e~V;kkVu~x5-HaaMubx(&G`#krpIqNQQ zR3ykf*M^vk)@Uhu5>N?ZZ{`)^>a%~9M2C0f`5@` z-$9EWX?yQ{$Ro^3Er@p#G|A)&QZp}^4F$di?(z7p&=ge$p6jG>%IE}@OT1=n!Pc9k4RomA<>gMt~^xtK; z*kv{C*~{G(ad|KMdLqH7JyR6k+g(&=y+@g!((c zz$kF&sk+bXYH~(pMLYfM{i`SrA*Su+-{w3SHu?-)hJDH@cf>dBq5qYLY)P1DO#*Cj ziJ6bGfe6HxqjO*OxZZMrm&y%=YP!r(eSE;GX5-B)6mF`0t(;LXYZFqE8-( z+Z~ek=N*aG0s8?#9tttt^#<{2pq2zn?B!aC#VBdc|h}<12xwHEbj9hb(YJM{Ps@$Y)%Y_K9q2O?GR? zR`KoXy4FyEeh+s(k;OXa@C9&*%dy@fjc>H2a%dN8p8fl>6y*2|=+J9RU) z^}Oi(l_XS>$>_t8d^`-k9WDXP8Mk7;YVMfX%@^VMFq`&q%KwiGTW|2RO^9-IMao#( z@)))q0-|b*rA}cgY%d%1Afuf91OVJmam9@=RWAY!!#QLGOCJzH2kkI>54E^#)&4Z* zcE7aiC&hE0uhrVTpQ5$Fdq4ys0)|-$2pvcfcu^6;=^PSL4#(1YdqhIC>NKd?6Fj(@Sf zR$%pTC{+Ij*n+s3$d}h|{eFO2g+yc>VR*`37%Ikm-HaaoH$u&*Xpau&vzMH~hRQC< z*85WNzIonBT&k_iEKMB|MS=9EeSmPV1>c@AP%O5546>x+R7r`@&YXTg{8V!IThYyZ zfBGfw`B%YMwCP*cQlSzG1OZKd34H31q+VN@Ue&LluiIQ3_yA1Cii(g^Y2RJ;$jkiF z=&45GGOQ1nAU2-eoz-NWr|BLA-fW6ody(#GAAb_q3nDYWOuQotxAtID?J!8Z6mBj- zq#>FyL+J2zNbi1z(=*wF*5Th1w2qeFUtBAB*IoDAorTsUn>hph@u@!^Qwxv$ekt41 z+2$fZVGz5CsPVYoB3=>CDdp8ibG*>wods!V+EL%^S;*+Oyx;Xu=D6iehYz2 zkpttTRV1yEcLtx25%6OFV8&s;WqpTvAbT@r|7|PC$i3Icv!jx{#Rl9B zol1X9g+022PUv70&kM9nv(0gTOj-!;(GacxOIl3Rk<$76Q)mQ5?f}XEd(E+<#=>b~ z&7pzJ>boJ0BL#o* zg?%0roQ2OI2e1Xah4!s;l~We{&yP-7x5kQpU;YQBp6&6X``X zJ+Sxtb8$@Ox7>}?y*GtVWE$pwM;Z6)j3IGegmvlVe{|G%C7!Vp+qQZ88FP~_6&+nyIn`y6Pp z-E|LZMeX+%zmN&#d}h}5DSKu1L67L`^k-LTQGcw&M#y&R6{|@6jq@v@R3D1EN1C`> zOxPvj#-;@l-+>spp|)!pILt(KLl(Li%cogTgpqO4Cw*00(RNxc;+n+PDcuubAV%6X zIOOAhzORnM8M(3*sf}l@DpYw`z$Ijs@Zl z6eFWDN$yAS744h|eNQWxj=m%Gy=Q10TMPj>#UYjaal*V5 z8{yXHv}Nr^)BFK|dUUcpg*Yo5bA705*($(`Phv+lynpcvx7r9eE*<*)NS zy_@l*pYC0TZJcxsTuM9R@wH5t|A;pUrB&Q_7VaF@NuH3!F?``hEqVmybD3mqWfObK zE;o|sspA@k{c2>l$93-ostj60uL20W27txQPh>TT5Sjk9Z;a$S^1LEEl_w?>tQsWf z@tgGfymDQiKQyK94O1)Fe;Mhey#8XUy>tQI3cXhTr_d$}`b!6s*()L+{c27rTP(FC zOk_QjPLpm>nOpm9oefSC|3*8$*h0t@R_$Roc7Nb;590RL)*PZ>@eaBOn4gAo2CJZ9 z8!7XwI-roexKG5qH_6uWKXCln0w-VH@kQ|M{{0YgI0WJ0{ptorx&m%_0uuEL%3@R( zWS_Q6W95FmGHI#?SJWga=Rr1Tf40jyH<6w(=j>Ig7GH- z-iHg99=d=1nR+PY9jdF~*7f-fp>S77-XjcA11$>N@*6>6IQBB{TvkuxR8l5vYpco* z?QB6DL4^Ub>x)0<3aH_U`h-b%v15^Ck8il7Ih~ehnW7i2etO04;NDQ-m2BI&i}HD_ zUO89i#jo??fKFG$L#^!t0X`mxK#DFF#ELVJCP*;Bc~oyePJZ<`PzMok5>>r zmA0PposGqM@taVj(JEFPMv;X!y`5ODZ_3}c(}hoq6BpfaYaasrEocvq@5}NY`QdV( zihBglAx9q5@Z#!vSkNS507f_2x!d{t6+=w&<$V(42!X1!Ei}||HTd07EO@8>{m0>U zPp&Y7w*s=gueCr8pC)MUGbMJhTPIVN2W2CJjcbhECSfmOK&$0jc%ZB3$8<2z531zi6WS_nfgv|mAHBn{rHNNC!!nk13r zIBG~9rn}d1v)vWhuEz@1i)s;kw3p170-f{ZQQ(*H`G|r8>NOu%_gjpCxaut#h<$xS<|N01UIU=PtU3o$w?u^K$fiAPaWL7vHGk9l^Wu}y*Z54Ha(UhJna zwGMHPXh2=-WP=tT+@lqcP2CfBrgz^E$3n3EUbKB1<)b97&yT(F|3tG+{+Kb6g zU?n$4Xlogu)3#u>2}YZ`MtX*3ZLT`>r4akfr0HC0+86RCq#iqUgy!X)$*HXZ!YNtb zY|vStkLE*VU7_rG6GUkSL1aLwn3{^qIy7Qw8!KwNtEN>b_^@6V#tOF$>~ePVh#%Jr z!xTmm>^n25DtttFa@xL(2b~_y-K>Y;FJpjnn%b3Z9STyqxq-w(o^DqK*EnEV#AMJO zF-1VBI6YQNF0saj92Y^CSRYns74|CT^z{KQOc`DdERmLs4+6+Up*j)obpG+{qk0#< zWqRR6a`70 zsjeS&lTbCg7eNzDj`Trf*&B}RHS_!hA5^M@)OPJE6t^9fNK8?_keaw=tPVu3QbeGL z<(rT`bBNWhMI73^ntD^Su5|l}I$5K2id^W6m1~gz_;fWihB=ljB#!T~)6K=AvY?iwD zRRx7`Ty@la;)15p-!99tW_~7D+|r_{`tpI0Bk&!gvY`^IR&zge(RX6O_{Ft{J zcSnu^I~vAQf;WeI%2~@<+!QDn=BnfF>o;uQeu$>xwwCk5L#)QSbOZ#thZP3V8UAvp z@Z|d>V%E$MrIyM&=QANFIFDq+FVzCEhM!-M012g^t*(N9GCr%w7MOtzwGjx|;&#%Z zxP^jZWWtGOM2QnE+l)3XIjUTxmxbL6EL?0;M@nMa>4NH(+tcoN{kQyNC~{<2uK&pf z`xSd(P(GX!VSr06cik(ac)Ndw<^EaF;CTuM7n|=+Z1~HK`P%=NoFd%t#nfcmcX;)R z#^9G$kAbB(O?BR`vQ9U;?XW6i{`I8v`->HCtt>L{A~O^ah{Mz!_QKFq9#go1&+8+!HX^F^dfF&n)*Fw>S0HLsuB?z&4uvuySGlI5B8?TL4kK^q{;l*1#%BS^o+HG?^X>yEjdUx(w&k5 z@{l7SjM9y?w9?(p%>3@~-oIge&N=(+z4muC%wuNlBBC)=19K?Vr14-Xu+sv9t}n{B z0^Q@lKGa;gYYq7UnQe<@j!aWF_nIsB85w`6?T~(Ie;>@c3hdKW>>7N^)imJk8X(&Y zZ?k+p#Yzm`(}}n{JN+Xgv|9^|Gf2J6ZffuOEIZLb3tL}4fHwTu1>AL-ACR_qxTflx zBf=U~^;Ge?PQ)guxoCrO9D6vakLAH?kiU%n0#;ACfe={vy+4k!R=!3K|B|NFpY&W#-)3Wxs3w zWF$fE>Zb-Xp7IM$IaLuFh#P+LKqmUg@A3R5*M<{tzi((lDiMuc#k8;l zu>kAr2d9@CK2AH7W z5ab@RC;*ttGBSV8cQf`|@5d)7D2;UJ-gUhh1fUnIluR6v9G1cBy1aWd}aeb-W)01|Pe*9)F%1W(l{6f}3Y zebLkJ2(=&&ZDQVngs8D&;k~3KyK_|NRkA*zg#=EjnAm5ZO8>QG0Dr$j!Ar^yNAqAG z2r9ZA2TfP`dSp^2dq)ks^=dx^LKbo#K$n1KoA%68^Kl%Qy6cO@VG(CuP$4XJc!k^i zsWrmlKAv8x)N|v4I^yr~lKK9?mpt1f1uuq$6Ju%oSC;sI|ddT7KX|zTn=&W3C~zG@A=gmr?MpVKZPQZJp~ga)yM9=vx}Scu0{N(|8JZ! z({t}#)_8S6GvMC<$sbOgU@oCpb?JH{a% zUt9js|M$#c*L`SAjraPOkc*{8A3Oj6ED=y71dKTiTepgL+1Z1%7pMDQ6rBFjTYjP6u4yph z6B<+>38;bti`XdWd2z3K7Y($Raxa2NxW}n}pAn1f{P^7xLiB*65l+RD9T81?J;f9) zTZnq#lR(o*paLYpk{&~g{H`(WPg*xMPk6qh37YQ~e-%3)g*%H@mM&9F}U?2+Hna2gZ7rQ5aB_xf&^hbbAzL5dmO)%U(h>9 z==;d97b+Pm*{;1>FDW)nneezYTCrW96dFcBg*zA@iW4gsDB+k}*GeJda_#GeYI8%F zcv>?HE^eI-;)M=1QhhcC3da(MOHMiXGBK{d_Q$mYH2C);Zs)V-vt}NyeBg%Ukh--! zFd$tM2mjSwa}HX#GCA7~dSNe5k}{boqPDxVQ$+hbq3whdJ#h78$ts<#5x& zStNW2o4g+#`iRw`1K~G29C#`9FSnk7 zw5CKTp55iR?y5h}4d4HU_yQQ0UjE(Rti@PT`4XRo@a8*wJoqOs5jK`)&~`MhwsgSm zyc$5v^tolAOFM-O-AT&nvi?8Ni+jN7SFrY$b+GC|G35A=SHE8$W}!1}IEtH)LQVh7 z)1KQ;t6NU?QWGo(UOs?7HPwB%^t%JTX#?GQ10*!_>`^BPJo&X3~8XlI#PNz3ah(U)DN3ZzHoqM$* z-UZiyZSH4rF#sGop_r-k6+ql{o)j8DK~q7Fhwdar?Hx@eta;25-y*v{(#p9i6m|R2 zt%9n_ffY8NGmf&}J_OJ7;M%-f?TKrB4#=nH5`T~SI%9i&uf!ESELBK4JVd{l zAHDUOPUnm>1x}TU$YuC%9|1a_1{>YddSsD5G}Mt}N^l6$y`Qxlvz~^BCclpdzFaiG z5goJ$i@s-GqAO|Q-WmSy%4RCYmhA?BrTu?7KJ9T4Nvu@!&I}Cmj~rJ21vc_wHQkl` zOuZPi1R8a!wtkfMf=k~tBc>*6pkD&<4|hDq9y)@f#z#W8+b@$U@;vOdPn|Z(2Kqj6 zw&l4E^1Krn`kwW<_hPDIr`GeYUTj2}*ioO8?yk7yn&0S0x?mcowHFU(YYHk9&wLjN4T)oqF6XH{1)kA+9tIPox?FjU`5 zsdYF0yHdmJ7*ns;bm2`V@TV~HtyjB@-h0N*;Z)yu7CDkJT1l@P0l=af#3sIdcnp-z zNKK`k(dv+ZD7`m$7m6K<95*OJsN7en6wl^crPD%{zxn)cTf&{8gDM&(~j`o}tc@ zCQ3(H3IPiS)TBh-KTZ^zN~UC=6q-UoqkdvJbMClunz~unTO>*&Yq`GK)bB`zVhV1o z$f>gy&ZxY?nDsAv8c>&|#MRw)1(?L%xqlhdQ>D1lIVUZyUbQI2$}V#jOy;4?Wp=)r z&7A>?Zy%^nfT=+2b$R6V^fD5-AP2-=Apl0WLCUo@WZ_J!&66oiCA>WCFmG|^!lLBj zouYn6v(~_EdoiyNp0COnbV%LEI?U6T2IJZGp~`2_p|N9G*}7bc=ChpBO7CkrS=N#d z01$AwOe@iPg-=~mQ&0Q{dgy=1h!{6(GC<$Tb`#BY!_COtj#B2^##z|0DkZWTj(tE8 zbKF{53j0@F)xvf2NEu>&KM}bX{n!*R0)1T=LJ2SQm?*BA0|8f-$onkHGSeiyFzfjA zxo;{VrjSFP(0c1)T|Ik%uG=9A;1OvLA51N-q)P~lD^EQY5|uu9B#=Em^657paj3tC z?XbH#d5hsh|L1w-W$H_Y7G_q4-HndlZMIj|$h_6L`?up+BR|V52FW04(`u1q{jGrn z{;%giCN)A>3OWk~V0}*t{X{`MwEr{1L+odQwXA8cX%_cH^`WWFHK3}miD>l#zutyG zex2Hbt8O0R?*V}KJ6mQg)a%$5*jfh=*!oi?Q<`M?ZNLWlCaqdprk;D@c9Zkew+ae6 zvZGQo4=glHHY4Kx_lsudR}vur~Y{9 zJg2b~y2^|dq6+LA`4<>zJqn(RdMuBKyeV#oEdH*;sivh`|BH;xN_j))FCmC;P>J=F z<6}bSV`yX?81}bt9c&#o0n<@g-Pk~U1aC~4ioU=NX0oN7%r@mwsC^WN)9>AXslqW; z!ZO`SnOVLYK79oU%UL*mS_mgd5?b}Xer~5!4_9-++zbE5 z;VG#YZK!a7G-w&1>XmwnK=;r$oHLAzjgR|;QF2gvag*Dk8)oRXQ4GfgXB~>Xxw)RM zlV4`{oburjVtfC;cW5RIRUK)@+9TRh-9cJ?w$)!#J@Q`VWsG2AG|Qj;+ALSN!8PET$}weH9(UXv|ExFn zdb6|fTi!Oi_oM|gWkFC*9-4p@b8#YbvvbHMl$;#OCC#D|nNDCYjeWiDr1D#%l}O7C zdR!x+z|6uqA2UBr$3?5%3iu!0%@j%AIc0o${dRL(p$E)gP&|T2*}qHcLz~eS;}^`3 zq8@v7pxUXHN@-@}bh`++v7n1DaX}E?nb4x+gTrZX4Lq68M~I@+2jsddBH-!0peH1O zOh1Ok5bCua%b$|qkscQ}m~P`Mn_n|Z_LWrK)v0)-_>ROjp4*<;88Db?>>SmpYA^g} zCCba%Vpcy!YD@UvHmPvQp>#T6aah;;MFM_XV|jy|{2{7@Sa5a}FU8~atn+$_6%{w0 zTjc6lWwLa-Xsq~b@5}W6fRd8$g)rw*ndOD>w9TY3Vx3+qk)J1fyo5Hw(X>|Fn15QS zfA}>*d3XHI@P9Mba}+dwWG%EMu%z-e{ho|K6kf=er>HuLg0MTvCC#9p{iXg4sT z_ZA#jKkfydq}XVQ0WV&CyalzzUs?Qhr~%@#NzjuGj0sy z(mi;6Bhw}(#5(l#72i3Jig?NuPPwG@$Coby^w2h)8mIif-xHp)7hmcGQ`ki`mak8A zJL73iy@-qx9O11k%fDZToWiMi=&9ITY6DnbStCk=2n|i4F*yg@vJxttJq1S8H#KZE zdU=M$(n3Ru&?$=MJ$5i;^Z9h?F0vb7nS;-^$E&!ZaM98*QXKMevk=&kM96*ak-x9v zSnPxhFd03T;sffmrD&nD()Ns0YSEjh;+p5?%8A;vumGr<2&+J@kt+}b?st^g(yc(*%6Im3 ziSSELG(2Y~WEAhoJ-^PbCsOsx#{X0;My2?U^GeJcSO8X+_qPP1Bxei1SZY9lxPw?` z29B}%5J$nfr&|s=!4p8n6yk6?*t$@2S}VIJzzdN$g_>NhlKTDdLNEJ#>qK6p`Glbm z*BlD`_j6&hgR)Ce-C^mhWd7NRcOKgOVmX4HhGBQFzdvHZO!Jx~8m_PnSI`5v&Z}o3 zX(Z%k14zT#Z>DGVk0pgNdDl3$u}Onu5$9MQOk z@OGbyqvj~f2gqaLqMl=Hj}&o|IYOt6ludjO2l+Vsr|(pykPTt$Q$HsHKg5gLGStG? zT|J@ux|6^Z;I|fTSq9W&tV5X6F-Tux5Bd&M7O;QK=bciBxe|{g#O@gNF*f4+E!J~| z(ZZox@#`-ZXq+l^-S8H=KUKR+kcbYXKR^K>_u=)#1LU`%cJKy8+@e|}J@Eb0GXqj; zzlAU&uCchqowuK9C#Wln?Bd?m8>$4kW@!DaJDl(RMfc%1nNp!5`rbsDJ#A-(40uek z4YUow)VHaDbH?!@nf1ZPmmvWJw`>c*fyWd8ejv~r`YedD>9uT?Rznw~>#Y^N_nHT! z%ELm){G`yoPpBR5m-O*Cw$xdv1Fd#7655ed@U41Exhgl2IGT$vAxSocR=6IxK540y z5bu{1uj+7aO5BS*17QVT?h2ZqPScEm& z^6Ay`Q6nUWW~svrg^Lx4GyYtWgoUqhK9_`*YnX~Q?YCdodZ|ky9uOY>`y-V$hHHcT zo)+DgYd|O9NdGtmSKrF^SHM~GEeB%AV{Q^v`7C2LuLShiE)UnwUGb`E7hl$Z7{ z>3O8kfz|u?AsgUYX&uI(>lPrNd&e_f`OG0WK_Ym+AO2$0CoSfET$`1s2}QpI2+Q68 z+4ly{4;Z_Ut@P!gg8lDxN(1|5>H-@C`H56viT@2p;lYn6E$>K(!Erh=^*Uw@+AICV zmtiEyf2~5DUw5+C8}=k1!tSt;=>ZR%9;g60)=-Pa@|Ei zIl{qn{JY+E$`kVbMR|6bYdqE?1yQ5)-pWJB`FX6C)YqK7p=Ndf(YaezBzP!{^bPCz z9sh5^3kX9?b}-g|F6n2!BdO_BZn&htcJ2&-CIHWgKf7s{Xdq1;kXQaOIh#l+}?VgIa5wcAl8ZpUd7N_{<4}9&hY}Z zOi_H?80WM4PnzkG#P^(bOl?eC_NFw>kzwNFK8C%$RNVuO%8Z87*1E4#4S)bR1%rP| z_f_#g)IRBhO(ov(7(FZHLIzVx`kbBFuUn0A7&Cm6t>Z9Rmiz3V80Un|-@uj^eNgtkdhP89{{TE1E<4F8NwS%+_f+n6CK#JDHHpSnJ~xxv(RH8B|%l@TB@Sg#gMh$G*w$xP73)mRZ?)M(@)wT@^Q)N-Iqu^E=bscK9m8f(VG6IxKlm{#qHRO3 zHP(@N5hgUfj{!as@ZDV4ck=JEp?++;<)JjZESaU0F(RxqNm3bAPT}AhdDsSPQQlit zj&IQ#*@lm6LDwSVY%^enbW1R_U_tYb1qZ}hJv_hdxSq;ngwlkX=jLd9bKUW1t-$>_ zyi9uagB|2d!J_i?<)>dli&3tXIjMwiEVmWWNsjRF=M&A9yKcUJ9|SdPZ;1r&8#oHs zT%T!kpEOm_D+@fLR5M*waW6Yp-{I~Ta1@vemRSBs^%8M|7d5fQvJ5fMH!+~@XXm_j zdAj7*QP5N!jGi2)<~Uqb(k!mYbI41sUUSNZx}GDd(CdtVx}`}aldnL+ct}KL3?xNH z$ly%d zdPIeYI2H*d53FXOCD!wO>kBa}J^IBvS}VR3cc!aj*xoGb#zuF7X_iSi zO+V{+yEu5}MN&;HmF|yof9u@gqUm+0&8$cezRp|`4n4PM=wI%Bwjo{uX@Lm+hfSaX zptL-#g8dXWyd|ZboRUkR&SNEy?uyt19c_T_XkoQM9<5+sRi87}Y;S>Qe=do01t_ms zjv_kUS8?tRAO3)qSh?9kUf|&?6i4{EywPh)n&7VU zeNt!!1uX<=m%|m`vK>ISwqvAHD!$liSU*n<$aCG#F1U#FuByVOy`P*fC-g}}_Qn&e z#4fvxT#okG$PN_kQY<=K-jN+=#+F<0T}1O=<~@EgY)v|Zm06t1Hy3sNegMbu8O4iM z65(S8B?lI9qtLSuTq|8OVs{?f6YkewQ2E*=sMned+a%kxI|+L}039aX!=7Iz=?-Mb zR5^zII$Q*-)pLd3qK0-+oSwhRD)QRD9%eI6<<`*AjKW(}@L7&w_5e#kB>Yzf?zJ6@ zcM?zn9tNLJcGA4U8?(3p4!nY1BcS=J$+uUvjGNb@I}Wo*Hjb&v!E{sUk=N%ErYQ~x zZwJm9qB~qE7*{Cj9=ya}YOX!F0vio=E__#DL?k~p0Rl>3YXE~Ibhzv?i54avQ zJk^iX?kLvYt)mx{@NLuYz5a!lH$|d7{?UJyX3OKn5=Ho=>Pv=ttBG|)F^t1#mmPJA zW7Ka!o(ruCRfnlpI`s9$d> zsIuhucN{$T*%Zi5V1Boy#|H9aLVkj3u_IeqeR~ubf;o|hz`ls8UxP(=&&q3jst8Eoz z^iY>Mcc%=ROUgJ%|ejvn?k}wz;j*(wY1((J(p1k72iLZ>yGCY3yoZNfCQ9HI8_Y#Y}hYJ zaXC)cAKq`tColMar8f79Vz1QlmFknOAIfv#!7CUL+qafT zzp3xz$Gr{w0whkq+0Qo=7xXXfCrwb4(ZzeCl3B~NHR35{d*I;d^|J(jilSt5<&nUt zz$j#!`_5w{xmr_ib|`3mh-^_Hd;JZr@@ftFv7f2N|86RqT%DyLy7FjIQ( z;*uX|7UFGXi;OduT=vl(jX)o{)S5hCwSqT=|1IT&#yLVy4LodBU)vs)~8b-&FoEApIAKR zY@Uueq9yIRN_axF?Oy=u+-gI&M7v=i%=;xwgK@X|XTy|2!{BJZIIz`&`r6LavB)Zs zx$e5`Ycu1vmLuQuR$ma?ouuQArcb>OOl1iMMy>lg`~^ZolNl_L|ASmNXLu#)H_ zdDOq!nU%&+8#I@V`+@qxe-?fK2oY{NIYn?6$EB`O=Ly2z`!%-A)oQO35$CJ-Nrcez zNuf9tv`l1M4u^9~pH*GL+L05vfoHE_rD>ec$>W<{=*7Z^O+r!8-pOwx$7oNhkpGrq zhNrnnZRLz zD|$TF@}bWs;D&c+9;&BVUIq(JzoDV>9m(GaQ&<;B7W9grJ*5|c(q4iDG{-v}b%~3q z2q-w-bQG6PUi|d{xK;_ns!`q}XOPZcM#3XU@LpW_OcCzheG}avgRBT{1wse+t+=06 znYVqf`>^7_aW)~>8|$p9K50@jzAbli>yZm3Zt^PI)qcH0`ucQDX0hPc&9&sWO0kPE zdM{;;0U>WE$rn{~K%G>inMH>9OA8 z{7c`DAv;Sf_pIhs@~Sga7=oV_XX{gdiwUn+8cjM}Ncn2&o>k`I?LpBA04DLAsR)9D zmkWp{pCOtroT_EFGPXPS%Np^M#78gxKg824w z_MFCt_>tP34eMhkR`1^ImMPme5-mSs7L7BKTjRgR3)7Pb+$a#)5>M?fFEl05l9fEq z(9b&k_8Ggfgy(JVzTjbxq$LS!sTO`(Z187QpRk{k+dE<5fuPiw-Toh+`>tRAAxUA* z^AsRdHdoXY3x3-LnEyDX5%=y+SSQN<{<%*#*`I=kKSv6Xiu* z`Bpx-(e^V52GJQ~t$>SXLUt%^%G!u~xuf=_9$eRvn=}IHS1#36O|j;Ow!Wa|pO;!% z)!cUGmVRhk!sP=rpI3?3d_{i+ySwQif3$1@dsEvcb|rUAR{y?y|6}GN(sD=hwZ_sz z{HT*K3TI_L!~>B%tP{(o-ork^_!eBWe|%_R*9B4qbw4P)Tc`l|%kS3@!&K3hCKyJF*JFZxh9E>Z#GQ z8HRzo6`|twtdm2jfd8767o_^H>v>CxQG0ZYh^1Qu9-WTw{xr@_-jyhS=BsDb+)AK) z6MXquN0pU1cre!%^m<{rAp7fK8IzH8vddDXY8oDW2UFgO=h0D-J^CxW>ns`7??_AT z4Wq7Fi@P5E*YHMdMCdm?$x4_-opqyqadY(9(pg8I!bRb;>*H zIy{))!TtNQ>{^Pns7Gc6i4lFt9ejUfDPSX1j&TBNMMU=6Y!e9KbH={vQucZA?ah^j zq$h=po?;43o~mubn*2a(d$XtUkcL!MYHAIyFLFGz4{+QruK_Cv&%3a|Ikei#qP0)% zXEA z6mmiJR$=HAG!1F9cFTWDFSN@rsL0+sI&jLHps{?~UYo4Ax7^XWzQK_CQdP4l-AmnR zg2^kl4-;D1h#<|s+y`5V)EZ@)ho>@r+e30*WmG~ds3n{{auzncGw(BY{_A#r>-PJi z*ITo1VmGG_*EHArL3zM(jCXau3*&u7T13SNg*(BptJuqEp<0B@dlWU@zH$iIr@Q{Q zHPMgMK(DHST5GO?5lh2`VUb(<*xn5cq1L3ycK(s>6a%zOI3RCCPtNwa5M42n zdV)Tbj)e09;c+kGawPzA{v$PVa%;(`Q|0RQyCHRU!Z|mudBU!PMKlR_vPFjZ`-Yb} z^gkXWjBib%?OqtocQ8PrrQ&X$ZHgh%?4Ky^fPI#oW!zRFYhdj4v9S-_$k;IZe~|)u zVQ5ZBb{Peyoi*oSk`1bRQazHkEw!JkReItZO)6*{11R5-=4TW$7iy^+ns;gcncwp` z-Tn}lCk`7ssPPU#|6>x1`nqq~Nw(Wwl^00hP|B7p)>7+xS9lMJ%&%*di{t<8J&XP( zgSOw}oKZ?KJup~j9R$p;)G4^vfyZcJJ>ciPATN4EUr-DE(M-x~XS(3ta^+a#0~7Np z8fObIr}TbImcR{sq55e0hO2l)!z@8q4X zRE>*QyScpKUp-nxN!vi?zb@I){#uPHt9)U~+?c)K_TgOR5y~4cU8ed-BCe+SbcR&J z&^(^bki?E|6w-`^e1}rMJSmh~%6?oEQ|P^M?;#i`<;z>P_fmiVJ|9jB%i8zE1q-$Sqzj2wMxZY&;tGw#Z4UnO<<0 zrz|dusdom}3~A=s`hGS&UeYgifrRfmee^0i2A^<_t$;`Bb0tPa?r@_%BhJ9=9GfWwDZqbPfZ_iQZdFx6(k+GWSaBw=yB7xXQNtbB31A1C}5 zmN=Tesq*7{fqOFAs$DhL1PG>;*4N)H^SJIbjJ6IFS?cL9CgbdCQx7M^3teMR7I6$0 zk3k;#VC_dm;)S#NOLx<5gs}qDa6zWz(xVs-{;<&3QZ=U5I*`qrl<=g`8x$m6&P<NU93%m6&HMxGp+N@cAx_{ z>}u?Jh>dvkdAgX`(wyW!P^$YP+n1gAbi;OT_XB|_XNOsAm2>zQ8Q=>O81_8c0ptD_tqd0FwhmA&X-ee1PCV0Q2ai=v>#fF-T&Nx0P-B8Na zxQ$c7?=6Och(r~jYMW$EQuDyUc@RarEWOxbaJeJ3zWb*%_H74Q@I`Km;Jk7UtBUoH zFp00nS;sQgdGKf0pB$_(3cp*xz6Mcg)ZECFFR^UdcZB)O7;mCU$b;R zmTbt{r>hOwbHpW0#+(9t)#F1Mj&UwuEm1$Wy)_wm&j+IDQT^?h!sQ`)TvYWK8}mT+ z$jI09Z6IOS*Y6<&&tb>$5)(=TR!u%})l%e%OBBcVv56KQE!w4UdQwOr46X3}vi?g+ z10QZl6B|e8q@<@6y!zCFniG+)99}!gTA94;2KK(vsoq!_xOcZYi6fG3%Tg?6tZB2D zNtrJwT;~C>SMlx?&$Mv4E$?%m%2|$-W=vaoFLo>`YU?+jl7FFP)%-`LvF-5TIi<9Q zRCV%e(I6Tz#WtPi+?F*r+n9LYD%QXM9o$Y*J?!EmgIzqhh-jZ41R%!?`B&UvRsG}+ zrcW=J3({6wBA4bz8cECky+YLl2Y^{e@2t zXL=d@4dWR5=Gx4=T`>c3U+7R~f5l9~X}tE?dM?7nVJ}SC^=rJXB#jy4(t$!A1)hEg(Ng1 zIwDPFV#Cp#IG8)ZpGwJS#3VHdABrDA;_-7#%T&d!LMTr8P+R|ku_uLy!qB*orr?*H zJ5FxYNjCQGiBIp4Ro!A3^$ACGjn`lr?=ByKWNIbbR4D7SP=JUjP`__XX;W)%YT7{N z?%0*>F6B#oaA^5QaS8TT=8m`RK}B{h0&caHi*M1NJ5i=GsA#g-Bg?^wCR>fPR5BM` zbx_A?h{Mp94(ykK{9oFmY<9}V8K<0Qzvb*H{_KlsN{|qdk)*k(P^F#io}O2Ol^^Jh z;>Hej?i@=@!S`?0Cm&z;1MnR=$=nuuJu=~;bgi$uE?gOgpOrUO(#)IGzO&1zj=pa< z?SLQN!?#6=Ggk7T@`5PB11FyH>YjuQ&&)?;*W--}M1q+pEUBa)A}NZJSCxvlfX7hn z_U?x1ia8tG6MHIFPFV5?BwzfSC%WyiM5*4^(MSZO)`u&&plP-Br@wx3@$$Eb%rG}pY^@6BtfP4p_5z%Kq(U0ck(5&#Gp8$J zKbyMRF6#rSg#9>Q*x z0*7iqRi0NW67xPoId&r4Iba$0&T6KR&}f+76=)S~miL0-rsLqZkUYn!^qPhTc%pJ+mC(UZbw?xR z(M+stLV-+1dVRa!x&aaAO=;}+1&UKdH$vEZ$Uc0|AX?`caa0alyl4iY2ZNmbIpaDO z{+<3~98UJY>lA{jL@fGtxu1y^!a?A(3;+(M^2qS-!#I_Xs+wL0m%$Yg{14p?VIH|& z>X41zS}S4AE8QgVs``}sPsc2a6U^_?cWSXzVLp(N;&aPQXa?K0NBnRI{T}TVtm=Rc z;JIc1JTg2=L7Bi#Y2RYK9Gsg!BgeqoNa~|0{s2lUih7z3ax)lthS0*$j7-;DDD)Ma zHAatZFwBQr<$bHh)d}UA`F!rNJAj^h$!#o%DxDeqb>}$1xfx@HCCT;B-dd)YzZhas zxfM7Fh~eKNe_GpOb@nd@S)goV{dsE`^7y9-M%Yd zk=Nd9bA7HGi6kdeG~|9a>1d_dBE!f=O=Q|O%u_4f^n+}@=ju=tR6eTdh&A<*v{r~C z5+n02Srgcyz5>hsTi4FRh5pG6jw?n^#Jenww3W1_JIZJ;X<<^n(_*eGbrRB!P$<2dJ_n zfPp{j&+-*ngS7hrD|DO&+3<#*YAVR-x4Tjj&95w$cS?`L%qWr>&>vecX8K3sZJ6@z zv%z4mz=-UQ_D}(yMY!n}jpT7`Ju7I(^)|2b}Wl%ljl?CKd1Z|oEZ zJH8CXreB{!$Ge29Yh_<+kLZn+tPD4@jBPeUNbkW@_fHD3qo7u)n(bc_Z5c+X*W2o= z#aCpzX$Y(4nsA@A+{bk=2D&ctP@`1uWG=g}<>;QZMmWE3h4lh^yPc*-;AQCDa=E4u z<==U%E*U>l~mF2YNe%Aq)r|56lICqs2i|L0)oRZVd=( zDS&EOUeI<-_?$2}suxEgYiGvy)?VLRQ)|`g4fgQ$?{@=61+O4kaP9jL#aP0>F?TYe zdm_}b(Oz4CwhbJb4~(pfe2?_L2%J(Dz%|-Moz&^>TE1*TKf6?Ol;~v{p78O_5~Msj}d1BOuYrmhIdIrtF~Sb z6)Sr9@-1&%lLg|vVSiyW5gVrF+JZDvzeFvx<9Bq9N*p~3Vci1WXRjF>Y@*{ttAZ}f zP%@j%~M#x0#KLmB?BObv!8~8HSpTB-UdS?dWOXxY>uB#V=-i z)-kK*QWMtiM-*HbVO9e>DjvUtswPmif$W=G;NESj8vxjg*2j;0ZoAu7|KtlT9GHvy zkM~@*DWzhFQtFvQD_=gVA;)}I@2Zn)(9SlS0->*_knY-j}yf0tr1pnu$`%jpKPxw;L(o(a#iwgg9sRmOoc7Lkwr30^C!x|tNd}7(^ zCVApIR{s0va=?jP2MevubGNRC<#n_9inS!pdiK-9IsE%Ydk!u!)$h4?jBC{qOdQL| zq)i?kdQuc&^w7VEhMq3?!!R(ShbbW6c%8~ZiR6igEneJYE(O~( zaUlJGDuMHKy2y~umISu2d|B&e+4&i_S?r5M?k5b&TTsP$c z><2iGT@8J%;bVad%WKRIts9{~Vv=+8_4G0CjJmq%@$7r#sS~Zv^OC5ey4f#3 z0=1#Q{T_(l`jr28$xU}*2mA_7zkGB0bcVc9P)(nD3WQtA&lA+Ft27csa-EdRYjl|@ zj-8^bFYdvi#jynNsCSvn5SJK|YO#kHixONOaE#dM){OE>(THoXZgp`#UhkE2kXKs3%D~&rcP9Bz zwR4Ebs~SBZ-xC@W+SmF5+?!RJ9yl$x*`Nww<|1VDjP*?0%83M}RC8W{*dJE2Ln&Hm z*k1ROR|TPO&V+DFbY~K0oi9AXq(DX33oapH%|7&jIv(d6DYo{H>L!JOUQ30yh*$kT6t16zWV0;8-W_~%KcW6y zVQ=HRlSZGvISyOHPM{5A#Qsryw2O}|Un~xrMr=;*qy(rO?u4kGjF{HgtTOA1Y6ZF$ zs)?TtiOk`^fxBD%>ShnM%aWD9jXLMJIfryVrkBZ#krODbu`dw1cbS$x$&Opq(ePlRM^k`$8UOaNn?- z-D!8Px)t28aCEtH?%=~^fLzGGQELA?AB~C*Fov7x4JH&l3V@({WY*RO?YalNNj1GV zC-uLJ!(rBDX00Q1gd@G-p zbP$TYC_y(VxLMF2`b@966y_b#R}p>fsGWTG{K6D*437kUU^igV9?#SfGC$BPv zvw5vjB%BUE<(%n(#@iNb80!HHq}(k41CQ*l{ArZtx*Kk&f*M*j17lqJ7U{SNht+d97wc&Hd z8?goYZ8<7Y;-D7e?8JLZk+X0#XSd+AtW z)xHT2md4(FAc#xPA>0m+tgqI26Fl>t2>>HO%W;Tx7^LM2(ov^V z-f*IlhMHKm)#)~&o7G8|`9XA~Upr|xW?zhgnOjlL&p}51q%@y%lx2KvE&l;vEQgkx zco3x=Aj0x%vNyYhoMXGdLzY&>? z$xL8j35O~Ez3pbXq<%T&DzCg@68$VRlkP74QWg4Oj2{fvNRDH-J@~*HpW-qZ*IL91 z?-YU+I~gGz##xQc!$r$DaH9tH z5u4P^n+csr*wM}>X7&*;b-%Vxwm5MIqv(D?P5>~$iq@ibq$!ypL~Soioy z9F;;yZmuNy4N8Gv<&HDZj-hgl4F+BcELyCCI>h#R6XjK3dZ^sYN@BZZKlY;df_{Q~ zjq!rau%MEIq+f9-L?&Row|;`_;0%gpp5HIt=n{wLi~-`h&b zNdSbW5ZK6Hb6#wmv`qpqesQxYEmBcQ}XY=V)&n22md_#QDPNfcR8_onw| zXuxb!SbD(RC_cW?Gd@xlY@86Ed2Dp}I%ql6%P#Vi4**jFupqmR9!^PZmv*^#p=-`v!ufQi-T~uPBa9TyVPHq8N_5W5D#dk2{yQ7?q1k!01V(`Vr$FG4 z5U8i6IXk-jebc)hm9*8WsTs84V-=kx*ie=lQ~DjX)ICOg03TOs+Zgvty-N7J22_7X z{(1|7H)VMcmpfzxd~IO{fsF&CB;xt{zB_f2SAFCF>Y$+=g9mDGejipC0!nBIXj@ep z8Bnv@POn76bFFR)Y?mL<9@IZbA<3{bsj_iz#qmxW0Yhp|(0qu$T%jqu^UsV#iGrk^FsT zetw$F1BZumf7b8Muu1x-&`8<$NNoqPz+o zvaa)kg9bngBR23R4#{X|!d|-_w}5T7BN0`Jmm}4F%`ITZ{SZy%jibDUsJiM~Wyf0r zS@~Os5W;wu^g4YW?%PMBsd&NaDB$upaIXhM@I)X(dPe_C6-h8?Br+OAeKyRvP-S~5 z;P1A1If9@XzKmTLJ0G?*K8=4pf1@PNS}}H%Pdg0-tN0qJjC#HeyHM&ac1BobrW=SM zbZ!X`_ad+O4SeIE$qczttJ~v1ATe>_h>tbQas;1TF^V| z$LrVI;5-mura-EjM}ZS5_htLw<$Zr8EV}Gx zNwWW99@%b*8iJOE09XCvdAOn*cQ?Jg7N2$EY$SD~e)N*u9`&08d&a9ZfEJUpGfNx zfa_r82-FGwZiTL9Aa+tSteseUL{IODT{d*Xt zy^#j#-4Ik3H)~H~{-6$T|{pWVsN zH&1xuQuHlpwF!roC=W9+P6*4$Oj~USSTktwp6g783sH~Uy$$SO|A}QtLq0)@BMjiK z6;2(XN|U*`T!+~PnjXn~{Zhih9v?a2p)2mxk@WC6Z>~E|=&0^i`A#`jzoL1`{Ip|1 z27~U38mbvCDTmay%05Eb!Mrr%;K&(4Zu~uf} zugWnyLFZHWptZhWKM?tg;)ip)Xaqf5lp+Ewt}lPguTiJst>JY(UUDYM@Rta#_nh}k zoGdL-^1$&H%#-n9D`zD%z=jImgXdGLgUgF5A71YtJUVr{rE`Ni!}k?wx|Ns&)1P@H z5VPZ~+hYQp6T!>>i$nh#0N-Sw3+r++24OF(CT9j1d+Ao?e@<6^Ro8xx%755?3xNCCpLvusgm7^Tm z{D*yjulBNlxfRRYADq9i1)ad55mjp1nBB-$-2KcH_p^eW+vVj*&QElnpD6{Ih&YU* z*i8*H204=T*&Met6VJ@y`7Jp?vbU}22y}qK3UTBl&2vK^BawWp%r26FD|M7_Uj5^dwpOJH+qME< z*UBrP8lTHFsgsM^1lx?1_Ag^r9kT?E(9-ydy+LK5aLi1|OYz`d2q!QYE53k-6*8KEsf%9RMzBlyjN(ic-MRY{m#q|1d?@nL z>jU7VI=J>ax2S)8FzF9@0-D^uP$KD=Pd@l9Pt9ePR@XMC-%`Y?LN@F3mezjfo^ta1wIFA*%&Sc&fB1KnPcJUlYD!Fl*grQ^Ln;g^Pi?>BPM<7Th!tliW&t$1t=JY*&Vv}e=*6W-%aYAaCiOm zAhvR?A~5WXJH=A+WUyVwr!bbM{&|MWJo6qddgoEsLGn{5*FtMt??OtV>MS{jp!|dA z(lm#Y9#2h=&Af~qY+`<3>oE?x#m`}UD`||zS;_1Ow0sq4lJJ#njZPl#$y$3!`Wcpr+`0G z6i~q}C+-}V*BgI{xqTsT^@v@E1VT1b`E++;csS10O4io1#NMw;dvf7AblH#HK+O2> z0=m;*0(XDhqN^aX{}gHnK={ve_32qa$B6DlNCZO{LpR#tVE6Q|4YflTgwY+0?aVm! z>XIU~49v2j#{d1wbBpQy{%J^Q)Cd2GkA9@5ZV@EmuYPa>mA(pYb$sc;1d?W5>D7?Z zEj3;oj{fkhu4}OOptx(+y$`qSOrY9))SOXN$;no4&E2?@EQy3 zIZeIyt@cJKBD#x0I-Hn_3PiPI{PX@J_m3LI$q$`Pzu}Y=+<(;w^Q8o6A;x?w-vzTB z-|oVOZfixP{619q6Y|58-?Pz_>-UJ&XxoVcdt%zV7WKSxQA$aUNX04f&aYu+0-5Cn zHL{(%5gpk=-T8w|+??5;AE!$3isB^^Af9{9ZOV2y>G*RZ#&rhW+bZ_CZ$dM zFVbkHv|f9B!q0-)-Or=v`wV6sR0=qc%8?H+nuvSMK13f+Xm1of@vwyy0srQg%S4$!vFHE{Ib7T7oS z9pouHPrg88P|db-nFQea!plK?sdb$f$p|dYuz8`y!`>U zA6C}bQjb-S+9!V<{{B zv*M5w=^``48Ih>P^^JfVe1xlCm;@HG?EHH5Yx1<+wKDG(9ky@@Sl^ZK$mz3F`tU&0 zt;LH)GkdKx3?)IcKxNSi`J~8a+sn|`RKha+v(b7V?S~MB6IFzlt`x=FJb~S9=U->@ z%sbs^_jlwwNMLU=Y_@<4U*&BhA|vI{^3d%0d_1Mf%fGK>u&fOw**>-^pEu$SHJjUT zG*e8K3}=nM7RqWR%wvTob` zHK`t*8b&*Mf}n2_T-Ir}M!&rC>eJ6L0&eF3;59G&(Kl{6@&kD!MW*ZL%5TjvBtyKP z<7c?l8D~?xH^Y7{evD`C@?^_atLOUA!=VN7&<6k?H((KmN5BBUdJNxY36c?%PAD*O zeTNJ`FnbkE%8z08Kcqki9Q?sIT|0bcQ3JFSBhyej%uF8(*oDeNHFwenIwRr2(&L`M>n^?b6ex{nYNqXTFdB*0|HXv z^49x#0J{S=C3%h4*)}eKN5AIHO*^ebGq1461eNFg`)BiD57odli!W{NNvVAchI zeRuqTBXcsQK_>b03M!22;o@xHXBrdhCih=!|H%Y6-X8_tuxtFvImz8VNAI=%>qXf@ zTn{BGV8nBNm)d8BJDQihp<~;Kx3wqrjPHAz4nTC!p6K4d4XR3U?$rgvIT8Gd7DTNV z)*i92Vd;Kr4}#l3%chcemb!)^U&BiNVzY$Cd}LpAl+Kb5pWmrz`_Icyau%}IwXr3^+0VCO6z?i%~oK|R)oY@b^K~|E*!j5N{zLQ}8 ziT$mq8JTvxVrs|rDG2xpk0uwT396lS!OP9jF4kEwm!xYQDM^D0b8^l7cie!U8m!JO z;|HyA*O{JUMv~6R_C~lm*UNA3f6a=wJb~EV9-Q;izumWk-^=&ThJ2mxvz<<2v7LbjG50JZPQu2ml=BivYj_F!NCSS|%Y$CDS5H zk;>93Ap?b?zm+uOVe8NGbe>@ebsxSkh4cHk_4-hSM}D+!Yr zqCx`^OB+uw)QdUev{fv{GRW$;Wnc9>Zjprz`U&IquWhi#ELK{8fR*bPhtnx*Y?kK0 z_>z#4EE>3fHIxkp&nvuchm313Ex#5kxMv@o2t%ypD69|>)Hdhf&*nD3%!JZhzbZ%M zDm4rel0!0$^i+hcUg0phrDBI(H=$S}&wmoJ)b=d61-?x3PyTkMJ4gT2-@25|k*Qp(Xb7k$>!RA-o7joP$ z)z)V-=xj2SdP3Z(YkxWp3K?Y`@86gSFAp(C*>J?S0Cha=}`BOs2qxW0Lpig{QJB zTGoslM{gjb#77l3`fDugwQhEhBJt9K=I0x%qFy15=E^ECv%4R)d%_Rye(f5#28;gU zKJ9VRz63M-2>}nkow`ET_FnOAif|EOR{UeEUKxb7@}OCL|Ig9*i%fVA9~TmvBVE1> zI52#Z-RQZ!U~r1)7EL~`*vzYkax5K!pa8HvwOwwE7xQ)Q!NquyAOwH6)npEhjH=xB z{S2ik+y&N1MDyn3iG}*7!jZQQ3#Tc17i;nn;x*RTE$CNwq`VK2M_iw?>GCj?v--E~A0S4&UH zxa_%Ni;S-y2;BZCCndO*lR%UlEVtCiH1g{EaIQ;Qfumvn*e8mZBw11TjkHtQZK48N znx&k#&>FdP`_dnt;2CGkVl*Xq&5+RGi!6U^kH6A*S}Gxy!L8<3>L^6pRE4#;SYO&I zx00SEF}pT{pxm`FWDv!ZhsSCy=^Icjasy>K$J;N>_!4+Ioh3b=eIk;Q;L^^PY(1B8 z#4M@8j{eoqD=gLL-&~Gy-^8|4&*XpvW;C`@ps2~@B&$8V&UH1*+_(*m^qeD&x^dlI z->3Ee1{%)J@gE{n6dVUy{v#Os6iCrQ7M|ESjNiUS{iAJd{Nsn4{(3b(xwnxEzU9DZ zxCpNQR0%$+BQ7z9e3+(*uZB=rC=zPM@k|+XJQ}X?rtte1${x>hj?k+fxc?((O@LnC zyW;nYcadd_JH>6SSI?3$=Hiay3Y}~j9~7MCN|R%HDjn0S%i9f?TV#i1NCnEq2gj6& zL>^IbVc^jHxdiyn^{6#87;WEqF3_1FMD%Ieqq}P}GKc5!>bgG$1h%SV7Aj73J1>Ab z*X>H-5(+ZE2HPEW2SdGdh88~Ls(UiD`xHD?!!JTB(-95Or=tg0pS`8ck{EivoI(Pruaqf4oJp38FrmT&OdzZmx7XL+7O5>e-`#p^joy ztJCiW|68noeS@F~OA1D1D$zVdb1*q3iiw1+DNxiVj@H-OgjRNR1%{&`Q3Nlmi6P>U zUBRQOglp=F2P+?c6)n44`*9K$f@+;+haDN~sK3>5>g4jL2O^C;HK*1Zq3Jmtq23Zt z=n|#ryR`_E8B_G{#(wL-=sm8in4v52?5cUtL!s%Q$Kf=O!=mrz7}oycp&7j&J!{|} ziU#C~+D~ewMCAQTQKhuocP500HzJG4L=JEuB?ztGkpmM)? z+^|iM5x+2eH>FM(qBo-}@>dt}11T3gQxxFlw0=_!B1%pyC50=XQ=2R49ZZN%W>^Ul zO*HKr$}nQkiAVdq^Q}~ycz8(p&Tq%fa1uFxM|%Q4B*x{O@x7nG7ufX)?PDsvm3Zke z%M2e!mRFeJfb!~^)5HB!`+vb)!le&i=%)-}@b+PXCj&i=L?ro=Z)&QLJaq87C#R{J>nNP%v4g21oC(m|N(PEioQoHQ+-G{3Tr5)gT;MA2t?mJKF}6 za_z49EfH>GeOd7J^J%Nl+y9v{auq~2$r@~NPsD6k4HVv;+Lg}$1+&W3mjOfPOitqE zOXWuo^ji=A6oTP$nP4_n6lM=od1eRWa>sb2Oskrlvl$O+mcxfaakzaPNdneZb6z}S z%jm-RlCkfY1j=dYo9VAzdUVW8duq=0Qo)$BrLon4RTptxFA>c+w);0Sn$qIO9-_7e zS=L{5mt7gPMc%Jg@OaoNuPA6t*<|_%TaCR=iMy>tacz1#(RMPX3dzyLDspYQr0Zoa z+~u$}{bZu3r0tZJe!E?E+!pq03YTCD(9ozh*`rm_ifPaUT+30U4pK{(L}hjBhCDruRclS!1gZCm$@nqp(Ftl$yYUgPV5gi3hJNolS$%7xuD~^t&C+Ar z6x*Zgo(XAoC9iPiystUIwee;+ECUD^tEM4u)Ycr5etIM^y*JMbOYGu%z0QT}$FkS; z;Iuas6uri4`lnD&075M+T@G2m!!g>9$ppzUt`-&=!*Z4xPi=n`T|>40}D33q-fE`nQQ8 z2)CruuAUa-bEzW@()xg9V4EombwQ+v+*>0QO!{~H&n^TJvi8S{yI%U$;Ag zP5K*S?WLirq0N5^|tL@+yfAX6# z#X!o{!ax1j`76t5+kJEQPU2RDf<_DiJJA4TQyI0t3;ji0eg?tgAnM8O!Ig53)%NKr zW0_cIRm>`Kp)*4xwKBMI_OX5r+S4$_#f80brXr9(?GGqJY~OQyEJBBSqbBcw5}1?s z?x#|TQh!Y>!Y(^!I424%huquWEvJ7{=p&J%j@nM3LT1GKzQEA&H^qwi>CVad<9W%l z0$pIAZ!xa56w4BipAL_9!oWprGC7WQf@2@T-KjKM)gTw5rX{AK_Pi&BgILMBT*1Yv zT~liNAEN&`D-CO%1GuyxoQF?u(xlSJ(R) zKSN*>3+uGPaAmvB6mC1ip$%2}!?A`oTS%FvWYXS}-soT`Ji8cE>JpnED)~SRN*<&Vsc9`X*(}Dg zrtf_*CCo@G>OF2%Bw2R`?0#wO64C&W8Ce6pHJ%S2fxtQa=VY3T;i4+ON$h?8&)J32 z6`r37I#L!RunaKRzBW}*mWg!TEgB777YC-0UOYwWJ)d*;l@ z=D1Bl)PD+j!6C@OYKWC-*UsUit!7wqz(2m-Nn7+f`rMs1?G07E9hx z#gvrO>9A{s_}fE3`6l94y7{?wpEnw{t3Zx(zOr^`xqonw=PccWne<3$#tS0dG|$6l znMZ#3=TKjYsd)E>XQVR~e~xoiW2&|lbXPui09sXP_)uRscQ~9ZOGkHjk-sNu^EHwI zf3MYFLk@dYsrl<9_Nf5nRPr(@5fq>5U>yJ0|$` zjx!g5)Ei2C5*z&xim{K%>bZGT(xh3RG12E3v3jB0piZKqPa0ci*HE{|HJwM=?F6Nz zcWIr2$GQo#4nGe^%=jFNCytzMWa%X?a<9SpusENm6DqPuj<9y_4#*t;t?5vaurpM0)tp1}mL2U#e`3G7xrfw*e71o>jy#-sNv$HTPQ&yVez-z=5 zA(u;ME=18uFkN;dVV|16^!OUDR->mpSDP@|zC4wH=6uZ-d5;h2ZSGBPzdo+5LcW*P zI#bbo(`800DV5DK4q^V!>FW`wv|i@%#%O#=X-&~f{{W3f!Wo0gk7w+o$|T8#&?$-_ zn=fBHYOZZ3-?QtPBbUlOFFuz>P^!g3Cn}xJPLH)Rqu1`g0Q^N0w6wIHrYfVT45+Cz z+$+mLaI{;LNKM+){PzW~pHMpy75ap!`kc3-JG{U3v@hyScs*{(;b?lw(S>CUCv3w|E-jv>MjPoaVe+T2BmUWo1fGl3ds9jP;_e zvofrB2R@x+=tn79Pra+JzyBhAtko)_!LRQ6+r{+Q2YQSFy&#b>|F0aooWa}97`yXTNB(uEM!TP$nUApmr zkTumu%OZUY{c>B)#1Ex-);=aQ{gk>5vBJ zpEV#^#G7mBe7`bv>Ij)Ypc74eClPj7;GB|MGlCapCmJO&qdPY$d_qg=klK03#meDM z4gqN|+*i6$AJONzO=}v1!bL+7-*E1>Y)ckgN6PmFa*oWj@OV0*RfnQ66m&4D@~d?Z zs|$(ih_~xZz)8Gu{+Jy9Nlya#Zu&y|*tzk`(Cf7k5`=1siDWScG%;Idy}LB|vK1{P z!V07~37>HZaOkXlsm{DH!cQ@mlHy@qvS$r2mBHvEUNh(SL3x#orU#MTho>rrY`avp zk^O6OQUM5}FvJ?3fR?^2v#k)aVJvI918gTav8NWs1h1?@ciXlB3AC-5x2@SnPf6c{;Z|62Qb$m{Pg0`c+(2Se# zuajEf->E*;4s1bvtwCd$9A(pB`Shr3}#G1BR->i!qoX%t>5uTHQky-krKXD8v^%cZ z|5Jz?4uQd9U5!n^+{Vt%Tj`pJZ=V^tlp*_{%1bF^mzu=g3+O6 z9*vMVux2oy$>^uye-0@j(EQ&A3j9_a8@tRk(6?fflD~Ka z{wYKXhgYSrI>)AW>&WaQ_piwr$lAfM95aTswf{y6R(gHmM{non!_GtbA~Kpju6KV1 zx2UqUZAzXOI}O#o?i)asHuIrJbsI*bZbo&*KBrX1#R>B-ZqaVWVw#L24lRF1f)UfP z=56-Dl^GaLOzZ;cE4WgAQp=9*!%0-$XD(uUwe8*XpT;S#aH0QYIc-)?$7J{atarng z^NS$}i*lnJ_9!5;Wg=^p{kovUrbl|~KQwuCqrT>!tC&@#mB!n9p>OTDZr~gwN|RL5 zAg`u@NxS@Qh;+@tY~wj{*|?LzB#s>|v#M3nP?IrW#Jyg{v9UM6LT))3u9U4TdANfw zZSpgDDDjU0m!V@Sv}V!bR-vwR`8%x_Z{Wt8F>QYG@MvhSV})Vs<-3Um<7lT$p4p%D zxD2>naIzE5c@qNIl%RQs%K*F#4tZ%cf*z?pUb z6vBW*sM1?g$Fg&`l=-9%JNL(# z+vvk?BXS6S58~Q-HW6POHv(#Z0d8~_17@kTK8W`z3f`^Fp?6A0XueMeT z;l4r4PoBBepY?ANxy4_fs5F|e>VzNg4}x`(t%Nbz+opul9R{s%kubk z`1R|@ILc>)#Y_g)FGeDB)08}3X!oA|3@`6`cxZRZJ_*y(i=P~TrnkWH9XF&eB5Hi! z_MHIz617ytvF|Oof5MnBUG~e!-Q~?G3J&)saGN!SoZi{jo46kz6~qlUf$k)HA@j~^RtQ{3$vcOZy;ge<`0nPCtnyStqlul=4umn7 zLJH_`@HrX=Hdjo$-=gKCgiIZyi1qEHn-mj8SS}dubBnS+RJ5T5eRsVIC?>T^L#3To z2v~8)m?9Dx^n;@3B71K|#2g~gYbdu8If1el{De7<4z*w$dRJl*=qkRYdfHfv42n)h zT5sU4gQH`g-^B zED|(o3v}kaYbkBHm=bf6|4(VajGZ9Tw*yi(zVf?~ogE#~(@I4@T1ZIhj3k9fgjWHS z=)^O(M?Ur(mR@&p0J`ZGc3RpY1Ry8H3l`*~l|@)dtAA{0-hCh3OSdnQv)oR~&Es!5 zXwDzE0u(*CQrC}@jIrg`o7D-|FqC#m$-UUmMQFOi9~W*~62T%BW+G0I?8QU@Vy@C3!&{yq$8YP;e>ElZAQ(dA;?u~;HW zcM8m#O&hXlcMdE7l8aXJj}+Q!O0tgFqNC!2dKhrwDPB{ltWOIu1kT~Xb^Ds8Jvd1T&-$^9fk zgk9@a9pD5m2VSQj!do^&8ajr9_*Q8n6p3)gN!dxW1qDacs5QQ(s;^u#d%^umfcwQSHaz&JH#9E!Pl^3qhtWqB4gO@p)^}h*^-!`2U#jLaaVae z-7W(L5FL7{s0}Te&*M5W{>`Hl0F=WVm5|pw&qvD`p3a3509b*(K3xA7r1noCkq~%U zz12Akrd^J`6K}yi{wO|rJ6J+vqR9V$hmw-y<$`3Yco`MW1<=jh2y@uuvc^ev|Nc7F zT8xSEZMIvxudZs5 z_Nc<%l5_{b&aB>O*meoQUZ9dUl;~ENTgQqr$mBS0TG2yTP-|0f&mkw%)4(7nNW9- zyjLn{OgtltL~@{jviMUt#DCMNQlQ*A>>ig7a7RZ_qNnX>NpW{Ji<-{hWnM9OJ!wAy zv0Bqzur5jMw5|2Le=0@AMO45b7ros@ww(TK9S)Db(K&IW~^QWuaiO4ZQQ zXan%v0r~G8!^cx6hnxh1%Wuj{)9$9JTwTn2QkExQb?1Tod%o=W=o$zZk`H;Q7L!D! zSxZ*^N%GD#;v2TbuC~sRxhm%5lw`wevpSXNFPftdWRkz&40VT$$>a?a)ALAKwMl(r z>*qmhgCZ2skKcj&EuINrZSG+sq@UUN5|SF)9$-8&O!5BwTW@6w7`PW3PwJBy%$vQ~ z!&b*o^GNxj)Y@!G^rOR5dr&P-7kEg==2F<)ag(a(P(N`b-d$UvwA%DF`_?2%gid!g| zlI*INGW--2*MPjU!K5@Bf`yRkRT>@Hem&GHlbZ1>E{W*z%LW02ZC$wl?X6@CvO)9j8-LtPxgm?IN54>@v^j~ftaVm@$@uKbK9FH=kg?FIgzr;rMU8|z z&}Ukhi2XJZE5(-se_}kA{R!7mCYFBJq%|p0OXcJ$IRAGKbm)}CPlM~(_ZnvK1&kp6 zl;=G~2D>+}W@H{DLN*Xi3N`o1Kw(<$k)Cgpg#q-#*PJ!MQH4gUng0~ZghN2lU$s-j zGuM*$ku$NfjS+HyJvh`BvM1QzzLL@a>5`pb*_|XRJQ`(!*b!lz#0O=Pr&<>0X|nXp zj|t}y_g-R2F%?{pAFa>+c8|~fZ^w8Cy-Uie(=GT}9hRi1X7)hk6Hu|QNThq;HIQW% z_76q|;~UULh1;p>mcqW~7qm}J^EV0>E<9zH{|w6vhgEe2e&ZS@Bef#$bDsRl3_|0m}6Wo;8&v7}J85E2iA=KSUtxlg?>m7>@ydR!#bGMEMz`u0oLq{ios<%b` zayBDoLx>ySafJKo-b&2WD0+fz2mc${Nn=qd@lxpIgDxLrQj~e7uAPo69buPG` zj~d5@3!2lS$8#*ZdnQ~PWsHsB~)`r=7H6FRH&P z=<6Pz-qusr${D&}M!`QNza{4@P*Aq_H%ehUAl;?6`8^Kxt|fP8T zBBnPGj-wBlvuF}5zJJ8*kCYt#gB++KY{yPwG3pwLCDbk$e51Bzcl#JrhjVg&Y0~vE zKU5?=RVWy57`Q73Y21RG;vo7zS(pL!e5z(unx?%T_Wl0!a{<1#Be~X~45U2v)Qh$qbsPWJY0E|7xxcltsqjfx_-44Y3bBxbop(k*>zH3Mx(6zk-BU7mOug`WvG?-q zt6VqpO1QP-1BNQ=yMn=m5Tl_gK`d5j0QgNjP-vqDSGM=QP(v{)1AKx;A5BdY$j?4e z_As7W@(qO|jeVO6d<9l}0q%}bHjtLmckqf!ndWqm>0ha^#A>*@gmysW004}>NSlj> zY3smex6E?O%6BllF*XxNe;IK;4pc^rA?*Z$_s!82DH zist{f(D)rTmJ?OXWMQdg3`@C2gLGL9q1>__D-S6<3PFU_(b%$F;>n2JX8CC>t2#1< zHK&C64WE7gdvVV_&cy~8mMW$vb~oom7J(=E(~16ft_C%~4A6epQ^aOcR=4q@KoANk zy^}4m0w=}=rgQzRZk?R8+1Lhpgm`D<&2Y5w6I>7_qu6dnCB{@TI(J0lE}i(a$4IW! zS}0KIxMdjI9aJxOMXqTJ?gZ+6UIr*_?k*Zz5Xj0QiD`w=O)KAwG{E3_Z?{Kqg-?Iv ztTO$eH_sF-&1aT}XJpz4P!*@1k4^Qb@(%?Oym)^XI~zosg71rkuJ7R+RluI>s8??2nyieWZ|S3j#bpQGDV`9U=yt=9=6!uWr~2E2*!HjOmrHS#;%`9-chB1QylQ( zC40Du>J`HFRtd<69fe?BUW{&TfrDsch&&t?4nv<`em%VXr_gKw0;R>O>V*KeB8tAZ z2@*qey@6egc`f$c$J)xUNOlHsKUMdB1v-rgDmjOV(FSXo@y18n<}ifxfX|87i(2oj zlEXW4?Xdc0yR6>VRs2Zl?hfn;qc48VbCP?0R3(4%2Nl0O#X*6mWE@=kU6)lwQ zDE|Shl&^=d9H{{dammkBjuZiIZQq(<$>sv8aMqDgmMCv2h%Fk`@u;4B>YY?oor<53 zVXlR>X{%wUH2@Q&oWBDA5QOZpWAo!pu(FC1&}ivMwU%U%l*1CCuTJ}+_s@}(^K0SM z4c;59YxThb2e8Z;UxF&q)M$PQ*Zb#J*)BJW*FMP5Q?SV8&W{U-fAA|qL6p0~(#ii6cZ_>du+11wFUfeVgGYG*Evx8W%B4P4{Z<6Omm_}v80^^Wq7W6K8*Hz9uX z*j)ibY|~k;g0ct?oFO655?w{m9>*3J)b-6z6;wxk6g(z|!ZFM$`-$?-FZO3ai677P zozNvcEMnnm@NZ~-^+{(1wK)|W24|>%qe43Ows651a}mMUA{ z_~t$g?OmMCq`KY-?Q=W~#SmKlt!E{<`y6H4(UPdwo#-God-8ecW6g*-@EX?3`D+tj zOmU6*k0x!=Pi=!I{}tSYD6U}ng7Z4X{k!egZ^-LEjaA>M%r;jzw@Q}J2a#C;^Kq5& zT9AX2@un*NryuhXjZr#7D8UjE8ZqeAqC5CAma4qz(z!m(iYtUhMoR#|(XCD@)n{s? zsL@j=a~CubLCx{CKws@#PG9$Pl=9;|t5pq+<8Do;7+Sx8_L{Hkc)@f;p#)!YI zge?EOqbZM5=93s7PS#SPwz);azp9&;dZzD%B=V6YE0En`{;MHK00NEvKO3vLrnH@+ zshlp>M5KvA(;3cKLrrA{S60VyKKYfh_Ek~-lV5o){1Mg9o5I}uxfTC?a>RVNdDJ&F zyHV}}cl*cGzF{mYx`<;Ty5%Oh@R6nz%b-pR-9mH|0JYXNBL!@@h_olK)THeBoXeU!4SuRl4Hj1=}z z)%FHHG{z;)mibQ-eeE;f6DPf(59Sk_({(0z+x0~Ayy%m|j`Mz+5Nd%`tO<#APya+Z z7Gqb1c&*Xn{7}9C-Sl|0%HL-5D98*3rP(Ajh(a>)tN zh*b8K6JS<8+^fs;ra6OtiX6iBZ@oq8`3#xodeC}#6nj16r%0E?C!a=n!RY~sZ7M^- zt!u!mrA`L#2}1_Y%|I~{oMgdYBv|KL4aEO0(?8Fa6hOrxSK0E%IfE_4VdQKeq;cw@ z(pvxd<`aX5(bmPZ(DQ!y_vBmjaz=mceC)df5bfb6C+);Pg%02ltSog-*qN=3(4ya& zAuGguv9PM)tSz+q4+aHKW&dw3`p31GWr?q_?Rs|MDKNoYp>EoKmkx4i5{Tj^l+`xH89B%S}9bPADu$Tf^GLbg679cIydjT~pQmHCe! zqy4v$qY1fsdktn@>3XY{NSv%>PinA_o|XlAv1{U&i-bOGbgdXvdqTZDRaz!Y-A+h`iGJUUGW;@7sO!Wg zFFkMgQV899+6)tE@YK2v{Xdeff-TB!i;_x8Bi-E%(%s!D-7$0t4Bg$`N{f=Bz(`1U zD=D2KUBkS0{O&Jc9@e|}IcM(`k9ddLrt7b_XMcTtOi5|G(7T|Z6!ih$TulpIy)-H) zo{$psx~*b4g9d%P=^?nHV2KgXLqsXgJylm|yApbZ{3#H_E&nL_A41y*$j)XzPejDz z->SKCJ19B6vUjy_R6eWd;dDDHrgQ}xO9tUi_pco9_xjp2L=$WczmsFG_~NzR@Idp3 zu}f(8_ay=W3by`8 zY-{fsDu?i)fDxwo2k_%-+{xaTm;RICN#I&P(A4Xu-5c^L)(suk1*!7Ufmq4TIz}GB za$eRSzUYT&-I3TMn?)IB#XTBVy0wIDJP03}E(=G-$g9uA2}gz9zjef3xQnKBq^UB7Q{|{)XV~O@tyX6@5)wl8P9E!uK*NtOg1Mb3PB5yAJ6J?kkT&O5 zMG2Cwc=;A&b!hreN*xH=dBv+UJSFXIT+g2*c{}_H$QB-cJq-ZV4`rZ|1x@*RCL&=W zpT)#>HxZ#dY7ke*%mqFW63SQ6KmI$y2W`>6&M~Gvu)pT*-9;#x8u`A$2 zl2y!|DMn6xWVn+Wp5$EnlUgz*oE)V5FpWWbD~~m?_;M2!hd_q6r`> zI=6uSolaiAO?;TH!G`><9HXXP22wZ!=3IM4^}Oao5S`1==NlISj})g^Q!ff8?inEDMe& z-cfoag}_P4>s^`mSnEpM9m+<_6$+MhAs>Ou$5i0WJQnysTD}_NzigX{aO55bPbc{`PF+|=7#olHpY_XmkW08L}UM-7VJptn_=yt7NB7GT! zh;Rb5eyxueTF%}V8*KBYC@(?{0|a<%7cqk%lwnn6{D1(!2G-qxK=*I1%oattr>-T8 zShUn2?~$}w2N88fZM9GJ*%e8_pqzSB@k*d`lu!a^FaL~vn|&g%>f;A<6y}DTN3(bs z=+&#!ji!YS>CKFT=kKLgze#oNAnc1|=mG9S z8;@xr#b})LkI<;DkwNwP%n3?F=dNWXIxo4WqXjL4jawVI)lW;!t}G#2XXfCjR|OA0RgN_os6oCf*z&Hwl07rF}kEbm{e;acc@;-WL(TgZ8v z`qrYBbmc{+JHl_B6FzC9YWK$2ZGGTds$dQ|iYv@deR;8YKdTPu-^{$+C%hnNdck15 za`*R{t5Vc@f1e;Ml56VFcVDc>wwGnOFuHWvftW?)J*&)tO9&ahqCk_N+=Z>E;ao&+N?cfJ5&SMIbWypN@hK@3LhLrz*YWG z?Y2}`J@l*06SV_s&@}Fm}mEdlrYyU~`eug8Rz{yzf*|s`* zgQ$d~cuHS^qf%Q_L2>hGT}+9~eLQaWY6%K_T@L|s^ngK-0^s^uHuwpPcf(pBcrgE* zCfCyJutGJOu*iQ?ZV5x5zJh9WwXW<7_@Pdx-V_o!7xwO6^w8-*wn7Yi1gwr}L9+D# znN6tB%D|@Ou)9`1Oz$x`uc6F&ENq**HU3$gB2q7Rao}P??PWE0Db*}Lnz!snuWC0# zE}XrtOKDe{ds39<=pwmLBufxX>oFPU`s|CaQ***?3jEu>E}mNNu^b8|AH;&f-=~lG zZx%N!6%8KC>(kXT*BS9NBsTXFXp+a=pI2(YhdO1riP+U4ZfC^^O*6JXLnnZP2gqYZ zQ%}2$bjKRROYR%+W8w-!!n^69#i@+qA?^H1;)Sr&%9pL5Xeg+Qxwg&xt(Y41N^rq{ zo>7I`M1oSzcgXKoYelA>F)c$g*#aQy7^mw6g{WC6=hv8a@?Cu?hmMsv(6ZG^Vqh3q z%j}?g4tNTgihWgdb_)`lS>K5c@pRqO+x>V5Cs^}`RGj~-A-HMGjOD5xHoKjg>yxV0 zo?Bvsqr*WP+@Z1M?B6+*^?{VsM%CNm;~SIt!v*UgC-L#C8D*(YTzR_)R$1979t@N> z4+>DAXdUu5>W<)N!OK82$KMQLu*etgO3z`IP-%rC-20+ne!>1mS{8LN)o?3zj!1hC zrn+KtB`FT|41_Pcjn<5M6yc41)dIYvuDg$!48mRv=Llf|H_L?%w_R@NK3dIz6s^Ez z4CuLAo_zntordI`{ep+5`;^C^GO`bGXCD@p4I%-(ts#C6qMkoF++?0^L1PV&ovXCt z76r(w>Jq)t{ne~e@d6NvlUwqW8pHgq6w>HD^qEIIvm!E`C#WxaA)A0@19&JR?qa)Z z9RYukQ0BQW1i<;49QQB*JWQIsN62wOXUOtibil0s!hk5lQ^|;D+&#tEm%9L1Wu3$F zIi&UyFfd8lFY_E1Hq(1^TSM)cUjm=S9lqHN9}r#v7aPAJua%}Yo7gsZy9TD0?+$4| zn#Z<&#G&#iYTrnGUy-8IXT@OxP}koa^)o5NzrPK@!&o!j&Jd9Pn3&Gvitd_od^43$ z5Kmr*XRL`gWDrv})!ydVMEEl7CRcHz)s&LDQ$O1EV3nB#VN!rNWv)!G`)BBZDm*bj5;B=Q-7L(Df@x!aG^AvsQM#fbQD()tkfk2qQZa*hO%R;fkx8WCMOIKSHQM?X&D;KBoo?UJ9lfAers z1Ek@eUs(QlBYeD1SZ*ZUQP2TGaLD>71s^HFz$raN6Gkf_C>i+v4T@rwH$sBPYHw8 z6fEcXWzAoF>_s<6!f@}ht4j8*i0k_sfS;Mh?K-Ei%=?efcoq(q;QgG3cR9TyGYz{v z@gzpLNK!x}L*xTIABs{{071jUK}jvs{=`sR>mf5#@of4v_8aaK%gkZ`l+_>q_uxa} zc2Na&XB|xI*=+1tWgl3fiSdu`z|Ib7t&`X_|Zx!3=ExZJL;COH(`uBN)SvG(1WA|_!7&FW*s4jZ0mN!I-L46*;bUW6LP@0;O@>aU4Cg4rYn~S@SGH$X8~l*?cJ`;L|}dwx|gA7i}u#H;M&P! zUs@Vl`S7gFSsjH0^}%R$S(^CKBi7G9UBPjyafq54h3sW7S`to$OEHHbfOWa$7Rxjw z{spjqZwdc07*X!>&15Tn;`Yl=$>54zUlTupFK5@})z??PVhZP5+#$yCOUkxaN>#Y;2?h+`7~CP`>Sjb|x7K`*vK7ZE2%*q@h^j^>r-V~n0DUE`YyPdb4nU~LaYZp6n;N#lTK)RH0gRxe% ztAIaJoxlxzEpa~|dUa6jVZ&V-P*ci;{}dpv>-rC&+kY{I#wP>>4km}>oVJXnDX0bZ zO;&Xol`U@VaV4$}RJ6rz8v{f7zFVJtxEvSiU}e`LT@Kxf9Q9HCVjn#p6e5RzPkaNK zezE(M>t(8{qUrkJ`k^?p+3Um@<*Yc4gRyEXZ49P#?(}r)fSS>Qy!BZ>8m`w7;GMF! zfxkt~Z)k5Q4hYFXat}J;Mft|r-qP|F@>;gq5~0|5wDT&)g~3ydA{mR01xGhv%WU3u z-fqC~;zBo#gDoMd?`A=kWSL7dPl*&QlCCWrrH1NKktd5?y~krpg8+I}%8%lY0mWN9I<{ zxYDo23|{Y`QJ3)uZyv!H_pwa!L_LGL1(V}gQykWh`x)6C8ZZIxCa27KeO&nCAiJ`& zz_u|~ByzG~{(b!p0+G)hzuyinUnMmp6h$;hCleI0q!y)w;VJ{}4JvKwi~b(IXYT4jn(iaKsQ#3oWob zb!w`7)ym;lT$jc4`SeuGu4`=4*0)&Eb@OU|rp$Kd10jt-d7-lQ&}$s6w^yWi0S3$~ zsX~|;)!BJrD}8bDhSeWNps-$L5%KQ{&}AM}Y+>ymOn?B`2$Ukc*&*@+XD@|E56*z{#qE1%B65`el5zxSciF1ajmIiKiZH2VZq zq0wO_+{?4qMvxIMqIFx(k=(V+8J0=jK2;M_Q7HR5sw0<@<(d&5iAU9s^iwYFbgyXQ zL`-giWxC*W;GuE*uFMld@PzgPkD$|##OF)v$sJG;sU&w>>6%sWeHvB64N(IC&c5UD~BVbULTGu=(Oev50V6(j$7C;t0zyw zwJG8aCSm-Xbx}F|+N8$$lu~TCP&)44utc!}xlQ5m?cb0mjNseaX0I5t^6=N{->}el z>tu_vPUaulvQ_VNyq!S=FDZ;?0evDDF0{U$UW(&{KDrR!1$ddzDgY)pf~D?q%|hJws!p;ymj=mb22X6-q9KvowDJ zUa2HR;&WKH9q7bi#P8&jBuHxW*le~3`(k>vSUyi6Q$Jf>bIdAh`*Vw-*Mc4S`pzKw zJJ-729(^eZhD^7Rz|5Vi;`_(K`9W_Ci(*6TCW&=Xi596sX9Q;zL}o_E?TkEJYg9r8 z(n(8!Ao#Oi&b&M?%xWnhSd6;9NJUTKTZdhfkO>eqw|RB3j)fivEKCEP=5ICui1D|M zbjW}n|0bfx8RfXHdU%0n6SQqx%A@`v1V%u%axiv2CvfsoYaoNWoF>;5 zxHoZVWJG;*zj>d-N4x3mgcMG>ba5K6IVpBUAmy*nCUxOaNazUc4L)FbU~YL=)F;`H zD+}L(pCN)YDSZfeRY7{i*xk2Nj9u6+MSC=}s+rOsGF5*1kKi%JP&j2c#%i&D)5j^Tfkz@gNGG1NS9Qz7vP$z1B!gsWf@cJn{J{ZH6@flX`uO(lpO zweN3k#2_FA58j@4JS4MEWX4}+jQ-M$JYE^PfcWlG?nnxC+Xp^L%8vED0ALU( z9%TjX20V7djQ>96OKDM9RFfUUZ<=sD@8gU7>v;9Z(*mQGJSx*Cgv(b8IW-I99RAu! zyp2Q%&G@TMm%d;&#-d`WOBfh#6@2a!GSo`*b$@V|^g^P8yfQDFnD$o^$p2%N+{}U3 zFLpHI6uckxwTDF&`j@Q5@ISphf>I)ngrTcu)$tD@xW0?V!Nir5-Ok0Wfz!IiD(Odo zV-x(c-Nkn%SXuHdLNbB`)kl@&mHwX@AFn{qQgW>3UL#JYPRISc@n%@ceVvZAfv1$rHgYmjhu8Jf_LjCUm>;~TD- zk!T;nFgk%urVI@Pl}So#whW!`+dHVkf>u%~RBLF|523IP#_Jo}{bxzrkNPIn+pkh6 zD|xGo_S9W!f1~iHkf%aQ4$zZyUdG-|IhwprZakXbiFm`WMN9Tt;E6!%N{RneX70Mr zv<<1qf9VfVR%}^QP>GjF)o2{#6m*P4rNmB;0*CoQ((_F? z9JpW^DjQ!kJ^+Su_qS5&4mfwi4#=ATHOCs<{_XYsV0Gf&_S_0Y`eL08GVOKR%r_74 zyfWI+WcKn@t#dXOKRvg5;MAuMk{!15nL7U4)Y@aGUdfddF@T-7?xAteDm z+J*;7RyUnF-IZh(KE{`SW~Rn3U}8Oh9f4US**!1>X^1HDxIZaY)ax7e*1VrJ=W(27 z4n6Tis3xl<*YU%J2Kp8M^#h{&q+kTiFlyIlKL&~>DS|7sqBp5pehW=^Z@nhdt;OH$ zQH@%T1ItJ4xE2o^^>9KS*ASI}d5~99W_0MsgZdq0X7cJ371U9W1svPz$gv+3%13`E zavr?H(>I=1lzl!*kR!R}P>@L(+*~<4DC`XM3UXKofT@_Cldj^rebKS_%gC}sD$`$o z_#?<1BnvtNp1#x$h;F!~rq#^s895fx3tOA`Ofzk*H5YLgM1< z_+bLT-k&?3Ud-51DKc(Xa3Wzzn=DC78%@3VS)-m62D((P3Dbgj4g(8DZ@Ux%Eu*fa zYSWb5-7kf&W0xWo$`Xk0zps1tN$1)3T0;RPDDE$o2?V{&bz@nB*M7EIH*vSZg6)|N z<+D2moB0Ts*Y+=@V#{ipcj^`vu6kp^Gl3AbgMSFAA^amWo^TS_S*gLJZ5$29y5K~T z5seHmyvya~@RcXaWHC94PzriDj^Ya1z8BvHr0SvPXKw?_Ch=miKCLhjzhxzMYLUw3 z0x`>@(iN)wyAW)@5g?2}o0A+`aW#S`#1fscX5gT-Igyc7JIPEk;?F93CJV`G#AFgk z;14e^L|8+m0BoRNaPlS%P8a!pbH4i&+9TO~0o-@@Ze9|isH!mG=ep;l&ra!4M7Cs0 zm^@oi2j7hyOY+9-7eF~W*grQbSA49!3h8BH03MywfYykjL5fp9bO_6zQ&Qj)qw;5q zzX!vsc(z|{uKe#I@1bb4>GC2>dkLZjPfy>YD=`#k%v(-pwX;XjlyjOH>I4|fMtfVI zx*Kyoo&^#uM;WY?GByj@Ab*LwzjD?pJv%?Yuza4zz4cBTOSJfQRCEQ?17JW{{oCQ~ zp}DfJ=F97Zc~!xFFzqux!bs(8jNG%CL)t~0AJPs4Elhh@+OXWPHov3{=RTo~-}^Jv zDRSMwvnp`2ObddlfT?d2%g9NtD!s0k{~@G-fV5-3>WU+3=ZJ+FYIp20i3oS~;W*Lh z=00nWDZcuaGILkK*Gc`=TjR=d_59cMxqdQgadvq)w#ry_dB>l)V#K4C#J&!2+=<+^-0Z&DB~;~k6IBk3GQq`6TP7$A0Kgoxhrs< z6w^-l*@QMZEmVT^FNP-IZpKhpNuZ)n+kE`Sj*q3IUSp+?Mx*cMJ73YR{j0&*znL;L zbgH@T3!cL!W?VLym0^Z$JKu{|DK|$0YJDRJ4=4I$JYt_ECV{ihLxk>9BBZE1ru z>*RpZNpgn4ee`a}ZvUAkS=($#u;W17e+xXxaAa+GmxB{Y94FLF;di;@I{4sJS)-u0 z>9iKgnn`DTH^k*C3+{l2OD%CTB~NCN2b2B*rAP<3gq+o2=`TS&9KCL*6UF+1K6-yQ z_Mx)L;&2;4Brx(8ofHH3-NDx&nEKMEc)Ij`oDAN4Pq#-ET|*S2IbEG`dzRS0sa&RO zOJ6lNHeSE=(3d{VvO1>fxK%()6f^N3Q9dJJ9Z zgV#Cemd*3lPlBD|?sjS@xG@MEvE%}%uXYEsi@7OVNf=#yuUSukk$97?A6SN+GAb{J6%TuWWq-{ZO|7+@>p#GV|x*H^u>bCp2DCvKUPvvS* zd_`kdDRZIzmrF~J+)MRFWUSli0i1_3_3W&`0$NkksGk4Go4pjJ@mceRHY*jNg)jkCv&rD&Eq@^s%e0qx>OB!2h%dE50Wh`t_fIpN7 zqHiS7@`}HD8=1Dn8$>=oliXceG1pstx|8FmC$=vv0?^ERWBOX}uB4sp;lJa@^hW=A zmG_Qh5pn2c@(?ac3PX;GlP3pdnH^!KHeq(=dcNQZ7ow3m8y-FA_~xA$WKMcScRyM| z6-5N;1!Lla)o{pCJ?bT0yQ;lMrB34L<5e&v1km>Wm^htK^y?<+S69K%|$E?-JOfED9t{f3_n|*Ulm;!Zs_$;2j&kD4G)uC5qb$^)X*1a7$Cq~ z>RM58vSMuzy(2ujX6e;V$=F`G2}2(qQ$5jigEG3SjO{{Mf1NOF1M)11eDVD9gM}w~ zXc0L8T+dd$t|@=s4X~Z6ZgH`ke{!-)+fOWy&fLrWFcX2(;w1O?i(15uNblL69;Ju8 zqEteHXt$i>T3MbYC(!vB1`+Hb7!o7GKT6G#qmTHohq}r8RjLzKa|D5bHy51EQV%4_ z`oo^Cc1bsIfmhpEL0D6h?_Exz zmz2f<=7Gy{9RvViL8air8<4QT+n{p>trC#f+0L|Gw5m4#V#}!shPSp9KAO4lu-u=e zy)&}WNrz%Hlov|QENX$;Zrxr%I=NCTI7mYK;QYY&W_@DPX-cI=WBaWytz;8%54n@X zq+{2mjv_%lu#KnyH5{t2Scm~w(NDL0%h}nw0s)oN40`*{*`*&p)1or=b95zwsSswq zsr$r!%9+D zph>VLFeNbe@$jA;84= z<}&bMKp8o`9Ur|=9g)kD%ba{kR=P6F`=<&sk;&J*_SP;J<8#%sZ+CwFZ1=9epIg>S zh5=@!$20k6!$Fjz6l$U&hkpo>A|O2&!_OfCJG}-mHVH?=WD|I7yLMBCEF-610+9>w z3%~hJOL!buDZ2|5`b&RrcyogRD{Tg{9S>vtR%?x}Y3(CXGklKUI|m+or>TV#t6Bew zX_neCyXzO5V^(|GY?pi-AMjs{-WGI---1TjSnEAK00D;*mt~Lmw;pqAyTY~A76+k} zMeH{KP;>>Im%3kPTwqiFR9wM*I%h)|&yt6)snS+l_u>2QCxd6jI5*EJ0?dOV4#W4l zKOE#td`Bv<2}w4Hy)Jny5pMd2%k5~!3hi!Z$(^p@nIbn@jt>N1fVBH__zo4g62$Ez zH@l%bqqqy~B5Wf9mP1)2<8^892^rroehlaJNL*FTL*4Lr%`-n}+Vvx2-NEgy1lx?+ zxROKw{m{4DTy6gWd_{1!dQ4nAx{K}1<55XFe7Xwwz=(jfYGUCEN60MsDHI+gnG#wCmx4ECq%=0Q=M-N8KunV{ zGHBz~t=_!OmxlGFRJYUT{C5t9F#u{*Gl<+;wLtkAS@*rru!;=QNSg#*&)8N^%g{N~=sQ zQ~!HT)CuEqH$HPj^fOJxR-Yz7^b@&p8@N=wkeYaeJSygbFPVHFlXQXF^}pvl)hXPn>g(W>4|E+!99chcH}1!~vovN7{{-xtCJV)-&3M z3a-kkphzTF<>Uh)cnzu3gd-g}njM{p4r(Wno5Fo)lW9xfzDrFysvMlo@kHLaK7{Ta z0YE)N$l4gR$xp01)xTuk^0GIEBTm&jvQp;NsM|I>@{1yGq85lvZu|H&_ga7B&nhuq z>CrqHk$AHoW%tbh%;@Y7Ur>$an-3J?q+w0lBExBZIUulv6i|K64(Ab)-Fo@nyTacS z{S4V_xphCak1PALxrv=5mh1-0jz_9H)-M_lVD>RUtgmx%xhjC0+Kr%;|!_ z#aiOqD4Y@GyzhrnsbSJnJ7Hzd63DNM*EKmh^gi~MFdXPTFH;uo0Jyss!pT$qKjV4YTSEn19B@S zs7M|y=TN*l-1+qLB*p%f?<~|){vO3qU*s;D;DSv&{gD$Ky$9HH=bbt}Y53JTfs2_t%*27}n z^EC82OVu@*fHcd_JC{n|<7k?}O#LfI7^(}sCtFo80Qs3>hHE-jIY%%X7KBmDC=Y4t z>-dY7>L$|oKRLMX=-!W(4wT@$>P$PL1hPixXDTkGh;9@PffI~S<2N@Raba4`!S9*} z-%l}snQNAJ%+hk{;%O=~y~lm*33Z>sm+8{lejT+Y9FAWxzvagmuGfk0xI(|7An&9$ zzsAM2bvawGzklFMmtG7_@8;vtWRR0LNyiW>Zln`6`k6N3NzkwQ9gdry{E zpsr)#k&yJC^g%ovsl(Vz=bT-@3=TYOFd5~A@XB=W!$fBdT}^>4$V@{_0Dj)zhZAa=G==R}>Yb*3# z@8YLb^7>#AQxX1MZNA<0cIht;P5%Z4eQC(^57oKN4#_*{iV}D`Z3rEdw-BJ4^EFI= zMz21J8?#eJe_^N{xushpX)GJK(UJ`=ft(gzjX@JXVy@#9~ag(vkI0^N+`B z?{`U`xHKMX0-c&|u+O9{&vERJp)Wt>0;tNM1^g!}Y2-H2w3P0FN4j8W%f&!Q7uk-F zV17;AUw`Sn;beY@%<#VO*#uefPq;H%QR&Itku3f9>q!qw-sh>CBVDU#{GCRmEDuwA zgg?l$;=(GU{dAj|DX%`bbO_X zw!)9%F!8U3#Ng5g!=KKV1a=PSby1E(%;ZDl z@$MRL~iSD2RUFS&%=6Y z*tUL;l~DD-piAx;91jL!_RP&k@E@M+R~0QR$KU-oLb9Ohn})9AQ=3mgQV`~#-o*?v ze=yJ#ShzA)`5lo<*u|cQBHoiO+|yaNZR5k1B{81@2CmW@^b1|1-Iwf8bfqvjbN?Ar zJ-Fva!8~KX2yddXT;w%V)x$>-p>c(hPMEI-3vItEi*3C0u+_yuux({{bmg{Nx_+ix zX1GzMnt_!O--PC`;IS2Cfdok`CX`4z{0YH{*Q5epJwEkC8d>ZO}P* zS5Iv%F(RqN;T;XNT(aYplO+IT{E}r4pfByp>$XOc!zA=4ww{QfbUSCe{)iPMG|DJQ zLQ_Y%i2ol#|D+G5uH5)bMlNC&5__g8_Ib`t-3_GnCGLJ7&|SFn*qe=r=% zi5_?nagEMlhrc5@G#tJGnk8bc%KwZG4%2HJbV+)d%I`o=4E(y~lnCJRhK2D8Nv&o8 zNOuW+{fOlh0>7DjX6eYJfg3bp5R;_v<+LsJmmUX2sGY>1Mq8VJ$r*8blIu4Z3{8p0 ze;M4ZDO=*bTQFN@S15v(*m1)wc7E#Z(hTpCxJf(x>1l>vp7MGuD0+;XbF}|3L=Ix2 zy-bcH@y>a1<wo{>l3jh-kbLpCqzB9ce0)ZA*x9spD@}rlgmL|<}!c)ia zIIYg+5zov^4mMW=4}Ww5QZNM#B%(G9**|I9isD=5FmHL^d#?q4yeOU%JcW*J&EnnU}wYDDbQY~*I*L`DZ;e7E4*HMm2;+?h`Faq;G z0z~M=W17(17oS3mY2P|D8SMej-zLVAU3#PfP$MYpOp6a=-<%6CZ4wv=0j|h^27KK8cjTeQj?bhMQ*9DV99$xd|j@IwC2Q7=@;F9$JAh3-qK@-tP^<#UY6Wx(Bzeh*Jmtj@@GpQf> z%j0#7*)N;rC0dL8p!QI&{Fj^iDFU*?K1DQjZx*XmW#7HKN<*cap8|0d3FaW^7=?Ub zibtt?X}M?f69_?D>lUZXN%<6Cj<13LzB7z&=<8^z73Gvl@tq;iVTv2v7>hhNj;hFv1D zC<6_bvpkl&2PpGEO_ojG7@a{`(zCMc>N=aaV&<03IBRG~5@K z1&;sKkYYG8tNohuIlH3zD0!$gop=&$o>xtEO@ToEM}eynzMo^@+t&4O?=b2kUW=6D zv7jM8e=u{dpoX(vXpjCLroP3G+?>Z?Ak0*G;{a87c~?;1XN zULHs`f)v@y^1|m+h*5>AC9JpXAwWj#;1nK99UUsQdDRKbbf1-IoXj+y8``rBE(c--A1SenDVrQ->}vB zV2EuK_E8(KY4^Ts_X#CLHYpb8=PeSWd2d*|xsf^s0n=X<_;fId!EDylC4>Y7lj1@Qu)I5=*8~H(BISCYb)(W3@%m}BF5lnn>L6BTYOaED z%L)I{*9Ke8|UClF{Z%3{B5cfol?-x=_t;ZWMpjXpt72`rF zU`i?9x;Cv_F!GhkhrV|2>(?m1925i=B)y#Vg8U?TNbFC8A0*yg`@POq(HvkspLD%H z#O$d&DN1$by-EOiDCYBvg^2GbwBgb$$1lYzHniLF0HS~@Zs@agbUB7Ru6gFEh&Dcv z1)6suRO90TKOcS=5&tMtM1i-w?)ZqmNdMubf6q``F+wkJO+cSp#wd34cN<(``2v07 z_dN4*6&QNikXaCs_Y8=9LXgSE^Kf)mccew^^q?r?5vV4j|K=b&#K4C7LXWudr|n_w z*#jxQraC3yGoVtj(roy$em-~L9gs2hDQp8ue~K%H8~*YEAkYEMclo#bds{n8UWpQZ z*XU2mUB3@StiRA!OUmN8JxR2t%poW~2~0zZ`h2-}*k#EP$ZXA1c z!HQ!ESSUycA*TYC(q<=Ip}h`p!}PI~_3qzS&hOt&S>Bu} z1K*tvyeLW86VP=Z#P`B4_Ao=0m8LgO6GO63?eMhxweTj?LF(rID`r9Yyutug>&@4` zL3MC|-!A)A`X^D!>7$8FASi&Xr#03g$e_`fN4h_9Ev0>NbrUGJvzK#VwW~a8eGz6r ziK(&rJPE^cW&Ccz_{RQ;_S%7fK1YDyH$o4;OUi!3N9pihFOojO0Q}mD_56$bA#Ry3 z`7N%G`li{3hID&0lZ?n>DfrhHC{>XAY|WTF2OSR9Sz~NkcVD(S%@YVey6tseIJl5| z>$6&O^FHY+q#1%Z?iP1v5>JKiF`L z$lxDBa7Pk82lz+<|5Qtn-9-{rIoSZN@9Netc~i>edrf$W{TuM()&hKQ7EzYL>an%_ z*=mUm^zCQvz2iEG0>2UIGQCeAksSRb3%J@aZl%i~N#Jp5ns$KS8o_c6rKNBZeW$WGk%V5y0=<@VV$_DnQko8}=u=1Qn2;`CG}m?+ zdg!f7ZBCwVTIO!T?2{cBj=5+!ICV1F1qt|s=tx`KUZm^iy0=VxdQYdRieBmm10UlU z&BPB!D~?)djW%J`m1gxhiF;?WtB>}P!;D-t<5Rsvc!2d)!|gBUFwZ|P9z)i>+N4>t zi#pDiX6Vq04fT7p@jf9HsbxGrGiD55;4;{$idetIXq1L0ZxhjoVj`Es_F7NW9zEzS zDZC3MtW>ZE)x%&l0ld-np!psQFl>8=K%r6A4$QqiMd6J%n`|qn0s&p%n)x$@Gs5E^ z;0PtaDW`CgQ!IFst5I{2pc99iZG##a-WQ1EbKXRu^LbD9py}6t@6yAQsG%$TE6^M4 z?9(2T8sSB~97H0MDPL9mrhq}5!ApO{a=H1otiaAKA_C`cJ|eRwwVca?J^?T$%hKO# zRxFx8gUE_soC%x8av~Tc!|0fnQi_>q(Ub-jA6N^a8)r7 zGw*d+v?zM^>bEdTKY@)ed<{N=1z5sBmYvS9mBixOLEbehze(AzMGEde*W~#LC^40h zbQQ$xH?o!TmiQ*JnY>AW>J7*tvzwH6QbPFeWdSBODxncAT5r;g1%>CNI-mY{3Gu)x zKB1dx&!?f-j*Z$=2rpYL000jVSMZgOUdtt|T^Yw*_uCa+gi0O8QLgET!lY5YjeSI9 z)EKk0fH_9gBNL24}bHH3oQL9$Bm={EGxt)V%zu^Beja_Manzx){5@zw~o z`mN?pEELvjk=H;Vn&!p&YifCMm-*fS*E2WM&uwW!#Sb;-#n~-8CjEy{ zVL0+@c%%R;>%M7&Ybe|(7)~T{ZRBaluxI9kceyKqxad7ReCms^^#*6t)3T0h_eQfT zj+N@|EwTmgy7!}9M2YwC?6GTL-+}v6xn42-&*4JanRyiE%b+4y0MK%dR9(H-d0dZX z`hw<_o@$&nt*yx*=+-OA|EHG=lhs^LK;X1JUvnlOdSH*G6g+VK!3Ru>rzrMyJEM=p zcC$V8#HLnJ>seF^ChIWEYowob>O>r;N4N=Dh3mOQWHrk5yxycBQIb^$#;5X{hF_JK zhMj5KY&nJK9Quf?{_+5d2=6S1V4uN*9AJauIH6Xi`td0vUj}neS^C$Nf*I`xb6%V6 zpu3I0;U)ZBaxz(gHgYv}k(>LFcHc|e#Hpg7c{_;BUY{nL^} z_A_3_pk+;{-o3+&Ks51gr#`8fu*d0?29Xo-=i(1`UWN$rs2;NL;inJ{k8Q|5gv#Jc za0jz_bo^bLM$9Iam!Kqr|C?=-mUB8s=6HjJshJ;zVZu*)@0v;bDS-K2!A~E*qDc^i zmH>Os*^j~QAE>f3ck_%nbqf$OlJQ2vX8fN~G9Xk~>B(~DSLwgI@C@?VOZL;DU&hEJ zC;1LVih%Qzq8lm4r)f&z)ehLN+?*eND9@sPp18O98-T`GpBdY}sivsx+Kfy-L_M;Y_#0Z1l`R>OG>1g0h>dt%ptZ$vTqTK0!Hb0+SG-KdxMj*0A#^=*#a$a+IG? zH_NhAVCZbS*oaxZN~sNm_ES1G-Jrpyq;pMF(ld=3n4Z#V5O03qNuc|O&_@KM#($9l zY`cbuCmPmqR!NHm*6Q#Y5-a0yj?Ur3aKbn5fb#hmt)h_gEf1L@ZfBPw*Nd7wvsjNKKIdlxry!S8h zjd|~HLPLw{d-q3q49x5HnCdu58Vqiqhw_&U{m6O=vIyQUW1v0U%YQiY07mDPHXEay zR7Sae=u{+;5)nvih#bf1%H>uH-``a$s$LLNvDvHc^wq5kKTUN31lT7=_=cz>e?s*1|ibY-6`GO-2&3xAl(eo-Q8W%-6J90 zAu%9IcX!Nr$LIY8=fk?rzV}}D3UPHGqA0FYzE$Cwv|=t?ttXpj0WTix(Z&2tnu?EV zj<<1(4dg2_yGPRyfPnG(wLxS2{M8w&=5&!Ezx>pFot&~BSmoCVI!a1Z#SMY7>dIT3 zat;_L99e7es$~sZZ6?D~TPK~+`}#{UaPZ5{WB0g4WPx_R*ZqYL>l`3>0=a8%`uFCY z-pWXI&5k|9W_X?%qI(EA2PEaRLj5obe#k{u1}V-|wAlhdbT@E9xuV9k#DJQ8w%=@6?CKVw99spyeqd z#l;5?ko|UgIqDKdlu^l`Z1@+APt# zwMrzvG}7OpIcn$H8O_$j_+1<#GkB?;SC+}#FD2NB=A3!k*Ih_$tqV{~vv(`o|G_&h zvk$QDSWzG_DQ)<*HZeQ}%wF(ZwDCOcuP8Sw56nfYkS~X#zoJX0N;{SxEjJeo3B*>) z3WYyis_pd#g!O1Q4z(nfh1Aw&>4ZFQCY6QQxW9FMDrDDg3>k(PHW5$1oSGZ*9##A<4>pwx%4qy6iY}*LEHTlPcva!_$S>cKL=OE5Ho` zT?V?euj2K<(SLoRCqg-TkSm;oRmTar&R-S1gDtqR3Uw4{xRb2q@0Q*Q#+BUQacf;H zCBDA^ckG*_F=y!^Ob_lYmLu~m0J+fkIT=zV@iRy<#Rx0%&L9^ zPbO_Z9$TfIM@ff_K%KnzYLbeN?eXj1#3TKc(hp$E_NScIQ$)CeT@JOIZYm@PJgvQ7 zR=pyH;<>qR+H;^UEn91@+3F?Uk?JeOj3o9(6{tJSJZkyFdUrs!U&-pBz?ds|K7~~b zu2GG?gSlCHX5QDn?n|AG;rgc*#eG~HBns!dNTW?^3lO#0@~!o~y3AB`3kQ1IFJGb= za{+O+N@I35({IZKy`H!qe>82+vsMh%Ig2eXJp2hQkx}7Ao~HU_&cb9J#Sz8KGX-f4 zeQ=t{Hgwuyu&k;&2!xZP#@0w$6?OYtW=t7GIBJ=sZmaeY_k&CP{y&6Z2CrC)l_OYU zy?fM=f!SO8IPY|mn(mX#g{o@z@?4*@$+f1ZI6dg6)@+wQKT@E4L#DUqYPG+jid$@F zePx2Zjdu7t!2;tg9Mj2sQdKhTKdIaYIs~503le0PvPSD0>imRHP zP21U(pkhEL5;yoQ%G=n6)ATS3X7$x*JZHyf$IpP%0f zS{n`JhoaJ6Yucd~_C2P5Oys(-RI$>Vj8s`n_6_oVM`X|4?6S)9_diZy5)PrnV%biI zf7{2lOUUNLFt#JpqPqJiv9{{?COp??XstCgOEu2MC+E{K7OJ4F`=M#he!Q0%osm#u zcmCZ%mrO9eGLMz(gQLNm;W%7K0+LNyO4jL3$@HnHf?L*5@TZOpSYh%K z#zPS~>P<>kMxIK=c}#rcTQ7@3FiB0a<0LuF6z5 zdoJ>dQ?z->4-dBjq@q;t+3(tzJ2ide2I#n9X$wu^c`dg?Hzg%WG#6MzVV{sbNsr8p zaFNWD#|XD%BuY*w0oK~GXhPNBkS$N2GV(Z>-=^@#}OxwUOui{@$GySo11?aDo;PpN1;fUPz zrxL!kxQNOlkWx1h0Pf>lm%6b!Izs(ZHw>hN^{4{xdRL>Z`SR8qgu9=+P(0=zvPwv+ zOta#KJ^;@WkDgX^M-`o1IANckODejg>nkb8i?pzI_x$=rFCGk2Wa%ZNJWd)R2!V|$ z4*Z6Zhdu_jSm5ww&>Gk3nCzTM`EbhPl#Yh$boCVHjME0)dULnNkB9VWp4>`b__A&? z)+nHdo{TDjTF#+QD*g_pHc^k_ zptHHOZ-2>7BvIV7lTw|FBG&PGC~pi6padaydpa$ZUp&IQ9z4?)B>Qa&cCu@fUwBLw zdV|5x?zM;+jRoC`c*v$-Zbx0jJ3RPH5rfW#N_P^H~khcojdp#u@+YM;?{6= zzv034#r!fA{gJ1NOcJq(55*fd)~-F#reC;x>_MV9@c2m<>j@Sl88fKL4lfV zN^;tYa3pbz*svSJWsnb!;l>Nt zk!$CA*BQGb28V;yOxl69(8?v3kZ3b~a=XJkNBE9)V%SK5+^V5Gdu>TM-VWb8=TYnR zp=f0@{Hu3?vYrN#UzO)+nhUBsuTPk&dQ}Rsrddt@vP=G)Q|)LhTtL_Dr^!R~`X0ok z77vUijfyNN>P?dkUZ#fd{_gN|#d{C355vpguFG%=|vsvFsmST&-M<2MME;T*o)Og{nd-I8+9kw;3amWb8*e>JBEr3rgkMXV)sdcHm4!p%31DPKI=mVs z`g_^6(3yPGmv+m4Igd&vtMvE`+!s*M)V^$ z_T2-c)~o5QF(P^FW#buwKVy|_o_9xF5>q!KsnCtt1Z zDrQDhFKXb@sD2nGF36BwIB<|x5q+_^8twEOPcb5j-0~kHKdOK#1_EXB%7F#&VzwWt zTi2-i)eP~XIx3Q^Bc1txOh;Y!%Fn17u7 z7>G>qGpO=*gSQwsuQcaT+2m%FSp{fH;q!G?=2||*)s>T+JVT#b>x!*CVJsI$?Y<2- z^1yrOJKuJpY|#9_-YIlRB7x?K-1fB&;$l2U8atg7B@89}+4gl?KVi~o^mNKJ7QKG{ zw{D2Qyf_PdKK7q1wA~@J{wxguW2QZW5bxoB?hhNsg(Ka~n;Eu*e@0_POIR<5)t7?{ z0dwn#aRZA|{YkO^gd~|YO)Ok#IaewICtV)(Kejecx0#8L0Hxx~K-h$Dqi(bB$&~2O zU>X*Xu0{;8A7x!~xjyW6#P?1zo75_qaw>laIk-M0e=SP$$?1RNS3d1>TK-W!Ha15I&#Tv)^tL3AtRN}VzGSU+ z9hCzaS5i<1T)EzrBi+iEw)o{utnA;>c`Y(!oSX>|T_Kl9G|d?PEQ5Rzw^bU{Ogb`m zx^i%B6rrfiOJ{x|;1&ed;6sD)WFVfH%N6Nau+em?HbA!E`+*ccQ$e>GXPIU3?7V3J`%YRu8=Ie=Pq)2xcGRG10SoFJP`0 z-399uu#e7#aoa>SnF8f3T%jqKb5vy0YEo*H6g7W^k(}W=H(EZ1UgYxg>DbK}4#?0d zwG1y!PW~F(_wF>BZleI&4Qq z=sWlM;eY_9)$=5KPYfvUMXUT3p}3R7Oio>^eui1Pp1!DfrAOia+s1yYq-r8Wzv!~YNq*;f$YDt zD0JyLlJwow&41i+5RX*3H##3Lp8IJ7(C7z#mwf}@SYFD27ZLH_k4^Hz;L(1l+3kz4 zR22TmIOgO54fWx+vD$;g0b)=RRVh_xoGHu)Lj2~sYS9rinE#P|sD{2Vxkcg#J#y9A z;^H=t<#ceBblhj&T_JZ(NFE92iOrydBu3S)hgFn7N& z_!?Nq7)EF2!m2)%62WE6Txo?qrbsrTtnFhntvL~X<%^U`=x`{`3F^) zPcP&HHgRn(-OiIFbT8jtV|REB^@z0PZ|Od7L_gm4;)#rJfCFGsod8-~2CtVRJfa}~ zzXsgHXOA)Mz|$2h=;68tIqU5CCEkd!Zw5(eP)=FSfx+=>9f29^{0Sc;kWx6wCn&d8 zU4+~b6lJZ--4Pfe#a@KD>t`#$vL}fmI*-GPfAOs@`j@6}utec_?o`ZZ@$MD2XC!?u zuqAT+tg&4(w}Iaui$NHlWH;XdKAK9%|2iW!s~|z$J|!nfpRM3jo#udJC#hLr z<>`CNSwrzErHA3$n*vSt_Zq4j7W~QRm|62ACrQtc@9Di8KIc7$+l^TfD{sUJ@0ok} zJx+#!$53vY6_M;~9)Z!()SHjRTm}rqhqphHa$>1=+Vmy(s))xYZ@Lyi^N3Rgukl0) z!lSpR4$)jRadUovql|D`;{!hk#S)WPVPTxr{Gkht@r`l$tY7pGA=N;HcQDomW(C)y z)60cLp+`TM{3i-_Dr0WGA-Y8Q5?j3I>IDsT4de5OcPW}uhI*XsmZR3^VvEWmmPEpG ze&qge8V`Rhbylz`rv06ASpKw-iNJ5~Sd@UH5K=LW`WPu4H*h^(=Mub4kmlX+9MA(U z$Ei$9Tz#*I9=CHHb8^-SUxmKxFj0^_HbO@|1Bx(gB#<=|n@#P?#CY<=Ib2+}g~>7dJ;#qwIu zXn?i#&k$$&ee7Y8rBwe)KOWL(n6|NwD?w zH|Y71CrX}cSX0qX$jcz-k;*XuforL$}+;?ZAl?2+6ji|z1l1rCMBME zU-HXrP|g2Ur$Be2S)clYR{QZDzL|v@I@t45VOJZEK>U>m_#Z+VfkB(fdUhz7+h0%! z9ZX;{g~W7+>Sm=(HF8*%bIK(LAT_v;!6)vA!Htiu^T8NQCTEmx zw-{2J^`Aobka2B>RjFjkk(@7yxEPo;dk0oB@b9eCOzTr8*cUjOzVA6M|0b_jLhBgI ze64bv_pn;{>vI1`39=kaaD2K+G{IiBm zkJO&b&+2RXQ-E4NlYgl1e>sVnE@FW7$3Y#2&malvs| z)Q#b<5ER7YFJi{z73rhGou}_|SgFpv#^11CdU(B8H(Jl2EGTiP6p3KLNkX`T)?x5= zr{ynC+T@|0jHg(ScrZgKA!7r_zV1wuy6ADTR?|F3{xJ9&`VS#JI0S9$wIf!(ZSBhF z8XFnISiW@UYFKxB701al4rRr@I z;i7tbhiWk8BBw<}p_y91oh2)LqLxGW5~k0*5IE4VsOI>{v(LvpIo)+E(h?_ZLZ%|? zJ-W{R9fYIr33^$&P$QF)mhyT;kY*oQ-(m!qX>6AMRLsGh>epPSt? zIQXkAc{p4qoI>#R3x#b0#dO3Lm(W3U<*qG!`){7LzdufQ=vWJgEVUD6>sZ@38wvb- zn@agQk(J#nd;o&%o>6X5-Th^uSZEALP2Svn!EP7{rO^I2ZoI0rAh$<4*ffa!p~b2afCMv)no# zbR+aFAE@dXy1Vf_c0c87lKEUsMb&;;zBoa7EA18J)wl&;3i^!pQnG}kNUEJ=<7c?F z&^EawY|4EXjpU2pLY5e9qyzecmYm|2p_1QP<4HQ-$!Zu!Km0>TIS|3Z8e)gSV6LVh zkSkSWA49C>TFt32tAtnE5|+yzu5*$eFL$hApXm?W9Lxj2lYjhkP3_|Hjbw27gOmfc zEF2<4uEX)ZqKSf_^1c1iErt;A+AT>BJDmeX+@813Z4~2LwR-SssAn`nor;uB|G>$C z^ww#k%*B~M`*_l0589L0DdU~@9U3pwx6Gd^AX$QUm69#KzG3$vcrb^~Ckc+ZH8}~= z0GCLhQ(Ws#J67keR^+aB06?HPsZRhsqG zn8z>Cc4#OKVcF9f2gcl#hA!&-dVr$>OnAAn?Y4jjT0%-He~&m((L?_LZ`-VWj8an9l^J|4e77`9ii*Yxtno#@hco)#6$zV-I zEe8RkVsKc?H(52YllR;-3a4$#oLtRyfe9#b)Kpyo)kQj;vrk6U>bt$UO$*5iu#jL2 z0{A~grPYtFSP$tWL#eMv7u=TjgN+}&KHNUc0@r5fgvR+;FoYB}1F>Xv^~Pm zX4M`$`uyg^0!bFT*twl$JL#wH!Xo7+KH(&k9EgIx6<29>UFVUN>3i?kM4kB?fp3f@ ziPgIB_v=at8v&rOgdTD&1u{CE7&!E9*c>N(ofp3K;rsZj8Z_MW4<+zPRBKmzqZpOt z1mbPM*>HiJ>Mq!85P*R%LLgNGlibP0e%hKVO^o=L&dmhO|B)oYS z1Aqw|+dApYPIa&leS2ZqXlb=+4+~1s|FA}Fllt0U>EluVKZGP;<`j#ygEK5?Q#q7e zSR_dlM!IWxflLPlxuf-E#NnXUywuB<2jv(cXLv+-XtB|qz0AYmZ^s)Y)LZ%nIgKSc zZ^p)P69@MDfw6M45LN5L>t*kav4I)fF^3`r=W%N;jS$%24Zt&2#Q8h$*i`So)Aoby zFWtSG)8_%ty-Q7(zTWP+y7EbJoZnR(X68LFB1YGx)*{>2LQm(@jJLhjxv((}Em)sJ zI8-(O{}p@lV;e0P|^7&30AgRTKOW^ovcT{a1Qklb~7su zXN5bI@Sz>8dGF`#6D+tGIH>utpbN{7PTTqL+Fdb;OqThx>bP1QEur(DV+fU5PD!$B zOEwqNY8Oe!b}8{b(B0N`W_Z)3^Yrf0m0F}ud3$=QO6df`X90$Gkk%@isJp$Nusbn2 zdOo9HDjhiX-%}6hqQ}bQK?-7+&`RrrHEA-yakzXo=hg{OhJA7v&tnZA)cnPraT-r~ zDs}vo&)|sOYgK2D*;oPI#stygC@<8_os-K~cP^=mi>L$t1dX5JizQ*T?Rbou3Y1;^ zCOd*LCYd%hu+|4&MhE)vh)WR&`-(xF*7fpw0sxG#BGD1JTLMy`^)J0r2R{ zUa0MT?b0<@T%n0n={-+ilz-E?TogGGg;QDdBcuhET>64Hb;Uh4pkGrKW)c(unF=gX zaNr?oa}+H|`9UuN-#haR7wqWLs61=}jhU_hhwB|SwI0At3zcFMAhhS}~ck}_v(xwXLzzemH zj)X~lU{THi6b|mNN&(C7E>vSzYD8koCG>rmk%41`wq!}Ba#Y)GR*QIex*z_2!rmXT zV4qe2y}ZIpm@QUrVl!1vi~OX`;S$nCDr?Srxntxv58R%;c&!1KVWg~7V@iAhhiLT< zZO|RRoNHZX0TEgej{Qeq+7Z>3WP~asOOEEWJtVp(H(?#tZ8$+}D;V(B zsCF37elR>Co%-3ycH#AFl9CS`?P;~A{j2fwfSPi5KCr9M3O2p7EgnMCvb5GI$7Oo` z1g3BKs?f^(EnZ>sM_^Hg5>J?Q-V3Fyb{!RgbS2s(wcCE+eZq z&&ds8*VSC$m2yl*qyC|!p|Z{o4(wg-HODirUo?BWLjG ztDiFY;&2oipNa!YuvZdt5KYka95NqGHCwT4LW?Ddraos5IaGvy$cu+u$c$}(g^OOg zGAy{BU`hrZGmdBOii3_uI_>Q(Wg!XIoGynb}nLvum|D-<6>SMlNU>AjG zsZ2Y?obMRuxHZ!A-$D1qG2k~Q3ePOp@EET83*XAYb zT{dFkAO2J)T)p7ya)W5Tl70=v56d+)_7Tr98-CquJFw;$G_^(g`Q;IWUKGtN+2&An z0BIUZY_MnQ5*nx!MH)GdoYgzoA3b{6Db@it9uFj(7k>ovS+?KmDZPy28JO7Va#?pQy_{}pgPzeli98Dp?aMg{rosJ+ z>g1t;Tvo77kf{*__lk?gx*jQzlzbO5|IKz;1AnrK&Q|j7&2{AXLme^LLSKsdeXvts ztI-y&TS*7X*Vufp%+QPOOb)FP@cXgXj#4!S0II<+z?K8G0b#NORAu0ueaK*hT7@So zC?GMDI<~*5@F19)9ZxF4bf!vTnjS0vJihe>Li*xyxca#Zl;0)-wSWK*xN$qrE%xSh zw_C56k{pkkWUv-KvwW5&xJs)-?fju~|EAWt%;WwaLWY6xeU|#OM_A^v$i7*o)cVox zFoa;bdW%X}3mYuE%)s~>OZl~!6NPx_U}?@g$)7L5^V7jcBP-xq)RpiTT}1TDShimy z+{MRFt=-z77bkwuWm`}0?u*F5!~y|k1U=P!()u$T?UxF7t;VW@CwlNMfbLl%`DhrQ zpUy9b$lQj;UPX6hPhUW~*Pht_)3rsqm#<#=*}wOZCRd~!n(GY$Hdt~U{NH=+2PM=w z_wB^>SQ=voCQ@r*=XP28FbyrI*GSom2EPr4dTGZR6>3f-2$4%XItJ&qp+h!ls?F+O zE?eQPc{917HEkDWV=2n(`M#iGyCK!Xx$wjo{BqNXoIN|8<~nv7)5RA)=+1L|3(SzW z-^MiW0xLF=a)_b5vD9ODF0Xug`->I22gOoYs~vL4I%7n_0%NQm@@q9c?QWi2K(*=E zO`-mp{@54w9alds%fIP}`w0zvat*&t_Nz{Efi#(a`i70jENF167FdA(y=IVLgahdv z(F&)-2*Fpe_pmEO2cs5kJjb9PVR85cN4T}f-+u_XL?FC^{X-uZekp}A`j~7gMmNBu zKGh1Dg2WEi*EptF*c)B4N6L{wzHK};)RQ6GdwW?Mcec;1iqPJWwp&Wr$Ua4P6i;ea zcR6bEMc&Q}QS;M9l{H9l&32?-)i{4w8X?vZD3qu;Rs4>dtn;=+|4U`W^_G{|?To~e zi&4Mi`aWOcdnQ=y2dFG>WfC+mrH+*zIICrYy#v{wAvrjuVEkzBIV^{!S>5nqTc&10 z#XnlR&v(0zqby5p(WRK`?d1-I_v(uQJxmliofezhWExZ?Zt6<NgYj4R(P ziC68}AY9_~Ecbg4y^_xmoRP~e$B_v8tU}Y43a#t9f=1p`YTdETp=#ydD>3`Bkv?{% z084e;`8}X_oRS5|i8O02^MbiGuQeF;&CWMn&q22@&#Ym6%mh+1J>De7mUJDG%N|=s zgi@X{*t#l@E?=b~aVAdzXP5Egey#TEZXzZ-7&P8!p!~ga6O`mb?-dc#-YQEtPw8b1EKt-KKr^)q)g2zWU(hbg@)U2NxKZ;K3q6xVO3`@q5 zfF|N)JOZ)_w@;o}vH{TD{jj*)YZ{1)6PS`J;aZOJ%eg^FFnaNpetnyue5G+OHV*x9 zGY$HJf|}A>b~5g|SZKg{q!F~6l(*lpX7uzw(g!9AUi|+lr(DX|BebIswVv)?UQnKi zo9Wnmm2w$$tbNJ-0M+~frwI#tG%x3lLc~Yl)bhCaojb6)es)1BRHdq?+O%V6TdnZA z(WTOuAu4!Wthb1Xs7}^`7kBR-%6CvN~X@}b*#^oSY*X1*Qz4PJ( zRaKsms-$;>cr+5I#J-6jlxh!%U7vfwcnNLr=mQ3ZyRA^24D)vzD)_zo`R3jQ*kyqc zBQ|+$LcIao){Rpd{i+_8*}?u5!9x&$v19fWAK>Gm0jHj%neGsx3HPU;J06RD3l$nczDIX1JCBg^2ADkg;Qv^x&cDU-Q2z;u5@J-0&P=zHNl}`$ zW~kX8r1$x0;#;bIv=Ials?{*PpD6k^u}2H!{PyH%$r~g|C_2|*b(+`Q^zU)$o_yd2 z{6m4>ZYyef0AFobgAb+i9Y5jM@*)7-Ht*ldA^LecC*5G=oj9t za+y%L$O1ZnciMbNWJ%d_m91aj?PSlSEaW;eMXWE7)d+a=ODZra7m z^8@vZjAW2)sxvsO#DQgE^^=sYot#MyxoT6c6m?EA>c!Z3mq^pB?RXb0&ElnfiiZD4 zQa+%nn)FJkdAker2YpkRaR_1pX3%@cyH!}TeZMlpP-S!#8Q&9r!knR%E0s|qJUV-` zXK_X9M2T+rAZj`~2%8 zwQmt~riyz`7L)h9}t5+%bj?Mx1iWB~m8V zx`*Ukf{kt`f%2OIiY7TXAqqEbvm1ZOs^AroOROaKT$P?+(%iEAq0<7VrGw{ckLXu7lH-V|m&(|HW<__FlCm0#Cm2rx?#m8V||Z zxVZHiUE9{G)`gO})Msh&I^cJ+(HUSj zNL>7u5md7&tJFX(@1^J6!CVsfL`0z0QyqG7wqqmm#O{CN0Mny7U1v`?@@6Ufe_2sO zgO#oG!j+&StHEx$0m;Kr-zO=_mF6O|N=wIVrmyq!-;2EO6TaSv^0xX)LW3=(R@Ckq zxe)YJmTR<%E=&(I$84KKLx)gdnUYENOM&n|VYy2%*|y3X7%f-I6l0O@4NFt-4yt3m z3D3EDyr_g5wYli5E=3er(F!2b7jyVDJNFEbx?F%03hmpoCfl^>#mea1f--;E^gku!?W90X$M)XV0gd06XAnCO6bsq`B&4 zQRrsbk3O+VTIwzf5-J0NNS;_0n&FfX{A0`MYY{Im@uFoS-uiG|YvVOee3^t%RCzPT1Vim}wN7b}xOgLt0f z^8IKg=RTGOjA9BF!5JsEUrbq%~A z4}KGF^zk8PkNT}|Vu|YnM5)WZrb===X`|A4xgpj|Dp36urt|jw4tgHIyrQ$XhImo5 z*GTzlW6rWT7R35!wCp<-W$CYXOv8V*yK<#RQdMU$0#mKCn|#x+O!K}7?TiPg-Jsgr z+u$3OJdY0j#_?LMp*IVWNU)c{30Og62`3YceUYJkoxTYgAQTY$#1$L6^vxC8id*?> z0NUeq=peQmi}^x|gf`6KhdnOjs~7Lo6`_iC(>?!THgspXRm4+tMXVIN z6k2%6o1P~tdM_p#Y1j-X$uNhEhG_5hK4A%&Ngzq)k*AAfAo zEnlMln1tA?eU-oQX!LkGw>?Y$Ss(reBEZ9L+elb$U-q(dEok*)3SriVlA6TNv@n@M zs*mN)@%EX>G;n!R2V{7uld&f$t>10tz}*b?77SNcMJE*<@*MYb zYTGD}X`gP!^T1u~S2Fs7{PZ#p<((v+zH-cjwL$8MVfKp$^z704CQcmIjf#1E`qF>c zKo^1drGTYmyUji>>`!eGZVP+`dVLjx?vxlOa8$=JzGrRCNSOU)1o$oBtL^=q0sm=(1~S%q06Hc%lc_$=sa__Eo4){su3OTNg$WKW z(m^$2XwlnisjK3H^2zoec3Msy8MD%XX%3i;`_Q7K44N)Odtg#YbZz z&`9|+XsPBv_i^b26v>-}c;(+ev=a!w@DCx(ZT-V&e<3Nu*q#59f@k$f9q2WtLPN9NT!(}~GON|OZL%eo~6hcIe*vN|dnCmK0ayMr(@e4QR*Aa2=w z{>g0gmiX%Bc+508U1yJ9h(zshj5AD8sl~{s8}gP>$fvlsho#Ko60rPhUp9a+Xvwj@ z*ap*I28T>m)z4$oSIKtC^cgf9rw3*`z`m%D^l(YD9`v((QYnM>3tV8mEX)nsdYBWA zo*J^Ib-FNInA)x&~DOl^BLad3cejGVW>eIcK`6a{Ay_A`~skr~@V53Oq z2)4U>;l1CFg?;>(;nh$L;TP@becNADVjm?w93*+u^YL4~6D)vU7(=5kdtS2@;F9%+ ze09*ns)Tb01No92_qPWxSZKOQVjVb$RQXVm7X~?tN-q0X1YAv8ow>#X(`_c#-n3vEU50@FHL4AN=RvbgvT%Xlf>bkK{R7fUow2TrJs4T=@$z`-AR*O zR+5%IgZ5GCy5_uGyodp}`Q`5_i#k0W+I7(A`RV8jsnrcM`kwGKmrkM}Z-?RVOK)xrmfs`v^fG-clN0upU{c;}G&y}t^T9ukx zr~!XQ;1Tj)mh%oA=Da0La*DC76Gq5yVIdgv3MM(N{;uZ0>A+SN*$BkHvd2u88*g3b zlY9;&ZcF1YJ4!SmXD?fBw0N}sI1$)~%(33ComtQprl{6`VyGd8_cLAOaBqs@P|LO^ z<;5nvvLe;em~NF^=H#_kBWXoUt%z(N?2V7jEK7{Op7G!=vW4u;roQ$9v!%qx`Wc5x^B44U zzTt3JGwfLZCzrE74us!>S;0}T%+)Lj{VinV=T zC!EJ|#q!I&w~)x+VO$s<0-VmEBId3dDH?wQeNQA(2fQRsEHr(`$=sTC-$SP_8%K~! zQrhe#IpKl=D)bAtmK*l|+bs;!GaoSmk6sCew7D=}|T>UPhQFQ?U;8 z7tL9}Hj{?;{%S~54Ugz40gpWpU`fCrvIabF3Nk4^8-1l!QVKDB75D=p7&0zVO@0sc z^8hzJ{f7LsYP;at!QnGjthCE=x}kn)r^Y!WEkB3$c5CJ46BzIt=7bLJhswuEA`^$i zz4i9?_A<@l?LJtt;u{8?%u1AT*FyH;^y)Dv$ko#u-+mLQc*UfqD(Er9Aw}kvIEAo) z>sOH_Ggs|dl%gjpLOgu%jBVI|CDnqE#2Mktrj_kBL80{2Q1+)?j+5B5Ymihaxs~l9 zT1$$ci>m*>{m?-m0xFF4L8ad|*@xs>C>TWJz~&Is_e5jTf0ffNHa$HP{@6wJqb@djKO+t}^Fd42NpWgm%POaij#QsjNGRdvx#WWj?P?GYB=L z5y7!FJ4taO+Uj-Tbr8&RO>6MvkmMG_MMPzfuBMl0`ZbS`$yDPL6A6E1#!0g${;;}; za(1YP@Y-sVQAL}bU9lk_%;I!4-m|m&Fh1{uYLhNT{Zxh z9(Rx#Y{iw}&B(HE0Y!AZ7!*J{b{4VmmG);Fmx6YmrhZ#1h~ji8<7 zq((4PJ8%u0JB>=8(CjR^TOiOEk0K8aR}X1xUywojve&2T8jP0M8pJ0ng;FmZ{bjg` zhoYf950MY3w?nP!M~&Pr%?}dfzc+w0Z6(54U`eotYQD{ZdvT!#pktDMVkml%Zvser zwk8Q^2!%q;^wmq8v_-5O8(D!qSX?!!iW3Cj0Ol49d-nL+p&}T>bSp!zNmXtj(IrqL z*q}_4UW5d2?G6?NWUH@tH~YMwLm{E7bn3=^7?;{BpP*HY&}K!)aG|y*G}~QfZWM4Sh`g-& z!@3B@1N9HawNhb;pEQ&wR+YG-6ZX9#{OwdTo6s?Tm{Mm6Q&5kzvJOs;n@A34ZUHZV zf&4YpNzu>XXB$c*oz5cPLt4xCRK;57oZ=NMJ`up`u%_^lt`;ZDJS%NIbosrrD>9M^ zHQm2cZY=^n!UCdpgt;rXM`#OMf=5-R!?q7KnSx{vm0^)CTN!^#{yxfu{@oel2B~g* zkV=osai-Lt#frSa_z)4yp9U1nuAptLjb1){V_Kx-Bc3`Gv;+w}?cF%=^*j+u@3|Os znN6qhYp0h(;l-pMO4i%-Q#CV1!+)IjJ9FXw#vdZ99Q-lYnu(b##T3+PUyJ?aC{X6} zSXwLbP^3RuksA;EdddV1VJH@g{j-yDPn}R?LG-TD)2V%7B*tH}Gzu0mww|6gr9FaH z_Sseqvm;`d_E4#p8(pClk~W_2x|~6w4ijc33v=e1A%JWpt%ne@BOpiCd7i zj@k{9JK{vJh<7EnLGnQ_(xr0xb>ANN>|6t$eR14<9uP23t<9NQd1OyPC07Cik2}j* zphni{deJ0gN9naLhc`iCs01|0^sCh=321oZ`|fPq2!VZNcny0?!@-8p?$Qfbw3&dagUQ37 z^9a+CFeLlS zZ1dVez0M|XeUf?yVcbcpyr|lj$;)sKo;=>IB}m1<--?XOzk668_Bv6x)3$y}u&$E) zbX_~u7La(p*S>R(fBeXp#^$X^75m+G>2>KG$3zLuG&857|4-{Gt>zsonF?<=^|0pR z?ytR`$}bQ3K>6p%fC!dQW)%C<$t~!dj;zGHLsqYYHfgdW#^d&eFmPM z2^+J|96B5y36SW$xy1^yqt(@v?rJ$Wa?FD2?s$&Ip8IV-TW+oA&pfA1K^(l~AOUyK zlzW5Yc*LdJA3Q`5o0Aw*M!q-6V9-*r8RrL&l}=lLLJf7Aer&S-k}Sct-plh2wAWyJ z<{;h>SM6Iw(;Do z42E{~M}(praM3`l;i4Fff240$o*4N81*hGn22&{cVZBA*0ldKsoVE z+6iQ$MAMN%G|*Eg6cV$(q6ih^olns+NoK$|eZ-K~>f2F$MO2^TkYmK#{dagY=OU}p z@gG9da0sfFy7R19Zm`69d6PZIIM^1vTJ|Whsj}uKGnd`67f9JVT6iG@Zha0*v%(Kk zhy!8e-O!`JQ0ZQ(6UaW>Zx-~C#bYc+(fH+isk)1q=A0bsPEJj(KIaekZ~uItRJ%n- zX?EpGjxKod-iTX@(6L5dMoIuV6)4mxXTG(Qe$|R%m)e>nMTrd9XQSIn7c3uat#)@0 z0xwXYPHloJNM0TSIh#NymDA$$7BNB_q6O`p>~b7E!!<;Yy^jBxp=v;d5>dVG6%1w&Tt5+s#Uln&{TM!LJZySqVJ8VTv{?gr_O7wJa2yIbi#_xRo4 zFlYDd&NDlMUHrkZ%jlYFv434BXU2Ho3DeeqnpR@vUUIae%m5RxSp6kgcoH?*{Bp-0 zmtDjok|?=g^EUFSb6B@KeCs_n7rP;;P&YI5F7a6IHM03B&!lF3S>rL|8}_J(P5a;c zFLC?5%g8BWGqvUfbuMVFZe+R1EM3?p?Dbq#`Y)%!a(){N>Ap4`*(7jTH;S3TTX^`{$6X0MEui&)lZQbOQrQwzrPhs zeTcQKgMwuNXE`v9RWn2;itkuEiXP+?L}lVi%YVA2WVwaw?@Kbz8W7VIbYi$yv`15bCgxrT)>Zc^m!uZyzUN>pYr4nda$Y;pIc2IUOyM%T;0zi9j13%Hz=nTbfNS!lU*I(ckE>~Pc;?BM6e#gE zpFgIK)a|XU4*PIU7sjTV6um+sL7Jfq+zL$H6zM?rZ%~%I$>9nehnt_}{okg{B(3F; zub%+(R$8C%Jors10`S60<&$fL^M_L6lq4l1LJ9f8dc>nA!h&0?GZ%|4^;-6eYL(25 zma-vdWwazb;R?=TpLYf^k>0g)7gy5qd4g1v14LQI?crFWpH{IiJ;`)6LmE*r?4xy4 zjP5Z~ok1h|BR>I)E$AxOHydxcz~8(gTm)vF}-pL_!ulybe!Rk6tHJY&H?5 z1dr@)z}O9@laRfm?@LY_BXA4MJw^-0r^$mX_-hHYX1QScpshND$UZ9ZX+a6&zi68h zC|Gxp+Qy+ZHMB&w;|GaTk2Je~0bZr$XAQSmp4@|*mvJrl3bxlHztf`G(-W+Oos%)i zW&OMdas?Sn7uroa?s6gZ9%17?9=6+BdE{Hy>cW)LT%lfi9uo<+R`zmNhxIh_!Ki5^ z883CJ{sCG??B^?oe{hHYNWW7YP1B{+`jZ!26LyA5r{dRrvKy*>mcU9!#Gc;y*8ttI z{r4K`+`3pz`0W0n=}z!xyqV+!yyzQSCyzb-{A^!G+@A`uz-(LJgjIe;s_<>=k9jf*Rhn^Z(t=ZPXr>K zNrRZ3sn8vl7Gex9O5+%6-#0coXMjO?bzc=J%%=R5ve$K&&t1-ja#U-3X|Qs4Cx`$~ zs%)+E69)^rGWD>d1TCF>rNS#Z8tAp75u>rB<&>C~_aDY*XLrz{^1<%53a0a-&iOjf)MQhs^U0 zV01Qj+A=3$Tx0lmXr0Jjy9NJdfU*_qTC>gjFP#FxGTS|}>N$&A^!HAz=(7^q!QFqA zdI$|0NUhn&-tG)EvPtj7z;&!Wf$>qig}*CQ_h(8jzpfyj0B1_N@|g43C3ev3%V1^# zfQ#u+yp!U0NCnfVE;>@9Smm&#cK-g8%j{{s|IA;=#|6G{7`Kr<$RH(AdVlHX-I2BC zqmd;@@ZIAx3l2@6#DMvsFfVthqr-M-$gz5@dLm!ksH7Khyvcn`RjYi%KG#x+%NezH zyptY8GV02oe2@OONt|lN2sX!d*O736Z7AyqlB3G~j>W3o@OL2h+$;Lpz z{502AIzu-#85_0cGqW8%1A|ja<)*Y*=niiXo!kb$a`bYp;Z@p@f8;>zrcC9IXP|(_ zPZz-TZE1zkx6^|S^U->p-D&@1@R=<3*J#cXzn;(a?$(m&o%N~u zdQNMZG=k5jA)2H;y6AGPNrB~a8x@QAGcBat?#Gq17~9rsu-WAiJQ>*q#KC}MjUtM zKEJNmmrMk`cj37~5asTyI;g5}R;P$Do0gsZD_u89;-wN4m zBmBX29Tod7yXD4PxK`!B^Xj_Jlg`K|N13i(a#^(3^G2e60%;sG^rjKdhp}l2x({L~+ENc^yxuDxphIFJOp9w?ztsk$AHIr<4bLk-djT2mRQff8ki`S-7>N+AG~EuyUy$9;QS31OElUzmjd-1;WAIHbacSmgprvQ9=2CuoEC#e zd>$m3DGDwy6%|M-MS%kH>5>*&m%7`ivq`CP2=e!tSWsTDm|^1HDwBB!rDEY`abyxY zW_dh#Xa_9zoUL?q64aj*>C;%Km!?vlrSrQ}zb$&ZgZog}IhRpl-?8xkPWbv?oc`-_ z{;+}ICemIA2N{@tcWu$xBW-UAyf$_?z$~elc`X^cxWaTbiK|7d`lBC z^}_ixj}CR*1QYvrkX+#A^R@WJNZIpFYt7*?)XvFvi(>I7^ggd9#4@H#3qOSt7Vr%a zoFs-NHy$OlfNk@Sg+egoBATkJ$ub%K-U*w+I=5kWD0^XeA{W>}a6RvEgC*X_5+fib zzN3c?jMW}FE&A{|lTZyEZpd3E0(C`XXONdS#>qAXzSHsaf%U0C=bQFvn;v3+yYGEV zogx8((HRHF(xBhWih%sf{h%Y>Z9I7YoSS5+I#Nd3$bK`rw-`#8QBN+g$?O^Ptr>k90aLMQ{t0)RhLVR0Tu@-Xa}bwjiQ+#ZZ%U4vfM zQvPvP^93n(Pg`B5l2LMp?o{+UehnP>9xgP;pQZjbM4C*Ewx*%Vv%x)x%Ik2RihS!m z%e&XBl|CE)EIwVFq`wS6##|tzOZJa|y?97`ZSb|77v)RWByb|_T~Itk-ukbG;{9RG z&DI{SY4tTw+NF*5G$U&NT@RgUDYKmF1&2A&kNf|2ZOR)@r?9Hj0z7j%G7nld`q(ZQ zaP3Jo;_Q#_}dMj-aH$({# zL~gyhm*AxfT%`KtEo`vtW;=Po1<&ilvXnivX+I?Y__Rm1!)3tt;ipgr_zj$I;I_bH z_)9yj<-NJb|M9?PJferE?!WiRsD@%=ab2MM4+D0@qSauJbp-kJ+c3WDoRRh(+` zG_6|4rHn|6!QH>N_vgbigA0NDkbm{@>;N(cgpK zWoXp9+L7%vd`0Hb@E}6J&y>8GPY-Xy>Se1i5_OY>lTn&(=W3Q>@JNDlocN+E5aPH? zr4*QZ<5h;y@3ZaoTYL2sa<$TGys`5C*v({cAe^y1RJlBbKnv^vBWss;HkejRko8GH zpLps0k(H;?FV$#BA25vs1<|C~FcOka;D``T<2yBm@bGgtrk@;vBhCp|O*Z{Ex^di0 zK^`CZP)Y0(3v6>#DwDl%uXuBp+90-V_xg-~6o3PX%96yT49@2x$MUKtH&f~`s&Szi zKDpd>0zZfYu+l=k3k{c`B*jHv_qUz7_SXSgs*Z-h4(0X0BkQ{w8pC(@BwPr)o0sSM zBm`y&3(NwJ-Iw9pP`W`E2^B+hiy>E6*3|6>uaL=?`zJBF`aUX{S%;Pm2yoSu`vEQk z&u*p3UeJuW0&$N{qbIy|vT9>XL9{Ul8)`RPP}mXk9ZC)*G~2s|3G6|~qp-)(Q7fhS zI_0pL#fakPym4Zlu^FLv&o;U` zqMMIIKI^|^9J%V03gj6U{@e_HqldNHZa!cX;861QcYzC16-HTklE6^7YDrSu-$P<# zW&{}Y0WK+gqAIx*R;emeZtD%81Tc90obaXV!IO1sRFHa+@M4e_NBkX|2TqxuO5j3CsFyio-S3M{PtCk%71Jx7P?Z-`HgJ-$MDm#U;QGx94ryIh}RuwpS%G z$zK~*l5I7j3`v0`GDV|1z9q7K&FE6yGl@9*U3)b?V#6H(tTq)A^gE1N)KA5Ux%9xQ zkJ#(jJh~azkX+f0?2ev;*^>uEC$IXx%bIMH{#4Vr9Rd{H!dg|(y-tlvwR)%v_SKK< zQ6+zKu8oclJN$M$R`6~Su7RDrvW?TTc0gqd+S;tdc4->kuD$*Z<9qFY2t`AI7kFU! z5W1-zQiP|G1$(#{85n3>7H3C8cNCJvoIF~!r$cmWu-Um`D_kAC`}QQ3Z<&eMs_I(z zvbEc}pOo+g9GcYt-r5OX9fWDa>5<5~&PKC=e?#w!SR-v?c{}FBM?!U#xrg8VKg!6- z+l{6eTpbM1tSyFhv}NR0@gB;p6Ytfo0^E((Kcrsp86OcTD0+tXf;j^*I*Q{ZfBmjQ zr*7OITxpVe@S$XZn>R_xY9}i{ogWUa++RD}jff(HmE~mI%cPCa{nzNVO!~#l|VLLqcs1hjjojDTJS~cVE<4?TWeb%U}mn0CO zXFsgE5qVF=<}6*1%|A|`ha!(h@yWMNV1R>RMZ~Zr5K#-s5t^%l=FV5~zLtQ^>FZTY zjXJYvB<8nQ$vvz-L;6up`k#du10jwg+sM@hev?2cngZF{TM~r(m~FVngb<4An{sU8 zXlFjZ+q{Z};<5$c{@0`83*~CFkEt%!`!zb*4ip?x*)w|y{6dGVt^eY3)1Y9Q{~?67 zZ!iM>hb&}AAHdUx?ut0evNJ0%Vr`!sz%JQ7?u{4;=Oq5i8Sikh9uQpwA!8aM_&Q%; zGRN(A{hGp3B2xc;qe{`cPL|vy@HuZ5(;vQEiUsoUA(#}|t|g=0n^g4JiarlczFW!Z zYD&R}kU#h$r{)FK@#kwmDh>HC&&B%}~FYxES3g1LBn9|3I z-MJAn3Tx*E%e(E;96>gKuJ^5lpHjYgy_2ggcq#JR8~%fe9cyOWR$|n%p0-8&XuKw& zGf@$w-wF$HiM0^LMx_I9!${^PS>QM!XVcFQ>yLu+3m|`1{aTf(Z#>1z2v zg>oxX0*t01wv;THb(}2{%YiNU_>0iPu)TC)tybcb3eMWgkku{C-$*WBfW+wWd|k}OeWLNqIrnD+yyxW`SF^q6vlvXLpcvxqPok`i;GB)2*ZBE1Q{a;$ z3C){^t314X3*Om>c3^kr{@4ASU(;^e>Ef?*zvAs!420XE>IG0I33@sE!}5Vb5=PJ| zcyN@@>_9i_J2=aARK)pY(OZS&IW-?AC*L!$=fRTRLF+f3CdoZfSX}1dKSu}t$k?U3 z7myMnF5c$I9Js4C_&(G9w6n|@w|+3Wfs>K{4*adoev3I+;R0U0d!+4}_S*NZ zUDK0;zV{y&f8A1d@L9hs<0?Zjh@s&|9LhwcQhoEd{hg*Q{03QQ*X-@sI}3!sowj3d zF+V$rn@NXeN~iNB1N~>u#X<=FODz)x9ud{wTu1Bor|K$bAv|8TT7JMvtQSh?BEi53PDE`fkhv^~3g3u6QcFp&KK$k*PxfPVR?(Sc?QS8Y(iXFSg#}oLSlo z^l=Bg#B|;zL_CzPo`8U|ZzEcA@u8D)&OwHrZ3DK!fn@_9i53KZ9e6%TNP{1XSWRk zIkRniV(oY0%fGAZ&N^T9mr+$YvhBHY2Z*}NrhizsYt46_y#Nc~=o4?7762;-ath2~ zpmBLd6c|$&`3odY4dv1_is->haBJY%;{!2Nd=v+LI}uEqA%g;oUvJ5|!HxT z$7TbyQ#W3sg@Lj{#3twd_ug5U6l7LG5k~%e1)Q}`RTOEuKm&X$zZ>r#FFfFYYRx3@ ziv$2*t~mD0UT~zIRUrNb~+II&RqXO zB&PVp3~y#QAH4GF8^kK;&|hW8IbLB8d(jAAMNy^^6e(E(>{%1#)Ov9Y##!9gw-&H zQ}COPq_4GdR4}Tz(2*~oJmP!bG5Xzacj0e`_0CKrH*+55=?`n(GZG^85eGyb0zMGk z9e~h9HTQy=GOGEMU+)n~jN+r!sC%~%dg&K!sq^PvxlF}(qu(F!*(+U2Lr?tm;ZDb5 z5lDk=wW7~HBKaDB8i)HEQE%Zb)^M@W{PBc3%mDudc)Fc+eJwZmeZzjcJHZm%P-q-2VU%a&MML~S=L z#6Nc2y>!WJY6QX9Q18FOZLk9GRXoW20%?aAF8vzOoAoJXnmGEAgYQ@0-#N`r^G_9sA_Y{rX>787qhdp<|UD|rf z;-W!G?giNwJm%PmhOni)=h&iOb99Mxzx}h(bJH!Q7_@M z58+k&AQguDZB0XdiEA#_T712Ka zwY_HC4Gc+{=&U^h#YS zeEfwHpe$@wBjSbnU@nWj~ z&d_@qkymO7iET=1A-xD?LO^4HEhSb1x4GJ0;Cj!8(_k8`A=zes(qoX9yP!2Stpd4i z3foAMG$V=Jiny%$GnZ$~f}8v1t}`=6I=QtsDQFmDViA1(Xd73*tBmgZyOYGZ$XA=q z(F~3H$Y3nxtC%bJwP&RgzM{r(OmLke-6b2cHWn=zbZ{out-BBn7(d`^OjQ6c2F*B0 zn~>{wCCV%-;``d)9{sM)-_61O^}gqt9ap87*R29B9A@1%P$HG7TkS`Wplo3nW-Iu% zs~{Te%*(==eA(B19idz9`*4fjRzEqu3|cP^=0~gH=2@YB-H%$)-fo$CAd-g+{F$6x z3Vw2%c{+Euo*R5&s7-bu;^Ld|-g1s5E(blnJ$8EAQ1{_qCm4>w-m!i4VVq@lt& zDLDs3aItnO-Z6eoo~>SL($@#?_iHlG0$xLd2ue{R+{PCuXDqVOfnXM5sEQwT=vqxO zT8On^4+oUCJ|>ZHm@VDCwQ_A$@YRm3w8YSN--Ps?P7iUTp2GEwxzO|8O;jGEoKifGmM0hX9|Qa(8xZxdm|TQ3 zo_PyEXYpl&aIA#g2fpI<)WUX7VTOSkv^IeHC2m@{+ivj>p{4+s8Bn%OgSM+GJt}Qv zY#-qR&T_03an|Kkpcu=O{F#fMmd%QsJ^Rj-J5aYPM4aqChfMCxiUb$LCS%Xj+G-^G zP#{+L>)@}eri}rs0SYcQ;I_@6xE@=N!UdTQ>W@FCpoM9{idn^#+fBRLllz=+<9`oOpuMc*CIf(wt@ZIhZM-u6e%=9sHiAJiuw%$|vCHnIw zDtDM%wdBirtyRU)ZtTRu%yu($-U;O%q1AhP!KRwR!hZ<$_`|}1`w%1AzE)XLt&N6%qgm{> z9dN&WVc#gbCbM!*`;kc)jT>?-&r<S}zYNjEpoxV0Ow^0#6>v23d|bW4$RSU} zWW6^#sD?#Z)MHp0GgAPkWg4Dhmq5Oa=)oS&TzPKowcc^HCMm8QT`LbCcL3$?bkRvA zYC8>u36-?CQ3AOrU2WxZGh+#r6eu+OPOkM)&2w5kuv6Ccz4FJ7$I7cj^qm7ch2c7N zZ5|ciN#oB~x>1l9w{3gx3RO2KrWzU0QWJTnjMH}Ulhv3PioSc8%4CS@+nr^*p+;#F z<+9tIV?k}sx41=PGjC_Roco@(ptIXliE@nyEk5}+iZyGO?6Wo;wl~ zl*`pf#fjwDm4cZ9_6{!%b^=*W$H2ntP#?b1WYEyV`yq%Og)RLy0;1&V4dt%P)#36- z^;_Cj?gLFu_5?(`-I?@@nIO<6s559wA^GW%gOLCbjHiPRbgz4>&;AF)fHK&+i`04H z^%m%UGq8`X74pg9_|eP9MkkhwF!zrE@Iu!=?|bnaN@1rYmJSE)iLW%*e-R1LJ8R&YIqn{?%22MhXFTBAW${0Qnua z4awDy-0qT5GU1Pk-9n=AS?xx@D&~9kDx_ny@~ceN;A-ZL?l*tbwIwquX|aZ7tMS-F zq^@pcCyaS>479L`hAHXqHXoK3#P(rRMnWxD!@&;ktXd$W}pkW&y7M^0y=po@e~ zag^nii3=!au)N8s5CWSzmhx={j1m;Z0n`ZJv_WOw8JF+ht~V;j~di z)<~u|zT0{e6#ZPs(C?0zx~^dF5O~3fsq_ z;>ue_XNx0xs^(nHbJJpFdp$@~m~}q)z~z_vTrb{Nzq0!~-&Cu=5fH7(GM;BR3J({zlpd?QuEXO&k*K;Z8Bt?+Y&rJ|%ImU!n71tu;!#1H$TA6?d8a6EYUy}ZQ zjwv|2_cAHZrxJ&~AH>Z^|~C~zF}iec#1XEDKFqtyn8#Q3?f zmRpw4uaLLQuC#Y0%bKPiS@sdzqQq#AN1nse%lLZ!5M$^b*B0gd^3}xl8nwr8A~xSS z2XqpTniQ1MJ1EMz%vw@E8OZB{8DL7X;BafSC6RU_^+-~1@#1i(UiLe=XUdNkmfjp_ ze^yeQJ?nc~FF*6#WGkIip%8MzLAi%U_KzEN@w1xT4xmbBUtiH8%8G>e5oN`(NesA9 zBm(;s5>*F8W;n|ZZB1>6i8F8}a$oerEf2Eo!CU~{%w{lEkQ@q83}dg|C_dn_mI-Gx zEJ$C6{dD(ka`ZimMQTr~fqq@JO{2(VrNrD@i*KW+i*cB|YqY5|=7%=b2t?N}VG9e^ zr8T!7sPkb*)myLbA4!&t*2n2i)psMCCm;PFI})OjaEVItdf+7$JxktV|1v$D@$25V zTFpG`nD35KGcC-#s<@@+x0Fil1*#hhinf~@rNu1%=Mxxrj-w=tg%_4C_0hE=Vnf6P z*Hah@ZUd;?D5&8vhQ}?x&@jShl4;-ciS+!59TUu8H5UvcMHDRr&+YOp-~voS)p^3n zd7*HitTiZck3VvJ@lmU5*y&FBV?h;byNlAB9`v@dMChZNL9^wYpC*{S%%z`yq4B%E zqBgR4eTT@n&VaD|>+{qAunn4F#Z3gecufA6oO0_Aa}LgObTp=h$L-pNCHj#}Ag9n# z7FSsT=0hbhGnc1U`CS}=?}`LSyrK4=&+R8cnM)~x@x=z2CNNQ!fFBEjWV!H|je4d$giEqLQ6-L}JIZdDOE_W?* z$)WJ1!6lW9dP>c#A^YP%W%fMt{er;OOJSyw{NKqv)%2%82p#IesAsX-Vj4hBl*#3{ zV|A8e#lc2Ye<$1t;r=x&y)TchLM-+nAG$D-X)(ekn@(E)bWBzHHsh^v8903bKvenn zDZ6psQ^9GzFk!@R)m$Tp(?=X3{$E`sktGQ}e+^6+eups!<(`bi2jdxYrE=ThtStAG z${F+*Ki;W~0(ep!oI>UNetN!=L)T0t_rf}?uY3Ld>6W52YTh&+PUPtvUsQzv zwc$#Ed3`OJS0T{>>)w*YF`vo;h3e(T>(*C1XD+=O6FF(V*Mm^&+o}ya70&&jfjYRX z;xiYlB+n<>wk37GJNj!J8Z9xL@6Z}?XIlSi=)xb?0MseSQ17Z*;QJUJ=tkcBJHeBS zvn4q@y!o`vC234DCr>-(nyjRH<9tlXD|rQ=sypC@}HtWx5LB!*+>RM$tXimY#i< z8v(?@^Yu9~yovRIYbwSs($A$;EgSBc>lH(Ou@ZN9wsq||_tUTXw5BpT>T3&xxDqCkrW4ipqDZO_yT^j>l(#RW}9>v@{7e(B7={&5IqC^++-<>HEG< zeUp5WG&P$HzJUiwwia`v_8-{7FJ2icrr zk+1n&?0CjVc0b$h0cX zhVZNb^w7N7-%ia9F2XinXbO8R^5JxoYQOtNIdXA(wx-x&Gq^%?xSpf7K~|YavMwjz zk_knb&YStoKKmh@b|h__T{sMqvfPN>(J_{fcXh&k`h2*m zeU#El)zMmkRfn0(X6bpoQLO=SpQ>5&yFZbC5xDZ&fEXOyme^VdDdcrKcPuI;=u)02n0BI zceMCcw3ZjHnnmbL9F7P-((O+^`3G6MB<`*3?-IE6alZAy&X1`d9`Yak?3l!P=blvA zAgLTCN=@`l;rW&IW5bxP!0!egW@O7{vVSGC33Q>&2`ZN3A`k)waVA(=Q0 zYVdj}%UJ8KWxeX>_DKAJd99=)ZrYqYIpvhqMd+?OcRNjd6vMet?;)>qDiW6&6NaGW zcG>pU385$`8kza+M(fj8Sdd&M%-s5wUgJ&O&E`kAC5(B3E~bW=8aUSnW=1A?~d}j1fT;K&Bm0TPX zmL2H-S7)@X2+5=N@wr}mFyOE<0oJoTGiUW4WCLL_OTz~?Sj^mO=A4n)8zpKl1?nHG z+7`Nwo_iC&!;_aVEZCsF&71y+rzaAfa)ssTh32PzMDnF%YD%z_8G{&~L_$%k&H|+h z|L!cvKprxctXuVn2^lk5SrSS3vNwpGAEs78on0V*&M!)%H2T-Ftg+nx2;}K{i%_QT zh{g5eDz)3@D+2qmA8Pk}u#8O!7>m^D9eViz>x`||g`a+3NDj@D_7hSbZ!h}n2a+IT zJ8ojFuCot>LGB?ZKq+yHSfUV%mgFo}gGAa2*Xa)t_x;`RZzN?#VDz->gLhLZGzELq zWgH!LTY!*TS%_`(?w6{8g3(0ELw*CUb_)w^+bVNFfY)-UaCYzbp}$t8V_%wi_$Y7p zb2?gvu?++)|5STcN_{%E9TS$%NMUUVy+I6viq(s1YUBZ#&9=iot15iIc++V|-uE{dcRZ;u-7Eb=XxblU``@iTjj4LM7q=0-=2#VoP=`$1k8*mj zhDfiM`G@AwDSdOsABzJ$)JeHmu5pg0%duK|^JK3JBoZ*sUj7C~p5J|t3a3`Vn3grw z+@hDQ?DzDLucJ$@5JzeQu7%{K8p9;9zXyyEY#FL0+D7*jYb#RS0IB$$J+PHop8-$yqI#%ig7;pAp zfk6@dnBIWcsO3Lp$UiXH0x!MC8oPv2EOgKms;phXdFV;#T`Ij0^=R|#c5jN;Pf0g* z_EF2Du)l9umcNX{A0BBgDv*$JC*Jz9+*!taT32zv+amXulut!r>( zo8*5KQME~P9&VVf;C^^2Vcr%0JN3(>l9jBi)U!?k^AiJ8x~+arS#FrWWKd?a*(Wae z)=Dns)j4gQTvzgG1U7-3_8-9p%>NLY^@lYDZD>(xW);hIKJ!tiN8SgX z$dewUO#E^%X@2h*SkC!Q0QV%<^Y43kCp#s6iJ6>gH_M0x3S|P4XSCSYJ&UHe3b|qT zm)3Vx-Ptna+!9g>INA5M^VU0dR#8-mJ}Y#1JFYX*zhKgWe&k!{eTpMsSd?U8@B3{% zr~UZkOARc0>ZBjXs2t{J62anXip6<&%^G@Pb9Gio@dwe~E3^J)RKWnPmPleX zg6v6#^pgz+|1NL+4d$f$4yGqBJw<3+!Ny?V=B=Q4=eV*Lw7M|lPn6L2+^4t=k3VY* zb8A#X9G-O|>OZvcCykjos@HTLwA%R3iNh7!LcuqJFi zi%V)OsxhDI@jXo68306Ug9POzbbLxT5#m)+Yz%X&Nf0qe3RxZO<4vU)1*z-VdY}SB+Agp&nK_=^nkBcE% zOR>O|HT=;X_@DfvxLF>rl3@oQ9R|ekPSzx&0VHBE$D=a~LtnktQhfh*srN^{A$!9g z;3u!}D{s&5xnuIxqs|F)k)&?lmgRj8A0OW&wv*+);T{C|I#7rKzLuI6vj>Y;Cs3&A zm?24&{P1t!=rSf4ZGKRsUws?B7@U=-vHjDR6o%D}7P4P*$iETvPPhO75~_DCge`S) zp}V3Is_i!(m32sBY&47)yN>>oDJ(+4qJhp>V4$%q#R@2B-Ga*~etD2-5@QMZP}%S9+AWXxVvr1+~2J@<6K(nAKn(`u+cThs5$J4xAa#jq{G zq<2ZLHftjoYtk`xmSe&Oz;YTX;jU6Kfo*C+8PFG}HR_Ao1WZx8SC5dHVxTEIovG^X zLAiXyG#0EArwaeDR=MdguvCPVRK5HC@sB8l&al~S>A25X*U8}E!%TVz@v)vjJE*~) zsuS4ncsUkIb~WXbZ&I`=h&)LLPFT4|W}=b8Wj{1U(*hf0XoNs`o3)YS{$ zeW(wm%|~Py3a+h6y!R-ZO8>gq!4HQW#wX%x6NFI9&+|Pv`U~?8);hoT@bE_c^~*+i z&J)lhz1$CPiUBsHd=8N|6pT>sMDlipvq*w>x1Siw>4r2>d&k9{-Y!FKoP+81>I5`sEU@LvELap1?>0y; zzI{H9VwQF~dlKV|6=g2p*ZJ4wj{RYtzzaM?baM@JWNsrH*+?T0p-Q>5Pf2t~KQN{- z2=9cmdt22S9cSKGdA_)54CJj~-;Fqi`dl{A++Y$ZT@Z5ZBoGZ|V<^uYD-(Ip#gYF? z?r+1!;r)&Key4RXao&}QI?Y+#XzFX4?2Z|20d4UBA#1UbfyHa+hmX*5qpnIu5;cDe zv91RG=29xfH1WT%ns<)^$U%GlXn@H3jQ4j$BlI^BFCNa(zk0gV=!#wCfufS<@%sy9 zAN4YRY0}@LlPd{_A8Vc8m{{GIQ!BiH3+g%I^ysi^UW%Y?WMeW-;X0^!e zvUc3gr2)N*Q*qP6MUGScn=Ze8+lp833HbUGqs7sHVv83?SV|IMQv=cn3a6DcF`~|b zjj<`9K|{a|@n?dXvDt`syHV)EIBZBTQe!{Un_T`Lt(by6Yd*D(@ahr<+ zXQ({(;RcEW(uS3m7bqQNZI%J(ADuzWam`nL4+fW)ljjO6wR>(EB?~jDdcj=0&9ig6 z5xVhCc6H1l#ydRJ$Vhgnv+Dck+^gh!CTy)jv1cEs59kX8=47y@h50WmIA0~G+k%N; z`|&<5qf|RPMurn_G!J9H9*{_s2yTyrP!qweUcvDN9cQ(71<`duj@5t_13+Ojqz~RS zF%vYc^Dch1pqtHvbcj|z*Uir#O6GYhdSlpF}~jKLbQ2Kqj) z;><;Y!pmrs4+DoAhIL!(m*Zqk{LUCtbyp*sVK7wT+acOX4y=fLpCZ z)gPgWYb(}gvUn616(z46M2w=75_{hS_)7~sh zKu+na4_zhjC1|&OR{kM$0R<}$&T_OMrBI3d&ksGy4BS{ds^a3Q&%he0b1Qw;WSa`c zwPSvt2Y=&}BcJvz)`*7aeA%%f;dL1(vUJFOY!oi1ka2&Z7M|9d3<&1?N@EZ4nhTY% z;~GQ^e($IvANt)qreKxgDXYBCLZ#7D6cQCO!dCn7Ow=$OEk;|xMnkNxx(IiQ!#$2SSU0=Gr82Z!R zLf?u)xzbI;U&Z`>;@RmxG;&zDr*d<+$}q2`S7}sp-IE`VWTseK5m2F)fOG{&g(_MP zQE}Tgo2k4}Fpiwl^E>tq#po`hfK#tXjXf;2O?BQ6-fG%?RAr-A)pI6^LK?i(5#yjhqb{|hJ+GQmAMwtLH>VYV zydwJ5ao%28{>1N#UM6&u-4CsQ`{^kqSbSHpHVTBT61 zSxs!|DOQ6PF{4XY?w|!QaDPN97+RQ+d~uqHrk-y-1wCi-^-Q7mUQjVeveFD6hZaTy zsDBK55NYnn&3VJ&H_Q!7iEkiaU0UUN>1VIdS%1l%)$sSYV8mT7!(a$INZ5=tvspv- z4jwyMaP-$ix>h3%2mNbd@t)}{TX)#t@X)UuWr7a;3hsmUoH)6Mx9;BRUE)J_e0~nI zI(K=+o;*}xpLWBUyR* zmlW=M_mL}0I>kr%3g5d#2TovMr>em(Nu;`|o+(Um_)V3PqAfM<^Zp8Ef>FNVVQ#qa zswde`2ogA}2NdQ%K!H3%H$`e-yz-aDO#ilxj1vTOFWkj!le9=op~Y_p z;cD;S3?+W-iHLHKvM%x7UN-Q1c^B#A32?cV1vz1~9WN&*`0Y>hM>*AWgjO_(IV5nU zyhd$oY;|y=siyp^p*1L&3eeRD32j%dJj2ciMmMq%6q0~`7gB__hqqbUTD6~vm*59O z*vLYq%e<(m<(aSu7TE_xT7DgOXnY$Iu19!dY;=sC(0s_CMf70JKy!%2?Px0kJT&om zKUAsAsU(jiAj5=cDr8pS%_fiNL?HV;eN>WyE1{pOrL;U!)%^C(4h!>aMaN!zsEj&~ z_Z3$6^HF+ypIa!FnsDO0ELn$<@6UoxblR;QMXB}YiQ9n!6o;WhBkU5qH{8_m@oMGv zFOVD6NKfihV|{DtILJ%k1@I!#lOK;}FH`Tx2Fo!;xA~()dn@wcUiBj4UHu2&`$>|R zWlqImrf8eIX<=ApPB+dA!UhX~#z%gR3)HNtK=fV9L=6^_v;rm87XT3iHi^aHpQ;!| z&6bw3g<+z9x76R6r@WXnUHU6h*UHXIp7)G}geWn$)RL(xPN1F1PdnjU@Z<>4l4*H5 ze|xeT2Z^Zh~%l zrAUq^(&YIpYEqshd-&6Vz4m-gHUJ3l`^(l)fKgyKS_I7a?bnPeA97Mgdy^e90tsnx zRetVYYx)tk@WCZ{2hocVq3gTV*Gcn9o9ermd)(yh zZpFhTVLSBfzsY%yM-r<%1pAhaoUMS|pbNcm=L#NAE4{uavPBG53PE9@Jl$n;*~4<| z4rkHd2L;V+H>!<2p3w$>Obo2mcB^g=bs89{5GwCgJMEg9G{5YT$sHUoqvux5zWI2M zz~SP>9SbedmVFrIt1=4@E}iC?>dTE6S~l;^ch5yEhQn~?dFulgC2$)6qdlkv?xerd zf{yt9Ml<;zLXZArvEYA*p4MFV7+KozKtD3B0NjTvl!A*vXROT2y%i@IIZs`{tv~y^^MhB7(PmSOD6Mu`DS3-LUA~Q*YatVDt4InGiGXvW3Vr_Qw@FOw9A! zR5;m=CIC&Tj*3(&P8ZKx>~xH{e6W}2y$=BL4nmP$ZrOeAYM6Kaj(8qNX**{VoRh(n~$p=NZ8yV!Bmvr!rs<>xu25qH*P~tKubn}u|TUS z0q&p-Nz)xcV7zf|k2TFYcDXYo?lRP>8$I&@3#<>MyIJTWM zwrw;vnvK)gw$UbyZQDlUMonYeZsW#koP2k4|G}P}o!L3>nR#AJN9DFZF%Y#%BeLZ= zeVLts%xCh_^b$gQ5HiU+Ka#KeZ~l>hHWUf4Ej+x`ZL{L07<|7@ne?qB2r!@5FPBy_ zrYeDH=-bClwJdJUI&Otq)U3BG_rBl7tHA@-s|sSr(4eKp3EZ8?w(=cU~q@U2C}$s}fWjQR`j?{5xhXqQtgV zShyFT*fwR(Y3A1jI6W5u;AFpV$QuO$LQT1Kf87PaZOXQzQvTqN%L)D)9r|kA>hqSG zVveyc?AJHa?U7iMeD)>bn%OtgliT~WEBKWT8)g*}s)U|BF0=)%&rU8wr41hj;2S@* zo>w{Y+;mDchT8Mu?C&220E~k~nXTYnfD~Ez$-V+BRU{;+sBcq{@2u^?b(bLWMO{&# zVSJC48Y{K`)41MGZt{Ebe;DMqPj{PyAG69gtY3<94nf@?IQ(pK*w7$j`g)(J-YAuI zvqX+X-y?Jj0WEB?ZU=TB`aC-RMTAB;7BwBLoK|PX(m3#xr}`!vs^Bj(Y6088u7_;3 z16U8!{1g;J&WOq4Q@ho3`Ag{;ak}J_#)k;)cnKc<2qL`!0$>2`3G3OHi&lxwR>hoJj`02RWg)|xoDpH}-wHGk49X}?4e zn1tL2+(%)3x!ujF=iylPbGwBz-1L~W$E_e6J_B-;5tdWcEx1Z)tmQMDaBxeT8g`EYpH0iv*L8bhwLs7JHU#{_9>d8f3 z&bj!=y%I!&GD|Y~GPqo0_!r};|DpPC;B>24$e z$AI(Zp10akE60~{wDt#3s+3E%eGZr@u2tg^;Mdv7RE>6&3$~^Ke$R*}!qQQ%+9x1s z<=oVN_K!gXql@ud>91HR;PYa=s2Id2TkKbq)-a`I!HnpYOtB*4Jlyc1dO zpt?Qfzqj0Kb`!w$&^-H(QAl{-T|`+pN$15H!Si7zvK3h#JQer$E40t|TV+XZxT^62 zeDh0M8}%`_M*rdq7lxn0h$BcZrv={&wfodJJzOD#G=^gj2U?D*Q#FS-g!5e25 z{XffjCm5Q?Vx|2A+gV)|Dx9|Uk&}1NBj)~7 zO59~`$aN`bjF##9qiI2sS zjL=y$I~Qr3#A%`~3z&G_&*x94%nB^C$F(n`)l{~=7<%IRXECP_i$1V>C_)t-{1HzP z=&mTDQ(rF{GjO!z<;Oi7i*QA4p7PwQzPHEtk`0yx+z#z6tV;foDcB3ISy*cr@hKC+ zipl(DC9S5+SdUy$tAgZtR=-soF!3Pkt3w`KyJ|F94T>#)JIhhjoo2I-nv!S|1x|nm zK07L~mT}e*PAUt@-}K1yn7v@o(bH^dp7X`rbyu5Rzek_>QNMg2gG8JNQM4oTJj~KR3)PNIBV}0cw&k zik91wajH;_f9^w%`gas1&mV1lCZIdQ)4YbB=cSU(XK2~;RhNjL3AlLc7`&KD+4$*M zRcr4#vQeZ{hQi%gb}(R+l~5Y|A(DG_YOTdNZIcW>M<(V4?DBX)v;C$*9%8%vN+ z+a@mr9(tk1!i|BF;#SB12UykYB!J2o=vddFoPJY8OL3&b#vE&P!dXph_02+SeXLG` zzxves3;h-$mBtn+>PKFS( zZL%*>cPW1v*;)8qAcH5O{b2{e0SzhSM^st8l< z#1Fkk2z+C;v{+FG)8$Me{TMAQ^kWg)qv%*3#EoHdL#*2)SO#yy$8k@it zQf}30T5(}1S^9gV52UmV2?oU<$evy`WX1PDpE2YfKwLcX1)W1)HG&?wNM^-Thd;BJ zCYn!fm+vPQ6}#&)Xb z+uCEBv>8z)u;~$`U*EJS+Q9{(Zw&92H^`w=aAiC@4zBZWpfX59ns(0zxxi@-YwW>B zNO9^%jh=0qrDo+zYm}h_NJnKwlCG@Pw*dA}ZeIL6+ylcU9nqZa0k7Dqa8u_5H?XU# zbzxWtKd5bHb=)(mWwxJfuTuuuwu74X(ZKQm@D!^617)hrN3*?ajL$GUqtoeN$VGvKqfEhtDm^(-Mh4Ju|4{I+4sQKVj9%+0@;~O2|5xDdO3JGd%Eq` zw4PAcRQs1UXAFA$VR&Lhc}|_R3lXhIl#3Tx#$gNtv-&ppNUyT)#a;TY7te0csVEU? zNs@E$3|YcC54XBn%1cYY>~ezR`u0M0S!cd_Y2J^`bn!~`GC6(7 zWZyMO&vlZ*o3ye?Mt2UBb$lsht$uTw2Htoe$RTi~x%WEl+g0(!DF<3mzevqph|>6N zyhms@5Ngd*UmY3i)bt%1Q{)(jnP~&|<(PHhVyR4zY_tF=FWw(sjovRNck##l;DyWC zE#%P3{~>iZw6XgSHu?c&wk-!NUbDveXHQOD<44UM-hx66RHDw^) ztK2vQ)V}3sn+ql>?ZXcSVAqFO60qw-4cK$0l%)miB$+JLV%WmJ=<|m zkkX!q(u!Qky5rVuEfsNbcB4M|)eI(zt^?Egmjf7D;%Wvz%kaKn32w%SpQcWio)#_L z^2e!`(bAVE;8+`(#24l-p3s@Ls8$o1=oUZrh2jH~_{$(9yOnT%i@R+$8H?JtmqvqU{Dj4vVE97af_z$v*rj5Fp zS3)j{g0_WT22MF*u%UbBATr2b4mo833%lbhxe=)>+6O+235E(Qw&Unlau$=gR0eC! zb8)dZ=rT4P{Ai)iX~3O0tz4vA=3i-=^Vo5tS3%ELSTQwe9Pl`*9_1hiG^9|ifWoQ4 zfqWLG_XcX0a9W{Z%Z~fPQTSA3W71A|oMzA)zqkSF*#^;UTfUHNmp6%KtlxP!eFcxp zDJ?*NT_1Gk;Tbh_QN|UF_Z_2rGHqmY zUM_eD=A<~;NN7kc+_LSR=h7pT-d}bgN1d)&L_0()L85yuNg5g#L!WS`(e3rGyxkN? zf>@jlC=$>J0vIDw$RQ-He6`ybR$o}&BCA|q1Aw_Bh&jz-_(dxqQ93rWWnuXz1f>v+%OJfaF!ITaS!y26PdLO5y4l3 zZ6k)ID9Pgd^#n! z4urqt$ogNq|4 z{tf4B5-G=n+&X!QrtLNPjv})i3fgtbIgs}Zy^LNa2Whqo;puKD@?&iF)z?=}BBQ&t zV5w=wZXcson!TQqAOv|81G^%ls;Nf2_Ej!e7UgZg{4TneWF( zzf#)OZFuzWbpMmq#>>@GH)r_yHjDc(>)?f!O?xl^T@%%Q7-uFVl=~e}Ndo_3{z(`; z2WTqXFBqGPQD7b8vp)(Dg%xAcf9P5;oSMH;@^%!BBwSVwna6Uck3`;~+zXCs7HdK4 zGQleO6jdmkKl>y<;=n1&f}?*Rq^K zAgGiqb-<4g=8EM)NEZ8oF)o=#@6xtpu{}e1N>hQR|6uYs_O-+&G9~oWa#Dwo$*+Px z5qwdPFNRi{35)%>Cm@jvvnaX+Wi8 zd?qygMVi1kOcD^)isscd{u@Oxz!f!s(cC5MOdY|46hvMz=$SD=rQ#LwnFH^;`kZUDABz04(c>mK{U!?a= zmh;EEBwykD>l{ZW?T3>UMcnwsVxIZCz6G@zzZ?T3ub!k3gFPbS@H|^K2&VWqb)pkK z3=9c`xX%?^ccT-)Cu;PPHY*DLS^W+vz=TCmaMf!i#Jpgha8{P+1R>L8OW&)=y+`N~ z0vh)J95Oeq{6J)K#2j-5e!%0dZlKPqtxQg79PclcYckFY6zSI}6D1iLXTD*!9Yw^--U*3zquv6OdRIClp;^%zR7 zj7U=!$+tT$ZV1Cc1(BCo61l0*eX=x+xb=-pXXOg*LMVb1ht5+$vhJ(+wMdgp)Ai?R z>^L(yVq&%;Tl^=J<;DT$x#jdlhXeBkaDd;_o-34O(F5G}+%7HbJG~z@r`LwM$Y%WK zE81ZN#@?(L$09koclL0Ugzi5LAyU}@$QM!Va-!tbNf|7|kD05Qt1dpLawO==v5wR9 zG#MsV6*sCcYT}(gr`%Mk=L8*1FtMb}BVOY(a}A#Y4jHIogFx(MZos~nSW*%Qj4*uJ zOtkq*&w#o2UC>jC&qaWJYD4DGlJ(1C2`!Hiiy=us%Pqh1 zu6l;mX0a?w$3ZesEBXL$j3=32IbryXx^6Rlh~NVJ*B;Ws+LOo z|1N?l9{c3_TW_MAMzgcEgffp0{|7=sdLOhVRw{!zhZG>eRf*Bw6Z>{#H*dhm9p&2I zA@@NLS?%qP@^Qbu=u9q+EQf0i#d=u#N0`Hm)VlSW-hepLRkd_GZMd@PQH9Th{m$4f zJOaK6rQEr?`DEFt-fV?Ck4MunIJP*RzUaXdc`^4Ais@W9&Yct|T`#k14M8 z`iBn^CWClbf!>7(&;x<&aI9B+;Z)7_4F<$r%%eld3iU!)p5 zhIWk}2x@{C=`CcG^!d!-UyDcf+;k6~16T3hC*v$FeG_rXA;X!GC6U76HGcAw?uo@{ zItM-^VNMbuaquUqdBsQX20FL8gjTrttN5r3r5-5r(wJ@(cCOOy$KDO_O0A?dnMOBbK4D904Svm>Pt%GBE_A#*DB>bXd!B&99wt~iOQ*FNbHgP@p?2?=Yo{Z^ zFxQlhf=ddnIhWVpIq|GiPv`aU-R3pT`m0;Dw6XuRX!YsBF$J(gtXJbva8&M@L0||( zqwJy32>O<~d%3H&U)kcAm$A}G{WE~8#BfVG<#XIgxLgglnJT{peZ+TM!IGlz1^z`_ z(Nu-08cy}$8K$3pW>eA6sOaW`(vS;&Wk*Me6fWkS9R%5o)pN(v&D-@x06-9g@>hBM z=QzCt?(eZE%r9{mv4)jZt*AwXty#KnatPSYW!ShoB?Kfep2#FbRxv?Jvq61sgIqi# zbL4CM9W0MMT}3ESqK(=*lR&$ji)x@DJSW`8_uOP77_?&qti|WS&22H`VUc>k8}0F zbNrSwnb2dD%Wlc4#S9cN6vam+EGm8nZqlU^#I^DLDnyzTM2q~+iqVBvBd&?MwYqh@ z>Q1B`+S!QSxuOr8@PU<;uodFk+EaUJWfXobNt0^#f4Akk0r2^U&@*McOQ}0TQsA$t zAT$aeOJh+(3DE^MM)S;iTMe8jKgyW3w3Ifj!>X3znZ}ZaP~C4ep%bubV4_2r^g@q8 zr|#;~0JFE(MFCZ0c}tXq`is#t(JwnAwWEBF&%$iKT&3(l?s2v-CHeWq1|a`*tGM12 z0)3`I2>cIPI&`1m7nce%#5YrLGtUnWR@$pnAC@SimGb!pkYx@RavPwEP(Ic8z*N=C zE+QSWhNj;DZ(B}(-vR(I5E-V0j%6Jt4wWS{R0EG;P%u#eA**V5VY_lgWU;glrC7Sz zHz>@Mx}Im}Pd%e)_RP8L4>%MrMrxD4Vnf%%#&C%9f@*l^k)?IT?P=BTIn)&honfhC z$H8Q-S-}ME6og}x!J-d)HAos8JnECuDCD*;W`cnuKeW+vS}t3{CalEo?i{d^>jywo zS=mCFJSXLzJQDu(htzQIt*SIh+%<{CBFeSGw|d4R$#IPwv_6wk{@_rP|3+caFe3)^lQhfNWk-D;A=*~b!$$iv5ugl zg@QyePQytRC)(}dFE@TFR$=7cYA-gHNy(bYe$P+1ksLpbrT+-KZD{#IQq#~Q+OEx- zjOKWnI`PzSM{C&-_(dRy_!3w*5aJxTBBf*E21);VKt+~Z$|W;LY8-9jedgNDlYvI^ z%hUW=N5wtnD7+aLkkuDCovt&})^+`(a0CuYEKp1h=9id22$3wD3;XfUrc6sV4uTl< z`Wo*+YoAbz5OkChhvN3s{?I=I1@11A*^#k022%RYIVR&IJzHMS<1w4c$tT7BTZS9- zq$~7uWgDHp6X||q%d=g38xVwtXvU1@uY8Rl9N8}wT;8D^N26gKAu7Q|c#lvw1a!5f zt{s?+WiFeIWD}|%*A9LJ7cS3?Dn7L-PiaKz3k)~+PAIUG9(TK56f+Ukd^IwCeEyzQ zWK}{J07pOD&3HybyQC z#EFU*#8k1xh{eXn8{ZP3m?IgEQ~-Smbbg$o$;k9)4h-n{+FHcr{@BHsC7>E^}?iH4g$i0 zirSCHLCVcTdXeU{IqC(?=fAm49}$zO$HDAj0PREVC;YuXfwu7O^PQ!5`Ff+6vHPlR-2 zLQ>;yi#$1xAKqC5gTA;y!b^Ob1EoLXs7{w?z_@P_{2mG1lHwA+<5n?K@W#hmkhc%e zn&Ac7JaCj2)g>?8kjmu_GkTq1ut%=OHs)^#vDA@jQ-R$t0SC_C^D0^PU+&VEo?Y@x zuG*^&CZp!HRV1CM^JPL9Amn$FvmIJT+0IAu*@7*?e;Gc9&<@3R4}nL6pqk)4#hw~*MTJk z3~X}^I6X#_GT}H>aD=3k6WvK_D(+KFQgi##a0x*tW=nJyxFpX08&YclUYpcaON7j^285wf>3lC zD{x?+?>VBZO$R>L@OMN;h7ZXO_vW(RH;R;A+x*}i(s-S=(?$x$df8VS$7TtO6(;6< zlFwmMpwTQRikF*(2ul3Wk&O98(b){+dCGKV>#Xm|F%1}wl4?GlNi<>Vxi3~P2B*v6 z@y&`*C~GPPt@YwOGGaQ4mR6ta6w+54VCHvs-4yn0GMx!Q;t1H08SfDafPkI_S2=7Z z4TFIb1F#olY%lnKh*^178i$4cw&2>zH}u~eiG=cL^HX_b)4||{X#jlp3Go5Nk}Gj_ zxY(t=j+y=*hZKKtrar)){*NG%=klqR+YBSTg+bH)(7}try)yuO-gp?4HAjcm0dqI9 zlVIGCJNC|(l{M5Q#*#~PJ8wJ!GI{YkMbh+43=%XTgoLbMH|CVwa}OxL>Xe0w<}N`5N5>Qqiy6gny;Iz z02);v+C0?_FEO#&oMeeG7Ssf`JaK|{J<>rO@qQ=W&vvu1H1a!CW??fP zl80Q8=*V);{0st=;z9Gs(HJ`3!7ZkQMH15L{~x1Y%ZK)S-5LWwmf2&{MJ7>)FXK2I z=<9ZZ%jA|9!2Ew`j|6=z9?6E~2^^uM)@D+F`}IET;~_LQmp z6u_NAoJFRI5_L7EVTpZZ7|t<#3R1i+3)y6 za?yUhaJ1KBaXL-X|6Zr#vHkp)MZom%KAZc60lCJLZFoPtzv1%o^^^+$2J5K1*$xEq zHcfkg_|UhH312?p3C%_CpTGVnwFSNu)HuwL6m+d!bWAHE*A``V8 zW3`|Oy{MdTOOWy3G*6%&Kd-!Ao5X+YaQziAnm8&Y6Cuz%Z8IkkZ`rslb1(ol~ zFgN0>C*LcwURz(=-M2Mx9+FAfq-?Y~q(yFMaEmb+E<#0pHWDFOn892~`czYxUhU@e z7S8EZ37Uf+Hd~CDf3EM*o_>=QFz<&gujlk?)mQQPOq6*n`>cG8$W~tZh{b2w+MZ74 z+zW{V7WuU-T^mRx4{b)ji-}~}{rwcD$8!Pyu_)CcQWOlvKHMk!BIlkwI%`#r5Lfrg zxAmCbDpMdxK=Lw1z>J+ZRc2Z&XkJD4(C2=x>dyd% zdZ_i#R`YBd<&|lKYdw?r2R}x`TLU(kEtULr1>p4J#5-y9Ip@8~nLt3ZfFr~JCIyc( zIhdH*$GU)3A70;%+vMSAlMtN+PXzC5Dz>Kxdxe^DbtVyJ>IYVg&+- z1ZmchcrzP=TXAHx{ZX zt5ygxMroXbbsfk-2}wr1THAq>L#j{`)sbuCCF(yiA}pQAA^Fca)|c!WK;_kq%RE+| z3Y}u|l@&TdPLa3*yG@AdXL0(+IEm%PR}JB+qEe>zoUuwz&W0kHMoisQU2Y~~{mBN! zfR=!HU|056xees7TSLxOvNrSI>V6k9^EJ(8 zR8b!%$=9KP*OY6Lr~|2vM1#!vO*)Tj9p95&;kyWV%rwT4_XrsVLYshlIYh<*{o!mu zlTeMA-1PS)NnLYt`+wyr*D#iP{2N6!_R^xc+eI23Dh7A+{a&hjVBlPWn{%w~2V@#k z8qEX;+jWQ4W!f;jXR7=<7qie!Hl`|6lk*tG{4CVS+WoR$xfMq2JoYpy&c=59=k$cB z=rDEr7Y^!MZ>dU8>B=Wht7xws`-?qB{XZeZMKTG(syG8^L|d}$a zG@Ye}by}l^e2jGpadp9dwufN^&=3q?9+fguka4u}gTgxldaIJQ^fd@Ol#B{ChmFpK z9j9zUFrxQ4yA-`9B$$-caLUXyZ3uH-dMuL3IFKfA1db$?s6mRi*p#UiZjFQIYDy#1 zI&+}6g;xhdaUfPm47Vt!(;*Gv5%rRqqyjgRDr^sX+q4Ui%dHUdiW0vp)1Vg^zWFjv z0q0+B$=kWJtu`k*aeWp+-Wz{t)T=oBr^)m$6rf^N2fpN*QYFyC5 z)G@9h-JzDcJX1Zf_FsB|D{mL3Wlw{;vY(Ym_PK}JMhM%+_fNY9$mtcaI6>kz-1|Mi zy!R28Ce7OY^m7=>R{VSomp~=cYGmqOVRwxjV0aLY(=SWvN}*4U%%F5SejcM&wJJjq zx6fb}M~XxL)QQAXouWE5q)xGmQ#2q!Tyv8Z?}lSCN)&ElCGJ<;RhG_)fZo7jpmO@W za#+^Ww+)h_opUw#`BL?`)K7s)D-?d>tZMe@KHZ1z+G~*eOB$mTd$e9e0>NPP2yd8? zMm*Jyn^K)D7@tmKG1wZwZek3{F~vBU9}r|*e*Np}@k!&2kY2x{8QD>QdTA|7X482M z%mgHB+3j}adZokfP^j@!E<>Hnr6EL{{yKfl6S-dyJ6ny3b$$*2@;Rucp1MbWmOyveLw}(^$0R><9T=2LSjBz+0gEIw~^PV_B53*VAPS z{&rLyjQoK+Fr%_ZT0(&0aB5E92Ho63k{QxrV1hhe6z$?blLJr2rdnG$K;9HMv^+Y!l9TO*%oObf;-MEW&-OgGAnUYz|LAyuZ^T6rz(xs55rlem(<%@_-YfC0nKYQfAD zw!w@pRLWG5MKF`Tf}_0f&OMKEwDqVgcR5Y)1UfdjH8My#A$pzL$4E-eK%r&7Om2~l#kB$3qbSk{z?QE&RdZ*Zz2&vO8v<688MT0KJ`UH>`Ue;K)daC_hnIcld6`; zsFJz$zQ@wx&G61JS9@0Ar)>U&g zpF@SqF#ci^C`csuUvz^T@I=H|luR?}xhZEqYW6nC^y9+nj>1freP%Jn`=d-SUc`2! z3OaLfrOw35iR=}Y1u|Dvj!&n!77 zsDfKEH#FBq1z?bDiJk3k(R3IbszK3JU%IKBNo*tqG10JY(8t`p#JEL4(-D zbUWDs$6POnD5Eo_jB#%rO~l4ExhI~ z6g`W}GKfkxw}B)IZ%A)m=1xtFlwI~F2{yS5fFmO)XN-%h9*kq4Y zH?md~41E1iEEP28sMrHkyAazfm}TYFVEJx~5-o;ZWokM|lFoT&G7o}&u(dB`F)vge zl1=?Bvru~dYJVL)G|#9m&6X|hno1sdx@gi>$jEy*3JCoRER(Tm=LHTRJ|i1RTus`n4(Pfc1+`ayzZP^-umOJNzgV9)TV^La09v4Q3Sk*uIOT8+ z7p{P9eJqZ#b8d;=-;W&DF@`&3lNrRNk)=~A&-d?DP7wl{+w$}55tI3+h)!GMQvEn- zunQh_IR|OnIZraqwQV7dz}qTm=&R^#&!_4vMT+!Be=QV81r~QX-4D6xxd(8S;NOJS z9ug-qId2*h79*rX2I@`2U-n@`@;FBN6dC+z#0I1|b{Wb)%g)b?33!3A@dm2#W|Yfg z#~L`A;uxS1j2Tsz@aQ~BVO6mT#x_A^Dng=E+sPdP^y&If z;D$*m5s`W$Jpc%YxEAJSCPen};d;#fcU|dJ*Ji8`ux-`9k3$^XKsCiU(IGZNv|oE2 zq=}0b6m}mobrOr@!W-Ql^$ojimWb|MU!?7Nr z?wj0y%xQCz)BqnF-5TI@j^dCKu-6s<&<8X3s~~^`{uN&r-;xRvGeYb=sOh?lgkUld z&K2~q%FbQ~es6c{i`SIZc}mBvgH=UTYiZ4BGk%Yd8U!@8r5?D-xy$q`MhOow#_)jW z6l#=biDSqbt;}a!S=dAA^!LnkBXP-sJv`=lpC#M494a zPMuy;p&>Sne`b%+{1Ep6oxOeirc%x|jc=(l$a&vwEu6Z}vac7VDRE23$loBd5^A%MS;i$1$P3)uDYmC&i^|3Fl4qQXuQ#OrzM| zPmq5eY8EhVHJ!{KjGEfNE^zhX+_kb(M!mgF0M3`hN!q=DKPouXx4Ui}Nyl0dXA0F{ zxV=IFMvorruN9L63vAuuXxJYg!1=_vFvAlBUX#`a(3?DwinX=JC z)R#_8F7rQf5?lC!w|u(k5m?QzeWhg*jzbH%F|sUKi>KnWl;VvTv3p#46FqHQTV^oY zpuAl~_-xoQK(^Q&= zFG!^?@YD;k)LgNDB0G4G^dq&z5G^DHD2a}ff!o2i z#VI>q&DQXKv2(6+bLCM%8WS|d&Mno!HhTvci(~4xI|ACJN3oUuv1bL!1f*#0u&6yF z`GZDFi*^a$y5$3{;8NLWN>f4czlex-u|K0=(av$7F{gW`g7S`ARuKksH_8&HZDnAH zY7j~->8m!ydJ*89&CL<)Hey~gu-Vd$PX2*EJn%3_&cesCZt{^$5HhGvr{71f8-Yn> z2RQL6l}-GEP#WLMu-YJyEFue4h9&RsKNq)~V*B*ra2#Pj+O()I(98ct!p-RI2L`Ts zx+KJDgO=lsWb6*7^j|akpVMD|y5v0$s=PU{cA=_3S7<5&XB2K zrfnaZiMIz|QIQIpWqI-I)AsvO-UKm-(!i?#2nZR1SXh?uVLefxN?%7Ut*aEH*(o$e zfUNf66V<8rW>^yks)9d`~GSDvGL#&Y4WH&-u)9j$%zXC@?@lMNkw+?Hi$J4QRsh z@>sxH^Zi`__!tidNn$^ClQtbNAOsuBOb64EH+6nB{H@(VBUQtr%maO$fOh-xs~_$Y z`)_~PI7%#Ge(ix(cPj1Fk6*p_F`YeV_aTd{5U0@?nhoFn&X&Tg_9vf|(O|H2?6o=A z$-+Absh%-fn`A3x3wUaV3%6$YiwM6*$Qc6K-BRBUh0$JJS~1teLL~Mq)2)VCxq&mT zjwd|hZdEd(*$HCaI(}78@AL3-6yu?Upmk}+=pIXGwSXi?{x^4cKpROKsCBBpjr1d z*;i;=r|s%KlT2$LbCKvO_%&|}Pn(0sed4t+yESAv4{vX8d+Xs3(^U_Dn z7{mB#&5d(Fn_>Q|sgeOsyI)xG|fO$)qaUrrNS zHobt}Zfz}-f6z@coN+db+mzSW3H9&%KW9j2c2Tgm4dLl0+HnI5O8w|i3Oglsn+6Wl zT87k&B3zU1>sLGV{O#pO<&`>MC_)8;i;$h8#o~eSS7GBYULr@ru%K1%OE?P#qj^EtnO_Nbr_neG-?6rB6N*Hz1sQ9jwEu~IN#m>^%~UUcd%be2vqtrhPMJ6YGf5Yme%19Xb-(&z52Ds`ifhtB9ZO^ zAfeDNZuP1VmI#GZTt;?9QX@5G63 z!jzP(^YiDROG6H4=~caF|w0&mQ#_g*Ll@I8NWp z5y~WM+h`j3A&I3};9!@uW2+gGEKETFM6)u(-7{uBTrq+`Q5*=Jh^yvHRzy=2LX&=G zPSx`f_ZrpORMem}_o!a2em{YRDjdEo<66<~6tRXbK899TlM9Z;3~Va^G*qI2ml)qj zalGLW$02c+X!6z(aL?8Cpw}iom?R>byWBl^t9e?p;kY;Do3Vckuy!1mvBM*j=sMT6 z=g(L-@`&f3<%aR^db*pvaJ&PNSFF40**jw_r>L1gOyYc?q~w@>JyVhSCi$CmddekW z=tmGUTvOBa?qY#;{hzL$_&1-oWR)~Um9Q9K>e(u9>FUM*FLN@fY#Rg2?S!MI`(8zMHMh*xpQ)2io3PC;=TX{tOftxA<?TK($61lkefC}}7pkA~ksXl2b1Re{w?36hNlLX5ATE>pr~a45am0#P z_**=&rcS}FEA{t&Jl--YOJa@9h+887I8BGF6kuJ4`la%N^~y=JhP*y0{fElV9D1*! z8nntWVjP|d@%d(3#`N1fq2_ypG6JENCBfV!B6DS0Awd&xkt@VCQzEENq(rS@2+8P+ zkwj&WeZw}LX8p4t;v@m9GazVWgTG*{m+rN6DJ$_f>IKMg$^?I!cd?NBO}}NoGHn2)XueFa;W^k?yQG*0mSWXBtuL}QRlxYVe23PDG6havS zxnQA=d^`>^O5Yr@F{IbZuM9UKp`K_ezm&erfV$U_v^Kp4Zup3T*|4ems6dUJY^Ty; zP!>lR!Yxig5kg$E5kR;gUMEX~=J?G|9$_XJ`euq>>Renc1_v_X&#-U$osI`r`*bd% z8zs8n<0eeS9a-AqZ0To4j2)K=Mn)|`G?sx4{-8YFd;nM(fqrszxI_i<4HBbZLJ%pR zpw3XvrW*{Ygrw(Ib!eOcI-S+ zHfhzp`Y!M;cQs`|#th_0|F?4A!MiEk;8u>v{L`Tyl1UJ6^dq5(Y)N^d3<-D`tKgb; zzcmz7CvcSU9>#}BUqZ`Bw&^0kD;_RWn{nm(w-_beTAPAJT-mnh$%Xm-UY}8$t<&}e z6uEN2w-ey`=EE@|CrOtV|L5hGg1WP=oekRs+&|c0-uZ|OdP#Vtxp-Ot_->IUmhEWp z)@P{tQ29G>1PWiJq^ddmME9Fz0_WE+(6&lso(y4YQBd3pUeyOMzptP?#o^=A>hjoo zt;JN`7HvT&5xR(J`fkK>Viu>d738%^yU@14lLZJe)m8a^vJqdZ`;zDyC0g5@`yV#4 z$jf)(uC%J8$bF25D|3WMrJ{o3Fc#}qP9;?~5AuuU?N>mRyB^dWSEZtu+{FFXtz=IX zrN#k7^a~c(lf9Icknm~M{0O>46;$5x6K?PEdim9@GT!q-Z|xS%Bdt0iT;1Z8mr$9* z3Kb*GtW2G6qh7^%X+s(nG@~3@dG*=ni|togy>UQ4^$B=&=e#9#hx<&1+%6@Zq4dzG z5`6Cn7^liqc7iJnJ*~0$dk*zNKubujo}hD_YQyUhSx_m(oKYAlQI95y;W1aH6moWs z+J9#ekfw5)s%k*r$B`1Tc26Rtdul&|-|+d=L!layW<4i%#b0@2w)OYp^RaO^|IJ|% zidoCKlblGM;97!hlGLGtUy0sj7)1ojki2+kJbhcWS|tF?eNO>f$N}i$mWKCIPz$~* zs@XZ%Ex{3399zcpM^R%OQS29}{Ee|hE>|vpmLX$iZaBg<^R-2E^~jt~x3*V_#G$0z z=ds6&Yc$|Lr3o1o<@{m5Py@BQ6K!TT#?r70{H^H7*Cjo1QPgxCn&GqZlu4Bxhjr=L z{1Lf-s4cXaH8QqvFLLZ~=J?;2HngXYh=jdojD#ok%gMap0xKIQ= z7CsilXr>rHHILsUjGfX&+Y}h!F!t?suk!_pwRjc@hP+i(r{=VnSt%bHl&anzo~GcXy1ixm^lNi^fTtYjwbGv^+>AhZwy(5{7cY&gj6c zUN{#0__i4GHap$v&jzgtgnG2~KiE-YS;FK0I64crD4#uw(~W|3cXxM5cO#8-gS38b9wK2|AzC-%y(waIUip;d2Hn)D;iQi^h5%yl+o8jf=e2$q5#I5+EBT6!Wo9H1@N;3W)QlO0u8`62v(T zYOgbO-fd_ZK_=q|tq+C0gnI^b@d3Gt7nvZ&l{igPF^44!q!_=;imgkhNGuqeXsq zl6Bd>N!}!W%lX*1J#O8H(>Gn z47^I6?vjh!R52yIo#=I!U%UykC!5<0xRGXAY%%+0_puK}nQM@^x|$(<@wyG~Lg}X; zp$Y`ZY#U07MsNGVJ61akwU(%RhVu$PUfvYOJ1%5y;7Ka#D=4 zFOK~3ch^KI?lmDz8TPM?)WtE{6%0KNRq_o;U3O)p_~{PPBqwUF@c{2k2mZaS|0w;{ z;QQU_`sq*qUB(MjW-o^0wjDMF-Zp@inUFFI{Lj4336tAs95I)dqb(axneBVJyI~^l0P!OPC}2{Gs=5} z((Lj;1L<7DmRgkwTVMN0{I1kwaRmVccE`HH9gY#Pcq&|{b?!Jj4LEpDg&G9qZow;T zMqLiuj%o`pEw$}#+?N*-qwQ1+fj1;NOU?b=e|wJ4#ul*3pGD*N8VYm;>{)cN8C!)5?a#8Ed+x+HarTK^?yY{QQtF zjZND6uMa%2L{j#|)3U)?n$Tb{Y##$I55MZA?`3_g|7wOAom>G>derztVPo!W%NIv7 z$YZ3CiyQM}#`Tg0$3GVg`YthF$SSCf*!D_jBqdF84^SLEJynT+zCO&GzP|QSA~xOS zz9~6OTkAYHxo!5_lgWa!C(M8iZ=>%lWGSR0bOzX)t&{EK}(fG<&r4}LyRyO`Av;l{3E3xWKEVApQC`MsOy=;GV9JMcU)aIB)*@kdV%ZFrgoSw?yl zj+k`5J!!_TWGOj9>1UwQ*(`DC36bROJtKJM5sB!xB9AZ*|EX-#=vK8fAMUuvOPp>c z3lH*Gd z5+vo_e$K_P15A zh}!@I&ja6&Sbj7P9BJ$`_uz;th5b@TzCZtqEPlaagoH63Ehha-%Ns@>-ZVp|vL`>o zylmkOM`|ZVRtx>bf;fz;hsIJ%NRbNksE!wbW>5DLLKGDHCO9FZrx>ENb>+(HwgIo2 zYV&)Je-;B`=KrW?Nw`ZM;i07)|8=5-SaC+jzc?T&Sb8i!LG5V~y!~o1TQeuDP$R}9 zkO^=Sr(?GcU%pn-s96rO4^5^>hw@nbU!f3$N%7T1RTu;hWu4UVP%RD)uvVi!NfFDg zcZ^6s{$LMFUXxJVGpxIj4*Z6zbky2oTNbe}3{I{|6)_e$+Zi*+Sf_G_Gt~C^Vz|`4 z9yeRR5koQG&Nlw5X*c5}HCfF_lrjtzUk6oS)Y1Zb=9F7l0h?D2&AXEh^>G$B2n}`8 zFmYSJ)GU2uBepU0@!8ucDL4pzxBakG*ec@*kMb@C$%tksnF$o$vJnEi^w9N@v&rvv zv&8@L+iz^!0icvXv(!T(EUPUw1aOO(llx^P;fkF2LjJy!07%#CIicGHR$@h4#5>iHw`lQ>)$N2i+i!YS zcgzbl{YqN!X^853=;gL6UUs9R=0t||Dph~|MM?ey3ay(m4XTqN2SdYb0pk~M{G1+1 zRK+z_r1ItgURkFFE~$tkXAm&4^MAzJIUF9L%$hD1>#j+}39DnATHGG8r5XpSws!Vu zO;r8WO?n1g){07r-I>U z()!?O0`DiS)Cv0i3JxdniW22b^l9c%rRhb^;>=vtspN)@?e`8pyw&2UWea6y#lsU? zQ_VW2Q{Kwss1R>3SZEz^WqhbtD?c;5I85p+GnOcVw2j1l$+*cK0_{{w@@Z*FkX8f7 zQKc9hmb0vmV;M$q35QM*1+yiy0x=zt4Uj(L8D zJZ)R1yH6O!+55wb1)g)~^`pMYM+l{}Lp;nU^O*K6ojb^Y=Tv>&c;Tn*?K|qORhDSO zroNk97PM-eBI7wt42!H$<% zlO|9ejMe1nn;hT1YJf-49Y8SwDiyPO@y2)<$kf0qF=j&Fsd#6&B5H1dpFX!Xq{D=h zlY`443cIKNtW6WVxTU|7?2gA#=w>Zq4#Kjz_EER~Q~kZW%BIul8x0()3?GKvt=79z z<+1);b?fb3&(y`_m{$9Tey##elFeB6?k+gv!z84KMxPV>V?3w#F+QP-;jT{)yU5;H%;VdD?ZI<~+9C>hVD|H38@!zjY++ z<^U77MxHxX0j})e5{9|o_wEbkkhLggkF23N6hp5zE`daY?C>w(+j}XjzLqHZ{kuW>XwN6g&)YlmhSlh=~k-Ecm-t`N#V`ujH-Qo{s{6?Q}rXo~*PDB{bwc zN_r1R&xa6-G^coJtA(tL(Slayf4kgi2;$iP8%gXOqhYq~RMRBfEDN=dXDOx3E-d*h z0X zmRGMe3cR{aI;(UnPJ6m$r$&`T-q(Uut~VxNC-du;_h}7`m>;>loyiI! zIVL$b`Tp~Rw8pPAOQPAI=`wDn`wUZT9;K1AqKMQ8iGCB~dH?k2PP;UpGL?C!))l{f z{8nnYqHNjcc#TnN!&D<^*ADWhUk%Gb3JI>xbG>6y&nuD^pB-Oj&1r{rVKvfG?1f{$ zO!+2PGH#zMNmp()1mXO?MUJ4$q5*2z7|Ik3#%;o1j$5Z#pT2puS z(rcI51?9pj;)5>9NfjgQJ;35+?V9iGaOt98X%=GQWRE-4CS6)z(BshnsUVWT@)@Hh8%H05H(-TJf_sBR|cPliV`p8nm;e9#f(ZZbsbQC0gOA%sey z*6I#&zSsd7PPgY-_JhrHSC*^(DFnk5>cA9wCuU<-c_J#oXPOuTYsP9{; zNp@-TPv#r+Kgp5Q?Tj2uw@K}nfBCgGS)I_?eb89nn2M&BkzA(D-IExNvUW8a(M@|c z&Ulf`<>-muvwLxGpNXK=bO$^Iv>Pl6^6wA{Pnw(pnpN5P9~!X(eb2yyC1kCMc>K1gP(i z8kBz4?AIM;|2pqA#6)R78a#?WTUEWoCCmvNk!*^Na9^(3&eVA%Uy3+JAp|HE+4!GmOh2r}Kmm zVU!r}PUaSh8|@MDnO1zEWTVzDg?gPyyDnkYdZb3jHc2AgfnSn7c1m)}yw)m<{PUS6 zqyKn8oqPR-2?RD@zA|~S!u@jnr%?O9HMFM7EoS4#s;XjpW}dj5<=()5(ltxh&>kV+ z%i@};2VlcUJdLliLuf!x7B0edlmGd93eL*7(Kjun;H120y$dGzY0;?(6FVjtWT znTdh)<#|4i;$KT0BCR<^G8@yquZ#M%-I(={?_+WZVn#c;y24NtD`VLEeZ{8`aJxwn z3;N8Yw5tAmM{)nH3@2je!33FJL2%R z5XaDXRU7QJMcPIJ$|Pnd6sHZ$xd<*T!`{|h>@!m^;ZPBo_49fmmxtrGK;FSt`|Vr_ zA6=^aA59K@sx!+Kq`_#s)kj|TwSh$<@n1xOCCKJZ&&Tg%VGA9|@KO#j$=qz{_#oGW zf!{6PnePbX0>Wt|ox1jd79N zf6!bGHLHLl0gsFVJyy7w)=!GcH)8=_q$i?Kyq8VHine%7lDv5?7J(URr-g}Hm+J|h zlw+m>W!@DYp(d{W4g|b(el6sG3Pr&o$=lB1<%n5@MV};CjWEPo!&*k3YkO3? zrw~JrYrlzoAl&Uh*#L{-RX_MIJs8{}A9P!LTETG=C>MXV^{a59VqhSlz2fQg+M9q` zjj5S>o!?orD7LrPLr)?p`t6?sBY32dV@sVR*0+Uf(%M7}^<~VROd_veJfeXU&Hd-y zt|N2%O)voa8z^{iOucjoW=X%fG#e|x;u~RXDw%nX<$`jqrUxhRFQSS*;4?F(J9to`qhhq7 zMYKh`g)uenYr=mmP`aAB_@|IA9HREW=mVRL;ZdBiC9+yP6c$ctYe+F>KK<9BIX*EJ zr_SJ67DzSG-?Ioc+lk`|k(nu~r#1wB>1Oy+5?Vxprc7{;BSL@rd86xI$lnJ z@FP+o2bNtv;~{38$6qX$daA(WiyhJc)Vv`sBeIH4?#o_x@CF1ir@1t*rU1fceK3~@ zzudN_fcez&dj$S4{j5h%N8}Sv=!eIz%%YI5Urf(?_=6sS80`fyt{&xgawj$jyWt)k_5x9N4h`%cVJ@L}{7)%@ z-Gn89MLSc!qN@xarw^K-!MFgxYLu$PN*I^t+LDeRPC&fZ%>j)iz26h?dQ~N^KGE`1 z-a;R#K}xD$D_wc52WbB(qz#8y3A1f~7O}C7Gf{W6cbVGDaa0%IONpxCXpbleczjg^ zm0w<%&q$&XkW)&(W2f*-y(Q>NN;~78`7l-XQ{Z9ep5h3U>m;Fd>rC{;eFm8OWxZ`7 zd!EwG($leqA}9L>Roa1>;$tY~0D^am?CXhAKeVgwTh8hoqyON2^9V7REK>Xvm=!@1 z;n(VjtM2Rz@yGI zzKk}1IRr>Sd;9Ip;uc~QlU2?s_M678o?-fO&D%cQO`@wl*~SjRlR%K zXR%y8w{&OqDRf_4UCe;Ff9Wa`3nMc)rY%H_!oM|LWdEf zQ>E~jerR0#w@>fvRsU}amV`s(f!P$)#cUkeeiYbNxK7XKcr-{iG)EP?`J}b`HhaCj zj+V1u-n811c71WTCP1_WUbQrrM6zUA!aYe{;T;0u#jTWvSt*$M1<;p_J(yyHi ze2vRkkeeEjiPs_vzh-wKW(-TD5-a7Jp!~{fm=gZ97izLNDXC62I06OTV`%WBNGcGC z<{$7NTfcwOUzdA+j7_|(|AjiTnHbfD6H$3~py>&mE%7SMu`+Hp{$PWbL=zv?W$aBR zG85-?m(dJp1LFRszM9rf5*UozoQh~}&XHH|hz{cWTv$cPN&Ao&uUkmu(JzXlJqvs+|rm)h?G3WvIXdFX}D9> z<Y(Y8}UPaZllpJR#+x$P6w*O70Lcn+OsZo@Z zHmrA;=^ATU#dK$(ZC7^bkM`pZ+CE?#a223`{0$Bq5*yD^-KfoTtPk1Tjj^=9l%PN}vL zE_KpcK}6Yk-R;oh|66^S;Sg6~W-L}&Z(Ao5b=za|M4WAp`akk1X^or$88JN;vM6Ls z1mJf9QcnQP_HuGCV{y6oDoL0s70%LcrYI}EuS4&rOr;rFL7GaB_>N_>V>vq{p1%D> z0739decRyN{kPlSO*C5Wc^zKz=hA8y4#MmM_k*MS1K8)h0yZAr! z0yIW7Y5ZIaDLd7VrTv&E-4uTC(qX^NDcV0c>g)ir20_kw%5WJPt{pwHwm$j)wcMfg zScs(&)f<6R&-m3;@L};@nGd*|tk1NyEQn3KBl3M!OM==6y+Do;&Kf$%3Ib~pbaUbZ^vLd# zHq9uu-`aTS3;MbBCzMm9VbLy#TF9N&7F}5sF1hAZw{+p-@md^wOW;TJod7{zGpnrd z1-Q1ym#{4`Au_ON0qh*Yfc_VJ&ubcqp(^f-1!o zv*h9qZ#zVxk&ky=<@ksdE2dqnZDtT!scDo)|9*cOL+GPzzMCxnE!>=|ukbp`jy4=C zt9h9f=fV>=(R1JP{gr;3y4&$fS~i+ruV=^ztPb2w=`u%+rYNOI2ZsrpT{?RV zT4>@zRl$*Dbxok3CwE6=LIu zf)v44{{!1wFp&KJkR(j+vt;3eZB2+6dtYT zuc%ZyYm3~vU(Uuln5SDFguv`>v-T^(<1Cp!d4{b`$zt*HVz4*9K)T2sILYxxDDzFTeWB0|Mg-f$&AM%G#LK(rAfM; z=>{9O(i2@Q7B;;>>KI95+t^5>_u7ii zSjtG##Yh`GDOf`S*))^|w6VHFvZH<_QLg9^+( zf)c3muGdSP`DzlIWcjYyR#wWtau!e(cV1yir{lj@W@tIy934(iITngyXRP>7nT31C zLa?Q4W~UZ(-+Uwet(h~o(u(>w4f%ewEG`cQyTlKEL+V&GHhPOOuyMf?D)_4NitYr^ zP^1ArUB5!+xd-G(@H~xNSG}eG&TrRi@*4&yN3j^4gT{HQF`G_v+gd`Cx5w3$I0k1W z56lAt%BMB9UfutudcC%L!XGsER-=nA3$vsMKANX^xq=$kWV_(m+O<0??k#ezfg|sI z+RZomAFReCEg8SPPH+^yw+u_>WTEevZ{=aJj*@Beq03)34g$61jxHOw2RyldN|X$@ zEafU5*pR25Ou(>h8Si6=y6a)jhw|Q68bj5AnwN_otCdqp!114v)rAC0EOV>DAcN76 zi1%2HCSU*{r<(jXC?JO*itBA1UFh7npZ07@GPuJ`=YdrvjwznJ7yOUtVB4V@Obo7P zIbinvh_hdo_C=dMb@)DLQOxe9)GJ{2LIB+HSAk+f-Q$pc!m32YcTy~OPkEmT*R~g+ zp^~B|ZK4%i+X}yEX|MIyzrQJ{fJ)tP=9lJ{wpaA`m*$5m^S7EX%uQ4Gh|)9_s+c%` z2TDs!#MCfpyhis1mCA8GF{1MKSHumCAbJy$tmYQ?=DCxu?Nuuzl-o28QwR)75!pB* zOP~fMUB>K~3{v11hV_F%l?@AWtZx-XGW9zGL@M_5I~At=b#d_92?XIiL^z*=r*Pge z1{q|lqBh;=2mNkWYyK)%=n_dr7s(^_cGO}IBp6~f?uR&~?rJeR=?sW zWm5ex^Cka%>}qJCP6YyMPC`;6o55^nN>DiT3IiL2jvY(Yty&UBRqTEWQQI-n>?~7l8nf75MD( zmZI*{(s2OZGpSy}_3_Ghgrm3?-;%0eBh1@IP9OITbC%F-Xd-=ca4M+TuK%AB;*yfNFsdR?KNHl zQB5gL?fAVxkZT#*+K&p^>D^oRIPiNGFw~C1Pl7AM8Fs<^A&i=Y{>R{0^jl)BMa}Os&;7o#$RaUQ{*7M zd~IBAI)a|43Bn84n;z3j+Zro{&s;=-A0pkuC-;izn}D@z@Y9T{(+V)39Hd;F=GxV; zev2{;_892#3M#S|&4_R;Ws`qz(@`Tw-xWh)#;;q2w_@ytv)59@W*pq7 zd1wI*mgD-ac;!C=3k_&OgT9)4g8+s4Pd?p`V1Q&yE)QOaEb|PkechdKW!=7|5&b=Grpc zbq9i_o)g!yHo+3zi#Y%kqzOFR78|fkaIP82;)mGSL~Vi}^#wV!#gH7n=utNBp$vwm zi7$SBXq{PNBlblrr(BUyGgF$a`Qonm^0yx!$;3c&LNqUh;Tfn6=yLt3-d6)rEvpUi zz4@IhpR89|o~2z)0asdI@a&{V@7R1fjjx8hDR%5v7A0Qh z%=gj?rP7k+ibB1+P8)-hkI)ON$a7#^vI_Z@U$rDpDljld(?&yBPz;eJHBpL|-2@-^ z7d>SynER&nT?6LnxIhhu6^#AhdrR1`^jmLX!1@jv>r@yY7VBo>dl1s~_UO}UDgl$u zo3=nUyoA4^^uJ}FAJ_RwHXaI?vADQ^bTQxx)K3TSpFO+6oZztZ%9)X#g=-&-HL4Gv zs?%|nB(2sfi{^xch=!exOf)UeSi%!K%@Y$8;srVDEpY|qpR?K5Mv-YlzTUY#SwvEX zKpsQ>?Q+&|@1#`MwGZCe$e#AZ%Ds0RdvJDF%#hb6<~=*Sj&A)ciUC@>(IZiDqa1ik zIXQYcOv&WQ%nxGjIz-Qr*G)Jte68^u7rXiZB?4N&x4~o}wRcru2vGa_sC*4O?n?MF zROlxk`?~tk{>IQFD5Y;Cs&x$n61sY~{X85yH|xAo1(jlQbFM7vXAwb+VRM@CvG$JW9E^5O~dW zwoxp^CX7|75aEPW)Qnp}Ed=c;oelS{9#(?pD$7elr)LqMb~<^pdMgA6q`959Pr4Nn z{VYDSeE1)w#=M*EfT|zj;gWeANjeo!T`Jr;ahg4`!k-YCC#BkV8?7!4-+kv$zVe(n zKNem{6;j_!(+A5e+HW*XpIqxThA(NTJ83pPN^uz3G&$GYO#h5aAGS z%hwZxlx9BQ6+nW(Fis?B6@8&C{>fnO)Y2A5D_JbXo-%5`GD-n30Exy*Wbi1WLocRW z3V?qKeTPGsf@LI8*^m^+$pS19q@BXaO8qqKuHtvhEAihXMqBcTqX%b^R78AOyLPHRIXb=Z9*!u8BYOC)x*a^~9#MCsQ z+z$r-k|HJ5EAMe1u|all!X9|hLnSqBX|nXyk4bU2bcf-c*}9S6YFk9UEI4r#{V1+~ zA=+7)CA_)O>}&$Sj)s%%?s&kdaexPV6{!BFnNr6&szajczlUm)j$M*Z}(exXNx8lRTVU7uXB1z@F z!#25^{qOmv#J+tRMg3X6^JG06*1)Qpx%slNqZHjM`9=VrC?R*Y4Oi+bj-HPmb3yt5 z**}H0;ShFV3bC*($&Rw+eymc9orgWk6*r_XbDTTUW_0UNMMhn=TXRzzQIJVa(#2jPAwXrox69#hQ=TLH2@ZjU#qF2N z3~EgQud>xviAV16_Sj?Tls#iq?;q>`5FZvX`bQ{?+*W;weiq%1X?M1!|8`!W-wF;& zIk&T@!qvaSw-FUmeH=HY@0(M%QChy*4CJW~-*4$%(fkY@bK9)VLUX*M6gruA;s0UOxq(`&Q8Qo$kA5)T7 zRi4(*8c;blAzNRj7ou!=60G+pc(XcTO*d~dLPq3~>Ce_}V;QA;8lNdl8ZcRWP>w9v z1)bt{UhOXDLRWkLQ};M{bopM-`$MAizh-17mJFoAe zeLUC1^?A{HN`rFuk7gqGPAAehA1XcOWMvi>PRLz8XAInIR}ijK<+1tG@%eSsdN{qC z72^M=Z6JgW-p*7P4UgZP9ftapcZ-{V;d0rlQoizWn1yBZm=T0G1`3f0hdXl9663xP zz)hc*8ox-M`7hPy0L^>cxTRA3-Xi1tPxJLprK@Q_eR~xgAw|9)L4&!s`HT$IbQlG~ zYa`7~A++$!<(r)@ydh)+MS`MA4EvwomV6dYx)q5kRhO+AxP5*_*qISl3ejgXRc}0R zk&mY3*pXs$k%qN&V}wiUPQZy)4u%oYx4}1Ar!_$9DdveRuclwQ={Qj>Ww1 z18{mUD2(11;w&qwF^|KSly9CyRnUE)NP(O|`w}01p4&!?8k?6ksbT4P$!xM7)bnDJ zzLT)cC=xGIy7z}R{Es!$c3A6@@K#;{3g-FnV-%SAI7f|XUalkkn#9hQ^)+ctTk09A z_~+jm0zzPI+s2EEY;yLF&%q8bOyO;gGpsWvCAE>mC!?l21VhDBwGNKuogrMuFHr)) z&YEX8VFsy8(J^vNj6&0rKV0HLZm`ki$3^5?8^xnzLYiyqQ|1-pjUcR=b-B|*9dvs& z`mWNN=-3&hA@O(~9;tjI%MyX7RO|k)^(L!A)j4h7*3q% z%T!n)%lLh)h8lr^ez(&NUM}com|P+}XMny*fK+$8?n^ke6ot4_cj25C#h3rmp658h zKNND2C3wfce)~)AK%_f&>u23Z<@;-)y9}j;lgqxGHy!r?G;^_VTsX#Ers?%_3_rXw zW0~8AF#M)yaB*4wHWNn7QutaZ7*?30xk9B{k&mFod^Y@os%$q7v*tZr5F?c+3^sNa)MB4*(fU|WKcDpBKa zWVz%j%01a3zkY(+I6y?)mrQ8;}R*03v;?gSy_ z+JS%7%sc1}N5`Do=dQZs_vg>h*No@lH=2=&WtTxpKRaaJU#XQtWr&0eLmQ@z+wJXH z$0Hn(fvcd;v+E|?0lneSw^E+;tG9 zI(S5F%KIs{cZ+l!|5^m-jIDcC#?i)lThpG3hno(j{1VdVu_;d853+v@NcA%>d=5d&pR}}e`dqeC#$O{l*GC@k zPoXT1~&{x_%h-?{zkb|r@OyP9JyGc7b6r2))D(Q!Irf8oDwkG6%1hl$<=#QtB4T*=9?66r znKe{QlM)aTm6b*y!o?P-)RA!I;gc#a?RL4vubpGSo>TEbeNJrhb4BRKc?ORLRt+M) z0xy6CcwSUtDBl7T8~$M%pj}eS9DFdK}Rhwy5Qal2RCRUC?tYXNqCrOT#B?` z2w6$eT39PE7>CfIQoKLJ3TFWsQ?wNetLURe-V%^_i+_YrIgDr^hx7bA%@!LqFh=hL z7Y4bH1c1HAwr@N7oFe{f4@2L7zL(C-&oZP=b{(j1P+*4{LJBFnkqdqa-zH&>WKd>off@!;KqSHo7;VjnUe9kSn9 zOHCKo0qAxcybm-@;b5u9Um=V)AV^J$3in6b8bi3{Nhg|toZXK`=^;tK&kiMwmy>Tf zRoz|@6nS+yI)0~5`T6z7g9j%6Q_J9;^~L%yRMKBzpo2}69VmyojEmfRwtaa&_(o#@ z5XJNgUr%>_0Zku6c%AVyX@HV4#ryZ5`h8IXjISG0+VF(cf16{Z#Qx&7tDy;gK#LMC=LSDGoUBcvTia$Nc>B zP!=PVd(7kFZR}>uy9#`9yB(8-#bu2)1}I0>b-=Vy^3*=*ffy-Hhp!TTTj+r##W4vv+3~JxT6Pj+n1f#cO)Zl3yrt94h$3x4 zA#HcSEzpMhnSm+E(z!}=7nK*ii}@BoRQ#My=ZFsb@VVNc8 zm7yt>A@YbKk@8A7Z_v*Uyp)wPIVPt26KL&n!|lI9s;%2zZZ@psoMh!icZ#cbstqYtkqa?RJ@vyJ*2a?I6@V?8~y-!O58MAWEhCY<+eUku=+jxS?Cv5(8CGvhzQQteA-d=Bm;Cz z0~W;MBXz!ikH`AVbG%14x&F!N4xS{{B=utM;p1sej*0PXhDxWa*7uD|%TQd@DRT7a z@nY)F8`Lb%PF`4q3OIz4dhRdI!i`Z6?v+oHUHs+!07tx4Ms=A$_1HsjoD8mY!JiMU zYX1}(g+ny5-EfAroI0NN2z{(@gP}ehtLoKBT3R_AVY8f%*tZlzm+IqT#2EeGq9ygT zm8s?3$cZ~};mPpyVQDQJ7l>`iM>gwq2%kjR>J6*&COT|8;Prq7Ay}B@i->}m~#O#N? z50|fh^On%tkZ#xiTJO^gFa~w4V}=~AzoWGPak zKP*A3h`MLXoRp*R54V5#D>ORqnKjtJE5kA!t|X{RJ~YG0hRTQqo`IFw4I08voU)^m)vG|WWOd)@=NQ?5i?5pSh)-i z7i7M4oSrSmcaXD6a3I9B4GV{zju#Zto=erdt<3KP%`dH1{H<4dO2IW0?1P>F1LDof zt^X8i2|)~lQ6Dfx_FdI_5*$(8rek2uSow8EAl`Gwh!{TWw5?>pt;1E3tH2yz)s86N z!;xOJ!m_`XMZ0&1gsZX;7KxaBwpk?dH|WO)HZ<;j+m0e> zk53SW!^M5}nMv6jNIEW+l=3mDJ1T4Jp!GyIK2g5Ix%45p>6T;&pgRFs$NCXdxn5j> zfa<8(6~^#)7T&wOP1=k$G4!U@!biC2$do@l0e9gBA9`u(^7YiS-_%+~2FUEpxbHSZ zSuPSux7ePL<)*`bcN*d99(|?xB;pdF3(|^%rZk5?VLtX@eJMk6O1>nWDH2K-Jz3Jp zV(h_~+>B}5N`(5$#ggMNXRl&V4-CxRXvdaCOh)@OM<$YL>mh$GXmR}`yJ&zf(kSm) z_3w*SEk6X|$aKT;n9asQ?T4|Yt$2cKj(a_GT`nSDgJWb#Pi>AD%Ug*`+2d|Srm-4Y z3Ai^JDmj#D)g_H7E2n`ba=0Q>9eqNUZyG}Mgekna|2_amcx!s%O{?m+!ym=~0DEU8 zL4k_ud$=_qK!q?=gt)S!qsCKjQCPj-}yGUYi(iz-XN%FJXOhib6%U#O$x! zvVYWpk$^#_{-XQzB83a4baR8QfKj|Q^3g7(xTU(`PBDqJRA&4Nn=G3O%r18<6a=$F zDEvkrTja+&Li6ELryU-99##^!+DzphJJckolpIQq<07w<67yPf1^XB|h&jy>9c&qz zF=w&kbqoQ;0h;)aT~kzF61NneZ>jUxY7m$A7}KylT>=u9d|ZpkQmR}b&*-@94(xkc zxbo>1W5?@&PO&W!-vLUg+T${5LfMBx*0ln8P8OZg}^q&E+6twJ3 zzVttZqTmo7OiWL3S#2B}V08)=ZgKM&e)aqf^Z&Ip)I?@<``mCj9NfT;ov)8a!z0X7 zrMEOvV}2e821>Pssi|je+Z2YZmuam&k9JT{2o>eyvEsWKQY7hQd!zqWh0}AV@f`}o z6zrkyN7xi;A|)#=dE0?njAz_2Az}oEXj}$Fm_+ObpY*-S%UbK@d|KajNOya5@l@V$ zO+rZ{jZ^bqe|+H&kRp$jzN|#_$lgtyW@hw$XF*~$RS~114gEoNqGRKaUapEeL~y;g z17=EU40T~pCdpuZOO!~mi7NcWNt`Wh%f48-C(%6OiRyo%g_ieA=v z3_jmzNC+C<`E(f9aJSIx;#xYf) z1t|X%3WS3}!Oc%_#Y~;1VA%Epn?#x-uX_HooKTLl_85Y0JnwZ&XEW<6FFp55-hEY} zM1&-Y>P&fl;aI*UvvV%sx^?G3pYTktnRDdLf{v@LTv?vD99Mgz?QEKHarqzn!m6T@ zNKDfC!5(5uTWw~zc!w(bb)iowe0$+$r_GOXrp@DwQ~=DNjdSC4!~p)VnsN+UF4}rA*?WMb6D@%N^Chly)h=Z9!v0#0Mi2v7V`Z1RWoWPy#f3}s z+cZCdC+rvJ3lfPajl2uzu+do0(Ps-CKiIOV zl#)6k{!-f6%MjUY3vpA}?Ey{E|97pcXZD7tg!-zi@mBwSA0f|Lo0%1zyebZ9h?0}! zSe$lKZ-v8pXa6N?LP+*YnSLH#^0^l476SS+(Pj=Zlv{9+8jOloH)C3;S(Mqjb8u>|J6SfpNtY@^lv8!n%wkBy4_$cmXX-{{ zEb&*sVPrz2k{_LhAC9rs7^1TXs{IZM;=Tb6agLaRzWC~Qt*A%ab z58q2I;)5P1C4F%{uNddG9uoBaGNq7YrOe$P zMd=93BUcJLEZ+td`jH$}1$8WiLZ=rH3x1vUyo4LKDAUEIY$u*IXzj&)*kYJ$W#@|! z%q>p`2zt58Og$lVCT?bbxuvwm`8+4QnCdN*-Cr@LV8$8NqCVj>S!#-m7pqGA&_h;P zzB=gsrLdtLe6j8xoxL+XnfLOWVV4+v$iOl^Zk7sYJ*^!xw;L%b~PHRyy$V_;@nmwtm5Er*2Efs*Ko)z^@z*%NG}V; zLG5(Dqq}_DG`zBiv*DfnlXqM8B)ngs&qy>seR4frWaCfno~mHS2-PsQ6P5FiZESV2 zOTu%Se+n7HdU2XL33tMYB zMRf(Cxd$@OmAm%|6`*M|OOr3uEc)$B>>+EM=O)+F5b-p^Y1;+B4AyUxXgzVY}RexpmY@33Ct?lH^sDnVUv;DN8vOkw1=(Dx$=3VJDx z{XKg933LpC0)~MZNTz=Sred_sw3Wx%wSNei(sP}%{io6LUy!wzUn3mB(9>sC9+zqK zAAV>1Q`cY`{JsEfq9?|SLW{05_pt9uF1rZc-3U6&Z*V5~1~qxP-=u-gZ-GN%o23um zmQ>9nxu4D1>-GP=hg?6v(Qa56yI|o3d{C|zv1SoVSd6z*mr_r4FF!l3F66=2c2_lY zy1-f**2;l|F%P$$ms$ z|IE$-P#2|{t_P+A(+`1t;6xJ>r9S_fa;=)#ihv1);uo@)S4$yv^uq4iFJ5Igb?QJr z*N9PF8|~zQDZF|~fCe#B8u@S%hN zTD+i`yT8!2Tb}H})6a<~Xvf0b<~thb1w$xj@p@4t{hNr2jjS`)&!lt4;(wOiB&eC) zsq(D7Pn9qO-#zUZ1Z2`bk2Vt?Wvc~0>2(yvEU?sz)i2E2ylk^5y>eGKV|R||L2<%| zZ%lz#-5D@9xjV!}ecgsE?-P~jHs5tZJ07~7G8>t6M|jgO>B$W8H|is9)IyBdZ*0-! zb`$-3-^2XTa3z8L!}{N6rqfwKEJ(7;d{T-v;<%zoQQ{ir6uo0Pi$7yWqLlPaK=}Zm zy>QEUy)Aj>kbw=l{il!xjQ?k5>VhX~tHV4F>sTXC%!S?h@SW!Bvaug4WOf$=!SXnG zN^N^tJ3#SLWTP*Ay784#;#?Jn*adxorb*V$6ChmT$7L!0R-x2mo+gy&0VLG)?c9|Xnh1b*L9d}+!Mrv7 z{LcX+FR#Ff_LsUdug@Ci;QC?j9Q(-}G8OevKN9$gld29~eqDu|67W4UuxK>RlVUW9 zSE}7LSo9NHfaXi%r-@KB^UiQIC zawH@a=LLBAgaUeeIds;cqL`5~g@uPqwu<sk^A-*Wyd`Aq8Hi=!<O^DYP{pg}&O_=G_uX)v#3z)a~AwWB!3veg0A{RVZxak1XVa#S*f;a3{$~ zPekp{S?axd7)PuHRW#|f;38=q^c+)QxMx-^tH{{rMDe)j@Aii%bOW6ucE8BC(E31S zff%0<;N3KsU;9Eco<`lMF7HF9I59{he>{hSp6h>ulWz!lytN z2$E$n`t#?pA*^6k*Akl)zsD?yC)o^HZhMcWNJw_Vb?qHd;C|ou{=BJRGFW;$v47UN z=E>eHL>y&0+y7<%?cy^x?~jPKT&A#$v~wmnf_|;jrGfxPgTG~VT~p;&XT?$)c-PS%jcmLg4Dr0O|A9rtf zQN&Z#&eA@?odZI7#uo}g?7{^7l+orkt3+}+h^JIDU**YI6mn@lw z{uY7%{-+rl?m@}l-3f39E4$ZhSwF^U4h)VYlMsl0&}(%Od~KBg0oFlfp-`uMz1-t~ z8&N)28QQgo3n10&I1)&v2>KTo{@q&faAoE$0WugVBsfzTl{Y9DIJn z+9^(7;D*4aR4ro9$Ynf8Z}D&x7t$npZWdQWK_(!>;Dlu*Zh+B(ErI|q#l|YkO!$*p8>jC z_rZ1x%JjWT{nGg<@u+w7PrAjR%|gIl_xG+cHEu*&MYjD8w(~0r!FSC7x>f?PkYVVE zB6Z*#MOcFLgc_Y6xLQ*^#e%j%Dr?u1`1s^L5)2D;54&7=PmF* zCB5pNK6rrF0mWzFhN|WpJ4fs9aL_nhOdEn$TS2;6G_^b(Jpz2E27BdkEb0!#d)9bn zb-J$16^)e~pbLLfq)z|q8yL<0j%v&T6IA_$HNfG-;n_!WS5gZE-R4|Ae9Arsp!#U% zmQr*gjeS<%2aklKmj-+)D)Oxb(8~Z;T1!fnd9|Cr!1Hv5FdHFKwb8JLcab`IXyq+9 z$KrVh`I#zK$fI9(Ab&^#yv+9|FxYIV zynlpLA>GmvzsFQYy1Vf`B;FAEvBjB!`Ays^+?RgE3)XP(Aq9Sz=Kh2H@@kN z3&~+<-S5}`!?r(#AsjiFp7PBWsZ!}49Q6st|+uf|;V0=DDqf|gA!j4Lo2*}w=0 zn7@16eGG&sW;tBtU+0xIAC%^(9&$7uNj%nNAn19S5+K%&wV>#IF!{QVtYY8+4CyCn zE+IYfpMeU%n2NS>R=ThA+|hj7-mGr;s-wCzNq&W^A}QV+)_Ep{ZXJ&}9Zz zU#-MPVR`nKBFK^ls}Xlpf^TrP91bGp8M)SkKH;MdttfH|<*TtVkjLo#C!^3I`I-#{ z-LO@HAumQj3nL{@kS5W}OIwanBpDU@YVr)Meljd$W-F1Sg^hg|8h~c>?Smg9 zDhy^NDs29%pr%Y(pqgflxJ;*YS_tQgShBW4QZiTfB|h)SXfA?ySdOpc+t*$a@2>3^ zP}7d}Pb;|2Cv?*t`iL~8O!^+QF!IkdNEx0Wk@AuiNNC(6?#cWIGozj&Qt#ZW1hKNr zUBj;lCVv$Etsz(v92-_S9Uv-aX3xql$*7V@lk3zdR-0-?an4^|aNSRs^Hz^y2r2$L z-$d2|M#EE?@SsufEn!cLS zW*|+y@sNE>PyC!*_PDy(UbiC;>v;~guAgG2Nvf!d3ar??SYVD&v<<@56C9W00k^MhVi zPuaB_J{${6gx_2W-`qk$N2>qCk>q19GbPE^ALqtm-2FK8Xl76jAyU;l%Ifo2MCrMQEX3I%jsgRHoQR2|Rbl z@`9lXy^R>y?N6Gk9~{rRy{QYQ@PT!MYN6dBTcSA3&?pak53yfpM-^P-cRR}hQ_DJT zH%x|vJg9kLf0aoS)Fexvsj6W`6GxKM0*%nv@_QRamBoye*EiD~@h9$SjF~2Dx_*u5 zNGYaPh?5BmMHQX;>hy|*T}s#Ml%>aTr4+$RM-kstT)*I_ zZK4nkw0KL;5L@8Vwt~kxLV-&e_}*LM*Sf0)OQKfYq1o6I9J-J4&zy^p382Far$+z{ zdG$YB!NdpDCrPO0+!i(fY%8mwIS69-7;c6RApaEh-5yr@QTI29;mhC?W%k}S_@_Z> z;fQ<#BM5k{GZHUg(<|4BnI}j}1Je-i`&UVe{}NnW1aHoP zJVw1=-tGH5-a%EA;A;y*PO>D6#}O&Hy~5?J1g?{pEL~0 zhq2J|klQuIj?a8@#1YvwEtR&jzoFsV3#O&|0EL5j+wj|Ez2}6UD^4KM<{j5MRkU~3 z9yqMRL$IL{x)8@X2t8klmWsu}aKp#%boGzPEuh=g*Fj{%1Vxfdu2Vno07EnEUm$E+MR?eZBhyo)AX3o>utIkItGc8mJ8(wd}NL43Wu8|)UWp#>@3bL^YNXkI6#Qcr7G9_Yqjlv1+y@`YH;VKcZ?Dc za$OrxpkuQ6?P)`VV5Elm>(d*Pjci~Wu%}ns@|Vqis2IEzv!_MF>WKB)e3rv6MMo-F zdC$!ZwQ;yYOw3ol`cF%O^ULwvYdr>sdY2FdNv)!E|4kKRLHWFIq$^xgzn# z_-jlb&-JOZ1JO1&%^J;m=TRyjp8hQ}hPWHu*Dh$NyZ|fF^`9>bv}&^5c9;rB?0&Er zC-=*XMO6q2Q`bTDP+Cn$B>dJ$N3P7qt->?-Y_+ALuOV-5`8Yp`XlcN6E~>8X_TjqX zGh771G45WrtrQxqk7MeA5tCij_feJU2WnK7?zRK?un4a$%8!~VZMo9h@13B+pm!D( zdVr8|Eu)14;?J55C2p#W!jo-c_7hE54)oss#1xjkIA3OS`gi)=U!}$^b7OP^fBgX^ zOqcAniU*?hYkQti6cp*bLC0>v$|mkYvN4vWD3=R%@h{-y&?3))QakfR@-`6Lk}C zSBeyOo2nO9v1N4RQUzhKvB0kX!*lf}74$tRb{o9&S$m^|=I=A-d%j`PqE^>Hr^g7} z?6~~h;eWeaL>R)3y@~dvD4!48c!(sb{RCF7Q-kgKyHD(mK9It^V9m!SpeVB0IeyL89&a-b3H|&e zBi#wWr;VtNdxqsf6!~8;MCITQ$|%vXFwVm_jQsRUHd^mV+# z_!+|Tdd7pJ^4qBu$JEO!qi6_)a$W9gD^{z65@%hji$NqCy#P?-@Vn<}T1=C7OteP! z?3hs1A&XQ{S<_+>Y7>~=wY~HH(9FGjvfn^<`0(4-^LVGS_&Lj~QL(*PId)5mr}9?d z0c6vAWZswM9c4gTU`P)?J821q@Y1LnIXK6KX>|8???-<>!GgH%6iZxnaB@$;? zvg9(_h+-rXBLh0)Z(_G>ZVOc$a|AA!CwL+QhVcO6YrsJ?$i1+XWq|-(TWz8sYxP zVg6Gn01naG-24>AE;C~#YZOqiPeji4t)6Mj^@J$|p|Iwh-Fm)Ag1c99ru-SbrJ5 z>ro>5cuZ1#A}HF`FS+uT`>Z9;-NL0df{b}R6H+b!Y7uiodgH~&*6D$UBPGmB=`@IR z?HOA)nPUcooNNb`#_|z%TBYLjI~u;j23j$H@j{RP8|EF9xbAU*AuTr1qBB>1@tG8& z2!M;EZ1{(e2W*|>hbGSj9h^jRgv5(wh&GpJR?mhzAA*`J^!aI}uk>f}$HT;kK92Q& z99O4SahKcdc>V8@Jx;G1+_lwp;`>t#K@V7KDmqI$mU|7tUvMV zgq-HvVvyvTbLjp1YMs)`cYjRb`!o+SOE zsd|g_%j}yheCJS@H|l|%g$e*iBfnK$a(SIKs93v|IO84-K{ZaW8Zvml-bewR+W0L` z^1upxxp4zO&&Dqk$<`M*G{2por0y8aOP231?NrHRU}RXAVTGyg+R~+8j zVyvuUn-2jX@OVlb;U{$K&^m3DUpq~E|FHyhZitDw(b5$!W{RMNBlmGOQ|)+NR?z7-^46|u@p*m+KnlmvfYOgc<>VL6*~Vl~UBxewI=0ugjnI}f?6vvdoa z&^y4Btz4r2`Cb(9c}adSEN3U;*KgRQ2NvF2EOwrZj#Xw{>daU`YXjYGpw$mBUflPk zlY}onnSw2}Y13>G*1x`Mw<)!mp%*lGf4#P-^R!S`X>QjSh)63qi-s47(`}oNxB<)R z!-nASu&eD27xZ^~N~b+}VwLXW+}SXjLVYSWM`O)(W>3N}62#$*P&miI76KjtKr2A< zg&{8^JIKJI0c^2g6Iz&=`t~9}^}IEBpL*G_r2>w5lzp=7s6jj}E*uBP(>K@UXf9Uw zZ@YA3li_AFd({Zzf;4n;F?4|oyh=7t9(*~cRd*KOAAOeFtA{W zJUJmxiYJRj&0j*vDGXfWC>ua#^hs+(hg(YBJDiUoOPhMwd#GhU7q7am(AO!l>YqZ9 zVF=T9Yubl+_PP^2D&h>CiZI_=|g9^5bucPDb zouvZ4V@uj%BW=vrVCV}d%`?AV?=&sRd!W|z)85~+A4km^zMNz!Ut_si280+nKl+^+W@ z+5uoQ0<~|A=xfyD>`q*@(VinH8uz4Yy*)aS!Z*I+vzM}$vPW={Tc{ltUB1Dcl|ujt z)jU5nJW@Y-2}d)V@JYeN>U}y?YW{mE${oS8p7(R$6?(`#S!<_sxb1qZ-i;)X|11ey zJ}F97GGH_A+gicd!F2B;geB0}P}e`1dCGOB>#U45+aAKQcbKAc#$umQ!(IDDXgvxA z^=;N9*?Xca5~LtjuQac zFxGhL3FHrv1ms^Oo9p(W$gOxJD{)|&1k3bJW{AX09T*L zlwKZNkl(CXlcyL-1%A0pieLC3MCDJk?%&}7iCKe|KF=XPt)ERlHeJ59HxONeK+Den z)#Kh)K99Cch#A$rwx}Jv6@$qBS_4vl(YrBAI?z_EnP$>%gvs*BPg!A{!J@KtM)!9$ z9;BpTQcW-T7)2by1k_j4zfEl@ppjmP1-=^yh(8_%(S_1o6C3tUgqRya(x@HeeW<1f zKGWc*>6mtS!WVzZDWh%b{wv1PyWxLmeVe}f38|5}tYK}A$vN~V!VJbuv=aM#jSJ`g zLeCi!sYO>MSg?=LL+tubZ)#l3*RHOp<#BtG@({M9?_TatU!Ufa5BD{n$qym_6pDwP zSnW-8G4Onh&+1LY?bH%ubKM%mPE+$(&K>XgKiwXxh?B{;l6gra6 zZ$xs$@!z6{HqPcq&kJ_I#h%mE!zgV?czfgOs6BCvqgCo1i?ocv4!>ii>l$oQudH2P1WXgHYz z^YwWQkv%;XQD<)T4++T1P7Px9v%h%GYwp{-?_Dr`(3Mm>=2C)^3#sueHM}xHdb(+v^=Di% zv`_pyAAos^Yc$ea>XwvCjM?{}JhMI;Ebaxjq#(?)D)5=R*FPn*)jI%N(8PQI- zxRgcg1buXE%8ozwW4n1w0;L{8&(Eiwh9LVA>yJf&6GYNHZHrADh6L+c2&K%z>@8)B zTpzij3i=NgCJ(2kih|R+MiX)*Q?VD^hkr=TRXC-px`b-^VXX;EQasMyRq_5)C;|?V z)!uaWT-4qrLDWsW(LDh^+DQ%erBDS6>)#iapUip5A$Di{Dk*-s9gcg?xXDBS(GOBU zOh07o4eT+kOKS8C?+Ztn+MHuof%P%0P%}AJQ72`-A&~sr9?$ohaX{Y=3fOQ~U zfpm4xp^w9@;VVHM%dK*fHUt5}N|FMj~cDkQWAh>Ld>Ki%WOywva2s?+Dx&4-zn znzU|sAFjzE=_@l}!Q)W>==s%+97ack<9q#2A>Yr4 zZ>=_Tu~_YW;#5tn8b74^W_#3VP3Gb9p5Knqlt#-&GSqo z;HU0W#ETa!&GG;M4x!%n^A=F|?%HW)wkMpJx;+!Q zh-cyXN}lJ(&!tLM&!dGN_SkKQLVv@#b16~j=|yAGNZe% zViIs>k2s9gm*tL}S02cF$Kg2=AHv(vt7H@S5V^`ovb1j(L&2~bPVIFYLRX;rmlT@7 z%L+r8plk%35Yq$3`-Wr2A7Qi`Ib2;dd>^hX-6iC_P_aa`LLWa;yzL{6!dAIB*t?gd z4@ofLyCq)aNTofwd$_m)(M%gX{!YZf)27c)+mL`gLY7pUOh;V|%y^T^@>#Lzu4)lt zTI}P@BfopA^7!MNIKYu8roRC26#&TJjzYG#p8$(}$sO!*@GbBfYjEz;orC=xH~Zal zp%?CJn5x@Y*blsq(wRd(>~xaH2HO74$uT9=d;JquGNp_syZ``PSn;;6{y(fQ4Tn%~ zZFYRkYM_ZZZX&~I8-E_;+hD1lYRKq*^hDuBK=_&~_9OX;b60Zx1zJ1}ZM*~h)YY(Y zt$iHfSvc>a!D=qURsU}-?Y!6`~gqD*MiIr?~WYxbrkm$P7{^P z-CfT*Njng;n&HW6{auNFrPst>2U`c1fA!z4(Eb!F5+r9F#jq4?p4#CNQoYL=&|iG>$65E|zNPo%ia6FWZXKT&lmaf4n-Hc3e9-cc@x zm@I(`;OeUd{s%6qG|uh`f87fw=kWyviu0p4uwKZHr5J9XQIkuThy0U~)77Vt34D)0 zm!QYzZ}V3740rM}eDP~z76!R>br=LeMU3%?xeWmuXg!iT4c%&3I8R$~*A`+bn8iiS z^RJ{w?%v6Fd7`h&PtzL4|7G7+3i}X&ikB{CUt#67zB@{aU-6Z4=+Zo{Q1x3$z}A<$ znI_w>O*SYeZx+pV-+kC2=J*r(QDuaDR|mMIpnAcfIVbl5LkD`jd06y)XOdVb-_{0b zYe4~PGk*`s*^({H7QI^EjO!_2YOV$)BBLN}wch~qhXE1p0}}yC8^7UY4B@Ne zy7noHtqv1LoOq>KTrKRxDy5pM%IEHL6WdMKv8yfSMmFO(vDO1X&L!mxZgT-9tNaz0 z`NpqI*W(4l0pFGIIZ#N*;c7lJcd@UQNAiVzWS&8|_LQW5{M9P-D{}fv7l&Vxx!_`M z*2F`FrCRp#Auh4YK{ODeiirhnKN!1LT(4LU0YkcpfpaMAI0M?xm|hkHUH+b7fMe!* z;Q+TJY`XxuWAhrA=zRE#_d9A?IZ-ZP|M`B8leDAJ>5pEWVIw;Fo(OHZFA+Hz zB{PvxcBlkYzjKhqT8J*JL5#Kockeyt%Mm%W&nk2im)cN2*)`sDEnPnRH4Wrko$;$N z!PU(=-^jsjz8;SJ>%=L}X<0ha(kR==$=4lvd}|98D{}vSI~H12JuNCUs;jpx47!sA zi|NF-?p6mc9UM|_1J!FR=)bxP#vE4&3NcT*Qr{V;7&ELZBh*_?pwMsqv&$KLq5Z&X zri+Ygt2b_%r*!BZbN1w>Mz5%iUe8|pC1!nuC_lr0`ppIHmqJVC_)7eb!$H*ctsDuF z=R%Boj5lmVou|v&WBnHTuUMA~xQp7g>|>($!8aDo#j`C45!r5UjZ=hFKIcvJ4^~E5 zIUk*B)ir)9WN}Di#i1 zDWjq%w9?XqsmnJ5lH3^m;<4MXXEtd#0nZH9@cU6#m|}a)A{^|s>|)DWaL%){-OBsq zU0UhupiY^tcF3bN;@nbjpoq$~G}qG!y?j4z#98>RX_5YGtZz{F$`bfcyVMpT7Fn2m zd-QWf8klA!L`jwM?$9h%iDB`cSmRZ-u2v@U4NDL;+=<9sn$7nE(o`Ao;NnrKDi2x8 z$tGpNJMk{y4%n7sW$+#jBz{%sqJfME{iXJHpIUG@ed=6M$*F)n5X!Ndcxq-JzyDTX zHs?_JqKS8Y0*=dq;b>!R+Ph-jEhl@I)6-)n!;C%+L!9T(dLiVH?&d=JT!MhiBE z3$}FJ-4H4#pUGag4<%1O-5Z*3%+}1>x7#UEO&|M9#8SVbhdtq;vq+qu7VI?FlTr{I zehqn^BvRBSN5~%+H;&9p79CKaz z1jl4K4PuB~t447}b8#^QSaR7~aNax;x8dMM(Ux$1u!t*Nk;+FQH$PdG6)FZTXp*`Y=01a<=hs-6 zeq#rcI&Ci56Cmf#6TMT%Uj1K-;5J-*STn+3$7Z4wX|5m9PZ`s^)@`KF2x)1^Au)!7 zLGq$5*RgoJZ;GZAaHd#(m1q$|yiIv%;m7j0yuJ;iOy5IaZ{POp6;OY?>fmV2rTtA1 z(a9>Wh7w9=h3Az^jWhx#VgN;z8H1L*$G2Zxl^Y@2zK2wdt0aI$Waq9T z&O^cZ6B4$lU-X+l4LAOoz0=M|HG52HUy!OfwteB8yo?x$Drg}uA4VXU-~uI3Dc-J6 z!`Q9lHM<72IEwQc5}^n2F9UOArE|BezWRbo9j*HHXYyiA;5yiqT7f1~YXJVUw51^~ z1g;JT-3m89ajos`QStDX51CILTq8VW1_j7oVYjtDoO^KRw_y*t1kO@t|C`2FnE^ZGTWIe8fY87qDm1A8}`g>44NPJ!vD)cGjM z$w4=vWj;?|zpEKx(zw=bC0iubK#Jb#Bsd#GJ0U-SgMuuDOp^Odp3xaa*g^0TM%dok zdxPg)@bX_NPPdi!LaJfN;E#wBHRVo*9%!|_&#ZuhXgk{58_&HF$-5aI&Eo$)j181h z@KfJEO${*`<^vguPsMnD{CjOk99x0wYXA)Z;$ZP5i?V1J*o`Voq1iBme7nt423&V@ zc8pE7YLB?~Y!5Y9zDo^e^|>zW8QrIY9>NYzB60k0XZAf7j^4p_@=>ATUy^at9s-|xm9r#gLNJwc1yYWkI^ zo~&P1D*h>374eQj@jECwLIK2Ekov*x`+Lr(=)h*1RCHJWqx7=?-cZ)#2+;$)Pvskd z^+m?-(j0#uD~WET`W&^d>L&QL6GSr$(&t4oymMYen#{eVe9L?^i1pWi)jN)nG0C@X zoa!~O0DPs?4Jui_8pQO_irAiF+t%9N0*^^PK>hDLj3P`9$s4T7b(E|t#y#?MD(5BS zVoTmwX5=TSNtJL#ep4qs3c$h1A3m}`9x)p-JZ1nt&{IGQ0)J;(d{RFCRXGBEpj`F`XboLqH&TjMgl;zCW z<)v4w&SNqX#-Sy^dZMOqznx|F$|9IzIZ8t+LDx{(Z;i$MåIWaqQ^Qy)y8z=>m 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

    TxXSrUUnE+-N09<-p%X+$GN5(arNr+NN~ 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

    4AiHSdp@LLgqB2xYANj|f_?FTh5ohYv;K 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 z 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%0ATpiLhiN-8}J-0{mU?30|vRaTb_-%VNn0 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�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%0A;F3av=e%I=-UXA9X%(^x)#Pi;~7 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ħK$|8>3b{pK?K= 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%0DVXE0Qug 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¥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

    u8tmFA#jqu-v5bz=1en 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

    GR$|wU= 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 M!Z!JnWw-ryDdJ^c*>) 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

    )C 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 Js&Crezec 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%0A1# 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%0AQ+Vf_{OgJolkKBy`(@Y)|a4 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 `6)M8)lcKfL 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 )nhS+^SpKxVI4fJXoT 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

    T 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

    }j&y}FK_PQ{o+P4@=~W3NGQrrVHj z6z`GVTK!_L^9m1PXaW9~uYqz>zzl%ej}K){7T4bR%JL;t1aWQ?b{uenq~U)snBm2c zh@bq=($zzcBI)IW9iY0@2d!#;EW9r+2DH%a$r%Z5gN;B7!0A7dHs>;TN4oQ-({_EQ zI_P4|ZO`d~z}?xE=8PMuW%;_-rtiQf`Jch)F)Za9c+(8a?=}k$Y4^+*uDCcm<^?B_ zZN6=^=s^^EgBzqDZc|S?Hi$oQaHh*o??{hQ)5|&1WTO3&(DIRaYm8McpyWD{4M#7> zr~N;Ut}-C1wuvs?-60@d(nw2#l$0PLASDfggrKm1K}&ac%S#IgtB8bjDZL`nCCx6o z`+V#7gWue}=b5?B%$zx=q)>LQAOb(JttdD8sk`LzU(>u=CjELpGd@DJ!6I?8jQ0G# zM%s@!+aLS;2T}cBZ_0TiarAUUmebW--o>U6Ye^cBs5d+ycc|PHi8xkPdef$!JipDI zd)RcJ^d(zhdIVHE;vYhNk$8I8&MA@kD+}-XajiqY>Ck_!4~-`yEl0B2?LB=}V|Fz$ zyw$l+dkM|>xu>r5Mt4}GevDDl9qMIxAO%R6Dwh#)=c*WSKQJRd%aQt3Yg>@k;X`z$ z`+K@1zNttEc5Y9=%+5B@;I*I0Gr(<0X!J^Lb1n9nI`xLM6X~u0qGL}oa+yDU!Fyxa z8@gc|v2P}D%IJk+QtGh4S&L*)EU=&Z!GNP7@pd&UUy zwmQRSwU zFPwR2F%aAA$J2$Nvy2hTz+~{^+6d3Vi0>ljrE^J6(#EBpD=WMz#40UXJ&L-I8W< zCH-wFKlU=B)s#>ccHqmruCjv}kWDXQ-iC+$x5k*b7CR#(Bf26~M$j(=R$^=$4Yx!jr8 zX{r5+T>ukJct@s7!ZJK}vfMh}f;j5-p5Mx@3by-I&`Qi5mOuN{rX%5Wsm>PWVwOY7 z(|+jZenW3|VZK!X`Q+rjr&V_Mdo5#5p{$V(F>fo+>jKhGMS^99`HX5wv^c!gPvO2y zEM3PMezjWT!C#qrFC^gFBhSq(R~L4lbK()UEz*w_?c36p%oG~YYX30NGi-af6Q3q* zr&X%e@h#1N=ba8S$xMN4OK}cayB&TKt(=?Ld$wqHiYNx|L4Nv(ucC8io;@e09zR`0 zF6x1O>%-al_N;c%@}P&|?%jp6CJ367Ptr{+T#(cUqa7gB|x z+ILO262JBx&eiSxXZ&59u=5_qh8&txb%gAJ}xS zB@A(uZj{MrK1X`lmbyL2^JKjJiJ3{ogPKG~B^Z8Ul>h387)%$w-RTj4?H-=?sHl^;%4elgRxR~=3WOGaN} zQr^=DLU*PaERiISYI8?RKd(a1+mRp%?S-ke2J`maTpd}5hw4ru!OJeM>rBZHX!^Ty zQ0|WrbpgkU_bvWLu->{|*}?-Ip4v`%H;8Yl#Pu}3>y-#ceyhbYc=7B$3E*@ z8W)-R=+Q{Fbd8Wl28TEPk&$F8ouN;otfdUA#eA(xkO?zGW2fTzSTW63n^8tyTSl9S zBtAOD2wyB=k%=!l7Ao}*AyEjv7`CS%?dkihVRY4~(Qg6=J7aZhWO*blE^}GitZn)u!VHJkfq@-^EXl+(1YgR z$b6%Y;YvcVlS??=G95^t_?tgAcaq@YSYHz+9iTO%3@a<5YdhYF@6YRe?~3%H7td|x zRVU`J$l8zd)~gA-_0Z&NO8>#=y*y*ygXdTN(d#$8z}{N7DuUnhm6)qp^2uGMLIXRU zMrpmkfq44EM`kSBQ(?vCCxUuGLIxH{T>?3<)bAZuLEl^VYS>osKJ*4)cyv2L+B0W& zT7lhnR?CwLJ!1aDj{UqZ#pK#X%I(Gft(;))zW06#0#BduuRX793{9bpqVJwITS`l* zDoI-nt$O)uXBnJW_xe;jPJ%i)uq_9s0brBOEgUyut&{-^2K105DPkeLcKE?YBBS83 z&XIzpT=M+)*D*ni|LAh$k$Cn`9lWT`104=V5AW&vCdp=pR{uF%G?x~4|B=}Z_x$k; zlmYa-n6Q#O z1rZY?7=1x0sMoH#tO*<_fgPSsY^M62)xsMKDd+zQy(9=orfishN$CJ)exSRo~#!fV9Ik%ZuNAhkK&< z(9E^282K(6>;hyf_LrdQyHnWGmV*~H?nVZ(AH*5q8F$1TO{%q>zH3h0lhVd>RX+5R zS9!Z#F*nzp>upH!vwJVN?t&bk{1E{W{Dc5y1lyk)1xGS)AYb0@*@&_Q+hhz$*bS^j zA2{k+q^j<}5F&)&j_Ek;o+)DG5wP}9o{!@sy}}#Vjiye8js;r_!_v!jEVw)VqHQMg z#Z4_L7rS10LF$bgasp-+&d8Ndxz5>&8`g#j@cPQP_P^N?zScpTq|JmaPnmJ2s$%YK zQN|ktcaAGJZBnB07S}IbAo*#djR%QZIO$Zzt6#ts%J|}Zvq%BWGsfKG;)(b=_f|b8eGgdg|m#g6Ky4jtr?vD$`)E=bHT-q5ad2a z-pBv6&iy9!I#^Z(@!Z~x)jh)fSAX2Q&5gMTdSBtg-%P$wI?wkpG2nU}1UaB~3D4x9 zuPw0exvBb`7G(bJ_?%d=k?qBEU6ScXql5_&&*0AGo;5Oiv z~}ed7`3Pq%9tr;XbD1TSR!W)ef>q$)4->D79*81Z^Yf(!*T=_u6c8LCAwFU&5tJmw6B4tUDXB&BuJA1-zl4pOr?EUsWa}3YAz)h~M0Xew#J08$uheK~4f>A$Ao*eQu zUDI&s-^rKrADjBP6q+H2D>&Nx%USCl-m*VhiiI6v0Asv-9Y?6~ z4LM7S6T6tcqw4PXT@;EKUimmvW2_4sz6AVd`CgU?VZIQ^gOfT@(I+B}eE!V~tZRVl zO&IDl84OJrqrNH>Z$!aE+Sb2(d7Y1WM~jJWnR%_gu>6E}$)}62@|@#u63wS3Ti3+q zv$OK9JX?l#Yt-5Ebam;cR}|*Umzbi*$&-Jih>Xwop8Nz;o^Vt^(v9c+A3gu{E)0z! zxGU~YJPwr}n~0()l(+rj^rE7w+Zt2xMgI!6WOn~#c$f46o?H$+TSmV?=~dzC+48{y z)Oji~MSDb6Cks15F2PY+y*ge*PcL4PW3|4Yt z`v*9{FAm2RBtnbDuW-+@mV>|im6g92H8+MwVw_~xCYJPKuombMm`zQ6S54y$$Jtt! z#4NoCf^Ao054#1}nFE6WRSd{c*&hTWAsJ>#Rp-p>nO2l51B(CsJ@7>f$G+lwo3L*9 zt#1xo^L=&r0h2y5xcEFj|0<}J_45b~(#rFyB$^kKloBUhc`GCAOEm99jKTSI0^5)^D#c|eSY?K#HhO6;p#oz-@UyNpV3`?qRO{vi|)iMwFE&_iYR zM@@8pN%^<;s7EOlp+f{-n|Rx4>?zYpQ|ZR*@Gf1uhwktpo0P>Po%{4*;ajL+uRM$q-{(0pGJ(>-i*uR_p+e9~$Ca-#?iiZShD`0{%&{^wz35|7d@HO!R zzM9|>Ko)|NZ9mN8V!(mZKcRxw2AFrClm5LftGdn%rCkS;iN#&|q`koIZ&h>Q8wPm; zCa&_IITBfb0Qg)C7{Lw~1@@_Kse&39NCMXh(CZ+8_{S(k>7&M&3|uv7cBgMMi+VbT z6>|ih{pru@45TCE<&i92ees(spwGEWp7@J=+)XpVn0@K=a^a-}K>Wli+}=Qu#n^m; zc?ovW%^k6KX#aE^$EkU@(8=&U=;&VcZ_54ju0lpyGon#*Ij$#=iWwFjP|6E?b@_X$ z1?-LjR5kdo3n1S^&(_btP8pj6g1Q*&!I%G8+Zbj>MfrEdyBvhb{MEl!Y83}7G<0Fq8n3^o9U z4D1kt>N99r)gr<0O4_o=7Oyx%NwMogem~5sUeWQeRA=6S2GS4O%;Nc8OpnlF|1B$b zZWWCZur%5`Es4m0%0iwTE*}dY>s0SgO_-bmFn6SD0lG=z?BOSCD(PU)7;M2>25=b0 zF{W|5!4TB8T{)W^%LlTQ*WJS2C%q=wZ=Gh|EcK$E=c6HkbhpJbI5Bu~;8`#@RmJQG zfxmdz^znBRyaQMU%`)hR*0gBj1ncs&ED`yCenF2LRY-2>3shA)3`~}@$RQC4B&k~W z-nG`|1yOzlQ!d`3Yyro=xUlPeX@-4~8buEsJkC4^^vS#wRVsbSzQnz)ZpWGr$@mCf zU^_kTH&BcI9oVI!EvS8#4NCrd93~8M(KwpGQ^(elPhqhig~CfZhT^OFBlB?H^Z~ePAB8INr|&XgAer7 zD9#RI8cJi(?2>UAwE<2Z#-58h$^bc~I>JA8l#>VXP0(}FW9Lu|RlD=EGusbKJy*X3 zJG|f;fNywk_~0QJ5(g#IaCBMZGu}Kk2nkle;-Ru1SIIhrjoXzb-*{|*$VAP2jQlzyApIM9|@ooWZ_bq1iHTgIy@b986`w(J&PDAIXEx z%ZQg}z2A)&{~@#(iMwpG?s2O0N_U*?yGpfhLbyk0_0*xMLz~$7Wnm9*%eKVA6Ozx( zn_-!bj$zwBI|65%Ua)0o43-F|6KbbB6-Bm+*t!hua5wMVF5W82X?6h8#4cdx0h>5> z5oL=Kj?4#Rv|yLqWN4ZOLW?62{b7NXM^Wti4}6ndNg`)HU0;GkocHdej!&U-v$@9< z3rS4chwZ#Y&4}aUpR><+Xt5-_*S|S2$|1lcR}~3Glm~;~j-dc`Rt!>gz(Bu!@o7^h zwjt~8Z=8z$blZqO;r-Hp&>IQGn4z$QAMFVV!sNPfTRpTRO3~G9Z?MLffym$I#zp3x zL=<3;?mbvwp~ZeHAMb-PC}5W<0!R9@unlKU@NQ@le9X%LX;4&PY@3=;y@=Ce=HE`` ze6DK=NYH#D$f{na>L_tmUm2umdmUA>QK;bujnT^YF6GW&`)sa^V zir6g1rqWU+7>2hK^PfZZh2^Gt&AfEk+z_Frt~1ntY|G)?<+k{XQ5?a%nohp{S`Ljx z{i`Z0Lf(fE+^=Sf<}7BvOyX^qoG1(v{R^EN{v4`Xw|)@3uC3ch)iax4&Zu}>*^_0S z7^B42e6_<$aIodVh6=r?bx$BA<}+BSKGA~$4mt1*D{z5T9sdIZ*y2YHsKJk~eU9M2 z@4%+xN&E$4h1&U36k-H(HO

    +#9m;w`bkG#NAkW4Oy%-6PWV=+qPhmzX_w}JOuNY*$I^~pMo{wy^M&? zdq^Faf?rxz5I{#$@G52C4PUCyn{^^K&08h4C*SnLn$*q^JzpY8`bo+1&oAD8Q3XP< zYb$JRQ;h%^MeMV0*n)meOcU5p#c&;0Kq9g6VcPkuIa8a%Dpq+k?d~6gBCFpmM#OqL z{#U*+Ny77T{e@Ijoib~A>7gS9+j7V!#j6T6q2>yWda6mH#c09UYWrU7-Ka?m6ZI49 z;8X(#5Hr*XaK1NU0vRsRhLo_a6f5bg@au@xpANlLCwdv|OBQ@vHs*E8oQDPfl(7tv zk$B2(*m}r3!s=kZ(V56IakmhP&2k9Q*2bO7%$Aigk|J$!<*h5L?-93C#&dRKZ>dF* z4N@rvj$}VCS>;tNSW%0V7#V`C-OCbaLOY;6*=Tkz?ITCRpr0tTYS!9Xa2SmU9Y-ySD3DY==ziTZ8!;#X=~4^O?{xJUj+s*$;rEB57& zY-3B|H?5?}b4rr<_W8b>4n{VUuOD+PCK5`y{HQ z2$!+lLtzyUUpEM5`Q}Xrut|b8t#Trsg)yfNn$6n4=ia<|mZMs87jW+*A#mgGWRRpb z;`h>P<#92zuV&iPEZlSZb1FbnT<5<`pySB=>NJ>P#Z1hB1b zw*_-5k!MfGZoaEv+j1(!K@Fmfi*{vLVtspnFIz!ObbNK9mQ-(J^(x{mnP8&E+w?-Z zHb{Q#!BK;RDRMw+y8oU;ko@$cfLP(MEUk1APjkcQT-XSB@eQ-6wJ|qw{3*FMX3V?) zCA1EzF9C(Kx!}inbUpppoQ8Y5G??J&yupRwpmv4xv`azhvPpwt1v=oC%buPT;k9mh zBC{&U%r^mh>|z@~(Oh!C0bvrU{tiS&!%)wU(FD*7W*}hd?+`7$2rpqZ^IiVnr$Jb& z_IzAAp; zgPu`>?@(j}#sYTs{Uz4v0Md9Dt5f`^)syr^z@sYD_rj!VpQmwBI<*mJ;#%I&d~B?zz&vM4Yk{@j^NbW1Li7{4y>E@Cm{Stblz zwBX~J*apLjC>JTD_lXH=MbXWFDP5EU$FY+XW~7r*N~)gx;ZnovhQpkH2%SXYo?r=$ z0wTdSV+rw3HXp}dgogZEACi+27d)-)rWVuBd>K8zR!etSl9bV@Tq5^An;vE^MeTFv z`$On9(W`0ZJMf<+xkzHOTpYi`t~RhCj(JfED;K=O8H|x&-GiP01u`%2cg{zG_Q7En z5t$$ZZOrR|ua?dW_0ESz&t!{_MlNEiURg$Ev#A%{F{)?$AhT7wtZxF0;(}55LBy z<&WOu^o-(ys}~*_xbi4wSIhpKR*$+$nVac-h!Hx_c zXs!lv%NTW65Eu1!6worx=WjAzWVPe5phcS{?aP&28+=l1^_K7cKZc_5%IsFWjFbW` zJrf$SgvP{5tTLAJc51AQpUh=@H*7d%)rx>ypN)P7RRM?RZS44D{Hox8>Y3%YgVC|# z$7MgDiDcegU>NmFJtv8Q(j}$7s|JFOo2qBSv!D~B2EQJA(BpNkoYYsWvO`#0k z^oY@}P@{)btfXiP3KMWJTIsxgLSrV)fRb|ND){DcWs!LmzZM=}Y5HsKH2n;)u76tkC~tDfc)3)VwG5+3v~9K($d$E`y?Jk zw<)!#AMQFxXjkvnDl+WRX+FWhuVgP1<|pmPcju-IOE)6sz-gIH{pOhS$M(=B^5W4t z9{~R1u7BfgKkDc`d2ZcgL-|B`_S6nR-|1_lt@uVS>$P`ifHoZSEIMY|CQU43g7cjE z`zZ5Iv@`A+8ea?FwQ7gEJJVW1ZU##U5$z2W3oNa2l3Y2Z$Z4z-R*pNLxnB@2t?7Rk zz1m{VJL|jh@lK;|iRk+0<)Pv|BNpLjYYpi^_0|`>6Avr4iS28$qwyC%$S{3s6mO`r zZ=U)?)-F=uIam)G83aHrY*n*Hf+hA){^?-N+<**3S^ce9%S4Mi3#U-zTl%i%-!D+( z^q#lB{=kmzcr9~J!q~&*y0fa)#u7O76sH1irugGVEwO^HScG;Xaeuqp?Nf*ZI#G}v zV(D_zuBA^792;qs+kAH}NBYVhi?dKdrXaNW0mO5OpFiigxY4C0In}+il9?CG9MV61 zuW&}atq|3JO`;=7aW)ps$5)U#pkXxDGdy}4`DN0*>VACmmt*GBAqYkPDQrX zf6ZWOh&Z+;Wk&+S~^PP*_IK13pa)%zO!L+BGe-kke_5`|Y__&D34 zN~2%0W03uUY~z=>8sD7@*|3iJ;CFSyG{^V(HE&@i80@;QiJAo&3>3^X-L%qPm1H5a zO#*SnOU}P#_hZ(!@Vi9=A?NISRZA`!_DWHOsy2VjcWCwO`r7ltVC*`?BIp5jI401| z6MFP=4+(qW!Uds}aLHN|`Y%qfZi`eA85n=}j-@XfxmWu%oA%f{3L~+oUyM${gqk@G zZJCAl2uYl_$-)E5Je3MKl;$|8rY#j0to%+4AG3i-GHm&!0KL|OolwKk5C^md9J8(l zP*~w9u!L3jJ&YS=?`Tf&56}=rGcZ(xI8nN?n zHpBJ0AB%TTI~V$)#To7Q2td)U>w{q5@i7#k^+^9{0%n#-B4aco37>$Wd5T*)nF&U2 z^`NhD@NTOM8XOyj)BNq0aMX<~APvoTR+$xWHiENJ7eI0ytkKS0AK#_IlsKJEow-gP30 z?n?Qc0SaQ`vp3dtza?=a|Fnm(Gm-B(pU6-!Q1~UVYIBidDighVV^uvL6gnWJKpE-Gw$kX~dQbI%w_0BHvqe8cm|y%bA*C7&hD1vo`>E`eBFYs2)p zQKww3{|6h!^e|W91_zaqkUx4{6zPv_Ms{DN`<1Dg54%5fcXuQ1+I?c0466P#A72QL zf+Ds%Ah8}gk(?g1j~rvMj@cI|zVI$oMa)#^Dak_O#SDTPdhwf(PEkn}X90ht#&q=P zhVJs!O|)=_MYIO3asCu85@_yGw)9zl@+@o4=l?W?s7O40XKQl-^FY@IuXvSK--M{= z{)RHUsY#L_u($2*z*|oP`7iL}pjr}mbZCG>;Z5D2U zCoE>$F*R4!yr=uYCfR*&<*0E5U1Qlg81utBqD^@k(OH|Jaghs?XQa^8&je z;^<`{Nz+&}W0uQ(-8I2J)hcF3<$`seDJzTn7ek>Ce0r?fw#e&O&#?0$No)-HU5yScxVZ!0B&f&uuM{H&xoXmz`aWQj%=KfNvEm#mLik>}zq)`&yFNV$(ZrCME7@CV zk1=y?$Q7pCpUoFd+C&^3|J)~nHPSv(v}D_i1tsPiQqrEOE6`F01>UH3SJo$H5*HT_D*x*paebXZbu=D)0gQM2zx=e?6h!Q`Ma z@Jf5XW2vxC10TLCA$!u9T>fhAxAFB_w2&&2fP%{zwowO1+-=(9BEt6V-2lVH_N%~g z#JMBn*#!|AW-`1NMs+f*Q2v;TV3Tb4k#%JCByAqWx`)VKB z{LeXf{b)jYh?v`JUJ%4>JZ#TmX-MOU^i!D-uiKTbYbC8s-sC*~LWL^(mH@)yh}foN>sWKTmzS?sVLI<&VVC3a*suZi7BX8oqy$ zWIpPC9F{~Q|1?KlSNlQfo=F~kPa(^kA=3rzZNgYms3b7~wjZvGEQl5W1-nSzD2O6P zgG1!Ug#bY7hCevYio?oHPLoeD{}B(m-Oi$kh(oZCS@yN_6%|-sU#(T%fLovR#>G)O zLVNb|?$1Jg-UI#P4%iW`64=EsHu6M#GPrKSaQmUz0IMo6Jx+H?cTC&Qj#!Ho<7-oh zbF2!vacyI-#IyZN_?5F)ORZ02uT%hWHyOWq@|<UY*4mkzaeDd zKI1);Er;#C2MWXxe04#EXHk4)b{hW>vVh>mx~|Mp2|qO$xk*y4b|59l^lDJntCeUv z+?g%xt|u2M+LO-t@fg9Fc$kgIQvGIX^{)0uuk`wBSKF;~$#)lWirHxUM;Iz>tONt3 z?cX&RRxw-^_B9Sn!%p5p*X8u1Q~4Bps>%z@DXAOtD-O+=f6TU-gkw@lmWLyX^S=hD zP6~=)r7UQOANc*IJ(Q36rPT#aT3tslw4u;}WRcT1sLPWx*bQ`!gDL+Ze)MLiDRtcl z?Je8F=r^Ro4^IuNkXakvy<-=2BnK_0Y${KZSz*T8jaSor>98MhcTXdx1`{omj|HB`v1*%NHGG ziYW^NNmA|~t`UZ`S>rQ){CDc}(AsMbw&m)M-W*0Ho<0rhxbQPov7M`knYA9AkyV81D@qoPP*~MB+KS+RjqE4tDk04^uw$P4GzfH@s!E__zhD zhu+?O{UuZiE`eu`5mff?3swxRy%FH@`;LpZa6AX&_`NL7;cW`|j?NpN zHn63(E1!bVMb+eaXg#lt2uw@@NvsQd!uxl0%k0tUUKwykg-O8VTk7RQ=k7-yn`mY7 zc1(Fr@ea%m2a@kr6aN%S{b5g2U*vDW+Tn??FCV|pG`p|5rOlgMz0p$2D^%tV*tDt> zvRBrBk?C#17?#v~=Vd3a-DCqnnyoOZ5(e!&jE2kU8MRnpZMiVP zGhc>q1?%0lCoWga3XF|IY`NV8ZOT5)!Qcb z0fM5S`O@TxoZ8sc?0X$MzkxS6Q%dx?bw*=k>y`Q4E{+@VKh(^pMY~(+aO4@Xwe?Wp z`R#^Hidl2!D$NWu)e~%sF1y{I)@?=O)ly|^vj*_%a-|er_x38(sbd)Nj35Z=6x^+! zPoCfszAd34#xtV4L+Zuu<;Rb_H%6VFqf5^zeL)PpKJ29&W+=q8I-SsI+h6~Q`uUFO zE_cO+4Vfax2!FWL9dW+lFVCtHZasKyBACVUVAx7ViNt^Cx;#so9vFDg6OTpc{he$FL#@Locd4VA z+4de7FD1@hQmsK7WLgenh@L91xO9X4PAm(*xoL5Jww#T9&L!buFV&`&ieYxcH`HJ^ z5y?jCt>?&s2pPX~l4HOd^V|HmLXU3z)C}8-Ow6*en5hybXXdt)(@{)M2|#D1p$+Y8 zPi!*d{*1Ib#eErL zlg?}^JqGpA6>Z$(rZccj`mON&HM=IJ^YWY*etq`IW*(P!qhr;A`3dj9z)JJ7K%Qz* z)Atpl`qY6?UzOEJ`qQRyU&xrlp0bm?dWSwev@s@00QC(=8hZYK7F;9Ez-Wyp#?A<) zu02iaif?fQ_qw?fatsH%7VdoMQ%ysu;{(Nic* z>5BV0%;v_JI7hVN!(;~kj;rMv?t>&ggGpIQOO#_?Pkoz*73D*lFct6%QAji#0Y}~2 zMNl_^QB>37Io31V#U1w_LNX9M0UIkXI`bz6aiimob%sf$xn71N2BxX4cm8ELT8|#r z4*NHxKZR(PB$mEH7vlxIFiLL__1nom2&ZXR(Zs6PPebA9-{0KUS1TSS%D_~=qX4PU zlO{|#9HS2ML|^Hhql`|w%Ss~i{g-Zk(n6A*Hwdr*BevlBv~J3>k&idBVGIT$-^IENFN!q)~83-1Wq*7{-zESfu`cz9s=#jO4i#W5R(DpJ#Oeh37H=%raSL! z3v0cJk;bXk1T|YtNJ_9tQ2YFhD>gDeVCjd7d;b=`)U!rMBr3F?=k~OU^%o$e(#cB< zzepRZKfA@%Ov}$%D~t27ofq2GBaZwXF^Tr(ssUr_W0mZxXB9a%MWdIQWWC}wAGsP` z&CZEF6rX?RylC*gcs20fX9%sCnY7tHXAXB>h~bYdObrCva z_Q1f`mn4q&PMuE1h10oOUpRWoW-Rg6M7vJS93}p8>6+5?y=axNH`I%qtG|80X=goZ zECm{NkYkstdirA540eB4c+_u)DR&1s_k^P`4L$O1NwrEZ!@)%*T@W=esv%S<+CvJ7 zlKh>$vmUg0ARO>bN{8;v#Y4Fu!9`<5+ghqB9UM!7&tlHH6|?VarmmK%cAO$SM7X#L zLPzSYD3ap~>^MW*&ADxNs3^<9*F=wa--WwL);_y}JO0B778;t?;`8LxRW0uM%qpyf z@G=UU3wt#Q+`6V2{R$yI(R=|x!#TbxL?mKox@^N5lM#` zw9vX7t}k@txr;{Qq}0OFy}|!k@M(x&a=?&@qtHc4F!Q`%H!O#PqPw+9i;w*ZiPh(^ zPIk$8Vc)rHu21VdMJV{N)FnNbo*L4;$U4w+(sRmOkrLQH@ved(OOWvqE79H<=jLaP z&mVgA5pd)Pms!le5MqJgc{wg&KSN>ef?ht3jdtV~#Xb!(M!PcAM>3a%kK=6`5NZXl zQu}-flL)WSdgP5eD=$dMM!LX)%{!K3LA`MSP_sG#J;uD7dKPo+u|5B?J!YUC7Sde$ zr-oIZ_tCOZnm>Y<4lQ17DL|EdQ1@T^U6=NIPnp!J#F`b(c7EI%#H&BLr>M$DA7}+3 zC{5AhGYjK)CS^QH$qo6L6Q?(csEra^GMc(8@8Z7Jj@^fy1G_c5J?Q$gO>nw>0((gK zmzFr)RJfyPw~99vN4PBGX+2qftAsqEk*A^kQ|F+O^$3EvZQgv>ImRh7*#3POqEW}0 zRAR7ijq42{lvYL4H=+pyixJacgPjh{y~D}`e7Wy-xbO|TJ60kQoo)X??M}%eiQyMZ z+X(7*XQk7x#(~8UtyD*3C##3wQkGw2jYH>jGhvcb}i5-7FTONbwFzUrU;w4-)NL ze8aMcJE6ZRjsGFU0Ksi@e{8xdJg4>)E4E!`6<-+VhrMiQW2mN0NoC$_B$j_X4{=*7d%Zjw`9?FG>h6}<8I@!RopdtIba&t28W)^_OxEq@K~ zJU)=+xR>5N{*o)g0KhQyfYJ}4&!GuBZ~$GNsFTr9e^pym+qgJ9kDy zr}KOaZelzQ0Y}saiMo{fAtqJJL)4e+ug*p5It{GzM+*~A>^>B0+8!4$n?g?{qyT-8 z0PyGh(=T@gj+Ze}`Iqb3Q+Y=`bHeh6yezik##Ei2K132!a5 zEz^=;bmN`kqjIuZ|2p()R&`Umyb}B#!g1L;Ys-+XH%S{I6KI7CH>D};A+h|j{C$RN zd9y#b@xv`YR;2m^>38}oPzfSKxrVPB>L0%>qJDaJHvuw*0Uu$LgY2ZLsFQLq-iaw? z#Mr}8AwPfnfE)*q1O@0{CHNVnS*T3D+mz;iyYuGsn(p&5fA(RG87k~>3-fus$X)hw znl{z=pP{kg-AG&>lhxgA;T=nFFJVVlcT)9aA4BEZ+=tBvyRS1pJ~|NkCt-s4Z}K;G z3Y{q?fHwH5nx1&`l|~p`zYe|C9Ur(1P~*ENTsMuN%bS4~$F$Q_Qd=i}QxyN#^h$Bz zQM^T-kc#j|18OM9X8;o(VOr;aX@L%GaH3jbRBQEz&`yWUO4z0+E#?!q5{Q9atAmq- z%X7kg6v3?zADMAYw4OVRLe#7y{Z2z%QK2o& z_jME0jUZHPh+Y%u*SOr>>`yODb41S>d7?_}{4hp9TJ)ZDL~Y7efFbVf z_FoJ=jKq8X^zkf_SD+VpPu;&E`0BsShss=7^M~_~vT3WmrT5Pe!adi?1@g$S>b})J)d5oD*k3!E~-8SwAap-C%k@va*rI z7oL1gZ1T)i8e!_xoyf1P*T3@#hdL^WXc{$@W1R}Iqx`c)1THbHVe!nfzP#y7;0Ky^Jn!*&>j; z;swVEu(7%4NPpwA7ch`8Ah*AM|I935le0Tq(!ELaV^U}X`{A^A^9Stkp&LD_mo#z?LvACoC%bR(o|tLTH|?G!?LEAPGi^z&T7rtcevA$gL6$`&VD26{bE zC>SyL_(@i-(CCMLhOQlfPismwDVfqzuF*h=xmuH;$Z}P%+uL83qm8ozmkaF8q(suS$b~} zeEktsi@y*?J6C%9IR>i~@Gu`^BLf1EZ~J4;Gc#a_N+GRo?xx6n&vJ8Vgs5laSrzTq3 z4NzqD!M#-?cL)CdqWP|VAyM>5>()NNlut@h{-TcZ-pOOkHa%m&?&p+(pbXeQgft+y z-Ol#=R0=M3-nOgvd|bvy%AF0@4N74xAB5hu_v~fIt4>X103_#JvEOEwa_a>}(yc84 zutPb7Ot)kuarp_I=scWAoxMPg3^`&AQm7##_+H7k&-TbjOnQA3?#(Q%TqtQj$SrW> zT)u+ls#+eSXyo399BeDT8%%2s_w7^sip;&3vvhR6VXwpAf^AH>2XKR61*^!H80+7i z2)BgEa}CG6k6F(#a5N$bB!V+)AumkXZJ*Il;}s_JFr!|dsiDU#q|HK`5kG{#ov|x% zZu^+gRX$mRJQA!37iReL@gzJVdIYa5#$kM1YaP}tD${hqOrG{aC8jaxp_7AQL=S2> zt>z5V{eyo?_2J8M>Hur7sg-<`m9wo0L{vbMhX`_uU@bR3TVCP`ZhqQFFZ!v)S6^Rs zrronk{5$tI;P^W0I`cYFrw8Fz2n55k`@tD0*p4TIhTbPkfF%*v6k}e!G;V$92_L%) zm*kg^#i>@kYMVTpe6D)=JmS?C35C{>Ke_{jPwDSiu%#j?6>iJ%RUnC@1^*!=7l|kA zzSu*h=wf}y_DH49Jzm!5xuHzsw1B{e-FF!+6f*jPxmxL&o?UX#+!ESYuH=vg4+5R3~2WW|WuIC{y{8nMFcrz1I91;2;fk*2z`$a14UFp+@a8Q0@AvWHbY$^McBuf}Pxzo3+#E^ak5a&{SL zw+(-?LfZA4Xb2+#Lp1@lWl#`;Qge#2#rO|lV)LQ$lw_E?WbhI9mK(rx7=UMf9Xyo%#lMx!u0FFlL>e2|V5vKIyZYlE z+GN1zUfCI+iUWY7@$LfQS=B*op4b?~h{=?FY^@>zXXBt24i$z&VHhFR{XZ~y7)ytm zO;imYTiP71eB^$2`n4JU& z+N=XOKr~)!*}}G=e+$;&u-dh9PB!e`(8VG6W?7WEL%=)hgd{z8;vgF^BQf0YYlH92 zY^Ija2y~udIgTtux`SC5Ny^8t6D}AgsSqWocYGT~e-q(+fl9AsDRK|LI3t4Y2s5ES z4xLM8q;jRtq=!J=ruA|EhitJUels-aHNKD{(Lqj_>rr7bggBw=9pR4`H}S}UWn^NFll70z7g0IGuS z>!b|jnU0*PN}Sl8#O6v=g{SL%TL7hes?QNsma@%N&VE?S~(m77#&YDU{dT5z{F$9goYja&TJvP?~9^21zZ1kNB zD)!TDZ(MvKbmV^aCCrF|J}|FRFRyt|C6}j0;IB!B0rU*dc+HT#hN*Zqi0ZR(nUmK} zt(V6gyezoO<2s}PkYt6*Nk zC-1arDgCj17kXy2hvI0Y)?hHeJ*H17O4ukITAwq?ek{UQl9E*OU>>%z09Tl zUFzfj)?DTF)F9Zqm%$`XMV(yE?H+N_9`IEko1w^vr~aP$cEs6n}QlJsb3FkE^V(2pQT!aQB?;cDK!gy~*qIo}BoO z)x;N98dUd$~U|6*3Xgipm39{(ly}hj|;A) z_gsU(4U*qealcsP#fv%)2r_I2jdfbBbL!?-nOQNFm=5(|Jl@SaoF1B8Uk~!=hlg1= z-ZTRks;dMV$OuBKJI=}#g{6cM8!aYQA>=Y%$xSsMYqhrtTfi4~7ERBR;|h7W=ItVh zI-%Uxwbma7W+RKdCaeC+{Aw!byF4IcIQv(w>UqVV0TNeU44{c)x+9{+|M`ur-W#2- zrc0ND>hU@3&t+L(=!esPEOXv59~c7}FkfimZ<(SyB6^R9d)DqlV&5C)_1~>?Viy%? z&Pr^bw_yKh%NzbJ;1x9Rbz^TUv=3fjCh_zgn#e5RQiW0GQ+UD%Q-bS7lZ4^)^bYeZ z2Kk}^+6SfB3@wi@~lCTNNl$Y938^UB__$>%kjO?XIAYZnr)`*EM7oiTBRg zdYVek#Y*q~C%ZkLRO{xdUz*#shj=JH$kJKE&RH>II06!7BWcWbJ9chf)_C?Fnug6rP@4Bnh zTz8RpinJ(nQJ-*d&EROn5!=qGj(ybUwV`FU16^A z{mTjRIM@U4eKh_o8#JaYqV3jhc@~rh_!c3hza@QN>1>Z;EHW^kD5W=R;3g4>0zEK> z`Bgi;T=H!p7pT*Zqp~b<`!~FJyQ=R~T(H;d|j-}L)-xZ#OLA@5vYgv1Ta(ZY2k?!~11!)B%}?(X7ige-9IdY$G? zDNKHPrWPe%PppFZzSjr55%H#LLZjYmS|0O@i{Q4vV=44L2S)gfg@zqtzIUvXdH+w( zmiw3=e9}-#m~HKYhgo7`}2$K@(&jlEkDGcM2jI;tmF9 z&s4)_o_CL`mKq0`Atp&g*-Z+CQ=+eCng&gq-!~V;1Mu z1V_eR*{=AFJ6XkXT(kBR#(%P%53>fHC}KA1=W&i2J-+qxMiZ8ml*-+Ow&3lz30Jhw zFDe~^FHTlqjlpWR8!uU>&+au~_#}ScDX~TCbcREMr(r!@;{!(Hs`=hWOnT2r7TIV% ze5bnjwdFML^2z;TSr~=benp`D8bhNxc;R6AQ) zDY~V@**=#3GQ!3xoGD*PBJNp5329kKUzX&ShYE~RE0!$oM3zFV^R03j)5{K;u#1Vu zF;Fm=&bc5_lt$SmN%y+_&fhx<52xP;-^b7q-~W9*Zz}WZ^|$oDJZmY_W{GZmZW$Cs zuk<)9?!(2A2Id&`ZJZOP1IJL-fP@+luMGxM;b*mA8O!qw?AYtmkl!2W2I%n9fIo=n z?M|tyg8;V76I^~4it_)K&X+3`v>(Z2eNd&|lx`#@Sq8tYHRdwbwcjEZY?#spgARij zfGYo&(oeoAF0QauAyovwW%Jgl1zc;#`H~X4L;z%jt=ANJZHG^{OxgyQLoz#62DelJ z7$0T-&s_W>HI)(}aj{|;l>fLZv7gaw2P{&Q`Bu;!@q zFPkGD=dR5@eNom!f^QV^lG=mD?7708E^M|vjzB93Cup$e2Y_#~L zD%0^Mf7flrNqxzWouAegRy`;9xnw1O&xx}9tfLQH@DLDwG3n!7Iclse5GXTzp(+B7 zjRMd_Z^VJbOI6ED$|iIO8*IW{FdY*M*x{SQ7dgI{hKnIhD#Zj<-S&}^_@va>Y&+kY zn3CtKzYkYk|Fh3_DvYkF`Sl(6o=BA-2?-J3`fFmfG&qF}E5a@(GJG%HD@h~yMxNnWiGK}J5a381Wx-zYnL3KXAp+(v= ziMrrl5#4n>O+Sl=oVQn3?_g|;Wh!x62s?wOlJ8w36d8%=t}66>Rwr}?^&KSmOb#sN^95fwIJ$r zDqyGXwWt;HVN(5#rm2Q$Fba?_n^Iw1Ca2+=pMtx`ad0BJTtE!IP8qrC*Sd|spQdMN z$TDM*n2n8|EP84z&kHw_eT?7w@lh2U&ON27<{?_Xx`lfBn2gE+CQiaXF;^eUgs<#t zc61jpUF+4P?wx`p9ZlKvq_e*zWm4E|GL|%ko_TvxIRB;%|DDzw7>%ctq;9jp-FXnF z&@bLluFJ)LBl4(jSG#nsXfJ0x0QVN$@=_M<7Ha$BlxwDBnq9GLw=w7J&Bub9r2aa@ zHzx>9h@Ok5N^no=$P{zkIWFr8_{Pm=|LY~$PyrR5BX3OsevdKbl8lPR`#o6_6=~vm2yKC{@S*%(cXz*=4feP0To2Db7&O0%yxu z%9*1OJA_Ka&HH$_k3_P)d;9ioI$0XDiFSYFWMz`13~zJcGb|Pp$9;2;_}%AoIbokW&?fO0x)!yUZ?cP+n>jM&kuxrpz8e&NF=*}MI<(hEhnugVO%hgA=PBw7I0}Q1 z6SKjWoH%5kE@YmHmXf3%PABz;$E$}IStuvI{gc=Fh;t>ZQ2V2;u|hPyJ$_(PfZ3$U z_c%L^Z?nacyT()9z?7M*sO-P1<$n1PkFO;8qp84SaXppMjkryZNE7M zWq*g=f7wYc7;B{iC>Rz@@!xdCDCp|3^Aq{w?Q8_eP*$S;q+Pu z*3g0B;UvdLClV{~lpX#v?liKBR18Bi1CF zCZ9@pZ=LdW+44SYs41=bSh7OkjorsCPV5)3dl*@2$a>Ey>!cIP4Oku)ogBFb_t1=A z@_K7z*4FZG=4!LWxHIz+Nq}wIiL0Hwbi?^tfo$}HDdEeJ+lm+@K&p3R+=nMH^>N?M zktuSYPa+WJ)qv+ESF0z?THVR%_S6H*XSOy5i*;Tpi5TH(xXDOi9-~f5u|J)QGBI&^ z37QNl{qvDbDOZ)}4wOaj48$3V!AM<<<`uHz?A2}C?UlEV3iATXKhEC7==v{3<#hXQ zBs5JQ;Tajc$MwOf?0AvM8OijLBk=L>9J#dFhv@Ub9~^OqFSjvC3BVS$yiS+`DKP^n z1j-Q{B2a2qLU{MVKs02)y1N5mctBr7jphoWBu&$t5Dl9p6UpW{pGmyil0L>~{^Yys zSYgAE$to~OQ`0Wy_(q&{Tm}6sLmc0-Kx&OevDX~?SF)bWz_%<~tI^WYF@^gN*NK!o z$3q1+x`J*pl{BbtY<17G&!%LO%3~4IH^;%#aj-h{U$6Q-hVeNeTzF`8K8UNm$pC+e9wVhiSfb5hM`Zoq{yRU2xQQM zF**nUmW_sw>k1x>o6W-+7L8_I98AJZ%Ej>u9Zu9q)c61J>=ZqSO%c+ne6mfvVdhz< zQs*1FY>uY7nE(YojsYqM%;0qm4@M*agQ7jL)_{`Rx6eJk-J0Jmep$FEG)-|8I?lI! z6ipjGofP>dvf$R<{JMbdG44c9Dfx1#jNwdC+oHkcv)8($k@v((*g^&{O_+o)=Q{?R z1=1Q4FzHEN=uzqFSlAH#fZxWMq(?&S2+}2KeM;@Ti=Sn$N+CO2!%KmISgz8%3d`09 zX0NQwZMw#12les&EqCwmMZFYE&VEc={=4bBqMne=U)hY9ga+6oI9C2zG;JPz=ovPa zTmc{72ZI^t_na``0w%01(K8hJN4b)>9?RTl2zb#QqS3>})zz{dPgL8Q=yt;)GX3BB zeW6oA_(4U`RG6vDx=N6Ebvm^uW@K(myC(Le>*OZd}&U7af3> zoF6W&Np`d2!H=sj5`Z!j0IROPr_5oHLY-vEnT!YiHtop6B|FBUY`r%$c*vlt`%Zkf zp$|f~-xubi*d*g?GK*|YsE!+NDboq1R2W-{-ca{FM5(f%!|A|K+=dBr*Cezj!a+KJ z+O<>4Ivo52^De*;O{)cJixH;<4L?rrxQC>_fAo~g#Cqy*j*Rp}Z3R&TLYL25LgkLI zEr(B72`>(?+V%plz7WRMt z$oTv9co_}0s`JmvAJD8C8kqWLC-8DGK9}ueb3t^N7@`g{Fp1ZW9L88FsV&rR568qn z%{xl=>N_qtUb8+0L)@$Xcqp4)@)*Xmc3^40#vj9?OGiRAn})J$!3A z3EBpiYT!T(8Z3pO0EQOCU_YuB_#^dIK>dclr=KX!pDB9N@`t_X*P}Hw2a>RAvp_g% z7aHf)?kF4-BgDL#DZcnGy$LACfI>q1R;8$&k=SKlHI?q#aPZSd6>PAg2CKjTQS-F^ z!0cIe@BC7aTV*c4R?x33zO5a-%^f(o4{OD{0=X<%hnl~`Y3Rz*?O*qOzlxl!W1#sD zJy7%U4;uk4ka-`dt*4W|Xm-dH6+maF95wd0#}@4qD%yukLv4^{%X z*9gVp;8{3X?h@06Sd6AzQ%;lpvb?cE<1+D9!P-;4k9G6~^;`|d+QKttgalLlS;gRhhzsaHMG#Y+9eBM=a@c|t;`p(8?PI*BoD&v^cDv}J1Wu=)t5&zT~ zwen*6*AX!;%}idnE?dhyQmgkS-)Bt7#5?a@)*_dyZ-nz_8a!lQ-nNR#E{m0k@^u7F zt=+SrNPQs{JR*x}IDYrsl_09xx6;QL4yOYRBDC@+2cEuYR={y90;6qsV6%jIPOovu!&52eF55m)MWf3JKz-bg^cL&V=dp?-0V->7>r zx2_3&j$+L_dx<=Y5@W^MvH@)F*Po7^rEvHJ8zZzDV~Qm{(A8|tkNl7)J~(DAv@>#c<7}nqkET*UG&D$m|3`b40vAa zD_EDFnr!k_R9s+IMAblo8)t&S<&&)n{18=#-8H5nKDTPm@2b^+QC1)#34U7p+O|wo zc!rrXZy=sX4v9URVM&q=>b{Ftu0lvI#`C>1bVqvSi~FYEb7&kKl{3IA)Es=v)*s^V z(vMyK4V9-yy4|AzTZZ5mTIobwWa_$N!ofre$YjP&jBG4l*?P%*EZh=R*j!Q1e%+{a zI~Q1r7G69eT}!Wia>nm1C30~lfXN%MqrKDIU6-Iv$u|{+YWZs4!MMD$!Kxt_R z*y7y;nsiz~Mi_$+^mr*b#ese!)wa~$JTqR4zuL{`O=>+Ok~2TbZC^{`gfi2bP{O4o zA!MvbF&HO~!%9_Wz}_t~5@2CEkC6!lS09#rc@LFwQVd+s1gg3NNXHD*`9l?O%J>pO zlER!1c?hyNxeD2N_eO3Qy~jF`O7@y2C0owsPvKuVwYa%Fn5jx$pnUqUj+S7^ru7CB z1T3sS33Gk#DCs$ZLa=InenXTWe3k1CVshpunz9dQfIk5BsN_J)@JA`{2jxtf#O$2x zX&Mp&yM5AETFD-YGOA0T;IlqH@#OeR8k*=Ntk)jmoY)r|GsjZ|s=`l~B9k06>1AAl}ey~5Cqt)h4-FZDL;i_gc#5l*kHCakV~C` zv4hZR^H)adQiCK@k*3+d78sllzTaDqow>RjQd-3EmZ$EY8y*au0sdh7BBK#7&EnK? z;+8=`5BL><5!xK}pTZ*alc&sX*LRkIdk}V+91J)!z=i?#+&M~)gTu>7#5j-H;rUHI z&e1rhJUyLbdcq^b7q~^U;dYHs9}YgB>+flU`_D}G$ev(V3Mpx2E`L8ZF_^p;ti`Uj zDXzFPDbF5C^R({D=_YUetZJAP?kKS2r>(%4569#{*2*!^aIzLH=4l&jwOlj& zI7r7qa>5egJ3r!LMHI{gY73sNs~Q6IVBI@96aRTWf2};{ZT^7AK#j_XX`2PF^Nb9VuVGC(k-bXoU8DZT{dHh*qwNKb95h_$E&pDgJwrU=0H| z2R$pcNN}NRiCGbYexyK65E7SNpyYCxn_U{pQUt4guwC*@pCyG%oVZ&A*@bU()nl_5 z^kri>na$S~PkuJep7)pHnv#T8?*0P%GMQnMBl!MD5B zm+Yi`nb0{+g=*0U^--DozDWEV*oJVJ3v|H&4OmfwpRj_?43KNO30EqQnG~qvtd3Gu zpw^#IS(#beZ6;GF5>`;Je4I|yi{GS8TQsr(I}>4R-w`fj1iZ@#RLP|VJ@R!bzBEP> zzAKHXWdOYfpk;qej}(6HOnPHl`6NYW@#&_vXMkjn^x2UMfzrNwR`I zTvqJnC<8TB!HUK{&6n`=GG8>|7;1)}Ae=9(^exaGNW#Q7=}3>Y^*!?3Pe6azn-2^# zpHa&M>q9a-w8%X>h$C-gpNF@rM7M z$?0?;v&EFqC$5hlcbs(%A~sDe5SKGaaV$%1oHFxelkWbf^-Z*YEPMVbO@|Eo+d>`)An2tu5;W< zQ}R3;T1cZ5i6Hg0pvF$jvA(E8J*KTiQLGu+TP@6M;qwCCIJAL2p_KA+HV3p;E!5F19x8m*%cgJV-xkP9EAEJ3>dIMAW zSQ*%yaF;7h6S(pX(r!XITx;9ik z#9F?b#);WdO>Fp1LHndq%g_{$RngRZ*Yb3FA}+7CaphSX9uXM8^UXjZ${?~x$IB7{ zaM1*xQu2duv*~>5(Aj`3g=mr`N!v2fW=*};XOn_W7aIk^AL#q;3J#aPz%>|ge@1y- zLl-#sK`u7ejl$!R0dPsL;c0=3!_+OZ zzX-q5gN75uY_A9o9f7JQ)(mGW27xBbDMA(V67?Z=%ru}MBqPwO6ev(uMO@+{Jg7^f zIPX_Fwfb0b;#WS8K5oc+UovC-L^C2(LRv*gfT>mNQ~C!AdUZE?4b{eJ5xB1jV7f4& z_awCs`|oM>8zG!pOURbq6eCUtKN5$Xv%bP+sDV4l*zm7Ehc?l!Q}EB)O8$$C zSs7W{krnQ@=3l0X+)lIqMRrEB68ypO6#Jq7X@rJf#D=6c`?=D;I;}kr%-TgIS_lGu zcGwY{$|Hcak^>X@0Be&bqE6Rw+;3Ffah6txvHMU2o;7dQ`Rx|wQQ`1%;C_nS3BxFp z%iO$aLh}0^7q{5>;`|i1E}6`dA$gWkrW4-Qyqpz5Pt-Bd{lH8aE7hOcY4=f6!}<%R zl4f*UwW)og2YnUc@?x+1ad=r_7k{=(E@Rd(9lVqlX+XrKWE*sr{R@ScCSD_Sf`d=$ zXk|(z`_m}ZGg;||Q(9Yv_g_W*vVgbVCn&yb-Bj0=$S_-sjHFb@#YHOe#EF$=2nJAf z?3siUNv88ZGL;DepW!b~_|wmtgL0d6u|on8CG{TpiwaXEFZ&I(NUS$x>?p*$r||JJ zWlMdb?PW9(xNHWF0aPbL0aWM`Abc1673+q;uJDV59+-&+-AW@~iobFxt`k1-kgAb! z6)9eYXGRczpBK^QgD0EnJ+U_#s6K?nx|2u8)o_|fxQgm8&(&cq=!%19wnVuQ;t9Z&G0!EvU#Ef?khekiu+7FFh zSW8^qOuD-jrR9X9`#_{O9d~*?wdtW0xsbhaTgTL7{_(x)+w&?R_M?@^|05Jh!0h&T z*G&GY#f@%3rL;#>6h-b$fA<*R;(I}yT1KNqtj&0~fpstvGt#inQqTg2K{opczh5NjuysqhW15ec<9 zI}3yrmf5y#I8c1^%-M+Nzx%~5di$9bbQ_$=K$s{##3`{B4~o{*7MYTliZNr!7dZyT zG-*)YZOY?_8h}CUfm#4~Y9eBca2OKRJADjIV*X@~YH&QsY;}6?ndNML=ca#Z_nXd- zRkic~_zkGb6tcM;zlAoxAZn4NgT||p_EVerr~ae(!%p2cpCQ!%A*Jki55WsN{Vn+F z>j%3({r;p$cdjzj&~uUI8b$gA59;wU8Ty7~t(6^r)Q&(rN=V9+F4e}DnPM!SWP7D2 zrh=zM>NYR@AZE*)a)!?v(GG!@`mP=LKX#@+W}&Mmb!D=KsLcG|A4_2Yuyv}ALzz0T zBO;`T_-96X%kTmTtz=cWqx2N^uw<5F=;Dy-VymFv1r=hY{OA9)?MWPLEXSOwjJ)PU zuX$bj8vV>4uWbz!nufgJ?Ma-!&cp5maj_YfH^Sd%`#Qx`U?P;h z*B8d6?C|UM$F&w&o0ZWQg82k@fOaz&W%in_l_ZMx;0}*BW*-dHBABT@;7 z|D~HOGAB$t+%SzXlr87`o=doA;Qxk-AZpRv0O#g&An^*U2K%n7Mq3sF2XMkjDTY$vAT@<9}a6Ny;+{WP-Jy?t+9@`#%|`is0nKZk?Qh)4G^SLJ;IhtUnE>5ZO4 z$<`Xl%lb7KL!)9y;%nJ@J8&x_Af4RPZo2ZopFBqe*e${X;??kX-zzEc=cRAq5&5T(FgSHN%=uU^cGcv0v4N5i^f4}{z|oxbGMdEl?Y_?Oosbla z{rXZ6y`*+DstBlqJ-|w;(sFPvk~#1y{zh*P^8MRWZvN+??a95evWvXK<;!I*xgW`= z?C{pSWxdbsJ~MvXzIl+{3a)lUvUy8~ZmGc7cB;tf-TV`ufkDGdObiX;h|PxK9W(}x z46m|t4Urj!V9*j1av{wrh^QxFw`*oZW}pn6A_HH=Yoy@-6RThtFs;`|G)8Boja>a&VGH8mdlj~Fa97- z#F@Ym0!o5Uv(UHOXes07-+Ku@tPyDt+;mRVAR=ShhdRcEFFSD$sK5sO$#F6jGPF7k zw`9W{6vznxSu;4Y8u53M47}I?022$XWcWKTKA8|O!k~{K6Ufpg=uX^-i zAogaXKbL^XN?G6gpn$RL#MZ_AH;v}?pN%QbPI%d4La7#xN%~mlzx5GRN4WdbM4L~Y z6wg=(=*!L@xwn?9Zk!ZY-Qjxl?p0h`z`%=&pYf!Gty>tsNVCXG*}HbQWZu}AUxS`w z@^tP^IdQG<&yJ);_E#7havCsBOK~Wy$+W1XM34+lz(h!T(^d0j?3fJvpLbH4CiLp* zUkIrri@LJP$E=fqPdbrlJ-SJiMLth#?LS>3)Dej{?(}DuL_SbUpqN5^()B9k}rX(+|hb*oAZ}&gdKreQF zsn5Gl3xxVHz5Dg@NTR|l?&5gn+(FrJIX-UGau-Z7Kajzy%PA}?%P2Hl<0A3h2qp<@ z?!CoChlzHmk!oA|CX6XN1A}H@aDTl@y)UhKhxYbBc2WzD8`~?NCl3hK!?@$K6!aL7 z5VPT)1;!9 z@F~aZ&uWyxf%(p?f5N4z`y^OonUBA^7KY z?7OCoA3X&e3G7{7zBX}Hm~w<3DmZ&P>uvGBbCKxkj5%z|j=YsEYvsSJ7CFjHZRMUG z1~AQT*OjB4bE9k@UT&(m;ns#%dgcn!$iNS9UIfYzn34-LI4F3qja)bu z#;AkQI(77IDpsCgvBO%0co&>57`=fpUqxm)-K@Ct)=UAj2uWu`LVGlmoZ+{ z1izUui}me!0l6ym9C-vHo1=FgDVOp-`@OypJpQ~MayMT^gH@Ct_H-pC1|`qIzr6ND zIm1_j0X3az8JsLs5(xuf2?jFKRB?Tz)`~F7kwLVYl&fnNc@Mce|9POeJuW7p|PnCBX3`aW6wjA%HqxM&+^J)mv?Fr zO!XZWAq5^M%v%2>=1k08Hg@y1*n%SP?0e5LhZ-Sg$q zq<8VuAYl&dZi(&8>PhfgqIc}x!)xqhSuqVD)fc7ft^ZqXCAvyJ!W_Dof>v>VP+^q7 zF<56>ht{c~0`C@^am{&utJ9pvS$YPVGp#Br9`A%3@6^E_SS$BLy4u~9A`Cw8JSp&4 zzsiQ19a`}hANS4(l~zvPO1$zjFTd#G?eow@Cq2A=Hm| zZy+B@!2&M9qR>&q#2L$4GD8Kv2sLPp~^(mG*hWgmcokY!zo7Ktqa{o2^$p@oR z7X?&1>-i6J^K?4P+Q2Jxd0mO`VWNyL*K+?HJtrURk_w0vFo5p>p!uLPLktJvlDET_xky#*goI8NhURi(( zA**bX7Pa8@JGn^8_A7aPw1@(Qgx+zRNNCrKXy{ph<_4q-oq=jTCW{lbXODc(tE-Pb z1{Nv>RNEb-t1|z0+p?6|DP2eKrvg!teWWQb>4I~>v=z}Iu5k1N_3iSocY$>^C79<- zQobmseYk`+0pc2=_c-{+Zirn*d426|Y;60we%fiq^Tw^eg+{z0ZHdJ`z!xJa;QCL) zfQEiL^ecqjCDdGfpuT&@_RVH`4DRUp8A>~?g)*&;vl~$0Z{!&0e>Om+UlQL_UO^&r0E+ZuDopce4)YCH7O1e{}`6Ay{Y?;}%6?{byXj_mBW%gk@e=ypv zuv1HJ>uRJILeIqyyOfQtE}!@EbuB6+^-`pB&Qm`AjXPP;8~))||NI52@jzIkZ|!em zn=CeXlQaQXv$y<)JNqJg{ISj57#M)YRsdQ9KGwf%vMKqUs0mnS<23rU&u7ohV0zf} zQtOhJY7yx^EHj2w`2IK(qgQu6>)&ab%FPHC{BKI=lqQF#CRys}5)8+vmbLK5}V__4RuFOWeHF*&->R1Qbf1 zT_)UJ zsof|xyWGcLM;Ol)8a<@w!%r-*|AyTbnXFml)((1P}$$|&A;Jj3eX?; z0UpBa*SOrj^mNk^Fa*_T2 z9m2sEakAZ&koPemFG9nJ?NiG_LmL&EGOswA+v0LtM|VDKI;vYeE^!jF%(-m-Hb8V2 zw)K-u4jcxNExDGiMpSIPG=a_C&X9WNRh>~RL#Zb^A7B=~0eAF|XFg)6SXsSXbX>)I z)PHPTt!ykS&=kv7;mrYH?{$c5uPQte#vQZ5Nx01XCJijf? zFd+qnt7#ael{?C-1;0s4M^7u@xJmDB{(4+t^Sjq`P7X6d*~a)g^LSZ_G!stMi&A3> zukKL|hI8|Z$o?W$zhNxL7B)c>Da#(|$>w&v6?s>kLO<@NqFr3Is*$1-mpC=|lR>(| zZ2i(d@#%MH=p1n3Ew#MzR5>pr>m4mYb2}7?N1jfo=IOx zr5`n@S%&w1K5KwG5I_6l>rn4L_86G#BD5v1NAmW|`|N+jKLMD!^0G7jSNKUXMDYKy z?bA5;IZoK!w!Di5ZxOaru*yHJux<1ji#C$*JxwV5EGprxwh+Q{QkbRzmPDnL4~*{I zcLj))P7EXK*R#tAR{MWjBfrAE6ZGSSxQH#X3lnqj`&d@I-w%8^o1-bR|JzXH)jl%O z!pChwuob1tqfMqAwZmQ97Z2ZJ1~BcwH+1CMU2B9#71p|Cn_GPnAjNY z`=*#_&%&MGGY52B35fDeC_Q_1pXGtkjJM{*m({WX=`eAUPaVddbXBheEGk6D3>;nx z7?AXlr8&;XkRL^|%+}sRU_M69DyPW%Ia2H)CYvK0AJC7#jd`Qm#cb2c zjeXD{WES{`JxYOn)SLzj=wmgm?Ny7HyHA9QAxS`*qO-%Rd%?GbUgGNm|xTi z7)X#Sv)rsX$NU?bXx)ipaQ;szSd{zqTNJ9ozAjA3aVs2NyU=#IpPncI_#f}Ex-4GT zP$~|Ao2%`vjLMP%H%ia}Pe1(&HZE6TyAxkjcWVe_yE>1!*=t( zpYw1G9^%3o>wSyBRAQZ+kt`)UPT(h&u8wAf>U)th=^~^$?K$aIs^adq9bVniAHVg} ztt7dDnD99fYM2z-`J{sn2_3Q|zfCrNDf4CKM&{Gg@0Jfg%Za>@;aA*Ute17{ICu@M z-3IH92GdWv+)$%D_c{DCs|08KMy(gG6s+0;IVhevesl|S9#^6M{;9$X$Ap}FEnk~t zD(kp?kyO9p%&B!l6^Nk;A7_&w&SSqt6nok3eY@!hC3S(BV9bC#cnMDF!0A2l*f0f|l%ViCPLS_kG2G0~rbQX{Iusn}Ic^Dd&40 zag=w0mxsSzNx%P2AHTli0S@WWGMN?Fbm}LZs8?Oq?JIiXMZs35Ye-wo^{US!aW}3J zO2MIxzP3}~_tD|ILfcmvq_P)=>VK@uA{S|HIm?T$wloV$htMkT*pq>C9D|)Jt_o*s^IVIh+s*ORK;~FTI$z& zgYUyDf2(@!VD(!SL5S?cb_JLE1@@miic}-xl?E_Ys?-Ha!j-ni0ZHvXJnX&I_W~~+ zz-bq>u;l*1VpMpi&|i9k|9n?OSCp##C%s|@5LI@vj7X*WKi~$h@3I`!roD8wYh9 zX7B@2*30j4WGHw^x-u?jbxyi|hMkx?ekQ9u3;vzD{c)n|5tN)2;mQra-o><=bTmo1 zE5;8K{O*~>@J6=goG=Mf_o_13Y?y_a?)9O8THKcFWev2+bewa-$Z&t}KlhR27x7B( z)r!ANamJcvds+}x7>BN0a`FrKCuG>j^zhxpE`G20WN|qjvcF;4m`@n)rboTHMyLn} z|CTGllZ^kbcGB*!V%3v$i?YzBTYHxTW&1%1xgO$Jmeb_0h+=h@wg9+<9p3!IgXY6_ zNq-T@0&sqlbv-`R70Y#p|MFMGC*^#VZPmh7c~{qwH}j^uZ6;a1R=@2Z{RiIvT|EBP zpHMhvsm})cwiDJ@Lt`VGspj9#eR)L6iqvOE9BbTG3Z0P=81g?cM?5eugf@uTHR{ct z)uvk5Y!q%NO&bT|-=LZ0s=kSzn95$3dbsyZ*)Ddz$akLFS5vz*hDrZBA!2jZA4TTz z3S)>?FM&7Sybb#Wd}Wi+D8wc7FA`wqQNtt!=_6ZnVCIiQW57M{zk-uqW)g?vIIK04 zW4Sj97@TiV^Xx24t*=OLC3CMt4^&wfnveHU3W zuHY%d`)o1s%eE8#k*ED<2TD;ueNmh3S2g!nFTMe7{NtxDdX&li$)H4R29xWwN8q z&wd_4OqjSusp3L7S~jbq=3K?kdG}MOj@@KGkSPM|RM;+VH4kL{NJ8iJ_Q58qsc>PP zMmpec6mc^^X)O_V8GQLt_*mw#w^7ZLr;=%lQC#ofYu%N-3h%bJgYzglg9O8M1WD5H z3%UyH+i&O1Jd-ee`0b!CFQ$zZ%dD(`2fgi=UmHl{R_GdxTK0dbQzFZ*Jj*92s>70F zX%Le2OjTFpw!AcpgdkH)VesSI?$Scw7pvFnsD%P+$%C13QkMeR4~ti5qUzw|mIfZQ zDPShCajk)4JmBXOmRG0LEFF;E%YU#ZC;mNTV#f~a2 zCX+rJvw`)q6e5DnK>XR|=E&A)LsU$DF`Q>qKt#qxjtLMAW#=?l3!tR{7JdIS{>}=#^Via%E@+gDY68qo-KD+M&kxnx2zsAH(824VBh!KS)_nLIu$wT?i0P_S* z<8KWjRr&;TIPbg3_|WD>0KQGQGJ`H{xl!^qx#-iz3WUWu|r_Snle3`F&^tV}(*H*;8g*+x)z5bE=8jJtN1*-%%nlU6P zTD04-PV2;$kVMlQ0k2Q(aqbT7Cg&bRNOxjHUoD~@NRl>?K}##!w;nkhxZc=f$x7m^ z75k~^=F7cA;((ANj{q>r`Eqt(+&A3AYO~N+HJi-!zYoP88WzvIPFy@$8b-2muyG$% zly`3!NVLkTe!I<>Q}8l66>fjWv;z}ufT_kFx}NW1E#z6i zH>&0f6}wsf&Cq@96r1VYOXglVpS^Hc?%(nC%aBc4cr0S+8X@dj4(Yn+NhPzSF!;R5 zsmdz74qHO{26KGuZ%$)#S3-Nb4uUoRsyvt8|8My6A;ucr_G4f~`Uw0AzPBN8LGmpP zPd)j+gY>6ckTi+&?0$p)no`*thu|HNNoM_{&i=J9-B@1A`@At!zwDo|rid>Z+YY(c z`pM;5ENmtJDVN}17BHs&Eva5v6rdDioxvST#p!-B-HxY8#K`E^y+NUE?LH;udtmf; zrUZ^D)aJn^)cpoKSKt$DAAA}AiGpD{NWZ4pIJ5X_1c!b<;KEHxrTZUCR~Z&%+XX>d zO6l(I?(U_eL_)fePRRw7?(R;d1ZgBhy1Tm@>D+z3^}W9R$scxicAop(=ggU5VEXPD zONmVjbpsGB6#E&lE4FZiyKuH8B|#6#izJuP58brGusGkYaBP1lO!x`hxDWVx7O)vv zv($*bF`>j?!12%*Bt?Ia8UgpLPJ3aV>U2nELJDU zqmwq%ZMFE&e4lD@gqD4}^P^yV-%d3~Z1^pw7~b$3RM!+V_+#m{zlV=OQqjnnr8onAEq${=%ga{<;Co5d-tQ&|An(3!E@8R}J9M08<0a zFTkxP{GQm}Dm^f)J!4tHhzn}AY6X88K!WQ_$Mu$zOFOu8=KQ-!rML;7dvMH<-A?WZ zB6iL^CQD9IO!0Z$bbP<+z7gC~(DrVm#QAyj4C=L*bwwl(Ru4HIRIsv}`tTi6VUlZ2 zE>~%lq2$TUW|gKV?Z`LdW|(Q~gzXEi+jX{i7rxDB*?ltk?jYU-JRD64-MC-|cYbh& zkmUnFCir<_W6Xq8F{i79X(Im?391&r7!=0?A4`|zw#o(De=(GxbMFk6qVw5N96lUS zLJjMumHkaq!7CPbRk8{SRC_Sl1zkyoNHP47e0qAJe@FT#`46GVAcRG$b(rsxllWou zu(-TXOkys$ny>m2yMnVZ6;0smBN)6jKL;N6p)Ky(ng$6e&gYG2`kVOW5!8KflFqIw*%s*Z!-v zMFT~)GdSlI}MzG9)Lk*&8PBan({u z%cvS^CF*{hDbtzI^TXrr4N0PG%xVZk&r-0qV%s_$r}~G`dJw_|3?Xi5V>#4lSZkX- z&J!k65UakVDs^s5iwqyOh;-8w{zSZ_l_W!8M%H7k+s1%}uQzn#?aBdvbW;*>j0~}N>QX4*;Q@!sG*1L- z8~R&Ywx42B@A4YI8`t%(YBLo~xZw9rf>Ca~I6}3zL&aHgl#x^PD%7^C9 z0FSt^S%u_PIV{eo+#Q@bn-4XC#g_svL{41rpt2&j<@VRY6i5QWUht_n`sV}sGn(M< zUB^sI#aO41>aJRmx$JM`Os($ay46y@FJI&@ju3jd6!)A~YX45Hphb#F!(6$xzn^|; zSS>v18?lp9K(C6ibgTNSSzoM393`e>;2uXnh|lw1O96(^H&{!7T{MtiuKi3rgftf9 z;|Cky{XK-0a$h5g5|BlSk&+0O9ExyqD(+E69X~LQkKABt*%h)?6wpS!C?zy>q`xzGBb2m}=K-eSy_O@`A_BSK0bpaDj zCdTUWbobv&h-Z1QJ3f|rel>2!e5J3+zIu_|!(#DsTjrY#U! zLb9%G{)tYT@GXvP?wYb&;T(kyhpXWzUoVA?$Q$=|R1As{LZRM{`^%iy9&IY`neKX* z;fs>gBAo~~Kg*%h^r*6BGOA~>hP*0)3VIzzV{ke%m_yqNnxT9!{lg<6^fDBv$Gs?f z)Ah8LlFy)g^JH@L1ZbfJRfc5J?QPugP?#6!KQs{&&5&o1Lo3abp9n2ZwJ>iORU$HR zQTTak_CmF)qpVwcBqZIkD>NvI{`@FhT*zR;MZK($iQ~LD?D5&qM~-6Mx#ta6ZHtqC zJGy-;uB40hei2dEGQm~<<2_*_+ZSTGgiu%1d5wP@xo% zPtTK$fpf97^lR`6pe})g-_#7u&UE~>8ISPSquy)u{G*(e41SgtlNNkk_=$}ufQFV| z1my8u@RPMFxlX6KGTVb%ykyezY+F*5wl(n=ha2#nE)Xfv#MCU$w^2qS5q^aYP$u%i z56$F@#Xpk3S(1o(*UGBDu}fG+<^PFBDw^%#FnX61d(kmYb=aU7*H*ZM#bswD?dsps zE6MbG(GvkVE|dY$T3VM#8y!0Ww_rH#SRs*aZzWg=(>2N|J(LBlokX(F_|N-~lm@B{}U-vmT1zLv%a}F>=v@ zv}NCXApxVj6w+0ykNqXIaS~iv6ZVGVhSn-_;Q|i7DX+u5oSmTK!tyE}p_G3w^M{=@ zKEQq!oD9u3UBI(Z{yi-aZ}fEJ5OFc&Hrm^(5Bp=1!($L4o;57=fz?{Lq}|?hKrAT$ z7WyELxp-ByjByn_oNQ3t26Mswq5)}nAhG$wuu7U%vV%b$MXR#*aLn-McxGr} zF&b|UR~v7kCIxAS)&oR^OHWU~5w6FuryE8IZ$THvwu_uh)#r&D>@?BrtDy(8OtG(M zCBh5LeZVtuJ_VkeA*o%@brgN~?0&X`vTPlmxb^zPINI)xg~2xq=1nQ&N_-i|)!gS< zVCu)wpbfHK0w!AFY1)Yp9F#MyiZU=TuSTA1# zfYHIzi}y{j`GA@mOHY-w<`1Ec2vsNQ@jvD@sKX^kw}Duk*`UC>)cemXL}fdQIQXKQnj%=!SeAk;&kDcm>U!S=`Fz<@%D{RL zV&-YYmDdP(4=gY-o%aQ(0Znp7k{KJ%;+0S3kPGU1PAQ-~$^hcP&FlEH9d@O74vM5f zlcy(bKkde%B-DEK8o}%caoSV`x31ElR}tC02lF37S8#}P)`p+nsaVT1KgU{yk|kc| z+Nt(oE@?2HF+E25a&QPnri?0Nfl36f%feYbhpoTU%SiOoJsglOLiIT2>$=i#U)F>= zpwG3U)F@Nz;VB{fvC4RIZW*dOp$E(eqrX$A>J(7VmpZgs<9PClJEPg+`y%q8@Hl7hxa*! zq$?PsA&nf|wQB4^>r%*Ci+4Vkn=4bW(nnbxKOXpwRgzkl+nv^@d2ova-46r9m*&@Qv!**fxA=c0a9Px%%k- zV!Ve35c?By(`A?c(6fO-XAO_tPsrRx0x0dj5$gmT!oIcP2@k86;?PNe)iz74W4yC! zgWBYE?0I8&PSNbw*8W@ExnC?p?+piRk81LpRgyU-!b9eN>-|{-&&I1f-j)2~?s^w6 zY(pP+^1vcVOmzkAYLusNJS5O5DW)b0toAKUE~_u!UDt7F6l)$HH_9S2P8FR3XI1-# zoqkoHZHXTt`UQIPmiZg(&6i>&XF#a?req?d&ieHM+RDlA_H?9AKF)igubG)NEsFGA zrzWQc2#BUSh7o$&0-Jz?T3ASv#TmGvF!kAn;A-S?A}tx%xC>>`G6asu6m3!z1`=0Q z7fHUH4wtShBA-yE%$IuxI63b%|4Ifk{CokF%s(jyt;A>0p|v2glVaV$e8a5gXBE>wbI>tET!u1c%_IJ6Li*kQXegKg-c0aD2|J0M9&h22=i zF*6QGYZ^n*cz89mNaZ=>`ODNr2(!-4y9mMp6zP6=hhMmWr?M3WBd4TP1B}!NB#Q?W zXwdF@M>X7I60tf1ksja3KxLn?pJ->nKuZb~${_6j%LzcZ{e~SrFFvPBtx}8geTSHR z9tU_^6U~8xI4Z0-LSSWH-fEL1aos0-NgbyevzSsCg2Wn{VePl$5VUN?u$w~u+YWb9 z=F4vZij?y}e*wHmrB`J=#ZwAx0RfN-jQk4OZ4qETEu`uLMAZ(gNnFE>3aF4;g16=G3- zogEk?c^If~RHESi1!xCG4}cx;F>>F*#qf?mc*%Ti2dvKfT;ekD0ikK;gd^4I3=_SN z_IPPutadLIBk5?Q%AQQB9q)Qvc4BUYHp5n5e%E`Jpj(h*^@9SR%v*Y=-_9P5h41xE z{`jq<4R|6yaQqIL7f1w3^GVy5oicA0VDi%tro;AF-C5pky1ZbawkK7E`dO!BFh#)0fHXZ6P zNPw=GU8a+^_$KF9Qrhh6KqBO-Qw*wRX8kpry7-d?p@{<<((+^e*J&_8NhA;t1%PL0 z>R`gYJeHF3m+w(dMn8@R8`)UWm^zoYou%feGxvDMHIT_SKMqyJ3RvOn3L_CDxQACo ztn;qCQ;JABH(|_F|L74}S2H3cSmP3Afh%O^wbrnAH{K^+QC2aaDU&6rMu)U$MGF;g!JBGcLz0bP46Y`59Ef0iZ7AWI1 z&)}dZxv|A?p7^X0)y#f2nw%I4(9dByo)2QQGzt&P{o!g0pW| zVtx+f9`?IWnEU*>mJ*ejb=YM2VdA+D2qa&A>9W)J!b(aN(tI{ic30@TDb~bBc-xZF4b(j$v#2oteL5~o_O=96$5kqx?#u6N_-}H=r+-$? z@PWPNfU>O2;WSQRV5}B)-w_|nJ^{rgg`W5?$iDgE^5O4B`!}qHy==!34^xu3&cRm& zBts@an#1<<3n)ypsD#+k^{GSQ)&OTRT3r4!KqK_o91 zLg?@^uW1bYWV|#w(mT=wd6JVjVaj-nkIIwuo@qX*5I2RHI*G7l3?L}b{2J})L~w<- zd%~@}&M#aeOdWCRj-%0k)I>OR3B`>(8{z+lPy=iTZf!90me&I`SZQE-@G(ss=DQ^R zMPrVb@c=2Pn1 zg;T{*$FYAdq+X1xtbXXqRVZFcna_$PnKRkGZ*F3|xvfopeuFaIZT1iuFDf5BliX~mY^vtv6 zuJyCb&M~RI5;s>9mz1otwWJRIDgI23*m^h}98niI1j_`{-lMU>DBeVE+aAdT8y&WE zSe?=D#2|8F1i#qx>IF~%oJ9D7(HK^|E}mXvb+b&pNmowCBhNSdQDG9PKpgM6T6dej z*1Y#(eZoJm?puSWr+rL&YFy!7E7pGNw~YA=oSkk@)mtR+SNnKUPA}YAEyO_x)IG5> znKzynfM2;{DniAB$@7Qbp8TwQo+tEq{~?qDhiGIATfyV?;Gk=d6{i=*K`L~w5*y3N zLqER_O>x6?&jczuVsxfyhLyxrNNpV`qpY&mY?=>9CKLj^Bp0l*N#yWm9NUB7Uzk{n zN%Z+~*tW~ZCS0&IPf@>;%~oTRR|{Zu-GHxynkH4<1a_Lv2YUY+AiEgNR+CHz2Y&J2 zqUf>BULlCz4!KW5DowdLK)N%T2ByBhyt%krLf)8x`~4T&Swmk1%^o%_gZHUENUW**WolfyIsVQk z1hPOc8amey9h|_nW2@tUYucR~Nwur^o#Kc~#`(v7HUWOVJZ}?M1dHo6N;oi#*FZ`> zq`k@^A<2$ux0wo0#bN~oxxnIstm|_P{fX``RlEH+5FCqmj%022TD^l>HfY!mYo(`? zSx_)(9Jl72$X5V5DKhnP1{weG`-FPFd=VHLZ|c12XK9k$*t`=ALToi4`bhPWI5aT8 zZlzTDv0=%qY85g1role+2!*9jKHxB3g(NO7p}vOtXVe+t9C_8TkyjHgeSrKoOoF+M@9_htGq z1^tD>!vvuOyr&MpF9P`+GXU<{+|X@MEY~Z$2AJN0OS+%iR*T*=Stm2){!A%W1-y*| z=znrp@NayDi_D%5dDf0nfj}-ON}Qb8Nq{siw_{2m9C0M~DfO5}`Zk%nk>2)tsM0u` zD^eB1^*TayfDCk1oF_K*HXKVtyxfviI8)u*rlzQbKgy7Eh+SP|SL&pA;}E?ewkC-OK)`qXi^zPDAYl%; zs++Avf`JgSo2ztW{K0YBor3ASD9gOUEtL6 z-A6JkA`48zS|%VYLfqa`Yq9*3mtQZOfd!@8wnByVQTxwlGJIg?~94%J@^@#3heB7Ymocjw$pF0I4%3Wtzc|N zWZ4e;t%6x60t|yX>gl!D*lr2|cLyI`Y%U4vUK!U6Eqx~B6`F<9S#d06pYJV4lI|Hd0-=xLN=5Yn4S-9yhffN1Rb$>#<*ffW_`FylMBr;pCRDWN=~rOM#F_P8Gs zdU_1z?eq204YfliE8YXN7mH<0_-qMl=4x)!Klio|kI3VKSA$lxu+fA`yZ3HPHUI*T z%hZRdzp#X<_&X)fq)T~di((x5LndVSNfY`sU0qSI9bHUX^(&EVE5u={!KZrYn8sgk zq({hlJbVx%a-B%oqc*~vf%frt~7hqgBo1?#>W(6UN!YB_Z?bH!sZ2pX~J-xv>OLp1iBYTZ`r7{*Ja zrf;(B4~)f6a=+2~iiZmR4cgr44L{FEH{NN9Xu3RG=~4Qcqi|UxWlf~5%)ybAGM=HY z*HfXNIohHTv5D%VTFRUA`H#??c2r;DR1@r+#1hBy_T}Q)W+%p1v1>$SF3XbB_fF<7 z;bQTbRf@}b{P0J?L##(I3ha4pQu&4T3}&a zyXnl`si1-=r|mURD)!GLzTa=oA*fJRU305}k^s|3a_~jAjjl^LV;xUqW<$A48B7@o zy!%GZtcM|H6ATPm5M{+Q~B%)eV6} zzsG}}McOul!*-a8ASw1Ya7<@mh^1K2(8J*Hldw4j34@^ReT;ipx-bl_fA{B$ z!16J{yF|PuXOvgLk{QlVL9svNK?1NDBDD)*5uZTcY~)HZ_`9fX*T9Ks!#U%NV!_^; zgDH*lcRd9OF~!8^pvRCO;)nK;q7cam0Bfp}4?IQP$!449{TZsRYUS>3(&I|FRj#D{ zPPX7OnP7Ud*rC;n62a#UrnOYsCrR6p_|M~NMnIuDKYO{f1!qvsp0ZgHqebr`atW^E z5JNdO|H7lpcHd8g`@*2b1mDpQX+Zt0-|)nx4LKF?VSoJb9dH1g4{aPhinl!-%YYwG zpP#y(#YCY99xqNI7EU8Bv2@d_jUI!q5g9yx#(GhYg1e_I7qJl;O2pWNF&AzdK4$jJdb4xZJs_nG_~@g%NP=fmc9SVb$d z=5PCS%ti&3`dcpk6EtRp;4xbpoe;}n$wfVnnai-pS7-WEnIS*i#hllLr0h=vDNq*e zc}K2XV^`MwSqcV>NU7IKo}guaygyaV`E@o`#4W5;#NXv|-lE^}L<=EvHrS~3dw@+m z9xpP)UrHai6InJ`Od#p_yTd71{tqyjHi&N}>7z!_12q+1*|}z&qdasLp)%kvZw-pU zYt}hIUa2PQEM!@XU)Q^MPuISBUwgl(^m0W~u$e{0M?=x~>U+3 z)m#~>!t2{Hlq3_u38k1@%Px)gj=lpB{(hxn;N+FO++?`+EF4|1Dmnr7AW%Q(RCoOM zkKy-+<>xs-?Sb=k)~MaTJ3pp$#1TW#E}{R7CcC85ozKQ3&ILn;@H!u#21kDQm37-$ z6}}V0DV6x6|6;an(FA&SfyS?;V&a)!-}vfDeIN7Rrs79d;<>6<&91h7ub>;Q`x6y) zz>-h_QFh1c{WkEAL+Pl9%C<(I@MIk%kwvS;i?rjGV3mUDsW3T>vu6gX7sY5&yxTy1 z0|v39f|`H#m|tBtW^B_=(`uP)K$A`vQL!Z-Ei%h{KaW+)U5KyF*yDD1FX1bS9ECWwSoqmNTSJ%~i=MJ%3)eSA(yXa1uDop1optUAs@GAie zpJ1eX`Q|*<+<$foNkIq^)+Q%JqHIDmDr4eB|7tlHha6fSV`^c7MyDx^afQxs3ZGAR z>6gE^*Uqk*;A5M1(^koY+d|8J6623LQ0@#pfUJ)>JhZT67*Z;1X+w&}k4-!nj?HunPR3Lzs)oPAO0{L8du%Ig`Q@S1p^}FSxm1W2 zOl>-5?;CueD(zt*nEM0rz+5ynBQ6(xDyuJA!=u5%1vvbvbMYrcieP$%6- z+J=qm6FRR|8^BW$1(!^XNeOuBAg2`%D@;*-l@A()y;_P6fvnHK8>8@~wpoP_c)HU^ zpBtS#3QR-$%hVX<))2J`K-oulo&z`E^;j@x8)I~ClPrm6Xsj-rtd;X88QNHqaa1fk z={es{X9xrs{KugnIyqaDPeOXD3M{N=rrUyvRxsH%fAzyC#t;6aoSJma)TNjN17;c( zkxz#FtG`ka6gbiPVrM}O8cVx$uAXyPn`iYakR8|p=LAa*->-EckqlS$0Yq*DB zfyNk=MvbBZr^ApJ&IFEu=4bKHcgVk}0abeSoz;MfUrpVZ^(Wo{GzIzvFukrVhZdcKy8Ai(%#Y{l(jvHWdvPPcl|I+#XV7@gw{eW zBe5hIM?VsBz_V{&`Gr1hmG&}ecL7%c-H@`~rqyq~1&P&&)Ftvmw~ahd8yjEDrn7xf zad0Y6>K`jQ+vnc698P{(>rQyo*pu+*H6BR5!7?r2%K~j`A;vhaD7GbAWFD{5W$ zyuaGAs}|oYpH=PXclNb!9jHvPO@U&MZ_fw#&k(J9g36*R_s=H>F zT(8#BpP)A%)tc#>f>#l7QMZIxf}k-%V&kOcHVCgvhubFo#i(3K!0?&!ngnv1(quMG z4v6TD&&kBDz<#oGN<_!pPFP6}f`Exb{rWwF;j~&ex?S0BvorA(0z;8`k$pn=trzC% z{e$p`uIa$LrNN3^%|fn)VaBTO%)$w&)pR;$c1wIKcKl_u>Lg= zslH}QwGs)UU{-#mn;9y%h14+PWa!ku&@niYHI^o7esz$4Da@)h;J7+=k-mre*|_U; zY2zJfRyF?<&q3GAkMTsx&V1K+v-&-M&?9-5yFE;5EU=oksRTFsDgy_*k1nB*LquIJ z`y(sewRw6xA0r`0ILyjUFUEA4h$FHk;+c9#9M}6`;fiKKFY4o8A^;z{-v#4pfZV;u z0$8$y>mP*@;1KO>VZ}DDzjT=Bn3auS{86T7c?X8j6GqL=4cY$nb;9SBicRzJAL1bX zdi}$4BMM6siV<1~K@*e8!Kj$0pJv!e3~^c_Iyj^@6f0j5XVm#ETYh5(c`;4XKDaAX zG1YArtZLNz)!jdhDt;T*O28n-jSEu2v2=Mm&~`4oTNEc zJ=q>)Q;Kb9SNv)j%lT~D;vnL)d+sA4nDt7ZaO~=*%^b2}@K+r-G`Zp5zggsLA7@C% z5XMC?1h_)Brfyu1uJX#azl1W&SXU%`ZMN-*l&$7f|C3QqpiG8^Lp4o|^?`&Yt~fmG z>o5pK{U=n;KJ&)Ny`7E8Gr;z}KvJBM3v5HHBfK30i!$?@2|bwo{N=~QbNm*DK~Si0 z&#OFcR9j9FdopW9Rfw_x-=t>cx%5c&+@Pq{V2H?er8cs#+upE4$KjtD|TfQ?v*Se#^Jp0msj1>-%_-BqQkTW(@%?7rfSo5AA~iRdL|=xOMB zyIdk;W0T8{EXEckSXlLrrUeBMn@$7QszUrB?ImD1<}*B7Q^Rdq1}|Td45td zl6LQeCCef6y{3#;Kk`pX>&Kjn&(yuEYr znoivqO|FxweL27 zXYfq5#EADgzU}^Ogu|Hjk?tm?(m{{|4_VZ6KGm#It>x_p-zB4S52CG zaXJ~ky6(> z^3HkUsqY_$B7E6zd%r!b;Kf^g_KB}%5+kPY+KClN?{R4j{yMU0?2itf`&vec| zmy>qwbx;AXGRs!eb~o80X%uKAQYZIXcu0U$$pz~c32)(~Fyu2JLyHgy)4EvV0zBJ~T*r#6Yv{f=@ z8YnsaOl@Eb?rtl3w|<)Y$vH0Q_qgA-(kmQL)7NIIZtfrW0_<3CeRL3kv=oZIkNo-{ zbzC_`plZ+s;%c$>WP#25v!oz^;xrb>gYIXHGNAg#|6zux*i zZX5eXzKm*q6Xn-7bLmhavXI&Q?%VGov#vj1Vat$xmpJ`W|3c&Qk?q^zWDW45K98rk zAexh6Oc#^(51|k^gke}L2a&Y8q-+xYSMGz4cflWwFOXoa>&o)JhGY9y z23H%K`;)E?3vtb^V#&e#91D?pk><0n_02S@K_tpb)y+b^PoMYAR*M>Lyy3ukPNbbe zfgIfOa0dhla>F#zF%}qaFpLZp9|QblN}edXC^=fSGUQ5%o+Uzgf&0fzH7ca9Y1wJZ zNheigdo-HJ%m|&+$4R~)cG9KDXt^vIVj;D_^pPI}Bo~nCjb{lx6g&t6H;T>D=7= zIO}TtPv5nZ@4SsQ*CgfJk2r^vmCU|Sec$fn%1|!>A+RzFtOI|44Aj;7UZ!y?Letcu zJj})Tbh$iV7xUEZA~YLz*n3l*yZAk!V+-79--BPaxzO`P^VZBH9N~J<{?e60tD1Bo zr7$d0mXnr0ZC#eOsg{KJ{HZ4pZ)>!yNDZv87j!Ze+7x2zrk0gcU-j!lxdM?c%HbPyE;nYG*hyj)?74t*uZ(+ z_uSFb`Reb4Y@Hd4G(nrf$~XfN2pDfCa6GXQmV!U>FQJfYB2JI?WaMQmRPEqShX;-s zRwrs|BFW*^{6i=#2;tiL<0leUEIE7hYO8J1c(qLL^4%(-Gg4>%@Cc_K?9VqhZ}3bL zTKb6#w=HzZ2x!AYb6p24Y`qKT@+8W6jV);n#oO^3SlV$+h}fIuHed54JFYl`G^Z4+ z@ONS;_bnmW9ghUzhSH|#?;)Ic0S5ler<+9{zy@$F06^aI{{)g=?wI(DFN_+|NS)MC?pk8_Z7 znoQww{Skm^UVjCgUIGDv?ALxLFOrZIsGz$1H_DH#9@2y*AWCf{v*bB!e8ClHL%qQm zgi)Jz#%tl$Ph0I-0P+rU@hH1Jzxov&S8c#?O$oQ634yIOI(0|axvM*q{GB=~1aGJs zC+tqksAIo~)_HmZuxfttu_^VXp>)0hfUCHZ2?6*>+q1dgA}1BE=V+oEGsmKgjIT1f zEyaWTTdk50C`sF~Vp+}!)Kux0JCZn*D=76QC_Wugx#6uPtKr5b8ybv_#2qf@{Q=it z@oUL|4)XubAvi?Je@!1=4rx2qHSulj_#xPJ$PPo8I<~gq5pR9s@*QdQYe!d+YQMn{ zDvugky^zf*O%=cB&aEWviO2Zxn@-;y2@Zy%u5Hiu!-5UAM>bPEoFuiTy$9BjFWq}2 zk=kAFx^I!>TA8H9f$i{=?nL2NhHq@A41mbvr6%m(IvPothy!% zV(lm=!0Lhh!n;3>3>=yECCu0W5n&TyP!nQz8p&*n}Rnw||$-sa)9*THjVh&TUr zw=6v?aUJ1|r;;!e?Qazo&F;Q0c7s_A!7fS82If+*=;daWvXWTEOZu!_t3IQYbh-@D zEY(Wul*$n+L%!8)sDM{CHzf0cm)z{lR`)K`d)po>zz%c_EU#J;OoN))8>GH~(s&MW zd%8J$U`jh^vwI2tAr-WMZ<*BE$MOBSGcP)tt zqV|_E{(laQ|HmOdS%zm{b90@9u}pWEo5I6GR1M!F>b{CZmRtqz95SEEgD9Li**WY-g55||Nx|kx9nQ)!t{a$*vvoT(1l$2CG^=IReTzlNn z%kB;$6IDqg0=8PX|aKiYC-hW_4nrUPiGHq7o z@AsEIbqOm14=_361%RaNDZ96>rR1w#LKg1(HUcBW zVp1dJEuV~QSp;Y7fQ9fXUb z+2+6VSrWD^7Cz*^G~cIxlEIyRKR6-4(+M&^P zFU9Gns~zhmn_)j-X(R>_D%l6R*Cf~A`>xy1{WBdFk35dYR1!QDg~FIom^o+R>EUx} zCB!mSdq|^X8jtt_a%TMThFzpPtkX~Xb;Yfe8hO)<$B7AavD9Qq@ezdZ!zA2%Gy9C+ z`z5eqj6^&Zzq{f*jN^uAAl`}2FZ~4HNR50E6S^xqgxQS%BO(@2xtL>kOM`68+9&O|Sq33jqgSm&y^y9_*#yV`c!3@vdcD^ZHv=IPHS z8!jQIFvWe3vW`|$6~xJGblgYF3V%RW)nC^%^YD$o*r_|YtQ9mVRve8fogulieQ1`U z$3E3?nfik-U#U5V+WP0fn{>!YNVesISh+GP(_IT-Sa%+{V%)HZ`9fkxb^4Ps$i`jl z%U9xIXOL618gTeT^d9r7cC&tOJO!JUs-6RJo8M~Ek$Fw1K=tFkR2M_zLMGq0~cNIDJ z;{Ol|ghOP3Nqul+1BJF$IwX;q6W+rR;>Uaxq`vUDkJPQ}@G({Fotw5eAUW68^K8_=VnN ztKub4$P;$|=`FqOj)1TV!AsinH({EoaqTSDx!rLCFDQhM? zmHS;KQC1zktnG@iN#a=<8o=bZcC`#FN2C&a@aDb60)Dh%no5g@LbQT4)m5iG-uE75+`8XSKOftp1pU)%`oH+KFvC1 zqMeCG_-@uNPX^BD?V(op{ku2R4yl&=%UMz5xY%k@pLlNq<*40m}&r7rG6EEii zc>L;L0uXmL!;Q)YS(IRyxnhtr2(7K?u=l~3i&OCSz>3r6_ry__#*vy_ zBP%JJ=CImPIv+kHX69!k@3r==eoqs{J<0>$;C`{I3lxck+r{zpsf8)`(Z)nF>HP?b z2v8*_AYls$rrM6gn-Tg>t=jnhtzl~ni%;s*60Pb?qmhk>#Falg@A|YQ(F&;9u?4Qq z7ylJvt|jeE%gp*S_(uS}j#eKu58e_7NRP%^h%-X@vT=6tbC2r737!Cj#YKzFpZ~@~ zrm$+;YVAagHBc@@6!w%8jJHa6Rufa3Vu`Qu%%O4$zjJ)_V;c;3>Gp<|zAqN>IWs|0 z@8oHjL1ERzepX=a?@|6de+6S9k58fSNP9WW ziMOQ#zn9B2spOW_McIEVD-CE`j~`c#{>&=d*n@ie6QZxy7DbTp>b2IE-qsF8KN5Pi zh<;PB>J8`+1tRWJC!Wyrg#!Py&iep*ogU4@>OoD4)pVIQm2sUk{kx11KOI~`PUP=dRvV!gm+xLg501d1 zCQDs2#wQE4ckcem@%S1@AP&TE*E9Oc=pWlWX;!5DP)yYqs@oL;*MJU4D;X zF~Yp>vUUWkNz+h*ZmF=g0ydNwWUq*&g-ul^ar8a9mdzb!X!c=3!u`z4+4`ej=RXd8 z2tq`)TAktKIu$^O&NAC3O>~8IPU+bn=24u!eN8FL(>?%h_q&cNkuvGY(stpqrtNfu zNj@i1@Gg0Mwx>1a8G5J2x>@VicmtVSH_x15p98_H(^Gt!^gl3L?%8*q)zY8ugZzwn zCcJ@K6DvvVW8^n?t>|y+FdlJ10gC)T|fP$lipCPT7fU0Ucg5uxIlaDh&)#3@;ebZ z_W@R(a``+1TpCRu?q0iSe2$DG171z;m|hHvNMR0?PBFWxRJjz6i>*@%pMj#Um9%~m z@FI@E?A@{H)@}&~stw6P1zcT0#v7qLH7flT)cdv$SPZPR0I-1#F;Eu3K%%$$FPFn0 z2$9g{;|v3=QrLm{T@(o>uxEN!v7`T}M{%+XLv`Yv?!rEH3P?wTgV_tKxS0}NT`6Q; zFN?ijQbPjj9Zq7P-ZZ99=LJ7|t=Elr`-!Iu3R{u7!{h&mFTmtKrRgZo^Y>=}{}oVA z=e{8ZVSPqJiJux0GGo!3ane&@vj6(0B$y^m4T}ZghQ2K0OvBAhQ5-e@-5YCHSpo7X zqn!!q>Hx&zAj10syd(z@7o4@=A7&mWJQ*p){PS-mkKS_+OkY=j(63@sj{8PL^Om;4%0Kp_X&jl^qdQU_ zkNiMB#xS3qHHoycJH(q7<2%`I-68MNS3>jQ=j9UtH3!_p4AhM@O&wC5$8&iFjDlvTV6v%9Qy%FoWTolqFSJ$CMZc7?&Lyam3iDZdoAl&3$FosZ>oPVDY5nS2$=Whe`6 zB;XjfZR#M1s;uTya9OtbF?AZH`r?K>@_TT6qq()MIUtmLRV5YY)dcwF)s$KTz=`Gv3cQFM@uV#PqwVCeXMcvu_?nH=-?K4uLu zkv|H#gO-Yy(#!FQRV>@GY<(=fc!xW(v=l3Ha5tcC_Fvzpqa$Scb~UepqwGk0oKm%A z-f*GL;qtf(Tr7d@^VVPh!Cn{8N0Jf)<6Khm?GKEsEPgAXH#(7wbm=4|)^`8(wylD2 z0UMJ~ysUu|cIabfMeOmRFb;{8x2(Ue^|;A!qFJcF;AqZ#{YHSf=-k$I_c^|baEi}U zwv$h1SWjYtyvk+CJp7^h3|bq4fTEyRxKL1}e^i;}hp*?l?lt-di4*5waV z0=$hE>YQIorLSd~F|B6g@$+x-L1QL+%Nx*`Z$sG4Be0oBdpDE?R3fD%ke#+lt;s#J zDTAn}{BWWb{`3v@S>g%znwO~HMvSu!Pcy~1(bDGVYE*SYqvv;lvq!<(d`aMWW7yFO zy3ypdb_O`ZlArA5Z0zqAyGy#eL%O>`fd!wnl_k(6OD}8v zAg%gC!+*fMV!X+D>h;_;#4~zo{xC`x>i2d^wLG^h2s zaI8*8*AJf9g(@o7B8Lg44UG`}06<49r>FSoW%|YUHkEe0Lc_Le3{QLIPJ?4mD8Cls zIE-G*VCK#74GB+_F_GWRQ*!7x{0Q%2(#{8pEmC^Louc!~xCKr2nbgL$f;FWf(l)0E z`dn?ls96;Muim6sS<<4rlbBCGghrPQHi5UE`$+@!+#7I?H5rs@3+3h;blJ?fJTn_X z8>0KSezdQ2skSTr+*meSvo&u#o(wW{z^}&~t;cIarLNslhx4@`p82dN93JV* z@cf^gOCaw%uqaKhhEA_6mG_PfiRel(e+FR%94xAn$#|Q_Xen+AnsY^{T>Y};M2Y)a zy16j+<~;9MjLQb@j0kjzjFfo*v)lv{#<5VfqmRPU!wX8LV|x0$LsWc`RoO^R5&EVe z?ZgE5YV$SsftXe{i@=mJ;X^XTYQoIGhb37wBi=jds&_U1+hZHCTI|vLRGTaR5VH4& zR8IA6ap}#t`UtX(QF!C+)19lf;M$;zn3{s%?*ka#)uhU5q|^THh1#pL-li9*j?e=BV+MgMG+J9Imcv#xLcz12&se# zMbh7y87w))`M?*>dn=E#;VB@p%*W)YVz=sEzDR}FnH79sD#^oMqcN%^p&pgHaodKf zul+u4h(*^xgb2Fh!pFJoy1A)b{kH_)dX9mlAA7;cAA@Ge2a%HYh3|dRAlH;45emR!-A0R?Mlk?W}M} zg`sx~ljy#mhc4F8cPAF;Iy}JC#hAJQ-JQ|D;?o`IoN=o3q=1AvIfEO zS?C|0i!t$tR<0Y#@W#id+shk`rJW#D9|q=Cus0bm_YH6~SL-@HwLSl0Xwx`Qm-^u> z_Y%F_^*wP z2}a`q@fIR|rcKp=7-!NCqJ(AYyY4JaZ*z4qTiy;#!||sn3nAW`RZpRh$T1GVAp7P& zz?D`I9uUDIDGRC#yKwX2ONiz6yvd3{7T6Oj`2>j~hs|7Kup<%w+xX^-9dPC)^-U&DHoA!fdkYsfW=3a0i8YM; z*=19aiT65B+LpXs`Oim{MlO%TJD~Q)D;GkB&IRMk?jwLH>$(rBJdi<4eYQA+WVk#D z1}#MN#2vq<^St}bRpnt&UDX%JM{r!ljzw0DCS*74 z%^pr8{1xd7zbpx(lp#!5^%DKX%4VNsp_WFw!Pn1BH2|vrvKU5VsspF>3M?uCpnGr4 zm(rYbh~aFlFrgWG7K`|mszE$7Q$|#YxY#@X|L!51@38MJAtFh- zGY&GnbpdJmINo%RD1l1I53gwopxL`TNr8A2*yXu~lGI4HXXij0o3zp*QOqmVooHMx z*Bg(B^2b;bscB1#s95a^{pDiSwfrpovzb34PUU^l&LFR>N?_k_^H~fxmSS{OWY#GY z-1|f4QXCu)HAXG*WiE8AzcL^wdyb{%KPrk_mO-N4hvbt@D@zEjmVtQlr>Z!&_`2Z2 z*IeMo`dP-3dsDdRl!u6JeaT(cZUo4j1=_h}HDQI!UvRd+k4CjWc=qG?8T<7J?zC6o zx3H><2$pDS3wHwDW&x!2ZNs^i><8RL^fgg z5m=yCrB8X@-(llhu0 z3f+mIS!T5HHbb0Xs-wIhV%jW14b2UQi!S}!r+SNho3Ohn;P;Xp%!-hSN$CRNxrelt zcm=;V@9)y_Cr!#1s>+Dx%bv__6b}5V?)TxZ1ZuCW4Sdhb2A|%(VtBH7L|n}NrN5$M z6sy@oGmyqZcPospZ=C1slK-T?bmCY0_x^fZVEtl~(2Zqor5LKMg&DX7eIz?U7P)(; zXlFPZwihU+;zK*qs5U;4PO9b#1`1q(N%JmPaLx+EQ2tG=@krU5>lCFwZ z(NGU`x1Zj*JxAN6pm^-%e#i4|$T-6R%w~=sUw>I_E+~-k4Y5|i5GT-!q#@OC=eUqW zo%7FrO}EfKtp7Tb$|%}Nm?@=xVfc6236R$NU-1(Z;Lp=0if;=%VWV-Gyyt$V>UoAx8vfd=Zck?KS>T0Zj09vVt7G0q zp!idN1oe}q;h6^K6L6*1Eaci_$*&RKhIhA%+oWX}1kNt!2QYy4tbbd`#vdlbd`%4* z!-6?~EW)USCgC*`qVKYQSPplv4(zOPIijA`_`*lup?Rc-tLW=R1qNI)Pp;m;Mm&DJbyiTdbWGD>GFM@E2l3zZkpU5zrj9e{5^ufG?_iR;Im@e6?I;= z5wPj^^^1q@1JCtuvAvhsIX>eY7IGSqo6JC&G@dI{h$qE?v=HAreEE&eCak74JKr6a zKSx;K{L86)dlsmvErAd}KQt`>Tq|`8s(`YlCQO(q`@oVKM8ORWuNYiDT4|_IKQfH! zS8_#inufB^Ov<>k$v!G*B@!3qq9@1Lr3H?E|A&y1KP(<3wfz|4 z>Jw&LVI*phD3R|h&v|;$62??^Nw~+GHE=}J>B$-xd#)R*m5QF+t!nnM`5QG+&p4@E zMqP5w?TzZ^RFrecvaT0>IVxwMn9)w|tsdCmR_JyYuzCo9L9G^;J{GVO-dHAbNYr{@ zIzKMONh_Tky0m70R!wb0ftK#JT=cE9f4#?^`z}pHRU4j~y)RhXi58UTp%?nI?xXTP z)e)^!-p2#n>#r6eJxrjQ&E&U8CWuO@)WCWpzMe}sZ`-?tQMiypS%VGgXgDqI%>H5B3%qhbSR91# z-b~3Gl4M|GdiZH&KCFU@$rNSm$L!wkg-KGFs!5#|7(NM<{TC!@3xcJv(w{!p6X1m# z%Qo6(jEm3rgv7RA^usaT+-HTHBe|HNhl6Csenv$OZV!`5g{#iWamdT5g2VaNP%mA`0v^Tz_r~YV0^G%GiMA28b{JCe^zQ zwRPa7_G`~|?uIImK74%t`i$`A6fFX!Q1-WBEw|7I`#l_bKXK5zV7Ruc-wvzAmzByAR>p&y zJ@D@=HUI`WtU}NeCVYR1Z+6!OzF}vV{PFxS}MB;7a?zh4hL4Kjp$9`YvYOGybC0 zc7amCcohgj0^=8bh>kRuBzv)=w?Ug)xYmo`swA+I zhbR)CKOVaKCHKhdsi!t&@Ot%<*}#J@O?Vgft1;e^STtgoP}yu+C2MYe1FM2YLxE(1 zAaj1Dp0FW>Mx0=fGl!{;I0(rajGfWLqr%_N8Ud8HO$1HS9U zet*>i{7IeNSEE!10CkasD*M&yCH(MW0Z}|8Ol_(m7~TK0`nLY!5YHG}6fqyRqReW6 zZNYem&bVq^;bQaObBLn`hiI*kQ>8}NgBva?Q-G+qfi{!(YFp9FpWxXPcS4vbb} zrmG*uXUeDP8nhdRW1Obj>~v8dH$cw8vt2XX!rT4BEjx~W)qu)+Pf5a!lBg}HcqvV{ z{=_EQGDB3*RlmIWpnWfq^IDJnc9hWQ@Oj$^HpxvFZ;F2Stp1C+U-L;*4N-v?tnn)h z`Na6=<^>n(Lumq+?r%t7;NYZD=M3WuS18sx4d@Wnd&C~NAE&%jG=Pa4f?Ug`b-#Z6R!MuM}lBB z*z~Jc|A$}rH=o2P9av&4TMP0jyiv$fTRwAi-wYa; z)o0V8KpsU?;V2}xyorYv3_Igz_C3c&!%*0q&1Iup1uwXZU+J~Ctvj290bq=2a!7Xn zTM!!fc#K}SYriY3QFdW;j)E%!`}<0F@9Ugyq8)wbolDa-+wkc@0VEz{ zITqzAaYI=B?|RNjdBb1D;1yp%))a&ZLA^)t!=yvF87$gv4=Hxo%4n+%_+V=_NIT_K z_)Z9TSyq}LDo52B;R0^ind>;L-lLOmY|zq3B0Dt6dFVBkKia;QH){`x!3Yj9@0mZHO)T_gfH>oKnY&*$xq4#y3 zxq$7BA!&-equcqM?3{}Zlke6Y^e1z&n^6YiZ{2?(;|C0f2rm;3YR5xPvjSx*<0*Ka zG(IEVxwTWx)}kK`)G`EcQ1G+GI(>Q$hj4RpA@uJbLazR>H~*Zm{kcSOUy_?>xmf zH!uF&3JOH3`Jl~*2~kYf;}CxQEA}Ea2N%{JoJv4MKEXa%7eWSIr7M2f2jHz%jeG!R zq_;G$-3gwNz*XNwmhOFWZ8!XM>jBy2m%BOzZYN%dbkhOsH98o|E^QL>OYf*0dVAJR zmWVELyM|ZsR{$(8+2N<-)ZX76Z>6Rd6OEPY040RgP6N-vBKB-hic~u;Yf<0#ze|+N zqra1d4;Bt)z6)7h>nlz4k}uD%46yiN14R6+yo)w^eb_C{>e(-0&oNr5Oa~kW#&`~4 z&ojAH!rwO-DC>^u^lZy=8jl4sQl(63w#5cj379*$DOQXulfP+&lCTJWdFMh1=d2 zB?b-?Y6k^qqLV^lW_-tVU%VLv*`o7aH4x=KT0)k14}c~Dt)?(Uk%r5X$H*=D^_X-T z7}^0RC05OhT%){19q8wB_(%n~Hsv6Eo@}BN7Tj7mM!R3TA8<)ZF1>m01Ks1F`p4~X z8Ro>w_ap}#ef*<7cQI2MZB|aqjgoY%T`-t5?lj-MN)Y)W z^CQ#k_pmz{ay`RyC9VgwXM%%nDb@QX&4X}S4USxD?+^y0>Sv^|M_($xK#Jrm@#H)(Cpbkem{@Di;rNi;r1%P1IOQC@?k$Y%8<_QLjLTcrHjQ!0 z>E;^B=QKP!VJ-W19)D8&t;WpsiIZ#L(>xpHUX-4#_b(CTAx@BS^G8z#o6=wSL~2Z| zXyr`2E9;q!jpn4WlABW|MV|BAqmd9RT}oX`Q+|x34xJ^O&dzyT<+LppMaZ&v$}hV! z6>=5LVl1#P%1A9V;@dP$bIWn71WH%kVhkW4Ql+Hn>VWdBWC9-GLri3Y^c9eQkOQwU zQy>oRt@3$Z1ISN@ta@^qI?U=0^B=TMAVrRffS456UhX^s!3NZa5b z(p%p!ohqy$)bta9j$c;rkJP{3-N<1sBlvm>Xl6{G{#;kJBJ_&~uh3TIH6b}Im7Q93 zFOSAjbrwuIR7&)7mfFcCPhM-^dhVQA20Lp7Qwp(_uo$DVoV zI_BqJP1$PCy(X4TmzwT7sSR7uX|ki0gGnE_Z+l#L9mVbT=3%R$e&zB(^2spaC+`V7 z?;l33mQIGozOuS@M@qu=jQd1#bE0k+ZIemTD95e0X){6ec~K|+)@pg#QhAa%Zyu7^ zRb-}|8qO(qqnL@8nPC}I4UGkhNaU=cc9Y9}^f*Rqspn=DFM>tjgy;ZwU>56k7@ynS zW)%p!3ALq)0$R} zD_7Ux=;v{M8nAbshEgS_d%j}685D--j1%nAK(H?m2_CMkAET+eA^BRrZft%Q;B@L| zltWWsRmGOt;g73>P+Xgp3?VTLLB*Hd%67ci`xFd(JCDG8&Ur~5r{20?Fyl+` zwc5}m_}?MYXpaid#Lc+*#`10074|SUbxUV!C5^9DBfR&{DG9K-yU8l1@hb-t9nZ9C zUZE9U<3(F*p!I*bZI8r5de6<_i zk^yt&a8v(tJvDBIog+&nId`n`p7#$1>PuvI2xr$1_&R84+?_3@aWy%7{s|1W9`bpn zr6IeUCW9g!UdwaB^*1FcQ~!XNS2~7Gc=)Cp(|Ki?z2Lj--(X3NHSq{QYSdSZMeua{ zc0J&+VNN%efP%w6p*8DKX}3=c6gS)}kXT^;KhnQJz02;u?ZxZ9srV&otL!HBMQfVd zSd%r#!lonZtF15wkleRN@R1aM#`uR&I0&}iVh!RM58r#dpKKZv3xK)>0;%cwep8<;+n&Jhb?{?Kz?1Wi!_;| zch=}Bs(~7XV!@0hW{>fx9Ic_nW!w2>4+~k9F1F?NZs1(&5Mrf%%%ksIC!<+T*gRS> zP{maL2K(i0f-JmrgA%y%uIuZkP@(vFb zv`zW$LQfR;*Dw1#ML`|v41ukL1wy(Is0FW5U93+;xW8@bnHb3mhsUZdbY>EzD5aFu zGqd!TIpQSX6s%H5rSWhnS!}G#|L*gqjHv4?P%sLsgmy96>+Kub{k%0LkOvu*H!+Y0dQ%8d(&$|aYlx>s%Ow!y}o z-G(IHEu0J%eoX<6kCI`L5l;ziD%aZdmcCF{IYo_8h!QM8>qZCDFy~Ei;g#A*s$`v; z_sJjCimtDh#~#$%^dZ^4bOI<_l^>A=*|t{6LU$#%Ity9LbP9II4iPUh*%9~df;(nf z3$u8f3&g$A9W&3SjQ3hf7lg-s4CTKW&%fCF_5glU+^>Elj!%x9o8v-^J-54@q|+r~ z(2{f5E4c6`>MDGA{8_`P$dcZZi_Wkho7fm`RGoKOu#pHM%041g%esjo@lnflb({Aj zs_WFLz-9AQ*2ACh1`*bx)rL{sI9vs5!ufC_%{hm!m2|bYRmn+O?MMO8P#UNegi_QW zY(y`n$+pN7V_B(ZXhNn8l!N+z{gK>D>HB*T*O}J=R}J%Bo$DuqmD8mfN#mE`_xPfP zL9U#-aT+v38@nHp8N`nh8Ptd|m6F+hO&pxu5C53fs2Fccbl^EF4^OoFraIp|&uA(G z0!2f*_JJUQS=*El@-2ZMF&Ac2D?(WB*>*9$+OwA-9(`_ zU)$=VHmFnV6YL7}EHKSy>B1H<2o_+2%v9HE2LtafG_>1F>Nv>m>*F39-?U zQ_D3iadwHaPPyIJEt*%R)1xHKv>1Y8CxitCRoEwSa8Fz@nHGhFbg~T6ls<7xt7*li zOtQi)Jq$!-?#j7r(tIrX3v&UmYkWedpD2TMk>A*q5~+ci?C{zwynMFq&vbtH`R@ht zdb14BMU#M3s3|+%5HKEoD)8FC>(A_@cEIgMGrnw4S2S~|Exq?({4`hTwsFQ?4cylL z_2ZJ;G5GL#Ac=OIC}Ou*vURGnz-T(@qv?36(%{p9g~QOk%|^}dkaS&X4%hi32j%;O z-%_p5;_ld&*{0@#RPlJ4Iv;GQM3t0&&m}VKSOsFqjEKCjGz3=>P>QgjwzI7``V@>d zyBHGuWJT4Z0mmPfhE!=^W(hyCe&7Fh%4r6|Tv_NJqo`SM!}52T1WU*BLL_*`)oFuh zH4sM34~fG!sIC+F2kIWuSBbD6$OlHspfDg-?0ctqFo1;eUJkynX(ofgKb z_y&t|vLemteDNpXUizpR-~s+r4Bg94y6A8_JBk{S5Yo=G7u~5 zYI6W8PKeFlC5qz{Am_J%=R6;=KkYb;Vd+<)z$G^yQwrY4i_%|zIl;i=R5%GdE7#uU zTL5X-1R0^ZlNh^ZH@i#Y*Uz4ieBs>rhL02{$=pS>J6UnH$!4l6LD^g3+Syb1(d>_? zc^Ty479v$KRScjV6XlnE3Wf$D=_6lCisl0AHra@;wz^R>wTg{R)fk+qoI zlDYG0WUXC&H43cNj?6a=r6hld@spW>kYvI=|L{qvH*0;`p~hMk%vI94>2V=K2n%mH zp<4940eYXUgM|p^n+L(b&OPIJn+)MUgbY5wl375woV6LtE@HKbxpYi#p{Kl{L|k?# zG8C?cqjdwe;^S3z`t0X@{Pcp(G z_MqRkAuy&AeH&^ttxNR>LIV@w9s5_GrrI2^dv;cf?SAOp=65x<4meU$%Gl zn{(_h&AM{RkI!10yCwdL1EoaJE{h}t;;yeesH-arAM64ALCQ$kYRjvOqz5mZhLEVG z$BXhhC>1Km-)@Uber)`85ZhSYQNQKy+6lo;5Bzy=ORe1CIkic=q`NwNL_yFN)oqtp z3mtiRTB)u!@?4oah|y1Y-BY~~7QCXOag zis_&C**RJJM#IANU&m_7U&bp=vN?oueX+;)*v~Tg)yd~GAg~bIugry?JjGbg?Kj7iqZQP#q|u>;c?VSN7Vnf? z>+#uS$e4AA9P)LLwAE;!ov{=DT3xjKL&(J+mI+c*z_q1d?mJ#L#^8xhk9Dv5eLB@1 z<>(&3vB#W>p`z-PH9<7G_gfaVb+p~#8y=?V!^ZF$gKpmGE8@tB{k@x5D zXCil4c}2Y(Yb`L%0zN;>*stHaa`=5R5YO?*dq#EFcW`*jnNKduo#Q_u6?u1Ul;g6( zxpqNfR662iCyy|xmj!k5b5;Qhto}n>G31kGT(|CVu5fFf%MP1bz{09ZSBnE+W@pJ< z;MIT7EIkkHS=El?R8CHv6>6?_Oasl!)LJdM{Al&_ceHegJPKPp(-<*qu;~_WydD}t z93vAhtqK~No$N2@;VfcH?8&?>cMgN-$)f&JT%Kk1x`yo??Xp3cxWx<`n%znCwFNx4 zPh4P1Q%KFOc`5TtZcTKl-I?yaK%+zgw0+Tf608Vp=~gX<(TO^?v!t`b41)y}`I6k1 z><~LU+-2aylg;Xhl`wFAyCsdPYd_)v1S<#HSO|P1pr%B`ZgcLfzZ`k+O%*tbPM#Y2 zaiPrah!qWg>5;kg1ChfT2a2EhuNuB)N*yD=AyjSGqj#(yq^3fgHfX-XR}Rrxd7PK}J=M&)o1GEqw{6{ko7X{; zRL`HLMTo(rTd42!6uz`=(b*k5EkDbtpmOcPL8DvE;JRC27nf@}`C`00jn~e=Z}wQZoUU$|ZLA;#gJgvMRw4e1Q^KsLQ2GYEKj-Ut0VZx>Uy@QCpLS)rk{0SjSGk56iT1Q z^~IjM2VveNehaw@kK0kCQN^+fXJpb9qS3+0^Mj(;HqNpnw6jiQER#ultO(6k0~nL7 z2f40W+|}0q>U^|`wliJoXbYKC$o}>4=w?zeVQ`l`I|1>*DjSGva!P_`Y|L`grTA`A zE)zPMOZwQBXK-pOu^_V7=MB`lZ9g(JsoKoJX5B%GUtox*a`=A(PYG)*#w0XPHhkzI z+X1VOhD-i5(RYPZ0_+tD(Il%SVs6*PDFm$NzT&r;zFlIAW*UE)5;w$=9dYy@1>TY` zU-Ww2wFxehMNgW++tQX?;tPOE&P^zjk9tN(n8-L4;$zB z1=~oFc>IV@y4&9Fe>^$j3QfmQR{G zw6{N|54(g8IjsTaQ+R`DI@@uFq3{P*ltc@DB{2lls5mM(Sqk(W=_ZP99%nn4WJ2Vi zV{v(vJ8wF9oXL6$ld-q2>R*+BlYi3};J2P!Yn>n_#+Ykq5T;3=`SV+-WjS{PwI zVfPH4xqe&91SQSt51=Q{86TjS%MIsmUV@uEdVSi#G`v$kvD9V^zUZddX8EEE@tI}t zxG1tmnreP;Su9i=ID9qV`;RGngMvk|T!(l$+i?~~u1iQTMhB#NM{!iQHX+nD1z_$y zPj?^OVYP9@^+6A4+H|`_Miycr&C?C#c!(3(aJa5lh^|L;M%9~3ANDDJYM%jxtjN?e z&h4p{oe(>`n?TEi1rG3xwmIWod7`q8AiVIQ;wTc( zIaf0?y0UGE{lP9x4%JNa4jVm-O7(4IrBa7-fMfaq&%C%#P-PVuTEK# znzfE2l|IL%LSJNN@Krx~iY^P*#1&O5+O4OUOZi^Qph9|XE-4osYiJA5t}q%jQglAF zAW<}mKb!Y+48tbAtsDzyFTlnvhOpc&>IxAh24!2j?=h|IdFkI*0;O_c05E_0et&@i z>EuQ*Y{|Z!Qb5u6B`A!^rP*lYGa}rg2~b?#jg@+&?K{h!(}9bIi%Bez|Gw}lVw0f7 zQP>3TNaRa+NwfJkTISX0(=;(rJ|Fo?=x$2AIJ8@wMbr%9d~L`^eA!O=3?(rD8%jtv zLeoJ=X6#0LmT>*F*|ie(UtDgyKTI*CE{BQXAUHTyZCs!q(i#hm1)Xz_n;U*g`)E+g!F6xgzNV^ldpxa)0O!Fp>L;bdC_yq0& zZXM5GpRK8ZSM22o)j~#;wjB3@WN!5x7D^^8mq&*>j-$G@UN{*}I`R{C7oV2S za(9eWtGHO@#F^wS!BZbWQ4RISq~)4Kj0a>+q3rVxOTG0Y$UjSFlWM4v)R3Y~}PEagn@A>m(%RCCjE zp6V~4Bq$_n4J#?`rOd#ndXe}yJg&Iifjp+qxWPP_6gg`0O7C8k2h-s@PnS!slLVKux1 z^EG;uMWpY4I>9Q4Y7%}cU*9+f-g4#h#7|_Ss)H)} zoJ7|#O>gY4e`M$BF1@;bLgnwQZ1?UwaOE*wM5k2>1sivL6Ep!BJlj@^}=j?&_= zO-^Cqq_|Souz@`z{SpT26;vb+rz>lrq^_`cg(IYA<;4a>t^vB>Qae+Q5?Js zW>%_$F_UK@mhN!hJ*P%KoTbAFLg$8-X^QqY#^F3tb-1rSK?23E4;dQhlZke0wtWlXpG_mg?bM_wf(xtv5*EcuqIX_J z^U)j@mtV5Rl%y%5i-3y4l?|T$!0-8BZhc9x=^lFntix1E;R%dvZ=~jbfM0SibfY1c z=N)(&7%SbsU;F^##Yi{>5VZ%SX?}!=hszvV#hnRaW zl=~^_0E+Ur!pBS0kN*%V@`q`*TC=5xj47C{W(yWb$K^xZ<>XJ}9`YQTg0mXRw9^)n z*>_Rw$_d|=S(Z0AC+#2y8RW_M20k);{J1d*{1pjDg;q%T+u~rb-DmCJ=c{#%r+l`a zIBxbf+(%@Vm@}u31_|W)z-8UH;I=Ktx^Kv)bZhW}zZ&D!ah7OEt;R9bUuEX?r84a* zGzApW0C&laBW8LPGD@5#fRZunxJXJ_Myy~$m$>a2gdn&q#ie)<<`QGC=ja9M$Z9wuD_4GWK}59Xw5idVx)?mO-c>icyQFK9iQ zqH#|jmeGMlG9j|usWByDN5rer{?3V;6hQY4C_UY?7 z_}rAIO;z)L-lhNWY_oTQWVfq=7TNc=umQh$_m_f9{;YHEBMq(YuJh-ZRo@G*;(9U> zgd(*RU_s1(+BMF}{~totAXqm`JxCMWjZf@3Td-6*juYZ?dT1Aqgyhh8^}Ax5DzCPnP* zvhL)WOrm0sliFV#=r0-I*iY#nE=ZGNTb42sB#09&9Hl55y1ZhQ^!_Pg zAZj^*zue_on#Ax@>NZq?-Q~X2pbNc0G4Lu<{(Jm{yGp;jD$+*{IBibJh`fgxieNOE z*7eDYnNP{l2`J|({}3t$!3;wDF4!?VxP z4nz9)W&2*^&(!f4{NwRQVc;$gIcKX`3y(A)ac@KlNZXM@S2hl^y9+7hA**gpl`-B^^X_F zgBa*Q&)cK3`U`%wZnm(A%%$vU`ppK@_mn7xugeGntXx&vhew)MyhWC5=j!%3B*J#m zfuhowNe*_Xw~{cI0k=P{{`RD@+?TILfU$@VdU39S*M^f#&o{??>T96q3IKpq2$i`& z3lyz#l!w?(Nhi#?nB-}?{46$_PrdG&%^-#ca}}Cm%oloN(zW{a&r&O3CLF0?3 z^%&|B6T~HX1F|9$GiU^vaxUP~EY!GfuZ#L_KRnDa-8!YSZ@CYwR`o}PQq9t^^t=$< za`zhkDgg#6{~Prw0Ko`C;&Kt`?F0}B))@-yqnmOe9-8GmcjUDkcgZgPn`1AgK(W{5ni z(3Z$r>^Ez)ccES1wX_n32uM|V#No9rYJf><2EWryY46w8`E>#BhwFJhF;8YLpTiAw`5;Gfr|a?|3Hf`bqqW zCz9hQ_cC$4PwqC#OZwKAE}v7sNzEh#+KXXCguM;A>aP3YZWdh7F2TweJZL%1D4swjhYTe9_e2s=fHx zA7Su(g+&P4VJY;;d|Gd9w17Z*36?4^I%G`L~DK{9#HV&mk1PGvOhKdZ<7@8qE@dP-VOXqr=U0vP(#2y8}5cZo-{K zjC3}U)o+}dZVnCcK$DLC(VMt}X5BNkvzPvUsC7t)!!$$SIZfe@od!X}t~b%xMcy7) z6rxzCcbNUYw?0&c08kgaJB@$8_(o-FMTf*Ru8X+I-=&i^q-~{sn}-yV)!~~=d&2aY zo*(7wWE!ztuH2cEX~u7%m(6!ja{Tj0k0+i-jz5yP`E&R<4^>lcamq%>kt++^vkfn= z9S?dcZ(A=c_P!WhIhJ+&p4ccYINS|0C%##kroi5bG3Y_X6rWG~hCl9@lM)RxUmZ$@ zQ@Fm-p7~(z$LrCv5`f-gdOU9Z80RATjUfo%wWOAS1Rn514}%>}xE( z$yay0KxEwE@5Iq^sc~GG_8a-m>*cw(j#K09x!?@Pxp*Z~Qzcg=&*q_*i(lIGVDqEJ z9OY{oZvbfehfpsFMh((@K&0E#8SBUpEVYUL=Zqy#ot|2A))Z3KK)un~S|=(-!HIPs ze~8UFTZ^e(p9f;(SZjZS|9lH2NyT4cfMw~uai$P6$pOcmTl*qQOK|n;^(SlOFC>#M zq})w?rj#(>@-{cSP=4*VjaO}V(Wxud^7G9@ETYcGsb2tK%aT!O4>{Xrgjb_%k5IAi zrw{@HW2w5!yN^_o0ifnplk?8+L7!o>YDK!J&t4l6a_>I}7*%oY--{!r(x@WR5qD|!XMkKXNvJ*{=aNa z>~mTU!EyR#0H~|N-}8p_gHSW|tRauMNSBTz_d0)JUR>r)6wW9EQr;tVK`=JTLmYvq zrl)i`sbq!&FI!AtlYB^^tZqZddFaME^*NOZDprD~L3=#@y8=G9P@%DH5Nh&=(bW96hs-p>AcfOX{TNn3@2bwq>CignrjT;acd93UG&JUR^7 zVV`n@A4(0NglOnOM7ljmO*dZ`1HSAE~I<97XuuT|#%(Fpz#& zSUBtTm=;Q)eSmsT+~6i%!oSNlP3X_yoneo`?RrbPxbFZI##|y8>wF9ySRy|FxLgW+ zO5)=J?K##G{*Xx3WqkgvUG_0c!SkHRM~u)-q5ie#LMQwKgG&=`7&RSd7JhW4ohmXh zliy~5wOGrx;Wu22xBl8KjMrEF)!(bn_LRFSOty>xS;LV@7@QXDi8Y0r`Y{5|1L{*G zL0O9SfPVxfMm=&N!2s&ekFkI?go+WE-959AV_y34bmZ9!sw6=K?EE~w=f#E=iT@B?hn|WeXh^BpZlD1 z#rDPF${3co(~G@+m9gXETKT5GK<;7AJGGU$zcttMV_-x{VYbd5oyRXj)1Zr&a_w@4 z=P_UTVw1B~DjQN8dyUFb*vl6^Cat_V1xY5-M!)JNA!G!EDyPJ4PHE>b9E=4x^ig$R z<}xI#lAH@|SY0nC!og*s!!kgn(rz`3`abv`rl9%$USX;TCniv9$h_lfM-_v}R9gdr zAtJ6#i@Kw+u`&?AjQ0Q}h}>h@u)0Q0>?*j}kHB_x@k(7CeKPGAS3MlI_xCSEMX8OS z4X#fL3ExNg6@&8kIg)b|iSuoxCsfuj6TT9l z(zoWfpQ6&R&JCutzSUeaw@ByKr2Sl|BS+IQ75k4;U8pZCR5|w)t!PpDsrB~csS|p1 z3lRI5cYJ|GIiDg7>r+tvL#P{s=Jr2lEJyu`#|@iGi^Se+-+CdfR2=*>;q>84_V)aq zQ1S%!A4X05bq3BKeI)uqohee(tBk>UPqsNjom~b3Xmo?PerJN~b5Uanx4bKb3C#eAp!*D2!^Vba8W!wxBKIT>1!Td4|tleYY0QwAd*VtRBn_VD+AP_ao1 zMNolKvu(D5M>?t#9=z|%*LY zj1T0!BCX~DrN z>HG&ovF%OjVgBG`8%3sB%l$WyVJSW6$k1rKRnm>m1xwL8)anp!aDfId9#E9gD6-ru^kDjm z>-AtJ)U8!!H-JU-Uh;3RtxeURMf4r)-U~)G45BZeJkD|0exqxp$q|IG8ius7pTzC@ zlqmR|R!hH+2;XS_>hSi^uCEBr2LKnaB#FvWYJ_jDkQ)$c3@G!<0Eqn45&|i1d@d=9 z*tF+7BpFb5fltMx-)O=e^M;K2oIe84&;P_n8$KF4*Dy!hIva>}EjfG5`ubc8yuAt9 z1E%JGf{}vf{}5V1MPoNZ(iAv$G;8AvY@E20D3P8q-*-mJ?sWqKpqhWJbX+s;p-X)~ zpSIY|fL{wTh!T#od&2UJU8wz{rF9lDhtkp$$?&dO(FqK_64ZAw`m`20^@(UHxA7SK z1`@3F_K@b2%F7C`q~!I63df~?<`@HP7khW?JFwd2hCkzyE|;kLH1ti2H7-xZod#${ zWgRH_5+R4u1>SHMn=JG^lOkq z;I>ipeiqoY&VhSmehm?_>+Np5W&~guwu*p8B``Wvd=K*PVD9k`x7Ij0Wo=KxOADwq z-iJ@(PE1vXl0qgV>A2{AHuAP%?T3Uu=jai*q`Abng&i7x#%`JWupk8P?IS{J3Z~2H zkYPQK$mJUnp$!l+IK})JJKj%ABR)<_#eAB9)>o7HIF+Hnll_{bJJAafNoQ*c-?^p@ z7)?dTz}A{lnFxdV>d2F%ca z)BlwLaL8#cq6i9XA^YhfL}U?6pGd*g!Yg*TwDa zpGNzgoCsBpwS`^GG79E9Qs10(H6}#M#Q_Y?6g~Ao0AFxYR<$01MSS< zBda|lb{i((isr*?P{7gNHP842a+>d{(Q%E_50`WD&V2Et`Lo>7gI@)mL2AqG8?48W zU4Hrg^n_gx@>B$f9wN=NXOU3>0I>5y2GE@a=&500i76=T6&p}@bNX-S{?GX7n9rS4 zh!dm8SG!6s519%|d3Jed{8p$Rh?7j*ld{n z#FdGw%+qfI&koYjyS!c4m&@ZTe-%+lIkT){RD7-nH)Z;V=2ut(ms|S>0dhL~L@_Do zsA~Tqv=W*hZrhUkxi}4cLf51|9+T}&42v@YAJXInsp2$4 ze9(M&sn&0gB%qw+udQb#6Vq(a7IoV2W)!lQw~BzmQy^{vJTo?p{HL&SEFECZ?A|#Q zgqrR$*O^#m`2Jj=lrA7kNBPZN)v}epCW~|-L1NQMbc)AFc-lwRh z$w?tzm!bDlW38A`dm;#TCZhGm%)4U0y^x+UkelXOzS1<&3&$y~-(_|UA#LmL0{zYU z>hK8R@ehFv%&1txL4V1kxatKx61yAOwiThs8>uU&%ANE=jv+JvyCjE$-gE!|%`0(}-s#ZTX1$&E#UmJ4g8?nF5M zLkIyPo-#zz<>IbXvA-19s31={J?}cn<5YqAhF4J>-5e~yq=rDvi{FIxHiHevGNL^l zGNyZNw|aFt|blFI4xtSR)6V5c^1EOiptFZ`ubj8b+Rw0_av?) z7hiH!4yte(3 z$e|foezv=$Ac~=j+$vK}UCQ?4o$HY?Z}seLPBaQ^YCKbfW08&|N~txkc-djq-L!>oUu$#iBL>9_jbQ$CsQ1&m z(z*t{z)vvS`eMXL@9BhM+WUvVC@ksOvzBD=z8h{Nb7P(v8g;2Eh>(?ocdeG<>i4gI zKev0Cdc|STP{){us#j7440)6O&B;F3(c^yf-7jAY#?mEy!W;}ybGi@{%Wd>f2T}U` zDUu_&5dg-Nd9xp;31^Xg+0~h@D9j*K?r`;GjrHuR(;W}d(oKm+S{Mk`Alp>da8+wJ zFFdJ?%AfWj>w`mzi0vz0N&&^E&7qwfEYa5iigx$0U+p{1vy5}djoOFi6JM^+?Pv4_FPEKj`P$3SGP0Sj+{f7cj4V@cF(#ghMW`J_FM z^a0lb1JbKC4`YiqRm2l2N9EZrSz-JKD=2lMeHTmB;$vFUehS@PZcL~5N`-{yQ;XD~ zrs=l&Hf1Ha<@M>oyVKTc_cj_~f7b8mJ2HZq7*;^P0r-wj5EvbSG>$xm+%L+&ex&^O z9@1O|p}CqPw-5R|uH2IawkocvuX3FjEs_cu8pPznkg3-{H^;hG zx^HyV&6PKd9xyd^GoX|#^2I}WF$Q=l&jPYJoR88&Lax+MbT3YO0u&YDq{r)LSih3A=UkiG;%sA}-_mgZG2o&+VgvDFic7L?KKragm5KSQ zOX~`6ADtOp{soV)Mx&eRKh1ByS^S9f4Fam2HMM>ntxAM2K>-giu&0`>wf@}^OOD6Q zDSbt?pN;GB`c<%XVh`MzB0IBbY0*KD(Vm`5GA*z5*ySC`z#hJ*tlT9C#Gyt{Kkt(A zi~2u=qS4Vd9gPhrBy>N!2PN7jdd}-5+Gy_9&9Ak3R^7C9+lA&Oz{N0=%3D}JWf+ka zk|j-a=|x(NO2Txs8K%e#=>%H74lR*fCv9E^2DYzM^?Rt{nNL?JZ1R%m^jgheshtB< zW6hos%LN)1jEbc{8(m>?LNB5A?fyyI#u_KBE94p`*^l!SBWNns1rmqP2Gyj3f?n+H z?=b0zB1OYXT!O9|h-+%*XOvti_qqy`hc-int*ydz&dV5-;@huCK0AjNpI~-Fycp3O ziuA8Po_T?niOJybv4Kr{ZnbMy7H0x9TshoAl)87wz4suwru1Jlb;fu3L_DAJ>SE|!0a;mCt6eKZi z{}F#Ryj;dV#8{t2M^;_kTF{qRUp)eA4nIO9HTEc0@x|R4OAe&Argf;;XcD(zw(Oc4 z{T@)Tcted}_QB&rX4cm?kn3*Xh_@MXV#Qnpq@$&|&Rkt}<#Yg7nBkXcw9ppd+=X7> z^*@9ZLFn{$#s-vb{BCt__0n3dGjj1C>KruZYnnW-?yGA=kX=H*YU~&4RQ2~8lUh^* zml0ZaEyq+ob8HN5Jh@rPD}fvl~P${-5f?sJzgWNdADo@k)xy8Z4exC56U?PbnUS# zpUzYB%*Q0LKhN3Fjkq}xf1bpScE58Fs^>p2|Po{e-q+tyS= z`PY0g+nwa&akavAd*+mn?cBqdpFvUncaiak?Tgg|#(1ns5bH^R7+K1zQAWCEj-4pT z73a{6{bP>oo5ZJ~=a@Y~ADXRhO3?D6fz;$AvAz2Qn@IZ=Z+@=J^Hd>ub&;KH4-z(g z)ZmY%3F>g;^Fu=c-goJWd7$5D3w#a|{^;U)DXkeSN2w(#4_JLMe z6#TV^{2!B!PmyFyKxsT_0fd2sf>WpJnc(4r-1m$xSqo^dN}g+BnPAEOq#I_v_^*br z!_bu8t{c4I*s;}^ERbPw{E?~P|KA2rwyNRkw!l=7!&7VEBa742j5kx{g6#Y=IbzZP zd!CswDhlb|HX@r(!*#&hx#P^ww`a}+=0MJ@5pvC$i7~9ctqACowE$sTL~YPz?| zKmH#`eSc1VpfPYx!A?Owjbm{U1_-r`)m`2q$Z_dQRvn_+`9#)EN1Z5mDAiKKP3R$C zwv-e6UABUd>?L%+TO2MWLx?O87;S~v7rVT0R@9UU-o;43tW{xzr$*@BNhL+q&%1*&q@jeR zwWCp$ZsbqT>1HiWO&ba-0{(ppF zXl%xo|8aec;<$RH)Gd<&kQ+Sa`cxry&$iF`&9uQ1zBRhi6Ca-qSdqw+E{B{k#*o4u zbx)QM1D*`vD>5fw_Zj#Jc;bKo=_~pBm~frZ4^ST^6pZJL+wsv|Dyu}!pj2dX_Vpe2 ziZ1qz|5Z;&$FvHB^Nxc}(q8L(wBB|Xx>&PQ;tRHm0EmRP3)3#}ZP?mH2mS&{DB4C# zf!^~j23+AVPaDkeu7avCme5L7!0>sIFpkKb4v#t2Z2qXi*NpE_l`kQN*|#dm?YW(I zkBom2w@)2bXJ9o3ww7Pt3@f#0J9Xt5N^D<{h<%g$nGkb!L86#7?0IazU#>f<>Ycg|+Y9@%Y4&3l^6f#TnCY-mO|_{Z~RnAT%^% zt7DwkJ1Rf8PNkG2<4qF%>zFH31#3L3KWAKyLeN@iFQ*kkS+a$|>_U0jqupQbHS64a zyj0{myPl4`Jr?&JlHUhCSUreDqK*`vcS@-nIw39^NCq`^mw4nDv@~40QH2Yj^VW-ycTnOJDQj1^W zSMGO#@7`VuT(%SVv_h)T-%B~(wEO_qfS1w1ANc1-2(`!Cz#voO&NhY)oImrk)fs(! zqE0d2hF{q3QxL>v_IoTnNQt>F+a0t+xBpKWum2{F=ci+zmSbJv=fXUl@ZXs!3XS?- z0a~9o4YiHI;7uImy{R7pq5zl@KJtB5jH1+f z^2JO(il6FpY1pbI?tF=se<8bzt58N*D9B1+j|=BZ4(tmX^-~T>H50q7=+nHNTqQhb z7Qrcs&@BW`q*k6RuIcXSfCo-zkU^%z`<|GpuP+`2Rc=}O)7^!AMro;2z#L;~lCc@vBl6Lup0frCB+|43Lfkj{dxPG4eP-!#y)JTaK z|3Xi)u009aM^mR`?!*WyQ2sWjGC!NwYZ~Ql7bPxB5&Up#%d$s!;k4XdECkExIeN~^w%sj<^H6$E{7UO7j zc>LPkyDk_{?weO)NpeV?l-B%O)A`j+Ti-_-PTd0B1_9J0<#I3ccZAV+s3T~V0x$L9 zuA(BEao5Q{hnv!2Np9p70;-jDV4kv7ndI|hrqg`hnzAxdpkW%A&;f)HX{;6KG+9Ez zEXfu^B&osV(>WK_iQN;0hdDLhze&|oEhw>Eu2|NK*O2OZ7>;l2_{cM!V#q&Y@_`n5U_U@?i|KG^|${ym1S%CVer}?_cZ5~*@q(FZt>0UpZkL& zuU<}-JDBhwYC8ZtK7bT*7w8J!_BzZVQEKzMrhK;lKwQb#appeI3$~-tf@*4&;-t3O zW*x`p3yI?r3QJ6Z;nJsaOSaEchw`wTy-UAV|z`#x5kOMpPc=K1uw*DhV#)shi3hvn2C%v`tlS#-|P0(JRd0ZnFRJ#yREMAqv3`` zSoW%0L*v!+T5K^ga(UTVI<>V+CX7=X8V>qK?HgI6_Q(c?F{yW>ilj7y8qV-%I2u$K zDK`UudZ_=R8G}cjiucf)F=G>Q&jefo`s}^7=uiNti-;pbsEIyK4#LwB#aZoz6R(+L z@dC5XUFS;cwUI+iML{5lIPAzdr^6#_cV>dUf5xy(LA%4pf+W~v^S>Ix2}8ZJ+gQYr z@N?D-s*!5;Oz`#(s_fOAS9^8tH`>`*axxB24G-+tv;dn)`L z6B0+RY$+vBe6xt;rjh6?qI5mbc$`J=@|9dRF?Jg+aA(%AqhwSc9cWAgJAuc5$;+U} z-B)c^57Az?dv-2)adlT@iUdk(-1qxx`X09pGZBn;S|M58o}N4$T^OspL^z3Tyioil z9)1soi&(QT<&ooKRD7YuN4v9v!#Db;DH=K$IVmfQB)4qytw_@pW!SV>Hh=unP6qfP zO78ahFFN!wx^f!4@f;}dLql`;H4;!q`h5L5kk+#3nlk5_<|}G0sB^(*qc6>)gPq~U z*7nb7DD=HAp`o^x8pt$t(KJ5>;?d;~7r8EaSo-|!gUoFpzNa-!vt6~L!f5G7$MRC$6c^2Tp420QU7Ubi zO-P8l_tlRdVq@oxU`84hpX4~BqNv~{L>HZqD>glY^W3p zM+fe^&Jk`mM)_0fac|b9#&s)X)yfO9Eh5l$EQyBi@lZ(d-nsn4s(&x#Ga=RnO5x!T zXZz#x%V2#&plte|evKpXm`wW?0M`Kq?W*A_jR<-xIQWSfc{GAA!54IJZ7$fq3R#Yd zui5b55p2eM346p2*Nw1tGv{7;_j~w38EeSRmT6+$njr@;Riy(QxPdoKMV$ab$OGw5 z8S6e)7{V7oelAggyYG+~P->(H((ru#gSIG6Zl=xPQh-|99G+mxpQEZwj^D(d7Gn4!iXHgpHrWEetqtgaL%aZ8 zxBW5>R73BI(=~Q(veM#k8_r-GZC{$E5+~wmd9WQSJG-r1Jd0uW$3hSVs5P?Q;n;`u zyUC9);4818cp^bcpzUYx^K!4Jn#G4uyDK)6$&= z>B;(eNq<;kA@oI<&(#abzZa%S(v*$lOsrm;_4XgQGkMy9o*u`5c<39FpYe12%pUG! z8`JT-A81_~S2iCmG28CAD)xX` z+O>)quNIZ08YUF4Kj{Vv*^93w;`lxV+r3J{(fsd}lMF+nw6H$L<8oK2Hp}DRw~U=v z3a`x9n484?CiE}A=0l+6-j!LYlKR7G(x(9sa4yy;g+;_pi zxxg51G#L1v+$}PP(Yl^>dOysrmPewK^sPrj%H@(!KKs_PdiEr1 zP{&8@j2f@j<@sdGN?Nk4l0APw;-USFUE0{-b>Y`+qM@9M2*-{uZ)$YAS27`Qe&|Hd z0ho`MF;9@=GB2PQm`6o{i$;%wK?1;b{9SP(km-(9w%28Qkk!o zN?djB2P+6Xm7S6}{(?u$9vP=5`u={Hd2aTK-|Y{#88olSm$tx)0P#k*LuD5x4fWc6 z;DbXDMqPuz^k2wcoAJ{WWR(REpRe{_?jpbAUZ(RmD6%|1Z-GSI$C*SOr<`O|rY-yU zo1d6=*_pbSJdgN})?*5Pq1c{KRR$6ymJPckw|uQt@fCNo96SA#AS*WWER`KEOi9sXk4r|wdS#D^L#&;$Kn~#yyYCR>38+SN5rW9{wI z1gOWZX`hwK{2d^e5ut@rpKztCTUlB7>(Sf<=o}l`Nk+ptw!x40*z!x*)UXcXMPu4T zS|D=m0f1WpRFEs$OHY9?E#@yBj}32A2Ve8>%))ZT>xI<&RBZV#~+cRbv7^5I#*MQ^T9op$>h!fBPfRxB1@X zdBN}Zyf)l+lI*DFp(aKV2RA$%1&!x(>~x4q2VcW?WtlXHn2*boGW;v_RBJ7-^W|UH z!wMU3)>ly!C$uMdkpUGcb7ZMh+7()&dtHo*o%5%dh(?42y!sqQPlugmk8SqH;pm~y z({C^99M{p->SZi4v~zAjn8KXs-0zwtL>5A$bd;OG{s1bSKI>|g+EiZABDL( zJ(Hr5X=3{gu7KfLU?O^c|DKGTRKg!m!-|jqa&HFh)^-WvlGM)ENwD!o0I13as=Z3H z#?}yj&u_&P*${Q?NFowk1`gg%%>Z!_X{38tqcTBGvP?ASW33P;krNJ%b-#%4mu7vL zJ?0;gWCtL|c1?6C8_=n((8clFd2$rLn`-ApBx00 zp#H>Y&kQb#UT~s*nxGtExwaO|7;BzDjFUdLAx-)ZFQQ14-<({O#U@_8VwDIoucxom zHA#B>w+K1lj33|Y?j7WkHndMW@jgA##TKQzn4e@lYke4dtb%X|Ll<&&jMc>+X!>5( zXwtL!vN-x>VC)ca)cF@a_FFo>OIb4J257T1q;X%k%9a|uBwco&dop!<(`#!>Uqrh&#Cn~$(h~&h2 zS>G^mOHy1T+`f!W&Q?Pt-)gqu-ctCYNtqUFvQ)n?z~$6&y6bcU@}XBx)~Y|k z{+PUO*^>Q$aH&UpKq%9KA36{oG7CkQz$J=xTUdh-mKriX-P3C2=2#S8OpN=mVsf|B z&^6%Q?PGC&qI9{hC2qw#fc8Ixrjf*Y=k@thENv?$&$tOQUrqM|Kbtv z(Sjn0zSiXDv*%&DgJ<;=Gkb4NZBA@$cDq3&Ca8QCOFM?%y;MGsU(dwez6)SQS2?wpd) zd|H;#=J+^86lsq*xX^yJz7-+e}SEjst9yucBg`@>tbhE|NcFX=Ob z0fZc6*8pMY0yFy$p+yktiPI)hKIEuW_jqcf?iuG$5?jY!-y|aVuXV8vB444L3JS~f z4C&yDymQ5WYl8n(=oC0IgN{Wu6~|cJ8G1l2Zh!>2Cdl8di|BNVugUaitCgkA<+3r# zfc`V&G=?l5JgnLTZUq`2d~GxBm{*xS(0Zc<5&A%|^5`NoZ%8E{oD>3uNhCudYgZUyFp78ev-I zbm3I!LX9!GVPF#A!Vx;wz5lkPv_<-RaoX?q!t#4-;CM4=XIOjQW5@nJPVNnNhrEo{ zgsL9se;%6uKxhok_Q!ayJ&iqZPKAy}6j7S2qCqBf^LU4!Ocih9d1ltaL*Fy#cS&B-BCRNY@JxBV_~R z+yDd6KORJLTH#F z1u@v`Tk8wkk*!O&$+1+KsWlukh2!)22@@HGNyyFf<`^&m6w@Jau8(w{$k)b29s`qs zFUY14*eulyGgYfF_`n;lG*vb1I+S&LK@BVP&wZ6BH^` zrpX&6B1W_0{Ny%TbID{!(}l!g!80q4WjBFmTLceM(anTceq-r%&BbpBiHBafQ;tk0 zQA?08kBi2!?r)zX-_fj-prwb|II15BW-f6n8n zVzQ8lHqLG_HhYl)x=*yg6}G@TB0n8MLG5wS;`%gTIs&(HItmgZI3^3AFj1iU)U6hA zX|z-W_Skh>NEiT>dZD-@1=c-SDXH(v$tp47dT8G*mYXavW56h0#AGN6=<|>+nOPn1 zXaPiJ>;baEL7=atsES`{dOV%Yox)wJgtj8z;#!*Ms~I(V zfk?+4k6s$O@jKyF74i6ki^SiO(+S`{l|Mgb6y%u^92xy#>+SA+G*c4c45-PJ#C%kd zf+bcfGqubJV;Umzk~zv$dhv4%7tnHJUoxGSLf$BN6UNkf8ZHd^LKWR&(OgYGch<1} zhtORZni0|&3y;g*V44~(dE}M2T7-1l*2=jdY-GP8xlCb6TlYC_`bE{!`*EH@4;mW$ zv!LyR_T6)HztxwRU307+uXGCdM<)BB5E0CLE$3ilT51FL#nIcEdnJ5rXWs&iNs z`H2(!f}hIG&}fWNEnh6gtEs)qcyjRTvteb6d#b;xE-d~Nx^f%m7;oEF7mhyK#qwKP z4~FpPWx}tXjeD6$b&Uy>U7QY&(k-Roie(Av55ytv+K64Kmhk(6`BqBfdEShP&H0?R zEAUxF4#bza>)j~EXo>9jXynI+b;nA&SB*o-^*I>1>#N`(_sTDi#bTvoGI>DwR&K&;UoQ8O6|XPf2(6 z6VcjL+5B`qjW}3&C^+20@+zB8U`rONMI9p}doQ3iJSvn6b2X1keJPo)qW5{W$T;~w zgn%$K1QH=G3429Mi47?g&7`)n@XEUS3$@mFe%GY!k+YAZ(bC6;G{Nu&-S{i+w&&9b zSzdA09>l-%{TXpV~W8zJ>6V>|v(KFT=RB9jnQ+bz+Y06h&;jU8ya9KuAQ z5uO0#6u~qRl_oMwJa^%jh?YO+cV=^sOtK_v+9Ess=)Eym%EniQaRFa8QdcL=&M*Rf zt25*EE%!z#1#b?Bq z{S1{b;NlqGn-Or|>V(6*o@P@08~g4h-FHRGTMx58>LpZ^_tpehU^DP=8D!q$>1_kl znxF&H_`U-e<61f?c~Lt}CfqwG9}>b~5Fd7glFPc=V}qXN0@WF2#@tfWI%xl59*<_B z=qil+QdM<0icXBQgA2z`jz%p+nTV+F({o2Ogf4{B$@qHZd@NqjiTE`HGj<>x@BeEE zo!{B=_=UuKt(f@V(wwGA8zo4A*Xg~Nkk{2s0g}6Wf$sGe7^aq%4yDGew=(=C*Yk$* z*nwx~xcyzt3g^PgLHTN8K_Aw>Q`LrPEqLY90x%2y39gNEtSY)!cFgYpucXWslb1M) zyk!_$_{zMWq%<{K;xM;I@OeHqQK?UAgm23;kjk@MG8OZ{`W2VO_(a$|17z`h^EYG{ zhxRFqoASCCZGs{yse`X7r`KxPfD{lLOO)Ah3Sq-Q1ILdo&x1-A(l#K%VMVxjJMYYy z|9-C3UI>EC;y?3qBJ-PD&2p8>ayIc!HkLhVd1Zn=X3R#ENHwFG`U2Er#EkctEy|jMt+4o}r26uk@e!mPu``S}Dc;WivT~o-tmvqo@V2G|V z9`(H(^qw4!h41x)X7mL>s-OU#nY+~C1m8pWBdr6&Q$4$>Vu&N2hMcBe$%Xwda(V}Z zF5+yy_~Px7gZtwT$s^BMy|SP>VXf5aR;19lx=&2om)tLgAcJN>5yjPrsr`@O#Ak^U z^IGl%HC7&1IgRRvT~00^RTYmVgcK1YX%}p)d;+U@CT#X$B#YIn z9Z&SnNxmgvm(WwW@FSe4y8pQ)f4)y5%72%2jQG4V9j{)Kz{ zhMw-cdCcP${4tS6N;=Ucai9#0bU7t#Z1wWHEhtUA4*tSyjh+@e(f)LTcaec!a)R&p zj1HJRB?SJlxhLZs_n*oN4hC|^jTdT~WQMSy7vvAFEAhTo@-8{Z$m zj}+0T_Zm0Y0Q|>8TvYC1@MYrKH$&Ci>Imylv&DDJ%#=qBhRyVN%EHX;M+&x;pFgK- zze@QPg)f7@H~nst!k!^DTIRix|4YX4goAcQN3E9{t@)Fzp0P(!IrD+<_0A#1kb`aI z&wzYH==~?~U*G~c7#KbDlAXPaM>;_Ros!-lE^TpEz+ujradL}+URxiy+P%Ym_pc;% zY!bcOFwh!5er&|kwXE%#!bxP)A`9x{crT`Sx*sKEE|`z=_Fk1`DurAukRs{&I}A-< zOInau>Twz^7P8W@5B!8|7hQQ>amj;F(QK3)pKw<*i9se+_!!SDFeCJDp5exZZLeB^ zJaE(Yv=WAWGEULO&vsJ(Ofn)9iNIZ9dnx0zQ&>5t!h~GesN7jjZCLSA`}fm z-LjVCU0rxUnWI$4Fs1Uf}o6J)(01QPT z2CPYQEIY#pdx(=XyqTG87jk$fzd}qYzPu3pJ)4SYKuwyoZR-p|Q5_r6H*XwGn;L25 zBrcHZB53IioM5f3G+6{zh#*z4ZWhRy0CcgnJA|ZdwoCWR^7XM=a&_{8E33`OUefn^ zc<{LI!c~F%0QtjCr<*(rXh9bD{nAOADGNDE@#Ih6hE`^}{S5m~p9&Q}bB)NHRq+yu z*C?;TUy3PHv_Y^1X1S(2IX~|7o$0kR`f!Jlq`{p9SOF%wkeAks5^zlNrw;gt%mF?A z!r2*Ryj35PCJtWmKv?TsA5)-oF=bAQ5HPbV1s1vfnI~6ny9v^Qyb^WFdON;e)D`C@ z_CkT^o?Ppx(=br2Z(rG$hI{Y#5Td@o!@J9CRh90cgsz2vfPyq$;(V}}EKPJ5T^>lm zDER&tWX|ioy?Q0a{_F=#GdO``sxc&TL+ZJb*WD*N*l3&G!*# za&}v81p4kD>k@cu)xD-SlB4Quv|iN;d2oC#=oV&`-I2Ds3Mxg0HUPV!Qfy7Ie^-S) z^yE_!4-etn()ig+9ho%K-T^nMxrHv}4dz@_KX2r`;OM@=*Cqo+@G+U~uiEz&pR5hI zC@uNPoL>ETXP$kuhGdY_U4E^9i1_sMJq!e5HS>8+5imy-b9dkLtn&s)=152-Vqj!W zD5Ba>XMft1STHFy3}6jXe60AC)Nh!_o)nzwIyLzBHH*fs1_bsD{MXhpFaKE&7@HD6 zy+vqtJWzMc$sKK&-Hc80eu$d{S3Rrv@FS!@OBOY08J6@LmtaBh2tpAq$5p%W6j1@* zRd!PB&lU?gB-2odp}aXCREhlo90i4?+wSy1u$lS=XJ zD`S-9)lluUa+^oVS5aGC&RZl_G+9xg_-8o zRQ={PoK?~aw)!R-sFjVsB#YO$-WpB?vQ{i2=Li?@{6tUD`7LCIYAGOQcRA1bnq zl(m@k=<~GnIZdb@==3e?g-N&|`eT<6WBr)pf6{9n6Fic|xn9W3o{wNeljs?ra8lW_ zbke@~Eq{ZE%Tw7$^WJ(x1E&@#tsMI*xvpb(t`I!&;WFBpTYlNRc8?5RMWFeYbgA?& zP1aX`CNfB>dt1VcIQ@C8Gek`D0?Voh=6+BtKYLcdkwFW5ffLvPsUS}Q98VX22m%Ad zs+)RAkDjpd+RkFnT)MJlGB6pu3x()MKezsu7Z6+|?GL(C*u|>y!413L|6g1#4G7KF zdGqkjK+yp?ITdj7ObSR2ul#=6*KYAbe~~eNX=oV=k3ydJ?hLCEXUo1=CL#j#``R#D z#%nScu?uW_U5mFrkOPHgYb8+Nsj4W^$0LPUUz{e*`Y&21zQb#xx5+G;uVrG3)L-@aMF}jK`b=R|e=q z)gFXr*Wg6QDs67}bMLNVJxWZHq3l5qMsF7nbh89y+Ww6^by5RdopW;22;G=-Oa<&4G`K{c!jar1yA2bSts+Th2W4^x?HY@O#sN?)g61EdBApj=pjosK`J3Ta(wIah^>h5YsShAv4Oo5$v=U)S(%CvhE z9AOKcHE)|FxEvPScAUQa{dHeE=Y^ls3R=CZIvPTZ8m>_D^JDA(wtx&791$y~1Eqt) zXN?yxc^Bp$Vu9V5?yDlWeAxdu|CT~dhfw#C7rU`M$Bh&@2S;LCq0Kijf@)lqqQu(n zKCwhewe9KhS|OLtr<1MA#vs2Apo(*`24#omSvcc7T&BbkEzk4>m_V#JHSffK^j>UK z{!f~#`{0BzT!)9fBD0N9$X`p$tnG+agnj1CvDFXU;k&!xAC~DV6k6gjJRC@6b-pPh zy4rt@0#o=4EsI4XYP@GmeBBqZ*N(AtDS_I8S~(0gd%XPxo`MNKs;d;yD>Oh6&o7k$ z=S<_lMdQI^x}rnn*PX70x{+x>csq#PLqGKH(bpH1v~ACRehJ2@xib6O4TXWxL^YM2-eIUVwl*9~eD)kandQ zX{+rH*amfP;2!$$+M9F40KGzihLX#PV; zD4b}_*=C!Xf5nw5?!BD1Phx*kur{;KL=C>#J{;}gB$nA%P&!#(RLfV6O1}yBJrQKeeX#l9`#iGX~~m3C};i_eNdza0?)2^@CkLLzT@R+ zzLrVIE*L^rEf6iv_pbKKNnXezrM~g}g?wq|8;iJm z{Y6Y}P~O3wRmXtin>1i}yipF4sn?F{$EhMGnD`!$=}8f7@wKBH8sVHhY!Ko|yOI=C z8hHHOR>Y`rb@(ght29s#S6ywZDm3%4a9H$)-ddTu6{dzFA#&YC*5bQ@{cwW!tu5X# zDm00gh)svcIXI>R^S}uDMU4MqLqT5_?10AJqMjkSUgha`jZ#yM3w4}o`hS{&XgE=W zot+W&^%cGC`5n0m&v?HidoNj?2sv?)>b8th4Ry1acjU<)*EQh)g?-{m7)$4!C(ZmN_!qjXowo%u(5}u zNi%;baUbfb%n($%=g)8oW!|9VcHn38H=|dhuss#%(I#+Q`hH>8cpk&_V8P~5;qKkA zT$W*+Iuery3+@0m7Z8O{*_rZwCge{-XadX|4+yeg<|KsPc5NiACOq%|mpRt^R>Ri@ z4D5MvV2~-@-eFo?2L7B&F>I&|Y8YQGSa1B$yDBBO0Zt&l!EB1{f?zesCvBZn>LGIN>lQ&%KCQ<7> zoO*T6%VuD|S<@Y>Mrp!snwM(RDNB8rpK$+Oe9ge2XP98Y(sKFX(Z3o}CLp$OUznuA z*N|7-7daxYSU#Cxwep%2MzO{Xyt`cO$*~@m*`k#u9<~}%ifH4)=5>st0USJvbIk&% z)<2*Keowm!{J7tz9a0#E(0(NkEx(njt96%*QCx*&T#}e7pZSa2i&sfC3qUy z^Jn*Mjg!H?9~K($wo{vo5zD(6gvO04=v5^xrS`hI~jls>lqjTj(f zI{%;qonC;$#AYZK^;uufj9h zl`$F3&x|9`sRt&{kKNz$R`28mF`y185a)>HE77P=MR>!7ziH4sj30x;XPmz={drk_3&1l~Vvi!})@ed)3aH7xuD5nC>8h@Vs5UcPR z5pse4Y4wN2MUG#!p=zBsK1-Cp&8Q!%fmGj5w};5X&es^)!cIs7)$<{aa!$FK&-}%y*K(`Ee7g%Z$TW+U85XJw4ORQ6 z?9O9WAk|W`#(b{fDpYk6+Ue3&iW(!s@+E2;IdRR=qo|PD_ko|G9R)aPoC)#uQb?^9 zL8|2SL=CRy5jtMN>^ClDK146Xd6uN)Y`YqL4hts7sNXnhzr}nPJT2d zj#$zxDJz=}QiFb0pB;G_8mA2DdaM#eLb3`r=kYmYb_Y+2cMLvcT8wn54c`o%bOn?h zn5+#9?-VLeUf<<>dzhuZ3eETY64pnHtJl|tgg3PI8q&rMNUve{6@QMux8V~%B!yPLD4s6Jo#1Y>IgNq!9Qm|BX^+Wv=-b-41F`>#hL5B|7O#cjz`c#PVF zJk!P_^jQ+g7cceSV})`#L^9bqxaS6^+MVS+3i);ZET`m~*eTWq$Dz<{FgYFmChy>3 z&r95Y^QS|X2`XAfIv(E>?N|Rbp>L>!X_HzHm1B}|*?VFbnWB$*5c0*YO5!gjt@`^I z<3W}(b?c0nmy`(mdqD)?wVQb+dLEBf;e5_2UEG1AfLkBN$NI6|Hg6&DR0E zV7{fA)1brEbctA5tN&M6g~-@%9sDuQji_JAI=$9;>L%h~%~EaiY{uKAv4WZDQPS+X zw!~=gr^{7;LZ)705Qnc(%g^@?U&?M?sgD`&7N1nClYb&GcIz=FZ364hWQfUpcB&W$ zHYi?%%+_SKrc=#_S%ZhT4(o>LdVBTrC?_j-%&rKdWAANuDuMd3Y2sQtE8+?CF9I|E zA*qy_|3t42TzT^*ej{8X*Kf(blX#R|%gIgW)jGTP#>5?%n|gJ8I7`qx{E${a_T#!d zhx7n6VF!Z^wgT83cYoi?6pDFeXHig&opnaP4T|3Ay(}LkLoVU@H{Xt#2-QtJvwFTO}hKM-1s8( zu9K19gy{Zn#j3^>)^{%k$Xtdq(`h3a5gP`PDu9vtRG3OiCPb{PTl9KWo*Wr=(^L`_ z@fwP!1F)3?dczy<8e6KOa6EOaLW$bd2laqRYzHffqEPVK4hc-qhq=vbt z=F{`Jkzu^aXlbgtP~*?NQvf^Nl(bBc`CHBB$^Pyy%EjV6S!qFlnb6J>RST@24bCN? zbQ17O(z4snw~=tO${QV+m=dWQ->|w{opONK6)him8oGmtJ7c{Xd@-~EZyVdZr0&Oj ziJJTKD%B}zRiaRe{^7j$Eimp@cj_Von*Jfg5l(F6guf3xa1FSEN9YYQegZE}!IQC6 zCGqQ_n#xMUCu*Y%e@aVNyn^C{F!o4PKK7K~q3q+0u;)*#yV&2Usp&z1A55C-Qf*fr zvyhi!m5p~W=SSGn@=3CZUy-HqSBa6Vh=W4+%Jelh&Efb+OB*|Yv+c0s${s$$rta9K z(W9-B2EHg;ty9z(8Z>IV=oOc>xib}Q7;68X_!dYk`OUWPoNuzQd)lI~R|1KYO$N&@>qI`QeFUBYBt5!zW|r#-E6)<ce%(2YUGy2o(M{)sIx>%%cb|H#~t2Wr-DTe9y*6I#H z#(B=PKRwhqvv>4g#oW_l=R1yrwlSexYZPd6&MTax%vj#nl6pqXmWxlOvQFmVqJyGM zW+x~Pb?{!EMH>4aiYvN6!?GZkcEk!vxb$##K*2|x$j3qo4TJdKc9KKCJ+tdw<&c+O zY-zt&aU=gbx%q4vj)kQ+s zj5B(FgBNU++WmENO>-vsnXp-r^X8oIs9e=D7>55FxF5T5()Qhk1zNl)4BMa`(Ey0*bmHz#plBvBd23+lQ4_7`zc)ECf~JlF$>BeyJw zl6L9VO68y49pW1viI`zITzlLufxzU~CG zPQIHUPT@Z*(7Z^dPsZ*iY8{l0!N>;l!#eV@n(&>N#tY zS1Wxb4+@^LNIWC|c|XCj@xtd}KapyEAx+wRKe0;yqAdVnb{^JqU|t=0zh3RzvZ80m z^Vj4EAOGrC$LYVXmFxAZ>s4z(w#WlWQI~Pu8DPa-WWfVbgR5nO c;bkw(%sP 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%0D<7TxVyVMK@!}Z1ShydaA)t~ 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 literal 0 HcmV?d00001 diff --git a/data/User/demo/home/image/icon.png b/data/User/demo/home/image/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6fb06a49214bfd0df736cb033d7be6256c409135 GIT binary patch literal 1994 zcmV;*2Q~PKP)et;>{c-zm zk3XHU9nVZAI4B=v4cO5vMno(|VvrC*QN)ThNDLcL~L?luWRkwr;Yt}efO?tS;3d)||-{rtyJ)ChIgL!;3` z@!$wntB!n<;nZ*%<1>>POPgHXwld4e%q}r=YypYn80b-A=U@Q#*3dnnbZh^HDzkDbp(B-4(II>% zZo_jaP9l+jq%ugp4arEMJzyeAnwRAHZ~ySjb1z(;ogRU%r{K6it>Iw*&_Wc)BA_D6 zND^o^GlH>^5qSRO%A?1Hm3#L-yExhS=vTTD-EspTPUxU&S5ZG|(B5U?OIfGDm97VZip=ll9e?37EP$Dj>^@jMJF-=TQ%}~Yl%Nw530Nr ziyv>q*I2!Vu>R@woSZ@@aH06V4^5HK2$W03@e5bapE)<-ctEpN!TgKylW^MWD`FYs+(?3X`S@}^SWl*pdIS>E=1wja2 z0iSxsOCJ$%Kz~1PJdnrNi1&~Jc0?O^BV5miPNdR}++w>~+cl!rhiw0_lsQzNx}qnD ziL@Y$yP5K=9RhmuTl4tI%QGlsWHc~=+B9GeO|FFA@T$_upITNmy<0vCBAf__|8__vf-t6DbOUhU zh)NcHj=BAB{D~;*TFZuM7y?7;CC0I2QkrsSU|Fe0$)%J`Qsg*-03vfLhfkT#WHeF< z90%Zl|NVU78%fu6PQ!r{fX8BtiO(Ec;xS+@v6v+mBuS?Jd4d4k_)dAlzxTBQc=tKz zNsO=k{!0bn>-Px7jbrl|ZRiV1tjJ?wuV?)s=Zjn-%(r}BP>Eyv zAoTr$7~-BN_um^fNfAF8PPj!5?2t_L1t9EkLZ)5@B;qV^4_MT;w>;PBX2Iu&8x20+ z?SoRCG`1rEPGUT<`v-O5%Q5>J~xi-SWW1`(K^exj|FVIEDhsgw zuyg6_TBmm|N=Rrje)HE&;UmU{&ubr#u-nZFjA(yNerZW77XAFPmKmMp0^kMVF#$Nu z*B+Gc{>CF1bR$U9>22t$P@2BlRA|sYxVwj6{NY3VX{&^ku8SK1-zCq-paVW632Z&t zxIG=Mzo|@*4>#+F_ivUfg_X>Bp)0(-%vCCdLE^j9@bI%guJ<%H`T|in{W&RgRTXQw zPoH=^D7RLnh{^E&O&&{0XY-h-?A_Si-Mq-O#AS0}4E3I-^2M5>i1E+}hzIP5lJaO7dRZ?CA4ZNjmmw(d9UMO%AbPv?frbXE*+ zKPWGsN;~1k6VTPJ@po=2Pl`#$+Sw20wrV)q-n=_ueey=zZf|TosX%`9)$icc=nxF} z_nJq0cFB%kOqkiUna+uGu+s~A66@|-LY4<3k{oXTbAP1quh-8{B;TH!KaI($X(&l5 zgGRTuPA-8tt8yKOcTn_#t3&hW7BjkOSUK6zCe3JU57GzNf zEG7OQx)y4CJ812E^v+D}&KrfS^Y+AW3fYuG2eU(x=RvW33ryj`7!oYTNS>UTf9o`R z@bR6^y?1xhr>-Q2W><{-DD?CIQj`FbyE++10RlQR8`UE0>LHw?2e&h=CpT9I{TpnM zl`~W|j;VG6Sdj;tjy&a{_!tulPa&fja3TqnS_u`p*R(^otl91_wbI?+rk%5^)_!`q z&djAy)fNylan+|A^#OD3t=Mm@$JX9j(y6?srL^Y5P68>~M3BfLH<(8zJAjZb+S^;M1&07*qoM6N<$f~c{"list_type":"icon","list_sort_field":"mtime","list_sort_order":"up","theme":"metro\/","codetheme":"github","wall":"1","musictheme":"kuwo","movietheme":"webplayer"} \ No newline at end of file diff --git a/data/User/guest/data/fav.php b/data/User/guest/data/fav.php new file mode 100644 index 0000000..7c4c840 --- /dev/null +++ b/data/User/guest/data/fav.php @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/data/i18n/en/about.html b/data/i18n/en/about.html new file mode 100644 index 0000000..83b045c --- /dev/null +++ b/data/i18n/en/about.html @@ -0,0 +1,34 @@ +

    + +
    +
    Features
    +

    Comprehensive document management, powerful online file.

    +

    Managing file wherever you go, coding online, listening music online at the same time, do it like in local system.

    +

    Just like the experience in the classic Windows: right-click, drag-and-drop, shortcuts and find file…

    +

    Select by dragging mouse pointer, move or upload with drag-and-drop, online editor, video player, pack and unpack files Comprehensive.

    +

    Seamless integration of all parts; in the form of dialog box, multi-task manager and other functions.

    +

    Online editor supports multiple label and more style such as Zen Coding, html,css,js…Higher coding efficiency!

    +

    Perfect Chinese language support, no messy codes

    +
    + +
    +
    Open source technology
    +

    1.Jquery:jpuery(plugin:Hotkeys.ztree.contentmenu).js A fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.

    +

    2.ArtDialog: A UI dialog on javascript, which is nice and easy to use for javascript effect. This module migrate artDialog to Drupal and help drupal developer to use artDialog in the projects.

    +

    3.Ztree: A powerful and fast jQuery 'Tree' Plugin for creating Multi-functional Folder Trees with excellent performance and flexible configurations.

    +

    4.codemirror: A versatile text editor implemented in JavaScript for the browser. It is specialized for editing code, and comes with a number of language modes and addons that implement more advanced editing functionality.

    +

    5.ZenCoding: An editor plugin for high-speed HTML, XML, XSL (or any other structured code format) coding and editing. The core of this plugin is a powerful abbreviation engine which allows you to expand expressions—similar to CSS selectors—into HTML code.

    +

    6.less: A CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable.

    +

    7.SWFUpload: A JavaScript Library that wraps the Flash Player's upload function. It brings your uploads to the next level with Multiple File Selection, Upload Progress and Client-side File Size Checking.

    +

    8.CMP4: A very good flash player plug-in, support for streaming media, music video playback tool commonly used. Support for the skin, highly configurable settings. The play list is loading dynamically by XML, MMS streaming media, and support RSTP.

    +
    \ No newline at end of file diff --git a/data/i18n/en/edit.html b/data/i18n/en/edit.html new file mode 100644 index 0000000..978099a --- /dev/null +++ b/data/i18n/en/edit.html @@ -0,0 +1,65 @@ +
    +
    +

    Feature & functionally rich

    +

    code snippet automatically implemented property.

    +

    Multiple Style: Choose your favorite programming style

    +

    Custom Fonts: For using under a variety of scenarios

    +

    Multi-cursor editor, block editing online programming experience comparable to sublime

    +

    Code folding & unfolding;line wrap.

    +

    Support for multi-label;Drag to adjust the order.

    +

    Edit multiple documents simultaneously, find & replace;Anti maintain History.

    +

    Word completion such as [],{},(),"",''

    +

    Preview the result of programming online,make you like coding online!

    +

    Support Zen coding; Higher coding efficiency!

    +

    More features, waiting for your discovery…

    +
    +
    +

    A variety of code highlighting

    +

    Web Side:html,JavaScript,css,less,sass,scss

    +

    Web developing:php,perl,python,ruby,elang,go...

    +

    Traditional language:java,c,c++,c#,actionScript,VBScript...

    +

    Others:markdown,shell,sql,lua,xml,yaml...

    +
    +
    +
    +
    +

    Shortcuts

    +
    Common Shortcuts:
    +      ctrl+s Save         
    +      ctrl+c Copy      ctrl+v Paste
    +      ctrl+z Undo      ctrl+y Redo
    +      ctrl+x Cut       ctrl+a Select All
    +      ctrl+f Find      ctrl+f+f Replace
    +      alt+0  Code folding All   alt+shift+0 Code unfolding All
    +      esc [exit searching, cancel auto-prompts...]
    +
    Select:
    +      Mouse select——drag
    +      shift+home/end/up/left/down/right  
    +      shift+PageUp/PageDown             Page UP & Down
    +      ctrl+shift+ home/end              Move the cursor to the beginning/end of line
    +      alt+mouse                         Block selection
    +
     Cursor:
    +      home/end/up/left/down/right
    +      ctrl+p            Jump to matching tag
    +      PageUp/PageDown   Page UP & Down
    +      ctrl+home/end     Move the cursor to the beginning/end of line
    +      alt+left/right    Move the cursor to the beginning of line
    +      shift+left/right  Move the cursor to the beginning/end of line
    +      ctrl+l            Jump to the specified line
    +      ctrl+alt+up/down  Up(Down)adding cursor
    +
    Editing:
    +      ctrl+/ Mask & Unmask        ctrl+alt+a    Justified       
    +      table  tab Alignment        shift+table   Overall forward a table
    +      delete delete               ctrl+d        delete a line
    +      ctrl+delete           Delete the word to the right of the line
    +      ctrl/shift+backspace  Delete the word on the left
    +      alt+shift+up/down     copy the line & paste up/down of the line
    +      alt+delete            Delete the contents of the cursor to the right
    +      alt+up/down           The current line and the up/down line switching
    +      ctrl+shift+d          And add the following line to copy
    +      ctrl+delete           Delete the word to the right
    +      ctrl+shift+u          Converted to lowercase
    +      ctrl+u                Select the contents to uppercase
    +
    +
    + diff --git a/data/i18n/en/help.html b/data/i18n/en/help.html new file mode 100644 index 0000000..651da92 --- /dev/null +++ b/data/i18n/en/help.html @@ -0,0 +1,36 @@ +
    +
    Explorer
    +

    File select: Select objects by single-click, dragging the mouse pointer, shift + click, ctrl + click,or with the keyboard buttons up, down, left, right, home and end.

    +

    Files operation: Do more operations to the selected files such as copy, cut, delete, properties, pack, rename, preview and so on…

    +

    Files upload: multi-files upload; HTML5 upload by dragging to the window.

    +

    Right-click: right-click function for files, folders, after selecting multiple objects, on the desktop, tree directory, shortcuts right-click menu.
             + (select all——copy——cut——paste——delete——rename——settings…)

    +

    File browser: view in list, icons; open a subfolder by double-click; address bar edit; back and forward in folder tree.

    +

    Drag-and-drop: Cut the selected objects with drag-and-drop.

    +

    Shortcuts: delete, ctrl + A, ctrl + C, ctrl + X, up/down/left/right/home/end select icons.

    +
    +
    +
    Preview Online
    +

    Files preview: view, edit and save the text files;Preview of HTML and SWF files.

    +

    Picture preview: automatically generate thumbnails, play slide show.

    +

    Audio player: streaming music, video files; supporting MP3/4, WMA, MID, AAC, WAV.

    +

    Video player: streaming video files: supporting FLV, F4V, 3gp.

    +

    office:office preview online: supporting doc,docx,ppt,pptx,xls,xlsx.

    +
    +
    +
    Shortcuts
    +

    enter Open

    +

    ctrl+a Select All

    +

    ctrl+c Copy

    +

    ctrl+v Paste

    +

    ctrl+x Cut

    +

    ctrl+f Find

    +

    alt+n New file

    +

    alt+m New folder

    +

    delete Delete

    +

    backspace Back

    +

    ctrl+backspace Forword

    +

    f2 Rename

    +

    home/end/up/down/left/right Select file

    +

    anykey After you start typing the first characters of your query, it will show any findings.

    +
    diff --git a/data/i18n/en/main.php b/data/i18n/en/main.php new file mode 100644 index 0000000..f443c8d --- /dev/null +++ b/data/i18n/en/main.php @@ -0,0 +1,353 @@ + array( + "type" => "en", + "name" => "english", + "authoer" => "warlee" + ), + + //login + "login" => "login", + "guest_login" => "Guest", + "username" => "name", + "password" => "password", + "login_code" => "verification", + "login_rember_password" => "remember me", + "us" => "千帆网络工作室", + "login_not_null" => "username and password cant't empty!", + "code_error" => "verification code error", + "user_not_exists" => "user not exists!", + "password_error" => "password error!", + "password_not_null" => "password cant't empty!", + "old_password_error" => "old password error!", + "permission" => "permission", + "no_permission" => "no permission!", + "no_permission_ext" => "This type of file without permission", + "dialog_min" => "hide", + "dialog_min_all" => "hide all", + "dialog_display_all" => "display all", + "dialog_close_all" => "close all", + + //desc + "title" => "kodexplorer-online explorer", + "title_name" => "kod online explorer", + + //general + "open" => "open", + "open_with" => "open with", + "others" => "others", + "close" => "close", + "close_all" => "close all", + "close_right" => "close right item", + "close_others" => "close others", + "loading" => "loading...", + "warning" => "warning", + "getting" => "data getting...", + "sending" => "sending...", + "data_error" => "data error! ", + "get_success" => "success!", + "save_success" => "saved successfully!", + "success" => "successful operation", + "error" => "operation failed", + "error_repeat" => "named already exists!", + "system_error" => "system error", + "name" => "name", + "type" => "type", + "contain" => "contains", + "address" => "position", + "size" => "size", + "byte" => "byte", + "path" => "path", + "action" => "operation", + "create_time" => "create time", + "modify_time" => "modified", + "last_time" => "last visited", + "sort_type" => "sort of way", + "time_type" => "Y/m/d h:i", + "time_type_info" => "F j, Y, g:i a", + + //right + "file" => "file", + "folder" => "folder", + "copy" => "copy", + "past" => "paste", + "cute" => "cut", + "remove" => "delete", + "info" => "get info", + "list_type" => "view", + "list_icon" => "icons", + "list_list" => "list", + "sort_up" => "asc", + "sort_down" => "desc", + "order_type" => "sort by", + "order_desc" => "desc", + "order_asc" => "asc", + "rename" => "rename", + "add_to_fav" => "add to bookmark", + "search_in_path" => "folder", + "add_to_play" => "add to playlist", + "manage_fav" => "manage bookmark", + "refresh_tree" => "reload tree", + "manage_folder" => "explorer", + "close_menu" => "close menu", + "zip" => "zip archive", + "unzip" => "unzip the file", + "clipboard" => "view the clipboard", + "full_screen" => "full screen(toggle)", + "tips" => "tips", + "ziping" => "archive loading...", + "unziping" => "unzip loading...", + "moving" => "move file", + "remove_title" => "delete confirmation", + "remove_not" => "system folder,cannot be deleted", + "remove_info" => "confirmation remove the selected?", + "name_isexists" => "wrong,the name already exists! ", + + "install" => 'install', + "width" => 'width', + "height" => 'height', + "app" => 'app', + "app_store" => 'app store', + "app_create" => 'create app', + "app_edit" => 'edit app', + "app_group_all" => 'all', + "app_group_game" => 'game', + "app_group_tools" => 'tools', + "app_group_reader" => 'read', + "app_group_movie" => 'movie', + "app_group_music" => 'music', + "app_group_life" => 'life', + "app_group_others" => 'others', + + "app_desc" => 'description', + "app_icon" => 'logo', + "app_icon_show" => 'image url or such:', + "app_group" => 'group', + "app_type" => 'type', + "app_type_url" => 'link frame', + "app_type_code" => 'widget', + "app_display" => 'display', + "app_display_border" => 'no border(if selected)', + "app_display_size" => 'can resize(if selected)', + "app_size" => 'size', + "app_url" => 'url address', + "app_code" => 'js code', + + + //file management + "edit" => "edit", + "edit_can_not" => "is not a text file", + "edit_too_big" => "Cannot be greater than 20M", + "open_default" => "default mode", + "open_ie" => "browser opens", + "refresh" => "reload", + "refresh_all" => "reload forced", + "newfile" => "new file", + "newfolder" => "new folder", + "newothers" => "new other", + "path_loading" => "loading...", + "go" => "go!", + "go_up" => "go to parent directory", + "history_next" => "forward", + "history_back" => "back", + "address_in_edit" => "Click to enter the edit", + "double_click_rename" => "double click the title rename", + "double_click_open" => "double click to open", + "path_null" => "this folder is empty,you can drag and drop files to upload the window. ", + + //download / upload + "upload" => "upload", + "upload_ready" => "loading...", + "uploading" => "uploading...", + "upload_success" => "uploaded successfully", + "upload_path_current" => "current", + "upload_select" => "select", + "upload_max_size" => "upload max size", + "upload_size_info" => "Please amend the maximum value allowed upload in php.ini. Greater than the configuration will be automatically filtered.", + "upload_error" => "upload failed", + "upload_muti" => "multiple file upload", + "upload_drag" => "drag and drop upload", + "upload_drag_tips" => "release can be uploaded!", + "path_not_allow" => "file name not allowed", + "download" => "download", + "download_address" => "url ", + "download_ready" => "download start", + "download_success" => "download success! ", + "download_error_create" => "download failed! create a new file or write error. ", + "download_error_exists" => "download failed! remote file does not exist or failed to open.", + "upload_error_null" => "no files!", + "upload_error_big" => "file size too big", + "upload_error_move" => "move file failed! ", + "upload_error_exists" => "file already exists", + "upload_local" => "local upload", + "download_from_server" => "remote download", + "save_path" => "save path", + "upload_select_muti" => "select multiple files upload", + + //search + "search" => "search", + "searching" => "searching...", + "search_null" => "no search results!", + "search_uplow" => "ignore case", + "search_content" => "file contents ", + "search_info" => "please enter a search term and path search! ", + "search_ext_tips" => "separated by |;such as php|js|css
    if null search in default text file", + "file_type" => "file type", + "goto" => "jump to", + "contain" => "contains", + "server_dwonload_desc" => "task is added to the download list", + "parent_permission" => "parent permission", + + "root_path" => "root directory", + "lib" => "library", + "fav" => "bookmark", + "desktop" => "desktop", + "browser" => "browser", + "my_cumputer" => "my computer", + "recycle" => "recycle", + "my_document" => "my documents", + "my_picture" => "my photos", + "my_music" => "my music", + "my_movie" => "my video", + "my_download" => "my download", + + "ui_desktop" => "desktop", + "ui_filemanage" => "explorer", + "ui_editor" => "editor", + "adminer" => "adminer", + "ui_project_home" => "project home", + "ui_login" => "login", + "ui_logout" => "logout", + + //set up + "setting" => "setting", + "setting_title" => "option", + "setting_user" => "basic", + "setting_password" => "change password", + "setting_password_old" => "old password", + "setting_password_new" => "new password", + "setting_language" => "Language", + "setting_member" => "member", + "setting_group" => "group", + "setting_group_add" => "add user group", + "setting_group_edit" => "edit user group", + "setting_theme" => "theme", + "setting_wall" => "wallpaper", + "setting_wall_diy" => "custom wallpaper:", + "setting_wall_info" => "url address,the local images can right picture browser open to get", + "setting_fav" => "bookmark", + "setting_player" => "player", + "setting_player_music" => "music player settings", + "setting_player_movie" => "video player settings", + "setting_help" => "help", + "setting_about" => "about", + "setting_success" => "setting successfully.", + "can_not_repeat" => "name already exists!", + "absolute_path" => "absolute address", + + //setting page + "group" => "user group", + "data_not_full" => "data submission incomplete! ", + "default_user_can_not_do" => "default user cannot operate", + "default_group_can_not_do" => "default user groups cannot operate", + "username_can_not_null" => "user name cannot be empty! ", + "groupname_can_not_null" => "group name cannot be empty! ", + "groupdesc_can_not_null" => "user group description cannot be empty! ", + "group_move_user_error" => "belong to groups of users move failed", + "group_already_remove" => "the user group is deleted", + "group_not_exists" => "the user group does not exist", + "member_add" => "add user", + "password_null_not_update" => "empty representative doesn't modify the password", + "if_save_file" => "file has not been saved", + "if_remove" => "to confirm the deletion", + "member_remove_tips" => "delete the user directory will be empty", + "group_remove_tips" => "delete the user group
    (need to set user group)", + "group_name" => "group name", + "group_name_tips" => "Not allowed to repeat", + "group_desc" => "group desc", + "group_desc_tips" => "group display", + "group_role_ext" => "extension permission", + "group_role_ext_tips" => "separated by |;such as php|js|css", + "group_role_file" => "file explorer", + "group_role_upload" => "upload&download", + "group_role_user" => "user data", + "group_role_group" => "group", + "group_role_member" => "member", + "group_role_mkfile" => "make file", + "group_role_mkdir" => "make dir", + "group_role_pathrname" => "path rename", + "group_role_pathdelete" => "path remove", + "group_role_pathinfo" => "path get info", + "group_role_pathmove" => "move(copy/cute/past/drag to)", + "group_role_zip" => "zip", + "group_role_unzip" => "unzip", + "group_role_search" => "search", + "group_role_filesave" => "edit and save", + "group_role_can_upload" => "upload", + "group_role_upload" => "upload", + "group_role_download" => "server download", + "group_role_passowrd" => "change password", + "group_role_config" => "save user config to server", + "group_role_fav" => "favourite(add/edit/delete)", + "group_role_list" => "list", + "group_role_member_add" => "member add", + "group_role_member_edit" => "member edit", + "group_role_member_del" => "member remove", + "group_role_group_add" => "group add", + "group_role_group_edit" => "group edit", + "group_role_group_del" => "group remove", + "group_role_ext_warning" => "Not allowed to specify the type of file upload,
    rename (renamed the specified extension),
    edit,save, remote download,unzip", + "group_tips"=>"
  • 1.group name can not be repeated, modify group name belongs to the reorganization of the user is automatically associated
  • 2. extension restriction relation system safety, please be careful operation (fruit in the web directory of new PHP; means reform program permissions for this user name)
  • 3. user management, privilege management; access and to the authority is bound; the program will automatically associated
  • 4. set permissions can add permissions set, subsequent permission is not inherited (this permission is equivalent to the highest authority)
  • ", + + //explorer_ajax + "not_null" => "required cannot be empty!", + "picture_can_not_null" => "picture address can not be empty!", + "rname_success" => "rename success! ", + "please_inpute_search_words" => "keypress 'enter' to search", + "remove_success" => "deleted successfully! ", + "remove_fali" => "delete failed!", + "clipboard_null" => "clipboard is empty! ", + "create_success" => "create successful! ", + "create_error" => "create failed,please check the directory permissions! ", + "copy_success" => "[copy]covering the clipboard copy success!", + "cute_success" => "[cut]covering the clipboard success!", + "clipboard_state" => "clipboard state:", + "no_permission_write" => "can't write,check the path or permission", + "copy_not_exists" => "source does not exist", + "current_has_parent" => "the destination folder is a subfolder of the source folder!", + "past_success" => " paste operation to complete the ", + "cute_past_success" => "cute (cut complete,the clipboard is empty)", + "zip_success" => "compressed", + "not_zip" => "not compressed file", + "zip_null" => "did not choose the file or directory", + "unzip_success" => "unzip", + "gotoline" => "jump to line", + "path_is_current" => "open path and the path!", + "path_exists" => "name already exists! ", + + // editor + "undo" => "undo", + "redo" => "redo", + "preview" => "preview", + "wordwrap" => "wrapping", + "char_all_display" => "show & invisible character", + "auto_complete" => "auto complete or not", + "code_theme" => "code theme", + "font_size" => "font", + + //button + "button_ok" => "ok", + "button_submit" => "submit", + "button_set" => "set", + "button_cancle" => "cancel", + "button_edit" => "edit", + "button_save" => "save", + "button_save_all" => "save all", + "button_not_save" => "don't save", + "button_add" => "add", + "button_back_add" => "add and back", + "button_del" => "delete", + "button_save_edit" => "save", + "button_save_submit" => "save and send", + "button_select_all" => "Select / unselect all" +); \ No newline at end of file diff --git a/data/i18n/zh_CN/about.html b/data/i18n/zh_CN/about.html new file mode 100644 index 0000000..8763d65 --- /dev/null +++ b/data/i18n/zh_CN/about.html @@ -0,0 +1,33 @@ +
    +
    是什么?
    +

    KODExplorer是一个公开源码的基于Web的在线文件管理、代码编辑器。它提供了类windows经典用户界面,一整套在线文件管理、文件预览、编辑、上传下载、在线解压缩、音乐播放功能。让你直接在浏览器端实现web开发、源码文件预览、网站部署的同时拥有与本地操作一样方便、快捷、安全的体验。

    +

    ——设计理念——

    +

    传承经典,追求创新,为用户提供方便快捷、安全易用的在线云管理系统。

    +

    无论何时(when)、何地(where),拥有web只要你想(want)它就是你的管理利器(4W策略)。

    +

    ——面向用户——

    +

    目前KODExplorer系统管理主要定位在个人云主机、中小企业云资源管理、网盘管理、中小型网站管理等。Web开发者&站长(老鸟):在线编辑、压缩备份、部署,经典windows界面操作,上手容易,远离了主机的SSH、ftp复杂枯燥的命令操作。

    +

    个人私有云(菜鸟):管理网盘资源,同样经典windows界面操作,可以就地浏览网盘音乐、视屏文件,上传下载快捷方便。

    +
    + +
    +
    特色
    +

    完备的文件管理,强大的在线文件编辑器

    +

    无论您在哪里,都可以管理您的文件;并可以在线娱乐,在线写代码!就像适宜用操作系统那样。

    +

    丰富的本地体验移植,右键操作,拖拽,框中选择,快捷键,文件搜索(内容中搜索)……

    +

    框中选择,拖拽移动,拖拽上传,在线编辑器,影音播放器,解压缩。全面ajax保证性能和体验!

    +

    各个功能直接无缝连接;以对话框形式存在,多任务管理等功能

    +

    编辑器支持多文档;支持ZendCoding html,css,js代码编写效率更高!

    +

    完美中文支持,各种情况下乱码解决;

    +
    + +
    +
    开源技术采用
    +

    1.Jquery:jpuery(plugin:Hotkeys.ztree.contentmenu).js主流开发框架。对Dom操作、BOM操作、css操作,以及Ajax封装

    +

    2.ArtDialog:一个设计优美,对浏览器兼容性极强的对话框插件。使弹出窗口处理,事件以及数据的传输得到了更好的统一管理方式

    +

    3.Ztree:列表树控件,扩展性很强的树形数据操作插件

    +

    4.codemirror:一个代码编辑js插件,支持各种编程语言的高亮处理

    +

    5.zendcoding:一个支持html代码快速编写插件。定义方式简化代码编写。有简单编译功能

    +

    6.less:一种高效的,函数式css开发模式,提高前端css样式表的可复用性。有简单编译功能

    +

    7.SWFUpload:flash多文件上传

    +

    8.CMP4:一个非常优秀的flash媒体文件播放插件,支持流媒体,常用音乐视频的播放工具。支持换皮肤,高可配置性的设置。列表xml的动态加载。mms流媒体,rstp开源协议媒体播放支持

    +
    \ No newline at end of file diff --git a/data/i18n/zh_CN/edit.html b/data/i18n/zh_CN/edit.html new file mode 100644 index 0000000..211bb15 --- /dev/null +++ b/data/i18n/zh_CN/edit.html @@ -0,0 +1,64 @@ +
    +
    +

    丰富的功能

    +

    代码自动提示

    +

    多主题:选择你喜欢的编程风格

    +

    自定义字体:适合种场景下使用

    +

    多光标编辑,块编辑等媲美sublime的在线编程体验

    +

    代码块折叠、展开;自动换行

    +

    支持多标签,拖动切换顺序;

    +

    维持多个文档、查找替换;历史记录;

    +

    自动补全[],{},(),"",''

    +

    在线实时预览,使您爱上在线编程!

    +

    zendcodeing支持,写代码健步如飞

    +

    更多功能,等待你的发现……

    +
    +
    +

    多种代码高亮

    +

    前端:html,JavaScript,css,less,sass,scss

    +

    web开发:php,perl,python,ruby,elang,go...

    +

    传统语言:java,c,c++,c#,actionScript,VBScript...

    +

    其他:markdown,shell,sql,lua,xml,yaml...

    +
    +
    +
    +
    +

    快捷键操作

    +
    常用快捷键:
    +      ctrl+s 保存      
    +      ctrl+a 全选      ctrl+x 剪切   
    +      ctrl+c 复制      ctrl+v 粘贴
    +      ctrl+z 撤销      ctrl+y 反撤销
    +      ctrl+f 查找      ctrl+f+f 替换
    +      alt+0 折叠所有   alt+shift+0 展开所有
    +      esc [退出搜索,取消自动提示...]
    +
    选择:
    +      鼠标框选——拖动
    +      shift+home/end/up/left/down/right  
    +      shift+pageUp/PageDown 上下翻页选中
    +      ctrl+shift+ home/end  当前光标到头尾
    +      alt+鼠标拖动  块选择
    +
     光标移动:
    +      home/end/up/left/down/right
    +      ctrl+home/end 光标移动到文档首/尾
    +      ctrl+p 跳转到匹配的标签
    +      pageUp/PageDown 光标上下翻页
    +      alt+left/right 光标移动到行首位
    +      shift+left/right  光标移动到行首&尾
    +      ctrl+l 跳转到指定行
    +      ctrl+alt+up/down  上(下)增加光标
    +
    编辑:
    +      ctrl+/ 注释&取消注释  ctrl+alt+a 左右对齐      
    +      table tab对齐         shift+table 整体前移table
    +      delete 删除           ctrl+d 删除整行
    +      ctrl+delete           删除该行右侧单词
    +      ctrl/shift+backspace  删除左侧单词
    +      alt+shift+up/down     复制行并添加到上(下面)面
    +      alt+delete            删除光标右侧内容
    +      alt+up/down           当前行和上一行(下一行交换)
    +      ctrl+shift+d          复制行并添加到下面
    +      ctrl+delete           删除右侧单词
    +      ctrl+shift+u 转换成小写 ctrl+u 选中内容转换成大写
    +
    +
    + diff --git a/data/i18n/zh_CN/help.html b/data/i18n/zh_CN/help.html new file mode 100644 index 0000000..2a46e21 --- /dev/null +++ b/data/i18n/zh_CN/help.html @@ -0,0 +1,36 @@ +
    +
    文件管理
    +

    文件选择:单选,鼠标框选,shift连选,ctrl随意选择,键盘上下左右、home、end选择。

    +

    文件操作:选择文件后,可以进行复制,剪切,删除,属性查看,压缩,重命名,打开预览等操作……

    +

    文件上传:多文件批量上传;html5拖拽上传(拖拽到窗口实现无缝上传,支持文件夹拖拽)

    +

    右键功能:文件右键,文件夹右键,多选后右键操作,桌面右键,树目录右键操作,右键菜单绑定快捷键
             + (全选——复制——剪切——粘贴——删除——重命名,设置……)

    +

    文件浏览:列表模式,图标模式;双击进入子文件夹;地址栏操作;打开文件夹记录逆势操作记录(前进后退)

    +

    支持拖拽操作:选中后拖拽,实现剪切到指定文件夹功能

    +

    快捷键操作:delete删除,ctrl+A全选,ctrl+C复制,ctrl+X剪切,文件搜索(内容中搜索)

    +
    +
    +
    文件预览
    +

    文件预览:文本文件内容查看编辑保存;html,swf文件预览,

    +

    图片预览:自动生成缩略图,图片幻灯片播放;

    +

    音频播放:在线播放音乐,视频文件;支持mp3,wma,mid,aac,wav;mp4,

    +

    视频播放:在线视频文件播放,支持格式:flv,f4v,3gp

    +

    office:office在线预览,支持格式:doc,docx,ppt,pptx,xls,xlsx

    +
    +
    +
    快捷键
    +

    enter 打开

    +

    ctrl+a 全选

    +

    ctrl+c 复制选中

    +

    ctrl+v 粘贴

    +

    ctrl+x 剪切

    +

    ctrl+f 当前目录进行搜索

    +

    alt+n 新建文件

    +

    alt+m 新建文件夹

    +

    delete 删除选中

    +

    backspace 后退

    +

    ctrl+backspace 前进

    +

    f2 重命名选中(文件文件夹)

    +

    home/end/up/down/left/right 选择文件

    +

    anykey 选中以按下字符首字母的文件&文件夹 自动循环选中

    +
    diff --git a/data/i18n/zh_CN/main.php b/data/i18n/zh_CN/main.php new file mode 100644 index 0000000..459a234 --- /dev/null +++ b/data/i18n/zh_CN/main.php @@ -0,0 +1,358 @@ + array( + "type" => "zh_CN", + "name" => "简体中文", + "authoer" => "warlee" + ), + + //login + "login" => "登陆", + "guest_login" => "游客登录", + "username" => "用户名", + "password" => "密码", + "login_code" => "验证码", + "login_rember_password" => "记住密码", + "us" => "千帆网络工作室", + "login_not_null" => "用户名密码不能为空!", + "code_error" => "验证码错误", + "user_not_exists" => "用户名不存在!", + "password_error" => "密码错误!", + "password_not_null" => "密码不能为空!", + "old_password_error" => "原密码错误!", + "permission" => "权限!", + "no_permission" => "没有权限!", + "no_permission_ext" => "该类型文件没有权限", + "dialog_min" => "最小化", + "dialog_min_all" => "最小化所有", + "dialog_display_all" => "显示所有窗口", + "dialog_close_all" => "关闭所有窗口", + + //网站描述 + "title" => "KODExplorer-芒果云•资源管理器", + "title_name" => "芒果云•资源管理器", + + //通用 + "open" => "打开", + "others" => "其他", + "open_with" => "打开方式", + "close" => "关闭", + "close_all" => "关闭全部", + "close_right" => "关闭右侧标签", + "close_others" => "关闭其他", + "loading" => "操作中...", + "warning" => "警告", + "getting" => "获取中...", + "sending" => "数据发送中...", + "data_error" => "数据出错!", + "get_success" => "获取成功!", + "save_success" => "保存成功!", + "success" => "操作成功", + "error" => "操作失败", + "error_repeat" => "'操作失败,请注意名称不能重复!'", + "system_error" => "系统错误", + "name" => "名称", + "type" => "类型", + "contain" => "包含", + "address" => "位置", + "size" => "大小", + "byte" => "字节", + "path" => "路径", + "action" => "操作", + "create_time" => "创建时间", + "modify_time" => "修改时间", + "last_time" => "最后访问", + "sort_type" => "排序方式", + "time_type" => "Y/m/d H:i", + "time_type_info" => "Y年m月d日 H:i:s", + + //右键 + "file" => "文件", + "folder" => "文件夹", + "copy" => "复制", + "past" => "粘贴", + "cute" => "剪切", + "remove" => "删除", + "info" => "属性", + "list_type" => "查看", + "list_icon" => "图标排列", + "list_list" => "列表排列", + "sort_up" => "递增", + "sort_down" => "递减", + "order_type" => "排序方式", + "order_desc" => "降序", + "order_asc" => "升序", + "rename" => "重命名", + "add_to_fav" => "添加到收藏夹", + "search_in_path" => "文件夹中搜索", + "add_to_play" => "添加到播放列表", + "manage_fav" => "管理收藏夹", + "refresh_tree" => "刷新树目录", + "manage_folder" => "管理目录", + "close_menu" => "关闭菜单", + "zip" => "zip压缩", + "unzip" => "zip解压到当前", + "clipboard" => "查看剪贴板", + "full_screen" => "全屏/退出全屏", + + "tips" => "提示", + "ziping" => "正在压缩...", + "unziping" => "正在解压...", + "moving" => "移动操作中...", + "remove_title" => "删除确认", + "remove_not" => "系统文件夹,不能删除", + "remove_info" => "确认将选中内容移至回收站吗?", + "name_isexists" => "出错了,该名称已存在!", + + "install" => '安装', + "width" => '宽', + "height" => '高', + "app" => '应用', + "app_store" => '应用商店', + "app_create" => '创建应用', + "app_edit" => '修改应用', + "app_group_all" => '全部', + "app_group_game" => '游戏', + "app_group_tools" => '工具', + "app_group_reader" => '阅读', + "app_group_movie" => '影视', + "app_group_music" => '音乐', + "app_group_life" => '生活', + "app_group_others" => '其他', + + "app_desc" => '描述', + "app_icon" => '应用图标', + "app_icon_show" => 'url地址或该目录', + "app_group" => '应用分组', + "app_type" => '类型', + "app_type_url" => '链接', + "app_type_code" => 'js扩展', + "app_display" => '外观', + "app_display_border" => '无边框(选中即无边框)', + "app_display_size" => '调整大小(选中即可调整)', + "app_size" => '尺寸', + "app_url" => '链接地址', + "app_code" => 'js 代码', + + + //文件管理 + "edit" => "编辑", + "edit_can_not" => "不是文本文件", + "edit_too_big" => "文件太大,不能大于20M", + "open_default" => "默认方式打开", + "open_ie" => "浏览器打开", + "refresh" => "刷新", + "refresh_all" => "强制刷新", + "newfile" => "新建文件", + "newfolder" => "新建文件夹", + "newothers" => "新建其他", + "path_loading" => "载入中...", + "go" => "走着!", + "go_up" => "上层", + "history_next" => "前进", + "history_back" => "后退", + "address_in_edit" => "点击进入编辑状态", + "double_click_rename" => "双击名称重命名", + "double_click_open" => "双击打开", + "path_null" => "该文件夹为空,可以拖拽文件到该窗口上传。", + + //上传下载 + "upload" => "上传", + "upload_ready" => "等待上传...", + "uploading" => "上传中...", + "upload_success" => "上传成功", + "upload_path_current" => "切换到当前目录", + "upload_select" => "选择文件", + "upload_max_size" => "最大允许", + "upload_size_info" => "如果想配置更大,请修改php.ini中允许上传的最大值。选择文件时,大于该配置的将自动过滤掉。", + "upload_error" => "上传失败", + "upload_muti" => "多文件上传", + "upload_drag" => "拖拽上传", + "upload_drag_tips" => "松开即可上传!", + "path_not_allow" => "文件名不允许出现", + "download" => "下载", + "download_address" => "下载地址", + "download_ready" => "即将开始下载", + "download_success" => "下载成功!", + "download_error_create" => "下载失败!新建文件或写入出错。", + "download_error_exists" => "下载失败!远程文件不存 或打开失败。", + "upload_error_null" => "没有文件!", + "upload_error_big" => "文件大小超过服务器限制", + "upload_error_move" => "移动文件失败!", + "upload_error_exists" => "该文件已存在", + "upload_local" => "本地上传", + "download_from_server" => "远程下载", + "save_path" => "保存路径", + "upload_select_muti" => "可选择多个文件上传", + + //搜索 + "search" => "搜索", + "searching" => "搜索中...", + "search_null" => "没有搜索结果!", + "search_uplow" => "区分大小写", + "search_content" => "搜索文件内容", + "search_info" => "请输入搜索词和路径进行搜索!", + "search_ext_tips" => "用|隔开;例如 php|js|css
    不填则搜索默认文本文件", + "file_type" => "文件类型", + "goto" => "跳转到", + "contain" => "包含", + "server_dwonload_desc" => "个任务加入到下载列表", + "parent_permission" => "父目录权限", + + "root_path" => "根目录", + "lib" => "库", + "fav" => "收藏夹", + "desktop" => "桌面", + "browser" => "浏览器", + "my_cumputer" => "我的电脑", + "recycle" => "回收站", + "my_document" => "我的文档", + "my_picture" => "我的照片", + "my_music" => "我的音乐", + "my_movie" => "我的视频", + "my_download" => "我的下载", + + + //界面 + "ui_desktop" => "桌面", + "ui_filemanage" => "文件管理", + "ui_editor" => "编辑器", + "adminer" => "adminer", + "ui_project_home" => "项目主页", + "ui_login" => "登陆", + "ui_logout" => "退出", + + + //设置 + "setting" => "系统设置", + "setting_title" => "选项", + "setting_user" => "基础设置", + "setting_password" => "修改密码", + "setting_password_old" => "原密码", + "setting_password_new" => "修改为", + "setting_language" => "语言设置", + "setting_member" => "用户管理", + "setting_group" => "用户组管理", + "setting_group_add" => "添加用户组", + "setting_group_edit" => "编辑用户组", + "setting_theme" => "主题切换", + "setting_wall" => "更换壁纸", + "setting_wall_diy" => "自定义壁纸:", + "setting_wall_info" => "图片url地址,本地图片可以右键图片浏览器打开即可得到", + "setting_fav" => "收藏夹管理", + "setting_player" => "播放器", + "setting_player_music" => "音乐播放器设置", + "setting_player_movie" => "视频播放器设置", + "setting_help" => "使用帮助", + "setting_about" => "关于作品", + "setting_success" => "修改已生效!", + "can_not_repeat" => "不允许重复", + "absolute_path" => "绝对地址", + + // setting page + "group" => "用户组", + "data_not_full" => "数据提交不完整!", + "default_user_can_not_do" => "默认用户不能操作", + "default_group_can_not_do" => "默认用户组不能操作", + "username_can_not_null" => "用户名不能为空!", + "groupname_can_not_null" => "用户组名不能为空!", + "groupdesc_can_not_null" => "用户组描述不能为空!", + "group_move_user_error" => "所属用户组用户移动失败", + "group_already_remove" => "该用户组已被删除", + "group_not_exists" => "该用户组不存在", + "member_add" => "添加用户", + "password_null_not_update" => "密码不填表示不更改", + "if_save_file" => "文件尚未保存,是否保存?", + "if_remove" => "确认删除", + "member_remove_tips" => "删除后该用户目录会被清空", + "group_remove_tips" => "删除后该用户组用户无法登陆
    (需要重新设置用户组)", + "group_name" => "用户组名", + "group_name_tips" => "建议英文名,不能重复", + "group_desc" => "展示名称", + "group_desc_tips" => "组名描述", + "group_role_ext" => "扩展名限制", + "group_role_ext_tips" => "多个用|分隔开", + "group_role_file" => "文件管理", + "group_role_upload" => "上传下载", + "group_role_user" => "用户数据", + "group_role_group" => "用户组管理", + "group_role_member" => "用户管理", + "group_role_mkfile" => "新建文件", + "group_role_mkdir" => "新建文件夹", + "group_role_pathrname" => "重命名", + "group_role_pathdelete" => "文件(夹)删除", + "group_role_pathinfo" => "文件(夹)属性", + "group_role_pathmove" => "移动(复制/剪切/粘贴/拖拽操作)", + "group_role_zip" => "zip压缩", + "group_role_unzip" => "zip解压", + "group_role_search" => "搜索", + "group_role_filesave" => "编辑保存文件", + "group_role_can_upload" => "上传下载", + "group_role_upload" => "允许上传", + "group_role_download" => "远程下载", + "group_role_passowrd" => "修改密码", + "group_role_config" => "保存用户配置", + "group_role_fav" => "收藏夹操作(添加/编辑/删除)", + "group_role_list" => "列表查看", + "group_role_member_add" => "添加用户", + "group_role_member_edit" => "编辑用户", + "group_role_member_del" => "删除用户", + "group_role_group_add" => "添加用户组", + "group_role_group_edit" => "编辑用户组", + "group_role_group_del" => "删除用户组", + "group_role_ext_warning" => "不允许此类文件的上传,
    重命名(重命名为指定扩展名),
    编辑保存,远程下载,解压", + "group_tips"=>"
  • 1.用户组名不能重复,修改组名后原属于改组用户会自动关联
  • 2.扩展名限制关系系统安全性,请务必谨慎操作(果在web目录下新建php;就意味着改程序的权限对此用户形同虚设)
  • 3.户管理、权限组管理;查看权限和增删改权限是绑定的;程序会自动关联
  • 4.设定权限组能添加权限组后,后续权限是不继承的(此权限相当于最高权限)
  • ", + + //explorer_ajax + "not_null" => "必填项不能为空!", + "picture_can_not_null" => "图片地址不能为空!", + "rname_success" => "重命名成功!", + "please_inpute_search_words" => "请输入要搜索的字符串", + "remove_success" => "删除成功!", + "remove_fali" => "删除失败!", + "clipboard_null" => "剪贴板为空!", + "create_success" => "新建成功!", + "create_error" => "新建失败,请检查目录权限!", + "copy_success" => "【复制】—— 覆盖剪贴板成功!", + "cute_success" => "【剪切】—— 覆盖剪贴板成功!", + "clipboard_state" => "剪切板状态:", + "no_permission_write" => "不能写入,检查路径或权限", + "copy_not_exists" => "来源不存在", + "current_has_parent" => "目标文件夹是源文件夹的子文件夹!", + "past_success" => "粘贴操作完成", + "cute_past_success" => "剪切操作完成(源文件被删除,剪贴板清空)", + "zip_success" => "压缩完成", + "not_zip" => "不是压缩文件", + "zip_null" => "没有选择的文件或目录", + "unzip_success" => "解压完成", + "gotoline" => "跳转到行", + "path_is_current" => "所打开路径和当前路径一样!", + "path_exists" => "该名称已存在!", + + //编辑器 + "undo" => "撤销", + "redo" => "反撤销", + "preview" => "预览", + "wordwrap" => "自动换行(不自动换行)", + "char_all_display" => "显示不可见字符(隐藏)", + "auto_complete" => "自动提示(取消)", + "code_theme" => "代码风格", + "font_size" => "字体", + + //button + "button_ok" => "确定", + "button_submit" => "提交", + "button_set" => "设置", + "button_cancle" => "取消", + "button_edit" => "编辑", + "button_save" => "保存", + "button_save_all" => "保存全部", + "button_not_save" => "不保存", + "button_add" => "添加", + "button_back_add" => "返回添加", + "button_del" => "删除", + "button_save_edit" => "保存修改", + "button_save_submit" => "保存提交", + "button_select_all" => "全选/反选" +); \ No newline at end of file diff --git a/data/i18n/zh_TW/about.html b/data/i18n/zh_TW/about.html new file mode 100644 index 0000000..58385f7 --- /dev/null +++ b/data/i18n/zh_TW/about.html @@ -0,0 +1,33 @@ +
    +
    是什麼?
    +

    KODExplorer是一個公開源碼的基於Web的線上檔管理、代碼編輯器。它提供了類windows經典使用者介面,一整套線上檔管理、文件預覽、編輯、上傳下載、線上解壓縮、音樂播放功能。讓你直接在流覽器端實現web開發、源碼檔預覽、網站部署的同時擁有與本地操作一樣方便、快捷、安全的體驗。

    +

    ——設計理念——

    +

    傳承經典,追求創新,為用戶提供方便快捷、安全易用的線上雲管理系統。

    +

    無論何時(when)、何地(where),擁有web只要你想(want)它就是你的管理利器(4W策略)。

    +

    ——面向用戶——

    +

    目前KODExplorer系統管理主要定位在個人雲主機、中小企業雲資源管理、網盤管理、中小型網站管理等。Web開發者&站長(老鳥):線上編輯、壓縮備份、部署,經典windows介面操作,上手容易,遠離了主機的SSH、ftp複雜枯燥的命令操作。

    +

    個人私有雲(菜鳥):管理網盤資源,同樣經典windows介面操作,可以就地流覽網盤音樂、視屏檔,上傳下載快捷方便。

    +
    + +
    +
    特色
    +

    完備的文件管理,強大的線上文件編輯器

    +

    無論您在哪裡,都可以管理您的檔;並可以線上娛樂,線上寫代碼!就像適宜用作業系統那樣。

    +

    豐富的本地體驗移植,右鍵操作,拖拽,框中選擇,快速鍵,檔搜索(內容中搜索)……

    +

    框中選擇,拖拽移動,拖拽上傳,線上編輯器,影音播放機,解壓縮。全面ajax保證性能和體驗!

    +

    各個功能直接無縫連接;以對話方塊形式存在,多工管理等功能

    +

    編輯器支援多文檔;支持ZendCoding html,css,js代碼編寫效率更高!

    +

    完美中文支援,各種情況下亂碼解決;

    +
    + +
    +
    開源技術採用
    +

    1.Jquery:jpuery(plugin:Hotkeys.ztree.contentmenu).js主流開發框架。對Dom操作、BOM操作、css操作,以及Ajax封裝

    +

    2.ArtDialog:一個設計優美,對流覽器相容性極強的對話方塊外掛程式。使快顯視窗處理,事件以及資料的傳輸得到了更好的統一管理方式

    +

    3.Ztree:清單樹控制項,擴展性很強的樹形資料操作外掛程式

    +

    4.codemirror:一個代碼編輯js外掛程式,支援各種程式設計語言的高亮處理

    +

    5.zendcoding:一個支持html代碼快速編寫外掛程式。定義方式簡化代碼編寫。有簡單編譯功能

    +

    6.less:一種高效的,函數式css開發模式,提高前端css樣式表的可複用性。有簡單編譯功能

    +

    7.SWFUpload:flash多文件上傳

    +

    8.CMP4:一個非常優秀的flash媒體檔播放外掛程式,支持流媒體,常用音樂視頻的播放工具。支援換皮膚,高可配置性的設置。清單xml的動態載入。mms流媒體,rstp開源協定媒體播放支援

    +
    diff --git a/data/i18n/zh_TW/edit.html b/data/i18n/zh_TW/edit.html new file mode 100644 index 0000000..6765898 --- /dev/null +++ b/data/i18n/zh_TW/edit.html @@ -0,0 +1,64 @@ +
    +
    +

    豐富的功能

    +

    代碼自動提示

    +

    多主題:選擇你喜歡的程式設計風格

    +

    自訂字體:適合種場景下使用

    +

    多游標編輯,塊編輯等媲美sublime的線上程式設計體驗

    +

    代碼塊折疊、展開;自動換行

    +

    支援多標籤,拖動切換順序;

    +

    維持多個文檔、查找替換;歷史記錄;

    +

    自動補全[],{},(),"",''

    +

    線上即時預覽,使您愛上線上程式設計!

    +

    zendcodeing支持,寫代碼健步如飛

    +

    更多功能,等待你的發現……

    +
    +
    +

    多種代碼高亮

    +

    前端:html,JavaScript,css,less,sass,scss

    +

    web開發:php,perl,python,ruby,elang,go...

    +

    傳統語言:java,c,c++,c#,actionScript,VBScript...

    +

    其他:markdown,shell,sql,lua,xml,yaml...

    +
    +
    +
    +
    +

    快速鍵操作

    +
    常用快速鍵:
    +      ctrl+s 保存      
    +      ctrl+a 全選      ctrl+x 剪切   
    +      ctrl+c 複製      ctrl+v 粘貼
    +      ctrl+z 撤銷      ctrl+y 反撤銷
    +      ctrl+f 查找      ctrl+f+f 替換
    +      alt+0 折疊所有   alt+shift+0 展開所有
    +      esc [退出搜索,取消自動提示...]
    +
    選擇:
    +      滑鼠框選——拖動
    +      shift+home/end/up/left/down/right  
    +      shift+pageUp/PageDown 上下翻頁選中
    +      ctrl+shift+ home/end  當前游標到頭尾
    +      alt+滑鼠拖動  塊選擇
    +
     游標移動:
    +      home/end/up/left/down/right
    +      ctrl+home/end 游標移動到文檔首/尾
    +      ctrl+p 跳轉到匹配的標籤
    +      pageUp/PageDown 游標上下翻頁
    +      alt+left/right 游標移動到行首位
    +      shift+left/right  游標移動到行首&尾
    +      ctrl+l 跳轉到指定行
    +      ctrl+alt+up/down  上(下)增加游標
    +
    編輯:
    +      ctrl+/ 注釋&取消注釋  ctrl+alt+a 左右對齊      
    +      table tab對齊         shift+table 整體前移table
    +      delete 刪除           ctrl+d 刪除整行
    +      ctrl+delete           刪除該行右側單詞
    +      ctrl/shift+backspace  刪除左側單詞
    +      alt+shift+up/down     複製行並添加到上(下麵)面
    +      alt+delete            刪除游標右側內容
    +      alt+up/down           當前行和上一行(下一行交換)
    +      ctrl+shift+d          複製行並添加到下麵
    +      ctrl+delete           刪除右側單詞
    +      ctrl+shift+u 轉換成小寫 ctrl+u 選中內容轉換成大寫
    +
    +
    + diff --git a/data/i18n/zh_TW/help.html b/data/i18n/zh_TW/help.html new file mode 100644 index 0000000..43ac39e --- /dev/null +++ b/data/i18n/zh_TW/help.html @@ -0,0 +1,36 @@ +
    +
    文件管理
    +

    檔選擇:單選,滑鼠框選,shift連選,ctrl隨意選擇,鍵盤上下左右、home、end選擇。

    +

    檔操作:選擇檔後,可以進行複製,剪切,刪除,屬性查看,壓縮,重命名,打開預覽等操作……

    +

    文件上傳:多檔批量上傳;html5拖拽上傳(拖拽到視窗實現無縫上傳,支持資料夾拖拽)

    +

    右鍵功能:檔右鍵,資料夾右鍵,多選後右鍵操作,桌面右鍵,樹目錄右鍵操作,右鍵功能表綁定快速鍵
             + (全選——複製——剪切——粘貼——刪除——重命名,設置……)

    +

    檔流覽:清單模式,圖示模式;按兩下進入子資料夾;位址欄操作;打開資料夾記錄逆勢操作記錄(前進後退)

    +

    支援拖拽操作:選中後拖拽,實現剪切到指定資料夾功能

    +

    快速鍵操作:delete刪除,ctrl+A全選,ctrl+C複製,ctrl+X剪切,檔搜索(內容中搜索)

    +
    +
    +
    文件預覽
    +

    文件預覽:文字檔內容查看編輯保存;html,swf文件預覽,

    +

    圖片預覽:自動生成縮略圖,圖片幻燈片播放;

    +

    音訊播放:線上播放音樂,視頻檔;支持mp3,wma,mid,aac,wav;mp4,

    +

    視頻播放:線上視頻檔播放,支援格式:flv,f4v,3gp

    +

    office:office線上預覽,支援格式:doc,docx,ppt,pptx,xls,xlsx

    +
    +
    +
    快速鍵
    +

    enter 打開

    +

    ctrl+a 全選

    +

    ctrl+c 複製選中

    +

    ctrl+v 粘貼

    +

    ctrl+x 剪切

    +

    ctrl+f 目前的目錄進行搜索

    +

    alt+n 新建文件

    +

    alt+m 新建資料夾

    +

    delete 刪除選中

    +

    backspace 後退

    +

    ctrl+backspace 前進

    +

    f2 重命名選中(檔資料夾)

    +

    home/end/up/down/left/right 選擇檔

    +

    anykey 選中以按下字元首字母的檔&資料夾 自動迴圈選中

    +
    diff --git a/data/i18n/zh_TW/main.php b/data/i18n/zh_TW/main.php new file mode 100644 index 0000000..c777c11 --- /dev/null +++ b/data/i18n/zh_TW/main.php @@ -0,0 +1,358 @@ + array( + "type" => "zh_TW", + "name" => "簡體中文", + "authoer" => "warlee" + ), + + //login + "login" => "登陸", + "guest_login" => "游客登陸", + "username" => "用戶名", + "password" => "密碼", + "login_code" => "驗證碼", + "login_rember_password" => "記住密碼", + "us" => "千帆網路工作室", + "login_not_null" => "用戶名密碼不能為空!", + "code_error" => "驗證碼錯誤", + "user_not_exists" => "用戶名不存在!", + "password_error" => "密碼錯誤!", + "password_not_null" => "密碼不能為空!", + "old_password_error" => "原密碼錯誤!", + "permission" => "許可權!", + "no_permission" => "沒有許可權!", + "no_permission_ext" => "該類型檔沒有許可權", + "dialog_min" => "最小化", + "dialog_min_all" => "最小化所有", + "dialog_display_all" => "显示所有窗口", + "dialog_close_all" => "关闭所有窗口", + + //網站描述 + "title" => "KODExplorer-芒果雲•資源管理器", + "title_name" => "芒果雲•資源管理器", + + //通用 + "open" => "打開", + "others" => "其他", + "open_with" => "打開方式", + "close" => "關閉", + "close_all" => "關閉全部", + "close_right" => "關閉右側標籤", + "close_others" => "關閉其他", + "loading" => "操作中...", + "warning" => "警告", + "getting" => "獲取中...", + "sending" => "數據發送中...", + "data_error" => "數據出錯!", + "get_success" => "獲取成功!", + "save_success" => "保存成功!", + "success" => "操作成功", + "error" => "操作失敗", + "error_repeat" => "'操作失敗,請注意名稱不能重複!'", + "system_error" => "系統錯誤", + "name" => "名稱", + "type" => "類型", + "contain" => "包含", + "address" => "位置", + "size" => "大小", + "byte" => "位元組", + "path" => "路徑", + "action" => "操作", + "create_time" => "創建時間", + "modify_time" => "修改時間", + "last_time" => "最後訪問", + "sort_type" => "排序方式", + "time_type" => "Y/m/d H:i", + "time_type_info" => "Y年m月d日 H:i:s", + + //右鍵 + "file" => "檔", + "folder" => "檔夾", + "copy" => "複製", + "past" => "粘貼", + "cute" => "剪切", + "remove" => "刪除", + "info" => "屬性", + "list_type" => "查看", + "list_icon" => "圖示排列", + "list_list" => "列表排列", + "sort_up" => "遞增", + "sort_down" => "遞減", + "order_type" => "排序方式", + "order_desc" => "降序", + "order_asc" => "昇冪", + "rename" => "重命名", + "add_to_fav" => "添加到收藏夾", + "search_in_path" => "檔夾中搜索", + "add_to_play" => "添加到播放列表", + "manage_fav" => "管理收藏夾", + "refresh_tree" => "刷新樹目錄", + "manage_folder" => "管理目錄", + "close_menu" => "關閉菜單", + "zip" => "zip壓縮", + "unzip" => "zip解壓到當前", + "clipboard" => "查看剪貼板", + "full_screen" => "全屏/退出全屏", + + "tips" => "提示", + "ziping" => "正在壓縮...", + "unziping" => "正在解壓...", + "moving" => "移動操作中...", + "remove_title" => "刪除確認", + "remove_not" => "系統檔夾,不能刪除", + "remove_info" => "確認將選中內容移至回收站嗎?", + "name_isexists" => "出錯了,該名稱已存在!", + + "install" => '安裝', + "width" => '寬', + "height" => '高', + "app" => '應用', + "app_store" => '應用商店', + "app_create" => '創建應用', + "app_edit" => '修改應用', + "app_group_all" => '全部', + "app_group_game" => '遊戲', + "app_group_tools" => '工具', + "app_group_reader" => '閱讀', + "app_group_movie" => '影視', + "app_group_music" => '音樂', + "app_group_life" => '生活', + "app_group_others" => '其他', + + "app_desc" => '描述', + "app_icon" => '應用圖示', + "app_icon_show" => 'url地址或該目錄', + "app_group" => '應用分組', + "app_type" => '類型', + "app_type_url" => '鏈接', + "app_type_code" => 'js擴展', + "app_display" => '外觀', + "app_display_border" => '無邊框(選中即無邊框)', + "app_display_size" => '調整大小(選中即可調整)', + "app_size" => '尺寸', + "app_url" => '鏈接地址', + "app_code" => 'js 代碼', + + + //檔管理 + "edit" => "編輯", + "edit_can_not" => "不是文本檔", + "edit_too_big" => "文件太大,不能大于20M", + "open_default" => "默認方式打開", + "open_ie" => "流覽器打開", + "refresh" => "刷新", + "refresh_all" => "強制刷新", + "newfile" => "新建檔", + "newfolder" => "新建檔夾", + "newothers" => "新建其他", + "path_loading" => "載入中...", + "go" => "走著!", + "go_up" => "上層", + "history_next" => "前進", + "history_back" => "後退", + "address_in_edit" => "點擊進入編輯狀態", + "double_click_rename" => "雙擊名稱重命名", + "double_click_open" => "雙擊打開", + "path_null" => "該檔夾為空,可以拖拽檔到該窗口上傳。", + + //上傳下載 + "upload" => "上傳", + "upload_ready" => "等待上傳...", + "uploading" => "上傳中...", + "upload_success" => "上傳成功", + "upload_path_current" => "切換到當前目錄", + "upload_select" => "選擇檔", + "upload_max_size" => "最大允許", + "upload_size_info" => "如果想配置更大,請修改php.ini中允許上傳的最大值。選擇檔時,大於該配置的將自動過濾掉。", + "upload_error" => "上傳失敗", + "upload_muti" => "多檔上傳", + "upload_drag" => "拖拽上傳", + "upload_drag_tips" => "鬆開即可上傳!", + "path_not_allow" => "檔案名不允許出現", + "download" => "下載", + "download_address" => "下載地址", + "download_ready" => "即將開始下載", + "download_success" => "下載成功!", + "download_error_create" => "下載失敗!新建檔或寫入出錯。", + "download_error_exists" => "下載失敗!遠程檔不存 或打開失敗。", + "upload_error_null" => "沒有檔!", + "upload_error_big" => "檔大小超過伺服器限制", + "upload_error_move" => "移動檔失敗!", + "upload_error_exists" => "該檔已存在", + "upload_local" => "本地上傳", + "download_from_server" => "遠程下載", + "save_path" => "保存路徑", + "upload_select_muti" => "可選擇多個檔上傳", + + //搜索 + "search" => "搜索", + "searching" => "搜索中...", + "search_null" => "沒有搜索結果!", + "search_uplow" => "區分大小寫", + "search_content" => "搜索檔內容", + "search_info" => "請輸入搜索詞和路徑進行搜索!", + "search_ext_tips" => "用|隔開;例如 php|js|css
    不填則搜索默認文本檔", + "file_type" => "檔類型", + "goto" => "跳轉到", + "contain" => "包含", + "server_dwonload_desc" => "個任務加入到下載列表", + "parent_permission" => "父目錄許可權", + + "root_path" => "根目錄", + "lib" => "庫", + "fav" => "收藏夾", + "desktop" => "桌面", + "browser" => "流覽器", + "my_cumputer" => "我的電腦", + "recycle" => "回收站", + "my_document" => "我的文檔", + "my_picture" => "我的照片", + "my_music" => "我的音樂", + "my_movie" => "我的視頻", + "my_download" => "我的下載", + + + //介面 + "ui_desktop" => "桌面", + "ui_filemanage" => "檔管理", + "ui_editor" => "編輯器", + "adminer" => "adminer", + "ui_project_home" => "專案主頁", + "ui_login" => "登陸", + "ui_logout" => "退出", + + + //設置 + "setting" => "系統設置", + "setting_title" => "選項", + "setting_user" => "基礎設置", + "setting_password" => "修改密碼", + "setting_password_old" => "原密碼", + "setting_password_new" => "修改為", + "setting_language" => "語言設置", + "setting_member" => "用戶管理", + "setting_group" => "用戶組管理", + "setting_group_add" => "添加用戶組", + "setting_group_edit" => "編輯用戶組", + "setting_theme" => "主題切換", + "setting_wall" => "更換壁紙", + "setting_wall_diy" => "自定義壁紙:", + "setting_wall_info" => "圖片url地址,本地圖片可以右鍵圖片流覽器打開即可得到", + "setting_fav" => "收藏夾管理", + "setting_player" => "播放器", + "setting_player_music" => "音樂播放器設置", + "setting_player_movie" => "視頻播放器設置", + "setting_help" => "使用幫助", + "setting_about" => "關於作品", + "setting_success" => "修改已生效!", + "can_not_repeat" => "不允許重複", + "absolute_path" => "絕對地址", + + // setting page + "group" => "用戶組", + "data_not_full" => "數據提交不完整!", + "default_user_can_not_do" => "默認用戶不能操作", + "default_group_can_not_do" => "默認用戶組不能操作", + "username_can_not_null" => "用戶名不能為空!", + "groupname_can_not_null" => "用戶組名不能為空!", + "groupdesc_can_not_null" => "用戶組描述不能為空!", + "group_move_user_error" => "所屬用戶組用戶移動失敗", + "group_already_remove" => "該用戶組已被刪除", + "group_not_exists" => "該用戶組不存在", + "member_add" => "添加用戶", + "password_null_not_update" => "密碼不填表示不更改", + "if_save_file" => "檔尚未保存,是否保存?", + "if_remove" => "確認刪除", + "member_remove_tips" => "刪除後該用戶目錄會被清空", + "group_remove_tips" => "刪除後該用戶組用戶無法登陸
    (需要重新設置用戶組)", + "group_name" => "用戶組名", + "group_name_tips" => "建議英文名,不能重複", + "group_desc" => "展示名稱", + "group_desc_tips" => "組名描述", + "group_role_ext" => "擴展名限制", + "group_role_ext_tips" => "多個用|分隔開", + "group_role_file" => "檔管理", + "group_role_upload" => "上傳下載", + "group_role_user" => "用戶數據", + "group_role_group" => "用戶組管理", + "group_role_member" => "用戶管理", + "group_role_mkfile" => "新建檔", + "group_role_mkdir" => "新建檔夾", + "group_role_pathrname" => "重命名", + "group_role_pathdelete" => "檔(夾)刪除", + "group_role_pathinfo" => "檔(夾)屬性", + "group_role_pathmove" => "移動(複製/剪切/粘貼/拖拽操作)", + "group_role_zip" => "zip壓縮", + "group_role_unzip" => "zip解壓", + "group_role_search" => "搜索", + "group_role_filesave" => "編輯保存檔", + "group_role_can_upload" => "上傳下載", + "group_role_upload" => "允許上傳", + "group_role_download" => "遠程下載", + "group_role_passowrd" => "修改密碼", + "group_role_config" => "保存用戶配置", + "group_role_fav" => "收藏夾操作(添加/編輯/刪除)", + "group_role_list" => "列表查看", + "group_role_member_add" => "添加用戶", + "group_role_member_edit" => "編輯用戶", + "group_role_member_del" => "刪除用戶", + "group_role_group_add" => "添加用戶組", + "group_role_group_edit" => "編輯用戶組", + "group_role_group_del" => "刪除用戶組", + "group_role_ext_warning" => "不允許此類檔的上傳,
    重命名(重命名為指定擴展名),
    編輯保存,遠程下載,解壓", + "group_tips"=>"
  • 1.用戶組名不能重複,修改組名後原屬於改組用戶會自動關聯
  • 2.擴展名限制關係系統安全性,請務必謹慎操作(果在web目錄下新建php;就意味著改程式的許可權對此用戶形同虛設)
  • 3.戶管理、許可權組管理;查看許可權和增刪改許可權是綁定的;程式會自動關聯
  • 4.設定許可權組能添加許可權組後,後續許可權是不繼承的(此許可權相當於最高許可權)
  • ", + + //explorer_ajax + "not_null" => "必填項不能為空!", + "picture_can_not_null" => "圖片地址不能為空!", + "rname_success" => "重命名成功!", + "please_inpute_search_words" => "請輸入要搜索的字串", + "remove_success" => "刪除成功!", + "remove_fali" => "刪除失敗!", + "clipboard_null" => "剪貼板為空!", + "create_success" => "新建成功!", + "create_error" => "新建失敗,請檢查目錄許可權!", + "copy_success" => "【複製】—— 覆蓋剪貼板成功!", + "cute_success" => "【剪切】—— 覆蓋剪貼板成功!", + "clipboard_state" => "剪切板狀態:", + "no_permission_write" => "不能寫入,檢查路徑或許可權", + "copy_not_exists" => "來源不存在", + "current_has_parent" => "目標檔夾是原始檔案夾的子檔夾!", + "past_success" => "粘貼操作完成", + "cute_past_success" => "剪切操作完成(原始檔案被刪除,剪貼板清空)", + "zip_success" => "壓縮完成", + "not_zip" => "不是壓縮檔", + "zip_null" => "沒有選擇的檔或目錄", + "unzip_success" => "解壓完成", + "gotoline" => "跳轉到行", + "path_is_current" => "所打開路徑和當前路徑一樣!", + "path_exists" => "該名稱已存在!", + + //編輯器 + "undo" => "撤銷", + "redo" => "反撤銷", + "preview" => "預覽", + "wordwrap" => "自動換行/不自動換行", + "char_all_display" => "顯示&隱藏不可見字元", + "auto_complete" => "自動提示(取消)", + "code_theme" => "代碼風格", + "font_size" => "字體", + + //button + "button_ok" => "確定", + "button_submit" => "提交", + "button_set" => "設置", + "button_cancle" => "取消", + "button_edit" => "編輯", + "button_save" => "保存", + "button_save_all" => "保存全部", + "button_not_save" => "不保存", + "button_add" => "添加", + "button_back_add" => "返回添加", + "button_del" => "刪除", + "button_save_edit" => "保存修改", + "button_save_submit" => "保存提交", + "button_select_all" => "全選/反選" +); \ No newline at end of file diff --git a/data/system/apps.php b/data/system/apps.php new file mode 100644 index 0000000..df1f943 --- /dev/null +++ b/data/system/apps.php @@ -0,0 +1 @@ +{"\u65f6\u949f":{"type":"url","content":"http:\/\/hoorayos.com\/demo\/extapp\/clock\/index.php","group":"tools","name":"\u65f6\u949f","desc":"\u65f6\u949f\u6302\u4ef6","icon":"time.png","width":"140","height":"140","simple":1,"resize":0},"qq\u97f3\u4e50":{"type":"url","content":"http:\/\/y.qq.com\/player","group":"music","name":"qq\u97f3\u4e50","desc":"qq\u97f3\u4e50","icon":"qqmusic.png","width":"800","height":"520","simple":0,"resize":1},"\u4e09\u7ef4\u5730\u56fe":{"type":"url","content":"http:\/\/sz.chachaba.com\/api20110914.html","group":"life","name":"\u4e09\u7ef4\u5730\u56fe","desc":"\u4e09\u7ef4\u5730\u56fe","icon":"map.png","width":"800","height":"600","simple":0,"resize":1},"iqiyi\u5f71\u89c6":{"type":"url","content":"http:\/\/www.qiyi.com\/mini\/baidu.html?from115","group":"movie","name":"iqiyi\u5f71\u89c6","desc":"iqiyi\u5f71\u89c6","icon":"iqiyi.png","width":"1000","height":"643","simple":0,"resize":1},"365\u65e5\u5386":{"type":"url","content":"http:\/\/baidu365.duapp.com\/wnl.html?bd_user=855814346&bd_sig=a64e6e262e8cfa1c42dd716617be2102&canvas_pos=platform","group":"life","name":"365\u65e5\u5386","desc":"365\u65e5\u5386","icon":"365.png","width":"544","height":"440","simple":0,"resize":1},"\u5728\u7ebf\u89c6\u9891":{"type":"url","content":"http:\/\/tv.e1951.com\/tv\/index.htm","group":"music","name":"\u5728\u7ebf\u89c6\u9891","desc":"\u5728\u7ebf\u89c6\u9891","icon":"app_s2.png","width":"800","height":"600","simple":0,"resize":1},"linux\u7ec8\u7aef":{"type":"url","content":"http:\/\/bellard.org\/jslinux\/","group":"tools","name":"linux\u7ec8\u7aef","desc":"linux\u7ec8\u7aef","icon":"linux.png","width":"803","height":"546","simple":0,"resize":1},"\u6c34\u679c\u5fcd\u8005":{"type":"url","content":"http:\/\/ucren.com\/demos\/fruit-ninja\/","group":"game","name":"\u6c34\u679c\u5fcd\u8005","desc":"\u6c34\u679c\u5fcd\u8005 html5\u7248","icon":"fruite.jpg","width":"640","height":"565","simple":0,"resize":1},"\u7f8e\u56fe\u79c0\u79c0":{"type":"url","content":"http:\/\/xiuxiu.web.meitu.com\/baidu\/","group":"tools","name":"\u7f8e\u56fe\u79c0\u79c0","desc":"","icon":"meitu.gif","width":"800","height":"570","simple":0,"resize":1},"ps":{"type":"url","content":"http:\/\/www.webps.cn\/editor\/Editor.swf","group":"tools","name":"ps","desc":"ps","icon":"ps.png","width":"800","height":"560","simple":0,"resize":1},"\u4e2d\u56fd\u8c61\u68cb":{"type":"url","content":"http:\/\/apps2.bdimg.com\/store\/static\/kvt\/bbf372221c50a9aaa35a35ea6ee7c922.swf","group":"game","name":"\u4e2d\u56fd\u8c61\u68cb","desc":"\u4e2d\u56fd\u8c61\u68cb","icon":"xiangqi.jpg","width":"650","height":"502","simple":0,"resize":1},"\u690d\u7269\u5927\u6218\u50f5\u5c38":{"type":"url","content":"http:\/\/apps.bdimg.com\/tools\/popcap\/plantsvszombies\/game.html","group":"game","name":"\u690d\u7269\u5927\u6218\u50f5\u5c38","desc":"","icon":"zhiwu.jpg","width":"538","height":"404","simple":0,"resize":1},"\u5feb\u9012\u67e5\u8be2":{"type":"url","content":"http:\/\/baidu.kuaidi100.com\/index2.html","group":"tools","name":"\u5feb\u9012\u67e5\u8be2","desc":"","icon":"kuaidi.gif","width":"538","height":"418","simple":0,"resize":1},"\u6709\u9053\u8bcd\u5178":{"type":"url","content":"http:\/\/dict.youdao.com\/app\/baidu","group":"tools","name":"\u6709\u9053\u8bcd\u5178","desc":"","icon":"youdao.jpg","width":"548","height":"490","simple":0,"resize":1},"\u97f3\u60a6\u53f0":{"type":"url","content":"http:\/\/www.yinyuetai.com\/baidu\/index?bd_user=855814346&bd_sig=cac8830f2b6a731ab596413768b4606b&canvas_pos=platform","group":"movie","name":"\u97f3\u60a6\u53f0","desc":"\u97f3\u60a6\u53f0","icon":"yingyuetai.png","width":"798","height":"450","simple":0,"resize":1},"\u9177\u72d7\u7535\u53f0":{"type":"url","content":"http:\/\/topic.kugou.com\/radio\/baiduNew.htm","group":"music","name":"\u9177\u72d7\u7535\u53f0","desc":"\u9177\u72d7\u7535\u53f0","icon":"kugou_radio.png","width":"554","height":"432","simple":0,"resize":1},"\u867e\u7c73\u7535\u53f0":{"type":"url","content":"http:\/\/kuang.xiami.com\/kuang\/play\/xiamiradio","group":"music","name":"\u867e\u7c73\u7535\u53f0","desc":"\u867e\u7c73\u7535\u53f0","icon":"xiami.jpg","width":"530","height":"282","simple":0,"resize":1},"js\u5728\u7ebf\u538b\u7f29":{"type":"url","content":"http:\/\/compress.cdn.duapp.com\/","group":"others","name":"js\u5728\u7ebf\u538b\u7f29","desc":"js\u5728\u7ebf\u538b\u7f29","icon":"js.png","width":"510","height":"380","simple":0,"resize":1},"\u641c\u72d0\u5f71\u89c6":{"type":"url","content":"http:\/\/tv.sohu.com\/upload\/sohuapp\/index.html?api_key=9ca7e3cdef8af010b947f4934a427a2c","group":"movie","name":"\u641c\u72d0\u5f71\u89c6","desc":"\u641c\u72d0\u5f71\u89c6","icon":"souhu.jpg","width":"798","height":"583","simple":0,"resize":1},"\u597d\u7167\u7247":{"type":"url","content":"http:\/\/www.haozhaopian.com\/flash\/","group":"tools","name":"\u597d\u7167\u7247","desc":"\u597d\u7167\u7247","icon":"haozhaopian.jpg","width":"775","height":"650","simple":0,"resize":1},"\u683c\u6797\u7ae5\u8bdd":{"type":"url","content":"http:\/\/www.youban.com\/bdapp\/mp3\/geling.html","group":"reader","name":"\u683c\u6797\u7ae5\u8bdd","desc":"\u683c\u6797\u7ae5\u8bdd","icon":"geling.jpg","width":"728","height":"520","simple":0,"resize":1},"\u7f8e\u98df\u5929\u4e0b":{"type":"url","content":"http:\/\/home.meishichina.com\/app2baidu.php","group":"life","name":"\u7f8e\u98df\u5929\u4e0b","desc":"\u7f8e\u98df\u5929\u4e0b\u7f51\u7ad9\u51fa\u54c1\u7684\u4f18\u79c0\u83dc\u8c31\u5927\u5168\uff0c\u7cbe\u7f8e\u7684\u6210\u54c1\u56fe\uff0c\u8fd8\u6709\u8d85\u5b9e\u7528\u7684\u56fe\u6587\u5206\u6b65\u8be6\u89e3","icon":"meishi.png","width":"547","height":"590","simple":0,"resize":1},"pptv\u76f4\u64ad":{"type":"url","content":"http:\/\/app.aplus.pptv.com\/tgapp\/baidu\/live\/main","group":"movie","name":"pptv\u76f4\u64ad","desc":"","icon":"pptv.jpg","width":"798","height":"534","simple":0,"resize":1},"\u8c46\u74e3\u7535\u53f0":{"type":"url","content":"http:\/\/douban.fm\/partner\/qq_plus","group":"music","name":"\u8c46\u74e3\u7535\u53f0","desc":"\u8c46\u74e3\u7535\u53f0","icon":"douban.png","width":"545","height":"460","simple":0,"resize":1},"\u521b\u4e1a\u90a6":{"type":"url","content":"http:\/\/baidu.html.zcom.com\/chuangyebang\/","group":"reader","name":"\u521b\u4e1a\u90a6","desc":"\u662f\u4e00\u672c\u5173\u6ce8\u521b\u65b0\u3001\u521b\u4e1a\u548c\u4f01\u4e1a\u6210\u957f\u7684\u5546\u4e1a\u5a92\u4f53\uff0c\u81f4\u529b\u4e8e\u53d1\u6398\u5e76\u4fc3\u8fdb\u4e2d\u56fd\u65b0\u5174\u5546\u4e1a\u529b\u91cf\u7684\u5d1b\u8d77...","icon":"chuangyebang.jpg","width":"545","height":"440","simple":0,"resize":1},"\u8ba1\u7b97\u5668":{"type":"url","content":"http:\/\/apps2.bdimg.com\/store\/static\/kvt\/3e9b470e8b9fceaa66d46a935b45518e.swf","group":"tools","name":"\u8ba1\u7b97\u5668","desc":"\u8ba1\u7b97\u5668","icon":"calcu.png","width":"538","height":"600","simple":0,"resize":1}} \ No newline at end of file diff --git a/data/system/group.php b/data/system/group.php new file mode 100644 index 0000000..e837448 --- /dev/null +++ b/data/system/group.php @@ -0,0 +1 @@ +{"root":{"role":"root","name":"Administrator","path":"","ext_not_allow":""},"default":{"role":"default","name":"default","ext_not_allow":"php|asp|jsp","explorer:mkdir":1,"explorer:mkfile":1,"explorer:pathRname":1,"explorer:pathDelete":1,"explorer:zip":1,"explorer:unzip":1,"explorer:pathCopy":1,"explorer:pathCute":1,"explorer:pathCuteDrag":1,"explorer:clipboard":1,"explorer:pathPast":1,"explorer:pathInfo":1,"explorer:pathInfoMuti":1,"explorer:serverDownload":1,"explorer:fileUpload":1,"explorer:search":1,"app:user_app":1,"editor:fileSave":1},"guest":{"role":"guest","name":"guest","ext_not_allow":"php|asp|jsp"}} \ No newline at end of file diff --git a/data/system/member.php b/data/system/member.php new file mode 100644 index 0000000..0e73519 --- /dev/null +++ b/data/system/member.php @@ -0,0 +1 @@ +{"admin":{"name":"admin","password":"21232f297a57a5a743894a0e4a801fc3","role":"root","status":1},"guest":{"name":"guest","password":"084e0343a0486ff05530df6c705c8bb4","role":"guest","status":1},"demo":{"name":"demo","password":"fe01ce2a7fbac8fafaed7c982a04e229","role":"default","status":1}} \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..e2e834e --- /dev/null +++ b/index.php @@ -0,0 +1,7 @@ +setDefaultController('explorer');//设置默认控制器 + $app->setDefaultAction('index'); //设置默认控制器函数 + $app->run(); +?> \ No newline at end of file diff --git a/lib/class/fileCache.class.php b/lib/class/fileCache.class.php new file mode 100644 index 0000000..54a555f --- /dev/null +++ b/lib/class/fileCache.class.php @@ -0,0 +1,235 @@ +value 模式;value可以是任意类型数据。 +* 完整流程测试;读取最低5000次/s 含有写的1000次/s +* add 添加单条数据;已存在则返回false +* reset 重置所有数据;不传参数代表清空数据 +* get: 获取数据;获取全部;获取指定key数据;获取指定多个key的数据;查找方式获取多条数据 +* 1. get(); +* 2. get("demo") +* 3. get(array('demo','admin')) +* 4. get('group','','root') +* update: 更新数据;更新指定key数据;获取指定多个key的数据; 查找方式更新多条数据 +* 1. update("demo",array('name'=>'ddd',...)) +* 2. update(array('demo','admin'),array(array('name'...),array('name'...))) +* 3. update('group','system','root') +* +* replace_update($key_old,$key_new,$value_new)替换方式更新;满足key更新的需求 +* +* delete: 获取数据;获取全部;获取指定key数据;获取指定多个key的数据;查找方式获取多条数据 +* 1. delete("demo") +* 2. delete(array('demo','admin')) +* 3. delete('group','','root') +* 例如:==================================== +* ['sss':['name':'sss','group':'root'],'bbb':['name':'bbb','group':'root'] +* ,'ccc':['name':'ccc','group':'system'],'ddd':['name':'ddd','group':'root'] +* 查找方式删除 delete('group','','root'); +* 查找方式更新 update('group','system','root'); +* 查找方式获取 get('group','','root'); +*/ +define('CONFIG_EXIT', ''); +class fileCache +{ + private $data; + private $file; + function __construct($file) { + $this->file = $file; + $this->data= self::load($file); + if (!is_array($this->data)) { + $this->reset(); + } + } + + /** + * 重置所有数据;不传参数代表清空数据 + */ + public function reset($list=array()){ + $this->data = $list; + self::save($this->file,$this->data); + } + + /** + * 添加一条数据,不能重复;如果已存在则返回false;1k次/s + */ + public function add($k,$v){ + if (!isset($this->data[$k])) { + $this->data[$k] = $v; + self::save($this->file,$this->data); + return true; + } + return false; + } + + /** + * 获取数据;不存在则返回false;100w次/s + * $k null 不传则返回全部; + * $k string 为字符串;则根据key获取数据,只有一条数据 + * $search_value 设置时;表示以查找的方式筛选数据筛选条件为 $key=$k 值为$search_value的数据;多条 + */ + public function get($k = '',$v='',$search_value=false){ + if ($k === '') return $this->data; + + $search = array(); + if ($search_value === false) { + if (is_array($k)) { + //多条数据获取 + $num = count($k); + for ($i=0; $i < $num; $i++) { + $search[$k[$i]] = $this->data[$k[$i]]; + } + return $search; + }else if(isset($this->data[$k])){ + //单条数据获取 + return $this->data[$k]; + } + }else{ + //查找内容数据方式获取;返回多条 + foreach ($this->data as $key => $val) { + if ($val[$k] == $search_value) { + $search[$key] = $this->data[$key]; + } + } + return $search; + } + return false; + } + + /** + * 更新数据;不存在;或者任意一条不存在则返回false;不进行保存 + * $k $v string 为字符串;则根据key只更新一条数据 + * $k $v array array($key1,$key2,...),array($value1,$value2,...) + * 则表示更新多条数据 + * $search_value 设置时;表示以查找的方式更新数据中的数据 + */ + public function update($k,$v,$search_value=false){ + if ($search_value === false) { + if (is_array($k)) { + //多条数据更新 + $num = count($k); + for ($i=0; $i < $num; $i++) { + $this->data[$k[$i]] = $v[$i]; + } + self::save($this->file,$this->data); + return true; + }else if(isset($this->data[$k])){ + //单条数据更新 + $this->data[$k] = $v; + self::save($this->file,$this->data); + return true; + } + }else{ + //查找方式更新;更新多条 + foreach ($this->data as $key => $val) { + if ($val[$k] == $search_value) { + $this->data[$key][$k] = $v; + } + } + self::save($this->file,$this->data); + return true; + } + return false; + } + + /* + * 替换方式更新;满足key更新的需求 + */ + public function replace_update($key_old,$key_new,$value_new){ + if(isset($this->data[$key_old])){ + $value = $this->data[$key_old]; + unset($this->data[$key_old]); + $this->data[$key_new] = $value_new; + self::save($this->file,$this->data); + return true; + } + return false; + } + + /** + * 删除;不存在返回false + */ + public function delete($k,$v='',$search_value=false){ + if ($search_value === false) { + if (is_array($k)) { + //多条数据更新 + $num = count($k); + for ($i=0; $i < $num; $i++) { + unset($this->data[$k[$i]]); + } + self::save($this->file,$this->data); + return true; + }else if(isset($this->data[$k])){ + //单条数据删除 + unset($this->data[$k]); + self::save($this->file,$this->data); + return true; + } + }else{ + //查找内容数据方式删除;删除多条 + foreach ($this->data as $key => $val) { + if ($val[$k] == $search_value){ + unset($this->data[$key]); + } + } + self::save($this->file,$this->data); + return true; + } + return false; + } + + + + //===================================================== + /** + * 排序 + */ + public static function arr_sort(&$arr,$key, $type = 'asc'){ + $keysvalue = $new_array = array(); + foreach ($arr as $k => $v) { + $keysvalue[$k] = $v[$key]; + } + if ($type == 'asc') { + asort($keysvalue); + } else { + arsort($keysvalue); + } + reset($keysvalue); + foreach ($keysvalue as $k => $v) { + $new_array[$k] = $arr[$k]; + } + return $new_array; + } + + /** + * 加载数据;并解析成程序数据 + */ + public static function load($file){//10000次需要4s 数据量差异不大。 + if (!file_exists($file)) touch($file); + $str = file_get_contents($file); + $str = substr($str, strlen(CONFIG_EXIT)); + $data= json_decode($str,true); + return $data; + } + /** + * 保存数据; + */ + public static function save($file,$data){//10000次需要6s + if (!$file) return; + if($fp = fopen($file, "w")){ + if (flock($fp, LOCK_EX)) { // 进行排它型锁定 + $str = CONFIG_EXIT.json_encode($data); + fwrite($fp, $str); + fflush($fp); // flush output before releasing the lock + flock($fp, LOCK_UN); // 释放锁定 + } + fclose($fp); + } + } +} \ No newline at end of file diff --git a/lib/class/history.class.php b/lib/class/history.class.php new file mode 100644 index 0000000..add69ba --- /dev/null +++ b/lib/class/history.class.php @@ -0,0 +1,162 @@ +20, //队列节点总共个数 +* 'first'=>0, //起始位置,从0开始。数组索引值 +* 'last'=>0, //终点位置,从0开始。 +* 'back'=>0, //从first位置倒退了多少步,差值。 +* 'history'=>array( //数组,存放操作队列。 +* array('path'=>'D:/'), +* array('path'=>'D:/www/'), +* array('path'=>'E:/'), +* array('path'=>'/home/') +* …… +* ) +* ) +*/ + +class history{ + var $history_num; + var $first; + var $last; + var $back; + var $history=array(); + + function __construct($array=array(),$num=20){ + if (!$array) {//数组为空.构造一个循环队列。 + $history=array(); + for ($i=0; $i < $num; $i++) { + array_push($history,array('path'=>'')); + } + $array=array( + 'history_num'=>$num, + 'first'=>0,//起始位置 + 'last'=>0,//终点位置 + 'back'=>0, + 'history'=>$history + ); + } + $this->history_num=$array['history_num']; + $this->first=$array['first']; + $this->last=$array['last']; + $this->back=$array['back']; + $this->history=$array['history']; + } + + function nextNum($i,$n=1){//环路下n一个值。和时钟环路类似。 + return ($i+$n)<$this->history_num ? ($i+$n):($i+$n-$this->history_num); + } + function prevNum($i,$n=1){//环路上一个值i。回退N个位置。 + return ($i-$n)>=0 ? ($i-$n) : ($i-$n+$this->history_num); + } + + function minus($i,$j){//顺时针两点只差,i-j + return ($i > $j) ? ($i - $j):($i-$j+$this->history_num); + } + + + function getHistory(){//返回数组,用于保存或者序列化操作。 + return array( + 'history_num'=> $this->history_num, + 'first' => $this->first, + 'last' => $this->last, + 'back' => $this->back, + 'history' => $this->history + ); + } + + function add($path){ + if ($path==$this->history[$this->first]['path']) {//和最后相同,则不记录 + return 0; + } + if ($this->back!=0) {//有后退操作记录的情况下,进行插入。 + $this->goedit($path); + return; + } + if ($this->history[0]['path']=='') {//刚构造,不用加一.首位不前移 + $this->history[$this->first]['path']=$path; + return; + }else{ + $this->first=$this->nextNum($this->first);//首位前移 + $this->history[$this->first]['path']=$path; + } + if ($this->first==$this->last) {//起始位置与终止位置相遇 + $this->last=$this->nextNum($this->last);//末尾位置前移。 + } + } + + function goback(){//返回从first后退N步的地址。 + $this->back+=1; + //最大后退步数为起点到终点之差(顺时针之差) + $mins=$this->minus($this->first,$this->last); + if ($this->back >= $mins) {//退到最后点 + $this->back=$mins; + } + + $pos=$this->prevNum($this->first,$this->back); + return $this->history[$pos]['path']; + } + + function gonext(){//从first后退N步的地方前进一步。 + $this->back-=1; + if ($this->back<0) {//退到最后点 + $this->back=0; + } + return $this->history[$this->prevNum($this->first,$this->back)]['path']; + } + function goedit($path){//后退到某个点,没有前进而是修改。则firs值为最后的值。 + $pos=$this->minus($this->first,$this->back); + $pos=$this->nextNum($pos);//下一个 + $this->history[$pos]['path']=$path; + $this->first=$pos; + $this->back=0; + } + + //是否可以后退 + function isback(){ + if ($this->back==0 && $this->first==0 && $this->last==0) { + return 0; + } + if ($this->back < $this->minus($this->first,$this->last)) { + return 1; + } + return 0; + } + //是否可以前进 + function isnext(){ + if ($this->back>0) { + return 1; + } + return 0; + } + //取出最新纪录 + function getFirst(){ + return $this->history[$this->first]['path']; + } +} + +//include 'common.function.php'; +//$hi=new history(array(),6);//传入空数组,则初始化数组构造。 +//for ($i=0; $i <8; $i++) { +// $hi->add('s'.$i); +//} +//pr($hi->goback()); +//pr($hi->gonext()); +//$hi->add('asdfasdf2'); +//pr($hi->getHistory()); + + +//$ss=new history($hi->getHistory());//直接用数组构造。 +//$ss->add('asdfasdf'); +//$ss->goback(); +//pr($ss->getHistory()); diff --git a/lib/class/imageThumb.class.php b/lib/class/imageThumb.class.php new file mode 100644 index 0000000..22b8ea9 --- /dev/null +++ b/lib/class/imageThumb.class.php @@ -0,0 +1,167 @@ +SetVar('1.jpg','file'); + * $cm->Distortion('dis_bei.jpg',150,200); + + * $cm->Prorate('pro_bei.jpg',150,200);//附带切割 + * $cm->Cut('cut_bei.jpg',150,200); + * $cm->BackFill('fill_bei.jpg',150,200); + */ +class CreatMiniature { + // 公共变量 + var $srcFile = ''; //原图 + var $echoType; //输出图片类型,link--不保存为文件;file--保存为文件 + var $im = ''; //临时变量 + var $srcW = ''; //原图宽 + var $srcH = ''; //原图高 + // 设置变量及初始化 + function SetVar($srcFile, $echoType){ + $this->srcFile = $srcFile; + $this->echoType = $echoType; + + $info = ''; + $data = GetImageSize($this->srcFile, $info); + switch ($data[2]) { + case 1: + if (!function_exists('imagecreatefromgif')) { + exit(); + } + $this->im = ImageCreateFromGIF($this->srcFile); + break; + case 2: + if (!function_exists('imagecreatefromjpeg')) { + exit(); + } + $this->im = ImageCreateFromJpeg($this->srcFile); + break; + case 3: + $this->im = ImageCreateFromPNG($this->srcFile); + break; + } + $this->srcW = ImageSX($this->im); + $this->srcH = ImageSY($this->im); + } + // 生成扭曲型缩图 + function Distortion($toFile, $toW, $toH){ + $cImg = $this->CreatImage($this->im, $toW, $toH, 0, 0, 0, 0, $this->srcW, $this->srcH); + return $this->EchoImage($cImg, $toFile); + ImageDestroy($cImg); + } + // 生成按比例缩放的缩图 + function Prorate($toFile, $toW, $toH){ + $toWH = $toW / $toH; + $srcWH = $this->srcW / $this->srcH; + if ($toWH<=$srcWH) { + $ftoW = $toW; + $ftoH = $ftoW * ($this->srcH / $this->srcW); + } else { + $ftoH = $toH; + $ftoW = $ftoH * ($this->srcW / $this->srcH); + } + if ($this->srcW > $toW || $this->srcH > $toH) { + $cImg = $this->CreatImage($this->im, $ftoW, $ftoH, 0, 0, 0, 0, $this->srcW, $this->srcH); + return $this->EchoImage($cImg, $toFile); + ImageDestroy($cImg); + } else { + $cImg = $this->CreatImage($this->im, $this->srcW, $this->srcH, 0, 0, 0, 0, $this->srcW, $this->srcH); + return $this->EchoImage($cImg, $toFile); + ImageDestroy($cImg); + } + } + // 生成最小裁剪后的缩图 + function Cut($toFile, $toW, $toH){ + $toWH = $toW / $toH; + $srcWH = $this->srcW / $this->srcH; + if ($toWH<=$srcWH) { + $ctoH = $toH; + $ctoW = $ctoH * ($this->srcW / $this->srcH); + } else { + $ctoW = $toW; + $ctoH = $ctoW * ($this->srcH / $this->srcW); + } + $allImg = $this->CreatImage($this->im, $ctoW, $ctoH, 0, 0, 0, 0, $this->srcW, $this->srcH); + $cImg = $this->CreatImage($allImg, $toW, $toH, 0, 0, ($ctoW - $toW) / 2, ($ctoH - $toH) / 2, $toW, $toH); + return $this->EchoImage($cImg, $toFile); + ImageDestroy($cImg); + ImageDestroy($allImg); + } + // 生成背景填充的缩图,默认用白色填充剩余空间,传入$isAlpha为真时用透明色填充 + function BackFill($toFile, $toW, $toH,$isAlpha=false,$red=255, $green=255, $blue=255){ + $toWH = $toW / $toH; + $srcWH = $this->srcW / $this->srcH; + if ($toWH<=$srcWH) { + $ftoW = $toW; + $ftoH = $ftoW * ($this->srcH / $this->srcW); + } else { + $ftoH = $toH; + $ftoW = $ftoH * ($this->srcW / $this->srcH); + } + if (function_exists('imagecreatetruecolor')) { + @$cImg = ImageCreateTrueColor($toW, $toH); + if (!$cImg) { + $cImg = ImageCreate($toW, $toH); + } + } else { + $cImg = ImageCreate($toW, $toH); + } + + + $fromTop = ($toH - $ftoH)/2;//从正中间填充 + $backcolor = imagecolorallocate($cImg,$red,$green, $blue); //填充的背景颜色 + if ($isAlpha){//填充透明色 + $backcolor=ImageColorTransparent($cImg,$backcolor); + $fromTop = $toH - $ftoH;//从底部填充 + } + + ImageFilledRectangle($cImg, 0, 0, $toW, $toH, $backcolor); + if ($this->srcW > $toW || $this->srcH > $toH) { + $proImg = $this->CreatImage($this->im, $ftoW, $ftoH, 0, 0, 0, 0, $this->srcW, $this->srcH); + if ($ftoW < $toW) { + ImageCopy($cImg, $proImg, ($toW - $ftoW) / 2, 0, 0, 0, $ftoW, $ftoH); + } else if ($ftoH < $toH) { + ImageCopy($cImg, $proImg, 0, $fromTop, 0, 0, $ftoW, $ftoH); + } else { + ImageCopy($cImg, $proImg, 0, 0, 0, 0, $ftoW, $ftoH); + } + } else { + ImageCopyMerge($cImg, $this->im, ($toW - $ftoW) / 2,$fromTop, 0, 0, $ftoW, $ftoH, 100); + } + return $this->EchoImage($cImg, $toFile); + ImageDestroy($cImg); + } + + function CreatImage($img, $creatW, $creatH, $dstX, $dstY, $srcX, $srcY, $srcImgW, $srcImgH){ + if (function_exists('imagecreatetruecolor')) { + @$creatImg = ImageCreateTrueColor($creatW, $creatH); + if ($creatImg) + ImageCopyResampled($creatImg, $img, $dstX, $dstY, $srcX, $srcY, $creatW, $creatH, $srcImgW, $srcImgH); + else { + $creatImg = ImageCreate($creatW, $creatH); + ImageCopyResized($creatImg, $img, $dstX, $dstY, $srcX, $srcY, $creatW, $creatH, $srcImgW, $srcImgH); + } + } else { + $creatImg = ImageCreate($creatW, $creatH); + ImageCopyResized($creatImg, $img, $dstX, $dstY, $srcX, $srcY, $creatW, $creatH, $srcImgW, $srcImgH); + } + return $creatImg; + } + // 输出图片,link---只输出,不保存文件。file--保存为文件 + function EchoImage($img, $to_File){ + switch ($this->echoType) { + case 'link':return ImagePNG($img);break; + case 'file':return ImagePNG($img, $to_File);break; + //return ImageJpeg($img, $to_File); + } + } +} diff --git a/lib/class/lessc.inc.class.php b/lib/class/lessc.inc.class.php new file mode 100644 index 0000000..0699de5 --- /dev/null +++ b/lib/class/lessc.inc.class.php @@ -0,0 +1,3675 @@ + + * Licensed under MIT or GPLv3, see LICENSE + */ + + +/** + * The less compiler and parser. + * + * Converting LESS to CSS is a three stage process. The incoming file is parsed + * by `lessc_parser` into a syntax tree, then it is compiled into another tree + * representing the CSS structure by `lessc`. The CSS tree is fed into a + * formatter, like `lessc_formatter` which then outputs CSS as a string. + * + * During the first compile, all values are *reduced*, which means that their + * types are brought to the lowest form before being dump as strings. This + * handles math equations, variable dereferences, and the like. + * + * The `parse` function of `lessc` is the entry point. + * + * In summary: + * + * The `lessc` class creates an intstance of the parser, feeds it LESS code, + * then transforms the resulting tree to a CSS tree. This class also holds the + * evaluation context, such as all available mixins and variables at any given + * time. + * + * The `lessc_parser` class is only concerned with parsing its input. + * + * The `lessc_formatter` takes a CSS tree, and dumps it to a formatted string, + * handling things like indentation. + */ +class lessc { + static public $VERSION = "v0.4.0"; + static protected $TRUE = array("keyword", "true"); + static protected $FALSE = array("keyword", "false"); + + protected $libFunctions = array(); + protected $registeredVars = array(); + protected $preserveComments = false; + + public $vPrefix = '@'; // prefix of abstract properties + public $mPrefix = '$'; // prefix of abstract blocks + public $parentSelector = '&'; + + public $importDisabled = false; + public $importDir = ''; + + protected $numberPrecision = null; + + protected $allParsedFiles = array(); + + // set to the parser that generated the current line when compiling + // so we know how to create error messages + protected $sourceParser = null; + protected $sourceLoc = null; + + static public $defaultValue = array("keyword", ""); + + static protected $nextImportId = 0; // uniquely identify imports + + // attempts to find the path of an import url, returns null for css files + protected function findImport($url) { + foreach ((array)$this->importDir as $dir) { + $full = $dir.(substr($dir, -1) != '/' ? '/' : '').$url; + if ($this->fileExists($file = $full.'.less') || $this->fileExists($file = $full)) { + return $file; + } + } + + return null; + } + + protected function fileExists($name) { + return is_file($name); + } + + static public function compressList($items, $delim) { + if (!isset($items[1]) && isset($items[0])) return $items[0]; + else return array('list', $delim, $items); + } + + static public function preg_quote($what) { + return preg_quote($what, '/'); + } + + protected function tryImport($importPath, $parentBlock, $out) { + if ($importPath[0] == "function" && $importPath[1] == "url") { + $importPath = $this->flattenList($importPath[2]); + } + + $str = $this->coerceString($importPath); + if ($str === null) return false; + + $url = $this->compileValue($this->lib_e($str)); + + // don't import if it ends in css + if (substr_compare($url, '.css', -4, 4) === 0) return false; + + $realPath = $this->findImport($url); + + if ($realPath === null) return false; + + if ($this->importDisabled) { + return array(false, "/* import disabled */"); + } + + if (isset($this->allParsedFiles[realpath($realPath)])) { + return array(false, null); + } + + $this->addParsedFile($realPath); + $parser = $this->makeParser($realPath); + $root = $parser->parse(file_get_contents($realPath)); + + // set the parents of all the block props + foreach ($root->props as $prop) { + if ($prop[0] == "block") { + $prop[1]->parent = $parentBlock; + } + } + + // copy mixins into scope, set their parents + // bring blocks from import into current block + // TODO: need to mark the source parser these came from this file + foreach ($root->children as $childName => $child) { + if (isset($parentBlock->children[$childName])) { + $parentBlock->children[$childName] = array_merge( + $parentBlock->children[$childName], + $child); + } else { + $parentBlock->children[$childName] = $child; + } + } + + $pi = pathinfo($realPath); + $dir = $pi["dirname"]; + + list($top, $bottom) = $this->sortProps($root->props, true); + $this->compileImportedProps($top, $parentBlock, $out, $parser, $dir); + + return array(true, $bottom, $parser, $dir); + } + + protected function compileImportedProps($props, $block, $out, $sourceParser, $importDir) { + $oldSourceParser = $this->sourceParser; + + $oldImport = $this->importDir; + + // TODO: this is because the importDir api is stupid + $this->importDir = (array)$this->importDir; + array_unshift($this->importDir, $importDir); + + foreach ($props as $prop) { + $this->compileProp($prop, $block, $out); + } + + $this->importDir = $oldImport; + $this->sourceParser = $oldSourceParser; + } + + /** + * Recursively compiles a block. + * + * A block is analogous to a CSS block in most cases. A single LESS document + * is encapsulated in a block when parsed, but it does not have parent tags + * so all of it's children appear on the root level when compiled. + * + * Blocks are made up of props and children. + * + * Props are property instructions, array tuples which describe an action + * to be taken, eg. write a property, set a variable, mixin a block. + * + * The children of a block are just all the blocks that are defined within. + * This is used to look up mixins when performing a mixin. + * + * Compiling the block involves pushing a fresh environment on the stack, + * and iterating through the props, compiling each one. + * + * See lessc::compileProp() + * + */ + protected function compileBlock($block) { + switch ($block->type) { + case "root": + $this->compileRoot($block); + break; + case null: + $this->compileCSSBlock($block); + break; + case "media": + $this->compileMedia($block); + break; + case "directive": + $name = "@" . $block->name; + if (!empty($block->value)) { + $name .= " " . $this->compileValue($this->reduce($block->value)); + } + + $this->compileNestedBlock($block, array($name)); + break; + default: + $this->throwError("unknown block type: $block->type\n"); + } + } + + protected function compileCSSBlock($block) { + $env = $this->pushEnv(); + + $selectors = $this->compileSelectors($block->tags); + $env->selectors = $this->multiplySelectors($selectors); + $out = $this->makeOutputBlock(null, $env->selectors); + + $this->scope->children[] = $out; + $this->compileProps($block, $out); + + $block->scope = $env; // mixins carry scope with them! + $this->popEnv(); + } + + protected function compileMedia($media) { + $env = $this->pushEnv($media); + $parentScope = $this->mediaParent($this->scope); + + $query = $this->compileMediaQuery($this->multiplyMedia($env)); + + $this->scope = $this->makeOutputBlock($media->type, array($query)); + $parentScope->children[] = $this->scope; + + $this->compileProps($media, $this->scope); + + if (count($this->scope->lines) > 0) { + $orphanSelelectors = $this->findClosestSelectors(); + if (!is_null($orphanSelelectors)) { + $orphan = $this->makeOutputBlock(null, $orphanSelelectors); + $orphan->lines = $this->scope->lines; + array_unshift($this->scope->children, $orphan); + $this->scope->lines = array(); + } + } + + $this->scope = $this->scope->parent; + $this->popEnv(); + } + + protected function mediaParent($scope) { + while (!empty($scope->parent)) { + if (!empty($scope->type) && $scope->type != "media") { + break; + } + $scope = $scope->parent; + } + + return $scope; + } + + protected function compileNestedBlock($block, $selectors) { + $this->pushEnv($block); + $this->scope = $this->makeOutputBlock($block->type, $selectors); + $this->scope->parent->children[] = $this->scope; + + $this->compileProps($block, $this->scope); + + $this->scope = $this->scope->parent; + $this->popEnv(); + } + + protected function compileRoot($root) { + $this->pushEnv(); + $this->scope = $this->makeOutputBlock($root->type); + $this->compileProps($root, $this->scope); + $this->popEnv(); + } + + protected function compileProps($block, $out) { + foreach ($this->sortProps($block->props) as $prop) { + $this->compileProp($prop, $block, $out); + } + + $out->lines = array_values(array_unique($out->lines)); + } + + protected function sortProps($props, $split = false) { + $vars = array(); + $imports = array(); + $other = array(); + + foreach ($props as $prop) { + switch ($prop[0]) { + case "assign": + if (isset($prop[1][0]) && $prop[1][0] == $this->vPrefix) { + $vars[] = $prop; + } else { + $other[] = $prop; + } + break; + case "import": + $id = self::$nextImportId++; + $prop[] = $id; + $imports[] = $prop; + $other[] = array("import_mixin", $id); + break; + default: + $other[] = $prop; + } + } + + if ($split) { + return array(array_merge($vars, $imports), $other); + } else { + return array_merge($vars, $imports, $other); + } + } + + protected function compileMediaQuery($queries) { + $compiledQueries = array(); + foreach ($queries as $query) { + $parts = array(); + foreach ($query as $q) { + switch ($q[0]) { + case "mediaType": + $parts[] = implode(" ", array_slice($q, 1)); + break; + case "mediaExp": + if (isset($q[2])) { + $parts[] = "($q[1]: " . + $this->compileValue($this->reduce($q[2])) . ")"; + } else { + $parts[] = "($q[1])"; + } + break; + case "variable": + $parts[] = $this->compileValue($this->reduce($q)); + break; + } + } + + if (count($parts) > 0) { + $compiledQueries[] = implode(" and ", $parts); + } + } + + $out = "@media"; + if (!empty($parts)) { + $out .= " " . + implode($this->formatter->selectorSeparator, $compiledQueries); + } + return $out; + } + + protected function multiplyMedia($env, $childQueries = null) { + if (is_null($env) || + !empty($env->block->type) && $env->block->type != "media") + { + return $childQueries; + } + + // plain old block, skip + if (empty($env->block->type)) { + return $this->multiplyMedia($env->parent, $childQueries); + } + + $out = array(); + $queries = $env->block->queries; + if (is_null($childQueries)) { + $out = $queries; + } else { + foreach ($queries as $parent) { + foreach ($childQueries as $child) { + $out[] = array_merge($parent, $child); + } + } + } + + return $this->multiplyMedia($env->parent, $out); + } + + protected function expandParentSelectors(&$tag, $replace) { + $parts = explode("$&$", $tag); + $count = 0; + foreach ($parts as &$part) { + $part = str_replace($this->parentSelector, $replace, $part, $c); + $count += $c; + } + $tag = implode($this->parentSelector, $parts); + return $count; + } + + protected function findClosestSelectors() { + $env = $this->env; + $selectors = null; + while ($env !== null) { + if (isset($env->selectors)) { + $selectors = $env->selectors; + break; + } + $env = $env->parent; + } + + return $selectors; + } + + + // multiply $selectors against the nearest selectors in env + protected function multiplySelectors($selectors) { + // find parent selectors + + $parentSelectors = $this->findClosestSelectors(); + if (is_null($parentSelectors)) { + // kill parent reference in top level selector + foreach ($selectors as &$s) { + $this->expandParentSelectors($s, ""); + } + + return $selectors; + } + + $out = array(); + foreach ($parentSelectors as $parent) { + foreach ($selectors as $child) { + $count = $this->expandParentSelectors($child, $parent); + + // don't prepend the parent tag if & was used + if ($count > 0) { + $out[] = trim($child); + } else { + $out[] = trim($parent . ' ' . $child); + } + } + } + + return $out; + } + + // reduces selector expressions + protected function compileSelectors($selectors) { + $out = array(); + + foreach ($selectors as $s) { + if (is_array($s)) { + list(, $value) = $s; + $out[] = trim($this->compileValue($this->reduce($value))); + } else { + $out[] = $s; + } + } + + return $out; + } + + protected function eq($left, $right) { + return $left == $right; + } + + protected function patternMatch($block, $orderedArgs, $keywordArgs) { + // match the guards if it has them + // any one of the groups must have all its guards pass for a match + if (!empty($block->guards)) { + $groupPassed = false; + foreach ($block->guards as $guardGroup) { + foreach ($guardGroup as $guard) { + $this->pushEnv(); + $this->zipSetArgs($block->args, $orderedArgs, $keywordArgs); + + $negate = false; + if ($guard[0] == "negate") { + $guard = $guard[1]; + $negate = true; + } + + $passed = $this->reduce($guard) == self::$TRUE; + if ($negate) $passed = !$passed; + + $this->popEnv(); + + if ($passed) { + $groupPassed = true; + } else { + $groupPassed = false; + break; + } + } + + if ($groupPassed) break; + } + + if (!$groupPassed) { + return false; + } + } + + if (empty($block->args)) { + return $block->isVararg || empty($orderedArgs) && empty($keywordArgs); + } + + $remainingArgs = $block->args; + if ($keywordArgs) { + $remainingArgs = array(); + foreach ($block->args as $arg) { + if ($arg[0] == "arg" && isset($keywordArgs[$arg[1]])) { + continue; + } + + $remainingArgs[] = $arg; + } + } + + $i = -1; // no args + // try to match by arity or by argument literal + foreach ($remainingArgs as $i => $arg) { + switch ($arg[0]) { + case "lit": + if (empty($orderedArgs[$i]) || !$this->eq($arg[1], $orderedArgs[$i])) { + return false; + } + break; + case "arg": + // no arg and no default value + if (!isset($orderedArgs[$i]) && !isset($arg[2])) { + return false; + } + break; + case "rest": + $i--; // rest can be empty + break 2; + } + } + + if ($block->isVararg) { + return true; // not having enough is handled above + } else { + $numMatched = $i + 1; + // greater than becuase default values always match + return $numMatched >= count($orderedArgs); + } + } + + protected function patternMatchAll($blocks, $orderedArgs, $keywordArgs, $skip=array()) { + $matches = null; + foreach ($blocks as $block) { + // skip seen blocks that don't have arguments + if (isset($skip[$block->id]) && !isset($block->args)) { + continue; + } + + if ($this->patternMatch($block, $orderedArgs, $keywordArgs)) { + $matches[] = $block; + } + } + + return $matches; + } + + // attempt to find blocks matched by path and args + protected function findBlocks($searchIn, $path, $orderedArgs, $keywordArgs, $seen=array()) { + if ($searchIn == null) return null; + if (isset($seen[$searchIn->id])) return null; + $seen[$searchIn->id] = true; + + $name = $path[0]; + + if (isset($searchIn->children[$name])) { + $blocks = $searchIn->children[$name]; + if (count($path) == 1) { + $matches = $this->patternMatchAll($blocks, $orderedArgs, $keywordArgs, $seen); + if (!empty($matches)) { + // This will return all blocks that match in the closest + // scope that has any matching block, like lessjs + return $matches; + } + } else { + $matches = array(); + foreach ($blocks as $subBlock) { + $subMatches = $this->findBlocks($subBlock, + array_slice($path, 1), $orderedArgs, $keywordArgs, $seen); + + if (!is_null($subMatches)) { + foreach ($subMatches as $sm) { + $matches[] = $sm; + } + } + } + + return count($matches) > 0 ? $matches : null; + } + } + if ($searchIn->parent === $searchIn) return null; + return $this->findBlocks($searchIn->parent, $path, $orderedArgs, $keywordArgs, $seen); + } + + // sets all argument names in $args to either the default value + // or the one passed in through $values + protected function zipSetArgs($args, $orderedValues, $keywordValues) { + $assignedValues = array(); + + $i = 0; + foreach ($args as $a) { + if ($a[0] == "arg") { + if (isset($keywordValues[$a[1]])) { + // has keyword arg + $value = $keywordValues[$a[1]]; + } elseif (isset($orderedValues[$i])) { + // has ordered arg + $value = $orderedValues[$i]; + $i++; + } elseif (isset($a[2])) { + // has default value + $value = $a[2]; + } else { + $this->throwError("Failed to assign arg " . $a[1]); + $value = null; // :( + } + + $value = $this->reduce($value); + $this->set($a[1], $value); + $assignedValues[] = $value; + } else { + // a lit + $i++; + } + } + + // check for a rest + $last = end($args); + if ($last[0] == "rest") { + $rest = array_slice($orderedValues, count($args) - 1); + $this->set($last[1], $this->reduce(array("list", " ", $rest))); + } + + // wow is this the only true use of PHP's + operator for arrays? + $this->env->arguments = $assignedValues + $orderedValues; + } + + // compile a prop and update $lines or $blocks appropriately + protected function compileProp($prop, $block, $out) { + // set error position context + $this->sourceLoc = isset($prop[-1]) ? $prop[-1] : -1; + + switch ($prop[0]) { + case 'assign': + list(, $name, $value) = $prop; + if ($name[0] == $this->vPrefix) { + $this->set($name, $value); + } else { + $out->lines[] = $this->formatter->property($name, + $this->compileValue($this->reduce($value))); + } + break; + case 'block': + list(, $child) = $prop; + $this->compileBlock($child); + break; + case 'mixin': + list(, $path, $args, $suffix) = $prop; + + $orderedArgs = array(); + $keywordArgs = array(); + foreach ((array)$args as $arg) { + $argval = null; + switch ($arg[0]) { + case "arg": + if (!isset($arg[2])) { + $orderedArgs[] = $this->reduce(array("variable", $arg[1])); + } else { + $keywordArgs[$arg[1]] = $this->reduce($arg[2]); + } + break; + + case "lit": + $orderedArgs[] = $this->reduce($arg[1]); + break; + default: + $this->throwError("Unknown arg type: " . $arg[0]); + } + } + + $mixins = $this->findBlocks($block, $path, $orderedArgs, $keywordArgs); + + if ($mixins === null) { + // fwrite(STDERR,"failed to find block: ".implode(" > ", $path)."\n"); + break; // throw error here?? + } + + foreach ($mixins as $mixin) { + if ($mixin === $block && !$orderedArgs) { + continue; + } + + $haveScope = false; + if (isset($mixin->parent->scope)) { + $haveScope = true; + $mixinParentEnv = $this->pushEnv(); + $mixinParentEnv->storeParent = $mixin->parent->scope; + } + + $haveArgs = false; + if (isset($mixin->args)) { + $haveArgs = true; + $this->pushEnv(); + $this->zipSetArgs($mixin->args, $orderedArgs, $keywordArgs); + } + + $oldParent = $mixin->parent; + if ($mixin != $block) $mixin->parent = $block; + + foreach ($this->sortProps($mixin->props) as $subProp) { + if ($suffix !== null && + $subProp[0] == "assign" && + is_string($subProp[1]) && + $subProp[1]{0} != $this->vPrefix) + { + $subProp[2] = array( + 'list', ' ', + array($subProp[2], array('keyword', $suffix)) + ); + } + + $this->compileProp($subProp, $mixin, $out); + } + + $mixin->parent = $oldParent; + + if ($haveArgs) $this->popEnv(); + if ($haveScope) $this->popEnv(); + } + + break; + case 'raw': + $out->lines[] = $prop[1]; + break; + case "directive": + list(, $name, $value) = $prop; + $out->lines[] = "@$name " . $this->compileValue($this->reduce($value)).';'; + break; + case "comment": + $out->lines[] = $prop[1]; + break; + case "import"; + list(, $importPath, $importId) = $prop; + $importPath = $this->reduce($importPath); + + if (!isset($this->env->imports)) { + $this->env->imports = array(); + } + + $result = $this->tryImport($importPath, $block, $out); + + $this->env->imports[$importId] = $result === false ? + array(false, "@import " . $this->compileValue($importPath).";") : + $result; + + break; + case "import_mixin": + list(,$importId) = $prop; + $import = $this->env->imports[$importId]; + if ($import[0] === false) { + if (isset($import[1])) { + $out->lines[] = $import[1]; + } + } else { + list(, $bottom, $parser, $importDir) = $import; + $this->compileImportedProps($bottom, $block, $out, $parser, $importDir); + } + + break; + default: + $this->throwError("unknown op: {$prop[0]}\n"); + } + } + + + /** + * Compiles a primitive value into a CSS property value. + * + * Values in lessphp are typed by being wrapped in arrays, their format is + * typically: + * + * array(type, contents [, additional_contents]*) + * + * The input is expected to be reduced. This function will not work on + * things like expressions and variables. + */ + protected function compileValue($value) { + switch ($value[0]) { + case 'list': + // [1] - delimiter + // [2] - array of values + return implode($value[1], array_map(array($this, 'compileValue'), $value[2])); + case 'raw_color': + if (!empty($this->formatter->compressColors)) { + return $this->compileValue($this->coerceColor($value)); + } + return $value[1]; + case 'keyword': + // [1] - the keyword + return $value[1]; + case 'number': + list(, $num, $unit) = $value; + // [1] - the number + // [2] - the unit + if ($this->numberPrecision !== null) { + $num = round($num, $this->numberPrecision); + } + return $num . $unit; + case 'string': + // [1] - contents of string (includes quotes) + list(, $delim, $content) = $value; + foreach ($content as &$part) { + if (is_array($part)) { + $part = $this->compileValue($part); + } + } + return $delim . implode($content) . $delim; + case 'color': + // [1] - red component (either number or a %) + // [2] - green component + // [3] - blue component + // [4] - optional alpha component + list(, $r, $g, $b) = $value; + $r = round($r); + $g = round($g); + $b = round($b); + + if (count($value) == 5 && $value[4] != 1) { // rgba + return 'rgba('.$r.','.$g.','.$b.','.$value[4].')'; + } + + $h = sprintf("#%02x%02x%02x", $r, $g, $b); + + if (!empty($this->formatter->compressColors)) { + // Converting hex color to short notation (e.g. #003399 to #039) + if ($h[1] === $h[2] && $h[3] === $h[4] && $h[5] === $h[6]) { + $h = '#' . $h[1] . $h[3] . $h[5]; + } + } + + return $h; + + case 'function': + list(, $name, $args) = $value; + return $name.'('.$this->compileValue($args).')'; + default: // assumed to be unit + $this->throwError("unknown value type: $value[0]"); + } + } + + protected function lib_pow($args) { + list($base, $exp) = $this->assertArgs($args, 2, "pow"); + return pow($this->assertNumber($base), $this->assertNumber($exp)); + } + + protected function lib_pi() { + return pi(); + } + + protected function lib_mod($args) { + list($a, $b) = $this->assertArgs($args, 2, "mod"); + return $this->assertNumber($a) % $this->assertNumber($b); + } + + protected function lib_tan($num) { + return tan($this->assertNumber($num)); + } + + protected function lib_sin($num) { + return sin($this->assertNumber($num)); + } + + protected function lib_cos($num) { + return cos($this->assertNumber($num)); + } + + protected function lib_atan($num) { + $num = atan($this->assertNumber($num)); + return array("number", $num, "rad"); + } + + protected function lib_asin($num) { + $num = asin($this->assertNumber($num)); + return array("number", $num, "rad"); + } + + protected function lib_acos($num) { + $num = acos($this->assertNumber($num)); + return array("number", $num, "rad"); + } + + protected function lib_sqrt($num) { + return sqrt($this->assertNumber($num)); + } + + protected function lib_extract($value) { + list($list, $idx) = $this->assertArgs($value, 2, "extract"); + $idx = $this->assertNumber($idx); + // 1 indexed + if ($list[0] == "list" && isset($list[2][$idx - 1])) { + return $list[2][$idx - 1]; + } + } + + protected function lib_isnumber($value) { + return $this->toBool($value[0] == "number"); + } + + protected function lib_isstring($value) { + return $this->toBool($value[0] == "string"); + } + + protected function lib_iscolor($value) { + return $this->toBool($this->coerceColor($value)); + } + + protected function lib_iskeyword($value) { + return $this->toBool($value[0] == "keyword"); + } + + protected function lib_ispixel($value) { + return $this->toBool($value[0] == "number" && $value[2] == "px"); + } + + protected function lib_ispercentage($value) { + return $this->toBool($value[0] == "number" && $value[2] == "%"); + } + + protected function lib_isem($value) { + return $this->toBool($value[0] == "number" && $value[2] == "em"); + } + + protected function lib_isrem($value) { + return $this->toBool($value[0] == "number" && $value[2] == "rem"); + } + + protected function lib_rgbahex($color) { + $color = $this->coerceColor($color); + if (is_null($color)) + $this->throwError("color expected for rgbahex"); + + return sprintf("#%02x%02x%02x%02x", + isset($color[4]) ? $color[4]*255 : 255, + $color[1],$color[2], $color[3]); + } + + protected function lib_argb($color){ + return $this->lib_rgbahex($color); + } + + // utility func to unquote a string + protected function lib_e($arg) { + switch ($arg[0]) { + case "list": + $items = $arg[2]; + if (isset($items[0])) { + return $this->lib_e($items[0]); + } + return self::$defaultValue; + case "string": + $arg[1] = ""; + return $arg; + case "keyword": + return $arg; + default: + return array("keyword", $this->compileValue($arg)); + } + } + + protected function lib__sprintf($args) { + if ($args[0] != "list") return $args; + $values = $args[2]; + $string = array_shift($values); + $template = $this->compileValue($this->lib_e($string)); + + $i = 0; + if (preg_match_all('/%[dsa]/', $template, $m)) { + foreach ($m[0] as $match) { + $val = isset($values[$i]) ? + $this->reduce($values[$i]) : array('keyword', ''); + + // lessjs compat, renders fully expanded color, not raw color + if ($color = $this->coerceColor($val)) { + $val = $color; + } + + $i++; + $rep = $this->compileValue($this->lib_e($val)); + $template = preg_replace('/'.self::preg_quote($match).'/', + $rep, $template, 1); + } + } + + $d = $string[0] == "string" ? $string[1] : '"'; + return array("string", $d, array($template)); + } + + protected function lib_floor($arg) { + $value = $this->assertNumber($arg); + return array("number", floor($value), $arg[2]); + } + + protected function lib_ceil($arg) { + $value = $this->assertNumber($arg); + return array("number", ceil($value), $arg[2]); + } + + protected function lib_round($arg) { + $value = $this->assertNumber($arg); + return array("number", round($value), $arg[2]); + } + + protected function lib_unit($arg) { + if ($arg[0] == "list") { + list($number, $newUnit) = $arg[2]; + return array("number", $this->assertNumber($number), + $this->compileValue($this->lib_e($newUnit))); + } else { + return array("number", $this->assertNumber($arg), ""); + } + } + + /** + * Helper function to get arguments for color manipulation functions. + * takes a list that contains a color like thing and a percentage + */ + protected function colorArgs($args) { + if ($args[0] != 'list' || count($args[2]) < 2) { + return array(array('color', 0, 0, 0), 0); + } + list($color, $delta) = $args[2]; + $color = $this->assertColor($color); + $delta = floatval($delta[1]); + + return array($color, $delta); + } + + protected function lib_darken($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[3] = $this->clamp($hsl[3] - $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_lighten($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[3] = $this->clamp($hsl[3] + $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_saturate($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[2] = $this->clamp($hsl[2] + $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_desaturate($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[2] = $this->clamp($hsl[2] - $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_spin($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + + $hsl[1] = $hsl[1] + $delta % 360; + if ($hsl[1] < 0) $hsl[1] += 360; + + return $this->toRGB($hsl); + } + + protected function lib_fadeout($args) { + list($color, $delta) = $this->colorArgs($args); + $color[4] = $this->clamp((isset($color[4]) ? $color[4] : 1) - $delta/100); + return $color; + } + + protected function lib_fadein($args) { + list($color, $delta) = $this->colorArgs($args); + $color[4] = $this->clamp((isset($color[4]) ? $color[4] : 1) + $delta/100); + return $color; + } + + protected function lib_hue($color) { + $hsl = $this->toHSL($this->assertColor($color)); + return round($hsl[1]); + } + + protected function lib_saturation($color) { + $hsl = $this->toHSL($this->assertColor($color)); + return round($hsl[2]); + } + + protected function lib_lightness($color) { + $hsl = $this->toHSL($this->assertColor($color)); + return round($hsl[3]); + } + + // get the alpha of a color + // defaults to 1 for non-colors or colors without an alpha + protected function lib_alpha($value) { + if (!is_null($color = $this->coerceColor($value))) { + return isset($color[4]) ? $color[4] : 1; + } + } + + // set the alpha of the color + protected function lib_fade($args) { + list($color, $alpha) = $this->colorArgs($args); + $color[4] = $this->clamp($alpha / 100.0); + return $color; + } + + protected function lib_percentage($arg) { + $num = $this->assertNumber($arg); + return array("number", $num*100, "%"); + } + + // mixes two colors by weight + // mix(@color1, @color2, [@weight: 50%]); + // http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#mix-instance_method + protected function lib_mix($args) { + if ($args[0] != "list" || count($args[2]) < 2) + $this->throwError("mix expects (color1, color2, weight)"); + + list($first, $second) = $args[2]; + $first = $this->assertColor($first); + $second = $this->assertColor($second); + + $first_a = $this->lib_alpha($first); + $second_a = $this->lib_alpha($second); + + if (isset($args[2][2])) { + $weight = $args[2][2][1] / 100.0; + } else { + $weight = 0.5; + } + + $w = $weight * 2 - 1; + $a = $first_a - $second_a; + + $w1 = (($w * $a == -1 ? $w : ($w + $a)/(1 + $w * $a)) + 1) / 2.0; + $w2 = 1.0 - $w1; + + $new = array('color', + $w1 * $first[1] + $w2 * $second[1], + $w1 * $first[2] + $w2 * $second[2], + $w1 * $first[3] + $w2 * $second[3], + ); + + if ($first_a != 1.0 || $second_a != 1.0) { + $new[] = $first_a * $weight + $second_a * ($weight - 1); + } + + return $this->fixColor($new); + } + + protected function lib_contrast($args) { + if ($args[0] != 'list' || count($args[2]) < 3) { + return array(array('color', 0, 0, 0), 0); + } + + list($inputColor, $darkColor, $lightColor) = $args[2]; + + $inputColor = $this->assertColor($inputColor); + $darkColor = $this->assertColor($darkColor); + $lightColor = $this->assertColor($lightColor); + $hsl = $this->toHSL($inputColor); + + if ($hsl[3] > 50) { + return $darkColor; + } + + return $lightColor; + } + + protected function assertColor($value, $error = "expected color value") { + $color = $this->coerceColor($value); + if (is_null($color)) $this->throwError($error); + return $color; + } + + protected function assertNumber($value, $error = "expecting number") { + if ($value[0] == "number") return $value[1]; + $this->throwError($error); + } + + protected function assertArgs($value, $expectedArgs, $name="") { + if ($expectedArgs == 1) { + return $value; + } else { + if ($value[0] !== "list" || $value[1] != ",") $this->throwError("expecting list"); + $values = $value[2]; + $numValues = count($values); + if ($expectedArgs != $numValues) { + if ($name) { + $name = $name . ": "; + } + + $this->throwError("${name}expecting $expectedArgs arguments, got $numValues"); + } + + return $values; + } + } + + protected function toHSL($color) { + if ($color[0] == 'hsl') return $color; + + $r = $color[1] / 255; + $g = $color[2] / 255; + $b = $color[3] / 255; + + $min = min($r, $g, $b); + $max = max($r, $g, $b); + + $L = ($min + $max) / 2; + if ($min == $max) { + $S = $H = 0; + } else { + if ($L < 0.5) + $S = ($max - $min)/($max + $min); + else + $S = ($max - $min)/(2.0 - $max - $min); + + if ($r == $max) $H = ($g - $b)/($max - $min); + elseif ($g == $max) $H = 2.0 + ($b - $r)/($max - $min); + elseif ($b == $max) $H = 4.0 + ($r - $g)/($max - $min); + + } + + $out = array('hsl', + ($H < 0 ? $H + 6 : $H)*60, + $S*100, + $L*100, + ); + + if (count($color) > 4) $out[] = $color[4]; // copy alpha + return $out; + } + + protected function toRGB_helper($comp, $temp1, $temp2) { + if ($comp < 0) $comp += 1.0; + elseif ($comp > 1) $comp -= 1.0; + + if (6 * $comp < 1) return $temp1 + ($temp2 - $temp1) * 6 * $comp; + if (2 * $comp < 1) return $temp2; + if (3 * $comp < 2) return $temp1 + ($temp2 - $temp1)*((2/3) - $comp) * 6; + + return $temp1; + } + + /** + * Converts a hsl array into a color value in rgb. + * Expects H to be in range of 0 to 360, S and L in 0 to 100 + */ + protected function toRGB($color) { + if ($color[0] == 'color') return $color; + + $H = $color[1] / 360; + $S = $color[2] / 100; + $L = $color[3] / 100; + + if ($S == 0) { + $r = $g = $b = $L; + } else { + $temp2 = $L < 0.5 ? + $L*(1.0 + $S) : + $L + $S - $L * $S; + + $temp1 = 2.0 * $L - $temp2; + + $r = $this->toRGB_helper($H + 1/3, $temp1, $temp2); + $g = $this->toRGB_helper($H, $temp1, $temp2); + $b = $this->toRGB_helper($H - 1/3, $temp1, $temp2); + } + + // $out = array('color', round($r*255), round($g*255), round($b*255)); + $out = array('color', $r*255, $g*255, $b*255); + if (count($color) > 4) $out[] = $color[4]; // copy alpha + return $out; + } + + protected function clamp($v, $max = 1, $min = 0) { + return min($max, max($min, $v)); + } + + /** + * Convert the rgb, rgba, hsl color literals of function type + * as returned by the parser into values of color type. + */ + protected function funcToColor($func) { + $fname = $func[1]; + if ($func[2][0] != 'list') return false; // need a list of arguments + $rawComponents = $func[2][2]; + + if ($fname == 'hsl' || $fname == 'hsla') { + $hsl = array('hsl'); + $i = 0; + foreach ($rawComponents as $c) { + $val = $this->reduce($c); + $val = isset($val[1]) ? floatval($val[1]) : 0; + + if ($i == 0) $clamp = 360; + elseif ($i < 3) $clamp = 100; + else $clamp = 1; + + $hsl[] = $this->clamp($val, $clamp); + $i++; + } + + while (count($hsl) < 4) $hsl[] = 0; + return $this->toRGB($hsl); + + } elseif ($fname == 'rgb' || $fname == 'rgba') { + $components = array(); + $i = 1; + foreach ($rawComponents as $c) { + $c = $this->reduce($c); + if ($i < 4) { + if ($c[0] == "number" && $c[2] == "%") { + $components[] = 255 * ($c[1] / 100); + } else { + $components[] = floatval($c[1]); + } + } elseif ($i == 4) { + if ($c[0] == "number" && $c[2] == "%") { + $components[] = 1.0 * ($c[1] / 100); + } else { + $components[] = floatval($c[1]); + } + } else break; + + $i++; + } + while (count($components) < 3) $components[] = 0; + array_unshift($components, 'color'); + return $this->fixColor($components); + } + + return false; + } + + protected function reduce($value, $forExpression = false) { + switch ($value[0]) { + case "interpolate": + $reduced = $this->reduce($value[1]); + $var = $this->compileValue($reduced); + $res = $this->reduce(array("variable", $this->vPrefix . $var)); + + if ($res[0] == "raw_color") { + $res = $this->coerceColor($res); + } + + if (empty($value[2])) $res = $this->lib_e($res); + + return $res; + case "variable": + $key = $value[1]; + if (is_array($key)) { + $key = $this->reduce($key); + $key = $this->vPrefix . $this->compileValue($this->lib_e($key)); + } + + $seen =& $this->env->seenNames; + + if (!empty($seen[$key])) { + $this->throwError("infinite loop detected: $key"); + } + + $seen[$key] = true; + $out = $this->reduce($this->get($key, self::$defaultValue)); + $seen[$key] = false; + return $out; + case "list": + foreach ($value[2] as &$item) { + $item = $this->reduce($item, $forExpression); + } + return $value; + case "expression": + return $this->evaluate($value); + case "string": + foreach ($value[2] as &$part) { + if (is_array($part)) { + $strip = $part[0] == "variable"; + $part = $this->reduce($part); + if ($strip) $part = $this->lib_e($part); + } + } + return $value; + case "escape": + list(,$inner) = $value; + return $this->lib_e($this->reduce($inner)); + case "function": + $color = $this->funcToColor($value); + if ($color) return $color; + + list(, $name, $args) = $value; + if ($name == "%") $name = "_sprintf"; + $f = isset($this->libFunctions[$name]) ? + $this->libFunctions[$name] : array($this, 'lib_'.$name); + + if (is_callable($f)) { + if ($args[0] == 'list') + $args = self::compressList($args[2], $args[1]); + + $ret = call_user_func($f, $this->reduce($args, true), $this); + + if (is_null($ret)) { + return array("string", "", array( + $name, "(", $args, ")" + )); + } + + // convert to a typed value if the result is a php primitive + if (is_numeric($ret)) $ret = array('number', $ret, ""); + elseif (!is_array($ret)) $ret = array('keyword', $ret); + + return $ret; + } + + // plain function, reduce args + $value[2] = $this->reduce($value[2]); + return $value; + case "unary": + list(, $op, $exp) = $value; + $exp = $this->reduce($exp); + + if ($exp[0] == "number") { + switch ($op) { + case "+": + return $exp; + case "-": + $exp[1] *= -1; + return $exp; + } + } + return array("string", "", array($op, $exp)); + } + + if ($forExpression) { + switch ($value[0]) { + case "keyword": + if ($color = $this->coerceColor($value)) { + return $color; + } + break; + case "raw_color": + return $this->coerceColor($value); + } + } + + return $value; + } + + + // coerce a value for use in color operation + protected function coerceColor($value) { + switch($value[0]) { + case 'color': return $value; + case 'raw_color': + $c = array("color", 0, 0, 0); + $colorStr = substr($value[1], 1); + $num = hexdec($colorStr); + $width = strlen($colorStr) == 3 ? 16 : 256; + + for ($i = 3; $i > 0; $i--) { // 3 2 1 + $t = $num % $width; + $num /= $width; + + $c[$i] = $t * (256/$width) + $t * floor(16/$width); + } + + return $c; + case 'keyword': + $name = $value[1]; + if (isset(self::$cssColors[$name])) { + $rgba = explode(',', self::$cssColors[$name]); + + if(isset($rgba[3])) + return array('color', $rgba[0], $rgba[1], $rgba[2], $rgba[3]); + + return array('color', $rgba[0], $rgba[1], $rgba[2]); + } + return null; + } + } + + // make something string like into a string + protected function coerceString($value) { + switch ($value[0]) { + case "string": + return $value; + case "keyword": + return array("string", "", array($value[1])); + } + return null; + } + + // turn list of length 1 into value type + protected function flattenList($value) { + if ($value[0] == "list" && count($value[2]) == 1) { + return $this->flattenList($value[2][0]); + } + return $value; + } + + protected function toBool($a) { + if ($a) return self::$TRUE; + else return self::$FALSE; + } + + // evaluate an expression + protected function evaluate($exp) { + list(, $op, $left, $right, $whiteBefore, $whiteAfter) = $exp; + + $left = $this->reduce($left, true); + $right = $this->reduce($right, true); + + if ($leftColor = $this->coerceColor($left)) { + $left = $leftColor; + } + + if ($rightColor = $this->coerceColor($right)) { + $right = $rightColor; + } + + $ltype = $left[0]; + $rtype = $right[0]; + + // operators that work on all types + if ($op == "and") { + return $this->toBool($left == self::$TRUE && $right == self::$TRUE); + } + + if ($op == "=") { + return $this->toBool($this->eq($left, $right) ); + } + + if ($op == "+" && !is_null($str = $this->stringConcatenate($left, $right))) { + return $str; + } + + // type based operators + $fname = "op_${ltype}_${rtype}"; + if (is_callable(array($this, $fname))) { + $out = $this->$fname($op, $left, $right); + if (!is_null($out)) return $out; + } + + // make the expression look it did before being parsed + $paddedOp = $op; + if ($whiteBefore) $paddedOp = " " . $paddedOp; + if ($whiteAfter) $paddedOp .= " "; + + return array("string", "", array($left, $paddedOp, $right)); + } + + protected function stringConcatenate($left, $right) { + if ($strLeft = $this->coerceString($left)) { + if ($right[0] == "string") { + $right[1] = ""; + } + $strLeft[2][] = $right; + return $strLeft; + } + + if ($strRight = $this->coerceString($right)) { + array_unshift($strRight[2], $left); + return $strRight; + } + } + + + // make sure a color's components don't go out of bounds + protected function fixColor($c) { + foreach (range(1, 3) as $i) { + if ($c[$i] < 0) $c[$i] = 0; + if ($c[$i] > 255) $c[$i] = 255; + } + + return $c; + } + + protected function op_number_color($op, $lft, $rgt) { + if ($op == '+' || $op == '*') { + return $this->op_color_number($op, $rgt, $lft); + } + } + + protected function op_color_number($op, $lft, $rgt) { + if ($rgt[0] == '%') $rgt[1] /= 100; + + return $this->op_color_color($op, $lft, + array_fill(1, count($lft) - 1, $rgt[1])); + } + + protected function op_color_color($op, $left, $right) { + $out = array('color'); + $max = count($left) > count($right) ? count($left) : count($right); + foreach (range(1, $max - 1) as $i) { + $lval = isset($left[$i]) ? $left[$i] : 0; + $rval = isset($right[$i]) ? $right[$i] : 0; + switch ($op) { + case '+': + $out[] = $lval + $rval; + break; + case '-': + $out[] = $lval - $rval; + break; + case '*': + $out[] = $lval * $rval; + break; + case '%': + $out[] = $lval % $rval; + break; + case '/': + if ($rval == 0) $this->throwError("evaluate error: can't divide by zero"); + $out[] = $lval / $rval; + break; + default: + $this->throwError('evaluate error: color op number failed on op '.$op); + } + } + return $this->fixColor($out); + } + + function lib_red($color){ + $color = $this->coerceColor($color); + if (is_null($color)) { + $this->throwError('color expected for red()'); + } + + return $color[1]; + } + + function lib_green($color){ + $color = $this->coerceColor($color); + if (is_null($color)) { + $this->throwError('color expected for green()'); + } + + return $color[2]; + } + + function lib_blue($color){ + $color = $this->coerceColor($color); + if (is_null($color)) { + $this->throwError('color expected for blue()'); + } + + return $color[3]; + } + + + // operator on two numbers + protected function op_number_number($op, $left, $right) { + $unit = empty($left[2]) ? $right[2] : $left[2]; + + $value = 0; + switch ($op) { + case '+': + $value = $left[1] + $right[1]; + break; + case '*': + $value = $left[1] * $right[1]; + break; + case '-': + $value = $left[1] - $right[1]; + break; + case '%': + $value = $left[1] % $right[1]; + break; + case '/': + if ($right[1] == 0) $this->throwError('parse error: divide by zero'); + $value = $left[1] / $right[1]; + break; + case '<': + return $this->toBool($left[1] < $right[1]); + case '>': + return $this->toBool($left[1] > $right[1]); + case '>=': + return $this->toBool($left[1] >= $right[1]); + case '=<': + return $this->toBool($left[1] <= $right[1]); + default: + $this->throwError('parse error: unknown number operator: '.$op); + } + + return array("number", $value, $unit); + } + + + /* environment functions */ + + protected function makeOutputBlock($type, $selectors = null) { + $b = new stdclass; + $b->lines = array(); + $b->children = array(); + $b->selectors = $selectors; + $b->type = $type; + $b->parent = $this->scope; + return $b; + } + + // the state of execution + protected function pushEnv($block = null) { + $e = new stdclass; + $e->parent = $this->env; + $e->store = array(); + $e->block = $block; + + $this->env = $e; + return $e; + } + + // pop something off the stack + protected function popEnv() { + $old = $this->env; + $this->env = $this->env->parent; + return $old; + } + + // set something in the current env + protected function set($name, $value) { + $this->env->store[$name] = $value; + } + + + // get the highest occurrence entry for a name + protected function get($name, $default=null) { + $current = $this->env; + + $isArguments = $name == $this->vPrefix . 'arguments'; + while ($current) { + if ($isArguments && isset($current->arguments)) { + return array('list', ' ', $current->arguments); + } + + if (isset($current->store[$name])) + return $current->store[$name]; + else { + $current = isset($current->storeParent) ? + $current->storeParent : $current->parent; + } + } + + return $default; + } + + // inject array of unparsed strings into environment as variables + protected function injectVariables($args) { + $this->pushEnv(); + $parser = new lessc_parser($this, __METHOD__); + foreach ($args as $name => $strValue) { + if ($name{0} != '@') $name = '@'.$name; + $parser->count = 0; + $parser->buffer = (string)$strValue; + if (!$parser->propertyValue($value)) { + throw new Exception("failed to parse passed in variable $name: $strValue"); + } + + $this->set($name, $value); + } + } + + /** + * Initialize any static state, can initialize parser for a file + * $opts isn't used yet + */ + public function __construct($fname = null) { + if ($fname !== null) { + // used for deprecated parse method + $this->_parseFile = $fname; + } + } + + public function compile($string, $name = null) { + $locale = setlocale(LC_NUMERIC, 0); + setlocale(LC_NUMERIC, "C"); + + $this->parser = $this->makeParser($name); + $root = $this->parser->parse($string); + + $this->env = null; + $this->scope = null; + + $this->formatter = $this->newFormatter(); + + if (!empty($this->registeredVars)) { + $this->injectVariables($this->registeredVars); + } + + $this->sourceParser = $this->parser; // used for error messages + $this->compileBlock($root); + + ob_start(); + $this->formatter->block($this->scope); + $out = ob_get_clean(); + setlocale(LC_NUMERIC, $locale); + return $out; + } + + public function compileFile($fname, $outFname = null) { + if (!is_readable($fname)) { + throw new Exception('load error: failed to find '.$fname); + } + + $pi = pathinfo($fname); + + $oldImport = $this->importDir; + + $this->importDir = (array)$this->importDir; + $this->importDir[] = $pi['dirname'].'/'; + + $this->addParsedFile($fname); + + $out = $this->compile(file_get_contents($fname), $fname); + + $this->importDir = $oldImport; + + if ($outFname !== null) { + return file_put_contents($outFname, $out); + } + + return $out; + } + + // compile only if changed input has changed or output doesn't exist + public function checkedCompile($in, $out) { + if (!is_file($out) || filemtime($in) > filemtime($out)) { + $this->compileFile($in, $out); + return true; + } + return false; + } + + /** + * Execute lessphp on a .less file or a lessphp cache structure + * + * The lessphp cache structure contains information about a specific + * less file having been parsed. It can be used as a hint for future + * calls to determine whether or not a rebuild is required. + * + * The cache structure contains two important keys that may be used + * externally: + * + * compiled: The final compiled CSS + * updated: The time (in seconds) the CSS was last compiled + * + * The cache structure is a plain-ol' PHP associative array and can + * be serialized and unserialized without a hitch. + * + * @param mixed $in Input + * @param bool $force Force rebuild? + * @return array lessphp cache structure + */ + public function cachedCompile($in, $force = false) { + // assume no root + $root = null; + + if (is_string($in)) { + $root = $in; + } elseif (is_array($in) and isset($in['root'])) { + if ($force or ! isset($in['files'])) { + // If we are forcing a recompile or if for some reason the + // structure does not contain any file information we should + // specify the root to trigger a rebuild. + $root = $in['root']; + } elseif (isset($in['files']) and is_array($in['files'])) { + foreach ($in['files'] as $fname => $ftime ) { + if (!file_exists($fname) or filemtime($fname) > $ftime) { + // One of the files we knew about previously has changed + // so we should look at our incoming root again. + $root = $in['root']; + break; + } + } + } + } else { + // TODO: Throw an exception? We got neither a string nor something + // that looks like a compatible lessphp cache structure. + return null; + } + + if ($root !== null) { + // If we have a root value which means we should rebuild. + $out = array(); + $out['root'] = $root; + $out['compiled'] = $this->compileFile($root); + $out['files'] = $this->allParsedFiles(); + $out['updated'] = time(); + return $out; + } else { + // No changes, pass back the structure + // we were given initially. + return $in; + } + + } + + // parse and compile buffer + // This is deprecated + public function parse($str = null, $initialVariables = null) { + if (is_array($str)) { + $initialVariables = $str; + $str = null; + } + + $oldVars = $this->registeredVars; + if ($initialVariables !== null) { + $this->setVariables($initialVariables); + } + + if ($str == null) { + if (empty($this->_parseFile)) { + throw new exception("nothing to parse"); + } + + $out = $this->compileFile($this->_parseFile); + } else { + $out = $this->compile($str); + } + + $this->registeredVars = $oldVars; + return $out; + } + + protected function makeParser($name) { + $parser = new lessc_parser($this, $name); + $parser->writeComments = $this->preserveComments; + + return $parser; + } + + public function setFormatter($name) { + $this->formatterName = $name; + } + + protected function newFormatter() { + $className = "lessc_formatter_lessjs"; + if (!empty($this->formatterName)) { + if (!is_string($this->formatterName)) + return $this->formatterName; + $className = "lessc_formatter_$this->formatterName"; + } + + return new $className; + } + + public function setPreserveComments($preserve) { + $this->preserveComments = $preserve; + } + + public function registerFunction($name, $func) { + $this->libFunctions[$name] = $func; + } + + public function unregisterFunction($name) { + unset($this->libFunctions[$name]); + } + + public function setVariables($variables) { + $this->registeredVars = array_merge($this->registeredVars, $variables); + } + + public function unsetVariable($name) { + unset($this->registeredVars[$name]); + } + + public function setImportDir($dirs) { + $this->importDir = (array)$dirs; + } + + public function addImportDir($dir) { + $this->importDir = (array)$this->importDir; + $this->importDir[] = $dir; + } + + public function allParsedFiles() { + return $this->allParsedFiles; + } + + protected function addParsedFile($file) { + $this->allParsedFiles[realpath($file)] = filemtime($file); + } + + /** + * Uses the current value of $this->count to show line and line number + */ + protected function throwError($msg = null) { + if ($this->sourceLoc >= 0) { + $this->sourceParser->throwError($msg, $this->sourceLoc); + } + throw new exception($msg); + } + + // compile file $in to file $out if $in is newer than $out + // returns true when it compiles, false otherwise + public static function ccompile($in, $out, $less = null) { + if ($less === null) { + $less = new self; + } + return $less->checkedCompile($in, $out); + } + + public static function cexecute($in, $force = false, $less = null) { + if ($less === null) { + $less = new self; + } + return $less->cachedCompile($in, $force); + } + + static protected $cssColors = array( + 'aliceblue' => '240,248,255', + 'antiquewhite' => '250,235,215', + 'aqua' => '0,255,255', + 'aquamarine' => '127,255,212', + 'azure' => '240,255,255', + 'beige' => '245,245,220', + 'bisque' => '255,228,196', + 'black' => '0,0,0', + 'blanchedalmond' => '255,235,205', + 'blue' => '0,0,255', + 'blueviolet' => '138,43,226', + 'brown' => '165,42,42', + 'burlywood' => '222,184,135', + 'cadetblue' => '95,158,160', + 'chartreuse' => '127,255,0', + 'chocolate' => '210,105,30', + 'coral' => '255,127,80', + 'cornflowerblue' => '100,149,237', + 'cornsilk' => '255,248,220', + 'crimson' => '220,20,60', + 'cyan' => '0,255,255', + 'darkblue' => '0,0,139', + 'darkcyan' => '0,139,139', + 'darkgoldenrod' => '184,134,11', + 'darkgray' => '169,169,169', + 'darkgreen' => '0,100,0', + 'darkgrey' => '169,169,169', + 'darkkhaki' => '189,183,107', + 'darkmagenta' => '139,0,139', + 'darkolivegreen' => '85,107,47', + 'darkorange' => '255,140,0', + 'darkorchid' => '153,50,204', + 'darkred' => '139,0,0', + 'darksalmon' => '233,150,122', + 'darkseagreen' => '143,188,143', + 'darkslateblue' => '72,61,139', + 'darkslategray' => '47,79,79', + 'darkslategrey' => '47,79,79', + 'darkturquoise' => '0,206,209', + 'darkviolet' => '148,0,211', + 'deeppink' => '255,20,147', + 'deepskyblue' => '0,191,255', + 'dimgray' => '105,105,105', + 'dimgrey' => '105,105,105', + 'dodgerblue' => '30,144,255', + 'firebrick' => '178,34,34', + 'floralwhite' => '255,250,240', + 'forestgreen' => '34,139,34', + 'fuchsia' => '255,0,255', + 'gainsboro' => '220,220,220', + 'ghostwhite' => '248,248,255', + 'gold' => '255,215,0', + 'goldenrod' => '218,165,32', + 'gray' => '128,128,128', + 'green' => '0,128,0', + 'greenyellow' => '173,255,47', + 'grey' => '128,128,128', + 'honeydew' => '240,255,240', + 'hotpink' => '255,105,180', + 'indianred' => '205,92,92', + 'indigo' => '75,0,130', + 'ivory' => '255,255,240', + 'khaki' => '240,230,140', + 'lavender' => '230,230,250', + 'lavenderblush' => '255,240,245', + 'lawngreen' => '124,252,0', + 'lemonchiffon' => '255,250,205', + 'lightblue' => '173,216,230', + 'lightcoral' => '240,128,128', + 'lightcyan' => '224,255,255', + 'lightgoldenrodyellow' => '250,250,210', + 'lightgray' => '211,211,211', + 'lightgreen' => '144,238,144', + 'lightgrey' => '211,211,211', + 'lightpink' => '255,182,193', + 'lightsalmon' => '255,160,122', + 'lightseagreen' => '32,178,170', + 'lightskyblue' => '135,206,250', + 'lightslategray' => '119,136,153', + 'lightslategrey' => '119,136,153', + 'lightsteelblue' => '176,196,222', + 'lightyellow' => '255,255,224', + 'lime' => '0,255,0', + 'limegreen' => '50,205,50', + 'linen' => '250,240,230', + 'magenta' => '255,0,255', + 'maroon' => '128,0,0', + 'mediumaquamarine' => '102,205,170', + 'mediumblue' => '0,0,205', + 'mediumorchid' => '186,85,211', + 'mediumpurple' => '147,112,219', + 'mediumseagreen' => '60,179,113', + 'mediumslateblue' => '123,104,238', + 'mediumspringgreen' => '0,250,154', + 'mediumturquoise' => '72,209,204', + 'mediumvioletred' => '199,21,133', + 'midnightblue' => '25,25,112', + 'mintcream' => '245,255,250', + 'mistyrose' => '255,228,225', + 'moccasin' => '255,228,181', + 'navajowhite' => '255,222,173', + 'navy' => '0,0,128', + 'oldlace' => '253,245,230', + 'olive' => '128,128,0', + 'olivedrab' => '107,142,35', + 'orange' => '255,165,0', + 'orangered' => '255,69,0', + 'orchid' => '218,112,214', + 'palegoldenrod' => '238,232,170', + 'palegreen' => '152,251,152', + 'paleturquoise' => '175,238,238', + 'palevioletred' => '219,112,147', + 'papayawhip' => '255,239,213', + 'peachpuff' => '255,218,185', + 'peru' => '205,133,63', + 'pink' => '255,192,203', + 'plum' => '221,160,221', + 'powderblue' => '176,224,230', + 'purple' => '128,0,128', + 'red' => '255,0,0', + 'rosybrown' => '188,143,143', + 'royalblue' => '65,105,225', + 'saddlebrown' => '139,69,19', + 'salmon' => '250,128,114', + 'sandybrown' => '244,164,96', + 'seagreen' => '46,139,87', + 'seashell' => '255,245,238', + 'sienna' => '160,82,45', + 'silver' => '192,192,192', + 'skyblue' => '135,206,235', + 'slateblue' => '106,90,205', + 'slategray' => '112,128,144', + 'slategrey' => '112,128,144', + 'snow' => '255,250,250', + 'springgreen' => '0,255,127', + 'steelblue' => '70,130,180', + 'tan' => '210,180,140', + 'teal' => '0,128,128', + 'thistle' => '216,191,216', + 'tomato' => '255,99,71', + 'transparent' => '0,0,0,0', + 'turquoise' => '64,224,208', + 'violet' => '238,130,238', + 'wheat' => '245,222,179', + 'white' => '255,255,255', + 'whitesmoke' => '245,245,245', + 'yellow' => '255,255,0', + 'yellowgreen' => '154,205,50' + ); +} + +// responsible for taking a string of LESS code and converting it into a +// syntax tree +class lessc_parser { + static protected $nextBlockId = 0; // used to uniquely identify blocks + + static protected $precedence = array( + '=<' => 0, + '>=' => 0, + '=' => 0, + '<' => 0, + '>' => 0, + + '+' => 1, + '-' => 1, + '*' => 2, + '/' => 2, + '%' => 2, + ); + + static protected $whitePattern; + static protected $commentMulti; + + static protected $commentSingle = "//"; + static protected $commentMultiLeft = "/*"; + static protected $commentMultiRight = "*/"; + + // regex string to match any of the operators + static protected $operatorString; + + // these properties will supress division unless it's inside parenthases + static protected $supressDivisionProps = + array('/border-radius$/i', '/^font$/i'); + + protected $blockDirectives = array("font-face", "keyframes", "page", "-moz-document", "viewport", "-moz-viewport", "-o-viewport", "-ms-viewport"); + protected $lineDirectives = array("charset"); + + /** + * if we are in parens we can be more liberal with whitespace around + * operators because it must evaluate to a single value and thus is less + * ambiguous. + * + * Consider: + * property1: 10 -5; // is two numbers, 10 and -5 + * property2: (10 -5); // should evaluate to 5 + */ + protected $inParens = false; + + // caches preg escaped literals + static protected $literalCache = array(); + + public function __construct($lessc, $sourceName = null) { + $this->eatWhiteDefault = true; + // reference to less needed for vPrefix, mPrefix, and parentSelector + $this->lessc = $lessc; + + $this->sourceName = $sourceName; // name used for error messages + + $this->writeComments = false; + + if (!self::$operatorString) { + self::$operatorString = + '('.implode('|', array_map(array('lessc', 'preg_quote'), + array_keys(self::$precedence))).')'; + + $commentSingle = lessc::preg_quote(self::$commentSingle); + $commentMultiLeft = lessc::preg_quote(self::$commentMultiLeft); + $commentMultiRight = lessc::preg_quote(self::$commentMultiRight); + + self::$commentMulti = $commentMultiLeft.'.*?'.$commentMultiRight; + self::$whitePattern = '/'.$commentSingle.'[^\n]*\s*|('.self::$commentMulti.')\s*|\s+/Ais'; + } + } + + public function parse($buffer) { + $this->count = 0; + $this->line = 1; + + $this->env = null; // block stack + $this->buffer = $this->writeComments ? $buffer : $this->removeComments($buffer); + $this->pushSpecialBlock("root"); + $this->eatWhiteDefault = true; + $this->seenComments = array(); + + // trim whitespace on head + // if (preg_match('/^\s+/', $this->buffer, $m)) { + // $this->line += substr_count($m[0], "\n"); + // $this->buffer = ltrim($this->buffer); + // } + $this->whitespace(); + + // parse the entire file + $lastCount = $this->count; + while (false !== $this->parseChunk()); + + if ($this->count != strlen($this->buffer)) + $this->throwError(); + + // TODO report where the block was opened + if (!is_null($this->env->parent)) + throw new exception('parse error: unclosed block'); + + return $this->env; + } + + /** + * Parse a single chunk off the head of the buffer and append it to the + * current parse environment. + * Returns false when the buffer is empty, or when there is an error. + * + * This function is called repeatedly until the entire document is + * parsed. + * + * This parser is most similar to a recursive descent parser. Single + * functions represent discrete grammatical rules for the language, and + * they are able to capture the text that represents those rules. + * + * Consider the function lessc::keyword(). (all parse functions are + * structured the same) + * + * The function takes a single reference argument. When calling the + * function it will attempt to match a keyword on the head of the buffer. + * If it is successful, it will place the keyword in the referenced + * argument, advance the position in the buffer, and return true. If it + * fails then it won't advance the buffer and it will return false. + * + * All of these parse functions are powered by lessc::match(), which behaves + * the same way, but takes a literal regular expression. Sometimes it is + * more convenient to use match instead of creating a new function. + * + * Because of the format of the functions, to parse an entire string of + * grammatical rules, you can chain them together using &&. + * + * But, if some of the rules in the chain succeed before one fails, then + * the buffer position will be left at an invalid state. In order to + * avoid this, lessc::seek() is used to remember and set buffer positions. + * + * Before parsing a chain, use $s = $this->seek() to remember the current + * position into $s. Then if a chain fails, use $this->seek($s) to + * go back where we started. + */ + protected function parseChunk() { + if (empty($this->buffer)) return false; + $s = $this->seek(); + + // setting a property + if ($this->keyword($key) && $this->assign() && + $this->propertyValue($value, $key) && $this->end()) + { + $this->append(array('assign', $key, $value), $s); + return true; + } else { + $this->seek($s); + } + + + // look for special css blocks + if ($this->literal('@', false)) { + $this->count--; + + // media + if ($this->literal('@media')) { + if (($this->mediaQueryList($mediaQueries) || true) + && $this->literal('{')) + { + $media = $this->pushSpecialBlock("media"); + $media->queries = is_null($mediaQueries) ? array() : $mediaQueries; + return true; + } else { + $this->seek($s); + return false; + } + } + + if ($this->literal("@", false) && $this->keyword($dirName)) { + if ($this->isDirective($dirName, $this->blockDirectives)) { + if (($this->openString("{", $dirValue, null, array(";")) || true) && + $this->literal("{")) + { + $dir = $this->pushSpecialBlock("directive"); + $dir->name = $dirName; + if (isset($dirValue)) $dir->value = $dirValue; + return true; + } + } elseif ($this->isDirective($dirName, $this->lineDirectives)) { + if ($this->propertyValue($dirValue) && $this->end()) { + $this->append(array("directive", $dirName, $dirValue)); + return true; + } + } + } + + $this->seek($s); + } + + // setting a variable + if ($this->variable($var) && $this->assign() && + $this->propertyValue($value) && $this->end()) + { + $this->append(array('assign', $var, $value), $s); + return true; + } else { + $this->seek($s); + } + + if ($this->import($importValue)) { + $this->append($importValue, $s); + return true; + } + + // opening parametric mixin + if ($this->tag($tag, true) && $this->argumentDef($args, $isVararg) && + ($this->guards($guards) || true) && + $this->literal('{')) + { + $block = $this->pushBlock($this->fixTags(array($tag))); + $block->args = $args; + $block->isVararg = $isVararg; + if (!empty($guards)) $block->guards = $guards; + return true; + } else { + $this->seek($s); + } + + // opening a simple block + if ($this->tags($tags) && $this->literal('{')) { + $tags = $this->fixTags($tags); + $this->pushBlock($tags); + return true; + } else { + $this->seek($s); + } + + // closing a block + if ($this->literal('}', false)) { + try { + $block = $this->pop(); + } catch (exception $e) { + $this->seek($s); + $this->throwError($e->getMessage()); + } + + $hidden = false; + if (is_null($block->type)) { + $hidden = true; + if (!isset($block->args)) { + foreach ($block->tags as $tag) { + if (!is_string($tag) || $tag{0} != $this->lessc->mPrefix) { + $hidden = false; + break; + } + } + } + + foreach ($block->tags as $tag) { + if (is_string($tag)) { + $this->env->children[$tag][] = $block; + } + } + } + + if (!$hidden) { + $this->append(array('block', $block), $s); + } + + // this is done here so comments aren't bundled into he block that + // was just closed + $this->whitespace(); + return true; + } + + // mixin + if ($this->mixinTags($tags) && + ($this->argumentDef($argv, $isVararg) || true) && + ($this->keyword($suffix) || true) && $this->end()) + { + $tags = $this->fixTags($tags); + $this->append(array('mixin', $tags, $argv, $suffix), $s); + return true; + } else { + $this->seek($s); + } + + // spare ; + if ($this->literal(';')) return true; + + return false; // got nothing, throw error + } + + protected function isDirective($dirname, $directives) { + // TODO: cache pattern in parser + $pattern = implode("|", + array_map(array("lessc", "preg_quote"), $directives)); + $pattern = '/^(-[a-z-]+-)?(' . $pattern . ')$/i'; + + return preg_match($pattern, $dirname); + } + + protected function fixTags($tags) { + // move @ tags out of variable namespace + foreach ($tags as &$tag) { + if ($tag{0} == $this->lessc->vPrefix) + $tag[0] = $this->lessc->mPrefix; + } + return $tags; + } + + // a list of expressions + protected function expressionList(&$exps) { + $values = array(); + + while ($this->expression($exp)) { + $values[] = $exp; + } + + if (count($values) == 0) return false; + + $exps = lessc::compressList($values, ' '); + return true; + } + + /** + * Attempt to consume an expression. + * @link http://en.wikipedia.org/wiki/Operator-precedence_parser#Pseudo-code + */ + protected function expression(&$out) { + if ($this->value($lhs)) { + $out = $this->expHelper($lhs, 0); + + // look for / shorthand + if (!empty($this->env->supressedDivision)) { + unset($this->env->supressedDivision); + $s = $this->seek(); + if ($this->literal("/") && $this->value($rhs)) { + $out = array("list", "", + array($out, array("keyword", "/"), $rhs)); + } else { + $this->seek($s); + } + } + + return true; + } + return false; + } + + /** + * recursively parse infix equation with $lhs at precedence $minP + */ + protected function expHelper($lhs, $minP) { + $this->inExp = true; + $ss = $this->seek(); + + while (true) { + $whiteBefore = isset($this->buffer[$this->count - 1]) && + ctype_space($this->buffer[$this->count - 1]); + + // If there is whitespace before the operator, then we require + // whitespace after the operator for it to be an expression + $needWhite = $whiteBefore && !$this->inParens; + + if ($this->match(self::$operatorString.($needWhite ? '\s' : ''), $m) && self::$precedence[$m[1]] >= $minP) { + if (!$this->inParens && isset($this->env->currentProperty) && $m[1] == "/" && empty($this->env->supressedDivision)) { + foreach (self::$supressDivisionProps as $pattern) { + if (preg_match($pattern, $this->env->currentProperty)) { + $this->env->supressedDivision = true; + break 2; + } + } + } + + + $whiteAfter = isset($this->buffer[$this->count - 1]) && + ctype_space($this->buffer[$this->count - 1]); + + if (!$this->value($rhs)) break; + + // peek for next operator to see what to do with rhs + if ($this->peek(self::$operatorString, $next) && self::$precedence[$next[1]] > self::$precedence[$m[1]]) { + $rhs = $this->expHelper($rhs, self::$precedence[$next[1]]); + } + + $lhs = array('expression', $m[1], $lhs, $rhs, $whiteBefore, $whiteAfter); + $ss = $this->seek(); + + continue; + } + + break; + } + + $this->seek($ss); + + return $lhs; + } + + // consume a list of values for a property + public function propertyValue(&$value, $keyName = null) { + $values = array(); + + if ($keyName !== null) $this->env->currentProperty = $keyName; + + $s = null; + while ($this->expressionList($v)) { + $values[] = $v; + $s = $this->seek(); + if (!$this->literal(',')) break; + } + + if ($s) $this->seek($s); + + if ($keyName !== null) unset($this->env->currentProperty); + + if (count($values) == 0) return false; + + $value = lessc::compressList($values, ', '); + return true; + } + + protected function parenValue(&$out) { + $s = $this->seek(); + + // speed shortcut + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] != "(") { + return false; + } + + $inParens = $this->inParens; + if ($this->literal("(") && + ($this->inParens = true) && $this->expression($exp) && + $this->literal(")")) + { + $out = $exp; + $this->inParens = $inParens; + return true; + } else { + $this->inParens = $inParens; + $this->seek($s); + } + + return false; + } + + // a single value + protected function value(&$value) { + $s = $this->seek(); + + // speed shortcut + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] == "-") { + // negation + if ($this->literal("-", false) && + (($this->variable($inner) && $inner = array("variable", $inner)) || + $this->unit($inner) || + $this->parenValue($inner))) + { + $value = array("unary", "-", $inner); + return true; + } else { + $this->seek($s); + } + } + + if ($this->parenValue($value)) return true; + if ($this->unit($value)) return true; + if ($this->color($value)) return true; + if ($this->func($value)) return true; + if ($this->string($value)) return true; + + if ($this->keyword($word)) { + $value = array('keyword', $word); + return true; + } + + // try a variable + if ($this->variable($var)) { + $value = array('variable', $var); + return true; + } + + // unquote string (should this work on any type? + if ($this->literal("~") && $this->string($str)) { + $value = array("escape", $str); + return true; + } else { + $this->seek($s); + } + + // css hack: \0 + if ($this->literal('\\') && $this->match('([0-9]+)', $m)) { + $value = array('keyword', '\\'.$m[1]); + return true; + } else { + $this->seek($s); + } + + return false; + } + + // an import statement + protected function import(&$out) { + $s = $this->seek(); + if (!$this->literal('@import')) return false; + + // @import "something.css" media; + // @import url("something.css") media; + // @import url(something.css) media; + + if ($this->propertyValue($value)) { + $out = array("import", $value); + return true; + } + } + + protected function mediaQueryList(&$out) { + if ($this->genericList($list, "mediaQuery", ",", false)) { + $out = $list[2]; + return true; + } + return false; + } + + protected function mediaQuery(&$out) { + $s = $this->seek(); + + $expressions = null; + $parts = array(); + + if (($this->literal("only") && ($only = true) || $this->literal("not") && ($not = true) || true) && $this->keyword($mediaType)) { + $prop = array("mediaType"); + if (isset($only)) $prop[] = "only"; + if (isset($not)) $prop[] = "not"; + $prop[] = $mediaType; + $parts[] = $prop; + } else { + $this->seek($s); + } + + + if (!empty($mediaType) && !$this->literal("and")) { + // ~ + } else { + $this->genericList($expressions, "mediaExpression", "and", false); + if (is_array($expressions)) $parts = array_merge($parts, $expressions[2]); + } + + if (count($parts) == 0) { + $this->seek($s); + return false; + } + + $out = $parts; + return true; + } + + protected function mediaExpression(&$out) { + $s = $this->seek(); + $value = null; + if ($this->literal("(") && + $this->keyword($feature) && + ($this->literal(":") && $this->expression($value) || true) && + $this->literal(")")) + { + $out = array("mediaExp", $feature); + if ($value) $out[] = $value; + return true; + } elseif ($this->variable($variable)) { + $out = array('variable', $variable); + return true; + } + + $this->seek($s); + return false; + } + + // an unbounded string stopped by $end + protected function openString($end, &$out, $nestingOpen=null, $rejectStrs = null) { + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = false; + + $stop = array("'", '"', "@{", $end); + $stop = array_map(array("lessc", "preg_quote"), $stop); + // $stop[] = self::$commentMulti; + + if (!is_null($rejectStrs)) { + $stop = array_merge($stop, $rejectStrs); + } + + $patt = '(.*?)('.implode("|", $stop).')'; + + $nestingLevel = 0; + + $content = array(); + while ($this->match($patt, $m, false)) { + if (!empty($m[1])) { + $content[] = $m[1]; + if ($nestingOpen) { + $nestingLevel += substr_count($m[1], $nestingOpen); + } + } + + $tok = $m[2]; + + $this->count-= strlen($tok); + if ($tok == $end) { + if ($nestingLevel == 0) { + break; + } else { + $nestingLevel--; + } + } + + if (($tok == "'" || $tok == '"') && $this->string($str)) { + $content[] = $str; + continue; + } + + if ($tok == "@{" && $this->interpolation($inter)) { + $content[] = $inter; + continue; + } + + if (!empty($rejectStrs) && in_array($tok, $rejectStrs)) { + break; + } + + $content[] = $tok; + $this->count+= strlen($tok); + } + + $this->eatWhiteDefault = $oldWhite; + + if (count($content) == 0) return false; + + // trim the end + if (is_string(end($content))) { + $content[count($content) - 1] = rtrim(end($content)); + } + + $out = array("string", "", $content); + return true; + } + + protected function string(&$out) { + $s = $this->seek(); + if ($this->literal('"', false)) { + $delim = '"'; + } elseif ($this->literal("'", false)) { + $delim = "'"; + } else { + return false; + } + + $content = array(); + + // look for either ending delim , escape, or string interpolation + $patt = '([^\n]*?)(@\{|\\\\|' . + lessc::preg_quote($delim).')'; + + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = false; + + while ($this->match($patt, $m, false)) { + $content[] = $m[1]; + if ($m[2] == "@{") { + $this->count -= strlen($m[2]); + if ($this->interpolation($inter, false)) { + $content[] = $inter; + } else { + $this->count += strlen($m[2]); + $content[] = "@{"; // ignore it + } + } elseif ($m[2] == '\\') { + $content[] = $m[2]; + if ($this->literal($delim, false)) { + $content[] = $delim; + } + } else { + $this->count -= strlen($delim); + break; // delim + } + } + + $this->eatWhiteDefault = $oldWhite; + + if ($this->literal($delim)) { + $out = array("string", $delim, $content); + return true; + } + + $this->seek($s); + return false; + } + + protected function interpolation(&$out) { + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = true; + + $s = $this->seek(); + if ($this->literal("@{") && + $this->openString("}", $interp, null, array("'", '"', ";")) && + $this->literal("}", false)) + { + $out = array("interpolate", $interp); + $this->eatWhiteDefault = $oldWhite; + if ($this->eatWhiteDefault) $this->whitespace(); + return true; + } + + $this->eatWhiteDefault = $oldWhite; + $this->seek($s); + return false; + } + + protected function unit(&$unit) { + // speed shortcut + if (isset($this->buffer[$this->count])) { + $char = $this->buffer[$this->count]; + if (!ctype_digit($char) && $char != ".") return false; + } + + if ($this->match('([0-9]+(?:\.[0-9]*)?|\.[0-9]+)([%a-zA-Z]+)?', $m)) { + $unit = array("number", $m[1], empty($m[2]) ? "" : $m[2]); + return true; + } + return false; + } + + // a # color + protected function color(&$out) { + if ($this->match('(#(?:[0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{3}))', $m)) { + if (strlen($m[1]) > 7) { + $out = array("string", "", array($m[1])); + } else { + $out = array("raw_color", $m[1]); + } + return true; + } + + return false; + } + + // consume an argument definition list surrounded by () + // each argument is a variable name with optional value + // or at the end a ... or a variable named followed by ... + // arguments are separated by , unless a ; is in the list, then ; is the + // delimiter. + protected function argumentDef(&$args, &$isVararg) { + $s = $this->seek(); + if (!$this->literal('(')) return false; + + $values = array(); + $delim = ","; + $method = "expressionList"; + + $isVararg = false; + while (true) { + if ($this->literal("...")) { + $isVararg = true; + break; + } + + if ($this->$method($value)) { + if ($value[0] == "variable") { + $arg = array("arg", $value[1]); + $ss = $this->seek(); + + if ($this->assign() && $this->$method($rhs)) { + $arg[] = $rhs; + } else { + $this->seek($ss); + if ($this->literal("...")) { + $arg[0] = "rest"; + $isVararg = true; + } + } + + $values[] = $arg; + if ($isVararg) break; + continue; + } else { + $values[] = array("lit", $value); + } + } + + + if (!$this->literal($delim)) { + if ($delim == "," && $this->literal(";")) { + // found new delim, convert existing args + $delim = ";"; + $method = "propertyValue"; + + // transform arg list + if (isset($values[1])) { // 2 items + $newList = array(); + foreach ($values as $i => $arg) { + switch($arg[0]) { + case "arg": + if ($i) { + $this->throwError("Cannot mix ; and , as delimiter types"); + } + $newList[] = $arg[2]; + break; + case "lit": + $newList[] = $arg[1]; + break; + case "rest": + $this->throwError("Unexpected rest before semicolon"); + } + } + + $newList = array("list", ", ", $newList); + + switch ($values[0][0]) { + case "arg": + $newArg = array("arg", $values[0][1], $newList); + break; + case "lit": + $newArg = array("lit", $newList); + break; + } + + } elseif ($values) { // 1 item + $newArg = $values[0]; + } + + if ($newArg) { + $values = array($newArg); + } + } else { + break; + } + } + } + + if (!$this->literal(')')) { + $this->seek($s); + return false; + } + + $args = $values; + + return true; + } + + // consume a list of tags + // this accepts a hanging delimiter + protected function tags(&$tags, $simple = false, $delim = ',') { + $tags = array(); + while ($this->tag($tt, $simple)) { + $tags[] = $tt; + if (!$this->literal($delim)) break; + } + if (count($tags) == 0) return false; + + return true; + } + + // list of tags of specifying mixin path + // optionally separated by > (lazy, accepts extra >) + protected function mixinTags(&$tags) { + $s = $this->seek(); + $tags = array(); + while ($this->tag($tt, true)) { + $tags[] = $tt; + $this->literal(">"); + } + + if (count($tags) == 0) return false; + + return true; + } + + // a bracketed value (contained within in a tag definition) + protected function tagBracket(&$parts, &$hasExpression) { + // speed shortcut + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] != "[") { + return false; + } + + $s = $this->seek(); + + $hasInterpolation = false; + + if ($this->literal("[", false)) { + $attrParts = array("["); + // keyword, string, operator + while (true) { + if ($this->literal("]", false)) { + $this->count--; + break; // get out early + } + + if ($this->match('\s+', $m)) { + $attrParts[] = " "; + continue; + } + if ($this->string($str)) { + // escape parent selector, (yuck) + foreach ($str[2] as &$chunk) { + $chunk = str_replace($this->lessc->parentSelector, "$&$", $chunk); + } + + $attrParts[] = $str; + $hasInterpolation = true; + continue; + } + + if ($this->keyword($word)) { + $attrParts[] = $word; + continue; + } + + if ($this->interpolation($inter, false)) { + $attrParts[] = $inter; + $hasInterpolation = true; + continue; + } + + // operator, handles attr namespace too + if ($this->match('[|-~\$\*\^=]+', $m)) { + $attrParts[] = $m[0]; + continue; + } + + break; + } + + if ($this->literal("]", false)) { + $attrParts[] = "]"; + foreach ($attrParts as $part) { + $parts[] = $part; + } + $hasExpression = $hasExpression || $hasInterpolation; + return true; + } + $this->seek($s); + } + + $this->seek($s); + return false; + } + + // a space separated list of selectors + protected function tag(&$tag, $simple = false) { + if ($simple) + $chars = '^@,:;{}\][>\(\) "\''; + else + $chars = '^@,;{}["\''; + + $s = $this->seek(); + + $hasExpression = false; + $parts = array(); + while ($this->tagBracket($parts, $hasExpression)); + + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = false; + + while (true) { + if ($this->match('(['.$chars.'0-9]['.$chars.']*)', $m)) { + $parts[] = $m[1]; + if ($simple) break; + + while ($this->tagBracket($parts, $hasExpression)); + continue; + } + + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] == "@") { + if ($this->interpolation($interp)) { + $hasExpression = true; + $interp[2] = true; // don't unescape + $parts[] = $interp; + continue; + } + + if ($this->literal("@")) { + $parts[] = "@"; + continue; + } + } + + if ($this->unit($unit)) { // for keyframes + $parts[] = $unit[1]; + $parts[] = $unit[2]; + continue; + } + + break; + } + + $this->eatWhiteDefault = $oldWhite; + if (!$parts) { + $this->seek($s); + return false; + } + + if ($hasExpression) { + $tag = array("exp", array("string", "", $parts)); + } else { + $tag = trim(implode($parts)); + } + + $this->whitespace(); + return true; + } + + // a css function + protected function func(&$func) { + $s = $this->seek(); + + if ($this->match('(%|[\w\-_][\w\-_:\.]+|[\w_])', $m) && $this->literal('(')) { + $fname = $m[1]; + + $sPreArgs = $this->seek(); + + $args = array(); + while (true) { + $ss = $this->seek(); + // this ugly nonsense is for ie filter properties + if ($this->keyword($name) && $this->literal('=') && $this->expressionList($value)) { + $args[] = array("string", "", array($name, "=", $value)); + } else { + $this->seek($ss); + if ($this->expressionList($value)) { + $args[] = $value; + } + } + + if (!$this->literal(',')) break; + } + $args = array('list', ',', $args); + + if ($this->literal(')')) { + $func = array('function', $fname, $args); + return true; + } elseif ($fname == 'url') { + // couldn't parse and in url? treat as string + $this->seek($sPreArgs); + if ($this->openString(")", $string) && $this->literal(")")) { + $func = array('function', $fname, $string); + return true; + } + } + } + + $this->seek($s); + return false; + } + + // consume a less variable + protected function variable(&$name) { + $s = $this->seek(); + if ($this->literal($this->lessc->vPrefix, false) && + ($this->variable($sub) || $this->keyword($name))) + { + if (!empty($sub)) { + $name = array('variable', $sub); + } else { + $name = $this->lessc->vPrefix.$name; + } + return true; + } + + $name = null; + $this->seek($s); + return false; + } + + /** + * Consume an assignment operator + * Can optionally take a name that will be set to the current property name + */ + protected function assign($name = null) { + if ($name) $this->currentProperty = $name; + return $this->literal(':') || $this->literal('='); + } + + // consume a keyword + protected function keyword(&$word) { + if ($this->match('([\w_\-\*!"][\w\-_"]*)', $m)) { + $word = $m[1]; + return true; + } + return false; + } + + // consume an end of statement delimiter + protected function end() { + if ($this->literal(';')) { + return true; + } elseif ($this->count == strlen($this->buffer) || $this->buffer[$this->count] == '}') { + // if there is end of file or a closing block next then we don't need a ; + return true; + } + return false; + } + + protected function guards(&$guards) { + $s = $this->seek(); + + if (!$this->literal("when")) { + $this->seek($s); + return false; + } + + $guards = array(); + + while ($this->guardGroup($g)) { + $guards[] = $g; + if (!$this->literal(",")) break; + } + + if (count($guards) == 0) { + $guards = null; + $this->seek($s); + return false; + } + + return true; + } + + // a bunch of guards that are and'd together + // TODO rename to guardGroup + protected function guardGroup(&$guardGroup) { + $s = $this->seek(); + $guardGroup = array(); + while ($this->guard($guard)) { + $guardGroup[] = $guard; + if (!$this->literal("and")) break; + } + + if (count($guardGroup) == 0) { + $guardGroup = null; + $this->seek($s); + return false; + } + + return true; + } + + protected function guard(&$guard) { + $s = $this->seek(); + $negate = $this->literal("not"); + + if ($this->literal("(") && $this->expression($exp) && $this->literal(")")) { + $guard = $exp; + if ($negate) $guard = array("negate", $guard); + return true; + } + + $this->seek($s); + return false; + } + + /* raw parsing functions */ + + protected function literal($what, $eatWhitespace = null) { + if ($eatWhitespace === null) $eatWhitespace = $this->eatWhiteDefault; + + // shortcut on single letter + if (!isset($what[1]) && isset($this->buffer[$this->count])) { + if ($this->buffer[$this->count] == $what) { + if (!$eatWhitespace) { + $this->count++; + return true; + } + // goes below... + } else { + return false; + } + } + + if (!isset(self::$literalCache[$what])) { + self::$literalCache[$what] = lessc::preg_quote($what); + } + + return $this->match(self::$literalCache[$what], $m, $eatWhitespace); + } + + protected function genericList(&$out, $parseItem, $delim="", $flatten=true) { + $s = $this->seek(); + $items = array(); + while ($this->$parseItem($value)) { + $items[] = $value; + if ($delim) { + if (!$this->literal($delim)) break; + } + } + + if (count($items) == 0) { + $this->seek($s); + return false; + } + + if ($flatten && count($items) == 1) { + $out = $items[0]; + } else { + $out = array("list", $delim, $items); + } + + return true; + } + + + // advance counter to next occurrence of $what + // $until - don't include $what in advance + // $allowNewline, if string, will be used as valid char set + protected function to($what, &$out, $until = false, $allowNewline = false) { + if (is_string($allowNewline)) { + $validChars = $allowNewline; + } else { + $validChars = $allowNewline ? "." : "[^\n]"; + } + if (!$this->match('('.$validChars.'*?)'.lessc::preg_quote($what), $m, !$until)) return false; + if ($until) $this->count -= strlen($what); // give back $what + $out = $m[1]; + return true; + } + + // try to match something on head of buffer + protected function match($regex, &$out, $eatWhitespace = null) { + if ($eatWhitespace === null) $eatWhitespace = $this->eatWhiteDefault; + + $r = '/'.$regex.($eatWhitespace && !$this->writeComments ? '\s*' : '').'/Ais'; + if (preg_match($r, $this->buffer, $out, null, $this->count)) { + $this->count += strlen($out[0]); + if ($eatWhitespace && $this->writeComments) $this->whitespace(); + return true; + } + return false; + } + + // match some whitespace + protected function whitespace() { + if ($this->writeComments) { + $gotWhite = false; + while (preg_match(self::$whitePattern, $this->buffer, $m, null, $this->count)) { + if (isset($m[1]) && empty($this->commentsSeen[$this->count])) { + $this->append(array("comment", $m[1])); + $this->commentsSeen[$this->count] = true; + } + $this->count += strlen($m[0]); + $gotWhite = true; + } + return $gotWhite; + } else { + $this->match("", $m); + return strlen($m[0]) > 0; + } + } + + // match something without consuming it + protected function peek($regex, &$out = null, $from=null) { + if (is_null($from)) $from = $this->count; + $r = '/'.$regex.'/Ais'; + $result = preg_match($r, $this->buffer, $out, null, $from); + + return $result; + } + + // seek to a spot in the buffer or return where we are on no argument + protected function seek($where = null) { + if ($where === null) return $this->count; + else $this->count = $where; + return true; + } + + /* misc functions */ + + public function throwError($msg = "parse error", $count = null) { + $count = is_null($count) ? $this->count : $count; + + $line = $this->line + + substr_count(substr($this->buffer, 0, $count), "\n"); + + if (!empty($this->sourceName)) { + $loc = "$this->sourceName on line $line"; + } else { + $loc = "line: $line"; + } + + // TODO this depends on $this->count + if ($this->peek("(.*?)(\n|$)", $m, $count)) { + throw new exception("$msg: failed at `$m[1]` $loc"); + } else { + throw new exception("$msg: $loc"); + } + } + + protected function pushBlock($selectors=null, $type=null) { + $b = new stdclass; + $b->parent = $this->env; + + $b->type = $type; + $b->id = self::$nextBlockId++; + + $b->isVararg = false; // TODO: kill me from here + $b->tags = $selectors; + + $b->props = array(); + $b->children = array(); + + $this->env = $b; + return $b; + } + + // push a block that doesn't multiply tags + protected function pushSpecialBlock($type) { + return $this->pushBlock(null, $type); + } + + // append a property to the current block + protected function append($prop, $pos = null) { + if ($pos !== null) $prop[-1] = $pos; + $this->env->props[] = $prop; + } + + // pop something off the stack + protected function pop() { + $old = $this->env; + $this->env = $this->env->parent; + return $old; + } + + // remove comments from $text + // todo: make it work for all functions, not just url + protected function removeComments($text) { + $look = array( + 'url(', '//', '/*', '"', "'" + ); + + $out = ''; + $min = null; + while (true) { + // find the next item + foreach ($look as $token) { + $pos = strpos($text, $token); + if ($pos !== false) { + if (!isset($min) || $pos < $min[1]) $min = array($token, $pos); + } + } + + if (is_null($min)) break; + + $count = $min[1]; + $skip = 0; + $newlines = 0; + switch ($min[0]) { + case 'url(': + if (preg_match('/url\(.*?\)/', $text, $m, 0, $count)) + $count += strlen($m[0]) - strlen($min[0]); + break; + case '"': + case "'": + if (preg_match('/'.$min[0].'.*?(?indentLevel = 0; + } + + public function indentStr($n = 0) { + return str_repeat($this->indentChar, max($this->indentLevel + $n, 0)); + } + + public function property($name, $value) { + return $name . $this->assignSeparator . $value . ";"; + } + + protected function isEmpty($block) { + if (empty($block->lines)) { + foreach ($block->children as $child) { + if (!$this->isEmpty($child)) return false; + } + + return true; + } + return false; + } + + public function block($block) { + if ($this->isEmpty($block)) return; + + $inner = $pre = $this->indentStr(); + + $isSingle = !$this->disableSingle && + is_null($block->type) && count($block->lines) == 1; + + if (!empty($block->selectors)) { + $this->indentLevel++; + + if ($this->breakSelectors) { + $selectorSeparator = $this->selectorSeparator . $this->break . $pre; + } else { + $selectorSeparator = $this->selectorSeparator; + } + + echo $pre . + implode($selectorSeparator, $block->selectors); + if ($isSingle) { + echo $this->openSingle; + $inner = ""; + } else { + echo $this->open . $this->break; + $inner = $this->indentStr(); + } + + } + + if (!empty($block->lines)) { + $glue = $this->break.$inner; + echo $inner . implode($glue, $block->lines); + if (!$isSingle && !empty($block->children)) { + echo $this->break; + } + } + + foreach ($block->children as $child) { + $this->block($child); + } + + if (!empty($block->selectors)) { + if (!$isSingle && empty($block->children)) echo $this->break; + + if ($isSingle) { + echo $this->closeSingle . $this->break; + } else { + echo $pre . $this->close . $this->break; + } + + $this->indentLevel--; + } + } +} + +class lessc_formatter_compressed extends lessc_formatter_classic { + public $disableSingle = true; + public $open = "{"; + public $selectorSeparator = ","; + public $assignSeparator = ":"; + public $break = ""; + public $compressColors = true; + + public function indentStr($n = 0) { + return ""; + } +} + +class lessc_formatter_lessjs extends lessc_formatter_classic { + public $disableSingle = true; + public $breakSelectors = true; + public $assignSeparator = ": "; + public $selectorSeparator = ","; +} + + diff --git a/lib/class/pclzip.class.php b/lib/class/pclzip.class.php new file mode 100644 index 0000000..e7facc1 --- /dev/null +++ b/lib/class/pclzip.class.php @@ -0,0 +1,5694 @@ +zipname = $p_zipname; + $this->zip_fd = 0; + $this->magic_quotes_status = -1; + + // ----- Return + return; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // create($p_filelist, $p_add_dir="", $p_remove_dir="") + // create($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two different synopsis. The first one is historical. + // This method creates a Zip Archive. The Zip file is created in the + // filesystem. The files and directories indicated in $p_filelist + // are added in the archive. See the parameters description for the + // supported format of $p_filelist. + // When a directory is in the list, the directory and its content is added + // in the archive. + // In this synopsis, the function takes an optional variable list of + // options. See bellow the supported options. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function create($p_filelist) + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Set default values + $v_options = array(); + $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Remove from the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + //, PCLZIP_OPT_CRYPT => 'optional' + )); + if ($v_result != 1) { + return 0; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_options[PCLZIP_OPT_ADD_PATH] = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; + } + else if ($v_size > 2) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Invalid number / type of arguments"); + return 0; + } + } + } + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Init + $v_string_list = array(); + $v_att_list = array(); + $v_filedescr_list = array(); + $p_result_list = array(); + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) { + + // ----- Look if the first element is also an array + // This will mean that this is a file description entry + if (isset($p_filelist[0]) && is_array($p_filelist[0])) { + $v_att_list = $p_filelist; + } + + // ----- The list is a list of string names + else { + $v_string_list = $p_filelist; + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) { + // ----- Create a list from the string + $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); + } + + // ----- Invalid variable type for $p_filelist + else { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist"); + return 0; + } + + // ----- Reformat the string list + if (sizeof($v_string_list) != 0) { + foreach ($v_string_list as $v_string) { + if ($v_string != '') { + $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; + } + else { + } + } + } + + // ----- For each file in the list check the attributes + $v_supported_attributes + = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' + ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' + ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' + ,PCLZIP_ATT_FILE_MTIME => 'optional' + ,PCLZIP_ATT_FILE_CONTENT => 'optional' + ,PCLZIP_ATT_FILE_COMMENT => 'optional' + ); + foreach ($v_att_list as $v_entry) { + $v_result = $this->privFileDescrParseAtt($v_entry, + $v_filedescr_list[], + $v_options, + $v_supported_attributes); + if ($v_result != 1) { + return 0; + } + } + + // ----- Expand the filelist (expand directories) + $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Call the create fct + $v_result = $this->privCreate($v_filedescr_list, $p_result_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Return + return $p_result_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // add($p_filelist, $p_add_dir="", $p_remove_dir="") + // add($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two synopsis. The first one is historical. + // This methods add the list of files in an existing archive. + // If a file with the same name already exists, it is added at the end of the + // archive, the first one is still present. + // If the archive does not exist, it is created. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_OPT_ADD_COMMENT : + // PCLZIP_OPT_PREPEND_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function add($p_filelist) + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Set default values + $v_options = array(); + $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional', + PCLZIP_OPT_ADD_COMMENT => 'optional', + PCLZIP_OPT_PREPEND_COMMENT => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + //, PCLZIP_OPT_CRYPT => 'optional' + )); + if ($v_result != 1) { + return 0; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_options[PCLZIP_OPT_ADD_PATH] = $v_add_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + return 0; + } + } + } + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Init + $v_string_list = array(); + $v_att_list = array(); + $v_filedescr_list = array(); + $p_result_list = array(); + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) { + + // ----- Look if the first element is also an array + // This will mean that this is a file description entry + if (isset($p_filelist[0]) && is_array($p_filelist[0])) { + $v_att_list = $p_filelist; + } + + // ----- The list is a list of string names + else { + $v_string_list = $p_filelist; + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) { + // ----- Create a list from the string + $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); + } + + // ----- Invalid variable type for $p_filelist + else { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist"); + return 0; + } + + // ----- Reformat the string list + if (sizeof($v_string_list) != 0) { + foreach ($v_string_list as $v_string) { + $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; + } + } + + // ----- For each file in the list check the attributes + $v_supported_attributes + = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' + ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' + ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' + ,PCLZIP_ATT_FILE_MTIME => 'optional' + ,PCLZIP_ATT_FILE_CONTENT => 'optional' + ,PCLZIP_ATT_FILE_COMMENT => 'optional' + ); + foreach ($v_att_list as $v_entry) { + $v_result = $this->privFileDescrParseAtt($v_entry, + $v_filedescr_list[], + $v_options, + $v_supported_attributes); + if ($v_result != 1) { + return 0; + } + } + + // ----- Expand the filelist (expand directories) + $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Call the create fct + $v_result = $this->privAdd($v_filedescr_list, $p_result_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Return + return $p_result_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : listContent() + // Description : + // This public method, gives the list of the files and directories, with their + // properties. + // The properties of each entries in the list are (used also in other functions) : + // filename : Name of the file. For a create or add action it is the filename + // given by the user. For an extract function it is the filename + // of the extracted file. + // stored_filename : Name of the file / directory stored in the archive. + // size : Size of the stored file. + // compressed_size : Size of the file's data compressed in the archive + // (without the headers overhead) + // mtime : Last known modification date of the file (UNIX timestamp) + // comment : Comment associated with the file + // folder : true | false + // index : index of the file in the archive + // status : status of the action (depending of the action) : + // Values are : + // ok : OK ! + // filtered : the file / dir is not extracted (filtered by user) + // already_a_directory : the file can not be extracted because a + // directory with the same name already exists + // write_protected : the file can not be extracted because a file + // with the same name already exists and is + // write protected + // newer_exist : the file was not extracted because a newer file exists + // path_creation_fail : the file is not extracted because the folder + // does not exist and can not be created + // write_error : the file was not extracted because there was a + // error while writing the file + // read_error : the file was not extracted because there was a error + // while reading the file + // invalid_header : the file was not extracted because of an archive + // format error (bad file header) + // Note that each time a method can continue operating when there + // is an action error on a file, the error is only logged in the file status. + // Return Values : + // 0 on an unrecoverable failure, + // The list of the files in the archive. + // -------------------------------------------------------------------------------- + function listContent() + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Call the extracting fct + $p_list = array(); + if (($v_result = $this->privList($p_list)) != 1) + { + unset($p_list); + return(0); + } + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // extract($p_path="./", $p_remove_path="") + // extract([$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method extract all the files / directories from the archive to the + // folder indicated in $p_path. + // If you want to ignore the 'root' part of path of the memorized files + // you can indicate this in the optional $p_remove_path parameter. + // By default, if a newer file with the same name already exists, the + // file is not extracted. + // + // If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH aoptions + // are used, the path indicated in PCLZIP_OPT_ADD_PATH is append + // at the end of the path value of PCLZIP_OPT_PATH. + // Parameters : + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 or a negative value on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function extract() + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); +// $v_path = "./"; + $v_path = ''; + $v_remove_path = ""; + $v_remove_all_path = false; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + + // ----- Look for arguments + if ($v_size > 0) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional', + PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional', + PCLZIP_OPT_REPLACE_NEWER => 'optional' + ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' + ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + )); + if ($v_result != 1) { + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + return 0; + } + } + } + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Trace + + // ----- Call the extracting fct + $p_list = array(); + $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, + $v_remove_all_path, $v_options); + if ($v_result < 1) { + unset($p_list); + return(0); + } + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + + // -------------------------------------------------------------------------------- + // Function : + // extractByIndex($p_index, $p_path="./", $p_remove_path="") + // extractByIndex($p_index, [$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method is doing a partial extract of the archive. + // The extracted files or folders are identified by their index in the + // archive (from 0 to n). + // Note that if the index identify a folder, only the folder entry is + // extracted, not all the files included in the archive. + // Parameters : + // $p_index : A single index (integer) or a string of indexes of files to + // extract. The form of the string is "0,4-6,8-12" with only numbers + // and '-' for range or ',' to separate ranges. No spaces or ';' + // are allowed. + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_EXTRACT_AS_STRING : The files are extracted as strings and + // not as files. + // The resulting content is in a new field 'content' in the file + // structure. + // This option must be used alone (any other options are ignored). + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + //function extractByIndex($p_index, options...) + function extractByIndex($p_index) + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); +// $v_path = "./"; + $v_path = ''; + $v_remove_path = ""; + $v_remove_all_path = false; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional', + PCLZIP_OPT_REPLACE_NEWER => 'optional' + ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' + ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + )); + if ($v_result != 1) { + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) { + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + } + else { + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + return 0; + } + } + } + + // ----- Trace + + // ----- Trick + // Here I want to reuse extractByRule(), so I need to parse the $p_index + // with privParseOptions() + $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index); + $v_options_trick = array(); + $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick, + array (PCLZIP_OPT_BY_INDEX => 'optional' )); + if ($v_result != 1) { + return 0; + } + $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX]; + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Call the extracting fct + if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) { + return(0); + } + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // delete([$p_option, $p_option_value, ...]) + // Description : + // This method removes files from the archive. + // If no parameters are given, then all the archive is emptied. + // Parameters : + // None or optional arguments. + // Options : + // PCLZIP_OPT_BY_INDEX : + // PCLZIP_OPT_BY_NAME : + // PCLZIP_OPT_BY_EREG : + // PCLZIP_OPT_BY_PREG : + // Return Values : + // 0 on failure, + // The list of the files which are still present in the archive. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function delete() + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Look for arguments + if ($v_size > 0) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional' )); + if ($v_result != 1) { + return 0; + } + } + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Call the delete fct + $v_list = array(); + if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) { + $this->privSwapBackMagicQuotes(); + unset($v_list); + return(0); + } + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : deleteByIndex() + // Description : + // ***** Deprecated ***** + // delete(PCLZIP_OPT_BY_INDEX, $p_index) should be prefered. + // -------------------------------------------------------------------------------- + function deleteByIndex($p_index) + { + + $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index); + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : properties() + // Description : + // This method gives the properties of the archive. + // The properties are : + // nb : Number of files in the archive + // comment : Comment associated with the archive file + // status : not_exist, ok + // Parameters : + // None + // Return Values : + // 0 on failure, + // An array with the archive properties. + // -------------------------------------------------------------------------------- + function properties() + { + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + $this->privSwapBackMagicQuotes(); + return(0); + } + + // ----- Default properties + $v_prop = array(); + $v_prop['comment'] = ''; + $v_prop['nb'] = 0; + $v_prop['status'] = 'not_exist'; + + // ----- Look if file exists + if (@is_file($this->zipname)) + { + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) + { + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + return 0; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privSwapBackMagicQuotes(); + return 0; + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Set the user attributes + $v_prop['comment'] = $v_central_dir['comment']; + $v_prop['nb'] = $v_central_dir['entries']; + $v_prop['status'] = 'ok'; + } + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_prop; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : duplicate() + // Description : + // This method creates an archive by copying the content of an other one. If + // the archive already exist, it is replaced by the new one without any warning. + // Parameters : + // $p_archive : The filename of a valid archive, or + // a valid PclZip object. + // Return Values : + // 1 on success. + // 0 or a negative value on error (error code). + // -------------------------------------------------------------------------------- + function duplicate($p_archive) + { + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the $p_archive is a PclZip object + if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip')) + { + + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive->zipname); + } + + // ----- Look if the $p_archive is a string (so a filename) + else if (is_string($p_archive)) + { + + // ----- Check that $p_archive is a valid zip file + // TBC : Should also check the archive format + if (!is_file($p_archive)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'"); + $v_result = PCLZIP_ERR_MISSING_FILE; + } + else { + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive); + } + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : merge() + // Description : + // This method merge the $p_archive_to_add archive at the end of the current + // one ($this). + // If the archive ($this) does not exist, the merge becomes a duplicate. + // If the $p_archive_to_add archive does not exist, the merge is a success. + // Parameters : + // $p_archive_to_add : It can be directly the filename of a valid zip archive, + // or a PclZip object archive. + // Return Values : + // 1 on success, + // 0 or negative values on error (see below). + // -------------------------------------------------------------------------------- + function merge($p_archive_to_add) + { + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Look if the $p_archive_to_add is a PclZip object + if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip')) + { + + // ----- Merge the archive + $v_result = $this->privMerge($p_archive_to_add); + } + + // ----- Look if the $p_archive_to_add is a string (so a filename) + else if (is_string($p_archive_to_add)) + { + + // ----- Create a temporary archive + $v_object_archive = new PclZip($p_archive_to_add); + + // ----- Merge the archive + $v_result = $this->privMerge($v_object_archive); + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : errorCode() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorCode() + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorCode()); + } + else { + return($this->error_code); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorName() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorName($p_with_code=false) + { + $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR', + PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL', + PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL', + PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER', + PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE', + PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG', + PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP', + PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE', + PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL', + PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION', + PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT', + PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL', + PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL', + PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM', + PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', + PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE', + PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE', + PCLZIP_ERR_UNSUPPORTED_COMPRESSION => 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', + PCLZIP_ERR_UNSUPPORTED_ENCRYPTION => 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION' + ,PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE => 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE' + ,PCLZIP_ERR_DIRECTORY_RESTRICTION => 'PCLZIP_ERR_DIRECTORY_RESTRICTION' + ); + + if (isset($v_name[$this->error_code])) { + $v_value = $v_name[$this->error_code]; + } + else { + $v_value = 'NoName'; + } + + if ($p_with_code) { + return($v_value.' ('.$this->error_code.')'); + } + else { + return($v_value); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorInfo() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorInfo($p_full=false) + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorString()); + } + else { + if ($p_full) { + return($this->errorName(true)." : ".$this->error_string); + } + else { + return($this->error_string." [code ".$this->error_code."]"); + } + } + } + // -------------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------------- +// ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS ***** +// ***** ***** +// ***** THESES FUNCTIONS MUST NOT BE USED DIRECTLY ***** +// -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : privCheckFormat() + // Description : + // This method check that the archive exists and is a valid zip archive. + // Several level of check exists. (futur) + // Parameters : + // $p_level : Level of check. Default 0. + // 0 : Check the first bytes (magic codes) (default value)) + // 1 : 0 + Check the central directory (futur) + // 2 : 1 + Check each file header (futur) + // Return Values : + // true on success, + // false on error, the error code is set. + // -------------------------------------------------------------------------------- + function privCheckFormat($p_level=0) + { + $v_result = true; + + // ----- Reset the file system cache + clearstatcache(); + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the file exits + if (!is_file($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'"); + return(false); + } + + // ----- Check that the file is readeable + if (!is_readable($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'"); + return(false); + } + + // ----- Check the magic code + // TBC + + // ----- Check the central header + // TBC + + // ----- Check each file header + // TBC + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privParseOptions() + // Description : + // This internal methods reads the variable list of arguments ($p_options_list, + // $p_size) and generate an array with the options and values ($v_result_list). + // $v_requested_options contains the options that can be present and those that + // must be present. + // $v_requested_options is an array, with the option value as key, and 'optional', + // or 'mandatory' as value. + // Parameters : + // See above. + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false) + { + $v_result=1; + + // ----- Read the options + $i=0; + while ($i<$p_size) { + + // ----- Check if the option is supported + if (!isset($v_requested_options[$p_options_list[$i]])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for next option + switch ($p_options_list[$i]) { + // ----- Look for options that request a path value + case PCLZIP_OPT_PATH : + case PCLZIP_OPT_REMOVE_PATH : + case PCLZIP_OPT_ADD_PATH : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); + $i++; + break; + + case PCLZIP_OPT_TEMP_FILE_THRESHOLD : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + return PclZip::errorCode(); + } + + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); + return PclZip::errorCode(); + } + + // ----- Check the value + $v_value = $p_options_list[$i+1]; + if ((!is_integer($v_value)) || ($v_value<0)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Integer expected for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + return PclZip::errorCode(); + } + + // ----- Get the value (and convert it in bytes) + $v_result_list[$p_options_list[$i]] = $v_value*1048576; + $i++; + break; + + case PCLZIP_OPT_TEMP_FILE_ON : + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); + return PclZip::errorCode(); + } + + $v_result_list[$p_options_list[$i]] = true; + break; + + case PCLZIP_OPT_TEMP_FILE_OFF : + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_ON])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_ON'"); + return PclZip::errorCode(); + } + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'"); + return PclZip::errorCode(); + } + + $v_result_list[$p_options_list[$i]] = true; + break; + + case PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if ( is_string($p_options_list[$i+1]) + && ($p_options_list[$i+1] != '')) { + $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); + $i++; + } + else { + } + break; + + // ----- Look for options that request an array of string for value + case PCLZIP_OPT_BY_NAME : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1]; + } + else if (is_array($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that request an EREG or PREG expression + case PCLZIP_OPT_BY_EREG : + // ereg() is deprecated starting with PHP 5.3. Move PCLZIP_OPT_BY_EREG + // to PCLZIP_OPT_BY_PREG + $p_options_list[$i] = PCLZIP_OPT_BY_PREG; + case PCLZIP_OPT_BY_PREG : + //case PCLZIP_OPT_CRYPT : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that takes a string + case PCLZIP_OPT_COMMENT : + case PCLZIP_OPT_ADD_COMMENT : + case PCLZIP_OPT_PREPEND_COMMENT : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, + "Missing parameter value for option '" + .PclZipUtilOptionText($p_options_list[$i]) + ."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, + "Wrong parameter value for option '" + .PclZipUtilOptionText($p_options_list[$i]) + ."'"); + + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that request an array of index + case PCLZIP_OPT_BY_INDEX : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_work_list = array(); + if (is_string($p_options_list[$i+1])) { + + // ----- Remove spaces + $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', ''); + + // ----- Parse items + $v_work_list = explode(",", $p_options_list[$i+1]); + } + else if (is_integer($p_options_list[$i+1])) { + $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1]; + } + else if (is_array($p_options_list[$i+1])) { + $v_work_list = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Reduce the index list + // each index item in the list must be a couple with a start and + // an end value : [0,3], [5-5], [8-10], ... + // ----- Check the format of each item + $v_sort_flag=false; + $v_sort_value=0; + for ($j=0; $j= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + $i++; + break; + + // ----- Look for options that request a call-back + case PCLZIP_CB_PRE_EXTRACT : + case PCLZIP_CB_POST_EXTRACT : + case PCLZIP_CB_PRE_ADD : + case PCLZIP_CB_POST_ADD : + /* for futur use + case PCLZIP_CB_PRE_DELETE : + case PCLZIP_CB_POST_DELETE : + case PCLZIP_CB_PRE_LIST : + case PCLZIP_CB_POST_LIST : + */ + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_function_name = $p_options_list[$i+1]; + + // ----- Check that the value is a valid existing function + if (!function_exists($v_function_name)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Set the attribute + $v_result_list[$p_options_list[$i]] = $v_function_name; + $i++; + break; + + default : + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Unknown parameter '" + .$p_options_list[$i]."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Next options + $i++; + } + + // ----- Look for mandatory options + if ($v_requested_options !== false) { + for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { + // ----- Look for mandatory option + if ($v_requested_options[$key] == 'mandatory') { + // ----- Look if present + if (!isset($v_result_list[$key])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + + // ----- Return + return PclZip::errorCode(); + } + } + } + } + + // ----- Look for default values + if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { + + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privOptionDefaultThreshold() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privOptionDefaultThreshold(&$p_options) + { + $v_result=1; + + if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) + || isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) { + return $v_result; + } + + // ----- Get 'memory_limit' configuration value + $v_memory_limit = ini_get('memory_limit'); + $v_memory_limit = trim($v_memory_limit); + $last = strtolower(substr($v_memory_limit, -1)); + + if($last == 'g') + //$v_memory_limit = $v_memory_limit*1024*1024*1024; + $v_memory_limit = $v_memory_limit*1073741824; + if($last == 'm') + //$v_memory_limit = $v_memory_limit*1024*1024; + $v_memory_limit = $v_memory_limit*1048576; + if($last == 'k') + $v_memory_limit = $v_memory_limit*1024; + + $p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit*PCLZIP_TEMPORARY_FILE_RATIO); + + + // ----- Sanity check : No threshold if value lower than 1M + if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) { + unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privFileDescrParseAtt() + // Description : + // Parameters : + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false) + { + $v_result=1; + + // ----- For each file in the list check the attributes + foreach ($p_file_list as $v_key => $v_value) { + + // ----- Check if the option is supported + if (!isset($v_requested_options[$v_key])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file attribute '".$v_key."' for this file"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for attribute + switch ($v_key) { + case PCLZIP_ATT_FILE_NAME : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['filename'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['filename'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + break; + + case PCLZIP_ATT_FILE_NEW_SHORT_NAME : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['new_short_name'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['new_short_name'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty short filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + break; + + case PCLZIP_ATT_FILE_NEW_FULL_NAME : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['new_full_name'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['new_full_name'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty full filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + break; + + // ----- Look for options that takes a string + case PCLZIP_ATT_FILE_COMMENT : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['comment'] = $v_value; + break; + + case PCLZIP_ATT_FILE_MTIME : + if (!is_integer($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['mtime'] = $v_value; + break; + + case PCLZIP_ATT_FILE_CONTENT : + $p_filedescr['content'] = $v_value; + break; + + default : + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Unknown parameter '".$v_key."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for mandatory options + if ($v_requested_options !== false) { + for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { + // ----- Look for mandatory option + if ($v_requested_options[$key] == 'mandatory') { + // ----- Look if present + if (!isset($p_file_list[$key])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + return PclZip::errorCode(); + } + } + } + } + + // end foreach + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privFileDescrExpand() + // Description : + // This method look for each item of the list to see if its a file, a folder + // or a string to be added as file. For any other type of files (link, other) + // just ignore the item. + // Then prepare the information that will be stored for that file. + // When its a folder, expand the folder with all the files that are in that + // folder (recursively). + // Parameters : + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + function privFileDescrExpand(&$p_filedescr_list, &$p_options) + { + $v_result=1; + + // ----- Create a result list + $v_result_list = array(); + + // ----- Look each entry + for ($i=0; $iprivCalculateStoredFilename($v_descr, $p_options); + + // ----- Add the descriptor in result list + $v_result_list[sizeof($v_result_list)] = $v_descr; + + // ----- Look for folder + if ($v_descr['type'] == 'folder') { + // ----- List of items in folder + $v_dirlist_descr = array(); + $v_dirlist_nb = 0; + if ($v_folder_handler = @opendir($v_descr['filename'])) { + while (($v_item_handler = @readdir($v_folder_handler)) !== false) { + + // ----- Skip '.' and '..' + if (($v_item_handler == '.') || ($v_item_handler == '..')) { + continue; + } + + // ----- Compose the full filename + $v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler; + + // ----- Look for different stored filename + // Because the name of the folder was changed, the name of the + // files/sub-folders also change + if (($v_descr['stored_filename'] != $v_descr['filename']) + && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) { + if ($v_descr['stored_filename'] != '') { + $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler; + } + else { + $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler; + } + } + + $v_dirlist_nb++; + } + + @closedir($v_folder_handler); + } + else { + // TBC : unable to open folder in read mode + } + + // ----- Expand each element of the list + if ($v_dirlist_nb != 0) { + // ----- Expand + if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) { + return $v_result; + } + + // ----- Concat the resulting list + $v_result_list = array_merge($v_result_list, $v_dirlist_descr); + } + else { + } + + // ----- Free local array + unset($v_dirlist_descr); + } + } + + // ----- Get the result list + $p_filedescr_list = $v_result_list; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCreate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privCreate($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the file in write mode + if (($v_result = $this->privOpenFd('wb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Add the list of files + $v_result = $this->privAddList($p_filedescr_list, $p_result_list, $p_options); + + // ----- Close + $this->privCloseFd(); + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAdd() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAdd($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Look if the archive exists or is empty + if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0)) + { + + // ----- Do a create + $v_result = $this->privCreate($p_filedescr_list, $p_result_list, $p_options); + + // ----- Return + return $v_result; + } + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) + { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) + { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($this->zip_fd); + + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Create the Central Dir files header + for ($i=0, $v_count=0; $iprivWriteCentralFileHeader($v_header_list[$i])) != 1) { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + $v_count++; + } + + // ----- Transform the header to a 'usable' info + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + // ----- Zip file comment + $v_comment = $v_central_dir['comment']; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) { + $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($this->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1) + { + // ----- Reset the file list + unset($v_header_list); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Close + $this->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privOpenFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privOpenFd($p_mode) + { + $v_result=1; + + // ----- Look if already open + if ($this->zip_fd != 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCloseFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privCloseFd() + { + $v_result=1; + + if ($this->zip_fd != 0) + @fclose($this->zip_fd); + $this->zip_fd = 0; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddList() + // Description : + // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is + // different from the real path of the file. This is usefull if you want to have PclTar + // running in any directory, and memorize relative path from an other directory. + // Parameters : + // $p_list : An array containing the file or directory names to add in the tar + // $p_result_list : list of added files with their properties (specially the status field) + // $p_add_dir : Path to add in the filename path archived + // $p_remove_dir : Path to remove in the filename path archived + // Return Values : + // -------------------------------------------------------------------------------- +// function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + function privAddList($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($this->zip_fd); + + // ----- Create the Central Dir files header + for ($i=0,$v_count=0; $iprivWriteCentralFileHeader($v_header_list[$i])) != 1) { + // ----- Return + return $v_result; + } + $v_count++; + } + + // ----- Transform the header to a 'usable' info + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($this->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1) + { + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + return $v_result; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFileList() + // Description : + // Parameters : + // $p_filedescr_list : An array containing the file description + // or directory names to add in the zip + // $p_result_list : list of added files with their properties (specially the status field) + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_header = array(); + + // ----- Recuperate the current number of elt in list + $v_nb = sizeof($p_result_list); + + // ----- Loop on the files + for ($j=0; ($jprivAddFile($p_filedescr_list[$j], $v_header, + $p_options); + if ($v_result != 1) { + return $v_result; + } + + // ----- Store the file infos + $p_result_list[$v_nb++] = $v_header; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFile($p_filedescr, &$p_header, &$p_options) + { + $v_result=1; + + // ----- Working variable + $p_filename = $p_filedescr['filename']; + + // TBC : Already done in the fileAtt check ... ? + if ($p_filename == "") { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for a stored different filename + /* TBC : Removed + if (isset($p_filedescr['stored_filename'])) { + $v_stored_filename = $p_filedescr['stored_filename']; + } + else { + $v_stored_filename = $p_filedescr['stored_filename']; + } + */ + + // ----- Set the file properties + clearstatcache(); + $p_header['version'] = 20; + $p_header['version_extracted'] = 10; + $p_header['flag'] = 0; + $p_header['compression'] = 0; + $p_header['crc'] = 0; + $p_header['compressed_size'] = 0; + $p_header['filename_len'] = strlen($p_filename); + $p_header['extra_len'] = 0; + $p_header['disk'] = 0; + $p_header['internal'] = 0; + $p_header['offset'] = 0; + $p_header['filename'] = $p_filename; +// TBC : Removed $p_header['stored_filename'] = $v_stored_filename; + $p_header['stored_filename'] = $p_filedescr['stored_filename']; + $p_header['extra'] = ''; + $p_header['status'] = 'ok'; + $p_header['index'] = -1; + + // ----- Look for regular file + if ($p_filedescr['type']=='file') { + $p_header['external'] = 0x00000000; + $p_header['size'] = filesize($p_filename); + } + + // ----- Look for regular folder + else if ($p_filedescr['type']=='folder') { + $p_header['external'] = 0x00000010; + $p_header['mtime'] = filemtime($p_filename); + $p_header['size'] = filesize($p_filename); + } + + // ----- Look for virtual file + else if ($p_filedescr['type'] == 'virtual_file') { + $p_header['external'] = 0x00000000; + $p_header['size'] = strlen($p_filedescr['content']); + } + + + // ----- Look for filetime + if (isset($p_filedescr['mtime'])) { + $p_header['mtime'] = $p_filedescr['mtime']; + } + else if ($p_filedescr['type'] == 'virtual_file') { + $p_header['mtime'] = time(); + } + else { + $p_header['mtime'] = filemtime($p_filename); + } + + // ------ Look for file comment + if (isset($p_filedescr['comment'])) { + $p_header['comment_len'] = strlen($p_filedescr['comment']); + $p_header['comment'] = $p_filedescr['comment']; + } + else { + $p_header['comment_len'] = 0; + $p_header['comment'] = ''; + } + + // ----- Look for pre-add callback + if (isset($p_options[PCLZIP_CB_PRE_ADD])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_ADD].'(PCLZIP_CB_PRE_ADD, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_ADD](PCLZIP_CB_PRE_ADD, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_header['status'] = "skipped"; + $v_result = 1; + } + + // ----- Update the informations + // Only some fields can be modified + if ($p_header['stored_filename'] != $v_local_header['stored_filename']) { + $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']); + } + } + + // ----- Look for empty stored filename + if ($p_header['stored_filename'] == "") { + $p_header['status'] = "filtered"; + } + + // ----- Check the path length + if (strlen($p_header['stored_filename']) > 0xFF) { + $p_header['status'] = 'filename_too_long'; + } + + // ----- Look if no error, or file not skipped + if ($p_header['status'] == 'ok') { + + // ----- Look for a file + if ($p_filedescr['type'] == 'file') { + // ----- Look for using temporary file to zip + if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) + && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) + || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) + && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])) ) ) { + $v_result = $this->privAddFileUsingTempFile($p_filedescr, $p_header, $p_options); + if ($v_result < PCLZIP_ERR_NO_ERROR) { + return $v_result; + } + } + + // ----- Use "in memory" zip algo + else { + + // ----- Open the source file + if (($v_file = @fopen($p_filename, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); + return PclZip::errorCode(); + } + + // ----- Read the file content + $v_content = @fread($v_file, $p_header['size']); + + // ----- Close the file + @fclose($v_file); + + // ----- Calculate the CRC + $p_header['crc'] = @crc32($v_content); + + // ----- Look for no compression + if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { + // ----- Set header parameters + $p_header['compressed_size'] = $p_header['size']; + $p_header['compression'] = 0; + } + + // ----- Look for normal compression + else { + // ----- Compress the content + $v_content = @gzdeflate($v_content); + + // ----- Set header parameters + $p_header['compressed_size'] = strlen($v_content); + $p_header['compression'] = 8; + } + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + @fclose($v_file); + return $v_result; + } + + // ----- Write the compressed (or not) content + @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); + + } + + } + + // ----- Look for a virtual file (a file from string) + else if ($p_filedescr['type'] == 'virtual_file') { + + $v_content = $p_filedescr['content']; + + // ----- Calculate the CRC + $p_header['crc'] = @crc32($v_content); + + // ----- Look for no compression + if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { + // ----- Set header parameters + $p_header['compressed_size'] = $p_header['size']; + $p_header['compression'] = 0; + } + + // ----- Look for normal compression + else { + // ----- Compress the content + $v_content = @gzdeflate($v_content); + + // ----- Set header parameters + $p_header['compressed_size'] = strlen($v_content); + $p_header['compression'] = 8; + } + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + @fclose($v_file); + return $v_result; + } + + // ----- Write the compressed (or not) content + @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); + } + + // ----- Look for a directory + else if ($p_filedescr['type'] == 'folder') { + // ----- Look for directory last '/' + if (@substr($p_header['stored_filename'], -1) != '/') { + $p_header['stored_filename'] .= '/'; + } + + // ----- Set the file properties + $p_header['size'] = 0; + //$p_header['external'] = 0x41FF0010; // Value for a folder : to be checked + $p_header['external'] = 0x00000010; // Value for a folder : to be checked + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) + { + return $v_result; + } + } + } + + // ----- Look for post-add callback + if (isset($p_options[PCLZIP_CB_POST_ADD])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_ADD].'(PCLZIP_CB_POST_ADD, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_ADD](PCLZIP_CB_POST_ADD, $v_local_header); + if ($v_result == 0) { + // ----- Ignored + $v_result = 1; + } + + // ----- Update the informations + // Nothing can be modified + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFileUsingTempFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options) + { + $v_result=PCLZIP_ERR_NO_ERROR; + + // ----- Working variable + $p_filename = $p_filedescr['filename']; + + + // ----- Open the source file + if (($v_file = @fopen($p_filename, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); + return PclZip::errorCode(); + } + + // ----- Creates a compressed temporary file + $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; + if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) { + fclose($v_file); + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); + return PclZip::errorCode(); + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = filesize($p_filename); + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_file, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @gzputs($v_file_compressed, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close the file + @fclose($v_file); + @gzclose($v_file_compressed); + + // ----- Check the minimum file size + if (filesize($v_gzip_temp_name) < 18) { + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'gzip temporary file \''.$v_gzip_temp_name.'\' has invalid filesize - should be minimum 18 bytes'); + return PclZip::errorCode(); + } + + // ----- Extract the compressed attributes + if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + // ----- Read the gzip file header + $v_binary_data = @fread($v_file_compressed, 10); + $v_data_header = unpack('a1id1/a1id2/a1cm/a1flag/Vmtime/a1xfl/a1os', $v_binary_data); + + // ----- Check some parameters + $v_data_header['os'] = bin2hex($v_data_header['os']); + + // ----- Read the gzip file footer + @fseek($v_file_compressed, filesize($v_gzip_temp_name)-8); + $v_binary_data = @fread($v_file_compressed, 8); + $v_data_footer = unpack('Vcrc/Vcompressed_size', $v_binary_data); + + // ----- Set the attributes + $p_header['compression'] = ord($v_data_header['cm']); + //$p_header['mtime'] = $v_data_header['mtime']; + $p_header['crc'] = $v_data_footer['crc']; + $p_header['compressed_size'] = filesize($v_gzip_temp_name)-18; + + // ----- Close the file + @fclose($v_file_compressed); + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + return $v_result; + } + + // ----- Add the compressed data + if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) + { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + fseek($v_file_compressed, 10); + $v_size = $p_header['compressed_size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_file_compressed, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close the file + @fclose($v_file_compressed); + + // ----- Unlink the temporary file + @unlink($v_gzip_temp_name); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCalculateStoredFilename() + // Description : + // Based on file descriptor properties and global options, this method + // calculate the filename that will be stored in the archive. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privCalculateStoredFilename(&$p_filedescr, &$p_options) + { + $v_result=1; + + // ----- Working variables + $p_filename = $p_filedescr['filename']; + if (isset($p_options[PCLZIP_OPT_ADD_PATH])) { + $p_add_dir = $p_options[PCLZIP_OPT_ADD_PATH]; + } + else { + $p_add_dir = ''; + } + if (isset($p_options[PCLZIP_OPT_REMOVE_PATH])) { + $p_remove_dir = $p_options[PCLZIP_OPT_REMOVE_PATH]; + } + else { + $p_remove_dir = ''; + } + if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + else { + $p_remove_all_dir = 0; + } + + + // ----- Look for full name change + if (isset($p_filedescr['new_full_name'])) { + // ----- Remove drive letter if any + $v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']); + } + + // ----- Look for path and/or short name change + else { + + // ----- Look for short name change + // Its when we cahnge just the filename but not the path + if (isset($p_filedescr['new_short_name'])) { + $v_path_info = pathinfo($p_filename); + $v_dir = ''; + if ($v_path_info['dirname'] != '') { + $v_dir = $v_path_info['dirname'].'/'; + } + $v_stored_filename = $v_dir.$p_filedescr['new_short_name']; + } + else { + // ----- Calculate the stored filename + $v_stored_filename = $p_filename; + } + + // ----- Look for all path to remove + if ($p_remove_all_dir) { + $v_stored_filename = basename($p_filename); + } + // ----- Look for partial path remove + else if ($p_remove_dir != "") { + if (substr($p_remove_dir, -1) != '/') + $p_remove_dir .= "/"; + + if ( (substr($p_filename, 0, 2) == "./") + || (substr($p_remove_dir, 0, 2) == "./")) { + + if ( (substr($p_filename, 0, 2) == "./") + && (substr($p_remove_dir, 0, 2) != "./")) { + $p_remove_dir = "./".$p_remove_dir; + } + if ( (substr($p_filename, 0, 2) != "./") + && (substr($p_remove_dir, 0, 2) == "./")) { + $p_remove_dir = substr($p_remove_dir, 2); + } + } + + $v_compare = PclZipUtilPathInclusion($p_remove_dir, + $v_stored_filename); + if ($v_compare > 0) { + if ($v_compare == 2) { + $v_stored_filename = ""; + } + else { + $v_stored_filename = substr($v_stored_filename, + strlen($p_remove_dir)); + } + } + } + + // ----- Remove drive letter if any + $v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename); + + // ----- Look for path to add + if ($p_add_dir != "") { + if (substr($p_add_dir, -1) == "/") + $v_stored_filename = $p_add_dir.$v_stored_filename; + else + $v_stored_filename = $p_add_dir."/".$v_stored_filename; + } + } + + // ----- Filename (reduce the path of stored name) + $v_stored_filename = PclZipUtilPathReduction($v_stored_filename); + $p_filedescr['stored_filename'] = $v_stored_filename; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteFileHeader(&$p_header) + { + $v_result=1; + + // ----- Store the offset position of the file + $p_header['offset'] = ftell($this->zip_fd); + + // ----- Transform UNIX mtime to DOS format mdate/mtime + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + // ----- Packed data + $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50, + $p_header['version_extracted'], $p_header['flag'], + $p_header['compression'], $v_mtime, $v_mdate, + $p_header['crc'], $p_header['compressed_size'], + $p_header['size'], + strlen($p_header['stored_filename']), + $p_header['extra_len']); + + // ----- Write the first 148 bytes of the header in the archive + fputs($this->zip_fd, $v_binary_data, 30); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) + { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) + { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteCentralFileHeader(&$p_header) + { + $v_result=1; + + // TBC + //for(reset($p_header); $key = key($p_header); next($p_header)) { + //} + + // ----- Transform UNIX mtime to DOS format mdate/mtime + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + + // ----- Packed data + $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50, + $p_header['version'], $p_header['version_extracted'], + $p_header['flag'], $p_header['compression'], + $v_mtime, $v_mdate, $p_header['crc'], + $p_header['compressed_size'], $p_header['size'], + strlen($p_header['stored_filename']), + $p_header['extra_len'], $p_header['comment_len'], + $p_header['disk'], $p_header['internal'], + $p_header['external'], $p_header['offset']); + + // ----- Write the 42 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 46); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) + { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) + { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + if ($p_header['comment_len'] != 0) + { + fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment) + { + $v_result=1; + + // ----- Packed data + $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries, + $p_nb_entries, $p_size, + $p_offset, strlen($p_comment)); + + // ----- Write the 22 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 22); + + // ----- Write the variable fields + if (strlen($p_comment) != 0) + { + fputs($this->zip_fd, $p_comment, strlen($p_comment)); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privList() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privList(&$p_list) + { + $v_result=1; + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) + { + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Go to beginning of Central Dir + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_central_dir['offset'])) + { + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read each entry + for ($i=0; $i<$v_central_dir['entries']; $i++) + { + // ----- Read the file header + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) + { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + $v_header['index'] = $i; + + // ----- Get the only interesting attributes + $this->privConvertHeader2FileInfo($v_header, $p_list[$i]); + unset($v_header); + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privConvertHeader2FileInfo() + // Description : + // This function takes the file informations from the central directory + // entries and extract the interesting parameters that will be given back. + // The resulting file infos are set in the array $p_info + // $p_info['filename'] : Filename with full path. Given by user (add), + // extracted in the filesystem (extract). + // $p_info['stored_filename'] : Stored filename in the archive. + // $p_info['size'] = Size of the file. + // $p_info['compressed_size'] = Compressed size of the file. + // $p_info['mtime'] = Last modification date of the file. + // $p_info['comment'] = Comment associated with the file. + // $p_info['folder'] = true/false : indicates if the entry is a folder or not. + // $p_info['status'] = status of the action on the file. + // $p_info['crc'] = CRC of the file content. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privConvertHeader2FileInfo($p_header, &$p_info) + { + $v_result=1; + + // ----- Get the interesting attributes + $v_temp_path = PclZipUtilPathReduction($p_header['filename']); + $p_info['filename'] = $v_temp_path; + $v_temp_path = PclZipUtilPathReduction($p_header['stored_filename']); + $p_info['stored_filename'] = $v_temp_path; + $p_info['size'] = $p_header['size']; + $p_info['compressed_size'] = $p_header['compressed_size']; + $p_info['mtime'] = $p_header['mtime']; + $p_info['comment'] = $p_header['comment']; + $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010); + $p_info['index'] = $p_header['index']; + $p_info['status'] = $p_header['status']; + $p_info['crc'] = $p_header['crc']; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractByRule() + // Description : + // Extract a file or directory depending of rules (by index, by name, ...) + // Parameters : + // $p_file_list : An array where will be placed the properties of each + // extracted file + // $p_path : Path to add while writing the extracted files + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_remove_path does not apply to 'list' mode. + // $p_path and $p_remove_path are commulative. + // Return Values : + // 1 on success,0 or less on error (see error code list) + // -------------------------------------------------------------------------------- + function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) + { + $v_result=1; + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Check the path + if ( ($p_path == "") + || ( (substr($p_path, 0, 1) != "/") + && (substr($p_path, 0, 3) != "../") + && (substr($p_path,1,2)!=":/"))) + $p_path = "./".$p_path; + + // ----- Reduce the path last (and duplicated) '/' + if (($p_path != "./") && ($p_path != "/")) + { + // ----- Look for the path end '/' + while (substr($p_path, -1) == "/") + { + $p_path = substr($p_path, 0, strlen($p_path)-1); + } + } + + // ----- Look for path to remove format (should end by /) + if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) + { + $p_remove_path .= '/'; + } + $p_remove_path_size = strlen($p_remove_path); + + // ----- Open the zip file + if (($v_result = $this->privOpenFd('rb')) != 1) + { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + + // ----- Read each entry + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) + { + + // ----- Read next Central dir entry + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_pos_entry)) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Store the index + $v_header['index'] = $i; + + // ----- Store the file position + $v_pos_entry = ftell($this->zip_fd); + + // ----- Look for the specific extract rules + $v_extract = false; + + // ----- Look for extract by name rule + if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) + && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + + // ----- Look if the filename is in the list + for ($j=0; ($j strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) + && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_extract = true; + } + } + // ----- Look for a filename + elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + $v_extract = true; + } + } + } + + // ----- Look for extract by ereg rule + // ereg() is deprecated with PHP 5.3 + /* + else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) + && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { + + if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header['stored_filename'])) { + $v_extract = true; + } + } + */ + + // ----- Look for extract by preg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) + && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) { + $v_extract = true; + } + } + + // ----- Look for extract by index rule + else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) + && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + + // ----- Look if the index is in the list + for ($j=$j_start; ($j=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + $v_extract = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + $j_start = $j+1; + } + + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + break; + } + } + } + + // ----- Look for no rule, which means extract all the archive + else { + $v_extract = true; + } + + // ----- Check compression method + if ( ($v_extract) + && ( ($v_header['compression'] != 8) + && ($v_header['compression'] != 0))) { + $v_header['status'] = 'unsupported_compression'; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION, + "Filename '".$v_header['stored_filename']."' is " + ."compressed by an unsupported compression " + ."method (".$v_header['compression'].") "); + + return PclZip::errorCode(); + } + } + + // ----- Check encrypted files + if (($v_extract) && (($v_header['flag'] & 1) == 1)) { + $v_header['status'] = 'unsupported_encryption'; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, + "Unsupported encryption for " + ." filename '".$v_header['stored_filename'] + ."'"); + + return PclZip::errorCode(); + } + } + + // ----- Look for real extraction + if (($v_extract) && ($v_header['status'] != 'ok')) { + $v_result = $this->privConvertHeader2FileInfo($v_header, + $p_file_list[$v_nb_extracted++]); + if ($v_result != 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + $v_extract = false; + } + + // ----- Look for real extraction + if ($v_extract) + { + + // ----- Go to the file position + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_header['offset'])) + { + // ----- Close the zip file + $this->privCloseFd(); + + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for extraction as string + if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) { + + $v_string = ''; + + // ----- Extracting the file + $v_result1 = $this->privExtractFileAsString($v_header, $v_string, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Set the file content + $p_file_list[$v_nb_extracted]['content'] = $v_string; + + // ----- Next extracted file + $v_nb_extracted++; + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + // ----- Look for extraction in standard output + elseif ( (isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) + && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) { + // ----- Extracting the file in standard output + $v_result1 = $this->privExtractFileInOutput($v_header, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + // ----- Look for normal extraction + else { + // ----- Extracting the file + $v_result1 = $this->privExtractFile($v_header, + $p_path, $p_remove_path, + $p_remove_all_path, + $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + } + } + + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFile() + // Description : + // Parameters : + // Return Values : + // + // 1 : ... ? + // PCLZIP_ERR_USER_ABORTED(2) : User ask for extraction stop in callback + // -------------------------------------------------------------------------------- + function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) + { + $v_result=1; + + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) + { + // ----- Return + return $v_result; + } + + + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for all path to remove + if ($p_remove_all_path == true) { + // ----- Look for folder entry that not need to be extracted + if (($p_entry['external']&0x00000010)==0x00000010) { + + $p_entry['status'] = "filtered"; + + return $v_result; + } + + // ----- Get the basename of the path + $p_entry['filename'] = basename($p_entry['filename']); + } + + // ----- Look for path to remove + else if ($p_remove_path != "") + { + if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2) + { + + // ----- Change the file status + $p_entry['status'] = "filtered"; + + // ----- Return + return $v_result; + } + + $p_remove_path_size = strlen($p_remove_path); + if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path) + { + + // ----- Remove the path + $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size); + + } + } + + // ----- Add the path + if ($p_path != '') { + $p_entry['filename'] = $p_path."/".$p_entry['filename']; + } + + // ----- Check a base_dir_restriction + if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) { + $v_inclusion + = PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION], + $p_entry['filename']); + if ($v_inclusion == 0) { + + PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION, + "Filename '".$p_entry['filename']."' is " + ."outside PCLZIP_OPT_EXTRACT_DIR_RESTRICTION"); + + return PclZip::errorCode(); + } + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Look for specific actions while the file exist + if (file_exists($p_entry['filename'])) + { + + // ----- Look if file is a directory + if (is_dir($p_entry['filename'])) + { + + // ----- Change the file status + $p_entry['status'] = "already_a_directory"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + PclZip::privErrorLog(PCLZIP_ERR_ALREADY_A_DIRECTORY, + "Filename '".$p_entry['filename']."' is " + ."already used by an existing directory"); + + return PclZip::errorCode(); + } + } + // ----- Look if file is write protected + else if (!is_writeable($p_entry['filename'])) + { + + // ----- Change the file status + $p_entry['status'] = "write_protected"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, + "Filename '".$p_entry['filename']."' exists " + ."and is write protected"); + + return PclZip::errorCode(); + } + } + + // ----- Look if the extracted file is older + else if (filemtime($p_entry['filename']) > $p_entry['mtime']) + { + // ----- Change the file status + if ( (isset($p_options[PCLZIP_OPT_REPLACE_NEWER])) + && ($p_options[PCLZIP_OPT_REPLACE_NEWER]===true)) { + } + else { + $p_entry['status'] = "newer_exist"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, + "Newer version of '".$p_entry['filename']."' exists " + ."and option PCLZIP_OPT_REPLACE_NEWER is not selected"); + + return PclZip::errorCode(); + } + } + } + else { + } + } + + // ----- Check the directory availability and create it if necessary + else { + if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/')) + $v_dir_to_check = $p_entry['filename']; + else if (!strstr($p_entry['filename'], "/")) + $v_dir_to_check = ""; + else + $v_dir_to_check = dirname($p_entry['filename']); + + if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) { + + // ----- Change the file status + $p_entry['status'] = "path_creation_fail"; + + // ----- Return + //return $v_result; + $v_result = 1; + } + } + } + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) + { + // ----- Look for not compressed file + if ($p_entry['compression'] == 0) { + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) + { + + // ----- Change the file status + $p_entry['status'] = "write_error"; + + // ----- Return + return $v_result; + } + + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['compressed_size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + /* Try to speed up the code + $v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_binary_data, $v_read_size); + */ + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Closing the destination file + fclose($v_dest_file); + + // ----- Change the file mtime + touch($p_entry['filename'], $p_entry['mtime']); + + + } + else { + // ----- TBC + // Need to be finished + if (($p_entry['flag'] & 1) == 1) { + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, 'File \''.$p_entry['filename'].'\' is encrypted. Encrypted files are not supported.'); + return PclZip::errorCode(); + } + + + // ----- Look for using temporary file to unzip + if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) + && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) + || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) + && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])) ) ) { + $v_result = $this->privExtractFileUsingTempFile($p_entry, $p_options); + if ($v_result < PCLZIP_ERR_NO_ERROR) { + return $v_result; + } + } + + // ----- Look for extract in memory + else { + + + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = @gzinflate($v_buffer); + unset($v_buffer); + if ($v_file_content === FALSE) { + + // ----- Change the file status + // TBC + $p_entry['status'] = "error"; + + return $v_result; + } + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + + // ----- Change the file status + $p_entry['status'] = "write_error"; + + return $v_result; + } + + // ----- Write the uncompressed data + @fwrite($v_dest_file, $v_file_content, $p_entry['size']); + unset($v_file_content); + + // ----- Closing the destination file + @fclose($v_dest_file); + + } + + // ----- Change the file mtime + @touch($p_entry['filename'], $p_entry['mtime']); + } + + // ----- Look for chmod option + if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) { + + // ----- Change the mode of the file + @chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]); + } + + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileUsingTempFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileUsingTempFile(&$p_entry, &$p_options) + { + $v_result=1; + + // ----- Creates a temporary file + $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; + if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) { + fclose($v_file); + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); + return PclZip::errorCode(); + } + + + // ----- Write gz file format header + $v_binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($p_entry['compression']), Chr(0x00), time(), Chr(0x00), Chr(3)); + @fwrite($v_dest_file, $v_binary_data, 10); + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['compressed_size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Write gz file format footer + $v_binary_data = pack('VV', $p_entry['crc'], $p_entry['size']); + @fwrite($v_dest_file, $v_binary_data, 8); + + // ----- Close the temporary file + @fclose($v_dest_file); + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + $p_entry['status'] = "write_error"; + return $v_result; + } + + // ----- Open the temporary gz file + if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) { + @fclose($v_dest_file); + $p_entry['status'] = "read_error"; + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($v_src_file, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + @fclose($v_dest_file); + @gzclose($v_src_file); + + // ----- Delete the temporary file + @unlink($v_gzip_temp_name); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileInOutput() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileInOutput(&$p_entry, &$p_options) + { + $v_result=1; + + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) { + return $v_result; + } + + + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + // ----- Trace + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) { + // ----- Look for not compressed file + if ($p_entry['compressed_size'] == $p_entry['size']) { + + // ----- Read the file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Send the file to the output + echo $v_buffer; + unset($v_buffer); + } + else { + + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = gzinflate($v_buffer); + unset($v_buffer); + + // ----- Send the file to the output + echo $v_file_content; + unset($v_file_content); + } + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileAsString() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileAsString(&$p_entry, &$p_string, &$p_options) + { + $v_result=1; + + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadFileHeader($v_header)) != 1) + { + // ----- Return + return $v_result; + } + + + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) { + // ----- Look for not compressed file + // if ($p_entry['compressed_size'] == $p_entry['size']) + if ($p_entry['compression'] == 0) { + + // ----- Reading the file + $p_string = @fread($this->zip_fd, $p_entry['compressed_size']); + } + else { + + // ----- Reading the file + $v_data = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + if (($p_string = @gzinflate($v_data)) === FALSE) { + // TBC + } + } + + // ----- Trace + } + else { + // TBC : error : can not extract a folder in a string + } + + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Swap the content to header + $v_local_header['content'] = $p_string; + $p_string = ''; + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Swap back the content to header + $p_string = $v_local_header['content']; + unset($v_local_header['content']); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadFileHeader(&$p_header) + { + $v_result=1; + + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] != 0x04034b50) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 26); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 26) + { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data); + + // ----- Get filename + $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']); + + // ----- Get extra_fields + if ($v_data['extra_len'] != 0) { + $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']); + } + else { + $p_header['extra'] = ''; + } + + // ----- Extract properties + $p_header['version_extracted'] = $v_data['version']; + $p_header['compression'] = $v_data['compression']; + $p_header['size'] = $v_data['size']; + $p_header['compressed_size'] = $v_data['compressed_size']; + $p_header['crc'] = $v_data['crc']; + $p_header['flag'] = $v_data['flag']; + $p_header['filename_len'] = $v_data['filename_len']; + + // ----- Recuperate date in UNIX format + $p_header['mdate'] = $v_data['mdate']; + $p_header['mtime'] = $v_data['mtime']; + if ($p_header['mdate'] && $p_header['mtime']) + { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + } + else + { + $p_header['mtime'] = time(); + } + + // TBC + //for(reset($v_data); $key = key($v_data); next($v_data)) { + //} + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set the status field + $p_header['status'] = "ok"; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadCentralFileHeader(&$p_header) + { + $v_result=1; + + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] != 0x02014b50) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 42); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 42) + { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data); + + // ----- Get filename + if ($p_header['filename_len'] != 0) + $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']); + else + $p_header['filename'] = ''; + + // ----- Get extra + if ($p_header['extra_len'] != 0) + $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']); + else + $p_header['extra'] = ''; + + // ----- Get comment + if ($p_header['comment_len'] != 0) + $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']); + else + $p_header['comment'] = ''; + + // ----- Extract properties + + // ----- Recuperate date in UNIX format + //if ($p_header['mdate'] && $p_header['mtime']) + // TBC : bug : this was ignoring time with 0/0/0 + if (1) + { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + } + else + { + $p_header['mtime'] = time(); + } + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set default status to ok + $p_header['status'] = 'ok'; + + // ----- Look if it is a directory + if (substr($p_header['filename'], -1) == '/') { + //$p_header['external'] = 0x41FF0010; + $p_header['external'] = 0x00000010; + } + + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCheckFileHeaders() + // Description : + // Parameters : + // Return Values : + // 1 on success, + // 0 on error; + // -------------------------------------------------------------------------------- + function privCheckFileHeaders(&$p_local_header, &$p_central_header) + { + $v_result=1; + + // ----- Check the static values + // TBC + if ($p_local_header['filename'] != $p_central_header['filename']) { + } + if ($p_local_header['version_extracted'] != $p_central_header['version_extracted']) { + } + if ($p_local_header['flag'] != $p_central_header['flag']) { + } + if ($p_local_header['compression'] != $p_central_header['compression']) { + } + if ($p_local_header['mtime'] != $p_central_header['mtime']) { + } + if ($p_local_header['filename_len'] != $p_central_header['filename_len']) { + } + + // ----- Look for flag bit 3 + if (($p_local_header['flag'] & 8) == 8) { + $p_local_header['size'] = $p_central_header['size']; + $p_local_header['compressed_size'] = $p_central_header['compressed_size']; + $p_local_header['crc'] = $p_central_header['crc']; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadEndCentralDir() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadEndCentralDir(&$p_central_dir) + { + $v_result=1; + + // ----- Go to the end of the zip file + $v_size = filesize($this->zipname); + @fseek($this->zip_fd, $v_size); + if (@ftell($this->zip_fd) != $v_size) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- First try : look if this is an archive with no commentaries (most of the time) + // in this case the end of central dir is at 22 bytes of the file end + $v_found = 0; + if ($v_size > 26) { + @fseek($this->zip_fd, $v_size-22); + if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read for bytes + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = @unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] == 0x06054b50) { + $v_found = 1; + } + + $v_pos = ftell($this->zip_fd); + } + + // ----- Go back to the maximum possible size of the Central Dir End Record + if (!$v_found) { + $v_maximum_size = 65557; // 0xFFFF + 22; + if ($v_maximum_size > $v_size) + $v_maximum_size = $v_size; + @fseek($this->zip_fd, $v_size-$v_maximum_size); + if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read byte per byte in order to find the signature + $v_pos = ftell($this->zip_fd); + $v_bytes = 0x00000000; + while ($v_pos < $v_size) + { + // ----- Read a byte + $v_byte = @fread($this->zip_fd, 1); + + // ----- Add the byte + //$v_bytes = ($v_bytes << 8) | Ord($v_byte); + // Note we mask the old value down such that once shifted we can never end up with more than a 32bit number + // Otherwise on systems where we have 64bit integers the check below for the magic number will fail. + $v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte); + + // ----- Compare the bytes + if ($v_bytes == 0x504b0506) + { + $v_pos++; + break; + } + + $v_pos++; + } + + // ----- Look if not found end of central dir + if ($v_pos == $v_size) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature"); + + // ----- Return + return PclZip::errorCode(); + } + } + + // ----- Read the first 18 bytes of the header + $v_binary_data = fread($this->zip_fd, 18); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 18) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data); + + // ----- Check the global size + if (($v_pos + $v_data['comment_size'] + 18) != $v_size) { + + // ----- Removed in release 2.2 see readme file + // The check of the file size is a little too strict. + // Some bugs where found when a zip is encrypted/decrypted with 'crypt'. + // While decrypted, zip has training 0 bytes + if (0) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, + 'The central dir is not at the end of the archive.' + .' Some trailing bytes exists after the archive.'); + + // ----- Return + return PclZip::errorCode(); + } + } + + // ----- Get comment + if ($v_data['comment_size'] != 0) { + $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']); + } + else + $p_central_dir['comment'] = ''; + + $p_central_dir['entries'] = $v_data['entries']; + $p_central_dir['disk_entries'] = $v_data['disk_entries']; + $p_central_dir['offset'] = $v_data['offset']; + $p_central_dir['size'] = $v_data['size']; + $p_central_dir['disk'] = $v_data['disk']; + $p_central_dir['disk_start'] = $v_data['disk_start']; + + // TBC + //for(reset($p_central_dir); $key = key($p_central_dir); next($p_central_dir)) { + //} + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDeleteByRule() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDeleteByRule(&$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Scan all the files + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_pos_entry)) + { + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read each entry + $v_header_list = array(); + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) + { + + // ----- Read the file header + $v_header_list[$v_nb_extracted] = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + + return $v_result; + } + + + // ----- Store the index + $v_header_list[$v_nb_extracted]['index'] = $i; + + // ----- Look for the specific extract rules + $v_found = false; + + // ----- Look for extract by name rule + if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) + && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + + // ----- Look if the filename is in the list + for ($j=0; ($j strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) + && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_found = true; + } + elseif ( (($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) /* Indicates a folder */ + && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_found = true; + } + } + // ----- Look for a filename + elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + $v_found = true; + } + } + } + + // ----- Look for extract by ereg rule + // ereg() is deprecated with PHP 5.3 + /* + else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) + && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { + + if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { + $v_found = true; + } + } + */ + + // ----- Look for extract by preg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) + && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { + $v_found = true; + } + } + + // ----- Look for extract by index rule + else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) + && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + + // ----- Look if the index is in the list + for ($j=$j_start; ($j=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + $v_found = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + $j_start = $j+1; + } + + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + break; + } + } + } + else { + $v_found = true; + } + + // ----- Look for deletion + if ($v_found) + { + unset($v_header_list[$v_nb_extracted]); + } + else + { + $v_nb_extracted++; + } + } + + // ----- Look if something need to be deleted + if ($v_nb_extracted > 0) { + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Creates a temporary zip archive + $v_temp_zip = new PclZip($v_zip_temp_name); + + // ----- Open the temporary zip file in write mode + if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) { + $this->privCloseFd(); + + // ----- Return + return $v_result; + } + + // ----- Look which file need to be kept + for ($i=0; $izip_fd); + if (@fseek($this->zip_fd, $v_header_list[$i]['offset'])) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the file header + $v_local_header = array(); + if (($v_result = $this->privReadFileHeader($v_local_header)) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Check that local file header is same as central file header + if ($this->privCheckFileHeaders($v_local_header, + $v_header_list[$i]) != 1) { + // TBC + } + unset($v_local_header); + + // ----- Write the file header + if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Read/write the data block + if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_temp_zip->zip_fd); + + // ----- Re-Create the Central Dir files header + for ($i=0; $iprivWriteCentralFileHeader($v_header_list[$i])) != 1) { + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Transform the header to a 'usable' info + $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) { + // ----- Reset the file list + unset($v_header_list); + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Close + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Destroy the temporary archive + unset($v_temp_zip); + } + + // ----- Remove every files : reset the file + else if ($v_central_dir['entries'] != 0) { + $this->privCloseFd(); + + if (($v_result = $this->privOpenFd('wb')) != 1) { + return $v_result; + } + + if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) { + return $v_result; + } + + $this->privCloseFd(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDirCheck() + // Description : + // Check if a directory exists, if not it creates it and all the parents directory + // which may be useful. + // Parameters : + // $p_dir : Directory path to check. + // Return Values : + // 1 : OK + // -1 : Unable to create directory + // -------------------------------------------------------------------------------- + function privDirCheck($p_dir, $p_is_dir=false) + { + $v_result = 1; + + + // ----- Remove the final '/' + if (($p_is_dir) && (substr($p_dir, -1)=='/')) + { + $p_dir = substr($p_dir, 0, strlen($p_dir)-1); + } + + // ----- Check the directory availability + if ((is_dir($p_dir)) || ($p_dir == "")) + { + return 1; + } + + // ----- Extract parent directory + $p_parent_dir = dirname($p_dir); + + // ----- Just a check + if ($p_parent_dir != $p_dir) + { + // ----- Look for parent directory + if ($p_parent_dir != "") + { + if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) + { + return $v_result; + } + } + } + + // ----- Create the directory + if (!@mkdir($p_dir, 0777)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privMerge() + // Description : + // If $p_archive_to_add does not exist, the function exit with a success result. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privMerge(&$p_archive_to_add) + { + $v_result=1; + + // ----- Look if the archive_to_add exists + if (!is_file($p_archive_to_add->zipname)) + { + + // ----- Nothing to merge, so merge is a success + $v_result = 1; + + // ----- Return + return $v_result; + } + + // ----- Look if the archive exists + if (!is_file($this->zipname)) + { + + // ----- Do a duplicate + $v_result = $this->privDuplicate($p_archive_to_add->zipname); + + // ----- Return + return $v_result; + } + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Open the archive_to_add file + if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1) + { + $this->privCloseFd(); + + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir_to_add = array(); + if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + return $v_result; + } + + // ----- Go to beginning of File + @rewind($p_archive_to_add->zip_fd); + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the files from the archive_to_add into the temporary file + $v_size = $v_central_dir_to_add['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_zip_temp_fd); + + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the block of file headers from the archive_to_add + $v_size = $v_central_dir_to_add['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Merge the file comments + $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment']; + + // ----- Calculate the size of the (new) central header + $v_size = @ftell($v_zip_temp_fd)-$v_offset; + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive fd + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + @fclose($v_zip_temp_fd); + $this->zip_fd = null; + + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + return $v_result; + } + + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Close + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDuplicate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDuplicate($p_archive_filename) + { + $v_result=1; + + // ----- Look if the $p_archive_filename exists + if (!is_file($p_archive_filename)) + { + + // ----- Nothing to duplicate, so duplicate is a success. + $v_result = 1; + + // ----- Return + return $v_result; + } + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('wb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0) + { + $this->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = filesize($p_archive_filename); + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close + $this->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privErrorLog() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privErrorLog($p_error_code=0, $p_error_string='') + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclError($p_error_code, $p_error_string); + } + else { + $this->error_code = $p_error_code; + $this->error_string = $p_error_string; + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privErrorReset() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privErrorReset() + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclErrorReset(); + } + else { + $this->error_code = 0; + $this->error_string = ''; + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDisableMagicQuotes() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDisableMagicQuotes() + { + $v_result=1; + + // ----- Look if function exists + if ( (!function_exists("get_magic_quotes_runtime")) + || (!function_exists("set_magic_quotes_runtime"))) { + return $v_result; + } + + // ----- Look if already done + if ($this->magic_quotes_status != -1) { + return $v_result; + } + + // ----- Get and memorize the magic_quote value + $this->magic_quotes_status = @get_magic_quotes_runtime(); + + // ----- Disable magic_quotes + if ($this->magic_quotes_status == 1) { + @set_magic_quotes_runtime(0); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privSwapBackMagicQuotes() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privSwapBackMagicQuotes() + { + $v_result=1; + + // ----- Look if function exists + if ( (!function_exists("get_magic_quotes_runtime")) + || (!function_exists("set_magic_quotes_runtime"))) { + return $v_result; + } + + // ----- Look if something to do + if ($this->magic_quotes_status != -1) { + return $v_result; + } + + // ----- Swap back magic_quotes + if ($this->magic_quotes_status == 1) { + @set_magic_quotes_runtime($this->magic_quotes_status); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + } + // End of class + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilPathReduction() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function PclZipUtilPathReduction($p_dir) + { + $v_result = ""; + + // ----- Look for not empty path + if ($p_dir != "") { + // ----- Explode path by directory names + $v_list = explode("/", $p_dir); + + // ----- Study directories from last to first + $v_skip = 0; + for ($i=sizeof($v_list)-1; $i>=0; $i--) { + // ----- Look for current path + if ($v_list[$i] == ".") { + // ----- Ignore this directory + // Should be the first $i=0, but no check is done + } + else if ($v_list[$i] == "..") { + $v_skip++; + } + else if ($v_list[$i] == "") { + // ----- First '/' i.e. root slash + if ($i == 0) { + $v_result = "/".$v_result; + if ($v_skip > 0) { + // ----- It is an invalid path, so the path is not modified + // TBC + $v_result = $p_dir; + $v_skip = 0; + } + } + // ----- Last '/' i.e. indicates a directory + else if ($i == (sizeof($v_list)-1)) { + $v_result = $v_list[$i]; + } + // ----- Double '/' inside the path + else { + // ----- Ignore only the double '//' in path, + // but not the first and last '/' + } + } + else { + // ----- Look for item to skip + if ($v_skip > 0) { + $v_skip--; + } + else { + $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:""); + } + } + } + + // ----- Look for skip + if ($v_skip > 0) { + while ($v_skip > 0) { + $v_result = '../'.$v_result; + $v_skip--; + } + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilPathInclusion() + // Description : + // This function indicates if the path $p_path is under the $p_dir tree. Or, + // said in an other way, if the file or sub-dir $p_path is inside the dir + // $p_dir. + // The function indicates also if the path is exactly the same as the dir. + // This function supports path with duplicated '/' like '//', but does not + // support '.' or '..' statements. + // Parameters : + // Return Values : + // 0 if $p_path is not inside directory $p_dir + // 1 if $p_path is inside directory $p_dir + // 2 if $p_path is exactly the same as $p_dir + // -------------------------------------------------------------------------------- + function PclZipUtilPathInclusion($p_dir, $p_path) + { + $v_result = 1; + + // ----- Look for path beginning by ./ + if ( ($p_dir == '.') + || ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) { + $p_dir = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_dir, 1); + } + if ( ($p_path == '.') + || ((strlen($p_path) >=2) && (substr($p_path, 0, 2) == './'))) { + $p_path = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_path, 1); + } + + // ----- Explode dir and path by directory separator + $v_list_dir = explode("/", $p_dir); + $v_list_dir_size = sizeof($v_list_dir); + $v_list_path = explode("/", $p_path); + $v_list_path_size = sizeof($v_list_path); + + // ----- Study directories paths + $i = 0; + $j = 0; + while (($i < $v_list_dir_size) && ($j < $v_list_path_size) && ($v_result)) { + + // ----- Look for empty dir (path reduction) + if ($v_list_dir[$i] == '') { + $i++; + continue; + } + if ($v_list_path[$j] == '') { + $j++; + continue; + } + + // ----- Compare the items + if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ( $v_list_path[$j] != '')) { + $v_result = 0; + } + + // ----- Next items + $i++; + $j++; + } + + // ----- Look if everything seems to be the same + if ($v_result) { + // ----- Skip all the empty items + while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) $j++; + while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) $i++; + + if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) { + // ----- There are exactly the same + $v_result = 2; + } + else if ($i < $v_list_dir_size) { + // ----- The path is shorter than the dir + $v_result = 0; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilCopyBlock() + // Description : + // Parameters : + // $p_mode : read/write compression mode + // 0 : src & dest normal + // 1 : src gzip, dest normal + // 2 : src normal, dest gzip + // 3 : src & dest gzip + // Return Values : + // -------------------------------------------------------------------------------- + function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0) + { + $v_result = 1; + + if ($p_mode==0) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==1) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==2) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==3) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilRename() + // Description : + // This function tries to do a simple rename() function. If it fails, it + // tries to copy the $p_src file in a new $p_dest file and then unlink the + // first one. + // Parameters : + // $p_src : Old filename + // $p_dest : New filename + // Return Values : + // 1 on success, 0 on failure. + // -------------------------------------------------------------------------------- + function PclZipUtilRename($p_src, $p_dest) + { + $v_result = 1; + + // ----- Try to rename the files + if (!@rename($p_src, $p_dest)) { + + // ----- Try to copy & unlink the src + if (!@copy($p_src, $p_dest)) { + $v_result = 0; + } + else if (!@unlink($p_src)) { + $v_result = 0; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilOptionText() + // Description : + // Translate option value in text. Mainly for debug purpose. + // Parameters : + // $p_option : the option value. + // Return Values : + // The option text value. + // -------------------------------------------------------------------------------- + function PclZipUtilOptionText($p_option) + { + + $v_list = get_defined_constants(); + for (reset($v_list); $v_key = key($v_list); next($v_list)) { + $v_prefix = substr($v_key, 0, 10); + if (( ($v_prefix == 'PCLZIP_OPT') + || ($v_prefix == 'PCLZIP_CB_') + || ($v_prefix == 'PCLZIP_ATT')) + && ($v_list[$v_key] == $p_option)) { + return $v_key; + } + } + + $v_result = 'Unknown'; + + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilTranslateWinPath() + // Description : + // Translate windows path by replacing '\' by '/' and optionally removing + // drive letter. + // Parameters : + // $p_path : path to translate. + // $p_remove_disk_letter : true | false + // Return Values : + // The path translated. + // -------------------------------------------------------------------------------- + function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true) + { + if (stristr(php_uname(), 'windows')) { + // ----- Look for potential disk letter + if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { + $p_path = substr($p_path, $v_position+1); + } + // ----- Change potential windows directory separator + if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { + $p_path = strtr($p_path, '\\', '/'); + } + } + return $p_path; + } + // -------------------------------------------------------------------------------- + + +?> diff --git a/lib/core/Application.class.php b/lib/core/Application.class.php new file mode 100644 index 0000000..0ed5120 --- /dev/null +++ b/lib/core/Application.class.php @@ -0,0 +1,90 @@ + default_controller = $default_controller; + } + + /** + * 设置默认的方法名 + * @param string $default_action + */ + public function setDefaultAction($default_action){ + $this -> default_action = $default_action; + } + + /** + * 设置控制器子目录 + * @param string $dir + */ + public function setSubDir($dir){ + $this -> sub_dir = $dir; + } + + /** + * 运行controller 的方法 + * @param $class , controller类名。 + * @param $function , 方法名 + */ + public function appRun($class,$function){ + $sub_dir = $this -> sub_dir ? $this -> sub_dir . '/' : ''; + $class_file = CONTROLLER_DIR . $sub_dir.$class.'.class.php'; + if (!is_file($class_file)) { + pr($class.' controller not exists!',1); + } + require_once $class_file; + if (!class_exists($class)) { + pr($class.' class not exists',1); + } + $instance = new $class(); + if (!method_exists($instance, $function)) { + pr($function.' method not exists',1); + } + $instance -> $function(); + } + + /** + * 运行自动加载的控制器 + */ + private function autorun(){ + global $config; + if (count($config['autorun']) > 0) { + foreach ($config['autorun'] as $key => $var) { + $this->appRun($var['controller'],$var['function']); + } + } + } + + /** + * 调用实际类和方式 + */ + public function run(){ + $URI = $GLOBALS['in']['URLremote']; + if (!isset($URI[0]) || $URI[0] == '') $URI[0] = $this->default_controller; + if (!isset($URI[1]) || $URI[1] == '') $URI[1] = $this->default_action; + define('ST',$URI[0]); + define('ACT',$URI[1]); + //自动加载运行类。 + $this->autorun(); + $this->appRun(ST,ACT); + } +} diff --git a/lib/core/Controller.class.php b/lib/core/Controller.class.php new file mode 100644 index 0000000..e2e6174 --- /dev/null +++ b/lib/core/Controller.class.php @@ -0,0 +1,78 @@ + db = $db; + $this -> L = $L; + $this -> config = &$config; + $this -> in = &$in; + $this -> values['config'] = &$config; + $this -> values['in'] = &$in; + } + + /** + * 加载模型 + * @param string $class + */ + public function loadModel($class){ + $args = func_get_args(); + $this -> $class = call_user_func_array('init_model', $args); + return $this -> $class; + } + + /** + * 加载类库文件 + * @param string $class + */ + public function loadClass($class){ + if (1 === func_num_args()) { + $this -> $class = new $class; + } else { + $reflectionObj = new ReflectionClass($class); + $args = func_get_args(); + array_shift($args); + $this -> $class = $reflectionObj -> newInstanceArgs($args); + } + return $this -> $class; + } + + /** + * 显示模板 + * + * TODO smarty + * @param + */ + protected function assign($key,$value){ + $this->values[$key] = $value; + } + /** + * 显示模板 + * @param + */ + protected function display($tpl_file){ + global $L,$LNG; + extract($this->values); + require($this->tpl.$tpl_file); + } +} diff --git a/lib/core/Model.class.php b/lib/core/Model.class.php new file mode 100644 index 0000000..0e6d21b --- /dev/null +++ b/lib/core/Model.class.php @@ -0,0 +1,39 @@ + in = $in; + $this -> config = $config; + } + + /** + * TODO db + */ + function db(){ + if ($this ->db != NULL) { + return $this ->db; + }else{ + + } + } +} \ No newline at end of file diff --git a/lib/function/common.function.php b/lib/function/common.function.php new file mode 100644 index 0000000..b88f151 --- /dev/null +++ b/lib/function/common.function.php @@ -0,0 +1,697 @@ + newInstanceArgs($args); +} +/** + * 生产controller对象 + */ +function init_controller($controller_name){ + if (!class_exists($controller_name)) { + $model_file = CONTROLLER_DIR . strtolower($controller_name) . '.class.php'; + if(!is_file($model_file)){ + return false; + } + require_once ($model_file); + } + $reflectionObj = new ReflectionClass($controller_name); + $args = func_get_args(); + array_shift($args); + return $reflectionObj -> newInstanceArgs($args); +} + +/** + * 加载类 + */ +function load_class($class){ + $filename = CLASS_DIR.$class.'.class.php'; + if (file_exists($filename)) { + require($filename); + }else{ + pr($filename.' is not exist',1); + } +} +/** + * 加载函数库 + */ +function load_function($function){ + $filename = FUNCTION_DIR.$function.'.function.php'; + if (file_exists($filename)) { + require($filename); + }else{ + pr($filename.' is not exist',1); + } +} +/** + * 文本字符串转换 + */ +function mystr($str){ + $from = array("\r\n", " "); + $to = array("
    ", " "); + return str_replace($from, $to, $str); +} + +// 清除多余空格和回车字符 +function strip($str){ + return preg_replace('!\s+!', '', $str); +} + +/** + * 获取精确时间 + */ +function mtime(){ + $t= explode(' ',microtime()); + $time = $t[0]+$t[1]; + return $time; +} +/** + * 过滤HTML + */ +function clear_html($HTML, $br = true){ + $HTML = htmlspecialchars(trim($HTML)); + $HTML = str_replace("\t", ' ', $HTML); + if ($br) { + return nl2br($HTML); + } else { + return str_replace("\n", '', $HTML); + } +} + +/** + * 将obj深度转化成array + * + * @param $obj 要转换的数据 可能是数组 也可能是个对象 还可能是一般数据类型 + * @return array || 一般数据类型 + */ +function obj2array($obj){ + if (is_array($obj)) { + foreach($obj as &$value) { + $value = obj2array($value); + } + return $obj; + } elseif (is_object($obj)) { + $obj = get_object_vars($obj); + return obj2array($obj); + } else { + return $obj; + } +} + +/** + * 计算时间差 + * + * @param char $pretime + * @return char + */ +function spend_time(&$pretime){ + $now = microtime(1); + $spend = round($now - $pretime, 5); + $pretime = $now; + return $spend; +} + +/** + * 返回当前浮点式的时间,单位秒;主要用在调试程序程序时间时用 + * + * @return float + */ +function microtime_float(){ + list($usec, $sec) = explode(' ', microtime()); + return ((float)$usec + (float)$sec); +} +/** + * 计算N次方根 + * @param $num + * @param $root + */ +function croot($num, $root = 3){ + $root = intval($root); + if (!$root) { + return $num; + } + return exp(log($num) / $root); +} + +function add_magic_quotes($array){ + foreach ((array) $array as $k => $v) { + if (is_array($v)) { + $array[$k] = add_magic_quotes($v); + } else { + $array[$k] = addslashes($v); + } + } + return $array; +} +// 字符串加转义 +function add_slashes($string){ + if (!$GLOBALS['magic_quotes_gpc']) { + if (is_array($string)) { + foreach($string as $key => $val) { + $string[$key] = add_slashes($val); + } + } else { + $string = addslashes($string); + } + } + return $string; +} + +/** + * hex to binary + */ +if (!function_exists('hex2bin')) { + function hex2bin($hexdata) { + return pack('H*', $hexdata); + } +} + +/** + * 二维数组按照指定的键值进行排序, + * + * @param $keys 根据键值 + * @param $type 升序降序 + * @return array $array = array( + * array('name'=>'手机','brand'=>'诺基亚','price'=>1050), + * array('name'=>'手表','brand'=>'卡西欧','price'=>960) + * );$out = array_sort($array,'price'); + */ +function array_sort($arr, $keys, $type = 'asc'){ + $keysvalue = $new_array = array(); + foreach ($arr as $k => $v) { + $keysvalue[$k] = $v[$keys]; + } + if ($type == 'asc') { + asort($keysvalue); + } else { + arsort($keysvalue); + } + reset($keysvalue); + foreach ($keysvalue as $k => $v) { + $new_array[$k] = $arr[$k]; + } + return $new_array; +} +/** + * 遍历数组,对每个元素调用 $callback,假如返回值不为假值,则直接返回该返回值; + * 假如每次 $callback 都返回假值,最终返回 false + * + * @param $array + * @param $callback + * @return mixed + */ +function array_try($array, $callback){ + if (!$array || !$callback) { + return false; + } + $args = func_get_args(); + array_shift($args); + array_shift($args); + if (!$args) { + $args = array(); + } + foreach($array as $v) { + $params = $args; + array_unshift($params, $v); + $x = call_user_func_array($callback, $params); + if ($x) { + return $x; + } + } + return false; +} +// 求多个数组的并集 +function array_union(){ + $argsCount = func_num_args(); + if ($argsCount < 2) { + return false; + } else if (2 === $argsCount) { + list($arr1, $arr2) = func_get_args(); + + while ((list($k, $v) = each($arr2))) { + if (!in_array($v, $arr1)) $arr1[] = $v; + } + return $arr1; + } else { // 三个以上的数组合并 + $arg_list = func_get_args(); + $all = call_user_func_array('array_union', $arg_list); + return array_union($arg_list[0], $all); + } +} +// 取出数组中第n项 +function array_get($arr,$index){ + foreach($arr as $k=>$v){ + $index--; + if($index<0) return array($k,$v); + } +} + +/** + * 打包返回AJAX请求的数据 + * @params {int} 返回状态码, 通常0表示正常 + * @params {array} 返回的数据集合 + */ +function show_json($data,$code = true,$info=''){ + $use_time = mtime() - $GLOBALS['config']['app_startTime']; + $result = array('code' => $code,'use_time'=>$use_time,'data' => $data); + if ($info != '') { + $result['info'] = $info; + } + header('Content-Type: application/json; charset=utf-8'); + echo json_encode($result); + exit; +} + +/** + * 简单模版转换,用于根据配置获取列表: + * 参数:cute1:第一次切割的字符串,cute2第二次切割的字符串, + * arraylist为待处理的字符串,$this 为标记当前项,$this_str为当项标记的替换。 + * $tpl为处理后填充到静态模版({0}代表切割后左值,{1}代表切割后右值,{this}代表当前项填充值) + * 例子: + * $arr="default=淡蓝(默认)=5|mac=mac海洋=6|mac1=mac1海洋=7"; + * $tpl="
  • {1}_{2}
  • \n"; + * echo getTplList('|','=',$arr,$tpl,'mac'),'
    '; + */ +function getTplList($cute1, $cute2, $arraylist, $tpl,$this,$this_str=''){ + $list = explode($cute1, $arraylist); + if ($this_str == '') $this_str ="this"; + $html = ''; + foreach ($list as $value) { + $info = explode($cute2, $value); + $arr_replace = array(); + foreach ($info as $key => $value) { + $arr_replace[$key]='{'.$key .'}'; + } + if ($info[0] == $this) { + $temp = str_replace($arr_replace, $info, $tpl); + $temp = str_replace('{this}', $this_str, $temp); + } else { + $temp = str_replace($arr_replace, $info, $tpl); + $temp = str_replace('{this}', '', $temp); + } + $html .= $temp; + } + return $html; +} + +//获取当前url地址 +function get_url() { + $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] + == '443' ? 'https://' : 'http://'; + $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']; + $path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : ''; + $relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : + $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : $path_info); + return $sys_protocal.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '').$relate_url; +} + +/** + * 去掉HTML代码中的HTML标签,返回纯文本 + * @param string $document 待处理的字符串 + * @return string + */ +function html2txt($document){ + $search = array ("']*?>.*?'si", // 去掉 javascript + "'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记 + "'([\r\n])[\s]+'", // 去掉空白字符 + "'&(quot|#34);'i", // 替换 HTML 实体 + "'&(amp|#38);'i", + "'&(lt|#60);'i", + "'&(gt|#62);'i", + "'&(nbsp|#160);'i", + "'&(iexcl|#161);'i", + "'&(cent|#162);'i", + "'&(pound|#163);'i", + "'&(copy|#169);'i", + "'&#(\d+);'e"); // 作为 PHP 代码运行 + $replace = array ("", + "", + "", + "\"", + "&", + "<", + ">", + " ", + chr(161), + chr(162), + chr(163), + chr(169), + "chr(\\1)"); + $text = preg_replace ($search, $replace, $document); + return $text; +} + +// 获取内容第一条 +function match($content, $preg){ + $preg = "/" . $preg . "/isU"; + preg_match($preg, $content, $result); + return $result[1]; +} +// 获取内容,获取一个页面若干信息.结果在 1,2,3……中 +function match_all($content, $preg){ + $preg = "/" . $preg . "/isU"; + preg_match_all($preg, $content, $result); + return $result; +} + +/** + * 获取指定长度的 utf8 字符串 + * + * @param string $string + * @param int $length + * @param string $dot + * @return string + */ +function get_utf8_str($string, $length, $dot = '...'){ + if (strlen($string) <= $length) return $string; + + $strcut = ''; + $n = $tn = $noc = 0; + + while ($n < strlen($string)) { + $t = ord($string[$n]); + if ($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) { + $tn = 1; + $n++; + $noc++; + } elseif (194 <= $t && $t <= 223) { + $tn = 2; + $n += 2; + $noc += 2; + } elseif (224 <= $t && $t <= 239) { + $tn = 3; + $n += 3; + $noc += 2; + } elseif (240 <= $t && $t <= 247) { + $tn = 4; + $n += 4; + $noc += 2; + } elseif (248 <= $t && $t <= 251) { + $tn = 5; + $n += 5; + $noc += 2; + } elseif ($t == 252 || $t == 253) { + $tn = 6; + $n += 6; + $noc += 2; + } else { + $n++; + } + if ($noc >= $length) break; + } + if ($noc > $length) { + $n -= $tn; + } + if ($n < strlen($string)) { + $strcut = substr($string, 0, $n); + return $strcut . $dot; + } else { + return $string ; + } +} + +/** + * 字符串截取,支持中文和其他编码 + * + * @param string $str 需要转换的字符串 + * @param string $start 开始位置 + * @param string $length 截取长度 + * @param string $charset 编码格式 + * @param string $suffix 截断显示字符 + * @return string + */ +function msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true){ + if (function_exists("mb_substr")) { + $i_str_len = mb_strlen($str); + $s_sub_str = mb_substr($str, $start, $length, $charset); + if ($length >= $i_str_len) { + return $s_sub_str; + } + return $s_sub_str . '...'; + } elseif (function_exists('iconv_substr')) { + return iconv_substr($str, $start, $length, $charset); + } + $re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/"; + $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/"; + $re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/"; + $re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/"; + preg_match_all($re[$charset], $str, $match); + $slice = join("", array_slice($match[0], $start, $length)); + if ($suffix) return $slice . "…"; + return $slice; +} + +function web2wap(&$content){ + $search = array ("/]+src=\"([^\">]+)\"[^>]+>/siU", + "/]+href=\"([^\">]+)\"[^>]*>(.*)<\/a>/siU", + "']*>'si", + "'

    'si", + "'

    'si", + "']*?>.*?'si", // 去掉 javascript + "'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记 + "'([\r\n])[\s]+'", // 去掉空白字符 + ); // 作为 PHP 代码运行 + $replace = array ("#img#\\1#/img#", + "#link#\\1#\\2#/link#", + "[br]", + "", + "[br]", + "", + "", + "", + ); + $text = preg_replace ($search, $replace, $content); + $text = str_replace("[br]", "
    ", $text); + $img_start = ""; + $text = preg_replace ("/#img#(.*)#\/img#/isUe", "'$img_start'.urlencode('\\1').'$img_end'", $text); + $text = preg_replace ("/#link#(.*)#(.*)#\/link#/isU", "
    \\2", $text); + while (preg_match("//siU", $text)) { + $text = str_replace('

    ', '
    ', $text); + } + return $text; +} + +/** + * 获取变量的名字 + * eg hello="123" 获取ss字符串 + */ +function get_var_name(&$aVar){ + foreach($GLOBALS as $key => $var) { + if ($aVar == $GLOBALS[$key] && $key != "argc") { + return $key; + } + } +} +// -----------------变量调试------------------- +/** + * 格式化输出变量,或者对象 + * + * @param mixed $var + * @param boolean $exit + */ +function pr($var, $exit = false){ + ob_start(); + $style = ''; + if (is_array($var)) { + print_r($var); + } else if (is_object($var)) { + echo get_class($var) . " Object"; + } else if (is_resource($var)) { + echo (string)$var; + } else { + echo var_dump($var); + } + $out = ob_get_clean(); //缓冲输出给$out 变量 + $out = preg_replace('/"(.*)"/', '"' . '\\1' . '"', $out); //高亮字符串变量 + $out = preg_replace('/=\>(.*)/', '=>' . '' . '\\1' . '', $out); //高亮=>后面的值 + $out = preg_replace('/\[(.*)\]/', '[' . '\\1' . ']', $out); //高亮变量 + $from = array(' ', '(', ')', '=>'); + $to = array(' ', '(
    ', ')', '=>'); + $out = str_replace($from, $to, $out); + + $keywords = array('Array', 'int', 'string', 'class', 'object', 'null'); //关键字高亮 + $keywords_to = $keywords; + foreach($keywords as $key => $val) { + $keywords_to[$key] = '' . $val . ''; + } + $out = str_replace($keywords, $keywords_to, $out); + $out = str_replace("\n\n", "\n", $out); + echo $style . '
    ' . get_var_name($var) . ' = ' . $out . '
    '; + if ($exit) exit; //为真则退出 +} + +/** + * 调试输出变量,对象的值。 +参数任意个(任意类型的变量) + * + * @return echo + */ +function debug_out(){ + $avg_num = func_num_args(); + $avg_list = func_get_args(); + ob_start(); + for($i = 0; $i < $avg_num; $i++) { + pr($avg_list[$i]); + } + $out = ob_get_clean(); + echo $out; + exit; +} + +/** + * 取$from~$to范围内的随机数 + * + * @param $from 下限 + * @param $to 上限 + * @return unknown_type + */ +function rand_from_to($from, $to){ + $size = $from - $to; //数值区间 + $max = 30000; //最大 + if ($size < $max) { + return $from + mt_rand(0, $size); + } else { + if ($size % $max) { + return $from + random_from_to(0, $size / $max) * $max + mt_rand(0, $size % $max); + } else { + return $from + random_from_to(0, $size / $max) * $max + mt_rand(0, $max); + } + } +} + +/** + * 产生随机字串,可用来自动生成密码 默认长度6位 字母和数字混合 + * + * @param string $len 长度 + * @param string $type 字串类型:0 字母 1 数字 2 大写字母 3 小写字母 4 中文 + * 其他为数字字母混合(去掉了 容易混淆的字符oOLl和数字01,) + * @param string $addChars 额外字符 + * @return string + */ +function rand_string($len = 4, $type = ''){ + $str = ''; + switch ($type) { + case 0://大小写中英文 + $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; + break; + case 1://数字 + $chars = str_repeat('0123456789', 3); + break; + case 2://大写字母 + $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + break; + case 3://小写字母 + $chars = 'abcdefghijklmnopqrstuvwxyz'; + break; + default: + // 默认去掉了容易混淆的字符oOLl和数字01,要添加请使用addChars参数 + $chars = 'ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'; + break; + } + if ($len > 10) { // 位数过长重复字符串一定次数 + $chars = $type == 1 ? str_repeat($chars, $len) : str_repeat($chars, 5); + } + if ($type != 4) { + $chars = str_shuffle($chars); + $str = substr($chars, 0, $len); + } else { + // 中文随机字 + for($i = 0; $i < $len; $i ++) { + $str .= msubstr($chars, floor(mt_rand(0, mb_strlen($chars, 'utf-8') - 1)), 1); + } + } + return $str; +} + + +/** + * php DES解密函数 + * + * @param string $key 密钥 + * @param string $encrypted 加密字符串 + * @return string + */ +function des_decode($key, $encrypted){ + $encrypted = base64_decode($encrypted); + $td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, ''); //使用MCRYPT_DES算法,cbc模式 + $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); + $ks = mcrypt_enc_get_key_size($td); + + mcrypt_generic_init($td, $key, $key); //初始处理 + $decrypted = mdecrypt_generic($td, $encrypted); //解密 + + mcrypt_generic_deinit($td); //结束 + mcrypt_module_close($td); + return pkcs5_unpad($decrypted); +} +/** + * php DES加密函数 + * + * @param string $key 密钥 + * @param string $text 字符串 + * @return string + */ +function des_encode($key, $text){ + $y = pkcs5_pad($text); + $td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, ''); //使用MCRYPT_DES算法,cbc模式 + $ks = mcrypt_enc_get_key_size($td); + + mcrypt_generic_init($td, $key, $key); //初始处理 + $encrypted = mcrypt_generic($td, $y); //解密 + mcrypt_generic_deinit($td); //结束 + mcrypt_module_close($td); + return base64_encode($encrypted); +} +function pkcs5_unpad($text){ + $pad = ord($text{strlen($text)-1}); + if ($pad > strlen($text)) return $text; + if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return $text; + return substr($text, 0, -1 * $pad); +} +function pkcs5_pad($text, $block = 8){ + $pad = $block - (strlen($text) % $block); + return $text . str_repeat(chr($pad), $pad); +} diff --git a/lib/function/file.function.php b/lib/function/file.function.php new file mode 100644 index 0000000..3c1190d --- /dev/null +++ b/lib/function/file.function.php @@ -0,0 +1,675 @@ + iconv_app($name), + 'path' => iconv_app(get_path_father($path)), + 'ext' => get_path_ext($path), + 'type' => 'file', + 'mode' => get_mode($path), + 'atime' => date($date_formate, fileatime($path)), //访问时间 + 'ctime' => date($date_formate, filectime($path)), //创建时间 + 'mtime' => date($date_formate, filemtime($path)), //最后修改时间 + 'is_readable' => intval(is_readable($path)), + 'is_writeable' => intval(is_writeable($path)), + 'size' => $size, + 'size_friendly' => size_format($size, 2) + ); + return $info; +} +/** + * 获取文件夹细信息 + */ +function folder_info($path,$date_formate=false){ + if (!$date_formate) $date_formate = $GLOBALS['L']['time_type']; + $info = array( + 'name' => iconv_app(get_path_this($path)), + 'path' => iconv_app(get_path_father($path)), + 'type' => 'folder', + 'mode' => get_mode($path), + 'atime' => date($date_formate, fileatime($path)), //访问时间 + 'ctime' => date($date_formate, filectime($path)), //创建时间 + 'mtime' => date($date_formate, filemtime($path)), //最后修改时间 + 'is_readable' => intval(is_readable($path)), + 'is_writeable' => intval(is_writeable($path)) + ); + return $info; +} + + +/** + * 获取一个路径(文件夹&文件) 当前文件[夹]名 + * test/11/ ==>11 test/1.c ==>1.c + */ +function get_path_this($path){ + $path = str_replace('\\','/', rtrim(trim($path),'/')); + return substr($path,strrpos($path,'/')+1); +} +/** + * 获取一个路径(文件夹&文件) 父目录 + * /test/11/==>/test/ /test/1.c ==>/www/test/ + */ +function get_path_father($path){ + $path = str_replace('\\','/', rtrim(trim($path),'/')); + return substr($path, 0, strrpos($path,'/')+1); +} + +//自动获取不重复文件(夹)名 +function get_filename_auto($path){ + $i=1;$dot_index = strrpos($path,'.'); + $file_pre = substr($path,0,$dot_index); + $file_ext = substr($path,$dot_index); + while(file_exists($path)){ + $path = $file_pre.'('.$i.')'.$file_ext; + $i++; + } + return $path; +} + +/** + * 获取扩展名 + */ +function get_path_ext($path){ + return strtolower(end(explode('.',$path))); +} + +/** + * 获取文件夹详细信息,文件夹属性时调用,包含子文件夹数量,文件数量,总大小 + */ +function path_info($path){ + //if (!is_dir($path)) return false; + $pathinfo = _path_info_more($path);//子目录文件大小统计信息 + $folderinfo = folder_info($path); + return array_merge($pathinfo,$folderinfo); +} + +/** + * 检查名称是否合法 + */ +function path_check($path){ + $check = array('/','\\',':','*','?','"','<','>','|'); + $path = rtrim($path,'/'); + $path = get_path_this($path); + foreach ($check as $v) { + if (strstr($path,$v)) { + return false; + } + } + return true; +} + +/** + * 递归获取文件夹信息: 子文件夹数量,文件数量,总大小 + */ +function _path_info_more($dir, &$file_num = 0, &$path_num = 0, &$size = 0){ + if (!$dh = opendir($dir)) return false; + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $fullpath = $dir . "/" . $file; + if (!is_dir($fullpath)) { + $file_num ++; + $size += filesize($fullpath); + } else { + _path_info_more($fullpath, $file_num, $path_num, $size); + $path_num ++; + } + } + } + closedir($dh); + $pathinfo['file_num'] = $file_num; + $pathinfo['folder_num'] = $path_num; + $pathinfo['size'] = $size; + $pathinfo['size_friendly'] = size_format($size); + return $pathinfo; +} + + +/** + * 获取多选文件信息,包含子文件夹数量,文件数量,总大小,父目录权限 + */ +function path_info_muti($list){ + $pathinfo = array( + 'file_num' => 0, + 'folder_num' => 0, + 'size' => 0, + 'size_friendly' => '', + 'father_name' => '', + 'mod' => '' + ); + foreach ($list as $val) { + if ($val['type'] == 'folder') { + $pathinfo['folder_num'] ++; + $temp = path_info($val['path']); + $pathinfo['folder_num'] += $temp['folder_num']; + $pathinfo['file_num'] += $temp['file_num']; + $pathinfo['size'] += $temp['size']; + }else{ + $pathinfo['file_num']++; + $pathinfo['size'] += filesize($val['path']); + } + } + $pathinfo['size_friendly'] = size_format($pathinfo['size']); + $pathinfo['father_name'] = get_path_father($list[0]['path']); + $pathinfo['mode'] = get_mode($pathinfo['father_name']); + return $pathinfo; +} + +/** + * 获取文件夹下列表信息 + * dir 包含结尾/ d:/wwwroot/test/ + * 传入需要读取的文件夹路径,为程序编码 + */ +function path_list($dir,$list_file=true,$check_children=false){ + $dir = rtrim($dir,'/').'/'; + if (!is_dir($dir)) return array('folderlist'=>array(),'filelist'=>array()); + $dh = opendir($dir); + $folderlist = array();$filelist = array();//文件夹与文件 + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != ".." && $file != ".svn" ) { + $fullpath = $dir . $file; + if (is_dir($fullpath)) { + $info = folder_info($fullpath); + if($check_children){ + $info['isParent'] = path_haschildren($fullpath,$list_file); + } + $folderlist[] = $info; + } else if($list_file) {//是否列出文件 + $info = file_info($fullpath); + if($check_children) $info['isParent'] = false; + $filelist[] = $info; + } + } + } + closedir($dh); + return array('folderlist' => $folderlist,'filelist' => $filelist); +} + +// 判断文件夹是否含有子内容【区分为文件或者只筛选文件夹才算】 +function path_haschildren($dir,$check_file=false){ + $dir = rtrim($dir,'/').'/'; + if (!$dh = @opendir($dir)) return false; + while (false !== ($file = readdir($dh))){ + if ($file != "." && $file != "..") { + $fullpath = $dir.$file; + if ($check_file) {//有子目录或者文件都说明有子内容 + if(is_dir($fullpath.'/') || is_file($fullpath)) return true; + }else{//只检查有没有文件 + if(is_dir($fullpath.'/')) return true; + } + } + } + closedir($dh); + return false; +} + +/** + * 删除文件 传入参数编码为操作系统编码. win--gbk + */ +function del_file($fullpath){ + if (!@unlink($fullpath)) { // 删除不了,尝试修改文件权限 + @chmod($fullpath, 0777); + if (!@unlink($fullpath)) { + return false; + } + } else { + return true; + } +} + +/** + * 删除文件夹 传入参数编码为操作系统编码. win--gbk + */ +function del_dir($dir){ + if (!$dh = opendir($dir)) return false; + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $fullpath = $dir . '/' . $file; + if (!is_dir($fullpath)) { + if (!unlink($fullpath)) { // 删除不了,尝试修改文件权限 + chmod($fullpath, 0777); + if (!unlink($fullpath)) { + return false; + } + } + } else { + if (!del_dir($fullpath)) { + chmod($fullpath, 0777); + if (!del_dir($fullpath)) return false; + } + } + } + } + closedir($dh); + if (rmdir($dir)) { + return true; + } else { + return false; + } +} + +/** + * 复制文件夹 + * eg:将D:/wwwroot/下面wordpress复制到 + * D:/wwwroot/www/explorer/0000/del/1/ + * 末尾都不需要加斜杠,复制到地址如果不加源文件夹名, + * 就会将wordpress下面文件复制到D:/wwwroot/www/explorer/0000/del/1/下面 + * $from = 'D:/wwwroot/wordpress'; + * $to = 'D:/wwwroot/www/explorer/0000/del/1/wordpress'; + */ + +function copy_dir($source, $dest){ + $result = false; + if (is_file($source)) { + if ($dest[strlen($dest)-1] == '/') { + $__dest = $dest . "/" . basename($source); + } else { + $__dest = $dest; + } + $result = copy($source, $__dest); + chmod($__dest, 0755); + } elseif (is_dir($source)) { + if ($dest[strlen($dest)-1] == '/') { + $dest = $dest . basename($source); + mkdir($dest, 0755); + } else { + mkdir($dest, 0755); + } + $dirHandle = opendir($source); + while (false !== ($file = readdir($dirHandle))) { + if ($file != "." && $file != "..") { + if (!is_dir($source . "/" . $file)) { + $__dest = $dest . "/" . $file; + } else { + $__dest = $dest . "/" . $file; + } + $result = copy_dir($source . "/" . $file, $__dest); + } + } + closedir($dirHandle); + } else { + $result = false; + } + return $result; +} + +/** + * 创建目录 + * + * @param string $dir + * @param int $mode + * @return bool + */ +function mk_dir($dir, $mode = 0777){ + if (is_dir($dir) || mkdir($dir, $mode)) + return true; + if (!mk_dir(dirname($dir), $mode)) + return false; + return mkdir($dir, $mode); +} + +/* +* 获取文件&文件夹列表(支持文件夹层级) +* path : 文件夹 $dir ——返回的文件夹array files ——返回的文件array +* $deepest 是否完整递归;$deep 递归层级 +*/ +function recursion_dir($path,&$dir,&$file,$deepest=-1,$deep=0){ + $path = rtrim($path,'/').'/'; + if (!is_array($file)) $file=array(); + if (!is_array($dir)) $dir=array(); + $handle=opendir($path); + while(($val=readdir($handle)) !== false){ + if ($val=='.' || $val=='..') continue; + $value = strval($path.$val); + if (is_file($value)){ + $file[] = $value; + }else if(is_dir($value)){ + $dir[]=$value; + if ($deepest==-1 || $deep<$deepest){ + recursion_dir($value."/",$dir,$file,$deepest,$deep+1); + } + } + } + closedir($handle); + return true; +} +/* + * $search 为包含的字符串 + * is_content 表示是否搜索文件内容;默认不搜索 + * is_case 表示区分大小写,默认不区分 + */ +function path_search($path,$search,$is_content=false,$file_ext='',$is_case=false){ + $ext_arr=explode("|",$file_ext); + recursion_dir($path,$dirs,$files,-1,0); + $strpos = 'stripos';//是否区分大小写 + if ($is_case) $strpos = 'strpos'; + + $filelist = array(); + $folderlist = array(); + foreach($files as $f){ + $ext = get_path_ext($f); + $path_this = get_path_this($f); + if ($file_ext !='' && !in_array($ext,$ext_arr)) continue;//文件类型不在用户限定内 + if ($strpos($path_this,$search) !== false){//搜索文件名;搜到就返回;搜不到继续 + $filelist[] = file_info($f); + continue; + } + if ($is_content && is_file($f)){ + $fp = fopen($f, "r"); + $content = @fread($fp,filesize($f)); + fclose($fp); + if ($strpos($content,$search) !== false){ + $filelist[] = file_info($f); + } + } + } + if ($file_ext == '') {//没限定扩展名则才搜索文件夹 + foreach($dirs as $f){ + $path_this = get_path_this($f); + if ($strpos($path_this,$search)){ + $folderlist[]= array( + 'name' => iconv_app(get_path_this($f)), + 'path' => iconv_app(get_path_father($f)) + ); + } + } + } + return array('folderlist' => $folderlist,'filelist' => $filelist); +} + +/** + * 文件大小格式化 + * + * @param $ :$bytes, int 文件大小 + * @param $ :$precision int 保留小数点 + * @return :string + */ +function size_format($bytes, $precision = 2){ + if ($bytes == 0) return "0 B"; + $unit = array('TB' => 1099511627776, // pow( 1024, 4) + 'GB' => 1073741824, // pow( 1024, 3) + 'MB' => 1048576, // pow( 1024, 2) + 'kB' => 1024, // pow( 1024, 1) + 'B ' => 1, // pow( 1024, 0) + ); + foreach ($unit as $un => $mag) { + if (doubleval($bytes) >= $mag) + return round($bytes / $mag, $precision).' '.$un; + } +} + +/** + * 判断路径是不是绝对路径 + * 返回true('/foo/bar','c:\windows'). + * + * @return 返回true则为绝对路径,否则为相对路径 + */ +function path_is_absolute($path){ + if (realpath($path) == $path)// *nux 的绝对路径 /home/my + return true; + if (strlen($path) == 0 || $path[0] == '.') + return false; + if (preg_match('#^[a-zA-Z]:\\\\#', $path))// windows 的绝对路径 c:\aaa\ + return true; + return (bool)preg_match('#^[/\\\\]#', $path); //绝对路径 运行 / 和 \绝对路径,其他的则为相对路径 +} + +/** + * 获取扩展名的文件类型 + * + * @param $ :$ext string 扩展名 + * @return :string; + */ +function ext_type($ext){ + $ext2type = array( + 'text' => array('txt','ini','log','asc','csv','tsv','vbs','bat','cmd','inc','conf','inf'), + 'code' => array('css','htm','html','php','js','c','cpp','h','java','cs','sql','xml'), + 'picture' => array('jpg','jpeg','png','gif','ico','bmp','tif','tiff','dib','rle'), + 'audio' => array('mp3','ogg','oga','mid','midi','ram','wav','wma','aac','ac3','aif','aiff','m3a','m4a','m4b','mka','mp1','mx3','mp2'), + 'flash' => array('swf'), + 'video' => array('rm','rmvb','flv','mkv','wmv','asf','avi','aiff','mp4','divx','dv','m4v','mov','mpeg','vob','mpg','mpv','ogm','ogv','qt'), + 'document' => array('doc','docx','docm','dotm','odt','pages','pdf','rtf','xls','xlsx','xlsb','xlsm','ppt','pptx','pptm','odp'), + 'rar_achieve' => array('rar','arj','tar','ace','gz','lzh','uue','bz2'), + 'zip_achieve' => array('zip','gzip','cab','tbz','tbz2'), + 'other_achieve' => array('dmg','sea','sit','sqx') + ); + foreach ($ext2type as $type => $exts) { + if (in_array($ext, $exts)) { + return $type; + } + } +} + +/** + * 文件下载 + */ +function file_download($file){ + if (file_exists($file)) { + header("Cache-Control: public"); + header("Content-Type: application/octet-stream"); + header("Content-Disposition: attachment;filename=".get_path_this($file)); + header("Accept-Ranges: bytes"); + $size = filesize($file); + //如果有$_SERVER['HTTP_RANGE']参数 断点续传 + if (isset ($_SERVER['HTTP_RANGE'])) { + list ($a, $range) = explode("=", $_SERVER['HTTP_RANGE']); + str_replace($range, "-", $range); + $size2 = $size -1; //文件总字节数 + $new_length = $size2 - $range; //获取下次下载的长度 + header("HTTP/1.1 206 Partial Content"); + header("Content-Length: $new_length"); //输入总长 + header("Content-Range: bytes $range$size2/$size"); + }else{//第一次连接 + $size2 = $size -1; + header("Content-Range: bytes 0-$size2/$size"); //Content-Range: bytes 0-4988927/4988928 + header("Content-Length: " . $size); //输出总长 + } + $fp = fopen($file, "rb"); + fseek($fp, $range); + while (!feof($fp)) { + set_time_limit(0); + print (fread($fp, 1024 * 8)); //输出文件 + flush(); + ob_flush(); + } + fclose($fp); + exit (); + } +} + +/** + * 文件代理输出 + */ +function file_proxy_out($file){ + if (file_exists($file)) { + $mime = get_file_mime(get_path_ext($file)); + header("Cache-Control:public"); + header("Content-Type:".$mime); + $size = filesize($file); + header("Content-Length: " . $size); //输出总长 + $fp = fopen($file, "rb"); + fseek($fp, $range); + while (!feof($fp)) { + set_time_limit(0); + print (fread($fp, 1024 * 8)); //输出文件 + flush(); + ob_flush(); + } + fclose($fp); + exit; + }else{ + show_json('file not exists',false); + } +} + + +/** + * 文件下载到服务器 + */ +function file_download_this($from, $file_name){ + $fp = @fopen ($from, "rb"); + if ($fp){ + $new_fp = @fopen ($file_name, "wb"); + if ($new_fp){ + while(!feof($fp)){ + fwrite($new_fp, fread($fp, 1024 * 8 ), 1024 * 8 ); + } + }else{ + return -1; + } + }else{ + return -2; + } + return 1; +} + +/** + * 获取文件(夹)权限 rwx_rwx_rwx + */ +function get_mode($file){ + $Mode = fileperms($file); + $Owner = array();$Group=array();$World=array(); + if ($Mode &0x1000) $Type = 'p'; // FIFO pipe + elseif ($Mode &0x2000) $Type = 'c'; // Character special + elseif ($Mode &0x4000) $Type = 'd'; // Directory + elseif ($Mode &0x6000) $Type = 'b'; // Block special + elseif ($Mode &0x8000) $Type = '-'; // Regular + elseif ($Mode &0xA000) $Type = 'l'; // Symbolic Link + elseif ($Mode &0xC000) $Type = 's'; // Socket + else $Type = 'u'; // UNKNOWN + // Determine les permissions par Groupe + $Owner['r'] = ($Mode &00400) ? 'r' : '-'; + $Owner['w'] = ($Mode &00200) ? 'w' : '-'; + $Owner['x'] = ($Mode &00100) ? 'x' : '-'; + $Group['r'] = ($Mode &00040) ? 'r' : '-'; + $Group['w'] = ($Mode &00020) ? 'w' : '-'; + $Group['e'] = ($Mode &00010) ? 'x' : '-'; + $World['r'] = ($Mode &00004) ? 'r' : '-'; + $World['w'] = ($Mode &00002) ? 'w' : '-'; + $World['e'] = ($Mode &00001) ? 'x' : '-'; + // Adjuste pour SUID, SGID et sticky bit + if ($Mode &0x800) $Owner['e'] = ($Owner['e'] == 'x') ? 's' : 'S'; + if ($Mode &0x400) $Group['e'] = ($Group['e'] == 'x') ? 's' : 'S'; + if ($Mode &0x200) $World['e'] = ($World['e'] == 'x') ? 't' : 'T'; + $Mode = $Type.$Owner['r'].$Owner['w'].$Owner['x'].' '. + $Group['r'].$Group['w'].$Group['e'].' '. + $World['r'].$World['w'].$World['e']; + return $Mode; +} + +/** + * 获取可以上传的最大值 + * return * byte + */ +function get_post_max(){ + $upload = ini_get('upload_max_filesize'); + $upload = $upload==''?ini_get('upload_max_size'):$upload; + $post = ini_get('post_max_size'); + $upload = intval($upload)*1024*1024; + $post = intval($post)*1024*1024; + return $upload<$post?$upload:$post; +} + +/** + * 文件上传处理。单个文件上传,多个分多次请求 + * 调用demo + * upload('file','D:/www/'); + */ +function upload($fileInput, $path = './'){ + global $config,$L; + if (!isset($_FILES[$fileInput])) show_json($L['upload_error_null'],false); + + $file = $_FILES[$fileInput]; + $file_name = iconv_system($file['name']); + $info = _upload($file['tmp_name'],$file['size'],$path.$file_name); + show_json($info['data'],$info['code']); +} +function _upload($tmp_name,$size,$save_path){ + global $L; + if(file_exists($save_path)){ + return array('code'=>false,'data'=>$L['upload_error_exists']); + } + if(move_uploaded_file($tmp_name,$save_path)){ + return array('code'=>true,'data'=>$L['upload_success'],'path'=>$save_path); + }else { + return array('code'=>fasle,'data'=>$L['move_error']); + } +} + +/** + * 写日志 + * @param string $log 日志信息 + * @param string $type 日志类型 [system|app|...] + * @param string $level 日志级别 + * @return boolean + */ +function write_log($log, $type = 'default', $level = 'log'){ + $now_time = date('[y-m-d H:i:s]'); + $now_day = date('Y_m_d'); + // 根据类型设置日志目标位置 + $target = LOG_PATH . strtolower($type) . '/'; + mk_dir($target, 0755); + if (! is_writable($target)) exit('path can not write!'); + switch($level){// 分级写日志 + case 'error': $target .= 'Error_' . $now_day . '.log';break; + case 'warning': $target .= 'Warning_' . $now_day . '.log';break; + case 'debug': $target .= 'Debug_' . $now_day . '.log';break; + case 'info': $target .= 'Info_' . $now_day . '.log';break; + case 'db': $target .= 'Db_' . $now_day . '.log';break; + default: $target .= 'Log_' . $now_day . '.log';break; + } + //检测日志文件大小, 超过配置大小则重命名 + if (file_exists($target) && filesize($target) <= 100000) { + $file_name = substr(basename($target),0,strrpos(basename($target),'.log')).'.log'; + rename($target, dirname($target) .'/'. $file_name); + } + clearstatcache(); + return error_log("$now_time $log\n", 3, $target); +} \ No newline at end of file diff --git a/lib/function/web.function.php b/lib/function/web.function.php new file mode 100644 index 0000000..cb243ce --- /dev/null +++ b/lib/function/web.function.php @@ -0,0 +1,517 @@ + $v) { + if (isset($v)) { + $chosen = $v; + break; + } + } + return $chosen; +} + + +function stripslashes_deep($value){ + $value = is_array($value) ? array_map('stripslashes_deep', $value) : (isset($value) ? stripslashes($value) : null); + return $value; +} + +/** + * GET/POST数据统一入口 + * 将GET和POST的数据进行过滤,去掉非法字符以及hacker code,返回一个数组 + * 注意如果GET和POST有相同的Key,POST优先 + * + * @return array $_GET和$_POST数据过滤处理后的值 + */ +function parse_incoming(){ + global $_GET, $_POST,$_COOKIE; + + $_COOKIE = stripslashes_deep($_COOKIE); + $_GET = stripslashes_deep($_GET); + $_POST = stripslashes_deep($_POST); + $return = array(); + $return = array_merge($_GET,$_POST); + $remote = array_get($return,0); + $remote = explode('/',trim($remote[0],'/')); + $return['URLremote'] = $remote; + return $return; +} + +function url2absolute($index_url, $preg_url){ + if (preg_match('/[a-zA-Z]*\:\/\//', $preg_url)) return $preg_url; + preg_match('/([a-zA-Z]*\:\/\/.*)\//', $index_url, $match); + $index_url_temp = $match[1]; + + foreach(explode('/', $preg_url) as $key => $var) { + if ($key == 0 && $var == '') { + preg_match('/([a-zA-Z]*\:\/\/[^\/]*)\//', $index_url, $match); + $index_url_temp = $match[1] . $preg_url; + break; + } + if ($var == '..') { + preg_match('/([a-zA-Z]*\:\/\/.*)\//', $index_url_temp, $match); + $index_url_temp = $match[1]; + } elseif ($var != '.') $index_url_temp .= '/' . $var; + } + return $index_url_temp; +} + +// 将字符串转换成URL的编码,gbk的和utf8的 $to="gbk" 或"utf8" +function urlcode($str, $to){ + if ($to == "gbk") { + $result = RawUrlEncode($str); //gbk字符(主要是中文)转换为url %BA%EC形式 + } else { + $key = mb_convert_encoding($str, "utf-8", "gbk"); //对于百度utf8中文url + $result = urlencode($key); + } + return $result; +} + +// 输出js +function exec_js($js){ + echo "\n"; +} +// 禁止缓存 +function no_cache(){ + header("Pragma:no-cache\r\n"); + header("Cache-Control:no-cache\r\n"); + header("Expires:0\r\n"); +} +// 生成javascript转向 +function go_url($url, $msg = ''){ + header("Content-type: text/html; charset=utf-8\r\n"); + echo "\n"; + exit; +} + +/** + * 消息框。eg + * msg("falied","/",10); + * msg("ok"); + */ +function show_msg($message, $url = '#', $time = 3, $isgo = 1) +{ + $goto = "content='$time;url=$url'"; + if ($isgo != "1") { + $goto = ""; + } //是否自动跳转 + echo<< + + + +
    +
    提示信息
    +
    $message
    +
    $time 秒后自动跳转,如不想等待可 点击这里
    + + +END; + exit; +} + +function send_http_status($i_status, $s_message = ''){ + $a_status = array( + // Informational 1xx + 100 => 'Continue', + 101 => 'Switching Protocols', + // Success 2xx + 200 => 'OK', + 201 => 'Created', + 202 => 'Accepted', + 203 => 'Non-Authoritative Information', + 204 => 'No Content', + 205 => 'Reset Content', + 206 => 'Partial Content', + // Redirection 3xx + 300 => 'Multiple Choices', + 301 => 'Moved Permanently', + 302 => 'Found', // 1.1 + 303 => 'See Other', + 304 => 'Not Modified', + 305 => 'Use Proxy', // 306 is deprecated but reserved + 307 => 'Temporary Redirect', + // Client Error 4xx + 400 => 'Bad Request', + 401 => 'Unauthorized', + 402 => 'Payment Required', + 403 => 'Forbidden', + 404 => 'Not Found', + 405 => 'Method Not Allowed', + 406 => 'Not Acceptable', + 407 => 'Proxy Authentication Required', + 408 => 'Request Timeout', + 409 => 'Conflict', + 410 => 'Gone', + 411 => 'Length Required', + 412 => 'Precondition Failed', + 413 => 'Request Entity Too Large', + 414 => 'Request-URI Too Long', + 415 => 'Unsupported Media Type', + 416 => 'Requested Range Not Satisfiable', + 417 => 'Expectation Failed', + // Server Error 5xx + 500 => 'Internal Server Error', + 501 => 'Not Implemented', + 502 => 'Bad Gateway', + 503 => 'Service Unavailable', + 504 => 'Gateway Timeout', + 505 => 'HTTP Version Not Supported', + 509 => 'Bandwidth Limit Exceeded' + ); + + if (array_key_exists($i_status, $a_status)) { + header('HTTP/1.1 ' . $i_status . ' ' . $a_status[$i_status]); + } + if ($s_message) { + echo $s_message; + exit(); + } +} + +// 获取操作系统信息 +function get_os (){ + $agent = $_SERVER['HTTP_USER_AGENT']; + $os = false; + if (eregi('win', $agent) && strpos($agent, '95')) { + $os = 'Windows 95'; + } else if (eregi('win 9x', $agent) && strpos($agent, '4.90')) { + $os = 'Windows ME'; + } else if (eregi('win', $agent) && ereg('98', $agent)) { + $os = 'Windows 98'; + } else if (eregi('win', $agent) && eregi('nt 5.1', $agent)) { + $os = 'Windows XP'; + } else if (eregi('win', $agent) && eregi('nt 5', $agent)) { + $os = 'Windows 2000'; + } else if (eregi('win', $agent) && eregi('nt', $agent)) { + $os = 'Windows NT'; + } else if (eregi('win', $agent) && ereg('32', $agent)) { + $os = 'Windows 32'; + } else if (eregi('linux', $agent)) { + $os = 'Linux'; + } else if (eregi('unix', $agent)) { + $os = 'Unix'; + } else if (eregi('sun', $agent) && eregi('os', $agent)) { + $os = 'SunOS'; + } else if (eregi('ibm', $agent) && eregi('os', $agent)) { + $os = 'IBM OS/2'; + } else if (eregi('Mac', $agent) && eregi('PC', $agent)) { + $os = 'Macintosh'; + } else if (eregi('PowerPC', $agent)) { + $os = 'PowerPC'; + } else if (eregi('AIX', $agent)) { + $os = 'AIX'; + } else if (eregi('HPUX', $agent)) { + $os = 'HPUX'; + } else if (eregi('NetBSD', $agent)) { + $os = 'NetBSD'; + } else if (eregi('BSD', $agent)) { + $os = 'BSD'; + } else if (ereg('OSF1', $agent)) { + $os = 'OSF1'; + } else if (ereg('IRIX', $agent)) { + $os = 'IRIX'; + } else if (eregi('FreeBSD', $agent)) { + $os = 'FreeBSD'; + } else if (eregi('teleport', $agent)) { + $os = 'teleport'; + } else if (eregi('flashget', $agent)) { + $os = 'flashget'; + } else if (eregi('webzip', $agent)) { + $os = 'webzip'; + } else if (eregi('offline', $agent)) { + $os = 'offline'; + } else { + $os = 'Unknown'; + } + return $os; +} + +//根据扩展名获取mime +function get_file_mime($ext){ + $mimetypes = array( + "323" => "text/h323", + "acx" => "application/internet-property-stream", + "ai" => "application/postscript", + "aif" => "audio/x-aiff", + "aifc" => "audio/x-aiff", + "aiff" => "audio/x-aiff", + "asf" => "video/x-ms-asf", + "asr" => "video/x-ms-asf", + "asx" => "video/x-ms-asf", + "au" => "audio/basic", + "avi" => "video/x-msvideo", + "axs" => "application/olescript", + "bas" => "text/plain", + "bcpio" => "application/x-bcpio", + "bin" => "application/octet-stream", + "bmp" => "image/bmp", + "c" => "text/plain", + "cat" => "application/vnd.ms-pkiseccat", + "cdf" => "application/x-cdf", + "cer" => "application/x-x509-ca-cert", + "class" => "application/octet-stream", + "clp" => "application/x-msclip", + "cmx" => "image/x-cmx", + "cod" => "image/cis-cod", + "cpio" => "application/x-cpio", + "crd" => "application/x-mscardfile", + "crl" => "application/pkix-crl", + "crt" => "application/x-x509-ca-cert", + "csh" => "application/x-csh", + "css" => "text/css", + "dcr" => "application/x-director", + "der" => "application/x-x509-ca-cert", + "dir" => "application/x-director", + "dll" => "application/x-msdownload", + "dms" => "application/octet-stream", + "doc" => "application/msword", + "dot" => "application/msword", + "dvi" => "application/x-dvi", + "dxr" => "application/x-director", + "eps" => "application/postscript", + "etx" => "text/x-setext", + "evy" => "application/envoy", + "exe" => "application/octet-stream", + "fif" => "application/fractals", + "flr" => "x-world/x-vrml", + "gif" => "image/gif", + "gtar" => "application/x-gtar", + "gz" => "application/x-gzip", + "h" => "text/plain", + "hdf" => "application/x-hdf", + "hlp" => "application/winhlp", + "hqx" => "application/mac-binhex40", + "hta" => "application/hta", + "htc" => "text/x-component", + "htm" => "text/html", + "html" => "text/html", + "htt" => "text/webviewhtml", + "ico" => "image/x-icon", + "ief" => "image/ief", + "iii" => "application/x-iphone", + "ins" => "application/x-internet-signup", + "isp" => "application/x-internet-signup", + "jfif" => "image/pipeg", + "jpe" => "image/jpeg", + "jpeg" => "image/jpeg", + "jpg" => "image/jpeg", + "js" => "application/x-javascript", + "latex" => "application/x-latex", + "lha" => "application/octet-stream", + "lsf" => "video/x-la-asf", + "lsx" => "video/x-la-asf", + "lzh" => "application/octet-stream", + "m13" => "application/x-msmediaview", + "m14" => "application/x-msmediaview", + "m3u" => "audio/x-mpegurl", + "man" => "application/x-troff-man", + "mdb" => "application/x-msaccess", + "me" => "application/x-troff-me", + "mht" => "message/rfc822", + "mhtml" => "message/rfc822", + "mid" => "audio/mid", + "mny" => "application/x-msmoney", + "mov" => "video/quicktime", + "movie" => "video/x-sgi-movie", + "mp2" => "video/mpeg", + "mp3" => "audio/mpeg", + "mp4" => "video/mpeg", + "mpa" => "video/mpeg", + "mpe" => "video/mpeg", + "mpeg" => "video/mpeg", + "mpg" => "video/mpeg", + "mpp" => "application/vnd.ms-project", + "mpv2" => "video/mpeg", + "ms" => "application/x-troff-ms", + "mvb" => "application/x-msmediaview", + "nws" => "message/rfc822", + "oda" => "application/oda", + "p10" => "application/pkcs10", + "p12" => "application/x-pkcs12", + "p7b" => "application/x-pkcs7-certificates", + "p7c" => "application/x-pkcs7-mime", + "p7m" => "application/x-pkcs7-mime", + "p7r" => "application/x-pkcs7-certreqresp", + "p7s" => "application/x-pkcs7-signature", + "pbm" => "image/x-portable-bitmap", + "pdf" => "application/pdf", + "pfx" => "application/x-pkcs12", + "pgm" => "image/x-portable-graymap", + "pko" => "application/ynd.ms-pkipko", + "pma" => "application/x-perfmon", + "pmc" => "application/x-perfmon", + "pml" => "application/x-perfmon", + "pmr" => "application/x-perfmon", + "pmw" => "application/x-perfmon", + "png" => "image/png", + "pnm" => "image/x-portable-anymap", + "pot," => "application/vnd.ms-powerpoint", + "ppm" => "image/x-portable-pixmap", + "pps" => "application/vnd.ms-powerpoint", + "ppt" => "application/vnd.ms-powerpoint", + "prf" => "application/pics-rules", + "ps" => "application/postscript", + "pub" => "application/x-mspublisher", + "qt" => "video/quicktime", + "ra" => "audio/x-pn-realaudio", + "ram" => "audio/x-pn-realaudio", + "ras" => "image/x-cmu-raster", + "rgb" => "image/x-rgb", + "rmi audio/mid" => "http://www.dreamdu.com", + "roff" => "application/x-troff", + "rtf" => "application/rtf", + "rtx" => "text/richtext", + "scd" => "application/x-msschedule", + "sct" => "text/scriptlet", + "setpay" => "application/set-payment-initiation", + "setreg" => "application/set-registration-initiation", + "sh" => "application/x-sh", + "shar" => "application/x-shar", + "sit" => "application/x-stuffit", + "snd" => "audio/basic", + "spc" => "application/x-pkcs7-certificates", + "spl" => "application/futuresplash", + "src" => "application/x-wais-source", + "sst" => "application/vnd.ms-pkicertstore", + "stl" => "application/vnd.ms-pkistl", + "stm" => "text/html", + "svg" => "image/svg+xml", + "sv4cpio" => "application/x-sv4cpio", + "sv4crc" => "application/x-sv4crc", + "swf" => "application/x-shockwave-flash", + "t" => "application/x-troff", + "tar" => "application/x-tar", + "tcl" => "application/x-tcl", + "tex" => "application/x-tex", + "texi" => "application/x-texinfo", + "texinfo" => "application/x-texinfo", + "tgz" => "application/x-compressed", + "tif" => "image/tiff", + "tiff" => "image/tiff", + "tr" => "application/x-troff", + "trm" => "application/x-msterminal", + "tsv" => "text/tab-separated-values", + "txt" => "text/plain", + "uls" => "text/iuls", + "ustar" => "application/x-ustar", + "vcf" => "text/x-vcard", + "vrml" => "x-world/x-vrml", + "wav" => "audio/x-wav", + "wcm" => "application/vnd.ms-works", + "wdb" => "application/vnd.ms-works", + "wks" => "application/vnd.ms-works", + "wmf" => "application/x-msmetafile", + "wps" => "application/vnd.ms-works", + "wri" => "application/x-mswrite", + "wrl" => "x-world/x-vrml", + "wrz" => "x-world/x-vrml", + "xaf" => "x-world/x-vrml", + "xbm" => "image/x-xbitmap", + "xla" => "application/vnd.ms-excel", + "xlc" => "application/vnd.ms-excel", + "xlm" => "application/vnd.ms-excel", + "xls" => "application/vnd.ms-excel", + "xlt" => "application/vnd.ms-excel", + "xlw" => "application/vnd.ms-excel", + "xof" => "x-world/x-vrml", + "xpm" => "image/x-xpixmap", + "xwd" => "image/x-xwindowdump", + "z" => "application/x-compress", + "zip" => "application/zip" + ); + if (array_key_exists($ext,$mimetypes)){ + return $mimetypes[$ext]; + }else{ + return 'application/octet-stream'; + } +} diff --git a/lib/plugins/adminer/adminer.css b/lib/plugins/adminer/adminer.css new file mode 100644 index 0000000..db40bfa --- /dev/null +++ b/lib/plugins/adminer/adminer.css @@ -0,0 +1,147 @@ +/* CSS by Brade - www.bradezone.com */ +*{margin:0;padding:0} +/* 颜色微调【同样颜色灰度值调节】 */ +::-webkit-scrollbar-track-piece{background-color:#f5f5f5;border-left:1px solid #d2d2d2} +::-webkit-scrollbar{width:10px;height:10px} +::-webkit-scrollbar-thumb{background-color:#c2c2c2;background-clip:padding-box;border:1px solid #979797;min-height:28px} +::-webkit-scrollbar-thumb:hover{border:1px solid #636363;background-color:#929292} + +body,select,input,button{font:13px "微软雅黑",Microsoft Yahei,STXihei,arial,sans-serif;background:#fff;color:#333} +code,pre,textarea{font: 14px Consolas, "Liberation Mono", Courier, monospace !important;} +/* generic */ +a{-ms-transition: all 0.3s; +-webkit-transition: all 0.3s; +-moz-transition: all 0.3s; +-o-transition: all 0.3s; +transition: all 0.3s; +} +a,a:visited{color:#06c;text-decoration:none;padding: 1px 4px;} +a:hover{background:#C7D1DD;border-radius:10px;color:#555;text-decoration: none !important;} +p{padding-bottom:4px;margin-bottom:4px} +h1{font-size:18px;font-weight:bold;padding-bottom:0px;height:25px;padding:0 0 8px 0;color:#666;border:0;background:none;} + +h2{font-size:24px;margin:0px;background:transparent;border:0;color:#366ec2; +padding: 10px 0;;border-bottom: 3px solid #eee;margin-bottom: 10px;} +h3{font-size:18px;font-weight:bold;padding:4px 0;margin:0} +form#form{overflow:hidden} +fieldset{float:left;min-height:48px;padding:0 4px 4px 4px;border:1px solid #ccc;margin-bottom:8px;margin-right:4px} +fieldset div{margin-top:4px} +input,select,textarea{color:#555;border:1px solid #ccc;padding: 2px 5px;} +fieldset select{margin-right:4px} +optgroup{font-size:11px} +code{background:#ffc;padding:2px 4px;} +code a:hover{background:transparent} +table{margin:4px 0 8px;border:1px solid #ccc;font-size:inherit} +tbody tr:hover td,tbody tr:hover th{background:#ffc} +th,td{text-align:left;padding:2px 4px;vertical-align:top;font-weight:normal;border:1px dotted #ccc;border-width:0 0 0 1px; +margin:0;background:inherit} + +thead tr{text-align: center;font-weight: 800;color: #444;height:25px;line-height: 25px;} +thead tr td{background: #F7F6F6;color: #222;font-weight: 800;border-bottom: 1px solid #CCC;white-space:nowrap;} +th:first-child,td:first-child{border-color:transparent;white-space:nowrap} +td[align=right]{text-align:right} +table code{font-size:13px;line-height:18px} +.hidden{display:none} +.error,.message{padding:0;background:transparent;font-weight:bold} +.error{color:#c00} +.message{color:#090} +/* specific */ +#content{margin:0 0 0 255px;height:100%;padding: 40px 10px 10px 0;} +#content:after{content:".";clear:both;height:0;overflow:hidden;display:block} +#lang{z-index: 10;background:#5579BA;color: #fff;position: fixed; +top: 0;right: 0px;padding: 0 20px 0 10px;line-height:30px;height: 35px;box-shadow: 0 -5px 50px #666;} + +#lang select{border-color: #fff;height: 22px;line-height: 22px;padding:0px;font-size:12px;} +#content > p > a,.tabs a{border: 1px solid #ccc;display: inline-block;padding: 3px 1em; +margin-bottom: 4px;background: #eee;color: #555; +letter-spacing: 1px;border-radius: 15px;} +#content > p > a:hover,.tabs a:hover{background:#6787c1;color:#eee;border-right:1px solid #5579BA;} +#content > p > a.active,.tabs a.active{background:#5579BA;color:#fff;border-right:1px solid #5579BA;} + +#menu{background:#E3E7EC;position:fixed;top: 30px;bottom:0px;overflow-x:hidden; + overflow-y: auto;left:0px;width:201px;padding:10px 15px;color:#333; + border-right:1px solid #ddf;margin:0;} +#menu a{color:#333;display: inline-block;margin:1px;line-height:18px;} +#menu a:hover{background:#333;color:#000;background: #C7D1DD;border:none;border-radius:10px;} +#menu a.h1,#menu a.h1:hover{display:block;height:0;width:175px;padding:40px 0 0 0;overflow:hidden;float:left;border:0;margin:0; +outline:0;background:url(http://www.bradezone.com/random/adminer_logo.gif) no-repeat;line-height:32px} +#menu p{white-space:nowrap;border:0;padding:0 0 4px 0;margin:0 0 4px 0;overflow: hidden !important;} +#menu p a.active{background: #8C9EB4;color: #fff;border-radius:10px;} +#menu h1 a{display: none;} +#menu h1:before{content: "Adminer ";line-height: 40px;} +#menu h1{text-align: center;margin-bottom: 10px;} +.logout a{border-bottom: 1px solid #ccc;} +.links a {white-space: nowrap;margin-right: 0px;} +.icon {background: #ccc;} + +#content #breadcrumb{background: #5579BA;border-left: 1px solid #6787c1;height: 30px;color:#ddd;font-size: 16px;position:fixed;top:0; +left: 231px;width:100%;line-height:30px;padding:2px 10px;z-index:11;margin:0;} +#content #breadcrumb a{color:#fff;display:inline;padding:3px 6px;background:none;letter-spacing:0;text-decoration: underline;border:none;} +#content #breadcrumb a:hover{background:transparent;color:#f90;} +#schema .table{padding:4px 8px;background:#f3f3f3} +/* IE hacks */ +*+html th:first-child,*+html td:first-child{border-color:inherit;white-space:inherit} +* html #lang,* html #menu,* html #breadcrumb{position:absolute} +* html #lang{padding-top:10px;height:30px;box-shadow: 0 -20px 50px #000;} +* html form#form{height:100%} +#logins a,#tables a{background: none} +#logout{color:#333;text-decoration:none;padding:4px 1em;} +#logout:hover{border-color:#333;background:#333;color:#fff} +.js .column{background:#ddd} + +input,object{ + border:1px solid #ccc; + color: #226; font-weight: normal; + background-color: #fcfdfe; + font-style:14px; + padding-top:4px 8px; + border-right-color:#888\9; + border-bottom-color:#888\9; +} +textarea{border: 1px solid #ccc;} +input[type=text] {padding:4px;background: #fffffa;font-size:12px;} +input[type=text]:focus{background: #ffffe6;border: 1px solid #5FA3EC;} +input[type=checkbox]{display: inline-block;margin-right: 10px;margin-left: 5px;} +input[type="button"],input[type="reset"],input[type="submit"]{ + height:25px; + color: #6e6e6e; + text-decoration: none; + position: relative; + display: inline-block; + text-shadow: 0 1px 0 #fff; + -webkit-transition: border-color .15s; + -moz-transition: border .15s; + -o-transition: border-color .15s; + transition: border-color .15s; + background: #f3f3f3; + background-image: -moz-linear-gradient(top, #fafafa, #eeeeee); /* Firefox */ + background: -webkit-gradient(linear,0% 40%,0% 70%,from(#FaFaFa),to(#eeeeee)); + border: solid 1px #bbb; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + padding:2px 1.2em; + cursor: pointer; + margin-bottom:2px; +} +input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover{ + color: #333; + border-color: #aaa; + box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); +} +input.default {color: #000 !important;font-weight: 800;box-shadow: 0px 0px 5px #ccc;} +input[type=button]:active,input[type=reset]:active,input[type=submit]:active{ + color: #448; + background: -webkit-gradient(linear,0% 40%,0% 70%,from(#F1F1F1),to(#FaFaFa)); + background: -moz-linear-gradient(linear,0% 40%,0% 70%,from(#F1F1F1),to(#FaFaFa)); + border-color: #888; +} +input[type="radio"]{border:none;display:inline-block;margin: 5px;} +input:focus{border:1px solid #75A1F0;outline:none;box-shadow:0 0 8px #75A1F0; +-webkit-transition:all 0.218s;-moz-transition: all .218s;-o-transition: all 0.218s;transition: all 0.218s;} + +.js .checkable .checked td, .js .checkable .checked th {background: #ff9;} +.nowrap td, .nowrap th, td.nowrap {white-space: pre;line-height: 24px;} +code{background:none !important;} +.jush-sql{background:#eee;} + diff --git a/lib/plugins/adminer/index.php b/lib/plugins/adminer/index.php new file mode 100644 index 0000000..1c5c551 --- /dev/null +++ b/lib/plugins/adminer/index.php @@ -0,0 +1,1673 @@ +S8LJt.M ϋ`'C889 Q2#8А6mjh<9/:J)ʂ\0d>!\0Zvno(k7s> !R\"*nS\0@P\"(#[@g ozn9k8n1I* =n0c(;à!*c>ΎE7DLJ1J=1L?s=#`3\$4uȱzGC YAt?;Qk&YPuǯ}UaHV%G;slڴIH3xw0t6%MR%jhB<\0AQ-ʈ QH\nvL+væ<\rv\\*Ӵݢgn˩ TЩ2P\rߋ\"+z8:#2J[i;zr3 #ى:n\r㽃epdݍ 2c4k\rGE6_މb/HB%0>hoWnxl֍浃CQ^\r4lK{Z:Ã.pĂJB-+B(T%J0lT`+-@BۄV\0C,0tF?Ġ\na@Ɍ>ZECO-^Q&)I)R]\r97_\rF80Ob >\nR_8٫ ov0bCAF!tă%0/zAYO(4 '] I8hH053@x&n|T)`.s6eYDzJѓ.{GEbӋ2{\$**@C-:zYHZI5F]YCOA`x'.*9t'{(wP=**xwr*cc|DV\rV.0 Vd?Ҁ,E͝`T6ۈ-ڎT[ѐz.Ar̀Pnc= a9Fn!u A0iPJ6e T]V[\rXav k\n+Eܕ*\0~@g\"NCI\$Ɍx@Wy*vuD8=뭪-v 4dDyIҤ_h'zVͶ6Yz:Qcڲ w0] xr !@/-*5I.]Yxuo&:P|Cyֲw@LգGf ؆)^Ƣ+Q5L4\$Mpo0i\rۻk4*w7S'Z݄nAb!1)oݖ9c\0bo-~2w4X,,8m'YFH3GqQZ-l\0wed5i.d)\\h~\\ẀLámgu2lbZC-6ꍖdlb\reMugra6ZDUʙ!K-09beH\"[J˝'Zoa)Xƃ&t8GZ.ژ+lr̯]k #j-WP,>@` \rc3\"\\Ҋq2z@Mpo0p d~OٙǦ]a;Ixxha͇0N~g? Lcuw}t<ÏŷqSv@gsW}L(kyȹ/6C8\r]\\LU^nqiQnT>A9\"kF.*߹ TCr?:܄wM,\$m|xmBmu =[ yn'h@CvS2dSV (\">H{-GmMb+hBbcph_ }q֫e_min8#`m? ~cDo ƐЪo4@ ؂21N(ܹ%jL3 ;|fEuږ\0f\$r\rHS%Ѥ2l*4?tY:d1 '!\0hEkBFg]2UoV)nBucĕC2|6 RcTJNHs{)l%b%|uN\0IԣI& -W ܹl;\rcC3GBۊ}jM42c\\KėHA\r`lw шaMDX)t\"tDb gz3iC0t aM2ՙK[̵4Ie=h\"\$7emH7&홳2(xޡojebV\n+W`救-\nǷe֓^F@>M À;R^g@|Jq\n\n4XfNؼc(uaMȨvHsa@4P : ̭y,r4GI*C0+a'  J*2TZb^up:4DÇPK!x a6L4R `:R\nd4DyȦ05*g%D8w4acUܷ3#rNToц&rn+\n+IFd`^&v(qZsLcY̧Gƿ[4X}Z~M>jy\0z ΓNn\nJԋT૊`BK\$Khp'@^ ` h`^+\0Hb-*m#NXO\nI?\0EJpb,F\07?0GJr-d z4a @Pʒi%d\0P \$໢a,%f\\L]8(4D fs.bV e6opojD\r4a.NlO OW \"\nƆ.>jd0 \n(Oʊ@[6-2RXZ\0\0*GBtWrmR1\r 0R\$mb}G m \0nnbu#QLr:#D- fcE!SBK\$dM\$&C\"R7%og2β:d\"P{K7G\"Q*#k%ځ\"Ryj?e\r+2H`\0\0,@0\$q 2LȾ'Mc-@\n\\31S1V{-r/*`G{#%02>14\r61\"D6c.2S )Hw7 vms8F)䬗9B0p6Nۋ̕DY7.4\rb3<R]\0S- ͏9#0\nIZ_0:C<4HL4<@䘧]\0.0\"f;#nroĕtn FhH0 pKFkUlIxK\n}-mM]Z ~ {Y &\r\\d\\\\Lbj\r q/])SP׳4lsE_ZZ-x`Z2.u\\U\0|D15\\\\[!c ^feH\r!l=RdoVc4Xv7L'e*rhgO@Jrefo^' ET>{OVc: z\0+Q!q! } T6-vVBh\rFƐڻJR~4*sr \\`P6*^ P\rc;f8Bj#tRf%h ys\n~;< At@tl tVq&6,` \n|Bq<6m[zևtwO6!#F[[E搆Z[q>8#N {(~\n~D(@\$Y\07_Byu\\hjFRca/K'e_{&&].N=4XBerGXfxK}VWrd}p hkqqjx|X|T#Icb\\nBxX?S3*YZ Prgj p=)DDn/'8rz g\n\0H OԵk&\"8}NZ,.\0c_X+^\r1zBt6rRLUCd\",\0E\r: \$gb\r|48ӂf6Is+ \n@ یhz*))9\rZ4610+HՒ|DYk\$۸`\r<(@MC(쇒\04E@|ees*\0xoqLp\\cr)+@~@\\P+,drŊxqs݊_8顅 W8WFF5(,q@m6s2#@rF=k\$uFV\nL/C j\0@Ss()@frqgdjF.H%1s5I[ɐ \\@`{nRtE`z@o+>뼆3, }G`n`\r -d {|!(dX8c\$_V#F n['\$t3l~1'D?[1/&e07\\E4O7hFL\0bXQ*\01D\0<\$q( ď\ntbcnCF \0`\$O1| 0vyg;mo'c/-&IDm%\nRpO5\nd=0# =eF\\1`el< Sø;\n e΄H\$2(e8 (VDQ2W۲{eviP؀vVR\ns䠑E\0.SzU4@e睐 I*y4ݜ͞}\\/y\\x']j6`WW%.Z%N^CdpNw!\08 \0~vJv6\0.yF2lvh6W|k\0Y%<\rk!G!5]q+i  .09,z{&Z'\0TM@ǣ6th+F(\0y*Pc=%wQK!t pmp@؅HFИ4D Zx&E-/䪎&D,W\0L\"&-Ng@5PVbXEP I)12\$h\0H%@@Za20xo'5E.5dX]?\0z0&c\011\\oD5%< t\ruq!@\\Ш> ,?ܥ *rZGNk(1Ŏ(//2,c7 IX@ \" \0P\nt9L\0004s#,(P0+ H\n'xX9Seel @!o\01iue2e@p>=bL@ZDJ ]3r1 X@kС\$]J#\"Ɋi%Dǀ%^B(sd\rHZu1DEBɖ2 Ѧ40LuITYtԗhU|J0xs\\'M;fw/m\rC7C„(ek\" BGՄ 5x8 J]\$,ʨ\r;HU\$<0>*\0_\nX\0~|t@39Lx_ЈRs8xn\0P\"?/@f(4\0@@0Q UD3]@I 5?m_הeh\\Mx<[OF'oc}2BL:U#Hdޚx\"\n/_31*lZ\0ҹ\0^xBZ*+HdBDLYǔ\n>\nG2&~e<0L)KYRq-HIKQW4V,UqAd*,N@江7o|ş:Ϫަ uG\0t@wHS>+\n\\8 \riK>Z&>`p3`fKv. 4u>5i3bWr4Aa0e\n&?`['aPn\024Z)ȸcӃ.ӡS!FrYvJig## \$eH6TB9oҺhꈫ8`0h@]0¨UC( GHו\n/uleZTT{M[SՅ ĝA[0n1*fF>0]\0!6Bmˆ\\(qoY-Sv{n/TДήUMxj5ne؁\0R\n)>*p&Je[Q@ Wkc[Z%FʰՎ5*Prm&}:9fj.RD p'U8j\r-}0,XrXZZ<&Uu%LN@̪0up\"pzZW8^ ~?+_yTs&IjXR6 %DD_tYfYxu Ceu:mHA%U:% RzV^ABd km1_bmtzOVvqW2dLvc2Og C\$]6s(aӭx@&Z5?A\0Y\n9E٤#P[Ձar!O6ƶl4OkVV!TF:Y\\Yٞv.[6r\nA/䈃P^\0tM8\ri+Ef #[VA=`!jFŜ\nia7A,yL ֨tz1+ifZ0SGH6\r5;ZgAmϔ1+Onތ\0,H趠AJՏ&]\"P^a efmY\$v1m5\r\nNECZ].7=``K .Rm!mDJ(gԺ'uE(W )/g%ɭm jh\0)ߴ%8ÙW=Ш]4zsI였ކɤGGp\0\0\"fDK~PDNk=L-+\0Q: :X)k4b9 _nW]W\\BRoXVp(QRV#Hb\0007NSMB\0f|rZy֜Z!k[w~^pwa[\\-j%l-; ThFgO8nh*4eۉV\0Ȓ((T%`)Z(;SY!ԐR23L+Iq[ CO:0\rqX\$Q4.\r~]C4 @# 6:ZjfР0a>&+,#v:V\0bvcEE]Uڏc_njU'ZLa*\$\$~*|kؖN9xT8CyV`!=R/\nEB SirUWA=DZ5bLJ!c 6heO %&B%a[KL\"'ҐG;žp tE\ngT.e0@L\0\n {=V2P?ϓTƜ`H`CPG52ؚrW67O Զ KF[Õ\$ h!꺡vQ/fP ['X\0+̚b .eЎ );r,,:!+Gt~v!gPXiJ6d#,@05[L@Ip\0\n;(ɦ81Dߤ;\$]>=P^sSrXiݒG6k\n@R1du)l^+A&S2_\\m6j\r\r<=`nUQ,jz%4kϠ)ZB^hMrq<|Xn ^^raؙ(l,x}xy*'Hhy}Ҩ_ahC?̈́\"(:XS0`W>тpP&fO @nd]>4>Væ+\\2v'(9+TaQ|Ff 3s aTTZj\r4HiR4\$\$Wbl)S0.bHPEؑP'8,@W:0Zҡ,gF``Z\rl/T0p\r~ 8x޸H| tuP-xJZky=ZP,|y@CD&ncZ>x. F!I^>RbJStK\0'nS!XdbF@TZ '\nS\n\\\n vlD6C=ec/{?#l 286?l4qxbi@@Q^֎FqD{ؤԶ-~`\r\$}uT cgP~RW:q;mqbl[Hv@=kx6&WZ*G_i!\0cp8;'m }V5@g\0h{پvodY im#u;l fۤ7U܇ٞӽۓU{>n}GjAe\"\\KNPiU0|?2NQQ.RJu\rg֩\$#kS-e๔O\0VШ{M57=Hr#\0_)@#PM^R`+o arp v5B IMx=OA^7` G2:;zS 6 AZ+\$4V!\"B&k,0%2\"O7\rm[1>>1;\\p{Vŏ#'wBg)9\\x}7*[HΉs4,TĚew+ͧ_H@:7ȧͱtbnvgG9t`8=p̈́p'N48XqLȸ:w d\"FP@\\^+w3Pxֈq;Kn%m洨-");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo +lzw_decompress("v0F==FS _6MƳr:ECIo:CXc\r؄J(:=Ea28x?'iSANNxsNBVl0S Ul(D|҄P>E㩶yH ch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0\0Dbc!Q7Шd8~N)Eг`Ns`S)O /<x9o3n2!r:;+9CȨ\n<`b\\?`4\r#`8\$c1cc{n7ANRLi\r1!( j´+62X8+.\r!xh' 6S\0RO\n1(W07q:NE:68n+մ5_(s\r /m6P@EQ9\nV-\".:J8weq|؇X]Y XezW 7Z1hQfuj4Z{p\\AUJ<k@ɍ@}&L7 UwuYh2@u P7Ah3 ÛXEͅZ]l@Mplv) HWy>Y-Y/hC[*F#~!`\r#0PC˝f \\^%B<\\fޱ&/OL\\jFjZ1\\:ƴ>NXaFAfh{\"s\n64?8^p\"띰ȸ\\e(PNq[gr&}PhW*r_sPh\nom#.\0@pdW \$ҺQ۽Tl0 HdH)ۏ )PHgUBe\rt:\0)\"t,[(DO\nR8!Ƭ֚lAV4hSq<@}gK]]=90'wA<a~WD|A2XU2yŊ=p)\0P sn3rf\0FvG I@%+_I` \r.NKI[ʖSJaUfSzM %\"Q|9Bcaq\08#Zle5#U@iUG‚n%Ұs;gxLpP?BQ\\b 龒Q=7:ݡQ\r:t:y( \nd)\nX;CaA\rPGH!@9\n\nAl~HV\nsիƯbBr3\rP% ф\r}b/Α\$5PC\"wB_UgAt夅^QUjBvh졄4) +)lj-&`9qPy6\r.y&ảE80kAVT7px)ޡ~M΁!EtP\\ϗm~cB\\\nmv{9`G[~xsL\\IXwy\nuSc1?A*{ ͿvDT!%XK'[ӛ(,3[ȳ>] N!;rT`\nL\n)(Aa\"  &P@O\n師0 \0 0^RJ\0@@\n`<&ʳϦ.OQH*ʑnЌC.Jx.dn\n/O p p\n0p- ι\nfbin=lкPO\0NFOp< ` \rpI1 @+QY]M\\\ng\0\$Ou8W(lKjN&j!H`_bh\r1 n!Ɏncq5qc \\\r`V_k\"]1x@ʾ`AŦV`\r%\rk@Nj͚@ kFJP>Vԍp\\%2bf m @G(?MM\\hb/jD}(V KˠKL ¾!IW r \r\$̤ʀQRp%tdJHNxK:\n %fn(DM [%T\rr.LL&W/>h6 @E LPvC6O:Yh^ mn6nj>7`z `N\\j\rg\ri4 \$\"@[`hM4q5\$ \0ֵys@ `D\$\0QPH1&\"~0 ` \n bG) Y<\0[N]JnƿsLGPjM^V\$]PusE@xyLHƙMd5Z52f k!?`J`ISN4'ƚ**`>`|0TDJFxb \rTLTؓW5ܷ=z`ZJ gǺ Cgci\"mcAr*Tl'mqz llmLlvm\r8Ɦ kRYSAC4⠓p)Jk-N\n99hvYBm;u@ O;EzIN!RJ\0ÝpKhfm˚w-\0B+9_:xZ ;>yڗ7}}|WٯE u`J7|X劸\" WtJ‹,8\r;؃,+mY \r}}zǿ_8bi5=p+UL : {@*<#-\r5y @Z|l 'ر7ON ?U%u6}\$}x!U]@MYhό9̙xϹ9 Y (ň™ǍSH1\\;55#˜?@C̍)D@y[;z˝oq8LL|; ,y D҇-qJ:GMּ XL\\;U׌{+żeyb9j5okMk[f(\0dĚ\rMኜ|r K#J\0M7'=_1=5>+^5Zk^SX強2`hED)[|)˾a^\n+>qu*(pM>mg= qEI7>~+mS%6\"IT5\"4 \r^\rkKe{j{(rOT=.| H\"ef~~\\ XRETdԊ w#q\"C0Td~S^\n7`@If7=ApRdn*myR ,dBg'\rH~b1yTR|m4y ޖG5Uʞ&=DynƜ%/zug/\ndU?\r@,,ؠ߂ɸPI(9ؘ7\0|c䞆ɂ60>Wž!/S LǢ!ORb]؜WB驄y2^n[r[7U\nQKaR }\nnSQHM>7:\0P]FUS\n:8W5 K>JA\r\n O2aa >Ry{AZv=_Щ4!Zq20) ާ9TOw0V{\"NH!b&V!D:z8s+ !c`u0\"o`8n4]AR45ꄲT\n\\\0 \rTآ\0kfٱеĹ_o(&!F*bdwȡLe.!\$fz>1lU.u@tV;GB]Jw!L^atJ/,^8m]伡\"r&(*zݰN(X Հ)E*nؗT지\\Gx7p @\0(0TO@tmC`-HD:4ѨcV'@\niS`3t BP@7hPˍ\\ssT\nюmc@!<Yu#* ODt*\"<ލ\\|O2gG>p1-qcX\nQ,Ah!,\n Udl@N, - c 'NC o`d\"Ǩ ȑTi(aH-O(\"{F71Dm YǺ?1򑼐q HG9V\0?p UO':52%\nkBFF?jF 2\"X)6L7@@@ )n%9ɢ5dd)I3n@J,\\ɂPcc='Or\0Z.SQ#q%\$0J=<|SA<:pwԞa0ԡ#02\n,'H21oQsR bř]ͲgW-wޠ\"bE@-Af/b#%-{,ނ++zY#e+oq{re{/ Kr^e/}_q L03 LaҾwT A&R\n,)s\0I^2q\0\\I@ K(#peC*!>/%|ʅ̓ގ\$.mX@R0cЀ!IHU_\05)D)\r˜#5?rfgrIܹv3]ۘ%&n`\$LeͶ]}ٽg\0vps\r[Ma Wˡ'{H*fU@9! '-@_.I3u;;)\0vBDKvHeM\0gJ\"M5d9n0\$'\04Iҙ)铅6-\0(*Yn!\$'6}J9@Q&<D9LfS,),Rd +B!F*.BijNR rI`f@\ne+9J:b}==N{SX[u(UD]Osڛ\rN_SEQ֨5)jS4Ve\rDMWVfvUP&D5cXmGnX)MVE+%, T>kJ\n+0\0006**E>\$qh@O\ndPYZbVN\0؄dB\05E;FuHI%\0h?= 2! (!^*&\\n+QIj&AB`SMɁ\ro@6WBB{@_ )Һ%MfW 䶘_ΰv@{`P:%[%{C\na8;AƈTn\0#NahéJ6 jFZ57VuC`\0S0uM%;D0\raayX\rkoKMdbIulUep\r^ջd*fH_<- (h,RX{%\rf!DoSJF4fHuli.ٌ {`qƳqxZ4ٺЖw*աh[%luq] 2E={F6x\n*I*uIv+5uMtG^ ˨nkF\0􋁮\r֧[gіI#CK]8# J\rܰ4,('CV)kT[>жbjA-\raMkr;5ȶ5]ӏ=@k);o[ԕm\\#jP5+NR+\"\rdK2!Ʋqܧihk YB[[9VCɽ@xl/4-Į.̺f*E\0\0.wC#,NT 8j%8SvAf^ \nFZRh\0P7;k@<HF5`\$\$7JJAj \nۼ\$!޻L~/2pJ2mVfEu+ޔ\rJ.%hQBe씵jYtͨ[;PY\$Z=e/i8;т\nMzRGߜ\r(C+p-6};(ȷY*˂&m;+ DӾukJC|.~ZVػW`Fp1}Zb&%1H|,DeH\0ۇŽ6%a+C5D)\0 pj}Цaڗ6 E'|1GRڤhBHd'cL# .`HL6H(ՆW/\"NJN\rD⢦~M.B,^FPA0msW\\Diҟd)ũz^ekpHp @auq#/qZ\\W:U%Er,- x#/I#\nG19\\e6ԋ9W@rXϯaG\"P;<\$,N3\n=*@\"G!\\К,mp|q\"L6\\B[RC1M{Ym])l\rm1U2.3`#yGrl(8,*R#7=rK[!mدJCIabTLClK??\rFRt!a٧FG!Cv2\"qW^7FR\0f*A\nH㤾)9= \\+`=\"}>H\\p;НN)>B'\0#%Y+')^{%@TʆJzҢ]d#q X&࣋{4)?@s\"O A93L\np&py0 @p%' x) s%y,\0wP+R94~lƆˀ39; {d;l Ш&FTI|aÈ؉&N'?6O4!'3W)\0v2 4@]RL.V֏4\0JҾ%Py}3?mBDuVH,O5vO]6A/njGe`m6u?<}Q[Tf/~osG,7 -ȴ YWֶ9la!EHu\\9\\Xz1V \"@dsÆ'`[1n @fi1AvwXR%ht!kpd.\\niچ€N4LB?\rv'kc\n \\M͐״f6Ƹ\$KC,PXpatO0d;\\į\n[0p@ZPlGa ڮ&L9O=>\\ =ip0vۋ99BUi3@\"Cc2G(!賶aB L5U+w6\0Nv `bݽz\\YAwCc>73d9n7Mu~ߺwf,[x\r-7~\0 o &LGǀh wX n;9ܸ+ '&Mj6p2h>wgÉ\r52f!ǭZK>r8]uBS8f1m_MOVӥ8m%KkE>aq\"Vz+q~MIBk#.ą/u#\0#@[rnr.ۜ!a8`%nʹ#\\Ih-W(93 n#sBp^{V}{]jnKWta1=ol>_`8mLPnEh=oG7^Ӥ>y6OmjsfsӾx^n[~1WܵHR ^d\\q}z]={v\rZH`q7Pr8mOwܶ@=Ä?2]UjSO鬃fk/jW cu}`PcSpz{1!,@z9@t۱؏Zu^&:ɮϕr.6GWp{cNGz+NP ).wX}w\nCq^ݣkǰokwݮۺ=N`@wo\"P3ݿ︢;߮w\0}Bu7u\rnzǍ6Nx?ÞIs(K0|mS/&_| ?s>Y,?7&wj|U\r+,3x7*DzcxQV^|#si%\0H b~|yОBSp|}s.qM]Ig\rՐO5ikT}:_?+~o?wbdn` x/{3.ȷs7\0VxuAoZMgi-~0/ BăY >HS_\n~1r{ܡGV5O`:>|+7cI&7>s|`P?p2o\0?'@z?~* [}g\$P)\"J[Tn\$: \$? o\"ޏ~</p#COO)O~_?iWP?+\0C>jo;,\rP_0o>rNd\0jx\nO?\0000uJ\0K`'x4'/?/\0KoʾsϬ\$!3믂s #? \0\"׳< \093#)@v?\nx?Hch\0jD0)jO׾<`#0%(03\0 ,@,K\n@T\0):뤲C\0@5@*=DIA  [@+\$L=@\0\"E@ AO\$I5#D;\0'oP^V/\0@bB(@N(\0\rfJ ;@OA{8(\0Z4Pn\" pp\rAV@\\\0@0t\"py??\$?(Atϱ{)D?ZC\"A\nt@cEwA` \$\"Ѭ#JEPk\0<#CBL@tY LB 3# Xi\n\"?E`,?|A@3ѫ8O#D?)\0\0&&¸o#B \0|)%A Oя*l=p >@T/@/V\0>#t \0)b1/ЍA z6sC0?(Od\$D=ы:@\r 0Ŀtы珟IPۀ 9,値Ov?\nPC\n[4\no@i#ÙX*, 7l:A \$;p\0VrEpv:lë\"|2d' У>=VB30t,øXC*ЩCd1Ph\nG ?{psD\n,p7 8 /#DC\0*D\$DC?QTEPGD>FD!  \0H~?O\0)Cv?E\$BdFc?> ,;\nc,q)E#EOm>\n\$B5@r5?ѤKi??\0wLIpa;A,,\0h \0%w4j?sH|JBx0>*\nc0opO4P\n2EW8HñB4p\n3;IP>?[:K#qr=q1o R= ^1y\nd^hE( #1wP `*C*фDb\nl?;Pt]@L\0\$mdcQ?#\0Bьd(DdhAx8\0N\$PD!C\0k .#﨣M50cзA\nEe ̐{EC:9-U \r\$H-TN)(t\ry F,fP[s:\0 vFJ8,4@Lw(#wv`/CA S Q Cپ3LnlH0A?da1rA \nD\"E#k`!!O4fa\r? E##GS))F\$o\"č\nl.p?\\vQ\0P\$\0bK\n@/t?txHA!xCO!+Q#>8A8Au\nD15\r\\RRg!KH :,##4jQ)0E3x pH,x\n\r`0Bΰ /lvA%>6?T}QF\"4QDZX܅0j NR\rk?t,.N C4N\0lO\$m>\$\$@7H`c9( \\ 2\\׼A!@@[F^xcj3ARZ'`\r \\\ryd2\n<+0#<7Q-<,>-K@I3Af:]4`/pҮ2I<;P,3D{\rx\r.Y Oo,g<\$!;(@,6KS= [.%f+k \r͘[͠0S筧5 @\"H%f)*|s4vOtTW5 mLI}:`cn+2 iͩ  BP `Ȃ\rl=M\rDҩ\$c\0K'5|9\$Ӭ~863YxS\"l dz-s4NP7|,N2\02ˢZ A\0hʲφ=D,|5=,(<⌴C>Ops}ӨOv4NOY=0S*β%P%S_OH%TOC-`>N;aϺDrL:\nˆP8̛\0Ta9`ag۞Ηl a8y/JŸa5Gv2C\09Y\0 >\$HL#͏@ܳҕY\\r?OSPD 4{88 ,M( 93<%4@~S::\"3ToA+Pv\0an 2X <\n3P-S|2K6ҲsM Pc1' U )^X40L1}\n/\$Gp!917k`hO:2Y8!CL@:s:3PbI7D.a+2\\8ӻ:#C6Rٍ|πQ\\_Xs籘|Lf<Hm!_]p;PjDP\nKntI\0\r -pJc7P32-. 3'URq+޴Pޖ\r,O,҉ӴO.(|cRj[sF`rN,.7~:l.R.86|\n--)rDQK,I.RKt1\0K4/`,Iы-,Q.ȋ-4SKmKL%04KyK3ԽS: ]2tSLԭ@2S9ME+R+/tK64Sg/S9.cSv^0KOy}J%3 43R/i|#i Cܢ\\݊JKx  #vh݇}LN+n,8B;\$HS4Hbb7`;N>%=;m7H)H3YF?bTHuA2F:e>4L;lRʘ tT Pq0#GDsր5ybG\"iPEݷtKA֣55yBFXIQe=#4Y5\"C΀3\"C9+-GsO`HԊhQEV]DT2p6_iP\r+p\$57C7`0>7 N=Q!Q@8 TaJRBsAT1P%=@ԝT}Qu7` @3P+U4FU QB\r+E\rGR \"\0HT5&SQ#UuO 64|ï(Q;'Th\rI=wCMEՄv:UdF#Lh*7ASM>uqD.;uF(}D!+!.aO\nN `(5\0TxjX3(!Շ\0.U`XUJ*\0:Xn7KXM?@7@V huVXQ•OaNEM3\nГ.c\r#!O_\n\\;ΉX̠i1?=E\0\rc }9cy\0U\rȃͤK)O^MYT\0C2a:YXV\$LbB8e@OSPCORYT\ro)\\o+U)V 3t7)Y?˱YrM1T\r%\r [iV%XM%Xt?WF#bT M]uvo9wV\rBuU]cT^\ru 5XZLNK6`(PCA3\\97D#AK==@uS;MO.~ީfJyG]A358nV9y\0.Z%n\r]>\$!LGZ>S`V 8 [X8`5CWx5\rXb6_[9 O]\",`(\r>e\0X@`5`X>\r̓ؒ@bHuX 3x.ԍ;N%v!P``7]@ 5]J7bEWW8FJ68SX5v:XlsbT,tWjpa\0WXQ߄-P WCj\$@P2%UW!dlӒXX5ݬ\r!6YX=\\7!;XHXeזo_/a w^]xN^P+VaeUJY[A;\$-8\nY JX}!N7QˉrW!_lmNP |V\r\0֜K5TЈ\rݞ-5MrYZI\rלMT_c!c\" P3}~'q\"UTkN4}P3;Yh3]eEN,Xʂ6YP}u\rcO+3x~6O\r+Q;`IltvT%UwSH7hReڶt=p `h@:x/YEq8U)p;{͠UeOZ5Ms5wN\0b!Lw {erJ0_W]w>\\DhU\rT/h%lU}WlV2&LP9zAf\\5F\\M٣U8*OUj5xd6KYN5M:Mr`%(}󛶑sobu߭oNy[^_~!oW%_P)?RQ2qY8]wDVߥ~s (d7QuR6BR\\|-\\xOKZ{b ֔[+-W/ʁVFQM{ŧFpwBkgOeU9!\r ([p(뇪=TzPj Ȕ˹Ԋ^hk?JJHqU\r7XNt!d36软\n3r\nw@4B\r>`cJ3\"hf\r3R#vQ<4!0`\r8Es@9'^A\"M;a =9@( YȡńRʀ^\nQ\02SfaTLV Z5]Vمڰ}W26W6:2чN,a&}6 Emn:0-{:aja暩Nf7FX<,8 @۵sǭ^N!4b0j\\mA|0A aAZyX޴g0fPacBq\0d1ÏB0\$'YA)l8>Fy\r; ѹLq%4}dQqsLtxK<QGM\$s=ْJK87&?\0PA\$ 䉐FJ^B!YťNH d(?,Y D\"I8YʃNA;dD<&'=Y? pǓ,G\"0B~H/|ϗCK?u ?SK/S^4(27*SFaf2\0Q^QdHFǗfʖT\$nR+/5]FT`ʽ2NmSP%Q3S>\rIB䓓E9I\"NZ \\KQX>d3<Ӝ#%:,3%8\$!'\086YOs'3t!4CN%abP\$[03d-7LslM==s:՝ВP\0f+Xr9 gP@̷\\xC6\\Vy^iI\"TU_4NM`wSf6fwSO3\r#Lb(8fY:!ΝiV\0\"9R\nbߡ N0XhS7`7&)90 ܫiX3NVeF%9Ś{\$p(,sA)I-Y_EBh.IVJ5 ,DbT8˹+M7xgJ#|v7]<:\0mxz;^p՘/s-ECAc3)M)F,'GR8_~O:Mkh_f3˷cY=fHQ%S<>m/Q+PBДCY+R4-i}>Li`3C9tH]e:fQQff\0\";REח7gE7Vm5MEZQz-]iק!p d'}H*4Л \\uY|U yM3+KV3^/X9z-RIpN&R\rHT\09+U@4WڬXEq^ݘinLXسY֫1~jgjƧսΨZzzꇞ j9P^p\r5gݞeRM _w6jV:jjj3RE堆¢ jQ;3Sj`B.yiO˗4ۿJC{4l\nZ-iE[6Uv(lT 8Jlǎ-ԁ@ЕR_fͻ=l&XIIǴB-OF%҅-\0SN-S].8\$]uT.z̑%Rmg}u1}~g\\B[3r\r\r˗-nR3ƒ=;L͡7]f#w׎n fX\":-}Sg+\nM [@Twډ\rb{ڸ:5{|5;Vʾ!=MǤ!&<~!=LhMu{Db.W73\r:Om{e֕x O7ݭ1qoS-VGaP}>PC!P)b#sn۴Ek}\r\nl0!Mg+\r=`/R5#aTyU;ԞnךۄaT:KoZttmt{mT=Hӭ]GWf>9Ȼ{apa{I7{S\n\0ute;|{-ڳ])\0\npMZU¹Q,ZԻVpT /@K]ZaYH_C͐_] 3^s{[<\$7?X4f.RMU+vce]@xm83%\\M;~Wzaj%wt,WT2s_\0ba!@ڛ׷uG6ſw/bC>q\\5b~؏{,c\rIPڡA%q֌O&h6/U֕ӲAӿѺUُ\rܡ'\\zUݗRU}r]ɥ]@5mrq-~ӜqŻ,.r|e@1\0XKˠ\"\0[s]Ŀ/Tۼ\r=SRE\\aCD\\]#Ns1])hϼɟ1D^,bmA\rNdn6Ƥw[G\0jߙHG{8-{P[\\eL+H_,#O'l鏼44c>?-\0004\04`nJ@THH\"̊{I{F]Jpi;RI\$I%<0hIe|RWn[q=&BE#e%7VɓLsG‘F?|E]{ a9ʚ\"3pu-S7!36\$>є H*slvgޕ2,f4.k;SNԅ>\$&ZBwfw{L<|ophKwHlMhRMϠw=&YΓl@#ء8ViuE5M䄜\n6썂4]_igXB#~\\th^G4N֎gs5RײհՅjogRHF%Sܕ6S/\\̵)G9@ng!{Bn.SZTl@3uoCŦ]t(7rGrNM\n1g\";xYk\0Dlu6 &_~Σ>]V6jeȊ^26 lh+u~Lwטuޮ9З6UE7̶Փϓ+s-̞?G)'qATA/ B\rχQɂa5ϡLUIM f7=Ӹ.ۅ_֋.҇FzoR&_rH`_ÿdNJ~\0n *5>n\0g~\0pDU d\0l\0h~zzz~z@^\0OXmw@lZz뗩^z]O_>kǰ>/^z\\>>z]@@zO>z\\^7~z`p~\0g쎍\0az韶~\0ogz쯮\0&\0w/~zϱze뿶>o޸`N%>{돪zw^ϲްz7\0\$2 zKg>^׹޸'^z߹q׷>q\0|O{ޮX>~J~\0k @I|WP|7>z|=kϦ@zmǧ+޼z?w駼yʀ{=뷫'~{\r_&|=צ^{?@z?2{z{|\r꿷~zu׫`\0ig{闬q8\0i퇱}5?.{^/\0}~&־}kž€gWξ!Ο'_}|OƿOz:4{317}Szw930?!񇿟z{W}e7g~7ş%>|em&mǺ4z8̟[|'~ Ӟ^}X|W{gПנW@\$>Sߏ| ?~\nſM|?^ǣS?Ez޿{1_i}7ɟOK+dzi~>[\0AK? ??D| 2|ͩ~Ϭ?E|Y\$~?}'G_>{1?&I׾Gꯩi| ag'z?_?{yzw\r~t>[p=|eWl_;=x~UO瞼?L\$\0_o=}`پn;뇼_?ڧ{x' >u#Oe?b}w_5=~C7oX̽{\0x=k ]k_?R{zU~xuoa?(~g:>}׬g_h|\ro͠)sڟ )'\n`>~kg>6|\0#w/l?}vW/^={g,Nv _;oM@s{ ǿ|IS@I_c\\| \r/_~~Jڇx`F|+\r?z 2J@޲\"}x`2=p{ﯿ_\0@u{TڧH`B?)dO_=5~ =\r=eP7_>t{4jR\0LKZ\"OHx\"(EL\0\$j':&KEBbh1t\0dn}|*wil~Iz\n`QFI m\n0T\0\n;Еa2@>Px!C%P~Qa fÂB }!l9)?IVR'RǥsRr l.c!u#C%c4gZpBKFp+'o?\"{D/ C>- &`=\$8=1'fZ\0Cb<6ZpŏfƂA5W \n\$)trb@jǑ@9D33FaOf1 \0tDdXLҡL3yLYW0TA\0?6\rN.\nhPAw>\rQ T\$p0O˞d\0II*b#c(Y!#F8l?\"8Sa' C.X]aW<rZT`aQ{ i,*0%\n3E \\*Z¾qu \"Fh(T&(@(FBD \0P'\$HlaV2!C p ,;6/zjx~l҃#tJ)^zXÎoH-7Х:[`RM(6=LPLfI\r ݡcbQfZ-ѲCFx06c\0;@#%: s\$Eh@!\"A1jPш +#Ҍ +4b(J\nz!21 *a\0&\"dJA*N\0,G\$FS b:eF|M3 t\$ȇ̕>¼l%;FQ0H8\"c\\i!]9ex(zόI\"OT(\"j~(y\$Dtv%r9;&!\\J\"d'8jc\"Rj4 OEpD~SA LI&;(2[HIN&ğ\$|F\nLe Ib v%\"4Dn\"4C^(DZ0ChL{TK&Q11!䖑3ٌ-~7BaC~F4H.!?jG>'bHF1<~ ڈ|>'T==^'|%x:A :XV!Ed\$eqCb(Ȣ#C,ȠDhB.\$&D,ARIPD;{+`UulDb'C) 4EC1vV\"7(I0#q`S\"@DF#lE~\0(eI*{8QDD|-|V\$abN^ʐJ<葀aPDe>\$IHJ?2|4U1)P`@E>%\\Jb1??ȕcYNDAQբ^E\n(jh)ODŋ #_paŦƽ/Tp\"yC .RfW7\"\0)Wr!#Cq<`0b¯c\rG6 ڈ0\rJq%:>F#݋/mH8q!aQ \$HOD\$Xb4BD~%c&8ϾE[ewj1 ڋ5YKiH0_E\r؁-#\"Fqb+E1 (Iw7 Yv4b#B)!\0 idHD;\0/ALHgCֈ}!8jbuE \$@l+D]qƶ\$[\0+FE\0jGTr\0M>}3hSG ~H!\0CN\"e3c36\"\rXM%D#| B>04慄sHgʦ;K!0,p y.BlH PxZ1bD`@,3茨cD;h(G\0䠆wPEv?AQv6vh vrv+GxGN9xqCn|dl5(ǗL[\n*\0(WG>HTV@&o#%81G\"c8 uvg+z m#^~> \$PDGk\0qwv̇G\0(j>l\n>|39u#7@\"s\0Q\$\" <~\$]D-M8` QA?jO`Pu =QGA\"@J&  \\pbH\$ '|~\$kzDR!H]T\0 j2kP\0/G:i6R8BщA ̍[bǀDY!7xlѢU \"p/ xQ;滊D1ȜF@A2>8i@9Ŋ'#E X F5,;DREEUKQ8N2Xhd\0y<n2DH%@vA*\nDiRZ(]>\\JJ2 Er) \$:YxQ?U=7CoH[@=I5Xƒ&4;E%iܟrv&T\$ vF&<2cFDlԁI5HD>D S\$&ݑDnXwdhu#5OScYO9\$I*S) ' ʊ{*2S %9JBST RJ9\$\0TbRReLJp5*zSQeU@*S'XJ{d\"UlUOl^JJBUp便^V\$eҦecÔ+TLIRSJ\0+St Q%PJڔ+U\$IV2Tޔ+UdiYsJ+U Rr[4VdreqJ\0nVXR+X  ]2k=_,2Wԫ9^%=w,BTliYR%jʉ,\0UTi^%ʜ+&Y Ydj%\nS,>X7㥗I)Y dԥc+Ygޗ+ZZ,i_2e:1)Z,9ir J)c` KN*&)kr%KWsQZykʥ/,[h\\*IaeJ-z[Twإ=:[L9moKý,-\\ e-[#pﮥ˄YnO%1- ŲѥK+]\\ qNj%˞.] 0c.]4\\eːt|l xRޥ?U*XDvҵ˹}.\\Dq_\nڗ/^]ܹ9y ˢ\n.^`\\ s\ne8@ZԿsf W0`Y\rfL2Jua@`_D>z[1a{֒SD=-:_ cS8hbo7pf1\0sz0b~ez.R`7fLt1`)3 Ut1cT9of7= 0`\\f 0dl e>CdِS޹̗0ys`L%2d̬5/ɓLG1iɔ.&T{11 g1i Lw32e3ԙ0MdI*Lԙ1 I8&hW|=1+Ή}&A3l\rI\r !3_I&}LPt @%M0^h4G3:%L8:fӒlSC&q4=ΉSCM52\"h93;fMrhy_&M;1*i3әSL^יڜJgCY3<懽s4U3f>1j, M<:j<ҩPG3d4G:M\\ɢ/fLz1, |NvL  Z}.k֧/[=ݚ5^gɉtL5|/Rfezr.l,)`&̭hgDb&Z͗2lsffM4Ή3j&͛Q5fG:&lͲ3vm93l=JTXR@lPiǽsp:M1a4V(oNLq_\$iB&\$Mۛ46iݹ2&K䛡.:ntљFؗ7\n\\޹Ifz7 fːpNP#P\\%\$\\̀S\02fHY q5(R#41\$H€\\d w>}% t%|f'@ҞFʏqUMqqƚc4Nǐ!K\06TNRc.Ik_Q]b2\$?9N580 gu\">āD)jsHacµ \"#B>GqWY(#fg-S=b;F6@rdy'S':)&it%9pQH>7N8eFTĽJqqE'&%A8qs'ha(9Ƴ'YD#G&4֑\$Ƞ@:(<(htEd\nGyF)9) O \n\"E\$suVH&2{;f/(cFh'\\Nx6\$/8i AIr ^tS'E] s_vS}:܌r{>Vh9#*)ӄ\".GkS~ޝ18nx0 3!D\"{ju?GbNC8yxsǧV^g-/IsǧɑBM:q\\wgEw9\ny/9(>eöe~zrb9D (|^VPnbEBxw\$ShNu -e,@\$1Ν{@lXzhN!SvET8\$d!yvKwh\nYxC=\nI\$aCj\$U3O@Q׌P1dHRfܙ7g6ҦsVd)As}29%?sL''\n@z~%'8RZt­kp--A\$S^~uT!+q\n̗\"%LTb\0g)p?Y4LOQw?gley鿂HWS9ִkpQ?C2a,d6̀bq\0OY\"^8\nJ\nH.([]D.jY.Rl5U\\YwRQF\0d4\0dh\\ho\r *CP9 a?袅I T`;`@JX P@n@.ƔUM럘0pjP[k>m;L֡J\nf{EV1]83\rPs5]8\"%mh=(WNјTQӱ}K֖q!D2lMn6œ4״Dz-NKŜ*_YB=O\"ӵa VhA g\$jZ\0+ nL`K\n W/P\\`VJ-еMnhZ|`=<9abTrW<*p۴!PR,Z66G ܧ05F8=WCN6EtM <2p9eM\$ݑCUܵ AEEm;D5[\ntX!Ces@„=.QW!7@_# (s:]EAJPQ*\0j5IU\0ob)Y\nnL3D҉\n(@4T妢 M5(MB%}{MӵtTAQ4 +\"MIQ\\oAJ\0^JphHwPU qDd:a&ӀO|(\"0\nWH+nD' hތC:1;Zt2j\0006mFmVRl㉀\0Fmc0(7m 5jv ğF4[2]vюQfӮN&'HQȡlU<0z9*wA/u!G9_5\n/[w\$\n6TrAQ\n˭sϬ\nz2*UKZ\r,Z}C %Z{G \ndC*Ѡ- 64Yi;HU.@RG=M\04o'H--Ps@s¨n5T(jPȤ4\r#S*(P=}G\0 ,Z\0TZxO٤ )*rQ5IT\n,T6 CfP}%bIt^@FyF&}TjR\\,B60k\$ƓAKN:9x;:t CLί]!RJ.R9I`E' (\0Sr%\0L\0*H\rրGQ1\n+JBRk̸85%ƘmrH4Ai_/ĥJX-+3t)c\0•@ \0_ICwN!lʔPE'R춟Z(*ި\0\rQ]bHM M3+%M\0@+T!RDsا0");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0!M*)o) qe#L\0;";break;case"cross.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0##\naFo~y._wa1J GL6]\0\0;";break;case"up.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0 MQN\n}a8yaŶ\0\0;";break;case"down.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0 M*)[W\\L&ٜƶ\0\0;";break;case"arrow.gif":echo"GIF89a\0\n\0\0\0!\0\0\0,\0\0\0\0\0\n\0\0iӲ޻\0\0;";break;}}exit;}function +connection(){global$h;return$h;}function +adminer(){global$b;return$b;}function +idf_unescape($t){$Ld=substr($t,-1);return +str_replace($Ld.$Ld,$Ld,substr($t,1,-1));}function +escape_string($X){return +substr(q($X),1,-1);}function +remove_slashes($Af,$Hc=false){if(get_magic_quotes_gpc()){while(list($x,$X)=each($Af)){foreach($X +as$Bd=>$W){unset($Af[$x][$Bd]);if(is_array($W)){$Af[$x][stripslashes($Bd)]=$W;$Af[]=&$Af[$x][stripslashes($Bd)];}else$Af[$x][stripslashes($Bd)]=($Hc?$W:stripslashes($W));}}}}function +bracket_escape($t,$Ma=false){static$kh=array(':'=>':1',']'=>':2','['=>':3');return +strtr($t,($Ma?array_flip($kh):$kh));}function +h($P){return +htmlspecialchars(str_replace("\0","",$P),ENT_QUOTES);}function +nbsp($P){return(trim($P)!=""?h($P):" ");}function +nl_br($P){return +str_replace("\n","
    ",$P);}function +checkbox($C,$Y,$ab,$Id="",$Ie="",$eb=""){$J="";return($Id!=""||$eb?"$J".h($Id)."":$J);}function +optionlist($Ne,$lg=null,$Fh=false){$J="";foreach($Ne +as$Bd=>$W){$Oe=array($Bd=>$W);if(is_array($W)){$J.='';$Oe=$W;}foreach($Oe +as$x=>$X)$J.=''.h($X);if(is_array($W))$J.='';}return$J;}function +html_select($C,$Ne,$Y="",$He=true){if($He)return"";$J="";foreach($Ne +as$x=>$X)$J.="";return$J;}function +select_input($Ia,$Ne,$Y="",$nf=""){return($Ne?"
    \n";}function +selectOrderPrint($Pe,$f,$v){print_fieldset("sort",lang(40),$Pe);$r=0;foreach((array)$_GET["order"]as$x=>$X){if($X!=""){echo"
    ".select_input(" name='order[$r]' onchange='selectFieldChange(this.form);'",$f,$X),checkbox("desc[$r]",1,isset($_GET["desc"][$x]),lang(41))."
    \n";$r++;}}echo"
    ".select_input(" name='order[$r]' onchange='selectAddRow(this);'",$f),checkbox("desc[$r]",1,false,lang(41))."
    \n","\n";}function +selectLimitPrint($z){echo"
    ".lang(42)."
    ";echo"","
    \n";}function +selectLengthPrint($Yg){if($Yg!==null){echo"
    ".lang(43)."
    ","","
    \n";}}function +selectActionPrint($v){echo"
    ".lang(44)."
    ",""," ","\n","
    \n";}function +selectCommandPrint(){return!information_schema(DB);}function +selectImportPrint(){return!information_schema(DB);}function +selectEmailPrint($gc,$f){}function +selectColumnsProcess($f,$v){global$Tc,$Yc;$M=array();$Wc=array();foreach((array)$_GET["columns"]as$x=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$Tc)||in_array($X["fun"],$Yc)))){$M[$x]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$Yc))$Wc[]=$M[$x];}}return +array($M,$Wc);}function +selectSearchProcess($o,$v){global$w;$J=array();foreach($v +as$r=>$u){if($u["type"]=="FULLTEXT"&&$_GET["fulltext"][$r]!="")$J[]="MATCH (".implode(", ",array_map('idf_escape',$u["columns"])).") AGAINST (".q($_GET["fulltext"][$r]).(isset($_GET["boolean"][$r])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$pb=" $X[op]";if(preg_match('~IN$~',$X["op"])){$ld=process_length($X["val"]);$pb.=" ".($ld!=""?$ld:"(NULL)");}elseif($X["op"]=="SQL")$pb=" $X[val]";elseif($X["op"]=="LIKE %%")$pb=" LIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif(!preg_match('~NULL$~',$X["op"]))$pb.=" ".$this->processInput($o[$X["col"]],$X["val"]);if($X["col"]!="")$J[]=idf_escape($X["col"]).$pb;else{$kb=array();foreach($o +as$C=>$n){$yd=preg_match('~char|text|enum|set~',$n["type"]);if((is_numeric($X["val"])||!preg_match('~(^|[^o])int|float|double|decimal|bit~',$n["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||$yd)){$C=idf_escape($C);$kb[]=($w=="sql"&&$yd&&!preg_match('~^utf8~',$n["collation"])?"CONVERT($C USING utf8)":$C);}}$J[]=($kb?"(".implode("$pb OR ",$kb)."$pb)":"0");}}}return$J;}function +selectOrderProcess($o,$v){$J=array();foreach((array)$_GET["order"]as$x=>$X){if($X!="")$J[]=(preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$x])?" DESC":"");}return$J;}function +selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function +selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function +selectEmailProcess($Z,$Lc){return +false;}function +selectQueryBuild($M,$Z,$Wc,$Pe,$z,$E){return"";}function +messageQuery($H){global$w;restart_session();$dd=&get_session("queries");$s="sql-".count($dd[$_GET["db"]]);if(strlen($H)>1e6)$H=preg_replace('~[\x80-\xFF]+$~','',substr($H,0,1e6))."\n...";$dd[$_GET["db"]][]=array($H,time());return" ".@date("H:i:s")." ".lang(46).""."';}function +editFunctions($n){global$cc;$J=($n["null"]?"NULL/":"");foreach($cc +as$x=>$Tc){if(!$x||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($Tc +as$lf=>$X){if(!$lf||preg_match("~$lf~",$n["type"]))$J.="/$X";}if($x&&!preg_match('~set|blob|bytea|raw|file~',$n["type"]))$J.="/SQL";}}if($n["auto_increment"]&&!isset($_GET["select"])&&!where($_GET))$J=lang(47);return +explode("/",$J);}function +editInput($Q,$n,$Ia,$Y){if($n["type"]=="enum")return(isset($_GET["select"])?" ":"").($n["null"]?" ":"").enum_input("radio",$Ia,$n,$Y,0);return"";}function +processInput($n,$Y,$q=""){if($q=="SQL")return$Y;$C=$n["field"];$J=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$q))$J="$q()";elseif(preg_match('~^current_(date|timestamp)$~',$q))$J=$q;elseif(preg_match('~^([+-]|\\|\\|)$~',$q))$J=idf_escape($C)." $q $J";elseif(preg_match('~^[+-] interval$~',$q))$J=idf_escape($C)." $q ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$Y)?$Y:$J);elseif(preg_match('~^(addtime|subtime|concat)$~',$q))$J="$q(".idf_escape($C).", $J)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$q))$J="$q($J)";return +unconvert_field($n,$J);}function +dumpOutput(){$J=array('text'=>lang(48),'file'=>lang(49));if(function_exists('gzencode'))$J['gz']='gzip';return$J;}function +dumpFormat(){return +array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function +dumpDatabase($k){}function +dumpTable($Q,$Dg,$zd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($Dg)dump_csv(array_keys(fields($Q)));}elseif($Dg){if($zd==2){$o=array();foreach(fields($Q)as$C=>$n)$o[]=idf_escape($C)." $n[full_type]";$yb="CREATE TABLE ".table($Q)." (".implode(", ",$o).")";}else$yb=create_sql($Q,$_POST["auto_increment"]);if($yb){if($Dg=="DROP+CREATE"||$zd==1)echo"DROP ".($zd==2?"VIEW":"TABLE")." IF EXISTS ".table($Q).";\n";if($zd==1)$yb=remove_definer($yb);echo"$yb;\n\n";}}}function +dumpData($Q,$Dg,$H){global$h,$w;$be=($w=="sqlite"?0:1048576);if($Dg){if($_POST["format"]=="sql"){if($Dg=="TRUNCATE+INSERT")echo +truncate_sql($Q).";\n";$o=fields($Q);}$I=$h->query($H,1);if($I){$ud="";$Wa="";$Fd=array();$Fg="";$Ec=($Q!=''?'fetch_assoc':'fetch_row');while($K=$I->$Ec()){if(!$Fd){$Kh=array();foreach($K +as$X){$n=$I->fetch_field();$Fd[]=$n->name;$x=idf_escape($n->name);$Kh[]="$x = VALUES($x)";}$Fg=($Dg=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Kh):"").";\n";}if($_POST["format"]!="sql"){if($Dg=="table"){dump_csv($Fd);$Dg="INSERT";}dump_csv($K);}else{if(!$ud)$ud="INSERT INTO ".table($Q)." (".implode(", ",array_map('idf_escape',$Fd)).") VALUES";foreach($K +as$x=>$X){$n=$o[$x];$K[$x]=($X!==null?unconvert_field($n,preg_match('~(^|[^o])int|float|double|decimal~',$n["type"])&&$X!=''?$X:q($X)):"NULL");}$eg=($be?"\n":" ")."(".implode(",\t",$K).")";if(!$Wa)$Wa=$ud.$eg;elseif(strlen($Wa)+4+strlen($eg)+strlen($Fg)<$be)$Wa.=",$eg";else{echo$Wa.$Fg;$Wa=$ud.$eg;}}}if($Wa)echo$Wa.$Fg;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$h->error)."\n";}}function +dumpFilename($id){return +friendly_url($id!=""?$id:(SERVER!=""?SERVER:"localhost"));}function +dumpHeaders($id,$qe=false){$Ze=$_POST["output"];$zc=(preg_match('~sql~',$_POST["format"])?"sql":($qe?"tar":"csv"));header("Content-Type: ".($Ze=="gz"?"application/x-gzip":($zc=="tar"?"application/x-tar":($zc=="sql"||$Ze!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($Ze=="gz")ob_start('gzencode',1e6);return$zc;}function +homepage(){echo'

    +',$this->name(),' ',$ia,' +',(version_compare($ia,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),' +

    +';if($pe=="auth"){$Ic=true;foreach((array)$_SESSION["pwds"]as$Mh=>$qg){foreach($qg +as$N=>$Hh){foreach($Hh +as$V=>$G){if($G!==null){if($Ic){echo"

    \n";$Ic=false;}$Hb=$_SESSION["db"][$Mh][$N][$V];foreach(($Hb?array_keys($Hb):array(""))as$k)echo"($Ub[$Mh]) ".h($V.($N!=""?"@$N":"").($k!=""?" - $k":""))."
    \n";}}}}}else{if($_GET["ns"]!==""&&!$pe&&DB!=""){$h->select_db(DB);$S=table_status('',true);}if(support("sql")){echo' + +';}$this->databasesPrint($pe);if(DB==""||!$pe){echo"

    ".lang(7)."\n";else$this->tablesPrint($S);}}}function +databasesPrint($pe){global$b,$h;$j=$this->databases();echo'

    +

    +';hidden_fields_get();$Fb=" onmousedown='dbMouseDown(event, this);' onchange='dbChange(this);'";echo"DB: ".($j?"":''),"\n";if($pe!="db"&&DB!=""&&$h->select_db(DB)){if(support("scheme")){echo"
    ";if($_GET["ns"]!="")set_schema($_GET["ns"]);}}echo(isset($_GET["sql"])?'':(isset($_GET["schema"])?'':(isset($_GET["dump"])?'':(isset($_GET["privileges"])?'':"")))),"

    \n";}function +tablesPrint($S){echo"

    \n";foreach($S +as$Q=>$_g){echo'".lang(60)." ";$C=$this->tableName($_g);echo(support("table")||support("indexes")?'$C":"$C")."
    \n";}}}$b=(function_exists('adminer_object')?adminer_object():new +Adminer);if($b->operators===null)$b->operators=$Ke;function +page_header($ch,$m="",$Va=array(),$dh=""){global$ca,$ia,$b,$Ub,$w;page_headers();$eh=$ch.($dh!=""?": $dh":"");$fh=strip_tags($eh.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());echo' + + + + +',$fh,' + + +';if($b->head()){echo' + +';if(file_exists("adminer.css")){echo' +';}}echo' + + + +

    + +
    +';if($Va!==null){$_=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'

    $eh

    \n";restart_session();page_messages($m);$j=&get_session("dbs");if(DB!=""&&$j&&!in_array(DB,$j,true))$j=null;stop_session();define("PAGE_HEADER",1);}function +page_headers(){global$b;header("Content-Type: text/html; charset=utf-8");header("Cache-Control: no-cache");if($b->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}}function +page_messages($m){$Ch=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$le=$_SESSION["messages"][$Ch];if($le){echo"
    ".implode("
    \n
    ",$le)."
    \n";unset($_SESSION["messages"][$Ch]);}if($m)echo"
    $m
    \n";}function +page_footer($pe=""){global$b,$T;echo'
    + +';switch_lang();if($pe!="auth"){echo'
    +

    + + +

    +
    +';}echo' + +';}function +int32($se){while($se>=2147483648)$se-=4294967296;while($se<=-2147483649)$se+=4294967296;return(int)$se;}function +long2str($W,$Rh){$eg='';foreach($W +as$X)$eg.=pack('V',$X);if($Rh)return +substr($eg,0,end($W));return$eg;}function +str2long($eg,$Rh){$W=array_values(unpack('V*',str_pad($eg,4*ceil(strlen($eg)/4),"\0")));if($Rh)$W[]=strlen($eg);return$W;}function +xxtea_mx($Xh,$Wh,$Gg,$Bd){return +int32((($Xh>>5&0x7FFFFFF)^$Wh<<2)+(($Wh>>3&0x1FFFFFFF)^$Xh<<4))^int32(($Gg^$Wh)+($Bd^$Xh));}function +encrypt_string($Bg,$x){if($Bg=="")return"";$x=array_values(unpack("V*",pack("H*",md5($x))));$W=str2long($Bg,true);$se=count($W)-1;$Xh=$W[$se];$Wh=$W[0];$Df=floor(6+52/($se+1));$Gg=0;while($Df-->0){$Gg=int32($Gg+0x9E3779B9);$bc=$Gg>>2&3;for($af=0;$af<$se;$af++){$Wh=$W[$af+1];$re=xxtea_mx($Xh,$Wh,$Gg,$x[$af&3^$bc]);$Xh=int32($W[$af]+$re);$W[$af]=$Xh;}$Wh=$W[0];$re=xxtea_mx($Xh,$Wh,$Gg,$x[$af&3^$bc]);$Xh=int32($W[$se]+$re);$W[$se]=$Xh;}return +long2str($W,false);}function +decrypt_string($Bg,$x){if($Bg=="")return"";if(!$x)return +false;$x=array_values(unpack("V*",pack("H*",md5($x))));$W=str2long($Bg,false);$se=count($W)-1;$Xh=$W[$se];$Wh=$W[0];$Df=floor(6+52/($se+1));$Gg=int32($Df*0x9E3779B9);while($Gg){$bc=$Gg>>2&3;for($af=$se;$af>0;$af--){$Xh=$W[$af-1];$re=xxtea_mx($Xh,$Wh,$Gg,$x[$af&3^$bc]);$Wh=int32($W[$af]-$re);$W[$af]=$Wh;}$Xh=$W[$se];$re=xxtea_mx($Xh,$Wh,$Gg,$x[$af&3^$bc]);$Wh=int32($W[0]-$re);$W[0]=$Wh;$Gg=int32($Gg-0x9E3779B9);}return +long2str($W,true);}$h='';$cd=$_SESSION["token"];if(!$cd)$_SESSION["token"]=rand(1,1e6);$T=get_token();$mf=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($x)=explode(":",$X);$mf[$x]=$X;}}$Ja=$_POST["auth"];if($Ja){session_regenerate_id();$l=$Ja["driver"];$N=$Ja["server"];$V=$Ja["username"];$G=$Ja["password"];$k=$Ja["db"];set_password($l,$N,$V,$G);$_SESSION["db"][$l][$N][$V][$k]=true;if($Ja["permanent"]){$x=base64_encode($l)."-".base64_encode($N)."-".base64_encode($V)."-".base64_encode($k);$yf=$b->permanentLogin(true);$mf[$x]="$x:".base64_encode($yf?encrypt_string($G,$yf):"");cookie("adminer_permanent",implode(" ",$mf));}if(count($_POST)==1||DRIVER!=$l||SERVER!=$N||$_GET["username"]!==$V||DB!=$k)redirect(auth_url($l,$N,$V,$k));}elseif($_POST["logout"]){if($cd&&!verify_token()){page_header(lang(62),lang(63));page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$x)set_session($x,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(64));}}elseif($mf&&!$_SESSION["pwds"]){session_regenerate_id();$yf=$b->permanentLogin();foreach($mf +as$x=>$X){list(,$db)=explode(":",$X);list($Mh,$N,$V,$k)=array_map('base64_decode',explode("-",$x));set_password($Mh,$N,$V,decrypt_string(base64_decode($db),$yf));$_SESSION["db"][$Mh][$N][$V][$k]=true;}}function +unset_permanent(){global$mf;foreach($mf +as$x=>$X){list($Mh,$N,$V,$k)=array_map('base64_decode',explode("-",$x));if($Mh==DRIVER&&$N==SERVER&&$V==$_GET["username"]&&$k==DB)unset($mf[$x]);}cookie("adminer_permanent",implode(" ",$mf));}function +auth_error($tc=null){global$h,$b,$cd;$rg=session_name();$m="";if(!$_COOKIE[$rg]&&$_GET[$rg]&&ini_bool("session.use_only_cookies"))$m=lang(65);elseif(isset($_GET["username"])){if(($_COOKIE[$rg]||$_GET[$rg])&&!$cd)$m=lang(66);else{$G=get_password();if($G!==null){$m=h($tc?$tc->getMessage():(is_string($h)?$h:lang(67)));if($G===false)$m.='
    '.lang(68,'permanentLogin()');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}$F=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$F["lifetime"]);page_header(lang(26),$m,null);echo"
    \n";$b->loginForm();echo"
    ";hidden_fields($_POST,array("auth"));echo"
    \n","
    \n";page_footer("auth");}function +set_password($Mh,$N,$V,$G){$_SESSION["pwds"][$Mh][$N][$V]=($_COOKIE["adminer_key"]&&is_string($G)?array(encrypt_string($G,$_COOKIE["adminer_key"])):$G);}function +get_password(){$J=get_session("pwds");if(is_array($J))$J=($_COOKIE["adminer_key"]?decrypt_string($J[0],$_COOKIE["adminer_key"]):false);return$J;}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(69),lang(70,implode(", ",$sf)),false);page_footer("auth");exit;}$h=connect();}if(!is_object($h)||!$b->login($_GET["username"],get_password())){auth_error();exit;}$l=new +Min_Driver($h);if($Ja&&$_POST["token"])$_POST["token"]=$T;$m='';if($_POST){if(!verify_token()){$rd="max_input_vars";$fe=ini_get($rd);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$x){$X=ini_get($x);if($X&&(!$fe||$X<$fe)){$rd=$x;$fe=$X;}}}$m=(!$_POST["token"]&&$fe?lang(71,"'$rd'"):lang(63));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$m=lang(72,"'post_max_size'");if(isset($_GET["sql"]))$m.=' '.lang(73);}if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false)session_write_close();function +connect_error(){global$b,$h,$T,$m,$Ub;$j=array();if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(25).": ".h(DB),lang(74),true);}else{if($_POST["db"]&&!$m)queries_redirect(substr(ME,0,-1),lang(75),drop_databases($_POST["db"]));page_header(lang(76),$m,false);echo"

    ".lang(81,$Ub[DRIVER],"$h->server_info","$h->extension")."\n","

    ".lang(82,"".h(logged_user())."")."\n";$j=$b->databases();if($j){$hg=support("scheme");$jb=collations();echo"

    \n","\n","".(support("database")?"\n";foreach($j +as$k){$Zf=h(ME)."db=".urlencode($k);echo"".(support("database")?"
     ":"")."".lang(25)."".lang(83)."".lang(84)."
    ".checkbox("db[]",$k,in_array($k,(array)$_POST["db"])):""),"".h($k)."";$d=nbsp(db_collation($k,$jb));echo"".(support("database")?"$d":$d),"?","\n";}echo"
    \n",(support("database")?"
    ".lang(85)."
    \n"."\n"."\n"."
    \n":""),"\n","\n","
    \n";}echo"

    ".lang(87)."\n";}page_footer("db");if($j)echo"\n";}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?$h->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect"||$_GET["script"]=="kill")){if(DB!=""||$_GET["refresh"]){restart_session();set_session("dbs",null);}connect_error();exit;}if(support("scheme")&&DB!=""&&$_GET["ns"]!==""){if(!isset($_GET["ns"]))redirect(preg_replace('~ns=[^&]*&~','',ME)."ns=".get_schema());if(!set_schema($_GET["ns"])){header("HTTP/1.1 404 Not Found");page_header(lang(88).": ".h($_GET["ns"]),lang(89),true);page_footer("ns");exit;}}function +select($I,$i=null,$Se=array()){global$w;$Ud=array();$v=array();$f=array();$Sa=array();$uh=array();$J=array();odd('');for($r=0;$K=$I->fetch_row();$r++){if(!$r){echo"\n","";for($Ad=0;$Adfetch_field();$C=$n->name;$Re=$n->orgtable;$Qe=$n->orgname;$J[$n->table]=$Re;if($Se&&$w=="sql")$Ud[$Ad]=($C=="table"?"table=":($C=="possible_keys"?"indexes=":null));elseif($Re!=""){if(!isset($v[$Re])){$v[$Re]=array();foreach(indexes($Re,$i)as$u){if($u["type"]=="PRIMARY"){$v[$Re]=array_flip($u["columns"]);break;}}$f[$Re]=$v[$Re];}if(isset($f[$Re][$Qe])){unset($f[$Re][$Qe]);$v[$Re][$Qe]=$Ad;$Ud[$Ad]=$Re;}}if($n->charsetnr==63)$Sa[$Ad]=true;$uh[$Ad]=$n->type;echo"name!=$Qe?" title='".h(($Re!=""?"$Re.":"").$Qe)."'":"").">".h($C).($Se?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($C))):"");}echo"\n";}echo"";foreach($K +as$x=>$X){if($X===null)$X="NULL";elseif($Sa[$x]&&!is_utf8($X))$X="".lang(34,strlen($X))."";elseif(!strlen($X))$X=" ";else{$X=h($X);if($uh[$x]==254)$X="$X";}if(isset($Ud[$x])&&!$f[$Ud[$x]]){if($Se&&$w=="sql"){$Q=$K[array_search("table=",$Ud)];$_=$Ud[$x].urlencode($Se[$Q]!=""?$Se[$Q]:$Q);}else{$_="edit=".urlencode($Ud[$x]);foreach($v[$Ud[$x]]as$hb=>$Ad)$_.="&where".urlencode("[".bracket_escape($hb)."]")."=".urlencode($K[$Ad]);}$X="$X";}echo"
    $X";}}echo($r?"
    ":"

    ".lang(90))."\n";return$J;}function +referencable_primary($mg){$J=array();foreach(table_status('',true)as$Kg=>$Q){if($Kg!=$mg&&fk_support($Q)){foreach(fields($Kg)as$n){if($n["primary"]){if($J[$Kg]){unset($J[$Kg]);break;}$J[$Kg]=$n;}}}}return$J;}function +textarea($C,$Y,$L=10,$kb=80){global$w;echo"";}function +edit_type($x,$n,$jb,$Mc=array()){global$Cg,$uh,$Ah,$Ge;$U=$n["type"];echo' +';echo"',($Ah?"':''),(isset($n['on_update'])?"':''),($Mc?" ":" ");}function +process_length($y){global$mc;return(preg_match("~^\\s*\\(?\\s*$mc(?:\\s*,\\s*$mc)*+\\s*\\)?\\s*\$~",$y)&&preg_match_all("~$mc~",$y,$Zd)?"(".implode(",",$Zd[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$y)));}function +process_type($n,$ib="COLLATE"){global$Ah;return" $n[type]".process_length($n["length"]).(preg_match('~(^|[^o])int|float|double|decimal~',$n["type"])&&in_array($n["unsigned"],$Ah)?" $n[unsigned]":"").(preg_match('~char|text|enum|set~',$n["type"])&&$n["collation"]?" $ib ".q($n["collation"]):"");}function +process_field($n,$sh){global$w;$Jb=$n["default"];return +array(idf_escape(trim($n["field"])),process_type($sh),($n["null"]?" NULL":" NOT NULL"),(isset($Jb)?" DEFAULT ".((preg_match('~time~',$n["type"])&&preg_match('~^CURRENT_TIMESTAMP$~i',$Jb))||($n["type"]=="bit"&&preg_match("~^([0-9]+|b'[0-1]+')\$~",$Jb))||($w=="pgsql"&&preg_match("~^[a-z]+\\(('[^']*')+\\)\$~",$Jb))?$Jb:q($Jb)):""),($n["type"]=="timestamp"&&$n["on_update"]?" ON UPDATE $n[on_update]":""),(support("comment")&&$n["comment"]!=""?" COMMENT ".q($n["comment"]):""),($n["auto_increment"]?auto_increment():null),);}function +type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$x=>$X){if(preg_match("~$x|$X~",$U))return" class='$x'";}}function +edit_fields($o,$jb,$U="TABLE",$Mc=array(),$ob=false){global$h,$sd;echo' +';if($U=="PROCEDURE"){echo' ';}echo'',($U=="TABLE"?lang(95):lang(96)),'',lang(97),' +',lang(98),'',lang(99);if($U=="TABLE"){echo'NULL +AI',doc_link(array('sql'=>"example-auto-increment.html",'sqlite'=>"autoinc.html",'pgsql'=>"datatype.html#DATATYPE-SERIAL",'mssql'=>"ms186775.aspx",)),'',lang(100),(support("comment")?"

    ".lang(101).": ".h($nb)."\n";if($o){echo"\n","\n";foreach($o +as$n){echo"
    ".lang(108)."".lang(97).(support("comment")?"".lang(101):"")."
    ".h($n["field"]),"".h($n["full_type"]).($n["null"]?" NULL":"").($n["auto_increment"]?" ".lang(47)."":""),(isset($n["default"])?" [".h($n["default"])."]":""),(support("comment")?"".nbsp($n["comment"]):""),"\n";}echo"
    \n";}if(!is_view($R)){if(support("indexes")){echo"

    ".lang(109)."

    \n";$v=indexes($a);if($v){echo"\n";foreach($v +as$C=>$u){ksort($u["columns"]);$xf=array();foreach($u["columns"]as$x=>$X)$xf[]="".h($X)."".($u["lengths"][$x]?"(".$u["lengths"][$x].")":"").($u["descs"][$x]?" DESC":"");echo"
    $u[type]".implode(", ",$xf)."\n";}echo"
    \n";}echo'

    ".lang(91)."

    \n";$Mc=foreign_keys($a);if($Mc){echo"\n","\n";foreach($Mc +as$C=>$p){echo"","
    ".lang(111)."".lang(112)."".lang(94)."".lang(93)." 
    ".implode(", ",array_map('h',$p["source"]))."","".($p["db"]!=""?"".h($p["db"]).".":"").($p["ns"]!=""?"".h($p["ns"]).".":"").h($p["table"])."","(".implode(", ",array_map('h',$p["target"])).")","".nbsp($p["on_delete"])."\n","".nbsp($p["on_update"])."\n",''.lang(113).'';}echo"
    \n";}echo'

    ".lang(115)."

    \n";$rh=triggers($a);if($rh){echo"\n";foreach($rh +as$x=>$X)echo"
    $X[0]$X[1]".h($x)."".lang(113)."\n";echo"
    \n";}echo'
    + +';foreach($gg +as$C=>$Q){echo"
    ",''.h($C)."";foreach($Q["fields"]as$n){$X=''.h($n["field"]).'';echo"
    ".($n["primary"]?"$X":$X);}foreach((array)$Q["references"]as$Tg=>$Pf){foreach($Pf +as$Nd=>$Lf){$Od=$Nd-$Mg[$C][1];$r=0;foreach($Lf[0]as$vg)echo"\n
    ";}}foreach((array)$Of[$C]as$Tg=>$Pf){foreach($Pf +as$Nd=>$f){$Od=$Nd-$Mg[$C][1];$r=0;foreach($f +as$Sg)echo"\n
    ";}}echo"\n
    \n";}foreach($gg +as$C=>$Q){foreach((array)$Q["references"]as$Tg=>$Pf){foreach($Pf +as$Nd=>$Lf){$oe=$ih;$de=-10;foreach($Lf[0]as$x=>$vg){$qf=$Q["pos"][0]+$Q["fields"][$vg]["pos"];$rf=$gg[$Tg]["pos"][0]+$gg[$Tg]["fields"][$Lf[1][$x]]["pos"];$oe=min($oe,$qf,$rf);$de=max($de,$qf,$rf);}echo"
    \n";}}}echo'
    +
    + +';$Gb=array('','USE','DROP+CREATE','CREATE');$Og=array('','DROP+CREATE','CREATE');$Db=array('','TRUNCATE+INSERT','INSERT');if($w=="sql")$Db[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$K);if(!$K)$K=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($K["events"])){$K["routines"]=$K["events"]=($_GET["dump"]=="");$K["triggers"]=$K["table_style"];}echo"
    ".lang(119)."".html_select("output",$b->dumpOutput(),$K["output"],0)."\n";echo"
    ".lang(120)."".html_select("format",$b->dumpFormat(),$K["format"],0)."\n";echo($w=="sqlite"?"":"
    ".lang(25)."".html_select('db_style',$Gb,$K["db_style"]).(support("routine")?checkbox("routines",1,$K["routines"],lang(121)):"").(support("event")?checkbox("events",1,$K["events"],lang(122)):"")),"
    ".lang(84)."".html_select('table_style',$Og,$K["table_style"]).checkbox("auto_increment",1,$K["auto_increment"],lang(47)).(support("trigger")?checkbox("triggers",1,$K["triggers"],lang(115)):""),"
    ".lang(123)."".html_select('data_style',$Db,$K["data_style"]),'
    +

    + + + +';$uf=array();if(DB!=""){$ab=($a!=""?"":" checked");echo"","\n";$Ph="";$Pg=tables_list();foreach($Pg +as$C=>$U){$tf=preg_replace('~_.*~','',$C);$ab=($a==""||$a==(substr($a,-1)=="%"?"$tf%":$C));$xf="\n";$j=$b->databases();if($j){foreach($j +as$k){if(!information_schema($k)){$tf=preg_replace('~_.*~','',$k);echo"
    ","","
    ".checkbox("tables[]",$C,$ab,$C,"checkboxClick(event, this); formUncheck('check-tables');","block");if($U!==null&&!preg_match('~table~i',$U))$Ph.="$xf\n";else +echo"$xf\n";$uf[$tf]++;}echo$Ph;if($Pg)echo"\n";}else{echo"
    ".checkbox("databases[]",$k,$a==""||$a=="$tf%",$k,"formUncheck('check-databases');","block")."\n";$uf[$tf]++;}}}else +echo"
    ";}echo'
    +

    +';$Ic=true;foreach($uf +as$x=>$X){if($x!=""&&$X>1){echo($Ic?"

    ":" ")."".h($x)."";$Ic=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(54));$I=$h->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$Uc=$I;if(!$I)$I=$h->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"

    \n";hidden_fields_get();echo"\n",($Uc?"":"\n"),"\n","\n";while($K=$I->fetch_assoc())echo'
    ".lang(23)."".lang(22)." 
    '.h($K["User"])."".h($K["Host"]).''.lang(33)."\n";if(!$Uc||DB!="")echo"\n";echo"
    \n","

    \n",'
    ".shorten_utf8(trim($Df),1000)."
    \n";if(!$_POST["only_errors"]){echo$xf;ob_flush();flush();}$zg=microtime(true);if($h->multi_query($Df)&&is_object($i)&&preg_match("~^$wg*USE\\b~isU",$Df))$i->query($Df);do{$I=$h->store_result();$jc=microtime(true);$Zg=" (".format_time($zg,$jc).")".(strlen($Df)<1000?" ".lang(33)."":"");if($h->error){echo($_POST["only_errors"]?$xf:""),"

    ".lang(125).($h->errno?" ($h->errno)":"").": ".error()."\n";$oc[]=" $mb";if($_POST["error_stops"])break +2;}elseif(is_object($I)){$Se=select($I,$i);if(!$_POST["only_errors"]){echo"

    \n","

    ".($I->num_rows?lang(126,$I->num_rows):"").$Zg;$s="export-$mb";$yc=", ".lang(118)."\n";if($i&&preg_match("~^($wg|\\()*SELECT\\b~isU",$Df)&&($xc=explain($i,$Df))){$s="explain-$mb";echo", EXPLAIN$yc","

    \n";}else +echo$yc;echo"
    \n";}}else{if(preg_match("~^$wg*(CREATE|DROP|ALTER)$wg+(DATABASE|SCHEMA)\\b~isU",$Df)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"

    ".lang(127,$h->affected_rows)."$Zg\n";}$zg=$jc;}while($h->next_result());$Td+=substr_count($Df.$Oc,"\n");$H=substr($H,$D);$D=0;}}}}if($ic)echo"

    ".lang(128)."\n";elseif($_POST["only_errors"]){echo"

    ".lang(129,$mb-count($oc))," (".format_time($jh,microtime(true)).")\n";}elseif($oc&&$mb>1)echo"

    ".lang(125).": ".implode("",$oc)."\n";}else +echo"

    ".upload_error($H)."\n";}echo' +

    +';$uc="";if(!isset($_GET["import"])){$Df=$_GET["sql"];if($_POST)$Df=$_POST["query"];elseif($_GET["history"]=="all")$Df=$dd;elseif($_GET["history"]!="")$Df=$dd[$_GET["history"]][0];echo"

    ";textarea("query",$Df,20);echo($_POST?"":"\n"),"

    $uc\n";}else{echo"

    ".lang(131)."
    ",(ini_bool("file_uploads")?' (< '.ini_get("upload_max_filesize").'B)':lang(132)),"\n$uc","
    \n","
    ".lang(133)."
    ",lang(134,"adminer.sql".(extension_loaded("zlib")?"[.gz]":"").""),' ',"
    \n","

    ";}echo +checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])),lang(136))."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])),lang(137))."\n","\n";if(!isset($_GET["import"])&&$dd){print_fieldset("history",lang(138),$_GET["history"]!="");for($X=end($dd);$X;$X=prev($dd)){$x=key($dd);list($Df,$Zg)=$X;echo''.lang(33)." ".@date("H:i:s",$Zg)." ".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$Df)))),80,"")."
    \n";}echo"\n","".lang(140)."\n","\n";}echo'

    +';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$o=fields($a);$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0],$o):""):where($_GET,$o));$Bh=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($o +as$C=>$n){if(!isset($n["privileges"][$Bh?"update":"insert"])||$b->fieldName($n)=="")unset($o[$C]);}if($_POST&&!$m&&!isset($_GET["select"])){$A=$_POST["referer"];if($_POST["insert"])$A=($Bh?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$A))$A=ME."select=".urlencode($a);$v=indexes($a);$xh=unique_array($_GET["where"],$v);$Gf="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($A,lang(141),$l->delete($a,$Gf,!$xh));else{$O=array();foreach($o +as$C=>$n){$X=process_input($n);if($X!==false&&$X!==null)$O[idf_escape($C)]=$X;}if($Bh){if(!$O)redirect($A);queries_redirect($A,lang(142),$l->update($a,$O,$Gf,!$xh));if(is_ajax()){page_headers();page_messages($m);exit;}}else{$I=$l->insert($a,$O);$Md=($I?last_id():0);queries_redirect($A,lang(143,($Md?" $Md":"")),$I);}}}$Kg=$b->tableName(table_status1($a,true));page_header(($Bh?lang(33):lang(144)),$m,array("select"=>array($a,$Kg)),$Kg);$K=null;if($_POST["save"])$K=(array)$_POST["fields"];elseif($Z){$M=array();foreach($o +as$C=>$n){if(isset($n["privileges"]["select"])){$Fa=convert_field($n);if($_POST["clone"]&&$n["auto_increment"])$Fa="''";if($w=="sql"&&preg_match("~enum|set~",$n["type"]))$Fa="1*".idf_escape($C);$M[]=($Fa?"$Fa AS ":"").idf_escape($C);}}$K=array();if(!support("table"))$M=array("*");if($M){$I=$l->select($a,$M,array($Z),$M,array(),(isset($_GET["select"])?2:1));$K=$I->fetch_assoc();if(!$K)$K=false;if(isset($_GET["select"])&&(!$K||$I->fetch_assoc()))$K=null;}}if(!support("table")&&!$o){if(!$Z){$I=$l->select($a,array("*"),$Z,array("*"));$K=($I?$I->fetch_assoc():false);if(!$K)$K=array($l->primary=>"");}if($K){foreach($K +as$x=>$X){if(!$Z)$K[$x]=null;$o[$x]=array("field"=>$x,"null"=>($x!=$l->primary),"auto_increment"=>($x==$l->primary));}}}if($K===false)echo"

    ".lang(90)."\n";echo' +

    + +
    +';if(!$o)echo"

    ".lang(145)."\n";else{echo"\n";foreach($o +as$C=>$n){echo""."
    ".$b->fieldName($n);$Jb=$_GET["set"][bracket_escape($C)];if($Jb===null){$Jb=$n["default"];if($n["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$Jb,$Qf))$Jb=$Qf[1];}$Y=($K!==null?($K[$C]!=""&&$w=="sql"&&preg_match("~enum|set~",$n["type"])?(is_array($K[$C])?array_sum($K[$C]):+$K[$C]):$K[$C]):(!$Bh&&$n["auto_increment"]?"":(isset($_GET["select"])?false:$Jb)));if(!$_POST["save"]&&is_string($Y))$Y=$b->editVal($Y,$n);$q=($_POST["save"]?(string)$_POST["function"][$C]:($Bh&&$n["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(preg_match("~time~",$n["type"])&&$Y=="CURRENT_TIMESTAMP"){$Y="";$q="now";}input($n,$Y,$q);echo"\n";}if(!support("table"))echo"
    "."".html_select("field_funs[]",$b->editFunctions(array("null"=>isset($_GET["select"])))).""."\n";echo"
    \n";}echo'

    +';if($o){echo"\n";if(!isset($_GET["select"]))echo"\n";}echo($Bh?"\n":($_POST||!$o?"":"\n"));if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo' + + +

    +';}elseif(isset($_GET["create"])){$a=$_GET["create"];$ef=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$x)$ef[$x]=$x;$Nf=referencable_primary($a);$Mc=array();foreach($Nf +as$Kg=>$n)$Mc[str_replace("`","``",$Kg)."`".str_replace("`","``",$n["field"])]=$Kg;$Ve=array();$R=array();if($a!=""){$Ve=fields($a);$R=table_status($a);if(!$R)$m=lang(7);}$K=$_POST;$K["fields"]=(array)$K["fields"];if($K["auto_increment_col"])$K["fields"][$K["auto_increment_col"]]["auto_increment"]=true;if($_POST&&!process_fields($K["fields"])&&!$m){if($_POST["drop"])queries_redirect(substr(ME,0,-1),lang(151),drop_tables(array($a)));else{$o=array();$Ca=array();$Eh=false;$Kc=array();ksort($K["fields"]);$Ue=reset($Ve);$_a=" FIRST";foreach($K["fields"]as$x=>$n){$p=$Mc[$n["type"]];$sh=($p!==null?$Nf[$p]:$n);if($n["field"]!=""){if(!$n["has_default"])$n["default"]=null;if($x==$K["auto_increment_col"])$n["auto_increment"]=true;$Bf=process_field($n,$sh);$Ca[]=array($n["orig"],$Bf,$_a);if($Bf!=process_field($Ue,$Ue)){$o[]=array($n["orig"],$Bf,$_a);if($n["orig"]!=""||$_a)$Eh=true;}if($p!==null)$Kc[idf_escape($n["field"])]=($a!=""&&$w!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$Mc[$n["type"]],'source'=>array($n["field"]),'target'=>array($sh["field"]),'on_delete'=>$n["on_delete"],));$_a=" AFTER ".idf_escape($n["field"]);}elseif($n["orig"]!=""){$Eh=true;$o[]=array($n["orig"]);}if($n["orig"]!=""){$Ue=next($Ve);if(!$Ue)$_a="";}}$gf="";if($ef[$K["partition_by"]]){$hf=array();if($K["partition_by"]=='RANGE'||$K["partition_by"]=='LIST'){foreach(array_filter($K["partition_names"])as$x=>$X){$Y=$K["partition_values"][$x];$hf[]="\n PARTITION ".idf_escape($X)." VALUES ".($K["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$gf.="\nPARTITION BY $K[partition_by]($K[partition])".($hf?" (".implode(",",$hf)."\n)":($K["partitions"]?" PARTITIONS ".(+$K["partitions"]):""));}elseif(support("partitioning")&&preg_match("~partitioned~",$R["Create_options"]))$gf.="\nREMOVE PARTITIONING";$he=lang(152);if($a==""){cookie("adminer_engine",$K["Engine"]);$he=lang(153);}$C=trim($K["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($C),$he,alter_table($a,$C,($w=="sqlite"&&($Eh||$Kc)?$Ca:$o),$Kc,$K["Comment"],($K["Engine"]&&$K["Engine"]!=$R["Engine"]?$K["Engine"]:""),($K["Collation"]&&$K["Collation"]!=$R["Collation"]?$K["Collation"]:""),($K["Auto_increment"]!=""?+$K["Auto_increment"]:""),$gf));}}page_header(($a!=""?lang(31):lang(57)),$m,array("table"=>$a),h($a));if(!$_POST){$K=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($uh["int"])?"int":(isset($uh["integer"])?"integer":"")))),"partition_names"=>array(""),);if($a!=""){$K=$R;$K["name"]=$a;$K["fields"]=array();if(!$_GET["auto_increment"])$K["Auto_increment"]="";foreach($Ve +as$n){$n["has_default"]=isset($n["default"]);$K["fields"][]=$n;}if(support("partitioning")){$Rc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$I=$h->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $Rc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($K["partition_by"],$K["partitions"],$K["partition"])=$I->fetch_row();$hf=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Rc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$hf[""]="";$K["partition_names"]=array_keys($hf);$K["partition_values"]=array_values($hf);}}}$jb=collations();$lc=engines();foreach($lc +as$kc){if(!strcasecmp($kc,$K["Engine"])){$K["Engine"]=$kc;break;}}echo' +
    +

    +';if(support("columns")||$a==""){echo +lang(154),': +';if($a==""&&!$_POST){?>".optionlist(array(""=>"(".lang(155).")")+$lc,$K["Engine"])."":""),' ',($jb&&!preg_match("~sqlite|mssql~",$w)?html_select("Collation",array(""=>"(".lang(92).")")+$jb,$K["Collation"]):""),' +';}echo' +';if(support("columns")){echo' +';$ob=($_POST?$_POST["comments"]:$K["Comment"]!="");if(!$_POST&&!$ob){foreach($K["fields"]as$n){if($n["comment"]!=""){$ob=true;break;}}}edit_fields($K["fields"],$jb,"TABLE",$Mc,$ob);echo'
    +

    +',lang(47),': +',checkbox("defaults",1,true,lang(100),"columnShow(this.checked, 5)","jsonly");if(!$_POST["defaults"]){echo'';}echo(support("comment")?"".' ':''),'

    + +';}echo' +';if($a!=""){echo'';}if(support("partitioning")){$ff=preg_match('~RANGE|LIST~',$K["partition_by"]);print_fieldset("partition",lang(156),$K["partition_by"]);echo'

    +',"",'() +',lang(157),': + + +';foreach($K["partition_names"]as$x=>$X){echo'',' + +';}echo' +

    +';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$nd=array("PRIMARY","UNIQUE","INDEX");$R=table_status($a,true);if(preg_match('~MyISAM|M?aria'.($h->server_info>=5.6?'|InnoDB':'').'~i',$R["Engine"]))$nd[]="FULLTEXT";$v=indexes($a);$vf=array();if($w=="mongo"){$vf=$v["_id_"];unset($nd[0]);unset($v["_id_"]);}$K=$_POST;if($_POST&&!$m&&!$_POST["add"]&&!$_POST["drop_col"]){$c=array();foreach($K["indexes"]as$u){$C=$u["name"];if(in_array($u["type"],$nd)){$f=array();$Rd=array();$Nb=array();$O=array();ksort($u["columns"]);foreach($u["columns"]as$x=>$e){if($e!=""){$y=$u["lengths"][$x];$Mb=$u["descs"][$x];$O[]=idf_escape($e).($y?"(".(+$y).")":"").($Mb?" DESC":"");$f[]=$e;$Rd[]=($y?$y:null);$Nb[]=$Mb;}}if($f){$vc=$v[$C];if($vc){ksort($vc["columns"]);ksort($vc["lengths"]);ksort($vc["descs"]);if($u["type"]==$vc["type"]&&array_values($vc["columns"])===$f&&(!$vc["lengths"]||array_values($vc["lengths"])===$Rd)&&array_values($vc["descs"])===$Nb){unset($v[$C]);continue;}}$c[]=array($u["type"],$C,$O);}}}foreach($v +as$C=>$vc)$c[]=array($vc["type"],$C,"DROP");if(!$c)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(160),alter_indexes($a,$c));}page_header(lang(109),$m,array("table"=>$a),h($a));$o=array_keys(fields($a));if($_POST["add"]){foreach($K["indexes"]as$x=>$u){if($u["columns"][count($u["columns"])]!="")$K["indexes"][$x]["columns"][]="";}$u=end($K["indexes"]);if($u["type"]||array_filter($u["columns"],'strlen'))$K["indexes"][]=array("columns"=>array(1=>""));}if(!$K){foreach($v +as$x=>$u){$v[$x]["name"]=$x;$v[$x]["columns"][]="";}$v[]=array("columns"=>array(1=>""));$K["indexes"]=$v;}echo' +
    + + + +';if($vf){echo"
    ',lang(161),'',lang(162),'',lang(163);?> +  +
    PRIMARY";foreach($vf["columns"]as$x=>$e){echo +select_input(" disabled",$o,$e)," ";}echo"\n";}$Ad=1;foreach($K["indexes"]as$u){if(!$_POST["drop_col"]||$Ad!=key($_POST["drop_col"])){echo"
    ".html_select("indexes[$Ad][type]",array(-1=>"")+$nd,$u["type"],($Ad==count($K["indexes"])?"indexesAddRow(this);":1)),"";ksort($u["columns"]);$r=1;foreach($u["columns"]as$x=>$e){echo"".select_input(" name='indexes[$Ad][columns][$r]' onchange=\"".($r==count($u["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($w=="sql"?"":$_GET["indexes"]."_")."');\"",($o?array_combine($o,$o):$o),$e),($w=="sql"||$w=="mssql"?"":""),($w!="sql"?checkbox("indexes[$Ad][descs][$r]",1,$u["descs"][$x],lang(41)):"")," ";$r++;}echo"\n","\n";}$Ad++;}echo'
    +

    + + +

    +';}elseif(isset($_GET["database"])){$K=$_POST;if($_POST&&!$m&&!isset($_POST["add_x"])){restart_session();$C=trim($K["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(164),drop_databases(array(DB)));}elseif(DB!==$C){if(DB!=""){$_GET["db"]=$C;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($C),lang(165),rename_database($C,$K["collation"]));}else{$j=explode("\n",str_replace("\r","",$C));$Eg=true;$Ld="";foreach($j +as$k){if(count($j)==1||$k!=""){if(!create_database($k,$K["collation"]))$Eg=false;$Ld=$k;}}queries_redirect(ME."db=".urlencode($Ld),lang(166),$Eg);}}else{if(!$K["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($C).(preg_match('~^[a-z0-9_]+$~i',$K["collation"])?" COLLATE $K[collation]":""),substr(ME,0,-1),lang(167));}}page_header(DB!=""?lang(50):lang(168),$m,array(),h(DB));$jb=collations();$C=DB;if($_POST)$C=$K["name"];elseif(DB!="")$K["collation"]=db_collation(DB,$jb);elseif($w=="sql"){foreach(get_vals("SHOW GRANTS")as$Uc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$Uc,$B)&&$B[1]){$C=stripcslashes(idf_unescape("`$B[2]`"));break;}}}echo' +
    +

    +',($_POST["add_x"]||strpos($C,"\n")?'
    ':'')."\n".($jb?html_select("collation",array(""=>"(".lang(92).")")+$jb,$K["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mssql'=>"ms187963.aspx",)):"");?> + + +';if(DB!="")echo"\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"\n";echo' +

    +';}elseif(isset($_GET["scheme"])){$K=$_POST;if($_POST&&!$m){$_=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"])query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$_,lang(169));else{$C=trim($K["name"]);$_.=urlencode($C);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($C),$_,lang(170));elseif($_GET["ns"]!=$C)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($C),$_,lang(171));else +redirect($_);}}page_header($_GET["ns"]!=""?lang(51):lang(52),$m);if(!$K)$K["name"]=$_GET["ns"];echo' +
    +

    " autocapitalize="off"> + + +';if($_GET["ns"]!="")echo"\n";echo' +

    +';}elseif(isset($_GET["call"])){$da=$_GET["call"];page_header(lang(172).": ".h($da),$m);$ag=routine($da,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$ld=array();$Ye=array();foreach($ag["fields"]as$r=>$n){if(substr($n["inout"],-3)=="OUT")$Ye[$r]="@".idf_escape($n["field"])." AS ".idf_escape($n["field"]);if(!$n["inout"]||substr($n["inout"],0,2)=="IN")$ld[]=$r;}if(!$m&&$_POST){$Xa=array();foreach($ag["fields"]as$x=>$n){if(in_array($x,$ld)){$X=process_input($n);if($X===false)$X="''";if(isset($Ye[$x]))$h->query("SET @".idf_escape($n["field"])." = $X");}$Xa[]=(isset($Ye[$x])?"@".idf_escape($n["field"]):$X);}$H=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($da)."(".implode(", ",$Xa).")";echo"

    ".h($H)." ".lang(33)."\n";if(!$h->multi_query($H))echo"

    ".error()."\n";else{$i=connect();if(is_object($i))$i->select_db(DB);do{$I=$h->store_result();if(is_object($I))select($I,$i);else +echo"

    ".lang(173,$h->affected_rows)."\n";}while($h->next_result());if($Ye)select($h->query("SELECT ".implode(", ",$Ye)));}}echo' +

    +';if($ld){echo"\n";foreach($ld +as$x){$n=$ag["fields"][$x];$C=$n["field"];echo"
    ".$b->fieldName($n);$Y=$_POST["fields"][$C];if($Y!=""){if($n["type"]=="enum")$Y=+$Y;if($n["type"]=="set")$Y=array_sum($Y);}input($n,$Y,(string)$_POST["function"][$C]);echo"\n";}echo"
    \n";}echo'

    + + +

    +';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$C=$_GET["name"];$K=$_POST;if($_POST&&!$m&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){$he=($_POST["drop"]?lang(174):($C!=""?lang(175):lang(176)));$A=ME."table=".urlencode($a);$K["source"]=array_filter($K["source"],'strlen');ksort($K["source"]);$Sg=array();foreach($K["source"]as$x=>$X)$Sg[$x]=$K["target"][$x];$K["target"]=$Sg;if($w=="sqlite")queries_redirect($A,$he,recreate_table($a,$a,array(),array(),array(" $C"=>($_POST["drop"]?"":" ".format_foreign_key($K)))));else{$c="ALTER TABLE ".table($a);$Vb="\nDROP ".($w=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($C);if($_POST["drop"])query_redirect($c.$Vb,$A,$he);else{query_redirect($c.($C!=""?"$Vb,":"")."\nADD".format_foreign_key($K),$A,$he);$m=lang(177)."
    $m";}}}page_header(lang(178),$m,array("table"=>$a),h($a));if($_POST){ksort($K["source"]);if($_POST["add"])$K["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$K["target"]=array();}elseif($C!=""){$Mc=foreign_keys($a);$K=$Mc[$C];$K["source"][]="";}else{$K["table"]=$a;$K["source"]=array("");}$vg=array_keys(fields($a));$Sg=($a===$K["table"]?$vg:array_keys(fields($K["table"])));$Mf=array_keys(array_filter(table_status('',true),'fk_support'));echo' +
    +

    +';if($K["db"]==""&&$K["ns"]==""){echo +lang(179),': +',html_select("table",$Mf,$K["table"],"this.form['change-js'].value = '1'; this.form.submit();"),' +

    + + +';$Ad=0;foreach($K["source"]as$x=>$X){echo"","
    ',lang(111),'',lang(112),'
    ".html_select("source[".(+$x)."]",array(-1=>"")+$vg,$X,($Ad==count($K["source"])-1?"foreignAddRow(this);":1)),"".html_select("target[".(+$x)."]",$Sg,$K["target"][$x]);$Ad++;}echo'
    +

    +',lang(94),': ',html_select("on_delete",array(-1=>"")+explode("|",$Ge),$K["on_delete"]),' ',lang(93),': ',html_select("on_update",array(-1=>"")+explode("|",$Ge),$K["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"clauses002.htm#sthref2903",)),'

    + +

    +';}if($C!=""){echo'';}echo' +

    +';}elseif(isset($_GET["view"])){$a=$_GET["view"];$K=$_POST;if($_POST&&!$m){$C=trim($K["name"]);$Fa=" AS\n$K[select]";$A=ME."table=".urlencode($C);$he=lang(182);if(!$_POST["drop"]&&$a==$C&&$w!="sqlite")query_redirect(($w=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($C).$Fa,$A,$he);else{$Ug=$C."_adminer_".uniqid();drop_create("DROP VIEW ".table($a),"CREATE VIEW ".table($C).$Fa,"DROP VIEW ".table($C),"CREATE VIEW ".table($Ug).$Fa,"DROP VIEW ".table($Ug),($_POST["drop"]?substr(ME,0,-1):$A),lang(183),$he,lang(184),$a,$C);}}if(!$_POST&&$a!=""){$K=view($a);$K["name"]=$a;if(!$m)$m=$h->error;}page_header(($a!=""?lang(30):lang(185)),$m,array("table"=>$a),h($a));echo' +
    +

    ',lang(163),': +

    ';textarea("select",$K["select"]);echo'

    + +';if($_GET["view"]!=""){echo'';}echo' +

    +';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$vd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Ag=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$K=$_POST;if($_POST&&!$m){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(186));elseif(in_array($K["INTERVAL_FIELD"],$vd)&&isset($Ag[$K["STATUS"]])){$fg="\nON SCHEDULE ".($K["INTERVAL_VALUE"]?"EVERY ".q($K["INTERVAL_VALUE"])." $K[INTERVAL_FIELD]".($K["STARTS"]?" STARTS ".q($K["STARTS"]):"").($K["ENDS"]?" ENDS ".q($K["ENDS"]):""):"AT ".q($K["STARTS"]))." ON COMPLETION".($K["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(187):lang(188)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$fg.($aa!=$K["EVENT_NAME"]?"\nRENAME TO ".idf_escape($K["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($K["EVENT_NAME"]).$fg)."\n".$Ag[$K["STATUS"]]." COMMENT ".q($K["EVENT_COMMENT"]).rtrim(" DO\n$K[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(189).": ".h($aa):lang(190)),$m);if(!$K&&$aa!=""){$L=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$K=reset($L);}echo' +
    + +
    ',lang(163),' +
    ',lang(191),' +
    ',lang(192),' +
    ',lang(193),' ',html_select("INTERVAL_FIELD",$vd,$K["INTERVAL_FIELD"]),'
    ',lang(80),'',html_select("STATUS",$Ag,$K["STATUS"]),'
    ',lang(101),' +
     ',checkbox("ON_COMPLETION","PRESERVE",$K["ON_COMPLETION"]=="PRESERVE",lang(194)),'
    +

    ';textarea("EVENT_DEFINITION",$K["EVENT_DEFINITION"]);echo'

    + +';if($aa!=""){echo'';}echo' +

    +';}elseif(isset($_GET["procedure"])){$da=$_GET["procedure"];$ag=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$K=$_POST;$K["fields"]=(array)$K["fields"];if($_POST&&!process_fields($K["fields"])&&!$m){$Ug="$K[name]_adminer_".uniqid();drop_create("DROP $ag ".idf_escape($da),create_routine($ag,$K),"DROP $ag ".idf_escape($K["name"]),create_routine($ag,array("name"=>$Ug)+$K),"DROP $ag ".idf_escape($Ug),substr(ME,0,-1),lang(195),lang(196),lang(197),$da,$K["name"]);}page_header(($da!=""?(isset($_GET["function"])?lang(198):lang(199)).": ".h($da):(isset($_GET["function"])?lang(200):lang(201))),$m);if(!$_POST&&$da!=""){$K=routine($da,$ag);$K["name"]=$da;}$jb=get_vals("SHOW CHARACTER SET");sort($jb);$bg=routine_languages();echo' +
    +

    ',lang(163),': +',($bg?lang(9).": ".html_select("language",$bg,$K["language"]):""),' + +';edit_fields($K["fields"],$jb,$ag);if(isset($_GET["function"])){echo"
    ".lang(202);edit_type("returns",$K["returns"],$jb);}echo'
    +

    ';textarea("definition",$K["definition"]);echo'

    + +';if($da!=""){echo'';}echo' +

    +';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];$K=$_POST;if($_POST&&!$m){$_=substr(ME,0,-1);$C=trim($K["name"]);if($_POST["drop"])query_redirect("DROP SEQUENCE ".idf_escape($fa),$_,lang(203));elseif($fa=="")query_redirect("CREATE SEQUENCE ".idf_escape($C),$_,lang(204));elseif($fa!=$C)query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($C),$_,lang(205));else +redirect($_);}page_header($fa!=""?lang(206).": ".h($fa):lang(207),$m);if(!$K)$K["name"]=$fa;echo' +
    +

    + +';if($fa!="")echo"\n";echo' +

    +';}elseif(isset($_GET["type"])){$ga=$_GET["type"];$K=$_POST;if($_POST&&!$m){$_=substr(ME,0,-1);if($_POST["drop"])query_redirect("DROP TYPE ".idf_escape($ga),$_,lang(208));else +query_redirect("CREATE TYPE ".idf_escape(trim($K["name"]))." $K[as]",$_,lang(209));}page_header($ga!=""?lang(210).": ".h($ga):lang(211),$m);if(!$K)$K["as"]="AS ";echo' +
    +

    +';if($ga!="")echo"\n";else{echo"\n";textarea("as",$K["as"]);echo"

    \n";}echo' +

    +';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$C=$_GET["name"];$qh=trigger_options();$oh=array("INSERT","UPDATE","DELETE");$K=(array)trigger($C)+array("Trigger"=>$a."_bi");if($_POST){if(!$m&&in_array($_POST["Timing"],$qh["Timing"])&&in_array($_POST["Event"],$oh)&&in_array($_POST["Type"],$qh["Type"])){$Fe=" ON ".table($a);$Vb="DROP TRIGGER ".idf_escape($C).($w=="pgsql"?$Fe:"");$A=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($Vb,$A,lang(212));else{if($C!="")queries($Vb);queries_redirect($A,($C!=""?lang(213):lang(214)),queries(create_trigger($Fe,$_POST)));if($C!="")queries(create_trigger($Fe,$K+array("Type"=>reset($qh["Type"]))));}}$K=$_POST;}page_header(($C!=""?lang(215).": ".h($C):lang(216)),$m,array("table"=>$a));echo' +
    + +
    ',lang(217),'',html_select("Timing",$qh["Timing"],$K["Timing"],"if (/^".preg_quote($a,"/")."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".js_escape($a)."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'
    ',lang(218),'',html_select("Event",$oh,$K["Event"],"this.form['Timing'].onchange();"),'
    ',lang(97),'',html_select("Type",$qh["Type"],$K["Type"]),'
    +

    ',lang(163),': +

    ';textarea("Statement",$K["Statement"]);echo'

    + +';if($C!=""){echo'';}echo' +

    +';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$_f=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$K){foreach(explode(",",($K["Privilege"]=="Grant option"?"":$K["Context"]))as$ub)$_f[$ub][$K["Privilege"]]=$K["Comment"];}$_f["Server Admin"]+=$_f["File access on server"];$_f["Databases"]["Create routine"]=$_f["Procedures"]["Create routine"];unset($_f["Procedures"]["Create routine"]);$_f["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$_f["Columns"][$X]=$_f["Tables"][$X];unset($_f["Server Admin"]["Usage"]);foreach($_f["Tables"]as$x=>$X)unset($_f["Databases"][$x]);$ue=array();if($_POST){foreach($_POST["objects"]as$x=>$X)$ue[$X]=(array)$ue[$X]+(array)$_POST["grants"][$x];}$Vc=array();$De="";if(isset($_GET["host"])&&($I=$h->query("SHOW GRANTS FOR ".q($ha)."@".q($_GET["host"])))){while($K=$I->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$K[0],$B)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$B[1],$Zd,PREG_SET_ORDER)){foreach($Zd +as$X){if($X[1]!="USAGE")$Vc["$B[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$K[0]))$Vc["$B[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$K[0],$B))$De=$B[1];}}if($_POST&&!$m){$Ee=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $Ee",ME."privileges=",lang(219));else{$we=q($_POST["user"])."@".q($_POST["host"]);$if=$_POST["pass"];if($if!=''&&!$_POST["hashed"]){$if=$h->result("SELECT PASSWORD(".q($if).")");$m=!$if;}$_b=false;if(!$m){if($Ee!=$we){$_b=queries(($h->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $we IDENTIFIED BY PASSWORD ".q($if));$m=!$_b;}elseif($if!=$De)queries("SET PASSWORD FOR $we = ".q($if));}if(!$m){$Xf=array();foreach($ue +as$_e=>$Uc){if(isset($_GET["grant"]))$Uc=array_filter($Uc);$Uc=array_keys($Uc);if(isset($_GET["grant"]))$Xf=array_diff(array_keys(array_filter($ue[$_e],'strlen')),$Uc);elseif($Ee==$we){$Be=array_keys((array)$Vc[$_e]);$Xf=array_diff($Be,$Uc);$Uc=array_diff($Uc,$Be);unset($Vc[$_e]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$_e,$B)&&(!grant("REVOKE",$Xf,$B[2]," ON $B[1] FROM $we")||!grant("GRANT",$Uc,$B[2]," ON $B[1] TO $we"))){$m=true;break;}}}if(!$m&&isset($_GET["host"])){if($Ee!=$we)queries("DROP USER $Ee");elseif(!isset($_GET["grant"])){foreach($Vc +as$_e=>$Xf){if(preg_match('~^(.+)(\\(.*\\))?$~U',$_e,$B))grant("REVOKE",array_keys($Xf),$B[2]," ON $B[1] FROM $we");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(220):lang(221)),!$m);if($_b)$h->query("DROP USER $we");}}page_header((isset($_GET["host"])?lang(23).": ".h("$ha@$_GET[host]"):lang(124)),$m,array("privileges"=>array('',lang(54))));if($_POST){$K=$_POST;$Vc=$ue;}else{$K=$_GET+array("host"=>$h->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$K["pass"]=$De;if($De!="")$K["hashed"]=true;$Vc[(DB==""||$Vc?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'
    + +
    ',lang(22),' +
    ',lang(23),' +
    ',lang(24),' +';if(!$K["hashed"]){echo'';}echo +checkbox("hashed",1,$K["hashed"],lang(222),"typePassword(this.form['pass'], this.checked);"),'
    + +';echo"\n","\n";foreach(array(""=>"","Server Admin"=>lang(22),"Databases"=>lang(25),"Tables"=>lang(107),"Columns"=>lang(108),"Procedures"=>lang(223),)as$ub=>$Mb){foreach((array)$_f[$ub]as$zf=>$nb){echo"$Mb'.h($zf);$r=0;foreach($Vc +as$_e=>$Uc){$C="'grants[$r][".h(strtoupper($zf))."]'";$Y=$Uc[strtoupper($zf)];if($ub=="Server Admin"&&$_e!=(isset($Vc["*.*"])?"*.*":".*"))echo"
    ".lang(54).doc_link(array('sql'=>"grant.html#priv_level"));$r=0;foreach($Vc +as$_e=>$Uc){echo''.($_e!="*.*"?"":"*.*");$r++;}echo"
     ";elseif(isset($_GET["grant"]))echo"";else +echo"";$r++;}}}echo"
    \n",'

    + +';if(isset($_GET["host"])){echo'';}echo' +

    +';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$m){$Hd=0;foreach((array)$_POST["kill"]as$X){if(queries("KILL ".(+$X)))$Hd++;}queries_redirect(ME."processlist=",lang(226,$Hd),$Hd||!$_POST["kill"]);}page_header(lang(78),$m);echo' +
    + +';$r=-1;foreach(process_list()as$r=>$K){if(!$r){echo"".(support("kill")?"\n";}echo"".(support("kill")?"
     ":"");foreach($K +as$x=>$X)echo"$x".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($x),'pgsql'=>"monitoring-stats.html#PG-STAT-ACTIVITY-VIEW",'oracle'=>"../b14237/dynviews_2088.htm",));echo"
    ".checkbox("kill[]",$K["Id"],0):"");foreach($K +as$x=>$X)echo"".(($w=="sql"&&$x=="Info"&&preg_match("~Query|Killed~",$K["Command"])&&$X!="")||($w=="pgsql"&&$x=="current_query"&&$X!="")||($w=="oracle"&&$x=="sql_text"&&$X!="")?"".shorten_utf8($X,100,"").' '.lang(227).'':nbsp($X));echo"\n";}echo'
    + +

    +';if(support("kill")){echo($r+1)."/".lang(228,$h->result("SELECT @@max_connections")),"

    \n";}echo' +

    +';}elseif(isset($_GET["select"])){$a=$_GET["select"];$R=table_status1($a);$v=indexes($a);$o=fields($a);$Mc=column_foreign_keys($a);$Ae="";if($R["Oid"]){$Ae=($w=="sqlite"?"rowid":"oid");$v[]=array("type"=>"PRIMARY","columns"=>array($Ae));}parse_str($_COOKIE["adminer_import"],$xa);$Yf=array();$f=array();$Yg=null;foreach($o +as$x=>$n){$C=$b->fieldName($n);if(isset($n["privileges"]["select"])&&$C!=""){$f[$x]=html_entity_decode(strip_tags($C),ENT_QUOTES);if(is_shortable($n))$Yg=$b->selectLengthProcess();}$Yf+=$n["privileges"];}list($M,$Wc)=$b->selectColumnsProcess($f,$v);$wd=count($Wc)selectSearchProcess($o,$v);$Pe=$b->selectOrderProcess($o,$v);$z=$b->selectLimitProcess();$Rc=($M?implode(", ",$M):"*".($Ae?", $Ae":"")).convert_fields($f,$o,$M)."\nFROM ".table($a);$Xc=($Wc&&$wd?"\nGROUP BY ".implode(", ",$Wc):"").($Pe?"\nORDER BY ".implode(", ",$Pe):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$yh=>$K){$Fa=convert_field($o[key($K)]);$M=array($Fa?$Fa:idf_escape(key($K)));$Z[]=where_check($yh,$o);$J=$l->select($a,$M,$Z,$M);if($J)echo +reset($J->fetch_row());}exit;}if($_POST&&!$m){$Th=$Z;if(!$_POST["all"]&&is_array($_POST["check"]))$Th[]="((".implode(") OR (",array_map('where_check',$_POST["check"]))."))";$Th=($Th?"\nWHERE ".implode(" AND ",$Th):"");$vf=$_h=null;foreach($v +as$u){if($u["type"]=="PRIMARY"){$vf=array_flip($u["columns"]);$_h=($M?$vf:array());break;}}foreach((array)$_h +as$x=>$X){if(in_array(idf_escape($x),$M))unset($_h[$x]);}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($a);$b->dumpTable($a,"");if(!is_array($_POST["check"])||$_h===array())$H="SELECT $Rc$Th$Xc";else{$wh=array();foreach($_POST["check"]as$X)$wh[]="(SELECT".limit($Rc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o).$Xc,1).")";$H=implode(" UNION ALL ",$wh);}$b->dumpData($a,"table",$H);exit;}if(!$b->selectEmailProcess($Z,$Mc)){if($_POST["save"]||$_POST["delete"]){$I=true;$ya=0;$O=array();if(!$_POST["delete"]){foreach($f +as$C=>$X){$X=process_input($o[$C]);if($X!==null&&($_POST["clone"]||$X!==false))$O[idf_escape($C)]=($X!==false?$X:idf_escape($C));}}if($_POST["delete"]||$O){if($_POST["clone"])$H="INTO ".table($a)." (".implode(", ",array_keys($O)).")\nSELECT ".implode(", ",$O)."\nFROM ".table($a);if($_POST["all"]||($_h===array()&&is_array($_POST["check"]))||$wd){$I=($_POST["delete"]?$l->delete($a,$Th):($_POST["clone"]?queries("INSERT $H$Th"):$l->update($a,$O,$Th)));$ya=$h->affected_rows;}else{foreach((array)$_POST["check"]as$X){$Sh="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o);$I=($_POST["delete"]?$l->delete($a,$Sh,1):($_POST["clone"]?queries("INSERT".limit1($H,$Sh)):$l->update($a,$O,$Sh)));if(!$I)break;$ya+=$h->affected_rows;}}}$he=lang(230,$ya);if($_POST["clone"]&&$I&&$ya==1){$Md=last_id();if($Md)$he=lang(143," $Md");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$he,$I);}elseif(!$_POST["import"]){if(!$_POST["val"])$m=lang(231);else{$I=true;$ya=0;foreach($_POST["val"]as$yh=>$K){$O=array();foreach($K +as$x=>$X){$x=bracket_escape($x,1);$O[idf_escape($x)]=(preg_match('~char|text~',$o[$x]["type"])||$X!=""?$b->processInput($o[$x],$X):"NULL");}$I=$l->update($a,$O," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($yh,$o),!($wd||$_h===array())," ");if(!$I)break;$ya+=$h->affected_rows;}queries_redirect(remove_from_uri(),lang(230,$ya),$I);}}elseif(!is_string($Fc=get_file("csv_file",true)))$m=upload_error($Fc);elseif(!preg_match('~~u',$Fc))$m=lang(232);else{cookie("adminer_import","output=".urlencode($xa["output"])."&format=".urlencode($_POST["separator"]));$I=true;$kb=array_keys($o);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$Fc,$Zd);$ya=count($Zd[0]);$l->begin();$ng=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$L=array();foreach($Zd[0]as$x=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$ng]*)$ng~",$X.$ng,$ae);if(!$x&&!array_diff($ae[1],$kb)){$kb=$ae[1];$ya--;}else{$O=array();foreach($ae[1]as$r=>$hb)$O[idf_escape($kb[$r])]=($hb==""&&$o[$kb[$r]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$hb))));$L[]=$O;}}$I=(!$L||$l->insertUpdate($a,$L,$vf));if($I)$l->commit();queries_redirect(remove_from_uri("page"),lang(233,$ya),$I);$l->rollback();}}}$Kg=$b->tableName($R);if(is_ajax()){page_headers();ob_start();}else +page_header(lang(35).": $Kg",$m);$O=null;if(isset($Yf["insert"])||!support("table")){$O="";foreach((array)$_GET["where"]as$X){if(count($Mc[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!preg_match('~[_%]~',$X["val"]))))$O.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$b->selectLinks($R,$O);if(!$f&&support("table"))echo"

    ".lang(234).($o?".":": ".error())."\n";else{echo"

    \n","
    ";hidden_fields_get();echo(DB!=""?''.(isset($_GET["ns"])?'':""):"");echo'',"
    \n";$b->selectColumnsPrint($M,$f);$b->selectSearchPrint($Z,$f,$v);$b->selectOrderPrint($Pe,$f,$v);$b->selectLimitPrint($z);$b->selectLengthPrint($Yg);$b->selectActionPrint($v);echo"
    \n";$E=$_GET["page"];if($E=="last"){$Pc=$h->result(count_rows($a,$Z,$wd,$Wc));$E=floor(max(0,$Pc-1)/$z);}$kg=$M;if(!$kg){$kg[]="*";if($Ae)$kg[]=$Ae;}$vb=convert_fields($f,$o,$M);if($vb)$kg[]=substr($vb,2);$I=$l->select($a,$kg,$Z,$Wc,$Pe,$z,$E,true);if(!$I)echo"

    ".error()."\n";else{if($w=="mssql"&&$E)$I->seek($z*$E);$hc=array();echo"

    \n";$L=array();while($K=$I->fetch_assoc()){if($E&&$w=="oracle")unset($K["RNUM"]);$L[]=$K;}if($_GET["page"]!="last"&&+$z&&$Wc&&$wd&&$w=="sql")$Pc=$h->result(" SELECT FOUND_ROWS()");if(!$L)echo"

    ".lang(90)."\n";else{$Oa=$b->backwardKeys($a,$Kg);echo"\n","".(!$Wc&&$M?"":"\n";if(is_ajax()){if($z%2==1&&$E%2==1)odd();ob_end_clean();}foreach($b->rowDescriptions($L,$Mc)as$se=>$K){$xh=unique_array($L[$se],$v);if(!$xh){$xh=array();foreach($L[$se]as$x=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$x))$xh[$x]=$X;}}$yh="";foreach($xh +as$x=>$X){if(($w=="sql"||$w=="pgsql")&&strlen($X)>64){$x="MD5(".(strpos($x,'(')?$x:idf_escape($x)).")";$X=md5($X);}$yh.="&".($X!==null?urlencode("where[".bracket_escape($x)."]")."=".urlencode($X):"null%5B%5D=".urlencode($x));}echo"".(!$Wc&&$M?"":"\n";}if(is_ajax())exit;echo"
    ".lang(235)."");$te=array();$Tc=array();reset($M);$If=1;foreach($L[0]as$x=>$X){if($x!=$Ae){$X=$_GET["columns"][key($M)];$n=$o[$M?($X?$X["col"]:current($M)):$x];$C=($n?$b->fieldName($n,$If):($X["fun"]?"*":$x));if($C!=""){$If++;$te[$x]=$C;$e=idf_escape($x);$hd=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($x);$Mb="&desc%5B0%5D=1";echo'','';echo +apply_sql_function($X["fun"],$C)."";echo"";}$Tc[$x]=$X["fun"];next($M);}}$Rd=array();if($_GET["modify"]){foreach($L +as$K){foreach($K +as$x=>$X)$Rd[$x]=max($Rd[$x],min(40,strlen(utf8_decode($X))));}}echo($Oa?"".lang(236):"")."
    ".checkbox("check[]",substr($yh,1),in_array(substr($yh,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").($wd||information_schema(DB)?"":" ".lang(237).""));foreach($K +as$x=>$X){if(isset($te[$x])){$n=$o[$x];if($X!=""&&(!isset($hc[$x])||$hc[$x]!=""))$hc[$x]=(is_mail($X)?$te[$x]:"");$_="";if(preg_match('~blob|bytea|raw|file~',$n["type"])&&$X!="")$_=ME.'download='.urlencode($a).'&field='.urlencode($x).$yh;if(!$_&&$X!==null){foreach((array)$Mc[$x]as$p){if(count($Mc[$x])==1||end($p["source"])==$x){$_="";foreach($p["source"]as$r=>$vg)$_.=where_link($r,$p["target"][$r],$L[$se][$vg]);$_=($p["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($p["db"]),ME):ME).'select='.urlencode($p["table"]).$_;if(count($p["source"])==1)break;}}}if($x=="COUNT(*)"){$_=ME."select=".urlencode($a);$r=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$xh))$_.=where_link($r++,$W["col"],$W["val"],$W["op"]);}foreach($xh +as$Bd=>$W)$_.=where_link($r++,$Bd,$W);}$X=select_value($X,$_,$n,$Yg);$s=h("val[$yh][".bracket_escape($x)."]");$Y=$_POST["val"][$yh][bracket_escape($x)];$dc=!is_array($K[$x])&&is_utf8($X)&&$L[$se][$x]==$K[$x]&&!$Tc[$x];$Xg=preg_match('~text|lob~',$n["type"]);if(($_GET["modify"]&&$dc)||$Y!==null){$Zc=h($Y!==null?$Y:$K[$x]);echo"".($Xg?"":"");}else{$Wd=strpos($X,"...");echo"$X";}}}if($Oa)echo"";$b->backwardKeysPrint($Oa,$L[$se]);echo"
    \n";}if(($L||$E)&&!is_ajax()){$sc=true;if($_GET["page"]!="last"){if(!+$z)$Pc=count($L);elseif($w!="sql"||!$wd){$Pc=($wd?false:found_rows($R,$Z));if($Pc$z||$E)){echo"

    ";$ce=($Pc===false?$E+(count($L)>=$z?2:1):floor(($Pc-1)/$z));if($w!="simpledb"){echo'".lang(239).":",pagination(0,$E).($E>5?" ...":"");for($r=max(1,$E-4);$r0){echo($E+5<$ce?" ...":""),($sc&&$Pc!==false?pagination($ce,$E):" ".lang(240)."");}echo(($Pc===false?count($L)+1:$Pc-$E*$z)>$z?' '.lang(242).'':'');}else{echo +lang(239).":",pagination(0,$E).($E>1?" ...":""),($E?pagination($E,$E):""),($ce>$E?pagination($E+1,$E).($ce>$E+1?" ...":""):"");}}echo"

    \n",($Pc!==false?"(".($sc?"":"~ ").lang(126,$Pc).") ":"");$Sb=($sc?"":"~ ").$Pc;echo +checkbox("all",1,0,lang(243),"var checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Sb' : checked); selectCount('selected2', this.checked || !checked ? '$Sb' : checked);")."\n";if($b->selectCommandPrint()){echo'',lang(235),'

    + +
    +
    ',lang(85),'
    + + + +
    +';}$Nc=$b->dumpFormat();foreach((array)$_GET["columns"]as$e){if($e["fun"]){unset($Nc['sql']);break;}}if($Nc){print_fieldset("export",lang(118)." ");$Ze=$b->dumpOutput();echo($Ze?html_select("output",$Ze,$xa["output"])." ":""),html_select("format",$Nc,$xa["format"])," \n","\n";}echo(!$Wc&&$M?"":"\n");}if($b->selectImportPrint()){print_fieldset("import",lang(55),!$L);echo" ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$xa["format"],1);echo" ","\n";}$b->selectEmailPrint(array_filter($hc,'strlen'),$f);echo"

    \n","
    \n";}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$_g=isset($_GET["status"]);page_header($_g?lang(80):lang(79));$Lh=($_g?show_status():show_variables());if(!$Lh)echo"

    ".lang(90)."\n";else{echo"\n";foreach($Lh +as$x=>$X){echo"","
    ".h($x)."","".nbsp($X);}echo"
    \n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Hg=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$C=>$R){$s=js_escape($C);json_row("Comment-$s",nbsp($R["Comment"]));if(!is_view($R)){foreach(array("Engine","Collation")as$x)json_row("$x-$s",nbsp($R[$x]));foreach($Hg+array("Auto_increment"=>0,"Rows"=>0)as$x=>$X){if($R[$x]!=""){$X=number_format($R[$x],0,'.',lang(8));json_row("$x-$s",($x=="Rows"&&$X&&$R["Engine"]==($xg=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Hg[$x]))$Hg[$x]+=($R["Engine"]!="InnoDB"||$x!="Data_free"?$R[$x]:0);}elseif(array_key_exists($x,$R))json_row("$x-$s");}}}foreach($Hg +as$x=>$X)json_row("sum-$x",number_format($X,0,'.',lang(8)));json_row("");}elseif($_GET["script"]=="kill")$h->query("KILL ".(+$_POST["kill"]));else{foreach(count_tables($b->databases())as$k=>$X)json_row("tables-".js_escape($k),$X);json_row("");}exit;}else{$Qg=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Qg&&!$m&&!$_POST["search"]){$I=true;$he="";if($w=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$I=truncate_tables($_POST["tables"]);$he=lang(244);}elseif($_POST["move"]){$I=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$he=lang(245);}elseif($_POST["copy"]){$I=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$he=lang(246);}elseif($_POST["drop"]){if($_POST["views"])$I=drop_views($_POST["views"]);if($I&&$_POST["tables"])$I=drop_tables($_POST["tables"]);$he=lang(247);}elseif($w!="sql"){$I=($w=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$he=lang(248);}elseif(!$_POST["tables"])$he=lang(7);elseif($I=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($K=$I->fetch_assoc())$he.="".h($K["Table"]).": ".h($K["Msg_text"])."
    ";}queries_redirect(substr(ME,0,-1),$he,$I);}page_header(($_GET["ns"]==""?lang(25).": ".h(DB):lang(88).": ".h($_GET["ns"])),$m,true);if($b->homepage()){if($_GET["ns"]!==""){echo"

    ".lang(249)."

    \n";$Pg=tables_list();if(!$Pg)echo"

    ".lang(7)."\n";else{echo"

    \n";if(support("table")){echo"
    ".lang(250)."
    "," \n","
    \n";if($_POST["search"]&&$_POST["query"]!="")search_tables();}echo"\n",'\n";$S=0;foreach($Pg +as$C=>$U){$Oh=($U!==null&&!preg_match('~table~i',$U));echo'
    ',''.lang(107),''.lang(251),''.lang(83),''.lang(252),''.lang(253),''.lang(254),''.lang(47),''.lang(255),(support("comment")?''.lang(101):''),"
    '.checkbox(($Oh?"views[]":"tables[]"),$C,in_array($C,$Qg,true),"","formUncheck('check-all');"),''.(support("table")||support("indexes")?''.h($C).'':h($C));if($Oh){echo''.lang(106).'','?';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(31)),"Index_length"=>array("indexes",lang(110)),"Data_free"=>array("edit",lang(32)),"Auto_increment"=>array("auto_increment=1&create",lang(31)),"Rows"=>array("select",lang(28)),)as$x=>$_){$s=" id='$x-".h($C)."'";echo($_?"".(support("table")||$x=="Rows"||(support("indexes")&&$x!="Data_length")?"?":"?"):" ");}$S++;}echo(support("comment")?" ":"");}echo"
     ".lang(228,count($Pg)),"".nbsp($w=="sql"?$h->result("SELECT @@storage_engine"):""),"".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$x)echo" ";echo"
    \n";if(!information_schema(DB)){$Ih=" ";$Le=" ";echo"
    ".lang(85)."
    ".($w=="sqlite"?$Ih:($w=="pgsql"?$Ih.$Le:($w=="sql"?" ".$Le." "." ":"")))." "."\n";$j=(support("scheme")?$b->schemas():$b->databases());if(count($j)!=1&&$w!="sqlite"){$k=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"

    ".lang(262).": ",($j?html_select("target",$j,$k):'')," ",(support("copy")?" ":""),"\n";}echo"\n";echo"\n","

    \n";}echo"
    \n","\n";}echo'

    ".lang(121)."

    \n";$cg=routines();if($cg){echo"\n",'\n";odd('');foreach($cg +as$K){echo'','
    '.lang(163).''.lang(97).''.lang(202)." 
    '.h($K["ROUTINE_NAME"]).'',''.h($K["ROUTINE_TYPE"]),''.h($K["DTD_IDENTIFIER"]),''.lang(113)."";}echo"
    \n";}echo'

    ".lang(265)."

    \n";$og=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema()");if($og){echo"\n","\n";odd('');foreach($og +as$X)echo"
    ".lang(163)."
    ".h($X)."\n";echo"
    \n";}echo"

    ".lang(13)."

    \n";$Gh=types();if($Gh){echo"\n","\n";odd('');foreach($Gh +as$X)echo"
    ".lang(163)."
    ".h($X)."\n";echo"
    \n";}echo"

    ".lang(122)."

    \n";$L=get_rows("SHOW EVENTS");if($L){echo"\n","\n";foreach($L +as$K){echo"","
    ".lang(163)."".lang(266)."".lang(191)."".lang(192)."
    ".h($K["Name"]),"".($K["Execute at"]?lang(267)."".$K["Execute at"]:lang(193)." ".$K["Interval value"]." ".$K["Interval field"]."$K[Starts]"),"$K[Ends]",''.lang(113).'';}echo"
    \n";$qc=$h->result("SELECT @@event_scheduler");if($qc&&$qc!="ON")echo"

    event_scheduler: ".h($qc)."\n";}echo'

    2G*AW_5fmmNx_pOzg?&6KSOt4uebBJ)x%?62c9e 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 literal 0 HcmV?d00001 diff --git a/static/images/bg.gif b/static/images/bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..abd73edfe2ae25c45ae2dd835de9319a056facba GIT binary patch literal 363 zcmZ?wbhEHbWMsI`aFv1K%a<>&UcGw${Q39q-yb}9@a@~TU%!6+`Sa(~r%#_he}4S< z@sA%rzJC4s^5x4HFJ8QT`}V_!53gUp{`>duyLa!NJ$v^5|NomeZ$5eQBnhV-5*Y_Gj}|@^WOb1_0bcq51#- literal 0 HcmV?d00001 diff --git a/static/images/buttons_40.png b/static/images/buttons_40.png new file mode 100644 index 0000000000000000000000000000000000000000..b36b6bfe145342e6dda55054b575dda5e45356ad GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^>_Du+!2~4to+?iVQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0XB4ude`@%$AjK*2elE{-7<{#%1D@*P&-nDX!c`E`cb*ZDNq zzb(D!D(5zVWp7dWF`>`fr!4YviMk?|^zm2EKRwy!mc4hspVu*4nt1zOz`Bq-td^Wt zqy8V-w(r`@ojN*)BGxX7XZaf|lQ^@`=0K4?Tf_%*Nkz7aml&cCNd+HzQP7mJz_npJ z-^`@lo(@aCeOzyC++emSpu=b5*Z&L|;Tw&=D}1}AV_dACaPFeipF0!Uf$n7RboFyt I=akR{0LJ@gLI3~& literal 0 HcmV?d00001 diff --git a/static/images/desktop/narrow.png b/static/images/desktop/narrow.png new file mode 100644 index 0000000000000000000000000000000000000000..a5e2d2a2e7fb69a50906c22d41ca41ed606b7581 GIT binary patch literal 2945 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 literal 0 HcmV?d00001 diff --git a/static/images/desktop/start.png b/static/images/desktop/start.png new file mode 100644 index 0000000000000000000000000000000000000000..3d4c9918251501788a5496c1ec4696535cde287f GIT binary patch literal 3436 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 ZGcTNXXJ7xk_3(E(l8yR0dQ;ne@&~(EJ5K-r literal 0 HcmV?d00001 diff --git a/static/images/desktop/taskbarhover.png b/static/images/desktop/taskbarhover.png new file mode 100644 index 0000000000000000000000000000000000000000..c9607a4258e154dfa015d1c3ec08f27a625b302a GIT binary patch literal 3240 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 literal 0 HcmV?d00001 diff --git a/static/images/file.png b/static/images/file.png new file mode 100644 index 0000000000000000000000000000000000000000..279d978fcc0b919e04d764e3d611bad1fa0cc9ff GIT binary patch literal 556 zcmV+{0@MA8P)H5`wBvcHJwiHO923YqA0J3>MKG+qj3dF2nGWa zx3|4mL~Z~feZo u{*8PB{yE^R2_475a=9$+FvoEsYkvT)8s%Vt0pPU&0000A#8?!7bj>R6LGw@Asvg<}+CL6%@q;Y96f*Sa7V8AP}$XeIgw*s>PQqE&4J z$z8RRf`~%;T7=T%X!GUFJ?DP3@J@`4i(WXK-#Lf(IluRP1#!I3U6|<*oJUF=$3aLy zY`s+stNi8M#MGsmlgs=QW>W-89VvV2lw;eZog@MSAtVS0w8BkTiwg@29i7k*=%+(pU?NT0*t1((bID+g%~m-Ac}~>5WyjuGKuU_r?`i9SUN42Z zP(rU&D3xk>xr=mm?P7g?9#O9o6^h7)!c-ceb^8=lSi$q^Fnofc=TC7m89oe;U|Ry6 zw21}=&`V25(8SF3!Uy7l+Yz(h5ya7PCk2;xL(n#k^Mk{K6oy+~qpH3s-7{PrgL zEqzcx;`A8(b91CePjYZ_5-)bxh~L{Bgz@i92mabG3QzLXK7HIex0Iz@0HQ_r0crj( degi)M{s4V(=zz<52bKT;002ovPDHLkV1lneFTel* literal 0 HcmV?d00001 diff --git a/static/images/file_16/avi.png b/static/images/file_16/avi.png new file mode 100644 index 0000000000000000000000000000000000000000..a301bf4197dcd91a9a818625a425ddbf94218ebb GIT binary patch literal 752 zcmVT-%1T$$WH8xnNK^N*qk+xVDB5vF$DY_845enTFElqJJu8I+&C?eR@ zt%Rg53R*;hHl6HJ6~QF>rNm2kP z6mX>y8Uz5KhMEaL08o7A?c)_c+`fLD`0RNa_a8ul0u+n1?{#P`eZ!rZ3nXhlW4L~b zzCfI&Z2IN)$=3-t)@Xh70j=5hXkA`_7hj-Ktx-ETLG<<2JcVJH>Yl()zOce4a|~%l z#V^%fnnJ$%lETJ1-8ZL^<~4d_`x$=aHO!l-fDR@&H2qfG7;R8KJW1=y6}HcwL8hkY z6ic{~5w^N9@y_3DEq{x-05w4d1;(F#vgzB#iO_reG3pm)*uHp?#&gf}>-^``Rqzhn z@~2rCVrn1;KnS2pV5&GAcQ-fr^Tf+&wZh72--#>mW0s^o4<7dmsR9X(v(WSEUq;1sX8#G-y^2Wa4Im_R+@k5~xNov3S= zMRybjOYzbTR&bY`O;?HV6XFrJa2WkQ-f)gv147IafmYQE*uz8cHr6p$b};rBix4+4 z`GrO{|~A_xMhR;yAjm&IBurBX@O*Vp@! z%vozC3`1$PS`vn#gkdPPT1|Z4mrA7~)>>&cn^LdWrC2Pk0+VV#f#2BO${Oh;(lkXx zu-4LQwHO^8JutE{X1?=bL+565Pd@krHs!^&6WrVI8A4cI$dNS~*LCrIpEOOe*5Y|y zn*?C`(bxRg@yx2y3f*iI>QpeUV&!9v|}50t8Lx^y|m*hqUTZ&eack}Ksm5H-}D(V4%?Mo7SCtN z7=_jv$LXr40M6aq%AY>vZWb@(69JrI%JRJ&2BgFZM6N~yz2DID~2 wnj}e+K3CSSdGD>=Pd@>S)91<#fdwjm0n)`8GVzJc^#A|>07*qoM6N<$f*qb3G5`Po literal 0 HcmV?d00001 diff --git a/static/images/file_16/cpp.png b/static/images/file_16/cpp.png new file mode 100644 index 0000000000000000000000000000000000000000..30e646a16a237757d841c4777030da7f9583e400 GIT binary patch literal 525 zcmV+o0`mQdP)u*)7@2qgCIx;M@I);TpYwnH>F(!|ASx? zK?^BTG^pUirVuJfY^iCQG-I!)WA8n#j!Yw2wg&{t4lk$cPU60$0E&C zP;n`gn_I}}ks+IQDQHR}Qqso8y?+P)S&HOMAPbDf zjMsr<;1Ku$_*Z>kw$W&axUg+o2q8qNRC)#6jwlFK@}r8P5ElcL%jNZaK0n`Ik&*;N zRn^$=JTDkmtJSuP#o{AiBoUZYp=p|-vDIqzBXDOpmx`(|PT6dhN~J=p)k4?xLHZu> zH5NF$SF%jgq);fxX^~iA67V{@nEi53DE#>+h(Lw6a|%cmzFU3}v|r2_0Br94ywb01 z9R%}2z>e#4aMELAVS?39jUb=or^oeSMEKftdOq#5^SjnQ^MZK3d&I`VM5OQZ`~;xu z)9&_xT`v?%AHMN^@$Mzxal^pyl6yW=V;XCAotkqw5P_jke3xYZWRzS(X)xK20C0kI-&fDN-Mx%A%_*P!y{W0yY6t zGahETNKGNoBaO}+jsEZa=ZxSftS}5ed7f7X5JIq-rIbWb^caTW$8NWK%SMPCFr7|A z&+|@l;U>fwLy{!)`~926V$r?4yj(-9{GzqS7_&Zkt+fWg^E`qeIB&IDU$3sNIy->p zqIe;R<|$e~0fi7OmrK$#Jr9E5bFbI40Gv&LF@`9S{2Zh>ZUNVEIg~b4Vvg!QolXa1 z3~8Fa2I|0M?LY{@DA9z8i(9H9Rtgt|=Njyi&t$$tDTUS=$8i{qM%LB{LI_q$k%=PK ze85Gg#G9tW=zfT?3XCTatJMmn6iO+ilzL}`Nmf9oF)tcrtiRiD2R`9&jEzH%rUh}dHuc@@LZhN^{T(qU<+_}clXV<{9 literal 0 HcmV?d00001 diff --git a/static/images/file_16/doc.png b/static/images/file_16/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..1d861b56614f59565c46002d5b18d699a94df584 GIT binary patch literal 3549 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 BsT2SJ literal 0 HcmV?d00001 diff --git a/static/images/file_16/file.png b/static/images/file_16/file.png new file mode 100644 index 0000000000000000000000000000000000000000..809f7e0164e316a45dd744d206e7fc3331b47fb4 GIT binary patch literal 291 zcmV+;0o?wHP)PL7Hve(LYCb}Nu4M10rDd0tnwOmVi8a*7hxwwei&xPLUwUvVj?zv z)#bu>?kTPaAplU<_2;lKUDr_*g*gAZ%=4VS?@>x&tpz|ziM19fWdtb85`YK*pp-fl zkNI8(P6y6@qn%1*@bt3(8(?>Pxw!c7e+>fj?;sFqgYC@)$H)2+AjE{h>wYmHX|TCo zEv03LyRfDgzzUO-VgQ}F-*002ovPDHLkV1gujcA@|P literal 0 HcmV?d00001 diff --git a/static/images/file_16/fla.png b/static/images/file_16/fla.png new file mode 100644 index 0000000000000000000000000000000000000000..d75dd72daf386e443b86bfa087e8132ad48edfd8 GIT binary patch literal 589 zcmV-T0u=!};+%=Ul~>UXD%7Wl3gGFqoB5N_83vn*Hk6+EjMy z>ioho|Hy6^p-5+f-@I71B}%1!G^z`U&A>reT)I0mHGS{-r#}IDyNHD_YDXB*6@p8I zAVd*F5-}yR;nCWO-JGuN3J5L|oPdMEM}n8`^IoXGSmoW*??Z@N00a3FJT!lvN}xy;pDqaufzlp9r=c zs2;I=X++YG2CgVWG?<_$h`oRup^ab>l0;f{$MTb55(%}@z?BrZ5+-WA+QmUmK^w4W zLJQtLv*ZLUiZ_o-B%Rof=+mAKIs-mxR#p^-h(%NXY_JH1ghi9@6``{Og+Z`ewMApm z7&I1zCE*Ct18_vz&>gB?ou=!};+%=Ul~>UXD%7Wl3gGFqoB5N_83vn*Hk6+EjMy z>ioho|Hy6^p-5+f-@I71B}%1!G^z`U&A>reT)I0mHGS{-r#}IDyNHD_YDXB*6@p8I zAVd*F5-}yR;nCWO-JGuN3J5L|oPdMEM}n8`^IoXGSmoW*??Z@N00a3FJT!lvN}xy;pDqaufzlp9r=c zs2;I=X++YG2CgVWG?<_$h`oRup^ab>l0;f{$MTb55(%}@z?BrZ5+-WA+QmUmK^w4W zLJQtLv*ZLUiZ_o-B%Rof=+mAKIs-mxR#p^-h(%NXY_JH1ghi9@6``{Og+Z`ewMApm z7&I1zCE*Ct18_vz&>gB?o!|g^5A0Xh&ni!LQIB;(5j9pnC4}G zJE$6>j=N(DIVnXU^DzXG1GiWP9D0xqpDU=NQ5J?81abU-%a4qp*^zJr&}6DIkkttS zB7%x7LBgR2+2$r1({W_dC`~ewI!T?ZGxEht8{gl*`Bhi|%(^<74b4vfuRUUN+8bRDf-1R)3n5#D|1@pkl% zhfg}60zF_70M37YYtrfLT^$XYN2bp1KjZE1Za+QuVZXjSnxr4b)BJ4GsC`@;XZ{{^ z_Xf2AlchI(aOZmY@|SP#KKya(%j3Dn+h4E$dT;9r@Y&J$fA@BOOjs!e_5c6?07*qo IM6N<$g1C1gY5)KL literal 0 HcmV?d00001 diff --git a/static/images/file_16/html.png b/static/images/file_16/html.png new file mode 100644 index 0000000000000000000000000000000000000000..d20612711751e3649b815a0d6ce9046f89e1ef0b GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}MSxF;>;M1%flS_&3I8wo0?7wn z_CN$=L&z67&OioG9HIco{{HES9!@Oi%ilI*`~Ca;f&`qvxb_A6MHvqvo_mPuHj&SR{Y^ WH@8rIskIHzEexKnelF{r5}E+x%#*PI literal 0 HcmV?d00001 diff --git a/static/images/file_16/ini.png b/static/images/file_16/ini.png new file mode 100644 index 0000000000000000000000000000000000000000..4f469728e2de9c98bccf44e332627dda82e5d2ad GIT binary patch literal 624 zcmV-$0+0QPP)*Lnm?(Xi7Y{ zzyU0)tIe_&u@pstF@`uE;CUX+=E_Aix-dQVMG=!(m*qsMTtJJyDcinPUKOe}B(pI%Sq+Xst`t0kqb< zZM9I2Q~G0J1+6Po{VJ7uoit6!^PD&JIu)&P90x3jeVpvf1Bi&sW-}Tqjfaa=DqLS* zv({)}JP&|bK6_f+zF=^Ee*XRF=;&9HBxXUSe}v;WTwY#w0R8~2HB7B{bj`v50000< KMNUMnLSTZSP#k&y literal 0 HcmV?d00001 diff --git a/static/images/file_16/jpg.png b/static/images/file_16/jpg.png new file mode 100644 index 0000000000000000000000000000000000000000..e5aad6f55ee54341c5b294606c1bb45957849c09 GIT binary patch literal 707 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 RXJ`Nb002ovPDHLkV1fq{mjD0& literal 0 HcmV?d00001 diff --git a/static/images/file_16/mp3.png b/static/images/file_16/mp3.png new file mode 100644 index 0000000000000000000000000000000000000000..f91780fa5add1c5115b138e621d6c8eced4e3881 GIT binary patch literal 554 zcmV+_0@eMAP)-j~GKNMrh?ttcu*iHkLg?W7_iR8Yi4YoUt>c6BVc>moP^nMEuZ2L+w% zBsi%WkTgk?yxb3ml#uscJaC3{&j0@I;eQ-!Et7LOf+3|K5{uESH&Q?* z7K>yChWe)(o=F4aFYlcJzzw~GD6jxb029ew!+S=Kj4^g}m`FsjbpN$a+za6KCAQx= zIDL}Ay-6Z{f^wzK+V?W+%fC>KMi>z9PxzV!C~g$_{PZJ@A4R0mCC9eD)=IzMM|X_g z3;|l67g}R2_bOW|e0f`3eefVE#bDoB&obVL0WqV5k8u)qqK(%h`N6@ zM&UTZH}_Y7HVSJ^C%0k>_ypvwHE5%H0%mBt{tj1k%+f|7UGaQ;`qZI;OBd4y3m|;} zV>GTSvd3pHq>|^(XDqgRgQ(VOaARjbj;LdeF5BQ00I8Ht6ygcocoE(7z5!JL$8o%o zq+I;F_~NR?wyd?+9mml@fF2#%wzQsod{#=QW{kQagsTDaxm)C69=Hos(pMg?c6;Um stUQ}%1+D?Rfx_X-4+;TqOIsO=e?j`{csAYfSO5S307*qoM6N<$g6om|m;e9( literal 0 HcmV?d00001 diff --git a/static/images/file_16/oexe.png b/static/images/file_16/oexe.png new file mode 100644 index 0000000000000000000000000000000000000000..2de440608df7e725fb1e36e8d0f160704100744b GIT binary patch literal 606 zcmV-k0-^nhP)m<%jb;)bACQ%TQ+Pvnyb7+!2zEtP~H{6fs%W?NPQdNTSrV2Hu^29NXgUMlty{B%Embk^|5@D5qWy5~@n7N-?*(X1m^O-&a*y z*!&(beN`pf^=4ykb*=A1RcRz&T?&8h72h0t=v_QXWF%i*QdMH7P;&q{tqlokCaiswzJ1?se{j^Y$=rwSCDl6U7_F z2;Ll&Q~i#GO$Y+P3=>AX0p^KtsEUj#78IBO;4on#5X=l101#DRFrb|W zQ!CfXjdu~o=5FEaYF}Lyn14~vL>P&;cb(S*1fa~K+MFuX5&&>(`^O{^>XSCFUrAeX zDRpF*)0SL_M|TeY=;Ir&n&*Kdutd>h+u}-(Fa!c?GRE$=XUW6x)IUC%mS_YkfnXc} z+P>s$iz_Bbb75fqXSVCj^+7sDIbU5njfm}fbFus}$|oPwFmE?DLdUdROSC((2%v5r s(?0^e;W#Z{ZZjbcJ>Hin>L;D^UjRsP8nT^8MgRZ+07*qoM6N<$f{!r|x&QzG literal 0 HcmV?d00001 diff --git a/static/images/file_16/pdf.png b/static/images/file_16/pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..d7df6701dc8b9140684acc839e5ee08f6bb7bd7a GIT binary patch literal 560 zcmV-00?+-4P)%5eFh)En^#YQ;L($3MHD2MxQ0dC z-OS9+bd`sl&8}o^Xy`-N$M^q~(4VhQj$dqN`gA7-RAAN`lQuDJ6O-1MYxa3~{l=@& z@9FEuZ{CfUbGm#q$#xsFvPo7tl*QenGOCnOwTvny?fm%k^z3D8>Gb)dqh}icPTe_m zGUmHC3HKflZ`~nNA*v8n87j21Y1|*i!z+L~8FezM&Z*8vq{$z`UP%zhRLFbKR#3Jw zwdGv44$%Iy3gqX%&=?UBf(Sun1#;o4LDxsA3q@bw{bv(OOxgOe}rVzX#u+U z@`?QZL)<|C6$lEMtN^PBogqLFLB)`Kz{S}Q)DqdjA#RX~*-5huu^%z+D36)_7)N`OEfkv6fG;NJ+!qAV4mXyz2# zyI7tx8;ua0-KM9rsOuzQkA**zg+TlM@PYEC}X{ zT@b)}$OZ#PgHX*|!emNJEglp{F^5c9v)Eu@?$m7}sKTsbD^mo+0S`i2v+%Y3xdb$3 yZ>yB*#yW;spf+KUlp-iG2zkHGDj>-F<=kHj_V(*x1FX0J0000vYep8SaFV10Q$h+;hIUPX_=v5b}%>Tm<(&j1&5;I!55C)oN0s(P%ZB zP3Q#ahfpXKWF@S?jm4U#fv)QovMhrriclyNs6-G12#3R##4PSZ0VY(dRWJ;Lwuq{# zAW0Gwi$yA^R4RZ!;W+L`f&%x{=D^VK#BBWL4Ys{;*!A7Q;!=dN<&D8*GzGaF4`hV4 zDbY0{NrMX>ZqF=0((gR5-zL$kC*b)!fwu{Euru|XrG<$^n#@)7i_>rCmRxnDq>$Y%gJaCkRd|tE*a2x05Pe!I^e13o69#&RQZ36s0 zB=O|K2Yi(jsMqThn}9t?f5E-)L^naZ+db$&%M$!bCdm=jv7?t_lB?3&%Ltq(>ESw? c;MI421LCcoDG!2@;{X5v07*qoM6N<$f`UZt7XSbN literal 0 HcmV?d00001 diff --git a/static/images/file_16/ppt.png b/static/images/file_16/ppt.png new file mode 100644 index 0000000000000000000000000000000000000000..3b032ad31db486ae038436776bf5a87fcb1e2e18 GIT binary patch literal 3539 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 IM6N<$g2muEbN~PV literal 0 HcmV?d00001 diff --git a/static/images/file_16/psd.png b/static/images/file_16/psd.png new file mode 100644 index 0000000000000000000000000000000000000000..ba4b3316dc31bfb02643bdb9edc2ba5342d3e4c6 GIT binary patch literal 582 zcmV-M0=fN(P)c+Kxa2d2|@snvdwxS zSADVj^4SJ|MdCDb_7=ax2Xtg0NP;*92!V2z=+fZ(-q&xZs&h{^&jaLXW@G5<_pe(A z)`GL(3|PZRwtHyw_MN5SR|_Nm09bGi5MYhp8wbXMR{U7qr19bNRn?G7Lo>63tpII6 zYcQJLE=@6SN!X?b*_eZ0j`Dhq%6@X<=fI=+R)EnSpfsh~5`AO+Og%3l)Dh_nBzv-u z9e|$8=yb8rMuB!H1xB%3(|mik%3j@&8_qEL_%4OXQHb#^#_gt{m0wn}QB^Q=kMh@j zTqU9&N!;E6DCNg%OdEiTAc!E4*qVaH6>KU4*$(36HJH2!-#>v&_*Pq|5P=CjXyuC^ zrHY^#f=I#g+Og5<0^pp25P~C+0c>xB2>d@V2FhCyNPi}!H@pR473jzpiId{s?2&Ue?QF=fz-^KMSIfRsCI+8S$qaIq;_nKarR_#1cU?MOP*9N+I`tSx5LpjC@X-eY- z(!zR$CiH%_wxB)426QGI3yU8q?;J9Hf1It#J~7e*guI|YoP7y~fjs{ghrkZNA3DYH U79d71Pyhe`07*qoM6N<$f>pK(dH?_b literal 0 HcmV?d00001 diff --git a/static/images/file_16/py.png b/static/images/file_16/py.png new file mode 100644 index 0000000000000000000000000000000000000000..f8244ea2d82527a44191ed4d66c711968c711238 GIT binary patch literal 575 zcmV-F0>J%=P)90Z59`z7BdD5N~p+eKM2=;YI-++Awz5=C?gQtS%!5$Qp z*3w0d(mw_(zY=J&$?neVuERjnhP8qp_`qDAXTHOHtu#%sEUO08`M0cV_N#*l^&kje zL{X?^LKj`j6kUtaIF5tsy7RzLKp2MjeIFrgY+D#OQ%ubHC_{lIEDhQSA=uvU@a)xR zTAdUb1&oV;r;D>x#!DH27#_4$!=`Iqo5_hHp_D{2=0`8(<=YK}Z695d5g4l2YE;i1&|eJ1F=#lWifNE$I`tPr9wy=OU9fo zuH}OqKz!OS0O#}2K8$#9-Dk4mLp;#!gBs}eO#@jyeS)QjcUXD-k?MpGs%wDuK?y6d z36d+M?theL=8#gR*D8`3~3`oq*%@ zy->T$&gL3t#V#ag7{qM`W3ybHo@RA*b$el9VG-~$PdJL3D^jg5n}tb|1lRZRcXtik zXf)=4jZ|kuU^eV{??+|ap&&s+jp;Ax^VIQr2`i(Up;Z;#(~BI`wtx0zi-W%f)hKo?bx*^@6?Q) z>$ff18?$!p+BIv}&s)7?*4ouuwlJ(;vaELPk$rO(IPRNlvbTHI+=Vk1bk3VSTW5EN z=I*w{g~#Q0Hcg&1@p{b)k)5@idupTS9Gy66;=EZ5J-z)QGmh-&Qk>G(?la{`;iRIj z)^3kUyIm(7X>M+7Y;HZ5vcazBu+6k2^X?wMyzV4E*`giEsc8~LJEaP?85cxew4SD4 z5OL08R#Rxo1@kF!@$qwfV^#8kPa03RNhnoIo-C2;&!6ud8WyRXEfp3Tl^@Q)nd8kL zKR+NKaGP$WK$@aJiUNO%0w0h}1|s>5n$;DKszvr5+)0X+_5uP?(q-l%#rn2+2Ev&J z^5QP0a#lX23bvC(QnS=W6P1k(^-PTPbUFpR^mL7Nbu~*Qw6(Rh(j~<-HMNxW7~0u` z)iks^*n&IQLXyNJvjw%AI9xhdLsCVhRMfSU)U;EDrISS@lSQPGMMP4BrR7w#l7vO_ zcy#l5^zwN%^SE_H)Maycw0Jf7b2)XmHJFuURiqSoB6!3SIK((5EQG`vLK%d@8F)h& zI06{>0~z>(82E!31pF8T{2BNe_+;4l7#MhT8Mt&9xOCZg8Q6IlSa}&3ICU5}b(w)| zZUzPp9R@Z%24-1cQe>bzQ2fcl$j)$+K?h_rC{HkO{9(}kTJ*F-aB2AJh=p0MuO_zS z+;mdt3S~RO%ALpBIZJF{#;ebL%E02oTl7NGcSbLOq rY%07U=y-CXO(&bEkc)=E0@qy%K^Do}H;l3_&dY2M>%HFDz+epk+KzTi literal 0 HcmV?d00001 diff --git a/static/images/file_16/swf.png b/static/images/file_16/swf.png new file mode 100644 index 0000000000000000000000000000000000000000..4eff3264a888ce72599406590f8c64a763cf3da6 GIT binary patch literal 530 zcmV+t0`2{YP)2FB7&lof*>KC{s|J6XlqcxGAbG@#M&mN zuu`%SQVG$3Ai6WNKQeQV#mwyNuBBeMJb3S&@11+!g?|hO@ap)&Ox3xYPD~CT8X$xL zu^>joKn%To^yvD|r|(68=^$9DIPb1ECN>h02_nElIKT4zOUzuTbXo~2(o0%)62 za9%1Fu2|&6?OPb|ex=Fw%hy;o4{3=(T0-i;C@67IJ9n0a%a=IRXt2NYg^wF=h-8Dg z$Uwn(37&+2^ADN;>}|JLUs~o@zn}aH`BWMZ4m$`WymaI3>O=NgEp|6Q5XXrtrQ#d} zonZ%oSyb?n9=v<}WTcr=E*{RV6b%5MyW!gG#N=UMVlYg~Aj)Amxc{x+TjPJkA6q~h Uzi7w+P5=M^07*qoM6N<$f)AeW`Tzg` literal 0 HcmV?d00001 diff --git a/static/images/file_16/ttf.png b/static/images/file_16/ttf.png new file mode 100644 index 0000000000000000000000000000000000000000..97bba0f1d31d330ff72c1a5b8afaf0dd76e692df GIT binary patch literal 530 zcmV+t0`2{YP)LXNGdl@;nKK@T0g*oN`tie zv7=pfy_%astIbA|As42Y8Sc5?Im`&_Y6Bnm|H^<7klOs<(|9uZrK%WX5Ru&lC?J3_ zhDM{&Dhr^h#Bod%MO3R*1W4cB5D}_}hlmJin$m1GsnzQRN+BR3tg?)6*VlBrU0SUc zK@cD!oSvTY`ua)`1YBKRVMKNXtmjepeJ(C8xV*eXjN#|q9U`*ci*S2;i|_k*p0|g< z7*OT>{Cu5*G5C!};aNoJ^?C*Ej(`yX5k8)r;GCmkEq?BG6XfynF=?7&jM<+-tyaTY ziE2=Nzi~4#8G92L}g? z$76io$2mumBxG5Jb8bWAb_w#8Bngj?j|_)HthIDH9nQ|qn9b(+ex2!bdIS6}TlpNv zu_j5P%jHtTFw`&%buyXg^YgQgMkBqyzt{PEt`83nKaP%${=T0w!3MojsT9E_NrEwk zcDv2f)6@6CVDM$JSY+D*8C##HENqM+ilUo-zyEbMn-$HQ>;Ni2o%hS-p56AvA4X=e UvJ6x0O8@`>07*qoM6N<$g5i+)dlyT_7|9aH%&m11e40E!p)cT5H7&?@s znrb!e8UOo#hkHM+0PubP!FAn7N@Q8acAK(Vy^|zwOsCVQ_4?y(JRZN~I}HFSC6;BC z^8lo2%4V}+xm+@To!if|*~Ig_LQ*@L+M`~tqw6}YR*Nf5!!%7>2rN-2iJVHIb!5)H$k*Xx}Y{D$kgD5ZYPFYX`+0>Uu-y8ymQ tEc5RYE8XB24S*y`h@$A?Q2wa^J^_<_RA*@mpq2mt002ovPDHLkV1jMJmFEBe literal 0 HcmV?d00001 diff --git a/static/images/file_16/xls.png b/static/images/file_16/xls.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b21c1c0f6dbe3d288c1de88cec3bd7104c215b GIT binary patch literal 3565 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 literal 0 HcmV?d00001 diff --git a/static/images/file_16/xml.png b/static/images/file_16/xml.png new file mode 100644 index 0000000000000000000000000000000000000000..4ffe8a3060b43caabea01f6341522e3e9facf11d GIT binary patch literal 478 zcmV<40U`d0P)L4*bHG4B_+P_xtf2tu>D0+yQp@zl<~Xn~TlPa;XmE zSY?xR_!i0ScK7;$H#bFOoMOtSDZiUY{DFdiM!_%&!-$-;YR- z&+zsh7)XEriQL{YfVX>(=x{{z_9H-DfU)Lwfsl5MHzFyF{zioiuM_*`lA93S(2cUjL?7@(?Z{oe^7-;L&{$}Ua%RQ1LK}8Xs z=jr+cwmDF1nx@R>bAlis3_}Kk!3daE1eD-%wARFN%xpHJ-EK3POoD#D{|xZ!M+B$} zjbOF1hZ_!uL9f?)0-WhAI}6oGegdZ7}6i*C!Hg<8=nh@ow*qM#rMls1CUBB2&VU<*NL6SWFjC`nM8 z7CG%Ahzx=X3h5RYElNZ3Y2%xF?rkyi<~{!%I1KkU_x$ENXHGy7vv;@z9B7>18P$##R&%-*El>(^TNpTx^4l1+YAA)< zj=+oH#Flrbr>6@7+fu)tK(!czPBO&iX^i2*(XaVC+tfV{am^368YpK4XD!ZJwAS33 z3eZ}YS|!@SkI!?6L(SZvZxewRi!1V2?g$Z|1yUY%gLK=SR9wPAjoLs zoB2Z|Ny6yG&Qe=mT4H~153BWhIfv4~3Zb(WDYCC?mN39~PLd>CJ-Z7h8BQu#o42>JwziodpMl_tJiO->aU3)Lc!kD-N%0)~-c|mI zk|3?q=3R4Hwg14;zP^PS0o_BQ1t66gnv<7qvhwQ&qhw^Bxt zgfWDn!qM&#^o*QBw!H%&vj8?@6L|mX#$~53cOhwGNGa2+gigw)rHw|x^-wHoxUNRQ zCEOz6d4MqhR0^HFW9S|nM=F!?7o(1}(U8F6>`cyaj=b*5XB3SG&;zKUwFgrSOq6QZ zFo9$JC(%7P2Ftd~qs{i%RDr{(w51xol!&oh=P-JQC;SICHynq6sv41sNeT2TZ^ds` zG9BA+90IXWLxluu{Id@PYGE1%+wKTRSZ?tz0Ys$KP`QH|FkXYjc0*vNpaFS+1W0qh z3bZ^1DyTh%f|Ad}IB*4MzY0{x=uI;^7m}Emgoj^dbNm7=nNHQO*JIa{|cy zRUizag?YfT)R1jAEQYlx`GQ)vMuC+#cjtyjJ8xyv%Kr~&ZnuKpzc%n^s{@&|9XUS= zbz5AVow4#=xtrNcGGt1s{fHdk&nV#Yr?t}0OM@0dlmc1HPQ=q*P@j-Uz{Gb$6aiC- z_+4RVCn1tR?W0t045Z`I@k2Q+m&!8$aPJDx*OuXw7jnM@D?|W$RKVM_3wBTsVz?jz z!Qcz4(l`iLA@VmC0Y*v?4)>^fj5QKlpdJa0e}u?%a&*oOe^7VauHJqQ5F1ge*MV3g z@q)lLQU*_4T<9~NdP!;o+6rmTCCBD|L@g1S2@9@wPiylqA;<;CjlnvIWg0AL&E@>* z$6x9=)fS|8fLuyVJlPD-Yf50~?EU%Tw@35e*MENK%4fe)bIC1u%ZJ7vtTtLGK%pE1 zZy|CeHTks8@7odp0K4Z708DLfuolH4*Gat~BG*%s&+2?0#y`(cLK1BXL1zE}002ov JPDHLkV1h%XeqI0o literal 0 HcmV?d00001 diff --git a/static/images/image.png b/static/images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..76830d83f4ae9c03364064a9fe4653a51dabbf5d GIT binary patch literal 3448 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 a1^hoEMuH&# literal 0 HcmV?d00001 diff --git a/static/images/lazy.gif b/static/images/lazy.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bb90fd6a49107a321c35b9cee4a7b810314b51f GIT binary patch literal 1787 zcmZXTYfw{X9>&iJhvXcHF*h)T1OnEW1i^?zgDfop1p?usL*#PMGT;HQkSO{q6FlJyb$PWkPf|h*eTST}7h8z$}MF(XD(aQ)ZLZ zM?v0rT<1C4XHn<6PbNA{XL@>1^)apdD_@tcYDrW#m`k#MmslI7p^P;Az74wGs`!SI zLs$GEZHsafXsu1i-WleMzAL(yw$-LK{0hv;6hrx8kx!!4$``dAyBnY9Jz&DqJo2$A z!(L$H=KqBeY~CF_viHPz^tTglc?D97CqEBjzUwH}7GI zapg8YZM~>2Wk%E$d&r@9ly9b4Q zJpM7T@}r63I(OExUlG%Xcjz3MU+9U^r!SkpjNThDtaP)7>j6L5z%o5|^hlVOyI*uY zt^UU6NTuY?(Lb4ZIU2Zb5Vz}Pb7KF%ivf&j^CL>$cDz?rMNTQQ|NqDVD7mhghUp%h zhIA{gi{S8y9YhIIbSv$`B!JiPi!0#4#Jge0)p&YVPHchWcyAn zQhvb8ggXGXs9;k`u9Uq*YB>O+Q3Rq=2hlLFcG{Q3ORH_}JnY8C+r%@}6|%ySP%bWG zV~mA;?P`Q2L_Ss})nrJ{$TmeA9Tt*4=}X5x%RioM@_?ZsKSEST-f+GBv~Ya)xX3O{ z8!d=YthI-13OI;RN~`>|6u5L{z20oBp%9MIj)n$!Aw{Wpq&Rtr4~*_74Gjo@3el>B zz(Rk;;>2lp73<2;d=r*8z%WkdsG=vRuG_fvxO#uN^El|+5Qoz^X!2MfxJ3m}vyi?> zMLLDi8+${Z6YbUg?8GNR>-+SwHKdFyr%HqWcs|X_l*-DAC^bG&KCqWg7-_`UlwQ`EdOp_LJkr`L$mHHs75uP?fSgVfsDjuE#ft2b8HDt0yFt!+;C zEgL=)G9ZFt4wa+N3Xg7FGc0~`&EEt6_%7tyzmnb9B_h1~7~GD4V-Bhx7~QKRkF>&aT>(-!Us@aJxAY@8E?HW$G8g zSz@7Jcp>iCp;lU1ieF6n7!oAa-1E!rS0 zF1lBFVS%G#ZO}b@*+bIk+7@Q|iG60vIDVpV%4tW8rKyzwRo_<25;8*Ky@n z-sX>W*b;M){5lB_Edc@m1`VHy0@dg$PTR9uE$O2&a?KAe?xRlCj&Z$iZYwuI=H%w(=K}(Mey}1a#RK7?>VxzCA7BvVU{+vYWM&j(U=n0x7G(T?gdv=P5d?tF zgaal#!}kxuUstID&1d;r z!3nmen1Qu9O6J|y#s&u7ET)ikEAarD3${MP{{Kw?KZZ<@ literal 0 HcmV?d00001 diff --git a/static/images/line.png b/static/images/line.png new file mode 100644 index 0000000000000000000000000000000000000000..98d22e4b547b740cac2f4d990721f582e39a10b5 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-Y$P6UUy?J{QNHG^Xd4_OsaNK_A{{YBk3-AeX zef0S8|Ns9(Uzha)MK}vQB8wRqxP?HN@zUM8KR`j564!{5;QX|b^2DN42FH~Aq*MjB z%%art{G#k)1?OPX!mW?Zfa=6R>YR&G6H7Al^Atidb5j`%%=Hb-^bHLs@U}k%s^Ic; faSY*@nOp#5J25y;eQ9C=WHETU`njxgN@xNA4_P>( literal 0 HcmV?d00001 diff --git a/static/images/line_x.png b/static/images/line_x.png new file mode 100644 index 0000000000000000000000000000000000000000..be520c43299fd56a43a669c85ef505bc3fa089e8 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0y~yVDtpCnK;;h6v%2dqchmm10~s7WZ48!*2Y$$N noVaMQD&2&|%{c)`IB@`-dXQ_G+eRr_pfL=du6{1-oD!MC2CKYfksfI~~L}|NlP&3@HBR_Hzvhc6JPKHPSO+W(0~W{$ye0X5eAa0jU8Q%fO;N;iTv4y;s(x zE_rrundT`a-6ba%sIK0X&b2=C&b5-v{2y=XWZ4W@4oUP+;Q;C9gzIMk>*o(xq9Qm; z?EaLW?;ezUhOnTjf!JX*;iP7eP;pyvlMlzFluM2R$Hn`Wbgoi5xkHor*xShaIc|sd zo;<&85^v=uUv`bjp?aIptb!P02XyLE56=*>bDTj<3Y-BV4J86c1p7PhU-nTK|5JCBNL{Cc^ACEVa6%~iWeRRCI%J;c3`~l STv($z6&S8le@+Dksx<)1kh@<1 literal 0 HcmV?d00001 diff --git a/static/images/loading_simple.gif b/static/images/loading_simple.gif new file mode 100644 index 0000000000000000000000000000000000000000..39e2a42237347bc492741efaac7dd0ec9fc0f96a GIT binary patch literal 3489 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 literal 0 HcmV?d00001 diff --git a/static/images/loading_tree.gif b/static/images/loading_tree.gif new file mode 100644 index 0000000000000000000000000000000000000000..085ccaecaf5fa5c34bc14cd2c2ed5cbbd8e25dcb GIT binary patch literal 1553 zcma)+TTl~c6vwlh>nb99Af5rT)t{mCEg5urg=A(g z{C|6SPb~9Xage|wB`SrZk2FOMYM!buln2sX?5Y+T78iB(Zu9cS7|LZyZ++}u$^oi1 z_j@S}bW9OzU2R+RMy&~OT>X-oZ98$jq#ogNfJ!BM-42wHGZk*6s2KD}U*IA%epmxb zm}|6BK9YoIF;*xSL!+z@<64lB7->LTW2Vi4ostCA(z&2XniwNIv}fFo-`MbG;)u4G z^p@F!)|9HhZprHd_vXjDoxs6WkK-6P0@lfxnGT>*p(QHoUV=u1FAqb@b%*W=a3{`LsH5k^AvQNL>6fPpy#oU(&MuH(*aEX4b35*} zn4n7)`I2U%=+Z=?BVZQ?vjQFW4gD@~XSOO6b{qu81`4&LFuU2(ilxW+1|ZkNMnWe79C$gs zWT?Ele|HR{JGPe)5BTW>0Ey?-Ls6S#GoV0tbt6ku7B&*0 z;i9QM$W1Rj*rRIdceL)rAOSl+sDe3LkB87<%){;ZdHp6|SNlopDXRx< zxBDF9-lTo&v`8$humFygUij@qgT=Qzhj8{ym2-{Xciwqq_Xwk%=O3B-MNAL_6e`3U zyxwmXex4`g0^1RYw~Dth3av3Dl^AAlpO3mG!nLr#&ZZ7c_wUboI+deC+&%TFjK2Lm z!Y&f1h|T_On%RCV&=4bx`!>(YezqGVhl&QpED?N6GV)HmzJ9&rh$x*i?*@o9#6QI< z5ZI_MRX;0+pY8$`j)eF#TlUyG(eE%E7S!rj;mj^M5vhUicPm zVWQ2z+imFyg}SRABmOBY_@osR!>7Ov!ioK`NB6_Rv}7Ud?35ed5Sb@?yND?kv~RCa wqs^a3Sh>&&L4)!LKI?D2&k@))k(LESaga|C278ChSzn3NWVkcuNoY&{0f?~U_5c6? literal 0 HcmV?d00001 diff --git a/static/images/resize.png b/static/images/resize.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1a9598eee2f1c793ce7d78f69b4532e74cbdc9 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c9!3HD`o8|2V2^2edhHwBu4M$1`kk47*5n0T@ zz%2yAjF;}#{Q(Nfl(C#5R5WfrBD=NDxcD>w(6ux+}$0H{s^ zq|Ui0HL)Z!KTjbfGdGpN&_vI`P|wJ~(BMYBei2ZOl&6bh2*=E1i`rjb{)0gKMIWAw dga~d128+jhSIu};Qh}-%JYD@<);T3K0RSacH-!KI literal 0 HcmV?d00001 diff --git a/static/images/resize_corner.png b/static/images/resize_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..94b9681174cb5d88601abf760ff113d27d4f8d0b GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4v7|ftIx;YR|DNig)WpGT%PfAtr%uP&B4N6T+sVqF1Y6Dc{?&;zfQgN&2+(k|X1rC-Aix0}4 zmMmGt{hNd9l?V&JoR)`EsY`)FNZO^lismyVv-1|J?+JV=w(5@4@t5+q0v3KvW)Gdm a#KZ9Ty`a;lxRN%Ykqn-$elF{r5}E+aOgd8l literal 0 HcmV?d00001 diff --git a/static/images/thumb/movie/qqplayer.jpg b/static/images/thumb/movie/qqplayer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c9f66db3d2cdf34f75239486f27733e2b11a0494 GIT binary patch literal 59301 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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/movie/qqplayer.png b/static/images/thumb/movie/qqplayer.png new file mode 100644 index 0000000000000000000000000000000000000000..0e93e88628008357f27dc0d432d17b2c00c22c43 GIT binary patch literal 101459 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

  • J30aU(Z}vS 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

    $QfpZbL3ws|?{I@FxyLng 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 UPQ`bq+JF72DrrHh6l@~?A0x?nqW}N^ literal 0 HcmV?d00001 diff --git a/static/images/thumb/movie/vplayer.jpg b/static/images/thumb/movie/vplayer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd36f42356a1b9eb0eaff744ed50739c61a400e6 GIT binary patch literal 79243 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 SxbU)7mh_3q6Ps48^#2DVAQGYg literal 0 HcmV?d00001 diff --git a/static/images/thumb/movie/vplayer.png b/static/images/thumb/movie/vplayer.png new file mode 100644 index 0000000000000000000000000000000000000000..25a87ddbe125b390eee675dcd31c14608aa53acc GIT binary patch literal 240195 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

      `W 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

      Ac%A7M>UD%xz zOA?jLGOY3H;C%1P{FlT0#F@*SmM>=AK9>&@$0UM+K|ZjxmW{74oZ(j<^%?xCPXF7p zwGMB1lm6-Aa{CeI9488?N)rh;1+KDR3Qft&DQV()R(`+*SRkfyhv3r-@a_^U#Yt&yP@;j>RPgQXrr%cCV3zJ% z7C%?ymT%;cCpisXI0FBkjI52|7hMey0~rrs#qo;EZEPfrD#;%CT1vJUsISDEAn?Z+ zCkcY5gBgRWw$KqLW(CaKKMd@7b2&G02FFI*cZjOMrq2JP6mrg?5~kK8VhHYor)+a> z8bF(j0@Qu9KtiW1s4oT_h{Hc0tdjB84G+ z^7+|Ud9G76ZveDp7df1@TP9LPui(<|B0WwvX{^2Q){`ICkxLwYz72Z0efD_$@*3#s z?s@;8zxMdJ<;zC5-}BMcl_kZmwPb}pFaKwppoi^CpS!1fSQHK%BKkK9ekS#XegxqIV?yb}-|TRkeL3Q<&wQHlOYm9T5FQ zljI>{w~r9a=>3G)eJ$GD@IHR5F+1i!Z{uE%H1_L^K#-16fz93hT<+mY!``YFZUyTa zGpK@Z7R|$D@GQ#0sA6Z8lV9CmFf8I~%M=%gDGPKH(x)=C(+5#6#*@{=;pYOA?*ds1X=6(3P_dOE+{Jgzs{>XVY%&_DOuo`15 z5{SKb(5f9xkKi*)e53VnQI59>UsSeLJ$ycN=|BE>U(2w(8nFf$nEXn0GqH@s_~wY0 zzR^&W`L)XLGvyKsQM>)#z-L_Iec8Z&Pm4@p*^McC@|5VH*1HFXY?8*iKk8rk2mhgU> z{7&sg>EL!Ud^`CEj|RD?e!Zmj?l_&B+jVXschjBw&T014BKh1x!f9%3Vq#`&yt?|I zH~r}eHU-!PXMK!?&bSFtoSnlP%l^UZr>Fae`fgMJw(+fKTRBBx-!%ppf;YrUG`Ct? zMB+5%j}RvITuOr;tI|lxSjiqgx%|*^f@&&7(g#bjVT+cv42#Uf1_-|YpGtzJ}hr^S2%%H=Mc+-8)MD?cgQOm(CW{AmQ_Xe_OUX ziwX))YY)2*q3sEHp_YRo`O#}Vrn7fI)kehdM#Hz=pZk=uNKt|7J0Z~((Qg#~V6(I9 zQ!>>TAHSu+gK_zJ2>|#N*OHN?FzeGS>65l6Ca&iu=57LEFJbHK5m|!dgwvpR)>e__ z!vqnhb7W}7v&_1+F(IAEg5dF-maN$m;L4Z4CnE&Sf8a8Dr`inpqW{u)6hKiX_lB=;6xIP+mC=WH1DcR#85!<+IS!KaN zm@~WS))p9aAFkYy!DT@R04%AxSCGeExfc*WHwnv@(P=HJ>ze`y-9b=H^UjYslI(F1 z(w}=%|3V)e-z$g2i-#{w;VSgxZO`;8EsL!VUD-YCKHmjJVV^2uR{BHX>aokRW&;{v zo5e)V9=(NZ`)7fn9VLxtir{Bb-^Df$j1hG;S#yox~NL0p|!iZMq39PzVH zQA{5##Vj>;RKf#E4imnFe^lL+HeN4go}a}nsya8F)?Ga2NKv-v*FTW;)Ftx@meb|&~izc{!f`?tRtoA#z5cK}{utIhob;VeF3$*dF9R?214e4KJ)1MjFq3?^^7~Pt}i+r5lJ`Q7X=k zGo@2{_l=4Gj^^6Ch+!588pnJM@J_GjaOGAMM1;TuWwe`jdO@v2ti@T9LXM9Us7$mJ zwvdU*)u6lo8C)Ip$DzsePINfl)1eH9dCn>cg7wcHjb2Ue;)D&O?{}Y$|3=Q7bneK> zvH7;srcwcf#$s7GCl*yt^NX%^gBLvlZQrcj^c+CZ3bK`_={W=!%a3AN4RrnqXb_TW zg4A`~f^K;@*9VHzro8hJmZ)#W;ksfS&lE2nWw2HT{LM03UG4OR?VZ1z;pi>s!T7#D z-Ti&ZXjxI642zCIi`Mb%ffojW9C7+IrqXf+DqI>@!sftZOcZqE>9i37BtFX)EoeT@ zd}Z3!3~4@hU6jcDk`f-#ho}L#sw=j<;wnMvh}GY53XT%vjy(crtN59~`iPr9{F`YH zwQ)iQZSlRrBE-h1?u4l47#`I{8fIdO<|nrY@?X0Zwi`P5q2=9@j9-O_@`4JLb88-2 zJRXG^SpHbE=-l(=RqIxP%N7b^s~o1t63LDfSg@16G10<3QK(Cu2f)M^0tQD$4to}e zJwu752>V<0;WjpNCE`6Pf94 zxa2sSMa>1e@u<=>!O zkw+!#5AvU{aoGL8U=lo@_rdU^%(TB9O5@#=+)-DQSMn z&vCvs(fLjFL_VHCP}Ryu@v7R4v6Jvs5q2l9>}kx?!a2otA<#~joN#Ru9Sb)%qw^|9 z3Z75_$pGXu(t%#aUBIYPdZonzQ1%bT%@ph0czWnrJzYsmj=<1n~sJ+$b#l3H2k;P z;Ibp?mWmvz)-_oo5Hk2o7^$e?#8I6|n$i~i2FX8MGNp_P`whRRxdm{GKbw_}f>@xY z-CI|QkX*vctyEOEZJNXe>;AoDeFd$gTk&K%G4af5v6U^R zkDiR6PmGY9phcxkWh}3eZfC0VHpNwD@&fubyk%6#l_z)qejp0R`!=jRR#7R-+O7r(|OR-Y90WM=x6TB6^3behqrIy!8wJYCC9`|t+`?)7lzJ*)mwV)x+FlKQUPDk$jJy&NPq6NNQp7}r~krj!96^(01uyc zow2rN-l#0OSPn{$v|-SKBMI)Z4}AH_Jm7qNS^lJC_sV%e8+%&w*>pmWm>m_S7ap92 z(Th*0tOVkkR?pHY+B<&fFgu?2GX=ltXuML{V0P%p8|2j z0{3I|sc;o)fcCXYwl4#FUOoID{~p;>xUCzXMA8y4f|AHu8YgN@O>;8rmZ_7xA&50s z4obfVv!r4=pG0EX=_cgT%8ITdo1$VcEnNx-<&pYte@ut6^+Ulu?_&t;TV^#;M%U*x~hb zZevI!1w?UPT2BfmeKJ+5Lu_axl;4xQ$$g}#O!f=0~Jw03nwM1nc6D}`%(~@la z$=$xZf>;>wt@RGAL;Gw<6Oof5kY`ucb8 z6s=;MIw(0fn^#VIt*m$`&pviu#lUUJQv|zEuro(glB4;#<*0+RH^il z)k*+7_Z=2H+yszxKooq7QkbSw?)y3Ye)wutvRxM=p3}KI3R=?M(oc}MS@HKON#nb! zLi&>BhNh|56%+;OA3S(~gpGt&Q&2kPJg0x z^E-H3366Z5Z<qZ|&e~4Fg1L@fMn=?9Y0&r5Dc2gA2c3 z?S^C}tI*1u5X5C81-cPp(3VMMz)w0GW+qPE_h&g@x_v#}-Pwz7y&tzdjNv3NTf7M* zGh^r5$BBA2U(yy)fnDo)YYt`CQAaD6xjW3-VkqIeqwtG2P3;`Ip3=N9EsuFcq~$Zq zP_lv&tuf<_`>P{+p}j#B4Kq&7vNWfG83X;G~;Qr-b55J|ugr4~C`n;dT-R?=Q>$>j{BOj%(CHxa+`tn}%5xDZjt(yQ( z3hPVD?kXM>yks^qNm5I!ycH}`vx+|d(#hZ5y85kl9uwzPHNo9Zw7xm}+x05J*%K_; zJP;~nW>+OpE)M~^V2olp{YbFqfbT9V#A-NulwJ*!B^oCLz)fMJLLl(N#Dw!UYK7~z zt{BWwBQVfP&==SvdA83JLs+MHxku~dZL}V5&W6-BXm4*Qr}JHF&rt@dr}ur~i&-Gd z&0CUk_GD=2Zfhtm=Qz&$e52>l$KOA5s60NJtUQ~=Zu5Jj<@BthRxD4?+PXfL&w(T+ z>z{IDrC@&5&*{#eZY=wS@$fo3+fjbV&p?=dmt<;top08&1>@Rjtj@p#qa$^7*O>Ek zNtkY?4Dw?3F>=0lRczZktesH%xX_V}9z>bh8B^Np9M&r+J=H))m3$ZKaC6@A-}=v7 zAJH2|osg&NB7Nca54R_!AGI&b!xIr~o~kMhHY{j=lpMA0y2 zG&bt&`_J~Sip*A2YN{zUcQ0S;G@`1p;B`KeN*qmx=zPxX-bm<(#A5%!YypkBtFoD? z5G1*uh{C{|Tf%HxgO2f`VfFkLK7X*fllI4^VKnQzwdoj}4LV$lVRlzycAZ>w6p&-G zHpp0VKiO+rv?tzHq^%iCdV@;igK2vs1KhcfMMb1wBj1j8l^SD$lU4(f>4yUp#r7JP z&IE*=nmg7SbFpuSpPwy6C?*O@n2X29$B)+%L0=*##=mnCphX_KbUr@8C$Yf|Sq7GX zhV;|R7ojNDJxGg;K`S*F&TiKP%KwM&#KSn z#ZQXGZ|yhQnY+;mk_0$W^+>R7_6h~JMrEk*WP|(AjIlz5>3g!Z$ubv=fxLj?My6nQ zqFS$$zbX36<71>Ap5z{(%}soLrKq49N6{S>L8phPr6Uiq(}bqSaObmv?WRO>Jh2~4 zkk!VhUopCnh$QItbPjkJm7oOcXOz#l%EI+eA{`Nd_ek)(y=Hzc1S9%p7wGkyjnUsxf-6=zWMO(q;y4;ZO2nRn79zV?x{TpT=*(2iVggx!s33N0VU-WOoj#X5#d3`{LHs|W zl~r>8o?Wt2Dss+#J8Z*2y`_&<FA97`!dZ+g6y$+ihu68hF=PEm(xVexx9pfdw z7Cp3^YUKPHtXyFc{-fJAL?G6*8Flkx7e~GT`9xSL-sL-uY_b1)0kjeaxX04U zA&}@$^a%5kY|q->IW`mp-9fnm{OVMJ(d)&QGjF`|>zdLZAy7wLye1?7&{|dYeqnJ8yN>t@|1|lwodT=1*m@3F zq{bc(P#Fh*-`!T1WMJ;>5DVyDkf+H^YA4m9<+?1;MctfR`Zj)7{XqZQScx-G;*U&2 zytme=KthT})2)Ep>j)*9@VWyOr$K5y0ZMmsxuKF-K+D)|=LHMk=m#kq#v#8da-our-2#<9PF|r_QZz+) zV$%(KF~f4R(tDgU66m%?zdyg{py-q-mP9q^vGIe>J0K2F4`CCPmKQ;5EQV+tXr-u# zs)(pEhk=0PPDKFA{3EaQ@n3IzNVLj&X8>FjT{+Hi(Ed*>SC@SD5Q9%1-8?+_AALEA!8CFv%_Zc#%!TPeC%8?R{`~i1<~86I z*5NJSNHX0qpcR{eA~PwsCbmb+f~#qBV_EIVo{c@@L@D9xp#RouehJqjLkmN@WX{}7 z)Yb(V;B3P<8CxuWpJv86gYXEsZi-bO>eu-u*3=-69v^{A8vV>ml2 zD>{Drb1>ltgc&VjUdLb4ec|m!xxe4*4NzXbIl&V=HuM3!)4wNrQnO*27fWGx8j_8&-+cVgs4rT zvalmb@AMoIJ{9{{`UaR&fX&u}=c#WkN((RlKOsJ0JM_1Ix{8luhRHyUiOF%=RL zqlUVXKV!K37it2^!u_Dx-)=y3mk8Z1IWgIHHimqNJHX>)ZN`cwteHO72#gsGdCcEH z$Wh}`W?!1I0ZlXNZw&L*ol|Eqs-(w9S>_T$06lIhZmETojqdNuhKab<)7wu#M}aW5 z+uJy2PSx>=p}8TOj-_~(41&|<99lTSxvdq>k=WL>>gmZxDbgiQ0kUXBVl<{3>8Oq_ z85Mi8*sv6poZ&m8K701%E#KPE@PMw_L@;L2VE_7qGpZu#Knx7SsEjsVlq|k*+j6nc z5}PHYpBaCz^Wg(&%Vr6eQN{s4dv1K*6=x=U3^p*8^F09=4Zb^az&)i zp8mPMU$nPeNfFqJXB+vB>>Bxv0-7Y;h!)n4>ew0}V_p>{9HNM`Z*;|X3QRaH5S%s{ zPIq*bY*+0_BWbf@vbsALjm^x=9ARD*?hKabyP2532lfZlC12!zS?ASMJ2&T?ZoFQe z#}vprO9ts=ZFGNq9ENAIzjQwx_XNUwKR3@>jvep5)4yZewc3f0&26E#cQHRpjP%{4 z1rB9F*!1HJW=|IM?Qpgu`c&t`ix8t6T#e#FTKiri8`>umnhqg&DCs#Jfz;fw>@-h}Cd`px0L)dQ`Um2ZKTIBH$EcCI@8|u!O# zmG(qhP-77_xh4N^QDEM38$8#)&IZIdCAWATJeslTL))H3v84p8Gqs~izp<~|`-I(d z#AfS^1VyX>DhLpPJ#m!x7<*HKpm`rTCFZS4C#5Pip0q3ayb)S<9b%C#Y;N zI+Z=?A!r7^7EtgFLIyrwd_fNP7r`HR&MIbI0Znb)FL#&QQ@6uOaJ0p+zps8fiiNA^ z?N3ElQNhZjb3f-c|0uO^60+*lnv6@vJpzDLKLwk=#)HC*ydMfX{ae;Ir?juhz)6bEC? z7w11e2e^J@wl&$aW=@pS8j5nyDn>6+>v6!;W*@09B9NVkvt1#I zHLx~3@S@g4R}bbbRY3;Q*YCEjuEXOZ6IsXHl9e-YSwoaR53(tv0_T@eM8Ieeq2| zta7WEtPi~p83;xkZXh`#g7SkAG3Kp=%@H08JH;$xVV%`^HChJTB45_ZVo()FMgB!; z44?i-UuCgenl?rvIa)q3e>g(0v4B!#XJT$ z__i2NdQ+9MA}VX?57$+syTO>E9aPv_DJIgjV=dlJ5!GPKDmmT}im4VOOs^E+>dI|u zvSDm8@%l1Ty3$3Mz!nz!`;GlRnzPY+AQ4Er-g9{PrJ%{j=Mj92ZVJ=Vz}fx;ivBdi zm2*RiRAK;nzaTiKg1GmYQ=X!a#?1ihm&NjSZJZmGit0Ebk$#|@uh@O>!&KO_PRQR& zd;D1oxPzgVAmsV)M}<_n2WP&UfWX6Tjc!$Ehv7R-?Bxb(qswlVffgG+$NgcP3l>VU zc^a7KY_2gm{f67vAfM>$L#h*zDug+nX*2(RYl~+;K#WRWCXu_Mve@54ut*~>la)|P zm72D?+JM&vzL4(WN#uV|a|AiPwzbAO^1EN}IVGtQZSIw(`??jv0d-RYA8;?7K{R+P4o@HJ264c#NNP&9xq$E@z_hC07I6MXBOg>J}&? zOC<(H@M*`mmdcYFbnTCKD^nHBllAo-I>Jc)&eUbd(I_Q$Q9@bx#()ec9VTPK?z{sc z-@NgN2tqs%x@dc+a@%C@pPM)jvB|VuJEIPQ> zYcJK%pHp=T+G)3DYa*!HbMjNCOUb7V->oE6Ut_cSx~+Wnh>Nzz&G0OVh3sHYRZ6zPp+;MSr{ZZq}PaRF1*+&duo_6l=z1-TH%h7}T zV%Fy7=HShWyKQ(#@-C-j@t~fd-axJ5{nNm0P`B^p&C%7|>vPbH*#`Xc`Fi>Kl*Iiy zbxSP~_!7V*&lHlSGAj#{axCks4t}$kB_pp%gr|9Ejl$TMDCye#P}&j7^1U8n9&sUy z$9mioj|@8DZM+?w@9a@8Og!uWE)LM=9J?}7sIOzCC3$-KVzkSJDPtFOPDpGarTPyEOF z^UV|DNxnj)P=hGPy!}cs8)MsnCqVO=QcgwKx?0K~0%_0u$m}O1MYMeY@Xyu~kW~T$ z7r_xKa{VOw=?E=NK4cyzOb&ba$~(2_EJGEs0?`z9;JrPYfafDERh+1>5uQYY*w~C% z1|%E0AE#apm<{M@cQmhW|?q@gry*5&__u^6;s2?2ql zT08Lcp8pO|_b<;c&Nao=jvHzTd?}E1hK~NH6A;R#7WzRb@akY!;;SX1)rbI40x3msU@;n_F-l=^D{l@_zsMd zE54#vXX7Ua*6*+up)A`Do8dYZg9S)fN$4SXo%EChZC6vg#4-ZKF`t|v6X4p4x&lm3LgEdkl&XlST zlL$t|jaR^buMcJ~$Gg`#>iN#EPtW;5cYooIU>XR_m^drOP>F#%iLf7Q4tGnWtm$E$ zW!R-?W~zM%t&rddVKiMvz^?LY`hyDPvoYKt;AvSbiz5CNsBt~r44QBHY%sKgoIQ(~ zk)5_`zgUQ23P>w}TsZn6mvmSADId?dA5s&Z+#;_(D`zGZX0PUTb)p|YX$iS>i!@uj zRk5nwd^b`iIU*Rg#BOLH4EZ(NxmED$%^kALSvba)xXWTXNg$=BG5~1JxN@06!NkDB z{Ak5JU^7#HJ`_LO|7{GM8I_im66t6^l-k+(yE%u7EW~<2`fsZ+k|u+eZYU8@-fMsp zP$q*B+Y9Z!znN&+2&`Z^U+;Px@5nzpJ9G1j-Spi>#$~j$AzJ9dM7|3rx73YQ87@!z=DzM&%+^fU2+97+;^|L$*M17KRmH|?@$y8y zd-(bnyAJzp$l=_v-pu9Q-+{H~HEx`GA9k!trCPX|_?;kuN*$ZBy|8i5tjHgj=i}WW zV#So8Ly5nh(vXT=mM{{tt>8DN2A13Fj0xy(k3r5OQz97kzg`uPI&s|QuZx*WKDT#y z;d7l1(%y5GX)?4{t>qj)5%3Q47Xz5^Fje^yx8eU#FXQTPn~_<|WLX`$+UF=1YMJOZ_3 z7^QjN&nc=SZzUNGY4b%+&4PmZJkMq2SXpqE5eIXY{l7;$Vo*h50DSEx=EDX}waUWNKDy`mgVq=eLa zg|euetDlcu>}gas=z(HhTyg)7C~Xj9ui#mSkvq3d4Eu(FFcl7u_AdL{zRFU4@+x9@)f%wXPftQQ1rs~4)>Qp4>V=Sjocb&@P)?#|A34YFgs z7i~OR?VkZyzD$Zg;OR^8N0fSbo$hFf$=U7QUp*fmuD_VBuQz+1QpE5u5&_%-ySfkB zRf+g~2-DXrZZEfo2VBaI9|qPs;Lhf=+s9_7TyJJq6TzHoIG%>p=HBJjWsw?~>fI;Y z)7Bcz-F!T^yGxJX_4V~^VEA#MF8|l)zjlxW-iN&5x9W0_wE@ph#;2^x3STJyd@R_= z+q<`4ph#o^fB7w3mX05hZ!&eb&XK{hvw1T!oq(||b|r!%_AATa(lIK-#rxgcJTr6n z9v@mx;DZ4O{wJ(+W1D0~%|2yxy>uEn#9@Rid-H&4EY2SB6h+-5miD-M$O=GXLZG$S ztr*k8&h?hK8?(VNSm>%vkdtz#pizfsThe4N5~_`~68A?l8Twt%jsS}yJJCX|`Y2@p zwlfI`0CaFmiMj_zhmG9DdX26pNN>KLCy`I}2hMyDGquFJI&+mCB|ekoOn92hJYLfp zUMaKaG@I);YUKrKlNbXYf=u~QHz$Dzl<;8-dl^s^%Uv(sNg9YSd@hoQHLUhm8obmE zrct4xB9aO-aF?M+)}f(+>x3f)eu$L9h`mBX@cKEw(j5ds_`CXcc9uW5gbvzIQ>-6G zqi~kzz<*;JY+M2G3`T|?K0kWP38^9pXTFhNnlwJ6eCxaqp!qP5sHKr(eZ|B09L?cA z;8rZ<6bK4T%@CK(l4=B$RQlRw{4kWUhnZ&6w(VwyJ8rV&wAiHj7QNd$n38+%;wq4t zQhUX&20jhYN9ofqoYJ{XcFTV}i5>iP6f(($Z@8U;x3D+f(nuGywo7=hEBig|+cfb{ zLc@@KRuCdh)TUT6?@m&3r85?QT4J?$ko#9C9Z^1)B$qz2NL-SF9P`KYLnt})kOEFe ztUk^zF|2Cm?77>5R~TRKx2)0l?}Nj8nZ~q{HL3f5`RnNshHB#$+_)q^4nMAW^{mLJ zj6GsmrsLCClyQu-6q!n!e4fua9z;GOi2GsR)pj)h$CFazJ1L;kJ?V{z(0AOJcl5V? zc{DiF9ygiw8sKu3oxShxym)5$7L=LD+l}oJ2fvlrGYhk8u3klxOk0_vt3RkHnQZEu zYYZ6X`}4(h6sL*Q7wWP%K#1|Y?pON}ksUVil2bYUxD!4+&13|PY9FXK*uD0t=zw6e ze$2q zp?_f@=`yB}&};_ApFqL$PWQfi{gyc9el)g`j|iGE;mHJOfLb{e1wtTb*1Y}3MG4+r zYR!aJMXbh$0HMq=_DXnokl5ff3e0V;byb|CBoI-&IBuuI%CF@iwp}IW`r2s2T~2yZ zR4#h8^Ip8@&(2Dk(&Rcqwpx%hT-+{LpFbiA+EOK%p_3l&plB6~9zCVv#|Xj^G&(d= z-00sH9C-U2?@(5M_bM(Zv(uM3I%=nsHWAOC}x|h`8=5Hu`a1s=9~|FOTP4 z-ax~<4=&EL7fU$8tI%$=hD@m$K2L(^L1B0XJcvkUW?oQmVI$!A8h-Ql^`(^goUMz% zM6aQuX-SbPGt*pn70$%sv>yb^5ztx75tLMWuWK>W%)vvAGmJ}iuD8u}{*W}lRWj(g zW?EIPV?oNWpEL2G^-^9@&?Dta%j0@j}7M>2umpiIyDN}m}qP#61 z8N(T8o4I+*7D>O<1eIl^6`gK)Ar((`F(}E=`XxT0INbAoj`h(v=&;K+*}R2qu(O+J`V3M!(TC6B&i=Los>n7gO~s* zbtBB%pTKS8eHAR0CGo&uC5E4wKg9qx7L<+iWFa$^=}({0adT-0%M6^b-Sm-4(np71 z&`MDt!5R^_hDOAGF(ofwdy9!u~2P;cGEr0wES_s%(;;tQni!p3p_xXx*rAnU24aOp;qd)rzdC($}JjRW( zolTB>UcY}4O03|pLl4wYgzC3z=i5(tetgfL(^52J^s}qJ!gP~Xc|W2- zgl00v=Y~zgP;avTZtGlKhC&e{g3}~H+Z(qM!N_$lCMRxvjLVhn)9?C{KK<_W&e^vtdY~yc(Z}7l349|+=zVSwoPW{*A>k50gK7M?B zJnw!?l-K#2`uXpEpGeb-cQ|hU?(S~I3dynOdmu?pT$-iJ+1A$9!`^?_)>Tn;XgLkN z4Rt661(YLL3Od^aM&uJC_EV@2#Qv>lk@#gsny4+BdG&^mJk zZenWZcW+295bpJ0dD%!k^~;w}6O4@Qi*lvlCbn0zbGMA!pDM*n->=FyB)h~!eZuN8 z7{MD=aeese8?R4VlO#_8_=D=?i}|7wtj$~;4%(%m0&UhV068hD-@@#xKps?ba~Ilh z8Wt#XiB&==Z9#0PT^v;26_HOAYf}nO^;N2|wJf4=SZo)umufu}9SLYhmLAc?crK0? zB0_U9IZQ~Y0l-bIU{|saGkCYFs7y3!d;cg5QVkYVxZWh=K5Vpmxf7 zR6;pNQou;zdl|ZBj!>AqzQ9kQIVB4_tr!9+Ht`RD6^CRNTDiV+{A47p zLtv5LGLEk-t5qy9VxcOw*&=8Ug!;JlYdJaVn3&X&iMSljZlCL;o87dMxgp58|3_goPVQmtnFf{6%lKlI z@I}5;IPFBxEa-XnSdTW`70xqzKfK82gci~%3*3JuWyE8>)LkznypB5Gptuo#yKZb2 zrNIk(9)6B`beePQ4tUN-D|cqm$SNtrfK#hhPqBf{?yg~S+VNjD)?76UZ+$=%Lrek@Gw zz6>ZsH7k9U*J-j8W&iG0Qd$moP64o^QO`+x*73$I)7`=%mGlD^5_|HR;85y}4 zHxwrkgwHs9IqSus6{(($$1j-nhI7~Xs}w<}AR#pTRw-xV9wsW7VvbDj=Ak8t2)I}$ zD1xnPkQ3y1CH`_%vFk^vG+(d;qXWxW{PBLJl%j*flB2#e#nBXD@kS1TNJT!%kyNOz zc>R#{ImazK)~%RBHJNFiI6Cqo-Co#`c)7dTR{yf`bAY7e5#In;>Ne0p27qL5mB3?$EkivJwf^Cq=V}3sz z;0jfg5XH;ye@)MzE;Z;52mcU86q0ni>k`Y*wgz1FI_|60-H*m)TV!%G2|aR72HhjG zpqGlEA>vQ+XYV#`9`@XwP*15}!)mrV3ne|lq_U-naShsgAF4#Ax|ns5u#oBvI+N$p zvG64iO|%btY2Cg`>L$Ey-89=}C*9t{g`4Z|W-q5-f<8sBzahex&~_BM{l4p(XCel) zR62xbkPTDImK{{oz$ddFJQqBXmzz$nCp>5PB)gvNjvg&2V#=KK(sAmjKPkZju{Q^) z&m<^tKFEnvz&$}vK0RG#HM(X2_se>Lq>M2=Yt}xBw9T03Heb8X5Hi|9%*qEt93{8`OepItRSL zOf*oaJrD=61gI$GE1_UVhYA>xVhx^dRISU^PXU-vd0<+Jv=w031E_W^>=<59nqRZh zV^50ED&VjKL)Ju>MAEB0>3EDXDM&Q1KrTEuN+=PjCEX#X{YD}*w4#P{CCtsfY~6Ul z(vG0*gC!WW|_esuk|Bv4*hH_y`|Cs>Uh|n_N(-nc5M5Z zpGAP+SQ=sIj~~C=C{V)62x(L_P~P#Dl7M1<3!kG%S@l=)-&x`0|2v1iN(|u68OCtE z;z&sgJ2Xp3o1yr86!*Ypw#|_2m~{#FCMA)fpO=z z(_ws5K15OcQ}iBb35Cpjt5Q8rx{xm>mJ1)`Ipet|gc&tJr32RffF?DGa^4l28Hvs$ zv>!k;e|)wQ^spwl5!kSH`g*m{LxmFsAN*=Q_JYgru5@fgU+s&(MhV3o*cVTu;{>=dVv+UgvRScPpxoDYTAC zHQ+&U3YpvL)H7)%LR1d}&(F`Uq`Jpv+p?XVt&Z(BD$YRxuaYl4)bI|6%1Kc#j^z6D z-Py}Hr}L<%;(CO=5`50AB<%#1r=d3lY*aJ9ASmc*LO?@XGSU}O{ohW*g*}Pa?}aRn zN@u^)?qmeYEpg4>;!_>?t*#xqiWXYwUW*1p0@aQ>G;AaI%zJ!JZ#HO1RV<*Ztk-vq z=BokMtDQKi|75^RY?tSWcNk zLxzM8cV75v-P5FD-Ldm_Wq7z_U^wlkQ%*@a2$bf;B@Qe?q8&dbHxCJDiRkTq)}`%Khl7|G084O zOza`zQJ_WBzm^PPv3;ZUJ&yYTuvO2L0r9J1^+Jw9Vv@BjKY$&V&;e5&BYPnLKp7w} zTx0B0Ezh@TrWnKmcVyc*eSnimOl)v)tnX}_n*o%c%xFoBDdYHmG@bQZlW!Zw#~eCB zItC&!a)`hHDUlo!(l7}LX+i0h?h#VbjFcP=0@5hm3IYPsDcuMNywCTC_c`_lY|nAu z_pbZ8&hvBL1?7y*q#_?qOnQN9d#zlhmiVk;;_ z0EjDs{-;rtuQ_~5xTV2l1@Ds9RgKN=sS$vz?tk)H$gDWF_!J?pVvYN~#4s~6S1gOR zb{9ABuRHf^HFgkwV1h=Y?J6o!md(Du_dSr$oln$nPt^T`_Zb_Ws;Ru`(6DDxM%auf zq}1o49(WNKLAey^i-zrCdu=sv7>N71T|xA`b! z)e%qJwp%$J8T-A8idlZ%rwDj(Sz@O((Xp~}b3J#(w9qoQOMs!f6-m77Xeq2=EE(aNoihR1XL!Oae@ zjVy}%QPCehk=A@!|2AvS4vQSJ9YX2COq9R)Fa5RT6z^1s>az?~1MDNS^>(v{hK9^b zD=RB!PEXa8P~;t6&?jL720s%q(t__W5W+WgB2lg{?n}+S;eKIh?^ByRpe2}b_~;H~ zqu-Csl2PYuD$(n@pv+vmk)5bL&uYYoyc#7`V%yx#xf<6Ua%<&o;`cMrG6;{MI5;FB zj=*&FPv=?i2l`3!uX5X4iK*t|0J5aFQ%Fs9qOHmAbh&$wmNw-H9{gR?`g@PV_3Qs` z;kyk0=+CTv%rvN2OuUa)HUJKepib(T(M(eKVFgA1Dx+_(y<9mssCuAnhA5RhR#SOD zYhOkoV|0)FVb~8_CJ;^BI?rT!f^&K8rVKs3jxw(xiV&KUHzW+AW>`0SGyTJMG3e1p zu?-;kKq>D#(Q&rH`<AP$%Y>a0>xfDu@aFqm&Y&? z^n*wr_LivIM3S{k)`@RK6!W_&lP1v1Jl(j|gCvxN2!53Kp#OBkCyIIIMu?J_#;6L) z%ztd*qDz+P;)XT?v>rxAVhRhs=SJzv-Q7U*6?g#3e{UO8*wVhk%{*!6lIQ1*-XRm; z(}|{L&#SY!xvS>6m6)_rjd<3NWB8zbEcjq-$Kd4C>wke1)j3|6xxMe_D|5}wg?3F9 zyG?5Hmu(`n%bA>Pri?v@o||&T=}r1>M%1<@7j+A(84Td}A_V{+{4Drz?b4LK_Xpvx z=4;c2SzYuK;?AY2SOoQ(9yt8v4^!Aa6JwauY9E4wn!U@3ewnJdBFYI{7=hVpGAe(m zs!iI-uSyxPnPB&u8~4S*(sN_oah-Z3QC{{)WvdoFr6L#3r<&#p2* zlGe*}(V_L5?!U@@ANfSp<^G0`tEBmJjl~_kFL88f-za28T%7He9%XwQB3KrEMn0PQ z?o~*-{Sx4nP3!*hD$ih#mdD}S#|F9Tub^q(X<9=?hb;Cl*?&EaZm3VDJGyT9&3+uQ z63w_OubM}PUk5^aoru4dPnMp(zYkjBm+Ujg>U`j3V^*S*mk;fF8cvc(9M(~0NRT#f zwA0P# zJ(_!;NxfFtu5UAT;B9)J{_?BXzLAPk``m=Ld@59j3MO5nBX3+`kVw0Go7X7V$pRtG zUrubswYD~G;@&sRc2apTTtzgx#)Ft&=Sr8Rxmd*@V|rHtpLtrVZGV>1VdwN(?NMyXSHH=WK%3|E59ec5T$(%jb8@ zijGLqhdtzIkud6*=Z@Ylg9jr4t9|5NAXr$5r|QA{gxkX)kCE_207gDDad~vqT}qfo z7JuG`!;yi>y;3gDgJ5Yz=HTxYuR_0v;oRG1_DPXFiG^L)_6;J`TI>1Z4OFbD2ZeV) zn^#%d0{nM%G~F1&S8_QOaM2i5qXyLnveZ7$fYiSpB$yacV1rFihDwIee-AZ)YNC3a z7{aPO6U$zNMu~Q2O^ii;>(ALfTFSbt|fnUBv6dnCMJ8^mSxM zX0*llVi1vx!d}meJvNPS8no`Pme}O{*jH33;eYs{gJtIh3dNsUUc}eG=Lk#kXJEV(25n?@5ocJ0q2RsR=$g?7Y1@nH} z7kidLd;}m63uIeXA@ujIT0zHa$g`_=_ll7*NT(nwJgT@3@*FvZ)rXU+yYV{mGWvQl z6x*U7o<+}Jl%Id~4*#iPgswZ54B_v|Ws2#&`7$T@o+-%VtM31p@B6*ns4$7i%a)x@!6UjuRD4CJ;EY~+LU5~@=ykSF>euNv!! z4i?W1-wrY`1%RJp;54m*Fa8!Qcj1#zoZjL}(EJzL4+{9Viie%qA%S$U_luEcr+XY> zPuI^`^`3y1EW$uP$&HNP0lH%RoT*sS-p*W{tkKjp|Bn09fKRx>L}DI=!9Ua}{Ln#^ zW;jMTIiTe4?6{T`we})UHy%h+hFU{w|GL|%7G0P1j+`#cG<_L3@|kW9!ejUMbyoMT z=K#Y+n5jPu#Y{12m!zeF_^|SM_91Rd9k@rDwE55#{bIUG{JRofehl;ogW@i8_pki+ z%CX}o7iS=8-Z?WG`XSZ191stD1=yDF_hq4IqdQu&6-^UcQM0qEwXz^J25oF%f1kwU zYZ^2p0E0cx#cj=a7(MHjWgAG7l7{8|)%OLW7~kXBNb9G8)crixOWY**WU<}8psA1lJAw91L? z;;DY>Fkz-h+i);sxc$d%T;;I_3eO-1JCIkbO(M>hG(H^>NuyVhI2`L_^@&f{K(ak~ zH)_yV6Z-_t`^t8p_gn4C#`X6RaK|2Eu%izwt~`r!t;jA zSY?hT$lhp8c=3PWmJvt1g(cnj2<24$xSk@-5_`-BQpKi*ijDU1D`bV5EQT=f%PB81 zya~?2vc^957?MEO!GB{TtQOc;n76r;N=h?*4Iknh-$y{2qZs zAS=j{uD9Pnf`yfn@clPkb@4ayffG04`=(vsFLHmLKi*DYn5dAI{p81A>kJ;3e(svj z`1NU-1im^-jo?!dp~VjeVbNqgQ6&TWe2Ew__1J;)u8Q!0KCyuif$=ZafRPL>^S-Gv zTJhgcD#;A)-UPGAycQs8xKh||_NVHTm=&Ntxw=|Ebhx-#gZMryt#L~!b7h|9fh*;}6XD@z7nUk`@CUX22w6dBIPny!j>}A*Mcb*yp z$r6-~un-0#!~aMsD&s=Ly*BA2;Xqy7349JcVLjDM;iB@IERSDi(c!_qSmX)A?nkr? z$7*+*!d8TK&%Aj;_{`1e0+~{KorKiqg(5NY-uu4j33$5JXHLuZ7nm2!-#KQUIv=9~ zY82Fxx;YV6)9SS=RQVMD9${)+NSr1=)r{uDg-ndIs+-4g!U6Zxi7)a5a>bjgTb$k; zP7QUNNccW8njH)ET^2oGFG@kCj1e^{()AhtiX6rAyBzK$adtl5X}{nYO1au$8)VA5 z_w05P82Q*fxJTX+PL>t@YyfEcZKnfSuX>eJBaLl<-_D5Gw9Y_20%7oqzVz@ph)c>L zG{}Z5;rN}c_47XQdc4IO1^n-rXI)btztCQ>T|kvc{$@ zt7zQPsMa@p--PGMtZ&gXvfSX0FO1AKun4y(n87j`@=+r*#n_(|WOmor(Y{Bw->MHP zH+nfUMm)(gSBkLten*C*{<|*i)%;|#F1{r#fBR#fwN@v}jQX%O37%iH?*eE1bvy90 z?|@LA3}L`Gb8p7i(9SzX%?G+{GKed5-o*E^!r9f3J>U`C`G^;H9Si<l)yf;g*A?L-+06nW7PGcGF{b37$RN)jzTen~?>RH}0AQ8qAYNAW_xl*>DXCGI-$*|4o-vmhr5^eJPs`1V6C zP9@f-bcL?Jo*kqDS7JHJW&S`Ftl`7rl7FV(OhMqP5jyhdZ-mmu!H4Thqq61abUg9P0?&&uWOn{gmG69DJ>zwG-oko5(a+^{Fj7(zhj?4xbTpW7H`Z4I1x4 zQOGhA4h4bon1^_`(bL41nU5nc1pOut%3nKylVfVq?(CS3xC%biLLaa4p`RdPHf&(L zRwZV8OyhZ@uLGOSlD{ZWTP90UNO#!bR;QqtfI~0RR4(H|oPU%=~j<;$q*u{c@XW zZv~6DL&XVcD}Tj`xO5%ST^*KysO_jG!g{G_h`uBf+P%{feMyUhuGS;*#`ei@#X85q+EL<>gw z-)#8bEJw`(;=X@Vw?`)P|NfdY)(E?t)?TM&-_1%J86wuf3)JV}d!;hqkVujBx-f@* zJ#m@%LUPajob)^+is(cQZ>HWCZ~~m3-e<0<0*UL$yYYV7d(NX(PF7tpGZ;14WDf{e zmERG(IC~R`ASzBabqx727^#~q0)8c@ooF;9ugae@pq%i#Mqh-6XeC12e~sREoIaO6FnX=fO1~J zG3=S&FDmzJth{O1o-IHoLj-&88PK0^cwCzyHKQP(@t257I49C-67R`ccMIem!7Yj} z#WdbM4-DAB*7MV-uTd^IhPj-+Yx!5(eDI>z`juhXTha;2pI__T9E+{MatG_OsxL60 zM;rZOYKltKExX}3!dya7F+6zLaIgBO)>lSQeD{5BMWyNE5vn#mFgwlF;yD1v4Izo$Mx9AgXG+bNlMBY@PhN3Y^n)Y z$m-nrDtJxW^>|s~(eSR4-sBbD z2FM6qznQM)?Aup9JvmUK(R%(M!^@c}=i3mn#8Er6beNvp{3EvlBsz|y*L13spDfVh z3|+34OpcGwjE~O_)@08N{>uPL<;d#R(F;2K4YMsS&T6CLdeQSjoeu{N692}tyhkRj zZMM#+K^*T3m=&yQE4B?1w+ji;#k2GTMO3W4oriCHY?HB>tb_%dnWEX$h64&&J5t6qMtUCJ40EG;dC6#w>|38(Oss!na+IGE%Ueyq_>gaW+1G>6;c!m6h;4Co+^o~_-`XM6& z8HSBgQ+Rp%>U`g$`Jrd{h?EeS%m1|ish$OMjIp z_Gm&re)0G2^^lkpIhxAw;AGy!CG!#b<^U&A?QYkyK8lnFUAaXlAk2g>X(!{Rmp?VbxvLj;wOxNEmt| z5b`bX`@fHIo(gW%u5sKUg*Jt$Iz=^QXnfQ};g3d!^ngg`NGv=+XZ}vH+y>vvq+WY8 zuokoTNSLJdbh^D>GbgINryBWKWMv!A1?57}sLt^OHpK1nMtofDFp5kq5__Tf78^Ql zmE8%|0Ft_R?~_w2VO4Sv<6WxIbpSUPuG-uM;dMD<-gdZS8Q)JJ(u2R2spbot@ZjPxpQgGr&{%R z5CIPG@Z{D6=M1|#-T;ju-G+wdxtsPIsoQ;%+kYZf)nRHc)^*%y==$EyEqffZ6=*w$ z;iX7R> z5-Fd3=1EI<$R{7AMgZ70Z3Wf9wVaaOe=b+2vTpxf(E9KFEd%*R<7_R}K*ifL#vUX1 zOfBcDis)9)4vC+P&dCT6GfpBVjP$vh*FsbmOnb7OJD9ugB$|von3S3vKJAVN*0fUV z{0aQR0SQe|zSeHO*<6XJrZAn&QxRCqvV<2(z9=s!1aTzloH%BSw4jqD8C0y8MeKoLQ?}oxh~!r5LV0 zMLAzBPc+%gR%m{&X3{l!f!_7`f+s@w&f{t;T;#w0(x*Q=;P=uR1a=Jum8s8;T`@kt zBM1%Mn1_G^|NKBB{QX?{Y{hXM06%SMoZpMRPKDPp#sCy7vGmZ1586pe?+b)QR(>X1 zu67vaqKNAM2FPEv-2!Iq@3AOIfT|JYn5g_C{!Rvq5gJZy;vaqoF{lZ#GVXQ*w}#4g zP(XXD*Hw}K_4vwOu`-H;Dvh!jch5r6$Cv|Q=6$@%%{3O(^MssS_T=jwsxpJxr?;OG z-@WiHd<{%+bR!>CMOU3#I0_q5IO6&?d zw)_73ikMyOHO+&Ieyo)rA)Jxq3aEv2&}*#@=~i>)liO}n^>a}vzzpKI0~3h32Q?Ck zqc`Wd=tJCp^7C+O>+-z)*7x8h)*mRJ&K7P$LEAGA#@vi^#*VZ7C+*={O0VM8_6OI6 z_kBYlO4KS6zsA_DkFUt+GzrlE4Ted=0p0{K;V7GWa5P_-mrN?V9a(+04>O;2x1x+p z(*#L7&$ATE@!@8KJ|Kg&mJ{<3>kbXW01xY|7xpQtzp)EjSaurTh7PNYz@+i@xim3M{fi8!0q2T(+3YYY;&N$e%=Rp?#ofjLX%_R zxu-h%K%DHwT{g{Qb{;boChf5ZvuhW^v_)yPAEo9KY!v#>xS)4UE(Q`iQYm|tz9R^W zF*TWVDr|`oED`-Pg27xR6syU1!LE_UfjSS(9NTc*CZV3>`+HLMOtI#P2wN2pRQ1C! z;Y+(00Rxc%99Zur&f*Z|f}fpv3BST@;_k>ooLBprK_fK0vnyuLtp>knVnG23q4eLl z2_jg0Mdw4G(v2;hZLJs1mI>z)0CKJt#Rzj1P3DqjLwr~ISW-mcoaxLdrB^XGES#f& z1+pyU91Zzi@!O&O`f`xZxM0QU_Aks_*$GmjV>T5w7-fH|!PFzlu1G)us=X}hgccLO zmLOvO+yTZghjifJJNd-UU{I>UM4*Brj$vGKPny|NedLLx5R1>M9Y+eB88`Tf5!yj{ zSDhu!V^!lJK_mgKIXe8*YW(wKvGcv*b8{&axvSzP#V34|Cry0`#M_-MfokTaG+M#+ z^xDcuLb%~%T^&=Zy?nBeUdO}QL>?-*5S+Qh>&XU{W;{A`jnke1z{tNHkO@c^y}%i` zmEvs61oiOr@ZUtPqmWaAJjD$^XC&o`Yd*W~{3c`0eN^j;=g0t9jC9faMn)58C}y$s z>U!V*c57l6Xnux$^>&!JKY-@%@+k_ypiU=Bbr*b&hXGUXb^GnP|7l=TlO)6Cj_qTZ z+iDAC1}|x2bo%ggZ5T8E+t6vQS~#7I2f>$!AXzPRBuX)4mB*6m(O8C*#zgAao+r#4 zrLfs@j_9#r^bJa9 zV)+YWMG6WAW)yfyQ-jbfECPa5zlmH>T3VfDCG6mi{+*kh1u9UuX(bLvsU@4|^jqL5 z+}fqCe|lFn07zyXO3U?T75!%!M~lUW zmt+-{mD^2iU)sbOW3Tyl&wHKdeb;8{Pk||5?6oQOxoO~-z?*W4D9$htGY=s_8QAue z*n~rNy(PRhh9$;mgO_hxcO;k<);%WswyWXihKBD4efn8VOy(j^6n)npAb<1(?-_? zhyveMO?AA@$LS&dvOPssbj4On?IxF~26d3lX3=k1lGl$TkOig;S+$Uqx->8HS`7R` zTKH`;rYx@IH+39cQ6pDHPGJ)<2qzw6zPefu%oVO|(osnmSu{Sa)-pK=M8T}*nxIz} zry*UkG5N5zLYz78R6u+~7LYWvGxmzA#_b9Q9czRhyA?4L6E9=a6S)N=U*}HY<*szi zI?jK5n9TC-?&QZsHU_)hlXo({K+AiMxAiPxLs|lQV7tB z@3BcYQ$Y$G-~N3?jUzMmzbH`6y656KIoBMprKJoglDEVBW}Y#=ETy5|Zu(}H@2Z4pK+Ig{iL542sFV3#*g~tnzv#)xMIyy9l{rLu z1FP>ZbeCxim=fV|+fB|REYgl`+f7Y2c>KUiCE*TYuazNECfw%qC-S^B|C9Yq;59W~ z90qO{eVF)?C5tp?+{N2h>vebn7i+@Tbq$SsSJ;cpu*VrTPwqLi^{%B(QFEI1s1eiN zPB*HKx_4pAI$P}2!V_s_{6ZDH_9|{Nd#y)u)(w^a#?)GLO>f*(Zltu|0G-#lG7&_< zk60v!dGR`p<$f?}W5N;!gVS&_<525hY!x$>MZ1C*dD@(9V0Rvgt}9;z#8jp*aQ{G>pxK!7O&%=An8b>hr-*c2Z3q5PSMC7BuOX#iCm;6JHa+T zVbF7Du9A|zukWc1y{p5B0%mDf8Q!O8ZS{6`u5>ahg(bpTbT=NGb5OV{&f}}&QE^x; zzKd1X*Kh;(!(dT#hIgL>K^q+O+v578rRQWp_reJWnBmbO_ZTe_zc+7b6c9epopNg} z;VnM?dZ((1tfGY7r+TIg7_a%<9

      do<6vE6@D=tlyC1mR>j@rv4MyQ=&V2l8lV! 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 T4G}+_gMg2dgPVQrd4J-cVZj+9 literal 0 HcmV?d00001 diff --git a/static/images/thumb/movie/webplayer.jpg b/static/images/thumb/movie/webplayer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f8b7bce0838874fc6ea67cd55b34b1914775507 GIT binary patch literal 72738 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νF7efI}EW0Rszk6^m${>>E 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 b``8b)t=ki99I+>-m%)K^_H??1rKJBKXMV~C literal 0 HcmV?d00001 diff --git a/static/images/thumb/movie/youtube.jpg b/static/images/thumb/movie/youtube.jpg new file mode 100644 index 0000000000000000000000000000000000000000..304af172d0e23cbc089788bdbfecb2b70dbae795 GIT binary patch literal 59418 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ˁSTVhd7%nYV<-2<4?@&IM0cc^W8cb4<0;t`>l7R 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 KbSp8p!v7C-VzK1_ literal 0 HcmV?d00001 diff --git a/static/images/thumb/music/manila.jpg b/static/images/thumb/music/manila.jpg new file mode 100644 index 0000000000000000000000000000000000000000..064fd3b8d2dbb2ce3b28527a73ea9959986af441 GIT binary patch literal 31006 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


      w4I4;$r_kjyacn#h<|kKjivLr#D;7xD^0%qJ& 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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/music/manila.png b/static/images/thumb/music/manila.png new file mode 100644 index 0000000000000000000000000000000000000000..71a391302c82223cf5e43a6c1d0b93e074ddc096 GIT binary patch literal 81162 zcmXt818^l>)4p+TY&+T5+-PIlwsT`!8z&pv+}O5_jg8&dHvha|)qkd@=2Xwr)aldD zbU)qG5sLB>h;Vpt0000{N>WrA004vdI&EOVza$cji6BmgNt`8JaGw=g~lV< z1&UHFzeMUCEID@cLaQY^MbuwPy3k^df#wb9a+Kmjm`WpWXv?MvQUxwMXf35Azk&os zm|W)Hw<_8n-#%I&)fc^M4CWcrpYUIOULfwv?Kbbv4mWff9Zk?*{w5+3`um5yH)Petw2_7Mb2x&5}sMAI{!S%xf3FO z8z4y>JL_^UKJ?rn-c0;)^wXc2x;U*Z7VYKlJklgW-hUHxBpv_T-RjgF+`G=fh0^0v3YKq#FceBF8J{ft9vPa~>Kc3iy45HhXB-5b#W2a{d~dqnjQU8J=-@RPJYl+rnYqfm_g{10sr2=(^xkc5$T>bb z_y|U==n38z*nHUj8Mfgw{+FRg%l{Ty$N6X5$0z2Cfy-8S`H~%F15P*d>a;%l-hZzJ zDNYoFoJz8}3d(CeF5<(syIO`gP!(*(_Fq-|MvPfhq`^tFp42~?&Z4?l4*HkeTL?H0 z_Jl4Te*b<3=>S~Z3?Cod4|`w%IGUcbdx3JNTfR8a10ncI4Qs0evEN+-6r> zfB*)jZts5vPP;sARa^Csm1TV$u`b<9Kc0dI!lE~4_{@d<0cr*rtuHcypozCwkQG&Q z>!Zwjyyd$|S=0Ip0|H*>QD@(5jqCrEism(*L<}o#ugbF)_TQQTBiRQ_py0`U(^0%n zcer1h7AZj>d}yh9G(5`c>d;>^!z#U9WGG#8ziNSYue1Y$eiX1qY3|u-d!Dz&^P|^S z^ zQpjg>tR{d3bRpwAD^0w#56jM9ZuvTHlXCei8&3YkpTn}@GNcV68O_1CE zlmP#3dB=nV4rpwi^go)XCTJhyJvlqu=zN|s^T%Hu0F4mzY@dCB$76SiE%zcI$y;O2 zPRVm|jD>b&X3b{|z6`%-qvuHq@-)Zy^*7?N|7+@v#WwR3i}gj|$5M}-mtpV9>WbIF zC94E6x7Wqdv`((IH}Utk(mIRtY@gXhR*%stm9R5Hu2h{4^ZAoL^2=8ze}Inu2K(cm zw$jP^U+)&gDUp{DBcHdmoBkm0?dBLNB2cG^cdW^$VI0rtLY)fqy=GC3?Efk~lmGa~FM#L$}Co-%b(|1l@iE z>0k?NTtEm8wUwN?hNruK*&3IHpqK8CeS1UK&CV`ei$KruSYY7+5l*F_#|V7kW4oiW z*f>O-_ftq-l?=p{Fu-z6OistG^JX#r(dZPJHvlZzS)oi6ber6>HCXcfX|@?$E5m;7ZX5I z1)#AHHlrV{SD6ZXm<< z3PTt=AZ%&Ym?mWCf6(3i3--wlsNq|Fvu-Y(hv+X^vUxx49gk8dCD2b_dw%=p`Ys; zA+7f}Aq{^<(%3#Z_q(wjHqI?_Ziiy+cJ2&W9_ud_SYChEwjC28@V?%P4BM?7QwQs; z2O$8Me~zgC(jn0DHWA-&|9~ZFdB`93KCAk$@L>#jSQ5C{8z$w>+eV(=zJ#eJT8{;i zU*_@wjyexDcn!vm0cGfvvDuAvj^~2J+P27Gs*^wb1qRwAh&Vo~|FHk@X1+iGG#+kQ zPutl{*of^rxNvsHZ>CMyS`O@ikr=y~>Dy1+L5^!fL_bIc^;z0=`^jY@6ZkE(Hb@}< zFcD6nish?!Z~}=E zS&xo@=LKjroohL-dzn)MJ-imADZ1SbJ)ApGph|j%tPS<%4uJXI=#i zuKl05P6xr+T-8kF!T+Sdc`iLm$I2C65p;Z#a-FgsoJW2^UX52w*@wa|+2^*%wX$L! z+&il6ViD)`AN=<8Ke4n{0}JSbh#`VZpa8DB@Am@SKX&pTGog_(+>Q4i4)OfA(rVMD z+{h0C0%u$zowWd!aN`J960BQ-<<`W+z0D~E9=)q!W|vl@U@Hm`0hi|=*CM|jAB~-G z^7vEdbdrQ?gIe&>w30me_Kvx%kJL51IWocCHC;iB?u2z1|{* zr;=R77!@R7SO259Dd^*L%%t0S{9Gf_2?c*gy&Hhxr=~h6$ zrq%SOwILJ#(n<x_G;VhPK=u7}@mqP$gMeE6>aju#=z#Kq?4mQJ~95H$8uu#CjOw$RB}>O5$V% zNTZ6RfAZUCv2EYOg9X`pSgItY2)DAv0coq2C!67<@ z{9}!LH<&Mu*|4`C!DG7Kqiebw_9Wmzet@^9wODxsep8*ZK<;Q>rwzHVlDal4qk)Ta zE$Du1{H+d)zfTPc>;9J|+q#`Z>SPFKEq_3l{4sY@M;g9;AB&DqZKc0NV(?m?O3^j} z&a+DF-6JE>r!Z%BXUm_WE*~~sTNd@PdTrvI9MC#CX}CEsfH@gRVEXDit691p-GQC= z`g{j%EHNU9$IDn%&loFtM-?HC;TCd^-%S@x=EHX`Vx+fSg)@1|v>bVYrl%{6wRJmB z<3pLr&&l7*Z6kh*D~^+`4I{C-%E?uFsZ;nm`Lb8Nd~Q7-#N0xxqvOp(4qAjikvlN%+B=s&zBE{3VeCyd^1}w zC4_*Pr=0^&`$%02q_%@oqP1kWfhoYu^==s6s}Qcl5wZVv>yKZX=e>de!0Gm9^R>wR=tf_&e2S z1^D^CR=fJ!*fZnifsiB~k<;xeZ#-!`*>=2-=}|)C>LDAtMHbiE7E!ynsN6SzdQfxa^^&@T^__d>(~-!&!TyTHI7=cWJM3Pk&GUNl26 zH?QJogr=(n2cZpWqsF5IfyF@r5koHnVWma9Aa|HC`q7mw1>u8GYQq}V{G|fI!y!>| zuSG-wuzN+QVp@m@M``RpKq9901tSEB8&_I-!Vo&zw7#VSOWWxitDuYOcV{yGWp<;4 zMYL;}#4(}j?MhoM^8n!2CulQrz{)=v5;KzJP8{LSy-JO`PLIlI65DTNvu&m_ndJD+ zBDZdQAYjWQOK=|-0p_&ofdHM^LMB@5q>&1zh7&4HM{zZ1sARloqrmu5V^APL zEd?}+YY?e(E(hx+p^LZbm1F1yAJ;`mBMIk=70OqpC_axeM+uC}&9l1YCP3rn5Ij71U8jqAojM%3SfE15ZS8ZxpQg5y;re>B*AXW1QZfbggB{+T*z6HBql344xO}$ z)k=%F4|o=65eAqMXkZ(c*7D7moctaE#pjS_!Wr>WQ+D6dC7A*+~8s;V= zNnsNV(-6WNjYv!>$%NqJAp-`=!T|-j;D$jab%L_Tk_#qw=wPA1wr0RU`EG8gi*0Ue zrdPs~$<-oUHAVdaDQ@73v2e6FwX7+{ypX)Q-C-qf(l>DY6ZvkjSx7~Ft&<-t%%sxf z5vI^d%N4DXcQJsp%A>Jd#KE$tF?q!uiJ-PLlkrt!I^#|_|YAUE!9Zab?SBte>iaVRVeDcn&u+k)Y}wpDZm+X2L_9%Jr5Ca zkFX&L^5!pudRTG#v_>HvmO_2AShjCZPps!fii>plE}NIRY!yla5+u zCnNH36xZaF#z>ZUmWa^d)q4pO8X6>y`rI*i#Kq*n(4oh&*xk!x?iAIBgHWMIp;3Y$ zSwLKEEV)o3%#B)dgiP?LbP!^^YL92fbVmr3J}BRDi4;=+E@qzWBo2V?N`f|o}@R_PIx$vexCxk=~dEa5fEsRb;zJpo_0DFjV7%UQ5f2 zQh$Y2O!=FT$+hpcjAwVta;*_MmF&@1WuUQ+C2=Yar4liUob#ucDN9-k+y>?*X^RO2 zF_N?jcpc{VN+GnAClsqolAt&eSel8631<^=2N^954d^yKLrN?JXrM|8Q2TJUT!}r) zu0Oy*mcMLf5G@e}Uf`cBl1R2Xe-R&6+TJf9h6EA+UVLCJQZWTTiiTXr*oP_f%+;<8 z003T@?Pt4Gff7pqw^q#7wDob-aF6^0%5ZZN9*nQYYc}3O&ug#cpr+$7)b)`mW=rp} zcj{p$|J#A_98D8*0j*J;=8oivqaAb1J8v1-<8OwhUn8tLfH*1E4 zIOu^|i4L!hlg27@(UG3$iMyOd=XZE`lGYLG;t5Lhic3=!hH8Ai$5<&;-e0y1^^Z&TAjXFq&qw;x+(oPN)Z?FQJUM3@P_GfAl{qMwqJ+Hve3TAUvOtRj zl}SLRhqAwq`7;dRn!l#F*vwrb3`IF4(r9s2SWjR(QbMUXJckv#8$Wfup?Kz}EQw$M zRF;}x3Ulvd9JpaEIIz?~V`4h5EDM}OHS`!KF$i-&hSpY68zTG{A}_Tq?0{B8ygstI z5qG5-^qD1l*|+b;wfIj$LFrPkfJq)>8^j4vWY~JGll+av;++njx}K)B9iAWSHWu&a zODW8-`O~|MJ>hNJJD95P<4I^PlY?FqP8()$B2xO%@6}^0VDZc7Jd^%ouiPn7=iIe z)cJWR;O;OGRf7^Cna*N*bwg)ATw%;haLV_*gB7nZtQBAyQUGC2DHIPEzwk#^x3sD0 zeo@1~_w)U+qrF{INBXB&T(C8yWMLKti!1HR*z^W{ouzjGktsO0SCJ_}Z#oAOl@vKb zKZ40Tr+GxPJY)t50G3pBGSuko*PwMma@e%3AqH_FC2O6bjK|Wq6U~^q<<)WuQS}lb z;b3@j7#to_R04%>s#E&VgEAo4LhFNs){04h*q|cE`|l$^k#|0Tnm}t{LD!$Itmp5B zf)WJZKV~3?!91R)!~v)3OyCZC>9=4A)o1pQ{YCRk;J3HPTi_)QBM98eq=Cl*o%>8k z5to|pnhV;Che*~Q*Bs7W7aEsrzk}0z)iBPiVqqvFcfWS@?D_y zE1%N+L)hZc&T-XIp|d88Ky(>vwY*e~n7`;pE$nTeJGGYBv^)MD5i91l%nTeQdfME#~D!=h>^c(5|9z;4hA>L9=-bLhuCE7-k#Bz zfOUJ6BWE@}C;oT7w|lP|?>N0h4U7<1QKuk4W8)CaPkh!imlItL1Flo;VCv1J_#6o` zqM*68=%XX_Zr?lLcK0qesN4Ty;V`Fbxn1NTzza%6l^INRL5k`+`)odc+{~HR{bHrt zR);c?<)ng|5YKs|(EYnyk_DD83eU-AP7{U3RL4J6!s2|AJV=oQLvtuM)?Spj+H2BV zPW(m6m?NAnmBBjMb%LR9-)UiBnKKL9IKpwkgTN5wMAuM~FgVL?t=UTR$O$8|LX!#1 z$&BOd%{eODziZ8`PL=X}hCUq-rb47O-1!M|z1>BIerlpLIV^J=Jj8Ez^JOfO z|7pjVJiYh@^4`Lo8qVgiIw1g^t$9fw4L}XBL=|G3ekT?T$v=FZanqU0HSjrqJ(PuV z7(7J!n2@PypAnX#V{2BA2(RM*Ye`a8LCKp;#S^~MjjWH?@>2U0T4KRoy{F^S|AU6{fXG*G_^C^u)Q$Y??k|A8_DML;PAEwb2{ zS@D~pI-_|-9H*fBd+E!EFd2C1iTAR)@8#MKD`HQrsp9=PahsBR52OUQ#7WWofjo~Z zBYMntkDfzf{fD@~s1`afgalELtyep#I1GUZ4O$2!^OeK^q>QH=a1n}2iZxGv2~rdsdn&qq z+}ABF=ux|GW@|`<;9oS?g{%|%{r(7~TCUQ+8|L-oExmn%8&qv?@myIY{JrJ%Yq92{ z)%!fxz{_?HH5ck?gz8c{h1=^!E5w9811hpm`&oXnRd)+NLaey}umn?FoCG;14J2nl zXB_OG{dR^(6(v0-x`i&TkWhv5#TY<8e*tHErPOACl3*w-P(+z|sbq*w&~ebw7OH>< z)mdeyq&~=a7l7s|{ykubUTBIgt=%Xzil z^^x)9-+fQ#!$T1b2NqCEfydL_w1?<<%4(4F!DpdI-|)p{kaQ{cb=TYPe!@VY!}Hdh zrZ`Fe%fZX@T=SAekj=(>cp@ob%nEbuQo_m?85gL&Btpn)Vro$Fj@Q2iZKTu;4eoOL+O<`T2Ig%Ua9L zJ?r67SpcOOZ5V=!(ci{$z6jK6@*-l(6kQt2p^__GujSJ!W(4rpcd~)07$c;_>FzA8 zst)(rKg7>d?g}3XG(@XFenHk#M&p&C=&SRV?X5bKu*+8?9IqS%5fq@q^)(a=Zfk`d zM;5ivJ;b#xyflckH$zHsO(w7jPGqx-HxF`eNa|6w`LQX5=lOKSnbB3c!Ep>lk|$k| zB)*k0pi;{ETc|@g9IU%sfO9l>Z5e?QOJV++aA-+l_$e8U4|pE#B>0tNkQUvy;Dt)u z8AvR{-aTq-Fgb$yP>chjqF{4Nxig=IX)Q~d&7e%<0U9j`6k*Haa6t+eoVX+#dU-b) zziL{;aOHR(wd~&$##>tgf2>>)s@Fd zV2k1mmw4`c44}9zAAAHx&7(^aV70AC3ASsG`PRON=+Un{=b*1p8gj`y1aAD*w3iUR z7*QSc{A>fch4e+x@4m5aezJaGZ6bcVb1__P=<)45Ozin#^qO`n^?jOyl)6f`Gc?#x z93>Qwp1+3Vw@3g0NLEW3NgcU(w)BjO7#Ekc|_zWE=ULBr=vl6an~dF z@5!htz9<15uj1pL{Zr7|orSSQ0;8fv@Lc}C7oZpC(-6lXk0b~~*3h>33T0!7i%kR^ zg@lFz#1Mj`%WYYcKcHO3o)kJtY;V;V?j_R?052Q+dkb}^_F z%~l>)EQ9@IZ#aB?C3fhYl^|4`t;yZo1V zEaEN0Lh*vqIpWcT19~gdv>L)25^p-q){cmUgN4{id|Vm}E8v9%L2k!R2+UdyO@c*- zfij7ZY1#1^7T7$oY$JS|P|)b(5E755Woqg(ycLthf+Tg03sw?R9Fvw3V?>}@b!kap z)j&X_x*rdwTXT0$8AFRVRS*HZF=F=oq^z)Yb|d;(ZPr?i(xAs~;K)EMl;#3rd=2Kl z{Xw{a`Q-40RpI zsw}b5O)NorASOZt&WvhY!Ypdu18k8x$K{S zjKCb zKnJ2nZ*xSi#iIr`c}8#T@to?dQR5Fil_Tlv2YH-kUEn=g^aQ2LlD>8i51TVl+4?l) zk>B9={4q0Zl5$QQ9*S_noWn)bT=!_uYfK3?3p`sX8D%yT#96jw2PBn!%27a>Cvq%Y z#y3eEg&~+bYu|qQ14zpt%2S#dKroP`mXf-(5)PcO9%av4IGkdeM9}g{Shykh>@f9J zIblwDfJ(ukv5umSgPYS3jYr><8V-ym96%bJ)SXMKpPR!Fv(rE8>eMHxNSiHRGM}>n z5k_k#3v1NeD}f15I!-s)c(_Al*6)>c4) z6o%b?OjZUI-3b>5G2ihK2bgoN#pm8c1S=a=c59i%Fr!!B`wU2b=ylc`}y%v*Z@2M_T{O5k$Q~fIYJV<+?**)8)c|AZpUx+wh zM>nq)*bQKYb$37e$TQ8oYQbpu_p}kI)(~@fc4lMWf|{eoVIUTNg7U8GIJPioizbW~ zzvMN9xlI|QEFGumxZgHenRLU~_Evriz)=Y{`8kebj*;mBq<}27bF8vj91U#GJR~d7 z-#sG(Q`}@o6;)Agp|JNx326T&5RK!%nJ`hvT~-lA9xEJf=BgoGRJ9Jju{du=f=<-mUh9)Tx2A$>N$%d#Px+p_eFgGA*2DJS`EGLyPETOA!4(Bu zjqfw=?^USO1>Ryve}1W2PQ0n=Keuusv0Wixm3ty_d+U&uZyHWBr_9Ti?q{}toP_KU zHwE?**;MuE_oAO#V+DQmQs$lB!syv51z{)`yw;?%N+BJnkHfTL@u&0Q0#m~WruPQwaJv2Fa02UX{jB2CWOeays{JO0pF_E*HPI1$Fmn|kG&rg2 zu9D@a>^|}Bx`{kAgFEUZMOT~6Lg{PctPgZGTK2*KUlM&b3!^Uy2!y?~sHddj%z$Ro zTx}<$svwHcV8M{a59+(YT%OGE{1%XruCY{A+ZKJXc2-44Bx@h>Z$MGl_dd14|HeQ( zXTkq7_k7B^Vp8m0&mUUR_c7{z`$y$VPLJ?+e^jM+To^ThE6M=lbj7ZvIfxrma2unJ zC}Ku)!-6sO0`q!YXxcfeV{dqQYBnZ@ES|larYQlR)^y;q0xp>pn#*38VJ-7>h(n5S z)(9Cuuj?TDrEGVXG?%CDrSBeaqR`@*H-G8vyVg~6FNiRI@iqa2Mo?icn^Sj#>&<@( z>0DR;P;p>9T-5`~yn8UBu75X`&Q%4Km6_~0^rm9L=tY8dF~RtWm4%Vvdd`$$;20yc zWd{GjU>!x^^pktKg&b@tqKHY!eV}sf*_D#b^!S&Xg2AR7XKsz#7DLmmol!AZb%&Y$ zR0tP1$?%*GQ(3mR$Xtq~bVLUC@-jmmP+KNd`x#|cL~k>>!NS1yq)eyV@Sze)>YK#_ zy$nSt!en7Mg*2)NQ@%^{5LA@zoQO+GVL;sdJf+6606gg_)A#C^m`_gqg_lc0Jzon5 z05%yjE?U9InMlQ@@1mmcd-|uU@8`BLlvMaj8F~e=K63br3jMU2Ks^wW9E;#F76UF~ zFvS|I^64OaHI}28Pat(nniTr()F4Ivkabm7L)C%^SsZn^Fs);(!WTIx47M;?2MlqQVXP|aA{rE@1eB&Xpah`8t6!GCq5?#q zCsG(jD=Z$=B-4&3QVjIioCCG8+cB3HCOcU@jdmzJ|2cpMl;r5$8uc`&z>NJ@&{J{z;5-F^Sb zQ=UgP(alZ&d|O|_QzK9ZPR%92;^ppmJs>v>UZK_Tt8e0WbXJ|)#5j$& zg3c>r!20iKQqEv?oV@gh-j{Xx?LQBn-CWm>1Le4hV6q0+2w)ZF*~})Z=nsD9%NF$S zJplEocX3sZp&^x>QyB#|?1q}2KUNYJQ!kI+fXViQ>U|AA7{Se;%jxbHffT)Wei?)i z62r}_;VSE}9+z1gK-2B%UrPXhZF!Tu<)A>P(94>!lg6>SVyORH%L;;61tCLMrTMh0 zO$W>dhb2;)7W;=FYU>t<4!rbsRbVa}$({MX-@$ zd0bb4H2E*h7AGZgF^z>66C3x!`YHMpIwT2tr^Cja%OPv1vf=eF*NS?K=aSa$TImqZwY=4LGrV#6|e0RP2kE$6x<+DXZU zPS*k9u0q@S0ub<HNzpT7v^Fq5_bEAx!2tim}T& zyIF3G=-Xd^_9n&6#Ke?!@Ak-GO|+yX8p?*8aM-UOp@`lOTrT9Yc6-^9hkr$!J9W3MUz(SPle`K4HeQ4V zrN%iAzJfhl(GfT7XJ^>7W^ud3;&9i#AM{%u=}1p z3K=#gyA7?+!PD8oWVTATM(cw;+=*O9HIcxftl-t^8~o)PAqvc=`z@`kLD;OP?d^2d*41E&8t!JcQ%xz6 zDSBEe&aO^H;v^Jeef7!9c*YK!Y<)Jbjj1UEVaqW)x!b&Wz$osZFC#Oi0ONyH1zdaj ztxKXOyx(W1@U??ZMw&H6F` zQ>WUCMC+79m+EyS2V`*QsLK&18q}qAo15G`+R9^WxD9^*es5#%UN?H{cTGiv9J?oD zz+SSu%J%Fk)MdvZi}OYr?w{3=7_mq&-~N_}GV6Cb6xDWHO^4b~)$^3UIXr_Bkonkn zx_HPSeh&tVJj119hwYscYe)!5rLTsnb*baXrg8jjdM?JrcKQV|ZaikF@buIzo}N4z zsX9Pjvl}U3SLs)bw^oKjEoET1wS``j%d=Wj!&!65m+ula{VNE_`0;luf{0p31Uf4W6bj1tfi3KM39o62pfEkX* zy5Fq-NYQouPp+aD+Be|c-N9O2$HU>5Z4jZ*o!hYHm%3s8Hq*Q^i+~$inkS-{L)nBi zRSWojT0QoNT|4TA9K(qUJ03kJG^tBV2}xT4l;Mh#_|eosnG0oS74sVJSe2tJwO@Fo z#H=oTKbdSd2%I9_uu*No#LiuK&w?|LG3&pX_`}L-w6y5XXy9-$N#}p^Ohm^Jy#5q- z9!)I-UNKm!K4n}w}h1iAUMm3UAl(zzn%84cBACx4Q2(Xz{U2$#)yyvp5|Qcd&-9z3hv#lX2ULxDZfz?003is%z6MDN6&`h}St! z1zI31tw2yS{-b%!upyUV0Za9C)L}4x6C^VD6#YGjB9QXaRtW(Aq+-K0PuJz~bHn!d zS<|c@JHhi_s#8^eg9bJVnyfd6K&3_)uwkV0Re)8N z?&y5s?}ceWFQ?M@+*^Ht@78@!++O@jg<^jT)1(6c_a*X>ie2VECnR0Xuh-=6RffT9 z`}@q=#X1B}KV4PtcP}Nn7ms7@bzJ90abxY5wG$}-blq0`MIG+$;K!hzzYt3+SL{W` z9%#M4s1BdAjSZJ3E9AG`4>H8v>FkMQ&e6-dUuyuJH#dDhq0cSX7(-wO6j2(NC}3rk zrFVzsrG?nSL%5;P8=YPp=QVybSP$vzEeJeED z5DI3Oyy7@+vzX131I;?)uZoH;Pg`i)7sUY+6@^|Dco%v1{8Uyff4NB2liji%fIRub zH>0Ze-urSyVJnJiV$Lk5^I9GCA(8tJ46rN4K~&^{&CGn8Do6L}`aR%lQz4jdKRFQz zdG0c#`kzMq?<}4$%?Nq5vA!D0=R}1M^1yWOBoj;W^PIb>iCG;adp_1%YVUy?2L!%OUZ*=B!QJi~Rq5Fz_P1%~h`z45Z=X--BON`@)NnvYwY zSNdW6v6BQAC?~G?x!18nr+h!Jt{kXSI z^$QM{nkt=^=B6g6(k3`qilP~5A-pA%LX%+2bz93j>qDG6Pyg<_AieXC06*yv!xaRp zI5>!yX0FyLH)eb^_6E*F!pt=6wDcW{&LeNzgP-oQgAgys-_M+L?}L3V+74OM8H@*}#6)y@3J7h(bAs7HsJ* zo~tT7?UyFMDluIW(YG_lPTRx3nvSylFI*oBXbXTwH+4-Dx$;hxqB_HN=oH@(aNSH; zA)$APAij;I23PBvd&_uT{(B#ZIa_JgYj!Qx@&MO55@ZH~Rk^pg2gHw=QiO+) zFf=aBLOZWFZX zE)-!>3k3{y8#ze7%(en6v0ZP7F#Ik`kx6rnie4Z(+;Mxo4wOB@6HSPUS)o>5ZI5v3 zKQ^n2+SpWh^(##RcEF;^O5W39cf|p{e+O%NJj_ugD?IWG1*z+b!-D$G*g_)NXfr4F z89!4<3a@ww8xTm9C6nL;?z1u0zriY*?OINv; zChtF7xg4dj zyq;NF4d>*!cNgk&n@0_a)!hpGan&fmYUbt<=eVKpK`u*Rx2-ks%26r~NxI?-h9gA@ zjZ;RSL-|)7lTx)l0gV(l0PU6>g^&azEh0^+5Z-tfK8k+uSJFc`BT=JqbKdfmNGGq@ zmYURzGxc7%JC0LM8#EPJd>5Xl1%WjXjMBA-bDf0>cE!hpy;qc^3|rO2ZonLQGOlo! zDhw$^QVbcP7!u;;Jd1{Fk^1i}=P>zy`j9 zd0}--K^2k);ip|vuO*TcabOlC#K&>GW{yQ2&SP-Ie-|Ey9UtgfdAM`#9TI1pcaLY%;p3>+&RpmT)E@yov4%$?#R^2RQn`Z4UOjsMu*O<}sUM&Qh}nIgmCzz8UguRmv*W;Ik#5hMG8iHs z2MJ0Yv_FJzvFBU#-_+2gV>e639^S+Of_ZA3neqBT#xy*3lT+Sx_u%1KzvHx=LtW&V z>EsA;n;LvAZl^y?#7&`Jvb!JVXiOo9_Y&Dh0)c7%RRa^h|4CGU7EO+x{zf3XJ<0!I zVyGnTTZOa3utz`D&uZP(*}0h<%iZi6njKaFb05~?%v^*!u5Uc_?7nQ63ZnnTKyZB{ z`6K*@n(7vx0zEST%}b>*!*flQCR=Ew=RzErL@~06o%n%(*-(%td8^KLUB|xqvf78p z=Zx3&p;Q9X(}Ly(9v4&e>o-0C>RbP2w%mGi1$ah`Ph@evE-4*N5;I>mKWZ(KyL;Ji z6~y>B%q3SdR3=Xb&kMW&Hnf&P-vufpJ~0+sFp6REIn~)Y5bvNNJ)_N?S5SIZN}=X% zjqKFSOsYoyV*uPY3t+hjE@WECmL|!3 zN&%Jz|5(s=QFhB8&2Sk-5aSLjB!psF6~t__x%xID@Ik72@@rZDG@l5D&wZ~Ilx=oPyb5=Z< zL^-2LS+<~pZh2*eS`2JdiLqa7rjp5a9?-zrWloT7dEeJf2 z9Tb#$GoUE-$E2#oe*2@t!aozyX;rscm4D3h&0F}9p2ZRAH@?#j4aB527-WO{5Bxpi z^hElJ=gT4gj*y^(B=9uMV?j&fBH=r9{gt)ri_Ft`%zcqZ{P`th+*}{tI#V!F%2J^? z<#sbObIy@2(e=?!i=+vCdwB)cpE$k|;Wu8i39)dDjY~O)@hEM&NCB6x$Mx($CEa=p z>N}dch7`25-|z;l@@^VzVjyLQT-yx}J0TQQsQe%j8Z(?wA;#rykcN)4Omzb&mhi)y z-mLDi<&_uX5`oUt0#?{E(fLn6fGliqX(uMESRYPesVIVZERf z5IESyX}YE7SubG%YxO20ByYyHYHG96xWZtBVhZG;2{h;T?Jv066b`GrmDBzq_Mp&U zJ|#^=9p zp;A3j*`H()nR!^WJ2YL%er``v#>_CL#pC1Ak8`(t;QOq&U{A(>9K@;HRP_B1vG=!TH;Pd%T`1&BS5nn3qX@Dq3CBks)U80d1+YUgb1tZAG8r* zF048o{5A{T9R$vv$Z3IzHu+eP=pBw*Ich^A_Q_~TC`}`RDVZByN|%{9NB%T?EMJrc z)P}d*4dWsPxH!qdH&~hvP+7TO(M{Hs4{CqqmQo6MdSu!1Wr}?ijMmJOPdQ84aV6=J zaZ8hxuBCHjswly8w?QP#|N6coP4}-%Nr!b`{^W*D7BJG({Qq763^Igd^M|QN-K;YF z(=3F+ z&r7G%p;AMJ4jD9fa4MZH){$cEi@Bqt!;>;yRwkrOr&1~myX{PmHdD!Gd0y1`E`d4J zT7_XQ3|Nr#y!?Z~OVn2KNuigfJFO(|4%>JWxgDFn@XO0bjTuuhbO`*EJ=X+wVLS!O zDWQ!?EGvf%8#i%6zkT+$o~ zl+vJVE}JDO0ot{BOY^p-ijftA$L$sN_d5tWm1dD9?NMmNT1X=Fq0*Xt5tU7$V*I4m3AzS2+W$b)tzjDhV-R3Z0KH<11n`&835Q10}}}$ zq=XQf8KH*KVI~*u&LF2^h6&PwLP>!~fk*Is2$?D`A2n*!$Wfz^N`n9?VPhKh5Wy&d z;o0=pD9O{7F<;qX24@4wn+9O`Q-zlp!R~O93FklGrn+ z=94c(nV^a|l?@bsXWHqFA`eoL>#|mJ0}=|AvA%7U;)pACzK@kQVWEv zLqaypX@Vxw*6Gg3s|OK#BqR>*x3}Ddh9{a^%!-kbtRIt`& zo3fLl0yfhkfobuKJ&9yTE}Bh43X7(#$)_x9#oYe$gFI<3e}GP!Hl z0V48*ASqaNlgu8ADa|&!o1@o>0Hu@^(j(Ho&w*khcq!G<+5AqUH&ON*Gi+B^wsT9H z4=ITtMW6yOJPiV|@H7db1OUb0{J;+tC1xg5J#|4^D+AC(L^`tjjJ0HizAwB$GnoWq z<4KlM1;!X+6An*=qhk92?t8B#SC)t%rO>QJWYMw|p6B_VXA+nV5x}~7U}BD1>2z6I zFj`t$o_Xe(_FZj37)n9KO%ajj`#~x!BtcvdqbR8QIvr8bPq* z{jIj7l+bP;9TCjOYLx<{^gNXfRG?D6XY-cLK67AfgC~?5Aj0L^-^&BLpiDgiir;s5Lwabm$9D07AR3@KW@D z9PZ6WF4rl`el5{x&C-+12*W@KDaq4XZ{NQC$tRxJ*}OxAp^#Dt5<+OrL68-obgGO9 zyE{6B5W9Ep4npN>Ed*u`LnWomW-<*84FLR9D#+zRtwo_jmh2IZ(WhtQSX*-ULLuG@ zGn&XF;lT4eA;i#OqYgg!pLVymuV4TFXnWHqNsjD3@b`PqJuq?FV;{BP*-AFvE2# zG%_PSB0N0aeg5>T{Z|jkS-VGLZn!&DcbaDpVd)q{!}ZZL22kLDHFUHoAFA@`G9jfr z3~)1ea?eDPT22C9Z~`!l>hjIi)$Z!5$T`adpgYFgAnHz42Xe|e8$ophtI8O?>Nn@AIv0=u);JmO0R@l7z0wWS?bUYEx4V?e}*LS?ci|b5ARGXpc)6Xylp6 znZ*sX^H6AVj3KTf+~_V2vDTXh@OiA;=n77h`nyq0g(;D#kbr1AwmU#$6uKZx(-nl=IEabxvs*a>`jXEF&7Lm^8IhxTALb zZM~UyJXehIaYIlM}PXK>-AdL8pGZ@?w|2s`UXt76lSmtH@G3^qC(89 zH>^;QGRz^NhG(xLH=WtwI$Ko1gbWO*45Y}u4rH@ofG?4AzM45rzgo z_K~F=MX^V?@ta?Kf$RO--}@kZ_-MC*bd05?4$a`|IeLQhecYBDgZr%>WfTQ~5Os`y zT>2cGFd|EJ4`tSn{cL7#0y#T9`{<*O{@{}zRCi=`u)pE%_hP9O;jW9Fh?Yb)(W=On z_`^b9iy_3!vRN92pdFf++V?|Ue+$bRcU=mza({I8XuI2q$a=MzBMfI_v91MV9|nos zcJ0w;#y9}(&)#|aPyh5!fApgttk-K&R_jf{+xy4;m{4m=9SMG(#5GJEIXuI?7J)31 z4S|$fxood$jT^E-2{$NPnsEl-mK%zDx@wLC5W!5|MCC$Kfn9o2U=X+ z@LY;@5rB-jyzN~z)uTrHjBA~8)n~qyyg)HsOF+yPjV-e<@ zLI@;Ps~1^F71{6i>(vU4HmRtJmYrY3AkFSQgR;Y44>hqlE;&&;&6%B^p8oT{{Ord+ z{_)Mt&33z8MD^b>ez&OXxvH=jV=6Ns+B6Nq6P((uPR>quCt-N?8YDu8eGL_4PC~89 zWwE8Uq=jR5zk4NqPe@BGn3qw_D`o81pG3vB@4vb_|IPX1@4tWY(fhByI^Q$d_VTUM z(~sVJ@A~Ukudh>TpM%iM3Vba=Mw(o#L<|XU6#G(b@Gn z+Vu^#TU=jt8BG53fBIj){OL~xmdR9O#6fd)u=%qNRppsldAD*}9-@j_GqIbPq0!=8 z7a%ue5Yo*2d*A!skkXf5d{G*gc($WA^#%&Jq$$iXcD9T~DC-yoi{;!x9pH5LtJfEQ z{nvjTLinHm@-G(`7dfSW6-+QdK;wd$8=xqj%SwL690Lbfzf~28o()2%6f!SCPESwY z{rzwK>>vLbSKC6`mC~uEevl?1EZ}Nx0=kRiAH3$7b}*^_%aMyUuE2l{7S^dx>6#Zm z`%2cQC-1)d>f2x6{NmFOSMj5h&Ai_x2f8M1&?yQInBx{`tHram;Ftv|m z{leL1p<2|z=A)%hsM*l1R`0&|-sX?K{rnf7;@6*}-z)NPz5U0(`|lSwuVHRP5;!10 ztQIo&$ya?i=HN((-|dO3@HD~wv0bY_)W&{hCW1$g&i?(s{|_(EU;fR_&H2lhX2N0; z<6ZZvt38lm+ik0kKi7QPOyM031U(0choFL zPNx^IVM%Oi>njsRacEq2doEUEQwg$wJ8~XU-tG5~%URi=4w2F|&{c{DDzk0JQsPn@ldoy+ZC#`ATIHnja%+wzYGnyCXSMW;sAgmhVY4~i{L$}Y z6`x<<;PsVfSoW`9ywDh&G=bMDvGu)(xk)CqG!60^#hAyt*UHEw9IS~1<9jN}N4e3O zE-@~Ya5RRACxR1gF?U0zgf%MGs+@Z$AI})zj|jkKTX#55C|3 z(@&p$@ZR3>)6YKJyJh2ASAE`*$eaaflZ^{h@RE_Hx?44O9#UD$xg4{U#0hxX57(EM zczOAB^Z2~m42FG5>s6;BHm`|N;xY<4aqM_2#Z6ION7a(X-I_jVqpb72oCK5^8yQoD zMkM!zi0^Rs-EQ|cfAcq&mzOD}7((Cop_yy$=0bI;#}Q*G=RM?=7Ss!(mOQ6HR8vYm zB%$0Bi!hG+{Ry{4k?~bGk>ifDru;o=uOlZ&EIIgj-{*B222k$oNpWC;{d z4Mp%3h{H?6-Fx29LQi;;_qmX;DlsiU)|SdENP<*Rvmu)Ykq|UzGq-NF@*y2oP+h|8 z%pR&WJeG2Z4ATbz%$syJTkT>=017K+2nx7}QvCnFTG``G@BOtF_nX40a?1i0xao}W$03}=dWJ> z`uXeK;P1WrRZ6d~w`=LP`<Lt{*61~aBe5%ME!`OI*^Cwnu#z_hrul6;(O6Ib$Z8}d4dxyJ)x3wj2)sl zh2b}4zs@IW009XpJ7_RLsmD*i3=Hrh5z&MLvr}paflCSUM=npFOOd7dK00u;l>BT* z8u1{;qM>acD=jVWx2!wdWCFX08~{?XtoIPtuYU5y?%9*m@4UZ#y}kPS=TQ((A6;Vy z@k~$dFzW_gCzBi#@*uJI?74c-;MNNgJ*HGE+IiDFU7R4@$?Tahb=z##D)Rc`b&{K6 zcp_{~c<+D<6o4^9SP{xWIILA2824m?+H4LM`KIAvNuU7ACbS3`kemwGOw4jYo=1dt z0PYerrj!arSMAE_A_5y#Z*LM89ktE{fq5Os8OxH%s7e4u-5NC(j2s|lSSu^_!iA@X5r>(Mc1qxDABa5l3BK71TWbS}v0qYJNHa7y8H zuc4zUU48!CUSEIo!G|Xwyt7?Nce;+Qg|}34MHWY1ae$Dd2t>Tm3c16(;qJpQh)Rr+ zB!ix8HYX=%oAu`C{NH8VO^<)eD;(82xFlG=-Ied1SwD;zYdM1&LKM+MPWYfa={g>U z2}hyYZ+Uio_U|{lR@>G)WY{HY9CJ(_-omHVj8|?S*vc%-J>|?^Qn>&igO0uWF1V+h ze)as~C!eiixBl+?yUt!+UaqbOaVV&Ol%Q=DD~SXolu$7(g;OYwkekeM>!G@?b3;l4 zfRxhtt5+}2&u?yaM>gRO^k0bI4*)3wI9|qU5za7|j&KLC9(xh@Enr?^<1Xlb6IM)D zD4Aj78qCe|Eu#EjWOyScj6x@u2j^vurcG;ZDoihK+^c$#nQdsY1EFa`ZGu+{GyNSr zpf{7r{BJ^l_SxH{63AW`R^5^qqnH3XGMl^09OgaI3!=(uK>w@fmoLswzx6IYc-HT3 zHZBTLr5Gy7SUAojT&xP z*Ev6Z_F70v0X5FHe^%~g+RO%ROGnV`LdE4c!-@m_XOhlmc*3JsyBjy|Nw}F^f4-{v z0VKv?84(c?bGS{(4~zBOSu=0Bnm0|b*}n$|Q9X$6$3*s9W$zd6`bp+Fs^d0{@;2QU zguac59QrL0=-`6mDF7yEwc$BAMZYFQLoJ*@clV7cF1BC(;?toYo_+5-`u4Nb-j5ih zWZ?wQQC!8P0;~yLND-Do9==$?IEFOD7-I}MXLs+qF0R&)fcEb1dP8>|Up(6E$X(O# zxX9gS+#cRyKc=M}u5PNDQxN#xwcRq^AAGNxXf8U5*3MU?Xn0sa! z``t=yMUPoXku4Es{CX(mj~BRO!of_R&bcj|jMqwqf*8bVf!*>$N@>U`P}1jLfBn-> zpLUz~zVp$ml@B6L6%)xqnhCSelo+$c2&%gBK&q*vy83#octFicg(eI`+U@oasl{;c z6f=-&CJi1E-8aUrF5tlrg`%SY4)Zy8v+x6fVq8g;$L`ZEjvptMvsU;Z3YDZC~0*;_0glpPo6wkuh;jgANP%WFkz(M$FgB2YI@kZU(u$eUKbaPs98HZ%Z z8Bqbx{r)j^|JAEsfBNa;ci(#Y$+w5JV;6+K zxSE^s&A9R4oV5qBfl-t8!-Kau`k{=}#FfLJCN-k`5eCogt6LsC4{jONnGMnxXjy=} zz@Uwwag128Fp4KR+En z@M1rLxn%`5otFeA71Zk86bX8dAUOXKF=bI2FqpBpuu( z*XXI#m|aZ+&K|QVFu3i-_LgvQz5C^tx>`T`@WZ4?g>;#zLkSTn#?3&X!_1x3Ri_%9 zAOl4#ISCaRJ);F}*itj-hiGt{>bL*<^e8hxsT7)UEBW$bW_{oHeP2?Oj~NyZ45NoX zw>7v~?YR#4Qn;UU+Uc72Da6O0abAJ=P+MSg&D5L@(!F)@I)tuofDCVvjz;T#TWwj( zsIjyOUj6u-%Ql$o_tWIb*nuUBuQO{QJyicd0n0pj1{x&S>;;zEN+W^E<|*~N9j0{< zm=(rpX87vVZ(Jcb2_}}%e}XLWJap3x%{1YS0zt4H^oxtj^VesO9zA;Zoqa$ra8iwu zJy2X|LJtrLGzwH1R_iqwoODqLQPbE7I32aT+0yvZUinOUMC-FKzJd9p6>>g4D2USG z)(oV(_kG{@gPD1eTdeM9vy9B`4>B|Au$b*9AZS)8_d_TrblT)5?aW@U%q;zH6zJRg zn&W_vmz8mUC_)KXE^_`L_ugficmFshP)__|NyTR_+r>CAj7}FhP#c;$J~QbYjN9h0 zLZF(~JGOgUEMioVecmQ)`S3H>L|K~WQkxSHb8$D+=58{0yx6_^>u=Cx86{L10sRcqOgzexY%W+v4Tac+i`nHa|j-N%QHlhD)x|+ zQXhaKGJ?@e_#R<*{P*@X>uO1nAe04+PAfYO;*(2ZW@bG^qy<~RvEvi#%cUjcY_Dvo z|IC$&+v_;UH1C}lPhPyeQ-q|9cssvhYHrC$}v*A<+M>MnA6chj6@dm z?N)RKy$I;@K7ietb!2kT=GGA;Ek<}f1^Sj;SOEQe5W*G2wyc*5;*uPWeo zYXZj|5i=aKM&*`5!tCO=7(&sSiab-UFyhi3>$@xYBhj5uhh~(@qy<+^Fwirc?s2d< zSTHwt?9$6GpI>aZkKTJno}8L8TPgGECNvc*p%!3gjDrtDimNWJH-s2PIQeCpN^pG5 zhcA+ggUu9nR7K;sOS524@*s2NSR_J|VWu0Eq-|9dQO9A~iz7>2Qu>FJ=Udl2JU-zk zO4@JhYe9-0&1`(o_+9c7?i%+-Ues|XI*AHJD0A`d-bjjMum=6*-x&%mwc>kmn03Ck z%pSm6{EHhAoG~M&k~vId3@^{m&(F`EJ=r`ybD`yoZ0=5>2g!iLOU2*l+^0TOovo6qSw^Bb>E{gq3x1!>ZvQuwFgojMIO(q@?#c}s2l1vST04m*{WW3nD_2kKWZ@rD!A!UXD zQC#0lj?9cv;gu7=m4Qj_cbiWIi zI5>T#$Q{+H7w7#hH^qZA=C-I~M;~y?Q8NOW$9DAx){<8jpMU!6^XD%xBse_h03vp8 zxb!a_I&P}EM^XM)@h2<*kL{+_)K)D&ONn!|lGU0y9IrA~ zE~;1XQkSP5nQ6&JIQ!4P8lHa*a|G@>WAVi2QBtPes7)BpkKDsZ^a&HZY(JHH^fdiG@BiKz%E0u%1( zi4awas;FldaMe6yd|c z3?5jJNTO!khX>qSBogx9%_-)KM-k5-*k5u69P(s2@=Gx zc8YmX)k1ctBtizuU%cGCzU)=t8s-lQOhpGzvW_uHYJbCi8>;#pj zE%pIQP(TG&or-|&N(8CGuOJ8lp*6HdycUjKN=H^$%fuFzZ+Z3}D+odkc*l&;ntL`& zsv)KP`0+Dg2q6F%hGB}lIF1a{E#|jd9=vsAp*qjcoyyJMHa6V(ZD|3!XMA&A+n2t` zS(w9YLY{spWrGg_ioD*rl=W<;nZ#QF90i?36sCm+6pAd=n8QWOsw zoaz`zAy**+@a)^&?(FQWTXot6Ku}Y!G?3~VAps(ErAtW$0;6gtF{-kaM=r}QO25mL znKc9A`(N%vZmaFcmK=WMpa4nLkW#w3y3(NQ^=25dhPa@?$B{jOHcZ2!DbBEm6% zUb2_vRqy4DW^SE$dDJDw*K`K!`xG87S!P*}{~zrMP7 z`D%T7a`N~Qq7H7}%GvfBGy9GtJ)Q{y)3r`%|o15-#bKIC?$Pw@LvB$i<18+u#H&%I>UBvIWpwCO? zEhjmOBs}{u!*%>B4w;)l0L$4^9twVJI*6c8dryb=UfdM8wIfqlD+xeLIT~_AgKK*@xHXq5$3P^}Ol2Z<=6-(H7&u zA_chvUg=*W`ScM88H({pzysU%o#5;O*^cpoVppRfs$F6eYT3`0C_DRYVwL%qd@8-F)x6AIG=` zu$;Q^TKmBHyO@sD zyU5|)Zn+EUVJwc1*$z$fo?l?D7B2w!8!>@{@qp}2ELOk#d~EVuimK}=crxa@Ww0gj zpb)g_LYA|{=m7ejF+P3v^xY3Xz{%>qMIMF~O+MyXOj`yPH8kh)7T~6C;)d!dWT_t| zz$#pK4DYYbKK>9-PKH3LB3th!hK^#&y+So~`*ic-)lDAW{lUi`5S;?bW|al&Zp9dq znNwDqldg-Y&z|#obMoxjTdKhwXQz)8vI?tBw+<4%_w8@}-pAiQTd&n}AjN$ps)pbU zO*#rD>Oox9tEw%v?I}w`rHbc^H|98&`7pweiWZZAkekiP4}S22Pd@qN>9c3cJ)he+ zeB5(3TjKO0fCV!6T!FhMd!bE!(3pu#2jcKI8TVI>FVe;QXl|Vo?wH?3g(UKbOy%{$ zMZfcLh6BhFL;V@_LKd zc^KdxHNbrEzTXbJtKA>|;P?OG{33$3+o{9=iufk3k#P0;=F8u_IREOLy~$vrQH1Wa z;@Tn{G-P+UyCJt4{dBjs8$@G|696vAuMtzppfX|zIp;L=+3e>(|K-ii?$b|yaV!e> zKuaCjLu38`c&rZVq{SUHLm=*K9Lf>Q*-97RUec{`r1QvK;~^D-0cE8o!1G;8W1Cnm3j5LB;rs#Ud*cN zZttn7nUzPC>xNVqNX;=#!jkWd^Gp2CUp{|v8Ls!Z-jPI58mloYCh_&1Kz8-K`>1o3LP+vwVqYMij>|j4(BlNW{+Z z{1WFkDMJPeqE2Hc0_*`7C{;mIv6TjPdE3AG{Q2+w@ejW^Ki|K+K4mA60fc2`uz~Q@ zg%IPq-|h0g|J5&l^@C4-@A@Im>KJM2O z#t*mj1Ygc^Uz%JCxoy$W)=u#}W@$?H#nbt$abP((WcHZ`^aJY`dAYF*D3#%?g>D4sqhI0M- zVsH8Eqj&l!VZD+N!n%{VVhAC0F|LEEy9d>i&B?2m=V=)J_>cd@vcYB5tw{|MkygVt zbaJ+mGY+xidL1?a5~-0PfRP%&K#9}{QBXk<6_LPFQMs~aDW97hf5bC2`_}h8T+A>G zgN6`er>g7Ky3MSj|MJ{JBi?lV>BEtH|LG@kb{3CMyL+%%X74!hK?=hgt*8f`{6_MB zbatMY#w02F(G-fNlCqfYi$%5Q(MXw;D9Y>(^l+><7;ZHYtCnvxy427B<$6a(+Y)p4 zISvA_6|!MvKy7^n1ta0+$eu|Ffli8OAOwBzwXQ;Tf%+;yLD*U~k~eO@dH&_&ci%dB z`>9=~Kno05xfnBhpYTov{kc=@}G5|5g-F80={bsW% zU1ewb*rXJ+Z!^Vsaf=xTsAQDjfuKKGd+&n%k!!tKPgtm?h0VMf8SbC)M(OI9P05at zVZQ~(%abu~s?-7z%+749(wDX$j$PB6a5=YDE$P!@fqtL7*Z~nq=_QV#S|8bU9Y_hv zsEICJSgqGo#VV{;t5xU-qKmTWx~}U&3^7R8y?psnRp0vH-9f2c3>1JGLWqGuW9&}W zn^m_VRH@sWn^!N-|KRukV6|FPWVKoWjIv(G)4X?KSg+1d(w|uaGZdmFgIgq!0Yak0 z!`-S|(M+h#>3GcDHH{F$Zo30qMEbrL;nSzjZkdCQyvZ?SXv`KkLecMa0X<;cdHTaV zZugCc_0*9Jl-ORVt{}ybkV(FF9Kab#g)G5 z_DZTi)?M&xWLXmuR7oMYx)LfGW7KT<%Zq1Ep4hvOt}ZV{aCUPFbEgr81otei>UkAp zdv$sK{Hs6tgFk%nO-)g0ys$0xJ_rZ!@Q#C% zj6+|d=J@sCI54)RJu>-lH1DR*q@8@Uvf4QLeuKbFXIdT{N#rb{-id^aQR8UI% zb^$^Lb%m%v1*OhoU|`7_2vAWGw9pzCcG?Xo4=J6Vp7wp8hZKS$8$mTvOjX4|XBvj} zYQ5j~FJGR2^wCFGuP!74c|`9*)de&NX(gWq29W~WrVcnLP-k`*Ft{g&7OmRhMhLQb zsg`sHwJw`7N+654fa%xUdroi+;i@l=2ZlU3+8&p8NU(Q}<9EM9b^a~JH}6b-OG&7x zG1n++ru~ADFRw5^G9gT>#5hA3a|myrd+^M6ZNWXlA6qOzF=&{UUYSBARG>l?7x5@i zAP_-3C`G7rLNz!^p-8B*R6!%s%tP$Q*UI{%grb&r#_!JX3c9&I+rrly>NUx{^E9@(qpTgk9)ia zZHH$ffW}*+!rm_9|PjCdqsg$&dAAgOk2k z?W&b>(+h(yWH(0_Ap{=i0z^{916}Ar5LHAG38AWjGzJz=u4qYgEXxxOlFgMiSU)6p zu20rCyBkkd1$C*a2uuAI)$HcP)z$Uo<>dz-eDLDSFKb(Np=S_)&~qiX#RcvTg62@D z!wCx>9F}YHVw3ZTTs{>U6`n@&Tr8N#6&w%X%IAc9vSV`Wmwep+b?^=r2vD~jvx9zc z!D{jJ20K1tOYQS{K=mtQKLY)JKNcMs_xP9>UV_71?-^(CBK_);*xzOp$0Vas=&Ify zfF$p$YIWi}gIn#gM%H)*HhY( zdi$N{Uwp~xmMOH?2`hk<;gwv}3}-k5PNh49p2t!Mr8~5^4NPVC%(FtxEW=Uc^&^~N zd|NnX^_#)&G<7lU&|d*y(N9(YnXKvH)l>zO3;m!`c?H` zLZes7rxU26Q$&Fht3VY7r7ELPl%gb|9Z09R2upNr2|o0qc2G6IeYf9tUANw>^W`;uCYY!A%JV%+Q$7i8!h~j7rFaP9$Mti$R;+ZW6IZEc%_JEpC%=AElk6^C#FnbRmpC6+$z5 zBv{C`6l9ooZ9ILU6-=LRBg6b@oAsc|V-xRXHP1o}Ae2r@D6+nw14J|gL^1~J6j3~? z2Z1W1BB*G97UL=`1d;+Zk}kQV9F>9!*(3&YAUn-=yIrTjC`L<`)QnD;!;-rxJZGbs zXWwIZasKk`^gCx~PrknT8c6P$o`@uFLI(?~NqH(AZ%^r$xU6U z64Vj|=W0bgR-nHLRNfXpp8UIF0)Qs50CN_BCUo-nPos&+N;sR=xz)`-xzd1kyndS4 zLKTMq`lxnJ(98kSPUc0@_ zFEp_QpM?m_wH!AV&uKmP!TQ3R^n~&A0gD*#;me=Nn!RtW({CQMTV()dakb9bEcJ-3 z0M@t{ZYABeAj7zEPAe5~-P7jubidzQ-|KpfS_IQ6QaQ%R4a%bzqZ3=vhr$ztUIUkf zfhY_iQblY<(IB0$6Lx`JKqnRiF<4LrbyZNkxVA(Isie^9bhidX?jjt9A()$C=y%Z2 zbGwf5>SmjBiX}b2Pn{Even^4LDVrzHDfPVy-+%YLCvQFd&2K&p6fg(m<9&0-h(Tq-5dvQZGI#hG1pLWSl;cCVUvd3ElbY8N$y)+bzHwKmNNd?n5$ zIXmTKW-3C`%)Pj1Y9-^DH`9U1xjAPy<+V4MZ9rA=j2sc87?izgSW9S}Zc#4R=<)sT z)Y*8G?Pv_MLlF}X1SG2w=QOyCkH1)=sKa5P>T0!ix0@UHY)}G3)rJ8;U|xBP0WvAm zZ~`%Q+n49)y3Og?c6&ogjKR#k1d~>(b3`sAS?sV>y110$p8-^`qbN11sA3}$HFS|d z*{QCTT}a{{qbof`S2bz5Wz_2ODY4O+EU_Y<-GFQy%!kaBJ!Q{6I8N9Jkh7&^Y8C*` zPILFt4I{H8KzZ8kw-?tJ@vPHz9ClkWC+q1+gV->@d!b0wTEWYil>$k9re+B=uQ-q` zS%EKigSneYCQM0~+9;q@$)#j1xaG>Fi>Z}`O%&JKNS_Hn;MpC0?xm9`>h3w`5W?ff zkDoq!^0S})3`>}AXV1WP_L0*Z6n4}QqL3SJE?Kl}yP1!|SyiDTT)B>smvBBX&*8z@ zn`PhJ7tZ5_yzb>kFO}4)c~}6LIkLOZEj1%rlUryG8AYIKDFPg&QG~XAN6r~BcI#E& z_t@^%Z@o1P!@Tm;QFmK4>Hwt!hAXL#Km+$U?IKqi16`vj zEkq*|#UO>8Y9btv;*B*rywpX_&LLwkPnknT-)6MQ0ukEe3-&vh)ZuS=P%Ji-uoz*G4%O4MtgX4**tL>E=AZu6Swt?5ER9 zm=XKAup$^4k$dgozJ#^uL~C#`Y8}v$@71nQFF3Ec=%Cw7<+yj;D;)v2rJLS46V3S0 zMz!L5u6FcnH#b{%zzw3~Q<3IH<*O02x%35dz`Y`d(S`iCfAPQn{onn49)|U^XWQKt z?l7n7Y#}olX_g)3bQTw|f=UERM@DE=i4s;4f?}gFhS;gDLWm-r%1Vty)J(~NnJO+l z2rKpsE2c9YItTFf+>zHy>HQFA{4CjJvs&8w5mi+vVLh?c|9psgfV?gYkcj z@)sGwD(u)Oew2ENa};6|hh-wwW4EOGLEt`ic72F=^kC20Oy|F&utg;=;xv@7mS%=v zbz*r+a6(yHNuwFLNIG&!POpZ52@lO(1jv2=5C84&hMVhdbFzE&imO$O(ao~uDQKeA zVJB(DcSQ){;v%)w6+4kA(os6qPPEh5MeQ`6XpGveVvHd~(Jp9ES25KrGC&5(;1pvo zmaFcH>_#(YLv~Nuvss^fm(gboS%&O=@;)WAZSqamiGyw_Wp`+afHEgN`v4>rSjd)# zJ%*RpFP}Vn93FMM*H;XLdK!8L3e;e9Cvs4UbP)o!)~G=SG0Qmz4^ioAumsPr49`T# zI)@d4IyAY%ylgWZ;_gN%R)ErsDp&ET>JKczLQN%|Dvp)nB}GzD;mEE>y?~?6JvCt} zp9yDE_9oT2(fXS7(hzC1A6CzK(^qG)$fIgrjE9Fh?(y-EsO*g6@jvC>R_#mec0QUu z3lFBajqX(`^vQBAY+)2>#(#mO&8IL8hXxfPC?N!#p7wp;?{*cN{BeV`A#OCru|kZ5mHz+&&k9=_fn6yz^YqqumI9sx!?yQ?Z*V*?VoB#Vv~PnE?ZP_ ztx7m(5C(uYU8j7Is!>jyhlRI1NMC+X&e}AJFKk4(1KG)&M7TJsh@rDuRR939(qU;n zjkH#?1XT%{sUkV$yxn!Dr`z4mbKabuY_D%7AJ36gtSTunK$IGkQP>G1v{PA2SjDiC zu#T%u*LB_LO1dtrx~@}+F@&fhVnU-N>dvt<2tYGfrde`W&N(GdhLkX5-zV?0^u}a) z=xs@NJ%j_g9y~za)vvTF_G90!>i$9^R$b$zS-^|rc|eA zaSb8FE~o|xAxKcsKt%>|_W05FfB5?$>W_c&zi>gP52+_b5zR~8XmzuegG`5c$$Kul z&gyt6)O~DQ<-|n&OL%Fcb&h6=rAo^>@KN!=c-=;`o7zyr^{jzS{neL(5P(Me=N<-c z2;<|$E4H|go(Tn}C&Qb@H}R~!am-GsoS_^kQY7gqL&Qs6!*6;IvO7KP`<@~p#_e|3 ztyaU-YY}XwGqT0>vR3Pn(zQ1Ph{siAr*R#09YPmYCtCLcRorloH z7wPMM)#p551+dhQC#iH}mJ-V4RrY9RQ4*CtqpEzxRsnaIG+DP&!IA&N*?b#Dy9?xe z9^L8Rb#PmWp^pPmuhKV_t+>7P|_xgxopNhQ3A?vwMkh$5qt zb1I%goy$QD2CK?9lZtdP$9$UBFpTpfqw#)}7to08hzU&yYNf7P5$gwG0r1Ug;4O}O zMRRXxP$k61-QGm&57Qj#-O5u=KNLqi0JzmG9-tRV+Qis2;0HKjBT1mHp`%{a|V2VhUhbM_&5 zPs>9ddZZ*n;xKT?NXc`OlsylyBvwkgXSlm27eb6Q3uZKmC(RURiGhVtvcnzOX&G5N z*@m0-W_|MB>h<*n)y#YI6iy%^I1OSF6)H|k$vv8iCQYsiH$$e1i5X!6gO>nqgBzUC zY=b#e2$KYB9wQDwLfQZTAOJ~3K~zpD2Q**2jrNv`WHrWU9EvmJDMhQU#{f(btV>%E zZeh>-PE{QR+$Zn#q4YI=wb{KfdQ9Ft?vJ(@DYMr&u4&0C+%$zv5Z< zTV9-gaQgboa}#qo=m=tB6l~5;HYX>^)7AD08Ll(|XkK@UC@sVmYKQKy=91W>uQ>>NWb%+sK)th1@t@+!Pht(sb(E*dvA*sY%&$?2S zprtaibfXdTKueOLC|Q=ot~(!J2`c9q9GJCbpzdK$O$=_50;Z<>n+=W!UvLDKd|3h-%CoK2G5C>+qt9PDkR(ZW0t|(4X6L-&| z8lKAP(Ta&wfzjzEFjxqMj({pgGqQ9%Z&%L_$!biOl5}M`E527`r{7Zf4oeg^;l8~8%u0xlqMff-=Bt1=_p zOb;Ja)!aNXYZ;mAT@oGX;o)IsuFKKYp!*p6==Xi}vFpBjzm5B@yKBFz-_Y;gca9xC z;6vEKj^@Bli$)Uwh8twCZTO{e>)aZfWIh_(MsJ{1r;jF3Y=E2>+|^&(m!JOAr!Rl_ zmCc4m+W<5XFKu`K#o_+!QggseByfpzAIe;STa+!E%Vm@s

      3$qSsmUy=?S)WU7?T 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

      P>VHI;(F-#q zNvvgM>!jWu^8-JhDN=fe8C1XiwR@h9Z+TIVEfA8^r;Nxl10EFaJZ6kk9i#pM^w);0o4;uu0vj2U9#b*};cjw(WkuD@)0c{4f^{m7I10leLHw z%N9f{8!}Q+!=vt*iWka+DMy0@tH^!26f@kiKJ7zG zLQegMDGpDpD9|!xZQ=~ecmk`eEJ-|#0U-cJfSi;ohiFaPsm@FuD1}fxbn=o!$%WIf zOkxtgj=z_j3!;*6+jhOQtpV(N@B5xR#Duz@_HkmP8b+`>ayBuPWyDj4uAzoUYJ2-` zKBx28xxDIp{s9;Lm^uLP-QE`G_s(;bwBW2t|CDxK9b6Joxyj~AYMGjmUarE}V41|w zGHq6gJxo?Txgxq;m^GC~%K5Bklna8!Fxw!}WB>2i|HKXr;0zH=EpvTv15A}(9G=ba zO1~hUd;&Ww;#iwt0q;Z-@?C`HLkGDksh8^|5ub=}O}z6UV5btpYTBv8L}ek%dN!rQqEA89C`QU3C&HVOvJ3;% zoR7#ru0+L{XB>vE@*P!%?_{F`(3knT1jTXm;3&@|21}8K7K;MVC3G~sU)Ux>f(0MHPMlm>w0t#_5 z<}#B?_2$PXbv%sZVHV2>PxpFYr>P3K@Y{Q+_$$X(Il(Gio-RKdfi`0mntODDvG!)eLtX{3I5Na_#(I%}jl)cP#To$4Yz z?u6t;KVWP#&a@D$DfSkq+M4R$n0c=$Afhqu5L|S*9K!h9aB&uP{rwgH+n^m@sTxZf zq0xc}B>;0BnXhFTF9K@fB2{o1v!>zz^b;{ib4%}XG=+(rt2Q~W9wBFZ4W~E9(}ndwiAVaAt&KzNI9&Dy3s7xHLQC0hm`Qxsh#I_eE&Tq_lDx% zPVMale*q`_c}FR2E$@~w&Dl;BhRACwyCEov1T`DcnaQXYyMo8QQsyilPEsGBFgOOo z`w{>tub7^M*(r+*o8h3X8OTetjtK^eM3j&I_>`(j8cse23Ks?Wm(r3zM&lJRHXI3A zIi0GRgK{F>Q{MQQaF6w_a}zSXNByVoKHO(v`}x5U6GT<25X6H}Bk@~c;&lWjK>;};tPSOnOlCki zXv#TSOeq~s?e)TwmUxf)-#a;R>Ki?$hbsa6xfVhk-;5_L-4^P$G1bHHjf~4_7QGo$ ziT-+jJZuYvU}Fq|yj;;*?EW#9dF!K73uh0Ll z+SWdQ`K;9QGc}}$Sj=uH6A{g1Z=!s)D0x567mlVW3WSg*(V-kL*`OY_5lpQ$ouO5O zQGlU*PB_!rnz9IpxDDwcN>10$zcSKS+>x6ImRhRx__O*fH_dUI zG!ix6oz;&XetAlkcQwQE=Q|{B-=z9KgD1WjPr%79mvkJ07&9=C^E#GxHKU6eK+JwU zp(8&1{PQ3G_(ylyWsAK$T(oV&*3dTECTsiu{13WZ#ZB7$C%gVHFL0TQsf0Xz`pE!C zcx~D!8qV#~xDB~f+cy!&a?;vCFa>`YC;9P#_)BBt3|YxUncjD3iD_D|IjI1J*hrc~ zwU==*?BQjZ5QaEBAw?tyns~$&IIf&eU5BQUPsIiI0%DIjp7U2`c5qFTIb|M9p5r)a zmBl8`e2a1*X=0W4wbn@q%$YoBoFgcGXtjKh>#nZQ>%3Wi1@Ju56GI_8!r^r zIe3t+^h<6%cTn%#miQ!a(@ z^k{$9ndw{_VjK{Qnk1QY?s)OqFlUN&2&{-wP@wpkl2j$`_2H9u0+#tUoY&n0u3_n ziXX~2l{vPxz#Wk%mkGg8_Bv!cz_Z34Jjbyl1SyDr=6b~z2{YkIvA2Xt2qJPqaZ=Sw zYwN74hM{JW%4n&oM&>G3OVk>hE#M#ybQFPyJ~IWCK6}xCh*;5W92I;)pwfX9dk_#; zjeJ9jK>%g;S47dMJ4ww&Xp6i;WAKF@0`cMSx5QaX zo{%YNx2sZYZAtkSHl}`PLP9=;k2uWVuld8}o|W>jFKt5Q|Op{l%d zrs|5 zy;YEIh|>R>SE$$B;3acYmI3e|mOmVP0ypf$9@M(e)#G_-;`KtqiqDYfDl=@Rfjb!M=9qQ)_@$gH zG3Y6H3yVyEZvACIM0+B72ni{j!6`;Q;-fbI#BE5M!wpcLbnRi8$x+Q_tYgwN*AdHi7fJT9d^oAC$^Qs zQhX$yt`O|=79!8u4paS{&xpvIjEJ7yBt zsYoh=7czKA5p|+%sHz%>F~fjI2AQe#0+AfidLhMwV*cP4I*Nm+MddZ5qy<65!5D-0V|hkcGV+;5e2661Iin{`Ls3a19Mx40 z;$a4Zin!oXNE$FwQMafqASum~OD9pILf$crJZmlC1L~X)8OAwQFtLgtO-XcbCp{{Q z0fmOzk(cmcp89rhoN5rFe^1OS89+l9w!l1UNd!1DMFO1*F#|+q2N^}n|H6hBU;1#~ z#YdH+m;S|mpaiA=6N^D-SkI3St~@W&QHqL@+++MxzSsaQQx2nSkb)WkM8~Qqor9~y zDP0xqr1gmP5=Tp{0#69hrj8NR!kM!{@es2RG!R4gL>!@>q9RT!B-etd2plBn)eJZj z0%O9lR<0h=Jn0$9Ui8G~vN72-L<#zXWUV(jU-Mtdf7u0M3PE)m&@Xt_vvI+QoUQLe zVayOdo7IOTG6Wn*yIO({0}D#X2~kxQl4cgN{t7BTCqVZ?Tnnp*Bn*u55TXE<>_vUS zrRcNEiknkQO3UU#&Vvlo`7isE?QxId4ds=v3;CpH4xc()J7ncAWMq&Wj9rX51oALu znIKYDk&t$r6w@I6SEwphmAUvCRmHkSRa2|L4Wbh`MrrXA_E865c%ofQCbH zm`$G`AX)(o$z>v-!qaM3tA;3zROPj+k%6o?M}Yt#;!IQgs|ZTzC~Z{`G6-lmbWTLX zdoKb5MWbjRNQFh;41KDjZRy}>BHQOWKF~qlyZ|i_RaaH20>U?~5BL@D9H2pvT~g7Z zo=ZE?-EwMkrl_PF1!*KA01+#|M*g2gqkIX20PhmO4uZY~P39iyScJq$b<}0?$oP z=ux4(q=7!CpN6A~tRac)>cSD1R0mfFR$#6UwjgoNVw6z@tt=Rh#3AUjA~E;RM96SV zNAMbls__hm-D|Dl7!KqVRZ%hrL4-SvU?@Zp{_%vk$~i}R(nAA#>EJ#ERul%)Bn4%) zCkG!e7orUE5#oEzLabl6N)bA;Q(5AvaM9(Qvidrp%zqd% zn;CgbK|7JCrWCK}tYrD+lDI-SnnEb(2|r{;fPnO!eJH@_T#V2mC71G{A@G%eF8%wS zS3P0hv2`a(_1Rf~VGRgSK^!XwS5qBa#j3U+xYkY`p&MbMxNnEz7>>SFg{$K6XAn?e z64*B_?qhO8rcz&3UDZpYdU-Z$+O}0_(5>^1Mk|wAIJukxh_XU`z3Z9xfs{loJ=n~WO0l)^LyqE&KM)R{|tfUgc2n~_zdr|H17gH4@0jP zKtF~_4(025Nb;O{LX!QMjr4H_fyBfVFEF7#;i7dx1*+z%#0Sy`=j`QI+AFUH9Hb&@ zawHG!iKH;Na28;|1Y>ZZi3h^zoRJi#{S-jq>Z)E|nzcS?6YMlwM3<#VsIeW!6{M|} zQ-@lsTCFl~=>#g@S!qMIUKd*tRfWQQlKu*kEGGa=Ox2~*?E$)&Rx?3l%KOM5ozb9x zzM`;Prw2p^fI%A~vj{Tnh%k^aq@d6un6$?ElWSY+5g?r0HH*(Z!7{VIScokr-dN31GT zOQ@V_4R!vXUr)Fg*#_kckITd3IAE3T%JhcM_TitWfJN6wT86!9jq@!|67F?v6H#6yWrvRnS@W(jp4kgQ<5(i2-RmEVCVWE4tK;gg> z5DrrdpIP7liuVr1n6xYX2@P8$ed*3Lj^XFdR4s*{0mXe6X$M7RM~$CGQOQL-y2dOY zbiw@^GHe{Gilds<600TDHC+W!q6USMks&QNBhilXOh~!ZaPW4nB$C)UK^0YJkcOtB z;xyJ4rb^|CWfBCnSV5$^s1VVhFc{gosuFcRrVON<1VIQ!O8P)2JRr&n`FgR+5(>C8 z3H^*O(@@JOELj0m-8v$x7{$(IsisVR8CoTg$a8PwyPgVIkAhI{zK4tPyHH{ksczc& z-)^w+t-^Q?WS5K3!?bQtnWCWs=>=qB15fDi^l zGJw))u#=)*LcPRl6f$q*kzISy2@tWe@7Zw}GK0Yr84b{J?nJseX+yf4=HPY+$N&*g zJpjbhmJoQ9FfxP~U!+OvRBr@Kv{qQibf6LtcKMi+UYggn_&nTK1RF}QoQ9iKMV*Vu zng!7g(owl@eQqFtgwviQ(WM~e5XM&}mY1H-^t;Cu<`FNwCl5fn|C4fDpuqqMA~MD# z>~#7wGD8sS;dmJwQgWv_cr0ptmcl%KDbS{vjPzu))cK*Hzib!JPsn}tY^sZHiz2W( zNCoHUYO5;LBh({kMd$eK4UU#^6b6^Y)r(6ks8fyTC5?|6Zi+Z$-@=Mp(_Zv?%#S z^eh%F$jlT##Y7-Zw4zpY63d3g%m<|*UC z1Y`?npgO9nx>l`dX0634P0a8Sa|0qr3l1{XAjCwG3N(5N9tm-f6em~kgfKA4YY}#- z4=-u!vLT2BEtgahpkL=EKbs3C6u$+W4-4T36tp`~a0p8!0nQRpdX0iryh|+okOjQB zvpJwD1yc1$ZjSZqeZv6II=LvJopku0H1>@4D9~dtk@9aIiS)kBw|NoraBctmg!IM^ zwM+U?((5_gmXc6K2bKT=)ktwf`SQ!Kz7p?UTjFKFX4C62?S8W1g`HPJs7)$RpmID)33#yLgPXeh;twNDwMPgTS|qO9n~Fpx7pLEw zTwgdKqfa+E)da{+k3v1@&2j%$iaq6Adg9PPKq@#x5!uyWfs!p;q+Q&fAU&Sfb()4$ zZeIA$gHSVLOBl?=$Ux9@N6R(VmwGgRwZ>+X)>Pun(Ww(QO;lB4T8toiAt0553LQk1 z4&fkL1izINzh0%$vD)*+nHDcOWv{>9Tum9_>`eY{BM9+yK{0lKa@h^v=aYJXj_e6SRmu=M6m@0f!{Sv4 zdfKdQOlY14GhsYGNu)Ve*=m)=8Eq*|X519Xg&V?4bDV3Y-w9QU`#RG;IvK2RYGn#e z(X2P8`#Rr3-uO}>?L;F2V2T$QN)EY)KJD!Pn3fR$;iQ0-f<~tNh|E6{SMjT(_+h2jDWsw@F?CRrk|AsU(P+(O^!=$5}+r!Qj>#MOV z4|!&X)RgiOxpjm`P4Z2S3=Q^HRj3*`Yn#SAEuKmqh@921wW?s#(yqCBqfJ6UUP@Y} zHqs~#woFTj4s-<3ge=j4kXAh3l!XTYNP)p(>|MT|(Fz&OOFP^`Qpc|2{IUViOTJ;= zsu!M;Ard?DzN-W<>WI)~%Awum2l7QJiz6#4#6h`3%itCQbz2`uI8H{uQ z992Tzjml-_L%pt;aUVlm379u#ew8FC;ovZ_92EnA`Lj^8U3YLA zX`z`;a{2l+QG~kk0z{8Z4;8}ajv>TPqFM6jwxr_*0}5U4eqQ#-dJ7e>2Q!%`^zk9B z8^GwMAmBY*dN>4VK#|JY1Eu=Sl2s+!Mf?!Bsku3MtaC;eKh>_g0YI&o`eNb%w>zUb zM=mV_rD+ot$b6tQuMa*9cnJHS4}}$n%+x8!151*b*lAEfnf8o^nAT&k7QP8bctq`0 zfTJt2Ty;w1%E*qb$W~KqK}dtllMfH(Yym)%)gKW+!`4SC#hl@O001BWNkl!x^J%k{lMr2@br%JY_6zire-9K?|L9)#wK*q;#Up%IP%sEFr0VYAJNfN^{baVnk zu~eN*Q9wCZ=R$*o2rDNui$TakhuVIhOX9V7y$)#e8?#Rrr7@-FY|p=o0Q!w5Flo?{ zb(6=pVJ6-y4K#rX8C?n}h-6+wNdzVkeszfPd8uG`mLG=(0;#mG_th3P*e`&hUkIP!vlDuuP8b4(1EcfURANdDYr zXATfPNPw6Se{T6}M33;^D3`H710V*n52$OljRvqSZC9Dj*kClENK1H$2~QN6WtVVw zF@2Wq!TfUVPg8?-q3LW26l`IBB^NHD?Elk(wm&9hhMb}cin1HbuPPT&L}h!T|NSeN zcmkNV`l-K{C$|?2aoohWM*=9a+oq5W#G*qXu_6AgI+ReySSdsLB(vN>049xhXUBSe z>dsHy`ANuV1`ul3M)P)KJr>OD#)?DDmVS1d-jkC1YbFWo0*MaR+JUPz0jP9QRq5$0 zaAhKj-pwT|2;iQcO(&c)$bk_>yE`pS(Nc#H7=lk_5t?QhkdfDRP6Q#ucO#T0#oM$d zQ!f)QQ;WFK0lmNvxPi>QGyhcHGx$6Qv5Uw{@m~xcSoES^J2+DZkW}?3%NR*=hDbhy zGkatykf(RufBrMZ2)rfMOK>jN{f#l$PwepcHeYlqghR_CTb#6TBWPd+8hvLXgK33} zbm3$jk(m$R8|5xC2P8zhR_mpW+nyX;jG}k=+M4cpTZw0mNMquWQkFwE0b`Orl<_Si z!$Mnj_$97Vb`uP!lz=&Mvsm*|;_tROO{)}3ddPszQy~Pk@Oj2(i*$ns`zcP^T-w;V z8AvzBD11tEC>O|3NdHCi2(}ggV&Mdt{V8;7s0xzri)nUkA65`1(;LRcL4VK=r6-UD z2raxL$aaiiN>x@h>Jh3D>zY-~Y6PuW)pRwh3eM>Rn|8kC(y~a!R#A-*506r0l0T0L zDm=N0bR-@x%w*gKf+ZPpdQw~X%vj4fd4b5_L?cCIW*P-}NfLIUu0W!?-07FGk{Jr) z>EM-NZx~Ah1Y1lLk)sE;9B!6&f^?TzPk7D1kd?PNi$Fo_=@?76ksUG@qHU^TEC79k za06hlQ9*7qqlvVz@Lk0~+KkDwhJ21V@%I3Hgdb63dR20FcQ{W}z&*WL1#}g=Z|G83ADpTdu-cY%uE7hLk&u zK|0!>a3sn;ECk8n+9j4+$dly>00r#_fWl?h5uI|WI~<@&GEf5EBzU6B_#z;lmD;iH zl!l$&ngU2ex8gyUQ75?e(hUjPlh(l0K^#=a9*d#w*JQY0nPYmQ9aMqO@>L1n10zz= zbB7Fz*6qM{$egtfLA!u}@+E=hh(MJgN2eOG9&xlB6ZY#7Tt$t!JJcH02z70B4OhcC zx(b!+sRv0tNfvPd1!4JhcKTRVNpQ(RB2@Sf(=EUNFZ-Q&eeQ)x5UWJrU)=`O~E`00lG%mNLHfa@m?Ht?z|JIi>TRBUQ1E21HkI}mGac~Lxus}V28lvuf3Z}$S%xQoo}vq zYTw9>6%F=csky7*^GEHL9G~7MO|V zS{PY0lF)g1oJSsn2wDRHr*MH(7(`GzuGF$UMSdcp72_JdXR3s=X`)W|w&Zs`H#AV*2&^<3nQ?25ghi0AAQ_6u4V`9R*b z#CZydr4I^u2)S@W{?7_-P#{7n+7@#|Oa|ASOdyHtbq>fbRtg=HK-cNDwL+S7UYmy|Nj0SOfso#Wk(LS6PC&NphkCu|xzHq+}4=le$ z&U3KiYXN`mQSzZ^Y4v5V0Ykb-xFXnTP$`Zr1rU@cF34`v0Y|i{D;$$ZEn!n-r{QW9LN%ocXwX4R zL5B&X3|63!l{-iZQGtj7q=||q9ZnF8y~VC1_pktzfvAxB?tSU%45DQUFSV35Q|K&x z29QPCvcEpqb|4?JJAw@>EnnswL^Ol3=)S*FJp?G*!Th2B>kxV`mDnE^`pb3zPY7XH zias;|A&_8rN_hxA#!D~vZ@8X1GF`&C2KQ~lJk0v;s?0F}6`ou{RY3#|Wv2m!%7WKt zmqj4V$S>|o2+;FmUYG(DZx}a;OcD};sk@reJxUJB#3RNuNfNlzAj4~VaGzV0kt7jG z+JHT?1F}G%7YGJ})(d4yBP}JJjzWvYMenH}nfT|?79EyQIv~P@Zh*`OQA*)S>Pc_w zgS>R8-(P_|uq43r$bX-+Bpa2KXxqIm%O?x5O`a9}ckSTw6Oeer&^(agrC@#J(ItEP zD`a_Bplwk#SYEZ4UCvMh`}`DpQH0>JWvq<=0Td&!F`2YNz(Pv#+;L#> z&5 zyIbgwVzD5MP!^*=N;~D@*g~T`7i*_F2L73k(j-X3KfYR)>mVsnOyKdt zBlym?EHCqWE|c{UQGt$YD}eIcL^dWkx+LLjg~0lcFXQnG2<3aTLo1IcpM6^lvHy{o zo+W~wNKq!x8G!rH6Q>a^js>$1eI-he*kT$`(9V0I_T6yNJ&|lyAXPaE*A3p(6S3Z9 zNg&gC3w;lFD1Fo2CY^|t&%>Dm9x|oRa2{GYpz@2*;EHyu^VHLj(xU>f+cQEy^87i;)PR z>IjPOSV9u16hmnvy1jyW#Ze(^IVG4P3kHHVfZ}NH5;?;Qdom=V$8ebbBH6K*9xhRz zEVeHVwiHVuzNH1|51{0hy>%`*Rp+AU#)UF6qMHT9;xI%c99qY$Kn`D0^ftHGb3*E2 z+C^hgyMYfr$AC*quOs#Ak6@)O04{`%cF|g5%n_a86mdj$5t}*<6-g!iD`n_YH-Z?8 zl}<%W5to^A3pEhzTvIGSFA~dQ2T#TDVo+U2bW7mNj)7v+dXUI8$~^y!2HkGvb)pkg z0w-`9eV66hNs1g<&@z#_o#`w%>O>stPm_BSgjx&h3baJUF9911p?^)5JQ{;&vi#jt@q`z*bhM?C>)jTx;|l2anK7cYsYyRF zI3aPUACo5I8d%I)5oyC|3Zw{g+(($W6}^_SVF9-N`IT8L5~bJl@Q`Efiw5%@4;EVH zfqu~F0*HqPEvAO|kd}ZXhb92P3EG7qdnh2DYlnsYvK>?x_28F8D%ojI5!k|W3RpC; zGp2xp9JhM!6ReitDsxpVg`%S7Y{_AzLWoLYe*`@^*ndF#PlKIxF6JEt5Mb>vDpw$# zKLEtt>d};RW%zZA|jouExZz9j0a#LX|tkq1M0;~-^~KrSY9RO#FlQD2^R)P zo=5G$|g0<3%tDOiM-w?L6y0p5o{E8c1q0T+{ zz(eQGp10PTXm9a{$7jhE79xRpnlE{YwmZ;_0WwsaHkqP*<$0#(}Cjsy#4UR#9!#mX55fo>)J3 zVRJ?g=UiQRC{$Q!>%;`CL@MW{jRr87kP0*J#e0}{gfy*9W~;8AUD&Z{TZxV)7usnn zEt;v>3>9j6NDC(_t<5HTHk~>%@eO@bsfO;u{+DaL2>L`M7Rh5eLN0UTBtUTR08ET# z=AEjDG~SD*JI#xz0^WO);f59sIt2Dn^_ReJiD-s5WRt+heq#vY{q`)+)R}Lza2!q$ zi3m{o@B%fU=Ru8M+SZ$I;iRfnfRm>#d(CTJv%0zl%HHmH zygRO3WoF)cr><=qRp-dtsN6%kbzY-%o?%c$xkoFnK|qqS#!eSK?p2dc^SB|Dc;0WjcQO+HH4yx23SulS!j=DcBExBxLDBQiA5%7vU1Kjr%uEA zPRFy!c)?7%PRsE6#!-?DnS|!C%DnfKr{2L_cTv#XZH*cy63QYpc znR$q)xRBG}$xt85Xa*5TD;|KsRg40WP$3peE{2*(gr#G7qKybNlgd>LJW=)BxpObP z_S&tT-3#MA365-uC2c$yO2!+Ys@`lin=aex>gwv|&V`6_G;gHAlp<6!QP44ZjW%XxGHu~K8jl8Op;R%qB=!1e1&wdVGn+PIp+qM{pjMjD$|gf7 zdA2Q_9z!t-)dizBM@vh9&1N&-8Ui;aDCR2hb5t=UfjrB0F&<+fo~6h*9O}(!CgLJ< z5b=?qS3spzWxg>^1*Xy8;}n&Tn2=`@4sI*cd;|Q4$X6jvByq3;>PyrqkwH|w_o@QY zd#I~?+kEFc_iu0SO!p?cd%M=Jo9i7E< z0~1$>+A|o0X3-dip-K^T_15P0RWE3-yyD8qV~@-%co`%LJ%Fl+DA_u#3~ZWqJRZO4 z@jv_2<*#qd3zY&f15IHDD)_I?-}{lHuMlrE4{LvF`tXPK>UY@_A8t;nr!}*89ohZp z=E!-oSzD8s`rBSvhqb!%ON~HnGQDo}wZDD%rJHBZHq)sX6mrYkPJHUjh9GCv;pUr8 z<_$W1X7lEoj+b8-0fy`cGiB4tnfYjgH=yF$+S)ZQe1Z4=?9)$gZElmOMSVCY63;(d zIM{ZCAThARg1NiWl~h-qRDcz+q`IcMvc9%Hn_ZaAw#f;^OOUw5APbO+v0h6T?H1iy zkuwB)f2=qg9yxhz{Lc-Y4 zX+nrl=*@hLy#-`EqxWJa^bqLY^dtVnyVlNsbnl2Zh9hv(_O@$tdUW;4uTJQ}))Y?Z z$FrT!eQoWnuf6ZSzi%+}>Y|58(s@I9n@*oO56I0ook(9d0hA~)U>z4lgS`FW@Kh74 z)tx+b{DvF8XMKJBTi^QDxBu?jyE|hiDk3J9G}2)Q^4+iSvtPHeqwiL)V8f}8^n@wM$_Kn6!e`eoOCj@a$VBV`a2-$iAMdb&ZuOJjj8w0?bANs;z&L4L# z5#Rm<9{H%fNXAo`1w|Qa_{rt-;hs@rCyyQn#>-H^?)v7;x9yL;b`?$QsJHyn)w{m1 z2hg{+H)}t6j~9Vx;G|(KZLs;7Ed&tHIFOX%X9bL8P|K+*i07UzEsd_b?&Q-?U-9t6 z5AW`bTl2z7#DVd6is!K%wk~S2F&79hm$Cp0!D=evV3pIAYIIa(1+2YS^KcboNanzF z6jrYQ?+iopngf8J`SI@yAMU>AZ+fGI{q$|G3t#`o$G=f)ee~GUkG|#QAHM6GA~?Rj za`Rii=Rq}5W%;;`Ra}HlW%XYpz`d@YnzQ!t{cLKx%^#BJ|(;qrr7;e|t{_qg(Z_{Qd@* z0J!&y$7uf5|Ku$26o94rhS_wytb4Dz;)(Fmzr1h*q*9g7+duLSt=bR!zd60~s%x&j z_UyTHyL-E{y@>-A&}nm9^~fh?SGjg}+v-yv-8%6vk8Olb{_yc-T1#(7R^$gqPXKuP zwe6i>-MjU5t9Sn83;<{CEpI%2*XJ+58{lsJq4jc+@BH++z@Oj#BbS9Mr_Y?vf5WES zeA9`{5I*(Utwq3dSSl^z01pP$nN8DdZEZjO^fTAK_$mN(HL5DtHnB|V;q~{!w~O13 zV$4?h2U$q!8*|LOs#KK6^Ws?dfz(Ya$(|k+y(a3M7cvK(xc{MlRxtl zZ}^L^Jn;K}_@%%2>I1jj_^NVAZvLSgzWu;6ANu%L|MII3{p;JlxAm>}2EezbnpI~Z z@uP3L{yPtz`|zFj{?*qWLqha0LFe3!|LlsV&*O7n9DnD*?H_*2RR%lr`A4t2?ij_c zz4pi#KL2>@8vxf_yL!*vPyPL0UwF+MkF@4nwg9}f9`^EoE@vOMZ+zMwz1LoOV{2rv zjz9Jf^|$_F4Zusj=iIroqrd*fWs})u*IxOsnFaUuecPwLw0(nbTUcw2XVao>rS$;d zZFh6?)Uo65+`SiVi^kh{%E=VKkBy$ZZS|>-pFJv*<_{lV`Pd`N0A$k0q|r$`-P-xm z=H&qX?4gxgU$+Y2)*o00aO)e719-=qkG$iDj={HgpVa^RK+R`;qIB!s`Kp|x^p51%z-<&z~ zr{DR`edF~fs;6q!MPAU7=UvC)r=p(zYc+HWeBavIT@CvLP9sTW}Hv&2P zxV-SysMj0w3gGM$Le~PevdV`ZtZ42153juHWqWI@*UZ{6fG01ku-a2s+pK|Vh<3PX z`8%hl*S5`M2V3has{nN7t!9-Z9}Z}f|M``jr>6~$ z*BeityYrFe)*n1}*B3V5@uuT<|H=7V-g5HpKRzGRL*hckWxD02lXrjinOknU{PdZp z^DdO?a=LQ7{JalmxOg+mVF>^#S~HzC*xr3$`p|4Pn@ncrDeA-|7`gKi1J74G6edUp z(_kL%ITun$PmrC=R73pEo;S1E9w>&Hx~Yf{MZiUzjLbKu?hC?xcsv=GGX!@KOWt#y5m5zY4&yqi%b#sX@--BD36>e;f zJv^Zowwtx%y1Uf?@bJs)1kkd9h?oOhYc13P>e0etsi7NQwFm40n*gpnwe-;A4FKOX zDz&#M5KdLJA3E|d0BMc%hJ6>;((`}#!8 z6zaT9clUr}x4dB$!0G?J&DMYNb7w)^eb3ojZoKU7&z{XR_LjFrJ^1d=J~Iypr_XHU zFF`cA`KIIPq7<6(C9AF?0Ms#9>IAHOYkPjSw>u?clt+43Yv0LA;`td*CbgH-hz%c-y{KDot-*o)uHy#}<(=Bhi?DUzl;q%>} zJqz%bw_RTDeDN0mg4O8snGHZrpV>@b7no4Xb})>JKqOd(DG;cV0;4#nk;;5JhZ2DK z^i*_gK9}G-00-y^B((o?&xJl`QcbQ_6*@5p&A~e~%9)~pc^KhAQyR=#lpG)oh0&Rr zdbZqk^yHEoTVnt(yY4aoCyuTB^iRAY`OOGmV{7mG|H+F$zVzCY05-QLo7)or$Br%o zc=`3G!b=HmZjE36nri@Ff9(k*tPAIqkl5Usy#6(p6aLz3*4}mN4M2PB=;+wd8`lI&G)Zdmg(S zvj%`nTW$QEPoDh5)29G@ed)D#KY5bV#wN|3e}hkclb`&$zw@h&%oSAsZw=5K%cUw+@qufH6?hd%b@@Y6p$@XXCO-T>eq?(g>d zQ-A#Je|_6)UiOkx-59(V=S0K-pZVMaKlNj;eA#s;0DR_i{{Zku-ty8ff9-Jyzw)&w zZ+z>EKX&K+;i-4tay@`Q`TV1v=HUUf^a6hI3+HaU<;oYlcp1PSe*v{RO2zt|h?)t2 z#u`FJ?aN>GZ+^@2)mHWO z@t_Q<0;kVx+g{05~bfgwmAawwtNa-8Yj@1k^lL!Q4KziK} zYcU{z!0@fB9>VN;*U2e|-GwaUvN9 z%_J~s!AI`AH-=Qw0DR=mZweeB4?ev8;6uA%P=EEcCw8`4M01I5Z_WPbu1CT-wI=eJ zyPpi5QAFUkFYt4p*?@w<)h_zSpWA~vZ&ocYQ=3O0-`bhI6ntD&npu+$_=7kBz*!6D z#7DQ?&gS;oXmwhRCVP{2yw(AF_h0PMOi3}`@}{GI^!d$qy!rTDpF0bHt&ei18GyU~ z*I9ad=i9Hi`^6xI0w6Z51XFsq@Oyo_4ZB~0HR!k13haCfN7xs(@{W;@Tv-- zTFfbts;cPC%oD~CW-EY*2b1^u`B9zsuYt#oO@d1^hbXrUJqy>CZGPy_RT+XA|pe|2XJv5 zI8+l6Gfy%W2ZV`uvB$ps<{$dWoEab@ zx%6q@K7cHYRo+B}YEjBl6;YL%UIk7V{N#)Wt$i8vk9>k{}jDb zTM@tFXB2qnJf$%<1i(;M*$D{oO3sm({Qzs;KhQ1O0rYr2Fq;g3E(2;B@3e#f2>%*| zga^#bi%R9H#@lSx*42mECL^~j6dc}Zf)!O=%a7B06uR+=7- zDgg{;)~>FugmUZ`e_f%bA7*%$bP6qyrKW*2!r-}5!qF;0%ta6yga*?Xb`t_Woe7jS zKg66;m?LZ@q0Zcq!lr?vn{2f845V?VFioEnfX1KFC; zzdl!qEflVg=$RHZM!7C5&Y9<%48%FmD%O^p*FyTegtMN5<06+hMj#S}l_MB~g&MAf zBS6gnh*@j2*>uuOC!^X;8#Oayqs|~M9Ev7Rf%tISOvihBOUF(gSwB7aY?Cd`N_~RSrx2jqN z^X%@qw*56`KhBx~P>3|8nWvE2i56^$5q+i3>S~FkwR_}*(wO%_S|%M>0S=N(!iB`1 z{uzEqzYl!ez0-N;jmI+VS<0({E+gv+gFy^DrbXW}1f#k47V1QpwMZzC7EEe=$y-4Q z2QNUi^3!Uv``Fs*n)lY13L_1%3-#{NO1@F6C4V#0T7k?Ip9oVSBRrIb;~O&$Cp>uns(Z> zE#XDHh((D26{QAUxk26141FSlm(Alwj)q#iky+_4Iw-`)q~QQ4*=^R3%Tbj|yv)H- zAMN^zwTOsnmuZyk5I_TOk!rRRA?0rk?=<5mP|o<@rf30Q5d4lxB>B8Emox=L^wBDD$@g zA-^l=TFK}u^rBkT%g2tNxZ;YX?F)Omd(-Xh3(k##Rf8!uJAdd(bEm*j6c~0uyChQ- zF{f%4BA|u@0FjW4D>Q>q7>~+HR>)L&e5f9kt5VnyE;$C)flxRn4o34nkRVztEvF#qX>Bu` zPAB7)m6fICb?24<4dvp~3TqmBX#pFGc9-5R>G6S*vfoW&B8-tJP zHE$5qOVw;Lu10Gr4r;BRLE)SOK{Ig3t*A4bjmLXyt4EiY)|+PL{TL!4%`Fhc z!J72J>{8pslQ8#dhxLE4JT5{Y+P1d4yZ68Y5AN*joIATQoley`-5zhI*syv8=DL`o?(vk*Ev zxGcXHjYzqmb4;Cs+losR5%U(xRWKx5_cF&jP-D8kw}#z)!EbJzAvrFc4=yB_sR+Sl zHdB@H-eh%cS=HJ$mg1+Fh@)@o+O?diP*s}QY{tFGWP9!C(Mhw{v=!Kz57r|!A3X74 zT{LrI#$`mAp}s$g1X2>9nLwv{91brAqT<}o0s!5CL@~FYBEbe|ZDX4o+ZVQX2>8}w zp(!rt1Pl51;oAOOCKh%b=y&mTL6(a!$0Rk;Ko4oi32Y3^fCe#DUqKh$_%ua!hzz>T z^BGKZ$e)Tkhmud)rJf#=EM5Ix61(WXuJ@T{&bhj-U8T~62$mvNK!Jf=7yAh%!kNlF z<(~%Q5hSxx$WkEzv`tGx!i%)|aI^1D%X(d^$W74GH*GU*nn~lEmbR}q=(&VlT-2YyRMDl7LApucAo@Hulfr{R0QAkwtJKc9mfnn_9tL%>yqrKl zQ>W(J@nmahdUSPdWqG_lo$UdtD&`HLc3cuT-9Sy{7T>XNlinWGZQa zKt=-T7-%5R0S^w2J1RDeLzz6^l}8@{JaH1jL`2{a7y^*^aCl;|i)!&0qNYtOkev`s zpxr5@iSKvnhOm5gA9Z5z=6p}#)|+Vz$z(b_ zGMZB^6{f%2IM6r7MR_dA%NneP!37gTQWs|QKL@68SRH(SJ5;`2icv&R29$t7EV2A} zv!xC@nWFdKzAu@Nu$Z5Fl3s|UGv+U8`La+{*nkFNPokZpx+c*yP3v2dGy^b@E)o+6 z+;6Z{9DF!Tpbh}CQSog%Yul#MN=1SNDaIgBK&1x|&UClQY^YNVjAm(R9Lv{6-+_-F(3dUU2N_ zQHg*E=Nv%q{otw6LMmBzNOmL^)0|tq;nY&d$qeejwryJw3W;i1vXaw4i>FyZP1G*z zZck^kwe_Pbt4B#kimU6@XD; zoNv#8b6rZE)qcU1-~Hen`SZJf?sh;w_`&yeSAOAk00xsN*~Di*_*?IP_bp#8s=YQb?-CHt6SR{-kSe;iP4kPoR|LpLQ?uEsxAAR)EwrNR-ikSzX>QtnYTGMeI zk~mM0f3#O8D56BNgmv*3lEWhM@DK!mh7>_fv!-dZl1iOfD*)BOAQG_y;za<*cGhfe zZJj!H`LSasZPv7n2TUErL{udn{0oZ_FPGW^(Rn_#g%7;%r}F39f9(%I-0}W@ldt^B zul{#{8njf{fBeAzk$?K-+kYS6Z{G3m@|9n_{l7fN!91Ia!+96q{hr$a{O)hxfwVe5 z`=0j!_?_SWwU7w?pa0Vx@BW3`nVg16I9;eK4_}gzp=asa|A~DxY?=SE2pKYt4Y%2Q zFDjZmn!yU?&G(|p^Ro0GF3WfHhS3E!?LSl{trb@ZrEQy$t6imS!+5-A5SGOu6bKcx zZR6Z%XJ_~5>WQ`0BfCpm<|p1aq&MG~K~bf=kWg^%(wtNChKlEY#M8wK zA+aQ2sSS6dW-d$9^{Bn4`*WPjyGT#=Og+_HEEA%Ys2g=>!AE&-sF0fE#`I1lDN>bp zM(t465zbynBweX%qm>X|3JI9lLIhetur8j7ie9=tfB9Gc z07w;GR4izK*(y=IdeN9Kq3xfk^VVC3w@QM1BA5qz(=LN^(i7c63HrZE{~swH=)Lkk z-0_PmN7ln{|Lb@DYwt&Nxg9dMPn_?&hiOv&*8hld*ZTvLMVQbZIAsA55y66-y!k#; zU!mY+{9Q#vBoqa8(fp*+$z&oD!idyb(qwIY{fgDq^}XHm+Z#_hwiUs~161c)(!(gM zhb0~t&TH}Yi^UpsZD)7<)KeSXkNX83Ws4aiCS+4e%2eV1^?{$sPyNz+e-FTKBzfr< zZ~w2IDJdI8h#YqW;Ez7}+XrXrT)K3W2K>7pyyIuzb31_F`RzO2{c}M~`oO#2^In1c z&Ts$v&%WnZyGM%2fAF{7|8qb8{FgXSk;OGSS3 z&%X4{Kl>7pH$scg2&H+8-UfUC=wzgb3B|9nA11`x7hpoyVKD|Nzhs^uC^Q_Aa6kk) z@h3PM8Nx+-QpW$+-nYkUc2)QN*4pQMkNe$w=l$?_#xow3;_WC^}l-ehkow28a3NZg-)z$JlXY`3b%?0M5vpOT=@^b`t#|Z|L7lo zWF{?X{2htO3B^%VfW@GpO~^(n#xe&{2=?XG_@u^qV*73E!jb6&Y=Jt4rv zbjpcosk(VTEj-J1QBmX8mJ!_9p)}<36vk6FQniq3(sgp4Tm=z_pgI*c#P#~MW>dBh zZun#`sNafmF+k2FnzDtICjdy z>#(ALS~5_gLUot1oRQ5=AC0GtI#c&C9}U`WRRL+0i>7jr#v2Vxj(c&$)1T0S28H1d z|L4EE^&R~?mtYiV3X8j#i}~%&eJb;wYdT-@=+E6Ls0tBLhu!m;gur)2Z-r=ar#EQsYR1 zd#QohdD)W2)j^~{C7er=>=z;tTM{v;Va*6A?e=KAIvj5;F75C4_laf}0;9~Vb)Vnv zP-4eYH8Z6-v{s*n^@NJe?9ntDL~pd#>&4iDT@7wdUexJNY7AozAqk!@$IzWRsnGhP znV+gNz8L&d-LK%L@sd`r)Ix@)`cVI#?~$sTM}<$y5|Jdd7!52fBA(PY$Wr_k6I&@& zwcG36amO7gE02mz6yls*3BErmKtwNw`f=9xN6%iHn;T9sI6Sv8e6e=YI z8RgbaR@W|(DF=i7-OhgI98?Mk(D9uhiU%euQ56zXD+I*Da;DdDio_v8Ld&wdY&XF( zPYo(wK^B5fMzsOTjYfly)P{f=AzwA2d3t@Mdfvho zDt_6lAD-4X5`^s*TFDI*G+)G!A(@scByBTZI0JE66x-WFNwKuOleLjU6)I&}0Gj7{ zuh;AM`+1fFT9)qkafK>GH024Z5Q2bE5-cf`<^(Ou)wT7@z23so;t^0!$cmI?^7#2` zHRtw|np|X8rNJB`l(!6d>Wht?9`%b@Dq?gCT6=81^4)v9X1-pMR%fx+neum$dztZNirf36-?vx^~?Rv^3vkIV!Srm9=j~; zA?J<89(Z=|HqOm92PNycD+5!5Y(}$k)!dvi|LK&FOcdqTo0frhn**=qDe7#iMOD3d z;d6(%tz@LgDH@N`mMZ;3V^Vl`0fura<+p?Q44OT!drIU^!t!jPm`n_t_AN*C%SOZA zDd7_@r<_Qr+K1-ygaQIsqoU9PR5~3S%A{mSr5vuUTw%iU(t*qjIO~k{>p>))`e+i89VM!e#Fh=u`l8l*SZ`CI%0z~U4YQ+n zVgV?8TJ<0%sj89~f&ite-%sZ@jcQ35^JKEVy>%ncJN>}{m_AI+`%cMq(t-9q-+I|S zxoH4KYlYo)Pv^~Xt=u{$R5}f+eodjN+#F|6osuEF@LF3UCmyImYwc4?xR6Lq)vI+x zy2;g^iwv<3luiOMRAkPPsbQf!TZlg{>9JTTio%xGT1)<*6L0rP{1FOOmwegHmZ%5{ zMM=tp%z&ASwe`!zWVpP1Fz*h8GvaFX8X+i6Q(Zz+ro_mZ6Bt`>$`0wUTjqa?GS09K z)|Ks;^{7SP*k$?lSW$Pcr0>8MX1+%vpd~>*O>En=7U#I`K`< z`xU@ao1oc-U5I($+-Bt z%G{&g-mLM4AZKSObO#U#L)maHRsjnZB2^OajABD|frKi-D{@lQB;+biBN{inwJMA# zF(OsNL=x2}2q!tXYRm*hmib+2FMa9hfBH|}eb4C=0KWRT5}y6^bFmK>Df%JXYEk7D9(@&dkB#CCK%gQxiy8c5~(#%DUDS8C*J!OhXw#%{$2OI^T*!k zu7Bi5-r&#x!0FS+-~ax%`3|=Rg-(@9VQ_GxG1f*UhVjIS5h*6ca5!9E+Sl!NRg|d% z%0&y#ic(5w2gpDLcmxQv1I+>Je0eVXN>xRzsHljQ5(xW`nT#>y63j$$mgdp$1h64f z2%M_~=yW;&Y-x$zX`6F>1da8qNYt&Y-OWlzRRV&r0$Ts6O+2|+F_4Nv)vzIohLm98 ztp1$SNp{=i+(%SZS(OXLNHI|^m7IszMN?~lz!t>;H5p0MdsFIGXs3BQaN-uepUCjZ zwOgB`M-Qe|?>u(cJwAEjXnOy|@xy*blCW@8ZMH3Q$a~*2MoA?8G;1TC3IW@CGU^-IX^)LU{z9gax_%j(I7O4jh?R)UMA2@R4P+8b7ed&oaXTBNtn=8a;zt$uI+mVnqx6oj)aQgJAQ>RW0 z1`7@KO+njR!*k!d@buHqZMZ8Spa1|IK1oDDRE2#f)84W0otXP|`XgXdqdQriH7;D4 zIwnKn4j~Q4ki`MH+???#l-$8@aC)OltOzBMPOp3H=%MXlapmfoifnGJEDe?>OGj3& zUjvUhQ?+8a3n9RQtOt4mNv5pKBvQt2ks+u%PEu8^5?qEpE5gjo#%gp~XazM>#KtFl zP;0Ht^2{(7MPaRFB4QFLr*_q*Eld%Gn~;W@Wez5^HmQy60j{4XPn~%E>t5UKcAkFb zxhJ1I>o7q>{Qbhh!h;XK%9i%xg)6EGaI&p4HmAvmtF&=S^s?`KNtT(>C<;j#*-^oZaj778-Y7gZM(YaT+*UMbk9Afe&Of;+0s(KH3_qbY;KNz z?qB@M6Hk0?_H;%O85+rLTO& zi~syfU%zr?#g@9hakZ0omlux|6T7|jJfNbSF)I~72@o^~04kwO(iI+xs$l}0)S_8# z27>{B;cz$^Pl$cuJrRLRQQV9vYDsSp)HxT(?uU|PY^~&3=7W@)b5PBXH?-C*%BbwN zH-Q#&@}i3Ssjt+uOb-Bu4j#DYo>Rwz!{ueE1-#09K(^d9bkW?o%g^-+9OB z($tdP>)JqPk^L8U{; zR7=nVY=MlB0|Y7oC1h?Mh{&p1vBX$f9-KUN;zcjM_wbQ}d2U4A>bmWut<)!^vkE<@ z&}kwt)8f+L$dN;NCl`^jEJdU!iexI)+(5$?bLW$$>$TONAofo`{379}b2EYGrRGIqIBy*%VOcqO(Zprcw8<-vpd zf9#!az3b$ipZe7AKk?)l0iZdwH<@^XQA||ePUI$t0cDB;DdMJUqfHrUp+6H1Tw&&Z zzvo^?=vbJLHV}7$ix1%pgPg9li-BnXe)IQz z@Pj|~`q#g<+wB70i<9M9o_9=UKuH`WQrlFblqVnPb~~?o-Ge{<(;s;An_l1V_lPn= zC)p0~HmgV=HcZ|))jkEcb`)W-qSZR)?P`7xgZl|2T-C{HBCWfNX7{18MzmC(>bwF9 zRSq)csk@H8;Rhc0p&$J2H~*d2{QY;l{!MRq&HjDMaNO3~ETenxzT*eq@Txcd!2O+k zYg}yYT|T_f-3J(A0GVnICH3~%3;=i{qNS)RKJuZTV9rG3r+)H>N2B3jfOoy)Z}ob8 zX7h7D^FGItKlC&2cA)a%pM9@ekPrXtd%~UfIMDjghu-H1;Nipj08Azm)$wRFQkCO( z9#YleaCr3S0XITdC%rgwWdDr0yG2D|oDWWim*)*fs9T`d-vUU&j;TBz7uzy{M3JYn21s#(gmfFqtP`H z$YqtNC4~y9=xW2*oRoumIbE8+i>LqXa z;nxlpdJ4_6EXzE-AObTFw@07<^D{4d>8S@_{T*Na%GVxy?D_oA!hr*aOWEAs7V<*3 zL~|)YiG|1*G9vc158jWDLR4SI#6RrG+b3Za}eT&*H_4S32EXtd`aqW7zOuFqllnTiaWPjX+d{jj?6f zuvN5{-C0p9!#^<_=cv~Z(4Io|Xf)oxf8YDw_haw*@gGgm0Dw9ho>&np(Zm*-kB1DP z#vpWh@8y95`+xjhZ+qW+-m+(JXE+@C7SuA4x7e!c)LXNez)hS^JjHxd^&|KzqP9@` zI&O+qC0bMbGq9SVDpM1Os`h)mPQTab^*a4tH=;pkN}>4r*Uvxx<08uK_`hk)L-KH5gqc;Vn^&Zt^(~tl-9rBJX z&#%xxhFWE(6~x5DAoWL$SegA@h3aHdtgmfaEB$WQP&pc3+t|2fxW8xVcqdziLLpvp zA~3V6PYS~UxCsWp_V)0`jTHd4ur6U{96Y1SBO_|zVsc3VWVzwYHSYBq3$IgIYh$=d zG6SkL(y89L1agPHvtd=WVgX%PSYX5Ab1SN<-Q}?nf-tm@u@4Y*D!<$^)Ygz$~I`cupr5GZ0nk)MB)8~HoQ-AQ8hyU!viDSKP z;QJ7$PpuEXC$UABO=2$M*WFikQT&0Yp_i4|5_Rb6S{3B&`3MIwwkp=*4^x`^VW(-5 zpABl0x;W?`KXx!PW@TlAVDk*y+pCQ0%S(s$EFW4~+g6P8EGr6y z<;<|g{S09g#$;hi7=X1(EQll?Am&JU+#;GR9E@$q?<;bRxp&AUM3B?iinjT1M~_+} zVq#lb0NdN!Pd)Wix7!^KhfFN0B9@q(yL#>n1H14iq^L=NmZep{<=36{TO+B)7zH*r zw?6&pKYse@XW#kGx4-tauc@cjP>>QcghEz076pN!98pW50%d2D4zphr#pgcv7oYs( ze?NQn8zLpq5mU*3m02B7f%;^cNucGeCva@Z9Q2o$2eBP1LQD@l@RGm&*Y17c`r5g37j2;??-1$M z_SHPg`u#ys?B5(step@HG#6X45fuY?Oi=6X->J~yEZ4+AAB&a)_L_L!F-~ag^)lyL zFu4&cZmr>c!z~rPbLWK(9lnoJi>Zz~&>aYIVbKkn~<~M!+;ll?_#(;HTBBBZpVD)O<%qG!XN$7|Niu+|K$1SFS|OXCfa!&(#cw)GE3|um5MC{Xd7;i z+}`<_b0M-l90j_Yz-Yw-kaQj)U(LhvZf*OiQihmL-gVzK>~`^rKi{e{y)@Z^PVomKoICfe&CTKB;yfSov(KKNIZrd@ zS$zVB2KY9cpYd)>ZFS5tq8ufL0D?lC_Ds&A`G!*`?;vJl zcr=UXv{`cGO(%$!94P( zj}s|i9{JP987!qd{K#Y0ib5a$>|-vn@{va#Csi;$`^aNNni=zd{``sVLU(y-@zKZs z@811;CgaKH|Kh2`i9pw*Vg@Z@b$G#hcxSJn?xwB z1(0Q#Sg~S_A!Ce)wbnATgQRbto=|OsrvS%+>wBF@&Y!>Vg)e-$)9F0>?78*zO(Y~? zdwctT{o$WH|NP}FGr!U9}`qYiW4WYn@@!=@}Js%lJDoq;sF%*KQ?U?Fk3&y+R~0<= z*i!&vDhewKqacR%RJ)7?!;4wgGn^6YWU^Hh8^AWP0Fy_*{1+e#U0}ck=qsQk-@172 zr_*Fag6XcjM4HMc`}UMERf;;@uYX?*uD$rhZoMTf$g{~bLMi( z0!rRN8Fo7bYN$beLNK&AcSj(t3`j7|gE<34#1a`I5wW{r3cJnnlE}k1Rc49~DhdV> z8|r2}$g)A6b%`K4Ar^PoBmjVc3~F{mW$WUg1BD$Yp#u5_t@omoy7<@XL3_I3%78R8 zs{Z2hSJS}kix;nii>t4A#dpN}=g)gZ$j!ivuT3S$neIxc>3;p?*>mSFT=ml^0%k?n zOy_V`#o7HuWOH+4Kr~qBt7y5o$%X-AMZ}6@$nNMYW>brhOAgHfDT$8>bgl>y8IH!o zp$z(2o@IC4b;@x6>2IDd3*O!y2`e+rqunt^rn%Q0b+p$iy5Ko(ShCSEX;4y2ckzh+XPx*eygLq77YPCL`FOqnNlP0H4>ozm*4okXP>>`uFsx*=68Pgk6pe0`a6I0)hEC1?mv6( z;(z+}PsL$2F4Dc%wN6&{U~N40sV|@aHa51`H@3aIL9BPnyVKJ>OB01P%%bIRYjZN0 z^!wd~g`T?8w3L}M2mLM#c`8s8=||yw)FMufF2?2B>Uvp-RTPCCEaXRy+_Aj0C(Ckz zF~)G%@E0dDF||v)3d&}sV%I*cEf05t4Rd+Iv@{&zuxC=*7Sh`54u9 znRt=r@NCQvZl=uT2@SBjNzo`q*tHfBRe(Vz%Z$mGpjwJf%3>%o0wzG|_luzE+6ybL z;XC1e+Ceo?6Lz>qex@O@^KJ)?iXcQmyrp*4iN@5DQ9c)pdc5eoH*3i+P(0T zyf?+2qAo#6JMJgAVqLg9sbxZ0j%`^Q!(xlA?G0@Vj+Xg>JU`8ebNMgY_Jc`ve{Io zcJJnE2Ej?v+em1gN{WzOG5}FR;k4QBbg|Rhng;#(Gzb)^xJK1EDuS)lXG++glQhyb zsHu)q_0+q!m1|6~Hi}ek69~a=5%64)m|3I%G&fl>8E;v;XV0F+g*}^F8{^4{n3-9% z6f3C}7alIdRHy|RQ6VJ}DT|WX42KgyE*8bwjrGGvj&wTa5_^r%)s58m%H$L<=Q?s!S#mfX1WM8#mU)qA0AEWJ@d7ssuBMI%9n`lw_1m z=2QP}jY$MurERjO%C2lj6|f|1VP@F@RRTPci<%lKEMOdPF^Oma*vMju6)b>4I*oQx zf*2MNb<0hC+e2+Y2oR~Y*J>-E5m)@8R^yAjvBlv$bzS?or`Z6)DY|vqpY|{cWA!f0 zM25yEDsN+KEk-VBkQ&_sfpCb2FN(1-os76FTwp4Vha;kXx7Q(%-7KsvIAbQLkiepW z>3-JSv{^8bRZF0PL^Ow4y|Iz!S>DM-v@FD0Ehc4sqh{dkM5Jjlj9IX!_5XuxS&eXK zY`Do>*$I@lvVb%;#*1``hc6)?>{5n+MPc1D54H+#5r-iLdFJ3v2XzAy5lxM-3d3aKu4V%1^4=CNIm<7!WZLiCB|mP>5JIM#WmFF{~n`)y$aT z);2*qoqVC+9}TsXg2?rl+^kU=3Qu6ST0{_0A_7}$t*DBSL22!HToAEXcTSMnvUJ0) zbSFumxMr+NEQju4U^0f4@vGGk~H&wi|%*S*P$nX1&D60T@gL$nqrJ6urXR(6W6EnNbnXgd*td=Tn z=33XO(H}&mN>yC^VrffeV~DMYSes?Jijw*~UUAQeVHD%Bsx_JE^?IWT%5vhD#$%g$ z9#ofV0)1Au=7n0a5DR~_oIu4z4<#m$@Gj;^AQYj0n&(H%&_M*27zmm<^MQYptHyTfY~+%XO5Xs51Ta2x8=%oqkU)*HlBCGt zUTM>JYk*l34yz|oD5;03R$@$;kT^vZ)AjYK0oHXFU#dLSKIr3=sQRQ6;hC8|wSp)a zRm;YxDoB)wl?B2u41y>FWjR(Ux!=t*BbuvN(b8?Q@lFYllClCm8DZ6x=!$kks%04@#4_r*uf``Oe)Qrf9}yD|hXjm3S#-`Wl z8qUe*?4im;NTNQ8g}W2xOEjpkstOUPK;1D#ARp=<5W@F4PF5%llIM*99`Hiqy_Wgj zxy-|am|fx~+M7lOsyIm{sWi-F0rCTR4u+$^UFyLOZJ(Sch&Whx&~H>(ghU9)h>Rzs zQ_4>|in_&a+85Cd(KDa6%x5#+cxpM58#E;)*Iz(m{%Z|8Xp8SzRZ&=w=6Tj%=qrRs zRV^H>s#OVF3$2S2+3GAB7@(nJk%1OOr^ zM88Lc;VIf{#DH|jty0TwqOxaVLQ}TUod7Nc=H_CwQQg{ddg!Nk)CvR$J3LVWHtk5V zNm6U=w-7}3|EuE(25Oi)hC58gGl%Id!Qp*HNElHoF?B_KKvUza3#rr3r`l|Gp!WKd zeXw3F^4r*(>fPG4ssJLeV1Pwn^KQ29;J(wRPwm~ioOO(nS}hgoQcHzTSd|iLnE;h? zQrJ=q8JFRcLF5zlr88NHYDrpKiJ0qAEFv;d1w?fwixfT5=?Zw_P-BJ^q;vK|$I_xF zFmsmO^!aOWf+>Z0i#kJ{J%p>s5QM9D!aZ-(p%7K-M#D**hsG?3vpSOK8%~jPOT~us zPTpl>CdH^ItYcZV<1t&&LNzh$U`o@ip7^0pv+*GA)%=yg8nzS7sy9f^oIk_$<{GC) zA2h9|>Qb7D({@eH`}Xa9@k?JkSX}t#*S~3t(iS$H#U}26Pxr2Zm@{>UeQK$y#$+T^ zI?k)C6pX5Vjl;jthuG)H+e4sl$eylojLC@G#hx|_>zk+;xx31;Y(8gb;R(##@Av1t z)2>T5j2D43)FoF}mEd+QdxNjUe0w0r1e~U-fQFm#FpfHl)K=oxWEB9s9s)8Z@AU`0 z-a^KC5Z!3b{=OM(q3XcwQY}M$_|2||c6O#)O`T=d=bHwT7S7Toz54u@qq9Xfxz+%A8WN|t5)e!t)EFD)IN z-jg^QjSe3kbi3UaDaaVJv~+ZFaat3*U2d1ZdWDiQr&@a=ZNhSH3;|gxlqI y`Kw-TW5Vrny8yQ_;dZ%QT)B-2x6ADU0RIm=Grx`y>;BXL0000pQ8X{s!RFFYZipnHXfC`b2Q;rA-DMCpE zg{Xjt2*?=FOXj_!0a;sJIBXgJHfG5C}&{#C8M%u>`Sb!92twa5WEn z9bT~Dw}0oZ5y!sy`}N#6$5tU0f`7o}%Iag9e_YSqhnRQgF#?fKR`nnbAm-1TH~04+ zp9PB+%zYLwT)1G7+F~`exvwSa%hZ=FS-M0`ZRv`oOP4JNA2s!r8Y`BsoV%WDWbW~~ zr@-IkOVpOk-SMA&RBsTgmdqp1vs*B4Gh+U#c?(v}Q&l67pr?z#Ow3KjKR)y3FIc!} zG3e6LW#ES5Z$S4KESL{EyJ#U8?z{-_|A>XF7HMwUwQuq2V`tPh2d&wCJ^slO{r&lG z*E+QbQKn~uZ>TR_r?q~Aw!s#|t=qPnneVaKYiV`h`-6ut_SnP6Pn>jiIpyl+b?*EH zZy#U3kjq!DhK3QY-Mn@CPUPLFXiCDb_YdvOwj7hyRR=vf`*sH#^C<+=&VO+V-MM@2r z)qQtADw(d~Mq9AZ7X$P|BRyjk;)bWfQ5vGvQ{-LHksbqIFO)fTJyFIylB4~nk3ad* zUxirR{SYmT^ns=px1xnBt^U%>A(FbZ_=Pmk4XzcP2(Cdn5lBRl%&EpuX_ohc+?zS# zdD1HGXzRyeKbjL-dY}kByTBJIRntZOsX?9sD?jLSZF!{!(ziWbg?P3K9)sbNwic2{ zEqTU_GQpJ{>s5&1^mrL_);Qzr7m4ZNq%VJN;4eMWBl8>_uf4M_$MVYPRHa9J2e~91 zzW?HdPel?^v5AdT&MP7-7Q~VN)Elg%8ET!o?N{Y<(l{CZMxX)z%*Md;SeQROkv=yb z%x}wL`~TktrtmKl;`W!>O)nJc-6mYofj+S@$f;pnUPk77oe_KGj254y60TtrS-Z3ZS9a!g%2`3EtUW^`V zvLZXG5UG>e`Fk=suYKjaMyg|!FRnZ;+;}#GmO>*k8L(`!kN_5C*f{M z-!uh-Op*keH00H*5Iqn1`NC$!nh+lC=Dkk|ZqmH|@|0BO7f-Nj`BxlZt!kQ3gqH4S zG;C)0~RfwZE$=_ke z1}CAV(&2Zn)$ZDT=a-DWKJ~fYK#_`1QXy=;09MeZnwUpyHVuxtnOAEO-|h^?7%D^Z z5}5s|*A}JYkyk7SqV)}O$w3B8`h-4Ng*aG;PZ3$H;EF8oFO3l>yqhk#23Yb&R0!g< z3UM3C_pV}IXQNj2jX1xCU+OEBy;G!%7jU!Qx`APN{TA<3i0H)KZul@4`w}rUSaF-# z4KP#LHN;Zrc#Do#>CKmlgmyS>9}-fuCGtv|G_C$s=Vj?cKxK<0WpzEZK4FIBO&ubM z;bbiSI~C%sd8L)YQWU9JL+%fVyl%6hpS*mOGUoQUy!2yHc=$GNx(abC{G_s{P6uL; z8zu)Pn`iVV8Y41xmakZfbh(ZGNixFyNtijVOqyw~&AZN~j^7mh?XAuvM;drSIasbj zG@nu-qytx;NSduoc2}qn5=Gml4tUX*<4tO`b(uQ$(8#0sx*_OGQC{Mfj)7L2RVWcG z;dM4)y~uDG3m+47=s3=}L3vx_#uJfi>c&rJZBtC2{{e)G(KfUXQ(IvyUG+4q3fILr znB|{pDLt4I#ylQycs9JpKjQG`p7+%6_Mz@rUsfR;px$atbT3O@X(^%IWaq`&n2Mlk z&t<~YSF^Dd%t(bf4{2Siodf3$Bn_9w$?GZDa|sQJOKhsiN_UcUkc2y6RScvo{K~Gw#bpA%x{b!e~nlx6SB=YqDzQ(z!T1aMK3koN0RrI z#tpd|2?UBdbZAe53gK#aU;crgMSXF3_&7Tvj`R$F@^tfy-}}MH+b25NI~)sd_B+-b zVpJI`iP+Pmj#73d>C)NfCiyA^oooV{c?L~2RbEs6%5ZrpWjaY+7w6}O6*}MK4Ofk+ z5Z{DF4RlR3-zVslkUSDoJ(6Cj5adj*{mL$~a zL80VAF452k7as1P4cW%$#5SelC~|Y$-hMiHd=fyrqyFUB7n3=!J=0Cg2^@0AqOJlMp5&8fQaxx4N=0AQwbTqS)Mq?`Nk%1EKutbE6Mt|I|evS&Lhk zGW;=}cgq2mIg2V<_-;1nivU}n1wk)!n&&2S6kk9d59v42BwBVEica3Mv+gt^VzWn> z7rO!kgJmUg9En4Cm+Bb#bME*Lj;IHshrsG%gc51*Vna6n`|yE4s+9MeIkkcjW@;l zH@hiXfzxl0a#e@}_n1<{0u^H58eV!4ibGCWI)J?!ZUSTSsI%kfN0aEHA4z{7yP7Dn zCQr+sW7MJFTI_l`*6!UT?*lLxI<*miq6$G6!Wb%w;7T+7t!NPEE>e!hC~% zLVX;1)_chLMWzktt!DufV!UWIr+jjMvz+xYWWEben^Bl<@~ zWcFf)Fg91O;uU0fZH;jY;Z0BK4@EZ*#8hi(uNX)^`XqEqR`^goK_^I->Pv#O>&*tz9^$fA1tv!-t}RK<=%^V8$w zAz>$AC7zc3N{6Fh6%MtV*}BxQnKv#=i(~g&n&()YfE!-}q>1Wio-HTKyoaD{6{6%m z_a{YIm&r~vcfn1*MRY*r+D~C=aA~lpe zmS(;9(zk|)Uj@DStCWG=G%-R1reo~|9PH{P{Tr|X#P{tS6sg%GKeOcVyinrOw5qSD(b zY;THJQyp56iA*6y%M>gzDsJOAIwk^F6=LB+Bof`9zDp4fILE{A^iK}iUuGM@g0$_|RKDQjqB&a?<;_K; zuaKYedb)2JWPkoi9QjM?b~_?o57YjQQM^fyES4M1>jbwRX z)*OR+_9{LoW0Ys=ZD~akpDO&^2W_VRP} zbk90i65kIf2T3l~L@z=9)aZ}!5~SgSA-HXoV4L#hD8wFy)x|;+cqy41sKJqntM+g# z3Wc9a6OL?q;d!d}6gFs37Oz62)#=bCo6x;=Dum70ZDkU=KN4LCjr)rHk4j_vClCj? zOiiCvb&`m~6Zm!$QvDESuufhc69v4M3kp2nbGV;jA@Z};!=oE2^8qhNl~4#LL#k;T z(e$S^y%Kshpa?tRE&_@+ySp-#8nqsG-tU*0W@nn_af$b1QYW40 zKNB^!q|f5-^heuzvK=<`r;hR@J>!!OLv?|RDyk`%MT}JM+43-c+=~%rL046yX;rAz z5w}GR60K0@(8-8Qmv$3_z6+v?2lDS{G_iv$6xe*SRJ_tOx9tztNR}T5;TC#*gx?b< zJiY~DVfnLzr*pjpQDzZ(tSacDd^z%hJffOP zM=~h*Jy>)n)}#4nJ4BcXmy{6^@z|%?D=0j`;N^o#MrmAUU!#~C&A(Kjq!Nj5RvywA}tUO$3CpSnyMFTj!6!GMe)

      ^^9tLX3Si5}*>sC6o3RQK-1R z1HWJm6;qVgzbOH8n>#1bH@a(vd`#*0q={%Mo!6gtll_vKs?(x%^mSt2xV`7>t&ju9XZQvkFUJ9m0UOGmf<0-DtKSyw?v!)~GINLdN>3xCgAUSN5SYKKL)Z&y4k^a{vwXLH;~_lTNR2xI!XNkV)bQX!_K-)U;q{h^n& z@R)}z_~4Ks_z`Y5PA)T?KmjAZkN;!cv&TAYX@!zIFN*i0*M_+q5EUI`z5K#Hl&70F z%cOU+LI$C}5A^_uHujs$YAOuoTrdP%xPQ|)>>#i7cWMKSEHQy5_deC?F_2|9Y?(=F zCaJY&DEn?O41iN=#*NS2?Lw@gVJ2E;D>D<2~Y_MV;Oo9lF?7WZPe zd+-0@tCw%zQV3cbegFu<0+3J3&S|!4&fC zi*|L-K6U#h0^6{OvFAr`|Ezp4)#K>(ZuWL2ZO!Z3x%tl{o@$uRQk5PIg^stQl9abNGus!k&7cbqS@lJr09~ZE7UNhOn>c$rp z^7^}#bG8D<%FECMd9&#ZZ46EDd?M_TToE?ERcbq0RB7wRMR{K_Oaf3xsW(wxrrI1B=@x~Lrz<`H+P5c`KC=V*!UWhmgd*=!yAi})1BhdmUV<#uY+4N{=A zSxLU3fw~O<{;SzTxanZ$M{PcB(z9rdx-=i!rywZ14JzczHD;SlVOs^$L>V}-qY=%; zhk3!b8-bRxNYo0ws}!=72s4~Qi{(*oaRG9(#x0ZvzGE((P6=^sDax_HGCGOOBHSWI z(809~;E+lIzn=3;yK%A+gAmR&4qMjqP-J7-cEUz)PE{;_ghF!v?VN-3USXZG!j)#VI7I%I37~= zQ#Ch+4aA|1(X%6{_)c%dx{!X_ZPM~8VQpWP_R5E82d|o&S{B_^H@*jXO;#~o(Vb|w z;i~h++kb=$-e(=k>==&Pejp30F3ZZPrpST{YIfY^O7Xd0texgmNRsztYOBv0J(eU6tdy_Nli2dYnX&gLZ#xV zI#(z3Wl*_zx6KC83;Z|!uNz!uJ@!}y+`HW>n?7yMbHEk2Hly+iMig)5QowAHNl5Bu zsO|9d7vWdq43mIMRO{8%uSs3qw5POxLJR%@6<>U~X070Zp9-P=>!%MA{Ev3KDGo99 zbN!!p^Hl7L0LA-KBg=tBTT9-p`HC@ezGV7(I^nWk1q%Z?p+& z-ef-@S0PAU=b%#M@a*@rayja*HB#-u;Vwl>+w{)BNhHu|e}DNy=1O?aD7>R{YT2^h z?XBxd9kRnmDERGLhi`<}6A7VOZ!$;a|yq3sj-o1Q! z%h&H${=)IhU{DNw(FBh$Mx<8c%jb=!E7^}qv(EaqpLp>%IrERH7H7ZdD?&%wIQHur ze+_`DDE?F{H~i<3PWF99a4nFN#CkU6KqHy}-Ucv!Uso%#0J)OfA8vbSQvSAc_vcY` z_Z>pj@OMMrEo$_%zZ_F8_ZeqcTzT>K`7-=;>xRd#yZtYr;`O&U!gwU( znw^%yq0=TL)W&J_y93v@wBN3{-FGW+DlAXGsC3e%>Z-W1YKWkBj^tj4Od9O4TUY%O z-Dx6IA*hN4xNM#+t#|;9`BMjq17oc?DPXA=Fz>KyyACjlixMLoes~qVBk;Q(hGfE! z%_wSQ+^`=eXrg!9_ctdMHh&T^Yprnzg|VG6v(tZA8}ZyI3YlSGbpSna2j0 zjaTce!J8ic#vij9_~Tx_h{LBWqBWbG++fK!EXAPtK0(^X)Gr+s`8p#~Rx(D<5g3+RM9^@%xVUMSaRTi&vDR z?KdT3GbZ^;fe+hf(h;u2ZD$%?MzfQfhMfvr6Uut-H1&iWowUWK ze1pDN&n(UoMX^NlTX|S(-=9cc0^5f-H_g^-#CyZJrqNp%(|L{LNZ5)g z3cOn^cduVqc=Jg4HouWjof|`7-9+*-R5fJSr|g@sk)k`@u-|?$SCabPu~$ekpj|gu zN3VY!I)hC1vgeCYYlpkubf&qF=0W1U{%1#9v&SovX0?`^f~aDr3NbNw>Q2*Ms1rNX zHAqSmJ)P}&mmJW0J0+DKlI6Fm=SdNx(EZGEYNtdNhuwlJva4%V*W+Nn#VQ&nFPfuc z?RNUVzLFX@yE4k_`Dg!cSRuMEifhw?14u18p+F?BE?HJ;!!+h18&=bpa4yykYwPE_ z*!ZePOnBg@i45FoMdT>CNB@pVujGZ;FJf#mx1Ki<^_bb&-_Afk^KJCr`?3RFCD9!`5@j?+9OSceE6SJp-ZY zt#}rS#-JCWMMen?aXfxQ9H8tYx29ik87!F=CwA=|T)hkdD*huN%q!|5d3|?{i~7`d z+97}8NGWi*g&a@46i*21RUuwZa`yR%WJ@L%J{%xx9!e$tvNzU7OXO1RiR!d*SecRO z>$aHo_`Rs^`Dyo2kwJ0{^!$$mNPM)D4^ooCHrE^?PJaR`Lb#RnyD)R`Q3) z3^3~7atMkyop!s!3XH;!JM4f~)<5fUWB2ydEzduSqEj5^&*aOfS0{1aNLqwkrhj9h z+$ylNNtt?GNUt3esc~Uywy9fjWBW$qgXyUOOm@OdNG;_@Li|Lm3K2d827MZpYs1=9 z&GmVC(z#fL(BJ8i%^i`u{bDx*w@IGQ!G}xDWtUr7dQJ`GV!MA5_R1YkX$2Yr^w+=m zxWLEKIC)j5sM#wtBmjjMHyxh6`6hKYex1}5*WPV&r;I$4^=0}#?x&HevxH`M!|Xoa4ncjk~Zd)+(^h6IM_ zEng(mC z5G$eP%-(Dde-z`|M$N<|LjHEI7>-0X4UEK5;q!n(?e1K1UG5Y<3cCs7W`e}Xx(&n zkB^~z?Jc@n>=Xaf7US!J2y*=!mU{bwyp~%6<_@8$GXoGWYo&2{duP+u2_&q!EQ(ksAqfM?H9?Vkr=mfw8F~04 zQoWd_HNw$`Ii|T4XVTcNV^)m~+FP=RK};9Y6JlTKoUXEW^+bLgBPvo5y>$ZFxkfUdh znArS;2}NDN5Huaa$ub|nJcct^Py7(_#CD~`@cc^e z?ay|yCiwhx*54T<5l&z}1iMQUs$jLQsn{*9f#04ogf!k-ix#%bzE z>L5!;4?{If(s{UdjJ7;X?o8R}c&M*N^hNYJ;w9!;*qtf?#kTxYv(KdNVHiZt_FwhO zl%GQ${d(_Ly)$ZpKB>c8LeVaDA;|c60=HfJ1+WKZ6-_+Sk5jB2=~G;yzZ0Ez3srW) zI2D4jC*xiY?uiH;Mbzc>t+%*sTr99SCR+4XDCkV#`52j8+)UwN;krunZY&>XjN1fg z70@BhT0G5L* z!VW4xe~@3tfXwypdq|sYGw~j;ppwXW%8DVEPVaGL3i&!P)a$9+V`@p8JE!)PeY_Hr zvIXV<3Wn(jsHv%@obnBN8)(p2eW9OK$r+oW5S$?7gVYP>rf&;9AEka{weX$0a<>nv zh+_Tg4K&!*!vzcD_Ra~OAbjTMJ%|47CaBs_-4SFq(l$shoU|03%s#v6XbSTV5t5^c ztJ+`$(T-fzxzaeuhPt}fCX6zKwM7ePRHU*nH%~slUhXA#s4th38k6AGayeQl727qF z1C1;1|Lf|I|I74@)#oKQ6=Qi@UW7CZW*;s-oZ6Y*9CrnItIgl4q3%iuZ@Tqsp7uvLkyB53!DF++(evO+VpJXdPNpeNQHM1G| zv9TX8sDwiS{pCftO#+)zKD`(x3&WX03LKVI38MhMN!d=K&R$e;Im*=Qhix zgog0asR`J^^K)2b0XE#Y@641e^<~g~>H(gmjfrTL$>r_%nAWBbCEc-}xQ{8hS#%RBTg*lA#i!P#p|mW6ravtOI9XPnnLcYp6W` zEdQsj+ttuytwSbd@0{%6J>#nzaq!>wC&t|-+nHYCPe00{p6twWVT)-R{`h&*j+dHx zQ~A}2uj6Qha{&fqm$q~C==Rf}2%_2>t$SO|;%Y5(_;Gt#AmDyU!5Z-^knaMH)Ny;P z{rA2!>s7O_XgT(^ILhWzTXT^dMK(xd>DL)lQW??0o~hE+`~uI7VZOrKYqlV596OtIK<6 zuf=;XjM@hlP~o18AYSk8NzT{K+8q&AFlR3f`|*~QpS`5#qK*NXYWQ${{&gOG9b$KV*9#5Y>r6Zo9eIEk;L>lDn;+3X;$Fqx-Tj5y8uQTh z_<`UWrr!+664J5S^rjqaWkQg`@T*eLu`T`%$z`n9id$V%JX0B8}nZ_fWy6f<3}TV6(mn4 zN4)3(uj0|jC&ko9=6Q|PqogI3MeWm#7LH{V!p69}zwD}9wL#ENL35TlI((Squa=R{ zMDH`CqG%VCTnhg)!*<;hy_k#1DOJ7rnxz=jJ(O5OX$tKo0FVVb=TO8`9LOQKw4wj) zbOm4djC0wD>pqE>>3_#Mn|-#c;5qrx|A?9h?;nmx0@9kd9jocGOAGDaz6F0H8xTLGo;lv?0kF%o7vTgDUM*YqY8B5SQD zQqQN838(pz~7aGZQ%9a{NweICP)`CZP%%!)K-)$mgAb3f$Ra%i|4NMwKMD&{W(nQr_;zW587@Ny%-4{k3Kdc${^%T$Q|cbqcjKeNDT%CJb~f;fni)Z zZQ%&FGss5^<)^EIB3|%t(?P5u=p`s|?1bWAQz?dv2lsIeMRwP@OuCHb4Y#)I=gVEF zaACa|1q7=1V{RTk!z#pg|FDEZh22ndVaxx1Vnj+W$#d!X$D`DB7Jc6+)V-dc!WtCU zFlGlCPHYg5ydNMpnE#2DdBF_UKUbw*c?SO<*h(bp&->z4-hZ?&#K`|M z`{L|>(qr=U5OQiI6Qm5=(VYhW5e#evIN}9xM1_!9{I;2w&KWQWsQre<)Y4_ zuu*g%(CHJjjW>Z=tA%^h zxjVww>Ajx-bxA&OZ|;IQjv}c+3aKFVzg4o+HXfk&r50tmhuU0nNDvJ|V<7$>8$T7U z&-}0NN&EClVhAbAF%rQ~|7c^5PAl^<`De!CR0#Q1vVh(Hk2e0%iL+IoQff0^o^E{R zf$_3&?xL^^yN6Tz1iKE-<>S!1LE64d7T;BiFJjivR!ajV@1=pE5xf=pPGs&(k}^M+ z9cE`=)C@4uk0tSk1RBz0s120rP~2rfuy}?xI`*XzS53S4s+1o0b*L8WHK~x=F!z|u z`XZBtFe(J3pKIbMHRWzZFOw!5ZqG3g;S^h(2+4z-VpOOFJ5wPRqsaA>3Z~3^P)5R2 zjJtvy!m)usvr2#opr!*vI|MGQE=};XZa!epu5}+q>5XWq z{U!axQ|WUF5z}!IOG1_bKt|emCkNgopyd*&CB&dQ9-f$?t`otNI2jmeE(z}{H^wLI=NpG8kwcWJ;fP* z;|@pZ6Vd#Mllh`R$?&b>`bH8byu#~P2ahSYZI)b3IZqh;j4@y&wqoVw%_Z;z(9$tU zI#*^e_w2sIfpxWMH!SKn-$wL3!wqjd#Icr{oG$}K8!ALPR_9vg?8SH)Z4?Gw*{OIv z8Q}n{PY8#dUU#A3Zc#B^F;}d1pqX7@j>ai<$D&hB)l~?SZ2+xD8U>pacRVwnNilC#h@#=^3=H@ER8Nu(_Jv>am4Vp+*24&+ z;qG(_uEc{tiFnFJ7s?=SWgpdW0zHxvp{^|VboKUrGE%9}=nOCm(CqPGlIt1mkK6ds zv!m!)-ypaEkPskPzHa|JczGVRBK1+;4?Zsgr1^gVVPzFDmdgJeC^7#rPc6R)k{Z35$b2Aj3D{`5|Ihz`+rNV~f)#(T6*mDl&$z1urL70j$+q2ht5f%L75)ReFBO_-S5M0+8ny`$T$ z=rT?NWwfp57;(enOi8PigfLtuuxxg2GedJdeUMZ0e>*Lb_3Vq@s;<20WeyvWD>$Eh zx{zmqC0m2VEd|`E9zbB-AgJM)Zn7WgTRkEhcCxg8jxub7s%uq1LcLJd%Dg)kG*eg zC0SCx+}{J>oo2m1xmWoVT{x;uguQ2fq{n1x9J=CbRoUj{cI@LU)A6H?eja{wUE&_Q zjTNOWxpps#bjJ>l3qjnb3eb4BTdA0Ym zmR0!U?v2nR8)_IT1Vi~b@;z-Pm?T!};bg;jI}(T^zPX&IC7q}t>4@5Civq7$WB^Ax|X5fqH4!tro!U&CbILn%^zC@hWZtym3s zGhE2e5ZYDrJ7^$$t;lSJ8i5Hg5RWaq%V*$F^821oX#g5Q&1E+kj%L20DYg|cVN1_6i%5lmZ*I>>@Tss%Mouutp+4MI zpDuUoU<6}yK*_&C9On=NnZmDu&$QhkmUC%0VSV@ma@Au|04o~a>gKLEDB2Tq{#itM zm9yr)Y&TEo*hvb{7FXX!Y~0m{>*z0?kKH*aKa_#;r4`16lOiQ;1^C;@qP`o&a^?zY z{k}qXrTY)(Kic>{H*=bPtO>(w4(7rKgIuJ6N>y2ERhS6y8jO+&f8!uH9b$ zbaeaWVdnJUY;23mNBPaFWVKri{1e~V-1}#^6%I!_fJ#$XUL406Vvm9Z^!tH0fI6KR z)RjPZ?GT7q{$>QidIUc&nc1Jvwa!UlBs!lFBaOOv*$5A>Qkn=Pc7|;)`L7DZJ6pb` zcYd7!S?sT8821cPSYP?_y`>HWHR{@K1xBP_ZD;VRqC}eX!uM)2h<1yiCCX^s&F}2T zck<++R9gmFElKhoZbnX^C=MjGq(H;js==ZeMsIq4oqhqa%X`&v<=~vR5;pt&J+@$36Fwf?b6&;uIh}krCPz&IpLimgT7aNhv z!x>}sm4nQrLClZ`{59i;WY}PT#Qg)Kf&UG96kU!uZ0qGfFTdw7*o)BtUTnw z^yC&msNXR@qQ5MfJIw|p%HOZA;zI}R1etBYC?;}8%+l0r^$7R60 z-s}at>rdZ}osG83KmIEGz`uJ{&C$1l<lHWPgtcZQ{mM<=)%z3HX*!} z`9ou;M0(WB&xEVmw+Ed3sKBdiEuqutl)Z{>!0udhf+R1MNQuAHh3}}><}8F$XS7c% zNau^&t#Ur!I0vGTRxhzk8J0s{0(UUg7;60!^L;s6JJa$-tSW(~?V{@0(*p&*p~wqy z)?{P*x%9zcpYj~&82sAVIacmQ+*Bl5m$Bz&_8ZD*sAeC>pyYn|`b2KEFN$UZO?}vf z&wF=|;2hbpHCy9p(v6 z9|coi6b?L-Z@HAov=rIU7#dNpW+Y(PDpgR*XaU*y2*abu$Ec)HJ)d? zY=6;5V-w<{=V5Mr*FkU^5g6W=yIEQ7IM}GWJJFL|0p&R43H=A zYw%xER|o}g;Y){SBiEc0F3nKs^n*tIMK{bilkWxZFxm?!VGHs$WV8oPomO*h6XY4R zT^#PrTaiII>SSq>`AwZ=^mkAvn!1K^2D)K^e&g>W%sE&b^b#n2ma-a=p=5)UAkwdG z4T}rc^*-2TGA)Nz`&~T)GEL>z$C z`}$AsZ?2Z85NzOPk9h8c-^x9xdb`?9a-YKQ+t0Nd!Oesq6m<`Ljsk*@V9^}S1x0W8 zEKs{Fp^3)=!Rf1|)grqmPs1##sIyJ^#t$=muQ`@;JUP8<=r>xIw1wB}Gu3r`R$}{C zGA@*OSVn^t8fT7=(wayY{g|&@ZWOz;ot|b!?|0O9ZkrC%9OD_6J@0X_y+0lrFZ;#w z^yj&{nn0lG$Y2d)obh4YUHmKHyEYLIwK0xf(fDSh>oqAa@TGlXLJw9Vtwv`<#KYGG-~5QB)Z? zp|F>qAkYFeLmok(oGdpHx$w(JTabEjrTknxD_{^igA#k%Q*5A@yALhKu075p*P!PS z)r3>ptT-Di7p>+?rJ~P)>GxpXJX%75j0PsFDQocGv2-GJgEmZ=-z#-W3%xR93cm;Y z1SwLJ9Fm5M9IBH~!%Xh!)y{>j{B|_&cxXn?=Mk!t=jR@e&mMJwD2S2JK#v2$dUD-q ztr*hcFhkxJ=F`#HnVZCId43!uWQwh5FNz6&m}2I=_XcoLeY;q2F7t2b0wZXc-3Ke9 z|G2`BX5eJ7(+8TEw&ocABIM?TNb1_pX-1;YQm}>)FfUYFs4o2kv2`SR# z+HG(|4k)_0j+sqS3gP##Ok}%O!jhP0D&+1UsQ7bNkfWh9RdRj#|Cf5ALf{t64Y>*u z#*VxiYxT?j1oT}$hd|w5sgO5W;MBtcxptDbLaZF1%}l;@9r@^6Qh6|al{?^_Hhl7j zJUTjG@Y_OxmH+*!)dqQiR-*j@FHXe>ku%7Gys8S?YjE@nj{|}7v_LmxcFOCA4ivUJ zI7{}fOuXx~+M7O^IX)68*){^r9@ISp5)SXL;%C&vc_q;W`Qz!=0)bm!Kh~#Vw^-U% zt+&2qP-GHy*+_Hdht|u##$h*}D31eGQYGEUCSu*5Or3UQVPG{h< z%3IZksTA)|hIb4V+oghYh0wuWG)w5MeWkG*aho#9#FKw4V5MW|4<&6sGT}aY%c7zr z3rq1}ry0T09_9E8hh^B@5R4gGs;E^aGJRI8=0>s>y!agU;lpVYZfBuy<`?H}qLu8e zMN0kgYbPkaosf@6S|T?qaOc-gP8ccPGYN3sIM5IBRfsiq+P%c1AHQw&0;L5ElZ(d0 zo^CT&9=()#D?Pq0KoS{;4QR!gD$f_z1nJdG4&ECo1t+krgf%&-k6^8KB2GBr(R#)| z{B%gw>nM3Z11@N1ZlKeEhx;f6YXFi>7oM!GiVD2sy`QRSQ*=tB*`%lE9SJF<3s#6| zu90u`HfXKWE-4J~nZd7MScIpa#%fj7rw}qIla6){&4TsQCY$?}&v3@4(&y>_iU}H= zvRfl{ed4=rSD14>cjn&2#V&sFvzUmdU#^kJ{rJ^>@!irrr!R0gyojA6S6d@uPR4)T z3{Hc6c4wh9aSzfH#>ufv;nBY33L-q=O2X#*YJKMkd6mTK z7KN@;545@3(oOjBEGWF+Nub!HezBh?%8XN3@_eDQ&1)3*@9bWkCA|7rf>WBOC z#^eEb?%Tq$4&xtVPB7?<1o=KxgweMY-jD>ag~HYxK0TqKv@E`_1RrIt5edi|y~Z}Q z${GI+!y?_iM~ZgrGVk@`?a6-Z){A)__8Pa_W%p;SLF#?vCzEl0Xy48(w z-!tAEkkCwtl&eVL6NYWL=(w9GV7k!nbzJ$GG~c!!{2>bapz=O}5bhha=KS7N%L&vk z*iSX99Pd~m6kr42xT^TE<0Wa)KH$7*w}?0{mS`R9ZAC1o3nKUuP}lC9D`Y?=z)}uM2s1L8&pmSaW#*?C?rY-wkCob^oQ;Jdi#t;h zh6g@guzGZ?&Mw9nXjS!Xlp<^O^h&!b zcN{p+&zjDDDDvhj&vvr6nY%xXiBgoCm9F!|Cj}XP9iUSz)n?yr!8hzwyCOd}3hUoN zFC5X+6|LyH^OXTO;dp)an1h4+!v}(z*nzykWxrBPOm}Tjj}?Z1a{rF5c%q$XrW(Io z+Vw`ut*bh~p<0rh8Fz&|pX1v)q8(A3(_8$=t&kO=UlRyOc|*ZH`?C~lQYoFBJnN@{ z@cGG)g2y}^L0+Uf!5sv+I`twIe?g9BTTF|Iv|d>Xk=Z--j26k(RQ_rlm9aW=RMW4s zyXf9S|1z7t-CT5;zKjBcp0JvaAN*NnE%A`%@sPUUHwGAiT23fRB)$1JX-fZ&3VijF zMY#zpuMceWX-J$&guD|uHlOV&NvM#a>w^!29*k8e6YY?$L=EL*7$rSg^^T+^G^U20 z&m6P5bd!61ee3sj=LMyV_;uFMcF90Zl>RCi>2%Sl!~;VFQjBo51S8ZM@9BRq6}TeI z8*|6^vec|xd2mX82Fg7csC8ef2Nh=~-#0mFY7nT{DmCn9UcY9>_P#;X=aLtXgdSHu zbGKdXKyS+#q{7!2L5FTab)7$3yKQ~?^V0v}mmN`=hxT*ymYi=lvuG)LuL#T@yE?P# z0N4HUFMh|@^LIl&wIbFgxtRwh=)tUm7Bz`j9!@?W-JtiPPkm}xtXFlXo=N+JpmFMT z)5C>7ed?9HJdZ0pM4S8?^=;hFB%K-^5@5VZ8h@)?(RxO7i#*M;glW)izJP>GN%2@r@7Pe3k3()1E&Zp1OA|d8gX1iWMNc zb5a_lLYz$nnVIxsbGdFsV(8&YD)PU$jcQR*m;SZ8F$eKG`!YormFdRrI|?Wjv0aIz&pL{`-*n66a#(Ap$=m{ zonmiPf)UepJ7%%W)y8{7YBhap;8ng>!?B9hLBg@>(3T0t$7jrFSq?5U3Att-p#Q(O z@2qtvun50qq~Nq~f^YKebeGU|0S1MrDBT*yqhVSC5_S6${>Yi2gKY60ndBw+QJlCw$TskN><Hk81amMERh35!I&^X zu0F0C=2!Qr3+#0KD|Lh?XRaq45rN;iu<=D7^v>exske|Ws~WF9f@hK)aQQJwW^%%K zy)39szuN|AXniv%Q z>aii48#8=sCVW-W${ydF?k6C9R ze!zv^O_Kt}ituohD0V;3+B)1P&%_v2m}njDe-|W$a+Y7<&m5Bj#XLYrelr8|idERJ z5D-oT?y<*tTOMBln%e4jjvzf*X0@_-%RGt#`z>MqX>ghzJk9T+ab!WiXnfQd_eaa7 zZ_b4u`5;#|+^Hd#?1+@EcR{q$8+*}zhbqx~Xd1kbgUS-lo-b0j>$_>x)6OB*l>e$5^TrI(@6{+&@Wp7KuippvL+HxNr+L4Em{ zKem(G)1SBh2^D~%^3R)`pFdv8{O4x-6EK~8v2}jl9}WDmAN`^c*?&C#|K4{1gDsvA zIJ|@#Uf;PhyC(@5I~{R}!`n*Saf!0xu$RsSoM1g??*RHj%-yf1NbK23u?aOW=nH;< zeuq2P?t0M6u;i**?G$BMCDpa<$GD9fndbMhBtC8M=@!(gngsm^X#gLwrkfCh@M2Jg z{X(%9uzws#^S5pt1BDInfdUnx6rFPEf9p^Xv+JV&*RzcXMz66^drAD8P~oiY6030R z_kWPv$<3QOWhT3nPWFPwv=XVSE{?R?g5R*Qo>Vr;TuQ1+p1Hx;$Fp@fA_XVv@F7Ty{Ufm;^ zN%-`v%C?wM;Hb0PCgS^GTZUY{|3NxyS2BW!m$(Rr@7nlg``hiV?5x~W`FQ3hw^Lzp zr@mhPzuNomxTdphUmR3)EC?znElLp`N(Q7zji?wRYV3642uKq%5rG6kqB4qr5D5bj z6rxfT5m70j1R_!*1Bi5K0TOymC?SwCZ+q@LGxP3o-aGf4d++c!sOFs!yNqJ8_S~fZAgnS{U=#S<#RdDU*7+mp z$2$Hdm}@(%FfLy5x^B4d;~hTAV2DL%$6$sBG~Lf#ggcu@M&tD|#w*krrEPR8U*ACh zn&}CV?>($yZc>k(K}|y+*+@v5*Qonf+iIdeMUR7-_-mlpD_w&Ju(#C`ff-NweNL7i zakEGxoap1YmPGhmqwwkimo@CmPgwRZAFho28Y9LfD z5`DXWlcm-mb>p~1t>9sm`ReYt^q@@ZRBzR|vgZ>Db6u|PEVwEiQ@6V)?aSS0xCg$y z?w-p}ai48wQD519r(|wT!njC=l)s@*3j!L=F6Q#{vnI_CXXWmhhE0Wh@-uX~M_Tx) zygXuBk?e-c?`={?Xl71NH5L-LOTa|O;%x>S?a%&YqDN-mo8L<*y8mUO-zvLA>Aupv z7x87H&F1t+Nuy2uf1Kz)1hL1Px4uKk3~@UszK|$9@|DQ0?RqX^Q5ANcwG&GquT9B~TSTi)C{^pJB8 zx-PPww2RneFzwv`)hAEvCDfue2SK70toIdj<8Bg7NY8v%g5$k{vRvxD9>?sv>UGQh z06^}|U7kaxSz=VM<8CIIT;+Ewv>FSfavyg8`w(}d*Y|Aw^P19o>ax4DkTWd<&r%}f zVNw8=aM&&6D{*bxD!)J5Y0ghyd_8s^RCxa4Yq9gxnit=FEq4At_Ze%C2}}`@wOjos zvw)PtQc~2jy6o`OH4RC;vU=5$`}mRX=j?>CJL82ZjOmRYNdo;!ryQ=+Zp{rSI`=LAQw@>~s-(As=ak|6RD0`VXlEN#Q|A zSYuFv-b`Rx8}baeYB9WZSc{YN&J%H&KYG}oMSEeAgQX$eddqV&0iw^6W-m+_WES6) z?@DmSb{^q2RrT-0_7C1u+a^v~bh2Le*-vdxT!?`9SUFFwE;B19P@MQ97aMm1KE)H? z>W7t)7nv0C69`3+TuR!|Agn*~8JoiIC1ejq9_(2~N_gctFdlPJBGu>E2Ul4UUG^4o3PD5j2P*<;8?-9G!QJNv5V$R*m@S?{> zk|8bypkx@A`#0hh1up1;&$}u*jl$ggX5C{8g%LTfK)2=0!_)Ez%@Q&^dgP!7`Oq9; z#?TW74q~25o*e!JPcg=5auO9C`Z3X$4ON}A-Xv+DeOjn{^5*Tm33s=~vU0{l{#Zq$ znr0G0Z)LWKlB`+D9jzhV?caiT8<3Tz)wmsgKN*DKgl#(OLORg`3MGpX=@T6t9ps;q zSoYZAIZ+jqqL}0{FH6~Ju#9r48i-Zcxodrf?{htLMjPi>sU!Dx%w!niC~7URWbKb; z)*hqTuQsq{rZC)5HZ8^|7hX+}2NWJXb*qyG>8$ajC1FQqa{geai1jJF8Qb-v@`b^K*=Oal*>ixHABN7#Mb zbvBTx8hB9cEZ0#WGbx32R~!PQ_;fMBmN^d7!tlR2!%)?5rXd zF{_dpzQS2WfyG$?Vo+8Yn^nbrRC+S`mG8>s!~nfqdYV#ep<;AcnD|Whi9>TEwa7Ph z{II(X7^e-@Ld&8Hi;$^IUJg@MC_i308nxII#Zu*M7-y{y_^zokG~}n3t5+^Ry+0lr zl$e%`3Bh@zS5xu=H7Q$r#^(@{+|`(_80-z$!Ga#~Z!N{H1^Y_x(EHoS_B$I4nuhIU zR%mm>amP)$c9DV_lfOH07FfKy08t=p1W8*>X#x)?0+q%gcoNT;R5GTaK#`>n4^Qu;{JfB3@J zxv?v*BP??5cokD!?$!Z~XFGD6e!FvnFDqH!obD_#6wLAq)L`xE$sFF#DT>V!5ygo{{ZWdgrZa07M4WlR+?gOeY6{|4*HgB| zJ!Xp|onAlO(;KSz?!)2*0rIh{zuKPHygSc`SJ9ar*FS6Ashw@~_%1xf2&j5oN36zp zei+#cgd51mKO8h8-ek=AF*d`d&VploA=>;s1296S7&Ee?E{s1-SZ`S0{__h$PON~) zWuD;5#^5n8osc-ara0s0g?+YKiAo2akxsmAeTO_UH>J)IN`9EFY1-zeq#c1bBfgvj zk;y$Vqo;g$da*f`XK z^Xk&8luTcfSzK87b&tPAmfWz6aRz-Xf{>tm9<5E%%zmu%oVGe>iA!!UQ7;0uY5Nrw9Dt&CPlaS#`}eIEGgc1tf;hV zq@Ovg(xMrD98+Gc{9$0HN0Z^V!4HW~C%cQD_dv0|hK%qqyJIHG23O1r z64y6%cO>gU#=Yb5X63=9De53G(!3}yba#Slz(HSrk;xK27~||?Vtzf})i*RKwY;2u z8ouUd+E)4*BQ!=>S>a?^EUK7;toC_b2Xt6Z*!YLoTc!fT#VFNHxpdRUD@yz9#8ES(NlgAW5ej_3%Lz(2A1%%o%K|K`Zz=lkSSN z9#1Mb9|?Wr0WWXWn<=Qz4%z?!Au-9j$cAcxdIji_pa$~do>Hh1UYe_2O_KKsWky-b z4I;PrNfg7oZ6)dHJ-xl--k`q-kLNVtpAvIMNq$qmFOxr(A2ysjkNPd9|DnwKP5X9- zuZ4Z7LfiAdmtX+^wjvYG z2+cPn>v2MoECP2eH~cUZ&sW>8v1A-(*Zgup*=9}ZONCRBAze!AJ}FxC@|dpezaO4| z7-;Fy)cr@>3W=Z72YZ#yDYmdcPa#t>(}GZ^NG#KTl}ZaqBCeRcCIAL|WaL7>w!@vd z4No*n?CX;~?_(fKvryuKSE%Wqp*tSSo&d=MM>TA4^j*IaHlj+&vOOoi+awK?x2}GAPwHMxD0E*@1Vusqigs5XzxJF~}BcW+q}!syCkmi9zSv zYgGWLow@#o7(i>1FwsH?@9gyT@T<&h3sZhpV zU9u}BLnA5X^Y&UpDR>IC+hD@owo-UJ&Gn7lH}Ji2ocb~RK5qV@7TrtSTuRmKPF7bQ z)Bl8m(Du`U81k-SPrF7w_eyDFd3p7UQ_FOQP$5U7*B1J47*MzDG^qv%?JkHiaUiu~ zr(hY!R%oXm=ICsY-R9?%`@F`#{`ap5Q3Hx13I9TR;ssYL_j$+=k|*;ttFT zBKXo=<~^WwD?HCLCCz3rcpR(*FTrK`x1a_-Y5L1KpBD8IF)li$s#itrA6;aaJXjYH$K`M2y= zoNcsf8mE$Yb>5jSOf(Sj3)Em-VaWSIWPy4XIy!Xr&dZA3ShO9D#w9#_Mj~OXnKiFXgaesA@ieHygM80>Oh)?@D4$hFy83!(b){JJ3Mv;%bt zF;W-AN9T*vi73-Laes1Wy}19FuOR#hwCm7V%4u`LlRdcs5AEuT$`Tsq^|uPiuw>}0 z42+InG+H$mGF8GuRa=`2&;tN;2>O;=IlQ$uc^2;+LK%0rY;fD7D*eHvIazO3SJI?M z#}&tG8QP6DO4plk3_8Pvx_IlifO293l+jWne-c3l-1KMaksa6jWU9U~$heEI@4?{I zb%Q16r|V+mj{?=$GM_iPkqvWV#R2Up(g3uJR%tNCQsRCjZEP9m`i88;jPn8i-Zh#9 z{SFE;1Ydr{@X+OB{esh6WF_&N1>b_E)dF~x+NPG7XTsw}p?fIkXD;L&icZ|RwF^7u>MHvP+P^vTO;<^zTvpu57vP@aGK$f_dbXl z-CKP;qxVL{05qWXt-1z}?tfkFh ztQtyQKsnS54cerQup5dmv@f0>B5w$Y7mYR~_+c7tgeD?zTdjfpv_Ep?exf)~@R&zNg-?-q$%*fQ+<0Ab$Cjr@3-ZNjB!yte4=nm+|6o zO=2vApE%sqC291{?&%4SWA6`C{5(Wjx@N0#4UW08YGwad>r(^(hOV?FtnLw=6h9H! zV#X04!wkI={$TBe;N`j8p` z&RwA8UAbQJjbJO=J$b*tHHM*v{GL=LaZNJGQ%im3)F_WwoBYiA1FzTRBRM>!$Mf2H z4f0`(YK>I5%;2m7*1ksPX;E^vkNE?h!lRW}6u$ohEv3{X^~Od9j1Bs+S;5Kc~i74C^2D5+Pyu%sGVW3t$%oV1}Mpo?7_4)sI@N(g{~sq zPWlf*TNmKSB=E(t6}gRXS^n32Ukmp7*e<3zZwS+g)!#%gBQz|%?U@Ww+=4^-7K36v zjXcL@S@_>=^vSkm_>CWfc@KGb2B)6zP1 zY2<`8E6h;hdd-gSAP*N7#5qfeH$t{quKP6R0O7_99Hv-%XmRsL6NHCkq338xF8Sn{HCJ*l{7PkSR5}^xTgKO0}4du3kQ9px! zU*Mb*L_JrvKO?E;CJ^6WJsFXUxZ%l=w^KVvA&x(V3HYN+6|SDr3(~(Q?!RZHgA!>U zCE{(u7GDK(Sk@-GBdt?Ag z3oaz^NjaqfXG$$}b;V)VD<xg^8rf%>xN8inxDTK;8J7bT)_s@6|jLhA`{dm(P z{du1+@|hFUZLMvz9%;W1}6AU2ismJMq}5P3I2$WDd8;7F9DOD-^Swi zn6+2>C$3`UvZZlmH=K>yI?0eXR@FHZ4o9}*ZM?EJOdG;!Lf8zU#y3F4qn?bS*3TOR z?lr`Demj1BcC}B+zEyVl&3F<1B()NEfI(Y<&-OTgLie)k;b17yA->;mnpPdyw0 zc|)m6g|lyyqOV$NJVrI9k9QMNGo0Lfljgd7)PHeFzDWMKA292Z=?SAG6}XzY!-;JC zTCR02?__K3lKVz(YG8+{S_tn2biA}PWI0VI=TIST0cLi_VC{u=)AqZ`5?rcSb6-aOBMA^(>?le zyv$S4A+^n|dB&|C*{(ZU+IqTNFT34f@?!}2vWG+ySb>wPJ5$)df2tFblxEy)xu3gK z>uxIWkhu-JTz&z0%S0(MDm_&K8CyG9ea+YR1*o5Uxmv1eB%Bsn5--x4W`@c!!+@p@ z+)JQ6upeN)sII&!Y9Z~t73v+!AmTLTP{+kI7Bav0K{Z;79SoY+lA9*wK`;99KVuoE(ztRnb0!}rhgo95TYmf3|V)kiJ!-l&Z}a`_^IvcD5$$?yzlx$h&*Vc8g{!j z5*4U8Og8h$#C?~ZrV*6wo}_^4%X;PjGaOS6GdaKDAd;sHRwNHJ-Rdk&iy1)QPE&LX zoGGywUP>0~t-HBp-jU6J ztdS`62u#*N3mersoy$7Y0|)~XoiM-Rwyd@zWQ4wFJiFxnj-mT>YT3PHHPDr@yf9gf z+KRVjH=3_>veWW2ov|^@(547tzTSeBq0f~o>E;wl;MH05h`1D*50BCU#Qw7B%n`)* zcr%^{+Z0g2u+s0Qc@C$zrG2hgR@J!WT-v*a);{$-ksj=1~dt;gxvw$>$n2$p~Sf22|CAcY6!J7$k z*^N4ZN)+(%E}HOQl}r9mzrZPcY~}OrWOx(Ze6Tieg0{OUUjSpJZ<0gPRNb zNxw?H&3edFUpmUwFXU+-<))?;hQDaUdsJ|*sGXz1y1S3a<8F1c5gIu4h9rr1A|x3j ziPM>yhMWS5n0hnmo7GEVHBX3O9M{NL>s8c)3)3Gt*=${v;R4LxX?BKY&HAS|8qQzKcGb1^@KRR z#Qv$OJYPzw0dEs4XPEiJ52g`lOQ);h)AixGhG z1(@y|#-SQ@a}}Rft?2yyg#{e2x}yp+a&VX!?mn^uLaNa6SDkM2+5f)_Wo$? zI|b9W>@?P|Qs;^iPSH!=Burfck{J6{E*#=nH|Zso!-f0se!MCPXd;%d!vonNk@!O^ zA-7zP<#XLr2X$6iCqK_HcTe^5&T@5QIrUU(P4?DlRr6QyWMYnuO7JDtF4<3dfQw?= zSr~ArLiid@a&6$oz~wWmB)OszkAzJk`P~wO6MuKcT(OzEJ+g)xVGZM5 z&0$X?`A@iM@jPj!xou(5i#H;(l8sCEeU*&1qTnjmK9Iw+3?M5;M`8KQZ4WJ*zVATZ zg0XYNWfwYaK2>ZJ=!c(WR%o|QS?~HRvMyKKQ&DV}XWe{-wxqN=^g2yWOmzSnX4=4- zDOqc_3*h_?!fZs)=RRqM+~GU<>GfF?DHn3DQj#1xvMlcE55${hyea*W_u;3DaqGrw zbpn6CUsu3DpY^&=2V-M}g$ORdJ)NM@QlK}15LBa8!0yh)SeL^E^tdHd5k+VrJcO`r zf+YI-swDB}5Zeoi=3J6B$t;AnaTX3B28L!F0MW0|E~26Q*q2 znb-k0fA-1PK?^HC;rSE+GkoB)W%gBKVZmL^`89>ry-lT)@IAHb;Uqv{y`WpfcmXab3y;#fDZV-3C?(I z^!Gy8ehg(yhj8KVna<{v8rj<`Snf=wI58(Yr#c1ialE3MI@UUZ>}!&cU^D%rptBF; z#2!fnrgVz7E>$X3uNWox6Sv2Vt?-jyb!T=~hliXiN($4d5Bn_Y39B!Q!D-CveIm?R zn}ashTbnv;m}I>Mmw8zH@^lR8AEuw9x)2h)q$oGeW4XF) zYtx4{&**EC#11H3hcLjl0+mJ(+?xXgszChbP9kWG`M08>1u?MyRVZZYH=&R=rgEGGJ(Hgdc;fIg#D3Q9xscLSf=UNK=uhZXF6dLr}gshG#*NSb8j60&S z`bYRl0~hLVk!aO0aSP0Y6bai-cgpm$*5D>Zyma!Fo4~}XEdlgytA1vizTV7Lea~BV zA8-vt&5YzuL;JRrF}g2T_8nE;67ghGO_K}1ZE2Gua9i?KT!|y00|PVDAYwH*$zU!@ zl9y(c^Y*Ku_`f=E;@=PcVd(JBVvR5Sp?358WIUGL{pY0Opc3sV&R~q=Y6UX3wDu!( zF*vD0w>==>=@-9YrYe)7LR|d#77b)8^ESABzu%snbIYQU-FM+Ia7){^3h*K!B9A=0 zr9hd3+=BIhQ>rVpJ{8#a9Y(aAG1Ck0%yw&4LG@IA#eiV3$(8vG~cph?4A>kFa zztR-4nGO$E6E=S9FUU)2TfxQi+{D{fRf*2G-~)36!5z@m{t|^xL8pIwi^SxPZJjiE zYx8D)N3=!#;Su!b!^^3w)|h=*R^*@JL2IEqMNWc*JrvIDos?@Ln>L_J+wy9bpo+3$ zMC$>|?}f8r&j1o>el$X&bss5Y6zrz86-<(hl$-LIi~TjScW9`s1?!9+h>&dbhMo;n z6aEPWZ0-zna35%Zhd<$vU9KkpNld3JJXiP|e2ItIOO!I+VlaT zhu5Ikq3QykzocaR#EuhoAf3EkF9YafrLScwz$Kjq&c@eV*EOKV&E$HP zD_kEj-!ZyPYharg1F0#n$RN^P?RVz=HvlRz(){S-s{}O`*5wTM{Oyt4fM>4umMNXx zy0fy0+uMjfaeeCWqD0;=IHD8&v^b(d4S$x`BOr(A1s>@vl$En#yV;-lWE_^NeY*Xs z-a_(14tBVVhMkdLH~mVp8iUx;p8%v*HRV0}K?}|dFPCl0#zI^Kk2HX!s!TVFsN`qb z`C}~POu}i}9N_AbXL{>&<22_oPlAR<)kqf z4x;KYH`KK&q#F8p!+X>gf`%jZ!G!ys7UK=7e*JD_3;VlTrt{2f=Ly60LuqDO@mf@5 z%c+s$H9&C61qe<-4b7x1>m} z8=07#PPMNup@q=q34MxP>DA;qEruJvWnMF_lN-YiY9=U(^xtwbYZ_H1GQH^*11oTi7EuHnqFfk-l^cHOJezXLxgg^wR>ih;;g>=Kl{Q@&;kGAfA0f){&=u%W@xk6YBkJnH{6;dKgfq(gjtuu{lc|>1X63o;Q6^l|Xt9 z&jBQw(~)wnwd6e#2rsAL^uaaT{{9!lTGGiV)Xx_hPADmlb$b#_+ZW5i?mpq>mf9Kb zyN5}J6?kAd_r)pt8pRFaS~2wv6>jCsC-{w|^XQ*e*3`aX`^)a|3*nEfxOtzrb>PZX zQHSBPu5{#b$dUVSh2wFT;(&vYW<%s-)Y|dy1@8mGuQyuj5$2kWmW`qLk4wlbQ=A9z z+Im#0hJgIQF@yy=6vQeu*%WMX>aO%!7ZM)-ICfQFd6P;|qtvAd)MUm>obW;_prl0h_XH7U`2~@NW%l~tT})8y&Z^H{gn)?GY_P{1*wCl zg^u_`?S-%?l=O_}{vMws8-}l{!#kxciof?&%SP+DrsFh&I!)($DUWU;+=d`m_6FlF zna@_NnW$q^Z=vLLbMeYNSWVzzw*4lhAg*`q^x5jmBfaCn&W%OsUN8J8D`AyadHqb~ z7~d^*bE6ISL^mKlf0&*GfQ#hQ1=`&78q-qQXu@8RJ{K5tvKd!egV1uH9s7FFHtOg& zC+V!y&CH^8>Zn~8PAGX)Th-ojc;XrST|Ed*utb2$v3VV>7ePCMxatjXZj_$5Pv{%$< zcWr#D?*2;>!J?JM#OOMxxsto!Us!IqxEt2*1TH+}JCv%(3XtL<)oELKamn6+d^7Zd zg)sbR_dZcULcQTpH+-c^Jk{0C$~O47)OI_MDU$!DspbM?lSHErn|_q%7CV#AsTU^E z+pkJmx7T+~HGAGM(`sL|uTz6gkyznR-EP_6RFTy^ospRL4~Ekl5Xaw#`VT7=sHC6@ zp53!F&MwNmu1ELI6KK4L$g9V(0dd1(`qBvqIOmFhTMuT+5WZtxgEq$@9|ywfm}SCE zp|wwU+)bg^B)>baI=e!H1uRk37u?)>oLu^PG%1v7k0}gOv1`bZ`9RblEv(xsJ&yiL z%kI1OZL7WtY%a8w`Z};V_w>Q-#NU?hAF$Io=T5Ep8g}}>#z*J?j)Q-HH^oVu9JFcE zLVzJmd19rny!w>jLZ7D6&$R~{0N|C5`9Nq?l*r@xs+gD({CA$6YJMgvdupcrbNd z0j~t6C*Sh6->%3(Uy>*nmnL;s+!cLb19@{eFiHV_OFz zMBYb$@H&~0+4KaPe*B>$+1?+g{RrpoiK)|vg#gJSOAhguGU|SD4lu4M2GHxo5$cva z7<)hjtA!02fFH=3?4E`d?UhD>WZ7>L`1#Dh1jF9rDf$l|`-LX?dz-ydd!y{8b7oakYB{@TuVUn+#lKr&ZZKR$B)u@`G?3^cKAJExB*tuY62`m%1OF z1e&v|<*DU0<<%jIiiWsgUXM5hp-CRC2S=dYv+Zybbmmk9@&$5|dl)T7ifZ22AEd0iTaDaI54J7plv!-gFYeT@nVx^&q(bTZ zW=F1wSta3#isQ{B>%dw`yYyP3?$>Qv1)LGQBot%GlgujdLv*0D5rqfG1qCQGRmd

      WXCE8`s8cA@w<5q`bz_uTErvhzoCz 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ⅆn8}Kgcs#;&7&<4W9)^$__BxYzwZsd{Ts*4+$?UMf9^SZ4<3E`Gk5*) zKOa0%hDhFA4mwFdJW=SRqC6iAbOPssirqSVYN_wMS}5ns3pFX5agbRxPc2R5m|0mK$%ZrGeeBv=xdZ+S>zIpWM;Y(lq(jWiu zKPM+As!iXE`_dP^fN_SXhX`lP?kP}+Twe*Im_w+PG>0-Vaf-_!>RYAIhN`1`gXqJ= zkH@0mg430moH658(!oYJ=Yk8tIn#-hnRCt<70ZR-=7H+rLI}nklk=8BEr=e2Iw{(LOK7vk{eyF3RG+VclsKQg~_DSo5DU;guL& zQDfq5D5ar@DF}kz-qKmmc-GAH)aIeStFF3g zVPPTO_YFw7e-;mfb*Muf>QFP}d0r-y$z(Ex!ce^(%*D;)>*+#>LSZPM$Al!@ zp$>JZLqAXCnhICW*@VxeiBdY$p$>KEe-3qgvK{JBhdOj()WOXTb*MufIx*_tW`{b| zp$?rGb#Svo9qLerPK-LZ*`W?~s6!`4F@JjVM}Ruip$>KEe-u@#RRDc?OtkO4YN+KX zOdaY_hdT6gNu2Y*P_*xz0$F;V2di}DZ-+Y6p$`4r5M#{qJc>mEuAWXeCE3d$JJg{L zb*Mu`Bw0pLd6Ky0~a?t)S(V_s6)+AXCG3BI@F;Kof!Q$>7tWQ Td3|2200000NkvXXu0mjfFVXY! literal 0 HcmV?d00001 diff --git a/static/images/thumb/music/ting.jpg b/static/images/thumb/music/ting.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd12e34ce742c355fc73c599da5fcbbf7fefb4ca GIT binary patch literal 32531 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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/music/xdj.jpg b/static/images/thumb/music/xdj.jpg new file mode 100644 index 0000000000000000000000000000000000000000..525ea0ddec983cb024c7d2c24771cd1c2a8bb69f GIT binary patch literal 39637 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

      0rot3B6wciUGulKKQ_EC zlvu;Iz|BsNW<0!MT7vcC%lXXT<-iR4LCS5fu02W`c+y7z4D9-3^@P1iCy9iyNlPCe&I&2g+@4LZzct#~PT` zdNB<9YX2Z#Kj^C{M^vAA;MUnsS+Lh-F>mh#tm43sGrnmu?(2;Y6@4$;wy_`#+D7Sc zYchR!B&btkfAN-N=0P+#t=b$vz<2tCSO~}Z2O}q1;yWo(v&%LX!XjFcaK#o~=Ar7ri;vz5M)W2>_e%~W$1C^kT8lsf7t$Wa zM&T?-YtUN*pHP;gxH1q;8w$W4_DrWTbj@an(%_Z;uYWo|9NZpAB^{y$2bhg=OW5Rg zK7JxsuW8#5q#N4U5M>|cX3<%;=L@nT&qj;9ByO!| zFNC3CjN`=doSZZr+=1hP?pmk+EARQluS|nMNvprdkz2n(4{1GO0W=VD-b={(QGAi2 zVYCd@eAV$aVAVjT+$({*?T%`fFfIzV26lilzSnV-5x;~smsi9XtdZag2qJper6+G?36NbMdB5D z<+Y^UYe>#3DXBYwjXneD*kuWMPa=2fLz!QS&*gRcU%uCS?$WJxvDp_Jv4+wXhDuik zFu#@zv~4v{Qoom>ii5okC*yQ2GicM%sQyyY7BCzT`2Q|(y9<2^%yIfuaCvREvW}=a z;|ga)WxP+5ISe)J!vy}~lJ!@Oye3Dp3&a_kA2wX+5!_l=lV}n36Jmu}(JZj_$Q0-a zcHMZ(O<#6eNn?85l=IHP9WM*mwx$3x7iP3ZGV6L$+|?JDhgjdUYU2g*wV>6EKymnI zd|h)|9ry&I;wk;iBJ`@V(wa-m1 zEqHRH2Nr)MgTRbFZ8xpi!qXVo>}AiluYDZ)zQbi7{J#*{g@)`f*bULEQ@y#hV|q5p z>G1x3D*byS9@<7*3{Xx4P(_(wHjxuBB=#LMd7X!GH!=jL`tJLAY&c{1w=$d zgdk*FClo3vK}dl@R3?$B$P9rLQ6eIQNsxJ-2}1&z_x4>I@9DX}=l%2je2?dkM}&~< zy{~nxb*{C}bzTnA@Kf+^tRG-n>ITo-p1IosDmC_fgbNIBK9S%mj)vw5c?=myfaaQS z^ksk2ebY*{`&8{J5mFmRlQ&*c@|%-BsXVlYL;@g- z^$1V7kwpquc>67*$i})&tSHJsCt}6PZ0)=*h+m-W4#eMS8DhTaC&*OH9E8|otD@D&TIfzq3ZJweCAhXKJyv{?_3!E5v{{rsNC^XB$U zE|LW~-Cb`=DZ}bzA*YDL?6lmszh5+0SAyN)fbg;1<&duqJnm{KvS$UznD_*Or5sr4 z$35F{c_M*X|5bXrzzG|gH167Wth)yie4~`T4#$vvHQS6+{g9zi3a)=b+Gd5#d{@DUr{@uOh1n! z(l{y)&(o7%16O~^IwYoY5LPbMb$$!rNm6U^YciQ*M|&Z?V^h*JyCicqyrZ4=viVm_ z{aC%x5zl2*ykkDh`S@M^q;>%}E02>~AjJQgt{kkI zBQ_8`{r+P;N}Uw+VpqG{OLL-KzGEz*F$w=z9}o4K$S^eC9u*j>WbPe`71;Pol(*qe z@_;~-cG|?>QyNh@q9{_q;8t#bIl^t>=AvaX8H{#Ht<&rwHR5RkfaVnAi)WK$UF$%! z!D1ZPGnubROWV+{>a}3HkD8(XTDF+mKZwu!q|!oeLS}UeGhyrBE<)e7DULZ|F3KJJ zMNobUvU)mC);!f!u|fUL4H(0!&kdwf6v#w(gU`{KmH@tNWYFBxOTnFma!ARN?qgIx zysbAeIY^nVZ(*p~s%zTixg~LD23tKhnFhKH9B?fFa5Zn#(bSLTuLX7Yxa5Xma!bbfxt5HtrdM;+qgTgr zoJRtv%7+oQ4v$t$tJ+MH$18iaMVCFUm+06{VUKT+M^?&EP(6rqzGhA|+MpB+qh$W} z&~1bK)8>=PTBTV^ImoMAX05cbSY7%}A+vM8K$*E65u}?*uF*vjHb;aEvE|Sv8#K@F zMK-y2?rYjp+~HK=h=dZid!1tE#bv$J&+TkQm^?4B%A7&8hECUHXQ)l;hFs zN>>Rmzs-ANx~~4ZQRX;TV7YemXm4pVw;uHsL#=lg!L&9X0M6T(t@a0`CxWxP*CMxW z;`-8!Z~PO^*W5Jf(jDy^ms`vCuvWlk-KhbBKLjW$zRBpM#o7A|MMpB8x)mk-M%%zC zwPpcu2_rI>-FV=b?_cCKxqA1I%iyA{sng9tNRBZ#2fY9r;k?3{1yy`uA2uYf)Hx<| zW|x@XR4Th#5yA!{(7j8 zSv)kY8#EU~Gl*cIB|&3^!+yh_3X#V2tbN+c{o1Vvzkl81Jm0(^=R@w%S-srAmqslb z5a{yrq4b^wH)LYW2U<0Z%2WVyPftN#mBZC?+;Ky7zZ8l>(_~7KM$K zaXsKiX=X}*wfpYgbd+bRp-_zyqXGw1z`Yq3xOo-QMvruqL)R~&B@j)gTHsr4T&#-O5gTLW%*F~>13s$w+4Z3&5`zua>tm;CMSX` zzyb_^Dx$p85)Xl{Sw^`PCnv_{H;URz-fAYe1>+ZQM|6~jAoBKT$Y%EEFlKI|?cku} z5kcaG(UX*YB?H)fohW1I!S{)fn~+w3(@*qK-#Dd4UTJLR>Ez_pyF_qkOmc#UJsqsl zBOs0S8B^^5FuHq4ufZPna@Wpp!GCd^4w~>-zyYtZ@E;U6PL5ZXrk`w4{7kvppShVy zR=>1@pTtWr2kte5m8wj6(G0nTYl+uSk>{!d#KO6KQhC=D10>LlWukHRB~iD=ox z`;gl}u>T?y;LR68;&oE7Sr&`-Ty%w?tUJhMr&Dnx0|g-FTU3!rlxNCK4p*@ykwwN{ zGB2pOnXr0rOW#MKq zH6c~0tHfz0>Y~b`^tTs9u3s1^&d?K#e^0e?1^DWi+{n~4rq2&)xs)w^d|1ZB;svf3c!zn0XQWS0kOYK?z6H@Y? zzUa7y&$s79lVB}kBjys z$Q%+SY<@>WMTnEr;2flVa@&eZ8ld~x6u z1z*huw=1aLPRe%0w=yX?2g&kOJE+zI?G9Y%3dd!nGu8yNK~K zs+=nyAy5t?cB@5uwqx<8VoK=|Cu-$#+#-n7o8kC36rr<&*}e1Bv_D_Ul7 z9Th%D-LF=;(+N}VYb)5+eC!*e()CO3r zg$xr^lxQKN`?4qFs9N^SJ-x=IlURdQO^M0PMqEJ)Fg<%n5H4+$-un&(8?e<-r zMB5Qin4wWnAk@{2v`f*LOTVCW&<~sk-huW0GhNdLR? zp0!{r3;F>vyEPA}m*^{xLGDQ)KdwE}eVZ-3!Orf&!Z4>#DptkOD)=ozXcDJ`S^;+h zPwXiOoMtXlZNt}(+~|@yiV$%u-R|G#f$5LYvNyYFNIr>yjAZ^Y!^Mp3n+N0We2-Uv zU=4HzRcfO>w?A?^8|oS#jyudKAZF1{4gOwbgKKhx*Ejy^H7N6{RVD8oirHCSsXeKM zb@-CM_IaSxkH55mAGVJ5ga-*Obebv=Ur)fCAbvnoBBe$78S!VMjgb5P_TV4hpFCbr z0{vm00>Y=b_m+VyiRtDH;4sphOVebcRkmB7-6F}|P7gK~(JqEma%teT_}eiR>{qzY z7*q08<|`?_S$Uk<+S)Y^V|OjS_={Hv6#ea$ioZ{TB01clrYXN!mhsQme_s42CE zuVM5qG_|E#!Pmq6KQJ^pe_QF6A3joa*Y^hSePABenMfaYBoKYwG_&c&AQLJs$P0JO z7U>fDJC0_GV(5y%b?Q|0+%KwDciSSRzBmYQY){FdPBDlZ!gwTDxWCE(4s^O=cqpt8 z8{;Cuo{sa#_C92K5`{NxKr+4^{t1t-P$gh7ZjlyGxfj)l)HCQD%h>7;P2R(>V8*-aBMgq zQC=%1N%ep9G!oZOQL$Z8^aVQ7+REYLOTO0+SJ(zzW;DNvrsB~~Pe{xehU`llXz}eI z<%(a2P{F7F4?~CIlg9;+G>5GtUnNvs|)Ss0~i~Eh_#0{ zW(0j`uELEhfBP3n5WqWyh>u-jPAtwKp)Mp>cx+9Wo3ta?2Ot>K7ypLZQsfz|iNA{*9HRvHBH4Un`l*+^!4p?C z;Ojikz_Z$hPJIVfcB1;p=y4dUbkZX{jt2a5$=d5lbP;HMXi+1Umu|MmQk_v=IIQX1ZPf(B(>EA&MOl=KpU@PpUP2U?+$1s66*m%#Ab(GfG+ zRHit6+V`)n1%C16apY#*>yPv*&Y&%=ua~1$7*{C@hgeYsLCg{L-4Sk~$riO{&yuA? zQH6`jb#wM~bCXwHhsf(4MYst(ifcvH$DldH zkdN30_IC}xg#N)eX)-s8#8M+F*>Gh?Y%~%#lE0?!qz0^?&SUqQ>_f9JZE$$)yH7Z` zJ3}eE40NdC2Urp`VOm+eJG+7dEN^a!Pwz4xbm)M^W||MsAS03-#4~YIpbA^pLA~NE z1OlJxS%3AeHsQ@7O0&CybdEo<0g$#YJDXmDMRhYCE%*AQvWl_@i-8tW>t(j$=YkRo zi9U5y02Stpm9*TaQ*=*_AEm#H=`ytO$2+ER`2u z+9!muW=M#1-am!T_a=YRubUMvxA!j6U_?2E4&f%sOyxuSP3*~ZR~2DE)b>F}3T+n; zh+*{)pJIZO(c~?*Dx;e*NtBKJvB~Ze<+T2)kwM-WJ-vW2=;X8>|1zK!ALWAV<8MWe z{dwb+Ps_;is?RR(s3hE?>jJzQv>1Q_U&# zwuY3}b9S~6Bpu$>^eIRReMlFN0DNgOhiH)+ddql{$IecRTO*x@meOg)gT31>_ZBFA z^1sX;eO4d@^(6RSuO{lR$fa%LlX!U#W0^bMh!fl;&?mR-G83PT7ePq?rf`#^)L_0y z5+UjYQDZR3v)n0@&PTmyr_#1=2HRd^-mkFCc=W=qljlJL{sTBN2zKV$*!6UNOQ~mY z+#<*?etF_%s~-03(h7H&%$Dbtye@KKd66eIU}#b9rgjZ&HrP6Un12V^xTot8d)al! zlia9o!JVUs?on;PknWmjG1EW?^4acW^?i5DuqfkmgXVm(aTtUEXuBE;OjVTnjBcbH zxc9Sq0-ee$nvJTTat7`i*y(O*P?D-snKOI(q0XHQ` zAlQ;nDV|nqea#$9bIYcW9xK07a>=F|4>_>mw`#?U(D?h8wyMN%G4FUt+kX%fY?{uW zHvjqCan&aQ>))HI1;hA9&C@}Y#|4`=9{Y%NKeqL3Lp=CP`2+amj}5a+x)c%*Ex)ev zk91yl2(3RG`i${uofA3bQ|)aO{+oy}8=;c~FSV6PI8m z@bsBKL)|JAQApH$s->o$Gbxb7nG&V%M z@HjxOCloQsHKsTHI?&a0w_ydeoHz9cI=h5PQN|W#{7ja)IsBNYAKTrrjLyBFIKskz02r94a-kM&Hah`?I!CwX z^V6`nnVXbv=(VP*^`6{5kfq+j_V9u!P6J)1&|}yi01|%jTQ+Z6wHv+bL+$XR*fi;C zHfq2+y|m-0MNU_Or$K0%5mJ|=PKRM!BfB(;0n|OO83Sr-G&4lHbr*2iLXq5|c$* zLb}*c#_lGK+c_zY1{{<|^?YM&)(dEjTvn8D%`9m|Kkjro_NE`$WAKm>J@5(E)B|XF z9_q%G%|~BVNL?@}Qz>pLO#2j0pH${4x!JUc!s)&@R1(r1f@YNr#yF**?$SP+(B8os zqe7%1S8#|T3oL+IluzA*l%HL67snnm9_ps@7+=}?Y4=S&+T#xG9+Qo)H{6ThutiP# zC!9kKc|!E&7Si4=i8Rx!UZbk95v|DH(O!#?hv0Q0U!JfxyL1kJk!P#}vlZmE5Q&Z# zfa9oayTnUhy3aGqPv4%6(@Xgmpm7zz$C3}!pjN#$nj>~`YcTO0a&jxc7@z7+%g!Ro zQhdlFzaJMLQ`y{@5PcR>$90pg&D{PqT2>8c-)I}&^5KyS1nJ|dL_@=iHbieXUB|#_ zek90S2_8g{axK)3-}4`>05;Cua6l0aKluy;o!Ge3SI`^}|J7SK%9eY*oI{Bp9ckoz zq~a^05&2*bL7Hegu3F`PnWxb0%9Iz3k@4kw?o-<@S+&7U?dVg$To_OfYU>7(mK#9! zsWEJndQOSa;Aotc^s&s_`}rl-+G!cn-u{TYJ1As^B1F;8njEF+C3`%ty1HAog&&n+ zp@$VhPVlZUek5ynU#I;w3%wYECJ#A5;l4Wy_O0lsbPHU=d1u+QOXPF$kv%;kN6{KBl9?I)Sh!q)?b1@ZZ9i`cmOI z6){+tB&F}Pu&5XGmvER3_MvvEc7FZB{z!}c6Q&Jn=u89LARG`dI`kT8@wJiKbPEuh z=`SC-Kjpn>H}~|MKc;>$8JrR*Np!(59o7zZ4A?3U<}%2?&+G3h4#Mo|r=VV*m_69k zExS<<2+7d1+!(~1dnCGnu0(| z9}9B<0hV_mFqBcdf%KXY#EN{0UjF#T$!m4oDX))ydk6LVtJAhchh2Hj9=zXCEpbOWRNf#s5B<3c*_||$TGWNHEcJy?zSLL z5Sqqj3@jk-bl{>VF#7IIOXO`ybrWwo46RzXZWF`7tz1C@YXu?OCPIHz*R1E9e$kQ? zkuw&f~*TKNtOi_esCnflK}}sPny1b2Q+Yt=PLvk4-fEwM1!?6X(z1LLFiCt zqJ<7Y$_i(!-3k{1(ONrV4KaUuz#dDhG~N$PD~njhIGxn>I@Awc?qjs4h0sWp9u zan8%63nZOAJXd>FYKD&pkF2K3mgO0*n(jsJ$N@nb zxTYUZGrpnM*ZPSl!X4L5w0~fX3(d4Ynzre+a-e_(`k2s&H!%5cDAK9tQTP4w3hqp^ z1(cYMIlb_IY--uOqU{JITAHFu$h>OsE3eE!gS-J=)PYWR85nSD%sBcI_%$?Sh!MOK z65wDlS9Nw9N1+I9VREk{-P{I@AwDQ2Yb%A*T3kFP(|syV=p;@-pvZV5dNsMNQ!NzH z!#p^V^)xS8ZrL#I5&_#JEx3p=uk%OC*W@BZC?ZGM&@~&-Eae5SZ-6B^hHXK1-O~8m z`tyu7iO;6Nm?1B_wKq`EVD@jiYlyJdVS8XoOW$(0Eof;7)4#e--jAlHFD3t^*z{I} ze5i7`c&9r`PnQGASB15zu`N=rxKldH@gX zaaePLZ2*Q~t2>F5Xk&iFl`y}An z6z2v~)DUoDH9GybS`NSS4G@i(aFt-3VH!ZWjA#sSky>|?T7wj(=yJC#_iL{8=30M* zb((wZ%#6abF<|Uc@57-kn!k;Pb(9%LHiIHf7=J~5?_i>7 zk)VQxf&kpYmX-cD8?na(XP zdulsey3D+Y@4lL)Uyirhqp5Sa5BeQZip#F(JdU1rTY|pf-7J_;;T{U5%%sYYp)?>{ zwkdhk2=a1#^C)*M$LqNt!>(B0Fb+7xUfMrFl-Lg?)>s$!))L9Xy)hwzV-tg7IB#cH zZ!gWbmy_I+w zb+s`qP!Zp2^mayoyoWuR1-UcP&kvGncjJW$ivWu{<)$8~vgHcskM`rv>>7 z2(I+!rVp~fG?e#iuG}54 zCeLyREjwV0kd?wII%Ic1U{Jv$=IVa%>+Zo64zP}OQ()sy#j$~rl%Ff(J%PurtM_-j zc^F?7z^(+l2y(pXM+Hb)AJeMr3gX8c3|&HzN+T({2GDbOJntzj)7I^!%)6t_4y@Nw zQ~1LCu7AYcFxaGlW{M)Ynb;FP#94Z$Pp`bK+PaLpWI!6^a?VR^a`H@Z(@p`m-ngKj zxxbIu3kL~p3K;4`gZ6Qk1=x9*{-RY`J9{)Ce4J@M7#Mj>r8_AI(?LW{MU;6XFa1(~ z{IJIr>b8AV3XeZfQPW&d2X>f}uaMZ_+p~pNIB)wPH&VPEjl0)t0lGi?{3CviJ4NiZ z$^$E^_nJAlyneK=LU>krFp)lH@d0f*2+0CLh&LSUxqoYk0VfKj;Ta_-yZNsLE*#;`%|g! zGGs3U#H810?htg>m>k&W;W8e5*~`M~Yt$|LeL-lO1Qo*!nx#H&Du9bk@Nu_+0W$A#Oo$bJ;_RqFsakgyzlKG z594oojSlCpJd(iEdhaEJsVJOZ0PEU<2$IQ9sx_NlQZ%p0u2l}20T^tx9g^%tlwZTP z4?VpoQ!|>n3)LrF4mgMlqqdKup>i0f8oBK|VSgxC?*MC}@A>TH%1e%aYffm)=#NyK zh@|9zyhCne>R1C=Fc!)c@}Y#mJ3X$f%!pr(rol(i9lj_WVJ|{mP3CvMHJpe@8Wl=~ z^#-QAl*(Sx_E)bcyD^uRzEA^Ata$gnZ(n*~LPc-b+6&esh#6{Tp#lr@RmMK0hD+o^1tg zY#>?rlW`aDjA{bPwb(GC*$8c*V_7bw7kni&pIn^B z0^ba@7l4u1=dqrT{7K8gdp8pm{+SD|Zfm{DcXC+^=X|)0b_DSWFC^^J$j`M%O<;E^ zi}8tVXcK+H-1s@rlnyN5PK&hVbF`8KVSqrF(r#w~P6V|<)fE2jh3{{&W-HNq zM=Blyc^Jv?ETmH&dU9iQtRDuuO{vnEaO|A`8QiTs(aVxRR~jxWHH7uK7FkS@{aUFg zNQCx%F_W@=J7^kbLl+v#eX#hEKGZ`{f`i6(XqtNqAdnL%sDc@0#+UcYh)xm6Rh_g7 zsx0a?a^;TQjq^A;mDXw5l+{+9UyvI8?~u-2?_kW^4|~6c-iJ}J3f2g%qM$88^gQFv zHMFseJO|Y>+!!(1wivAHok#GybCf$mr=-Hqzbkd)-aN2wPoR^6d@7%f)6lex@(T40 z;a0Uyr8#%16{?e_gs0`f7SRD~Y-%p0^QKz;QiE8m@v%8VkpHyDbCmcwp zuz?t!b_^gsINh!JTn}k6PXX+Wj{|Ab`!7A-e$(*&@0TqNXRyTGq@ScWHS2lWkpYG7 z^~S0_1zU21>wkKqNgeHnushX$wH5Ti2o)a?Cr&>(?ZAdYHh0!V+L!j|@Y%-ujCCyh z#Zm4+B8~jU@_fTI=3uR=K5{8}4^ouDbp5Z9{v)6VaB2|aL$~1he3D|H zId>$&T)e+W-gLLNk#1I^Vx0nQtHq&iFU*s`F2|DOwWrRvz0}~ujGrkU>olE5=i&Ps zb3B$!SZ-8o>8h|opLUH}1x9a;XGr2M_;OzY==IoLW{5nTr7W^@kJFrre5zGl5rZhX zutYn+KIgb&9{_+IO@)6U_P4DoYfXMtTs66>@B&&Aa+ZWj)uG@--bkkd$e>W=e<(kmZ-y!f%?LiT*Xn05CwiLV zKtn=jG0z{SweGV9{m$3FYIq-V3aX89zRG19|L|JWaL@E`o#`6C)WcI5DOXunj|95-XmLPc zC%&z{YBdU7S)!oQ7uNj5y=$eZT8kUgJpQ0K_At;Ad?8nC-3F4y@b$w*Q$|($^}Y*# z&!~QV?TjfSzBQ0T@6{vP?xuX=+GJT(EwFx~}kRkmVku(_xg z0a)b#W)JN|C zW*hhpLgvT(WH7Ry6RC0ZHNwF^Ly^Bh?q&?is5a(yvWt#oIRM${Naaarv@OD1*dbFi(FZ|4oH3Vp__D}4O{*~Q!MzXRB1c`wLe{@2F z2tmG^0{FeD{5)H%Xkw8^JPf`jg9>XR3%0Qh(J40`ib1OiD*WfEv<;<+Fw7KS z<_0pQ>i~aX4(5HN1%A!1*4AHw0fZpE(i)WJ<-4%ox6~TDE*ze(D;-kFG=ST1i3#sxWc=9TB(3vVpSnZehV#Bg?KS$)8bPMDghhbsGlo^jD_H4J~t)9aWkD3C_N%D`w^Z(>v zSsY55o6y$WsRy{p6EK#ozN-EiOstA(j`oQ(GRSXiU(08#*LllIolB{5zQSeGMK|uW z#1k@AjZ|B{@;2ngbs&XB!mYkS#;pO*CB5S?@FijT%FFEDWb7VMKj^qHH#!CR>$^j` zpWl^inMnrA975k&;9Jp;hv053n@-IWnZ|sNSLKg^^yVz%V~`nSS+5z4Qc@j?EQ*nXE0>MwRoIlHU11Wd->sQJ#vV0N5 z`|eT%KbjyKM~AikS?BcD$ayc~`W#tByJ!Q#4$rv*e_TJlfL##1RVkeac*`9CA^1}k zgy=w@Fg`fPSU<(q=FRhifm-iRP(e2F{cS}59dvx=PU#$qy-+(x=MF#YrZ0ax5ddUb zuOGTfSrVXaLydC(7!1cfdNP%MuYaZ4j;yYBJ6RkRq=JW{z&4R4IDkpwQ(e0Nd?+u0 zJz;H~0xxDEQOdCT4Ae$v5h)H(Gvo0W-$s-3=;H_B^wFy@qj+Ks(}q2};jyEqGAGUe zk#;yt#bqYBsq1IsE%yie%tYTRoUfV>RPE$O5$ukZCT>O7DnAz+>93T#Pxj$tp#bNr zvIeTw$@PJ+D|Z79r88StpDRX-jm|7)e=sfNi)99;UD6tQHjpB|c7$Qk;M%kjBhbi2 z2(heZ{b`{Z5;J_+0T>BbEQL^d?k%y40;%^-IwtJmeG~pp9n2woft2!(-`}L( zk+b9<`=2a*>$!6Wkc^lzXx8Q#>-Q}w0XWxmy+xUBW>El5ZNnbr@5;>C>GK(`t&bzU z>@R~!lsfpFbHBMeX4O4$P@B4@H1{d~f&67(C_3YDNKY50#BD#?o8g(`(>&NJmNC{%h<0+g9N}2Zw03a3LQl@$XW(9` zgz~6`@!3%u5s6S@sPlQ6>6c{0?`oysMVyBET}luASO{hjL;jJ8#-=Xz%?H!mzi@+~ zc3R6@9x)V)m(EGb@}h+X*<1;AwkEZDfUn^1N^`W~=__-_pgFaj(|Y;wJT(|u>ZHO~ zWL1uC3qO2d&5+>qkl@UgAdCw&YUM&iQcBJ%l zZb=&b;#1TZx=eRbQT?%{S3mkkjNaU@)_Lbi2QisaU%%)=L1f8y8%;>vvCo;Pj`g%E zekeCl`slgzX3ykYo((6!wa6l>ZT+?{HEgmF*p9zbmBW)a zK}TXQOtal?S9I_44}h>wqkdA+{G~o%DF(+2-GZgL&fQezxoHMOqeh~kshw+q%G^A) z9I#@1y;~l-UiDGH*50AN$jgnZ?GCf6gg9VZlO5c#1S|Rkr^>4Fexmmvjeg1tO{K^N z9HXZ6dC^x&dIHUQGJ}(a9DO)2uiA8iBD*z820bk(Q^EN4&bNNK-rHrr4t;Hp@2(sl z?}G%#x+x)bLj?o5KRZ^veZs=cbBC^GUijPa_aP9l>QkFi;+CEspIMy$1a>D(9ZwQ9 zvKJAa2f;@|ehpFKlG%aqJr_PFN6eQwo>BmL;s!#_swUBG6FW-H*UKIf z`BHXlS{npPDz1NEC@cGaTTcfGjkGO z2I%2&DC1ukjQ^_B4Ak^dse}b{A8;J4N}!EmIbLlQK$AX&8E^TSZ1VlSCZ_^spOu2# ziqbaauvUUzWtfaT3g{-$U$uh&k$sw=h`3ZC53czYHCu&_y@?LGr`h1t&=2^azl0$$ zbpe03(-b6f;5H+npOZxrIDlYp@wBKM|DJ6bVh8$iV#cml7L4q`7X~{M@6`6!4! z&;=k)L1}~u2l4cC0Ge)Ig32Yt4~{R4wHSv1Fs9qfz~2G)13Zt+W$%G*g)%pb@X}~e z%9iHjm;?C@&Y^AN;+N(-t_8*+`Vwg4#Rpk2zu^=br~dv)rBF-7I=W^ObN-E%1xfJH z?FIMi*9W|v&JVNMhngCT8js(q#y!AKb zgGppy^4$~Ja(u$TxOHL&t`5vT+ja+DFKG!Dx@~8l0_5H!b}(Tc0-c^5oI9K^&cR#G zYXez}-ikhKLvNG$&IFJO9@(UFGRQLg9oCWD!W~KYq*C;3<9;O^U6S8SmMwm8kx?zu z4u$jP6V3M}g8Gz~>`WaHmkd>E8|dXOFU+GYg0QMvS6}-*8dH_$zSOz=tD7 z8s(ocUu~CkuLQSR0jqz0PPk(3z>0N7xRuBB;m=w;S6&i|mv^Y>z~*&ivCikCDng*Q z;SDT`M==4XKI`+$Rq%{-uM-(rq?a93NS8sVzJe$L`@M}gPnM}ve%9H73%$O6ma+S- zAJ<0>9W#EXl7*FM6K|`0FpPJCTm$Uvzk)Mep0qojwRhlYI@(ib>r=}I9WSw+ZxcFC zaJFE?ft8Nca89u%{sXmS4klx}pFCt5wpL>snz$F(6>Z>9B@@R$OD0Guw?n)5c#9R5hsaewzqX;al4mB@VG1TgK$820;8^8> zjpSAc{Ri5}3K^vB+t`;W@-II^A*%~-`JdjtLH#Q54J|xBzdK-3emw-v2k;dKVMcGD zFy0@pIE=^kLZJ)JNnl{b@H2EfqJXc$PwV~TJI((2?k7vK4-XyDJinhiIdF;6YrZAY z+!W3+fD`WvC;#zoE7%mke~SZwECAzBGF4D(FM3W*4DkB8CWndFSd#e$WmvK4;d+JU?`4(4+humsU0yVL1shT=NGZ|wLW9qr5!Xe(_2pt&}`sw?gCrq`W0^v1R572 zqz*9H-vFswIog1;&=mEu-VquE+*wCw`UMsLg>i{VQenAd1yJ*jK$QjtVF8b%bfTA} zS8R+6O&dIMsBw7Fe~R=yK^$qo0Wy(+Mn=3Dp@zR>?^)9ZvYcy*%;wBB|? zHF|G4!^fOgLf{Cy#A%(G!ld7`Ccf AZ#Y9*tklVB%*eUP-E|^)l5E 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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/theme/color.png b/static/images/thumb/theme/color.png new file mode 100644 index 0000000000000000000000000000000000000000..f701d85725eebc38270105fdbac4d4d4675fbedf GIT binary patch literal 12825 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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/theme/default.png b/static/images/thumb/theme/default.png new file mode 100644 index 0000000000000000000000000000000000000000..a21dc5076d75a6985f4a57b863621e5e3594cd48 GIT binary patch literal 32070 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 LQ`qQqe{BCBt1S&r literal 0 HcmV?d00001 diff --git a/static/images/thumb/theme/simple.png b/static/images/thumb/theme/simple.png new file mode 100644 index 0000000000000000000000000000000000000000..73face832f12bc6b331f999f67cc18a7392aea38 GIT binary patch literal 32790 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 KRS-&VBK{9D+lbo$ literal 0 HcmV?d00001 diff --git a/static/images/wall_page/1.jpg b/static/images/wall_page/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e23aaa6deece4dbea7ecea335ca8ff64a9e4d71 GIT binary patch literal 170692 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 z

      GA zEu9-{mg0wdaHwv%etTVt8mb%C5nf~l0qY};O3(Qb@5XI|T%HqcdI{&-cLnYJBFnQB zLdI2iF-3Ub9n_Gp1WXH#&G$!EXbROLa1b#Zc(Pi!cQAo_Slf;90%8!+Xxg*viQ ze!=GV_RQC(t;yBi%0LLYS)#0_cZ&4c&gg}e& z3l}b+e1I1H{Bj6{4*cRf>tV{4xR)$^V27Rt=}bj_%&BJ1oDozB;Ss(K$jBN1!6xAu z7_>oXJIoM;!6k3Ik-(w^0dWF~Fi~py+`KA4R;l=|ET%dQ(lWgmWsID9F!ZJ(nr(G- z#NzJMj3!+?Tu7r}hU+9GZ3-U^T}t!B+z1CMMVt2f0}J@s7$R34Dmk7mQM%kIx!tb- z)TfT1M9C;!mVfgkM9G6YlDRfB5F>t~mVhCo9pD+09uD_}KNGv9J_@}a0=o>5hu~~6 zpS6}2027J<*v-+3vXTmVDOW<(s-CYKsn;dDz()|8Kd+ibaa&D*3B3TI6~6)9zM)?} zMDl<6l-Zfl%6Lt`1ie%)Y3c%=9n7wZF3`7TGDSkdTnSQOFV2aPdHrtmv+c`e zC5PpFL*$+6v})+5o$H1rGYHLMASVq%3$Qo_Yi&&W^Z)T}2dRP+g-y{EXBcoaNT>>4 z;XlDV?*f-oKUaI`=NaQ%Q=$1U_F-0+V9=$|YM|r>^v!#~DGV%I=5-uuPzrSTOF~m= z#)|P$lu_&%Aa_oHv=N8QygWSowT25Dh`y3fZQvdY7Ji5d0W~u;uSfqd1jd+rOiBp< zS91gx88zmKH&p0>xN(=UY*^tWrVzgKtI*`ZqqNI-GIuR)0Am$tNZf)AJ5w0bP(rrA zippV2Nps;T7Q_{AO{y=D>|Wr18RF;C`JLdH0{Fush<_Qlmc(45DarvYGG_HP$s9r> z4z`R1yNC>Tp>oR^6Bl^Ye;N5i4rB`*!Eapq5w;Qs3Joj4Z}XnO3c&kqkSNl`$5{LS z=a(Z1-1`@GuuXrR`#xYVoGwIm-}s&}7)ET%<-q=B=D?=BJ^icH8QMMI-1cQ<=Jrp+ z{QmE~<11nfYG(mjW`g=dMZy_HH8(o7xCJoF^9+&tutlJJ{?<-ZDn%4Q(JP5`fIzt^ zN1XG5{I6qls0oC=JG1(^199QVhSD#yJERyU%m%U#-3Nxm{WCyk324i)&ZWSZdeZLA zg`19TC>wjZP;PB?l#N&r#-JB)mQDJ=i2&ICKxV*ta5%XA2SI#B6}ygZ1G!-=DD0`X zTUZXVbP0dqsF8%wpv_x11HnX~BnWm=E8@Ej3NN(v%Oy;(zvjYg8Jx*`E>jJ)L{`&Z zS;|RM78IsqbIu7jWl);kZAWlPOQGR41#fV~%fKR5^UFzD!w`#do4`a!%>^KFkx~wMITcRyb9N*q}o!Ya#UI6w%QJNLEt;pf6z0?^u{oQOA1bn4LBX2jAf1Kw- z84@({_7Z!-U=sK%*YnN`pzgFe@Vi29{;n_-X@qA2>S4u}+An=d*Oo&meEVq!yMzmG zNJ|X*ydE%tAS3&5)HxnR(wb+)bC_b7qyp(9$ePJeE!sT*8pHu!g*GoK3X|6h%3di! zA5$@57}eAf>WC{M02p}yD^7k#GgBp)$5dr>Ei(jOC2&saaJuK zDk^njL|(n_9}}+6LRjXQ=@XjyO@_!KVg@__pxj-0dR&+wyOAcWsuG$D(p_oX#F3aR zk$DHQ$Adc*3S9}f4cNix00{}m=ZSF40Q5G%L_=#PeU3XYqd}t;y(L9}<#(RvEmmOM z1wizz0YI{NfmrpOAYT%LswRro7lC;S_1_L6Cl#`MAPn$XKZI`=zj3A32H1b(CO#t0 zcRGF{85fz)LH_mQyP>L}Hx$!0ckV9l#QUk|ANe&CtBrb2Z1B<&T5!ls!F%4UU-Gxcv zVVr=g0q#Va@6s%UqF0kRl=Kz>)XDLT#l+ZOr8d$YgTRljp$e>kkOe2PFEC?Hb~{%4 zDDS+8^2x1NKy)mn(@N-V>GS$t;4A57fR+zf68UgVY8RhKpZl_#B(ILW!95;#NHNLI z)LiQ5Rx5wj>*VeT*M10{)tDP9i9>+xhp?=(Y}()O7xO^y=OR(yRW2imAn1bWou2(w zN+n&g6Kwzxe>Q@;8Awrts=aGKEmLK`$_Z)WkFq*1FO z3DXM?7zuyaKw1JGVL;^mOUC2M#q$K(m8I5^Yx;ZAn+t^D=4K*>P9yLLhnd!c0SX!? za_d87#cM@iI3s%cC1zj|vcN3cFcgRb{3YNea!N)HC=o`ioQF-57G$TP%OSwxr?q|_ z_#9A@#Swg{c%Qgmd_C_7stZ-sV7Nky-V-Avy>ch=egTv(CqbBG3rb-7MfQ;R#*(2k z1rDPzX|SvZzb78c%f^z!k9F4H3ODIy@6#xuk%2n5@cLWunj#zLLe6Yn!%1EEsv`J4gE+7sF(6wpFs_T7ZtV!$yz@Z)nP z%r?*f`vG{iibqBBF9NatuDm_*oO%ESL)w+|Ad#H6ajaRVIAJ45j!(>Mfa(}HWfwru z8hr%ZLduYTbu@jv8ODZJDVMy$*DFH=$2^nFH0cRv06gd%HJ}C0FoYSh%wWwgf0b&N z%)t62^J4E=vv5dN2&4#y*Si@{(zF~?TU7AH=ck=H{Kdm- zk@Uqc@dEI?EA`^%Zl9is&vf@Qfla)6rJGKkkX_Q8KB(r;We!-TTya)W%DYW$W|NzQ zXRPdn-?;!N{M)v4ac?ll@L@O%u literal 0 HcmV?d00001 diff --git a/static/images/thumb/music/qqmusic.jpg b/static/images/thumb/music/qqmusic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64f6df765184e33774b61799f875473eed4e432f GIT binary patch literal 46085 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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/music/scplayer.png b/static/images/thumb/music/scplayer.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff7e3f3b130e25df0e6dc00c9848ec80a4120d3 GIT binary patch literal 5755 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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/music/somusic.jpg b/static/images/thumb/music/somusic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94905fb95221f574de8e3768e45a492f0eac090b GIT binary patch literal 29784 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

      nO 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 gjS`OLFkNDB$X*SonFBm4@!_ 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

      1_ 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 LY@(0T#wY*T7hndR literal 0 HcmV?d00001 diff --git a/static/images/wall_page/12.jpg b/static/images/wall_page/12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..39e7ee4792e4072c3db29bdf40b55121b05eec66 GIT binary patch literal 95991 zcmb5VcT`hb^e##B< zqf#{q@lXN^o`AsdP{eX`-hKCv-?;CexAq=;WsNoVUVE%P^3C~ubI#wS-|I~LR_2!G zOw7zoOw5df>Gvv=DHAIT%YP@MU0|F54glc71ppU2I~xZN7Y`3N7dJOApCCUkp8y{> zH$RA9KnN%-EX;FJL=*%R6$A%< z0P6*)IzZ5v4ILm9!!Df+)F`YWa9lQV92J()42(5RS=cy0IALxUbsd6Wco8#MIW6ZP zms<~u#~4q9F#qob|Ic!aePUr^YziAYV^Twa@g6M97ydgK%L4w}#s8KQgsK|@grw0L zK+S*{w#zlbCdo1gN5W{~ZweC+E8`XcRsp7~OuqtsCt&@8aUS!5Cj6;f$>aWxoZ(lT z$~?VF`gt6E6YR=ZtMO{vu3Z^D_XOk~; z7I6MzQm&W0)Sp&ak-`G8l9vI1tNzPzezA+xE|EV_CkozI2}u@ae=V1Cw-DNyVZ?DR z1-nNsQ6=UtJ$&?`lP7@J;mr}#ylb3Ub~anJpw;>&>@Gwxk+PSCjfo6MlGew6lpEDKm>W`+o9?gh_l| zr4{=4x=TL>Q~Fxzas2Zko;fskOU+Xe>dew_ruDh~P%T;l0W)_vleDekM@sen^{_BW zEcP#(`ca{l^MX+vjqbCg96dBL#F2H$BhI4zH3pN8b6J-HV%$ic#=k`?E`arF*g6A$G!bBId4*xGW z;ne^aw~uACE}qwL@vv#%D{>*03Y^yHVVM}~X{?NANTy%t$z{vCV2Zb*;@~=Clw?)E zuRTaRD?RkfJ_nI zv8D^{no6@h9a))oRu@nnYn68OabsSLaP~Aat`EU-)wT72rM=EBcE@|R zbS>g(!okM{!p15by;9#%S^=oIa*CfGf2Elptj;s{VqH@)Ud6;$K;bbInReud#qx0d zTP z%bZ-bMwxB7&FU}30S<3vz}`I6$u@g@Ele}COW)zsD(U@7$3qc^NKM=^%Hx-MoJbP& zWp?k+*IV~X7E15Ee&cvUQ#FFrwe^#HS&4|eLE)MF`R8M;!1_^JJ=Gbm@~D6oDO)ea z?o2#r1qgI>&W3X2l_jf^4HI%%5M130XVc92Bs~ zbqa{~B$xWlS7-oFtoQxW?XKn)A{z(%E_A#lCv7DbBGa@2(C`XMI4^K7p0`zAFYs^Q z0^z9{XUR}!E3!0}l`>tuR?q}5c42n*N>EJ~a<#7M7QSNEBIEmK5xM5!Z3t2zGTo1mMKZPoC=>L#)9LZQ$Q&TCsYz6!g- z%bmGRVG_w&psDKVD~qo7C$U+yh6~Qkrfh#%p{X;UnOQoEB z_`;4J!siizA7Hca0qN``xd_|j_B6{#UF!h*LhQ&2ziPj2r2Ht#bzD4-wMT%ZRMyEE z;_Twy#4;F>`hFY1Dngm9dDX;sSHwh+@#VNOoxIA7ug&|eyYQedyK-Tzq2LB%n^Y(V z14T3cuP$#PEKXRkX=gVhw9b>1D%vEND4?88QWuC7R_rRJ=jBycA{%~Ye)wb@r%TB0IXz*szvV-B4l0(ELK^2 zz``I-<@5(tgCL_Kh#5sD+pDwb>G-s>Ri;sqq(z}sHc6&eDu}lpBrI6)aZqKsH@HB7 z?_o&U>y8w1j4y3x(DBE#jxt>VimA$(;?Rp=4Gsq?1+jpX}p1w0CaTU$S#^Sk?1mOTup4k@$EsmM$H-`O8*JxW=dV z@t?EWwB3C4dB;8`vGU)Tw)@RluTIrJZ}uFXJ%Gl-TdiL)uxuBZAL|Ge6$(f!=zdvp z#x(F<@@JW3oK`(m)oA#me@NK+&c+Y-o5O{6IEXc=KS)2bS*R$fGh= z)e04ilU$MxSI-VA@xthZ^z;h_;Ho#X7{*Fhp+ZGodM9;JF+nMnuQ+s1p^xLKN!nZx z&r80Vn_ig@%H9^DW|I7h%BC}1Rxhuntat#-S`~VgQjyDLTSd+Sw&Aw2bI%Pq@Dyv3 zPRr$Ome=I)s|V7QuD?Usii3MBT5F2DrpWE1Vg9l!b5yaqrxQyset!-LP^R9+0IX1) zxc|IKvmB~!N2cQPedhP$0WnF;*c`8Yt1}2{U$v*WC)axWH1>1j?k>w@Hd_B!<<|=Z&}UIHcqa1W>;SZo0o&{?tDLLyrcpZc9xKSKU3UY!av&GqOAOj zqmNJD;g<8Uj0;&lm54Fv7_n$**LXk9wgB9(kiK&tu-19YMP?UN7?YcmgT2rLjEJ@h zP%dQQ@T8W^<=nYsvM1OeXtu|x$l+N+vQCk1joAoYz($&NM4y`{_c%W1#tm6pbf-Y< zD9Vbky#X#g!qx@+Jo-%9RX??bOT7z@7`Mu*roij6%vu=#Rh1Rg@Pk3?93jza+!msj z(>!|}%!~H|mP2Ly{Et|Qx|U7Q)y+Jhbhzx}u$icUZipjlL8x;u{B9Of@ca&+T6JBe z@w_JotyeHPxcy=Kca?F{tKUqI^$bm058Q5y1brY-`sGIqDF;q>){(MvCGbn{wR>ks zY4d+J^Cmv2O7QEp*^i5i?)iJrsp!?8PyQ;8{$LnNw~v@vOFnX*-0hBC-p;xFYM5QG zce|{%W=;L63x4P5OWEKPsh9JwZq#eJL%!cG<6bQ$?IIi&v9vseXN5B|UuPDoKw`AE zN5gG%;=>|;YVK;R7dxfa`ho?Qtll*RkMa;=X7YsWKSsy?oAhWQv^eyl_|MH_wWE7i z<$plb{yrSihzFT2hW>;;lX&UqA>DVTQ_;?LPct-r8+>x@s-gJ7FZAFgZ_R%_EKnj_ zS-^ee7vEB`8Wea%N#Y<_*fRvIFcCuYbWf~lG!<*Z@cG6%p`1997g%kQ1q%@m@RpvO z_@YiME6FMIUj1=0H=gRkPO)2r8njgn^6udgt$}>Ac$x7%IjoR>0^U&KuCdP7sg$^S zpc%;xc7*flq=C1xIwzq-@~y(#1R)X-9xUwwa783{;>n?UWe@QbmJ?olTrQrj7(6sl z_iAphr$1C)I^;46!De=%&1$#sHd}hw3@ksqoIvm#ou63XH};52u|+-52u_* z3wq*nP-xx47qmlSu{hWOCU?*C48M1kc!hCs$s+kyEw`-YHVPKi^y;t8q`i;y6>; z2@0V;p~4h8k5KDRke1moWUgC#wyBJ$Zg6mQa^})v__%era!KjQQkkc}%sS7NQbQjD zfKU!I2J>T}`v2+vVDVg|qh`>qU%%--|6_4@-483+;BJ)_Zbna5P6r&W!@&N}O~d@l zvA#*xUgWU+m9iB!6H4Kax`eLEzcP`@f^{E;HYR|z6B*893|rVNyt>ty0zkn6pj)s3 z)F7vVVqf$_{2q%{p`}M6wC)0TcU>EzE#Awu)}~APH`A?XM^|@C58$13XwUoC8L-C4 zrXFx`fq-JbF}|pA#Mq_h{d=>vY?2CvOTIOz4xD?&iE^;0A5=DfWHGex4QEBZ_YBsQ z0odo~${TH>J9(uN!6tOLg6{-=*}Mqg=qi|2PVsa$%H{D}fF7U>mTh#Vz z35D))hNpzob3?55P~VG&M16WTe_8+JfNAMYj+}St?`&1)p`m(bJbTY^z5U0KcxZ ztAvzbXA!6Lc@k?KK>GX+uUSKrVL_h+Nd+-!XcS2*_E zAxmPt1YJz=HeHOlhIQ(@@ao}@bc5MF7FL4r>ValAPAkZ^l;Xr^eGivpRLLdBlT}=1 zDvdurIdCGE*z&#qA$W|>wwkGKInog5^;>EHJB#|@aeSqvUQ#rPh3h)4ePQTsFVo9l zoLq2OTzL?YtY=Qti0d7tRHiZ3kHW}dE`~;mkb}^Etj-}-!x#2!$3hw=DA$#HWsWaq{#fh#x@5UCWm07A9PoU_SJYP%hp5Ytuau%LnAa zyr4|>5P9ABa4L$&UJou`@qa%SX3mbab%=y<2U-bMbk2rOEcEit2c;iBpb=j+s`Pca z?2BBVKroPFHgs&StD*s(f^Hvyz)zT0&5Ve!4OW;1#+BQ3G~iX)igd~zRirbW!k@~( z5@_*0GacgB3|8!1W#(95g8vVXJ>Qg)`31kRbCSzh>K4h2hoHo=;6I>OtztDQ1?^A7s4K%uppj>zXa);}&Chp`tO5 zXIgzomb>Leu6nwJU}<8xKy`#5sXLn!Itx~g2AkChQVL0Md=W2nOZwc2T2-G~nj>so zL{Xd$MIsbxnX{bZrJdca9kbUymf%+}CKozCv<`G|>D=O#0dELXz@NX#Bs&)~xKhCT zi82$qysT$#*SU#RFT-K6bU^1Gc=~Q1j@)u?fns^;O^sChsNE^(q&q526=Y=>bl8Ir z;(|kL1w*4YFo`U3K$9*Pdv~+ky5XeVq}j30)!0EV2x&HEPg+RF@Iw#%?H$YAE4q2D zM-xqr5mjyjwNZ9o@*B+2Q+e`+-mbry{%kcgJntdiAhQ}4>kB+T9S$C8+O5x*-SzzZ zkH@gnGT~oNb32Drd`m^EFgf(YC*Q;MLGd8m(I9j@Hg5idh=rI@mm&bovKKs&SY55u z+?v{f!+3*!aL-6`dWoo-8caP6UGn|Yj21z7tO2)d9PA@h?!I&U``0DCzigvly*0dx zT^@_SF;V}Wk~QnNHxBrCD2kw?q<{w3l#CdwJqDfsl*H*?Z}s9#^eZ-s_RIB@AdP6&GzgcR5UnB zW91!~OD#O1Qn&2pSeVj!Z15qV(lWvzl_>RtjjI_{ONiO(n&G=ix~K6( zo`+g8o#qIG=0=UmH18+Z3VWqdL?ViNr_+vSiYmm&uYfeOd3x7{d8y7>Y|5sX!t8t_ z(2jDkcZOoDJasR7uLcK;D`cuoVs*eT;>WB1DlQm=pe8)|)GwI?#}z(=h?a`x=0ubS zK0if4R6BzLHM$fwKszrveN5%R46(K@=NiJB5i zo@_6<@zpw}I=WLl4l-jWv0AEBlEFI~-NE|z{Z2kTf)aUKA%4N@bQNcXCWr4*JY z^sz0MS|6wYp>^nMwCBG#(s#g}H`>j;<;7s+Ql5k&*IpLu?&obK2G!kd8jeh*u%QW^ zZU|tIDY=!+(tSoM1SC6~z<))`vkuyeujrbFsmb(Rz!+IN$T!yWrve>Pp#mHx0{o0_ zC);Wc*GRO>8!zvyE4&@VsURgU3;wxT4uugHnMz&P59|XM3DqvjV>#h1>p}4x3JSe7 zS>YVM9L_3_1-n-Ap$e!-FbV~7H(Qsb~R((pH6J0Ul39EodOX0B+84T4{oz90(DwUjsT`SJ z74^;{QC5gAi?Z_E-Z1NzQn*ZeN!dmn{Vr#BPKa!FR)m+*yk}hsPA&w!6(JIUu5Rk? zJLT(>;Vri(1vyx8z+VTl6f2|HDJf_RUD;pEw(+FGTtXJ8ws$nyl-z%>2HrdFfZ0L% zMNyyd?O7K!vjtw7!#hyS_H49)-`oIN;Wu&2BVgN-6{Z#S#cUG_$p@045*B^=%0_Wa zrC-1clj~noD))j4rf=JH-iEhjonbI5YI7$WN>Qh^7y5;Z*KJ-9zh4b{{z+TH)EcvWQh+_`scMK|~!uP;jSNc*GYC&cGv`xl?bn~MkJ z@5l)s@hQ%5di}asNV?D86_k?q0`*YlH`56r<^J@`dtSzECH3N`hco*$_%Yi*n39V< zC2izxPjRdFoPiZybA$bJrw4cQYFj;I4l%3X&!5-VKIqoI(az^tdiZnKY*S_p=R2ic zw7;(_9y_zutWdU7a>m;j3{)j?EGo--Ij8X>TrQYMF@$2KWc&p?i)1MmvxJl!PEMPW z(HhENSS&h776-yrPp=4Bunn% z%5KSNRwRT*xmk5{iAu(xu}X@=iE1ASoJHl53k^8dI1ekBt|SRs0)T=RrHQ=lX)U-; z8VgOBuAvxEcLA3)UISr+hvuShO}Kh+ssR$Zm$ag7%xvYH$}GI%hHP%Dk~9a#)7YX{PPOueUbR)+*H2<8fp5#B01 zC?ZP_bU8i|@+a=AH!?1%3mZ}E&;Q!U0q+e%x%xDtjjs^fytp)dbRgLZ2-Tim6I*M_6sWe3xFD zy4O9%2~>|D7%!SBqq?B1b=fl9&Sj%0G{avc)F87wu%J?aFh(M!1=5p z)qB+iR^-sDtRcNAkEW|j;#3Ja)~2fmf_XH-`q8kbtav&POdwn0l)KM=XHW&MB|+p; zuU@`ZQ0;JD?sXt&0~5grdAncpKN6W93Y?C2}2ext@mfvNh?Gn}I*M}2?4yoDvM+td5=*XsYZFuDJ zjf;iYNLY3~cecOIzE+DuL51L;hqw>VPp$@L)$XdAo{;B@e4`Y*`6o%+u3NUP-MJ1v z!?6yCN@kWiE91p*8LmQkR?E%>xPn5=6bWT}OHdV0z@0p2}u@pRI$=iVS$E1G< zK=I-!^}Z852Vhh^L&-_#21rH^#(|5f6MQmIltF7WkIKh!N(WIOf5g%t9p#p?9DYwE z7_q2OYh@Wk9bAI7%;w8wxpSqc5k-%E9&)vkfh#=tx>s2>BzPqoer}JU zE*{Ob1T3l~Q}lRCRyxlk$|;EC^&ZIwn@u_s4$fji0pD*uj4)%;=zsbu9p|84aSqW z9OOdp2vh79zJNR@hb$>o3(p8$_mFRVQt3Y}qe*wJ^sDcy_9gM&4X~rEZp~DpMPp{3 zDO+yG=?$f9yr48S47x!?UwpY?2(x-qard6BM&exl@;jCNa%!aJ?R;IkK<_)lY+2?* zMja`Y$UX>OrXA-%U8DtWa|uoqy?Bc}mQJxwo|V}9l8-7ca~xohWIPR!TOtv7lm9#>5v=I@QFADq?v25et;hf|0aFq=Rs~z+=!}ucUS-oHQwP(K zS0fg%ym5MG2^`ifkZt#p-IoR33-oWpa)vmw{LeNYPAW>)gjz?1;&*k)+LML=9vw)$MS z(1V=9)rXN5`*Jco{k9zw>DbICUf2KZ6wpt&Y>=z*Lt_qd&Q$`|vV-8Bgfz506{AK4 zgdz+>*m?T}+e(^Iz@m#?GjK1i zaJFWiYA|1M@Dje?6kH7xaJ2%r&nBc=fyO~JI%B8R6=;EKScX#x(_U9NgC#yRxwPoW zHDuk&mvYMDJl4vk-XIcj#-kcHR%|iA$@utmFz6$T`Yo`1;Hek@b6lKYF}J~t*A z{5i*OeUZBKZBM8x{gKdc_*c+hMkQdoj&E8&HJ&Kz$_3k#zfKgG2q+!xB2QyO?a1!|+pqP0R`aQV^acf8I7H@V9fOM>aI%P?+! zv)Jbj*6Zx7ZrfE?Z(XSAk1L5N9ZQ=<<~pVS>9*AEa-+0pw+a*dQ#Rzgm-Nun_4(O% z-*&{VVQdKd7Y?&)_evWXylSR?)SXY-`&#&0y~qoM3UMTx`z+l zm~^*L1rqCa;|tQg(mQ3ti#y;P7fltzkn{IQEuhU}WzD#IvoQp+x4P_+CCYV56TKXv zvzZ@yay{{AO8690W-AtpnK*wVN6)#^bMxuK4}t*lYuvLLbMF`X-&XPj0ey*mC(6&a zoVI$uzj)QtlI08_egJ}hNyx^*mg2Aw9pH(4jy`>YpPjRc7>wkw`E-%-=;3y|} zSG~Cc@#{BB6c92>9z|b9 zV^vHfja?b6sI9vymy40{0tA{Xx7K-j6)FZeflX8t)(9~!f+{RFU1q3}n6yYPH;fxA z)~8w2t?0|FSLd=%tb}k(b^v@u1nB;q+nE*~h;td*vh-t~koABHb!E4YSy7Tkn;MRl z7y-!eaEwJyj>`Lo6fYMbLyhNC!(3+Csl4D|g%l4g2-O~WO#=F)*Mw-XJ>59wt?m{` z6Cq=quRe&GA|8qO=jj^5Bh#B)*sAr@>ZU|PA-Op$4oV9Virp~g76@Cl7;Er7gR$=z zXC)YOcUv0oB;1iVuyG`m70VHGs=BMaz95Re_l)@|YxtUF2Ouu-{$;lSAV*~|eHdT` z%#FJAYu#F6NI)q3Rm$hwN?6u>KZaz>(-u2s%V$;SWAT5IsTb<f?ENSqTcSj$u#sYp<9 z5DG59Z*XjAAwq-dCNR(67QU>+R3zuYzgJwK@nxaBOF1=k)LNa{4RlY|) z53xwTcSSVbGrr#S?o#${q%fFMs=@|tGEd>+n=k4-cMLdYH|r*vq`PDYzu-k7^i$`g z%t40y4Hl*`1cuNJSj4*eUdw}2bdJZUS-yxAj|&^q+`g5hA7|iCQW8BjZwlNur>ju| z-Wj-x1wLo~etmb7>NI6zkgN&Ctfn(UF}1xoI(x{;i(?OavBq6h89LRVnYwxVjnGVO z$zsIlNqD~USHGJ(SJafU8rrq&-XbNfX?Y&jO6N6k_)_ux+J-s3mtLn=K8gM`pIcINuIYrJl%e#*VN#(H#eWoj5vMYi2-5IXYG%`RQO>8jc& zI+65+%(T(p>;9GGH2F1UFt5y}cS=7Y`CA)V$BTWpl!{FH6xB%ZsjPJxm-`422{P|MME=tZ|Nc~py#)l^vm56`l24eT`OYx`c_ucFM{w)>C z1Tl$g$TZ=!zizU9{$~x}|COzg@7gb~V3{D$5g4!cTo+VYsK_N>01!rV>6etJELM+r zgcYfn)YQQ|y;2>Ox=dDHt5|Vfl#=#JE!B__r203dDE6JEmYwH9Lt!ECsXzv|%9S2y zid2tu156dp<~pF$6r?}Sziy61C^w5PawKV zUP1-nsDbC8TB0TLRMIHRb3G^kHIc~Ea-g5q&8fB=hib~r@f0mfQ9tFq7E_qkxvagO zO43W(7#GDNHPmam9nV?Nrx4M^3pK>=yy@y(YBhyvIp|A9@@85Bg&8B$v^xFN?t0#b z?mMAV0q~26rh2AY=2lT_$&i_@zg)lqxN6fAOfBgFae2PCNq8at_+ zUYbT5X8FveJ$Gp=IPc6W5x5Pq`m~jHs`(b8Szjy>opYvsA{Q)%I{lz6Ymh^hdRuZR z)ApuVVu*)q{v?de!bfa7w>N5zmnfj)xc(;a%>Bt7VVzZ^z2r#q_`ixTHo~;RFW|9^ z@S|xmBJKwGfETQn(7Gj(_mWEw+L~k>vzENiL>!b3#|5i@96WH!sE`gXpW6B%w{qCD|c<(D*BVDsc=-ma|l*jUEs1*UEr>kEW*ATabF1Hid*Ob0i zR0|f%iTV-+l0264Ty zTC1~L0djC@<}OzsNedz=?lNzF`7&>I4%?*ibMEV~ZgtZDej0B6hkKvuBlw)u<|KVB zMR>Z&bbSe@@J5H$5Z)C!A#6@nsC5pS08@AT507ree@<80y*YJoV@BdsH+GUTpgAWp z8tESIrV;4A)@dyfkGN;>Glib?9(OLk|3@&r>)zFyPH7_FB0PCU^vIVG^QscAlke&+ z8uNY#b!FV-bBEK4JJ{Kk^csHVTeqd;J@pkEDbv1gn3&iby-l2?`L1u}R@7(jtGMsF zh@a=Js?TK6sKX5*@fB`fAOiAv>YfMn&%^98!#L#2`%G5Arz6Dtn>;ncEZbZMkwvG% zN^z$O#J0x~c@E+10Q0H*B*4o%>(4inj<4mND(?J%fVfUncYbhEl8#kteR&3cI^WVU ztgE5!mn7K@j3)8fHy_9?l{BB2qr6Gf=$GI>;Vlfg>O8j?AhxQM_S#=qL=YA(HRjXujA-eiy;Z0>o5al})5`^~>*b8r zS9$M^7F3EC4twzT*~1a^$9$-=U`j#;FgYI@t*&hG{4=Wl%-W%PgWYX|m#fgHm%=CC z6W+tt7XT;C_gKjjaPorcao{`}%Vs-(JHX(Z(=1x^VM zow9$hEOBrJYsCz|EAefP&f)2X4OQ;e+hrqs9a$7CAT+M4jQ%Zl?_tQ`4Z2)F>#oo) zyKy8r!H_F@n5{2IvW}N0sLUXZxQd*Uh`vCGI8w<7*LWxl_tJhR`s7hFXCOK8${Ey8 zHk^38zWYw%@eytBdN`gQR$6>%Ov4mYTX|_R{L!&yFk&UUvRs%h9e=#O6O{INo6m-9 zF_hq60(Y+Ud%dc|8GoEm;<6eX{jnz2ezbk8KmspTN^4nt;JNnDI`8l3U=~PtJ90Ga zroBHO=x3(V&+_#~PzF&q;UQcvfo=vR8MGy2%=nZf2MVBcRw3}>u0k0TZ)_<^YjVy) z*CatqkBz^Ax7?!S;U2lrxLbmy_5~s^V|(3KCu%@zGb82C>np*xBH`e}(bC4TRc*{@ z?{u$!hXRkzb8kpMdO2WYyuS|wY0oB1xU?O-CY^3xe;I!@^Fuzt>lcc&**F-PWD#Lq zDD-+^zC@YeIB_Ivt^Pdd&|qSYH(odDqI6@j8{iN9A#d{LsgP2HLEe+jjsVT^0k-t5 zPgW|Y1dXYK+ea9;^JcN_>^l|)L;8(3%atNYeO%Xn5O>TD=@WYrT~>P07pb?FOzJ@@ zIbL!hw}WD8E>iu%%wl@Mc5~98YVHT`pY`im){%WWs8wxISfH2xo^4sR=R;q%rsAIS z-%J{D4YTy5iF?{~-DmF(VQR;WoVeV0w)HGhEch!p*=f9|NJc?h{|M2{j9A5I+f8SL> z$~K&n4a#8+N)gN+PIXCUEgsS8j0opm7Y?d{a=>f;M;5z5tlbz?u=marGp{s@l0r7r z`%xfKwO|ZgR%}y0%bUwp8eC^l?mBlX+X6NyFHM_%EetB#o)BSZ#?DZ#@tiwKY0j51K<*r+@PGhimItH}_&CG) zs>w1I)e{qCtHoSq-hyMe5_uf>)Tn_|o$JmR;^}xKcMcLF8flmbklY0NtDD9YJUA#J zj{RU4zlG$l$(A5&SUFVFn6rg5L>(r`p^(%X;tDsPP9IcWh56VMOmKhKP;^NsC@x}* z*EEtH9`3gUHtH_TJ5k1T{Gyp*EL7_}pcdalo>{%rv|qG%X7_WPlJoJwEaV&lf++5= z_aG+^t9=dcB7Z_-CkBNqMwR?nKIi>_djY{ONcBagbZA5rawX83#>nCI?y@fp3Fn_x0 zPo$e_>O_rbq*K9q%q1b2Z`WDVJn(41>y)?aZowC0jC5AL3z62&qkF$tw}Hp4{yMrF zjD%NaJEUXUdEQ<_ii6+flBXXMLHH%`hW!j9%oKubL-$6E0uniwXuVORnZ1DxOW!(m zbqG*hZ~1s#&qT{b{F$)lOZT!>NOXYf!|?`NKk# z)8&ceO_I~dEnk+WRgZtUM%hIzoU+6#eKEL7Y{u?HE|ktZWwy7s?XA!)9wlB;^Y*2( z8THJ}t;XRt_e2g*L zLy`vt>=e@9N;#SwXX;r+cOJtuApQ=j1Riu(oCgAOG0^w*o*%0rBO#O#jv1mTqj+*c zdblr!-T~DF$9)}_aOQPKRI*1=ags5!oImH>Px!K_*CJxQh0i3vRVLAD8ocNKVWDPC zLg0uTDt zTo2x}UZS_NmWjr^Fx4Na(=rDO%wVI7N8d=5e|{I~pLd>65j|z4F&CL$x*~D4uFK?Y zWO?Pa8z{chswA;K)v~|msw%m>V^w$Pw{Po)zRDT4txKQFcP4%&&V6(1w7xjnu~Yi( z<01&dyCxQ#zb@IZmL3rwE=ucn&=Y#~`TLWE7Zc(qxgIND)b>|iKql+n-jLOMo^i=D zFUiKQY&0E`^*p{WroG@wSKz{?({gY+JmK9;1x>wjZpnAw?{!A5IdZ;j*dC;tH}12RzI%Uocsey#JGyXVM!P(t zd+Bx+sMSvbsZ@0asr&nSWC_wRIK%bZK<4$Svm3e13P<;@T`Mv$y_Sv6Z4{d@czIR& z)|1~%N!uF7Nv#j*U*6e#6)MkQ@T%c|&DZLHxAtvzd=2_P(j~2bGdZKuPi=OS-j+WI z&ggs=WqBfg7U1v^s+pk&=^8H-nmUkmSDuo)D#LRIrB+!D*5~5Z7=N`&_R7w#0Oa6p3eU1wiE6|AscG-rhIsYQ3v5n z1m%sH@N=Xx5-yGH3-Mdc+4evaey9IgL}ZYU4TA27n<*=zE)b=Z6*(1Tti^i-I~Tjk zrhBGI=Tb$S3JOqVa)`@BBtz_zUgXP^@$@Q!!z8k0V1i_J;SkYlgKxr-YG;Xqd$bs-Vsm%0O(V7oqiGGM?gov0y{UgF7F*g1{ed8;V#?(wlCnu)SjO`jPk$Du^ ztEKP7au}YeUgq%E&j-=e#dWtEG7??0kWTNb&9%M709u1l+gAxi`H}gJ|FY7JGI-}4 zAm8Y!ji&a{t^`GDwnYB-fO}U{$XVK**u!6##>R>3`uxpR5h{xJV}Ha@a@un}!>_VC zStlcVh3d!e-)yZPy=|TobE6-U!BW?>n$40E0m!g9jtaWk7gwaRw^$kX=V1d8uzsqo zghVw&jiK(Mx=wHYN*m(#y!BE-l3W$-M&FAUvg|{;t0sG>p;w-={os09^_74K*|N4j zOWPW^tn%=$5sRkVUd}G&HRO3rIEsr6piWh?OD|m$F*Mkj(f6*(A!=W@Au^JVV`DL- zcRFr_rMbM9VzHZ4pU3HF5%>>qBil=^qK|X|vH>GOQp^vq!t`q5xSXUeJJ;TXMOH2M zK#bu$IVRDjapeQ0lHJ0Nyw~o$L zfL--)EuGVn`x?Jwa~vG4N?*|aFl=m@56bEOp7ZG0k1o9f3w3#K)0S#Wvm%SAyI8qvn2f0mxe8r!w9=z? z@gI+do)GoGh_20;f9N-scd3%>)`kYOK0Th7yKfzOMk6^@cohYUH|k!chV@h=Rpx&Q zy=f}wdui`idRU&$o9&HSiS65&;*h%9LFv~eE$!!*+*<$m5=#uJKD;*R(OQ0>^Q-Fb zvzXieD)qyPuJ~^leolOq7wK~c_%|fBi1yL9(kXk;N$#J|GsR9yf7p0v2HhjB zx4&pEme>yY^zSRZnZ=%h*88@uSJ6;33s+U5zyjms6s^{a2c z6TV-0>#|CVV`Q;4_3cOU)VtEVBb)7qw&-VVIzSx`V`}X-A828-cnT%cPp?9U`r}VMltizc%GrX_u z5K%KZZ;F7JIZ#{d&7*5K4J~|rGqEPw+zOt7yvlhTxRB>}vEutz_N6bO*a$fJlTY91 z-ft!W#Lr<U-9f^GJje-c}H9s?<(k3{Gh0& z+ovtdOAac70KESun74(eO&_#crC7~!HFb#uTEOvmB2Vm|^h4{2EMSukU3btePj8S{ zDp1R0ZDhXZGDNhREIpV+lWynX$}t?r7pOlVy$qV78*T}H|nYIs0r%p_7x(zvT8Cp_jV0x9~74So^Ns3l^s468hfw98h2Q4B$7RH^^I)bu zX9dcWocAwlW}?!$$}JL=ZL=Unlnl}`;O-U*+A#;qH# z$|5VtV%uqhq+NUNwb5s?vc;P2LvD&lx$EAG~Wfc>kLKD6`X9%nRMbdcyv;DY#T=y`#?AaEv_a^wZ zirTfQRbtfMn`ld^m6Vj&soGnptrR7V)Qr7}AhBcbe}4DB%jI&PT*l>+JkRrbzn}MK zRgXbwso=ia39jLHIw;?8s=>{m+k!IaNCv}L0%A~~X28xcKz$9nU*d0{-}^o-iTtoT zCE4mHY?k?IC>{UB20MY>PZR$rnJ~cd6d1bY;#D?bfwCV87~s`cO3$nLl3PvUMj{AN zNOH{+w4le)P2V*;x@U*njb1Ewz_OM7%rZlaXs}h#P+s0qpqH70Z0r8%lLa;Q<>)lK z@qknd7BB_Bmxr}{8;ZL3aZOdMKz9g!RqNER?8D;cx=w9Jphv~ldx*jh2We*w2<476 zvy+yKB(BTz<8J4%z)=04pLnfXY+CN%&tKeHuG+|U7#%At(xM1{iz~{Ae6O$;{ zvADzUwat|dYpQfF`2~6w=0$v06I7ZleR?1!JSkrIL0?a&8S)P%GCRS%dNjLrB6y-3 zPBUQFa>qm1QnyjuzQ=#>ofy7rhgv02F4+4^DjDqGLkJ6XOsjiGzxnQbML}S;mchq+ z&nV_knEb7yR2_X@AQZV~=k+mI=0{~`v~mdGk3Q7f8)b`wcI45sxK7mQls3I@v~|z$ zc20Jl*a%9YhA2nsGD_exav|`KNj>7S^>XZmMDtT?L9?9^ha^vB-dbQ0JA(jaw6d>U zy!snrvqw4$MtK0o8VCc%n66Jj@@H6rs!2%ID+&`kjGR5p7X}M!z|dXNLmtQ&!+Bx} zGmC^BTxJ`_WA5yD=1w0~vJo}w`nJ0lAPmvgXVj|rZ!+&B3T-c#_4TvBuitGiJYWGV zs&7)R1s)wKdM@Ua0hA5wy63r}06Ep3Lw8QJl*ZZQ+&;T!9&z)=5yErV$Zd_(xMwRv z8W`!{5-d6nM=@8-1Nsz7xcFtyN)IbgOP?a+Yl%TxB}ILEwZ>C~Nh8Pf(J^NeGro!n z-;I8H7?*bupVZv~cZ|KiB>RuSbsk0L%+%N21MTOM@H-$HOR+BVaRFiAmI02Pvg)); z39g^1SCHThbnnK8)^B&~|OHxQ}xN1a^H(7itHs+(wXl~I>2 z-LgVPEXMB5)mCi{@HI3MLiixE(`+8OV`7Ux3l1E*MGnOGbIOvfbRTf5>XEv6P_X3O z_q>+;_0CffJe1q3v*H0&G*4JKd+Rj-6?B<0 zV(kuKEomD+5m!5QMVBh7&^n$WeA_rX)}74fQJk173N5eYX}qGkuw_VA+Hw}Fg%0b9 z&UR?+*y;AmD+sJ(;N-;`^WapJ(WlUJ3vU2Vg&wY!$1@_4G0qooltW)ZQ z<7JNCDa*_S)re15lhPVGkmpD#W#78cpG~s!40`PVjM&(__!n+MmA2LgXUi5$tLpxO ziSG=A&yRh`oWzj~g5}?S;q^GNrUB>iYk_Ed)Mf&@(*vyXZvSwe^>H4t-*N=D zW^HT}8X({~i*ZJ4aOV7gTfI^!hH(%bo*(ePB z_9?Dj@&i|S+ug={&z5hxeprfo!F4G3HD2qlw+WhY>VG2Uiva!;YSmuXiR^EYaSQKN z3oNMP3T(bVjQ5Bs9#-kxv}zDwxy%1waf@HfOWyZ%&mJK^alM(yM}1Arw~Ov!Nny-I zs{ExSSG${^*cc}?3`8gFpCP>yg>S!9zLiXNk-0^qn7qHN_4Jr9f|wZZFrHH-1gema zQzwX!MS_VxLI3s8qSVMB3}kz4Q0y~x0%bxV8)G8fpxO=4bsWdX!OxKLN95}ETNVfI z;!N3vQO5yjovkS1fdw?^I@;-b?Ze|_v>x&3%JFTn*x1|G*ulSo@>15~4TPju(C z9+s`>LE79#7Y-^PRAV;-3HYIZvEeHYf55q9~ z_qRP0b05AeuDb9o&Bsfrvm8@8UPaOMT+`=%knQwEbza% z?w;P^cH@)w2(I}SZi|f0>TAf#{eD?rMh^dS-A!|DlfL~(a{V{E=sI;y#l^LjDG!%^ z$0cC*kMG&et+na!H9evdXp(5j?b5H}k(O;2pYBy;(CMOwdsoGAbLyIjlkL^(;Cs$E{`a4aWCJ6hSM~k#pSJ)uKpgXMhiPb_pZLr?YDsw zRy%V`_^6#IA5`N(UWZLUKsLT;QeCA6!rd$P|)9T5azZ`yE<$Bo9u*>?^*&7Dcq=h@50i%_a^ym`OEkJP z5_6MUzh;m77PeN^E-YgVr`_9?G^2SBlq(W7@r>?Awf%ekt*xmifyd3dN^&i1G{3OB zb|V$K*-g$;`lk~%HJ(A2kfFW}YX%-uY%qrr;S>T*Zh!v=Upy>x>2S7lVX}^A%wb>} zrw&c`kl>RO%i+Hu9zI02+X;rZX0R&${eC(AyLr6!NUL~uP+ZNtDF5$Nw7-7JxLfL> z|9*)2?KAj_DJ*l(O!O(*md-FlAO zEa!@_ppl=!exyy^Fs;cvd`5ye7M}&k_{O4p&fyR=3{8LTGdwVg{EER zVW$(86P0y|QYl>`EJ3J?7rDuip6gH$m=v~|iN*W|%srHY9UBDB1pqEePqOi?c z=(Z;K{=vYT9=QX?D~icxwJPFD8$sk$hn0;-#@G>PHhuYvA5WAG3G=W#31|y}xpTY! zs#jLKWL+6s|HYjbG9!V?WW(ut7s*yKwdaDF_Bm7uPQ_;I4f=6327MX)I;JO}j+KiS z$0-QloG>ER8F{%qlF?LmiOAgy5&m?+!iO1IT{%~Wu7^w>Sb_(1ps}O_D~n=+yon6V zG=~u$bwv?kV;>~kbR4~mr@qZTG8^ue1O7`2nRN^|!o!p_9R8ks!@FM=vQ7$x%JUH~ zOVH@1sNpR*VJ0kOi$r{Xp;OW^!dcvxYz~|9{#O6~u-%$zr~E4%EGN8%*@C7xpgDF8 zF7$NP+M4ENa&vZ_F)Z*HJY$G%l>owt`*3n(zqX;}?tZ#4d75N*bpKlq?h%~R&GB%2 zqRsqIONpu)YstkD&)8lWgYzO zLqv-3T#e(*nqnyx6X}?gElfso{-^?jLc_vdDv{WNrF*oarvCfKubdwYa{6*5S!iOq~OSGKZ+!6oFz*T)tQrZR>21yhjMeoPfs zcGqdYXOerFp_mm&MaO)1pXNTd!{N|#v%hsV#oiX5Qair?E-UQRvitFPIY@Q<+W4nr zrq|VFQD)t2zcnf@)w&hf1%6mW!{cuA6)G@qg_bh%t4fYiYt(`^ZNB6ZA5mSnL~7DnWv(Ca^L&n@3c zKV+q2q>g$SrPf3H*jSAd^e`7{i~LOgl3(nYjq$PQOvs0wQnIE$@w@Rqzjt!)LD!I9 zyvVcYi#URJkNm^$d5?xZI>y~aEx0|~p?xR+@TZ(sg6xEwZKEsud7|0S^;Beiv&oQHR(YqGEU6s}#=eFq-7XKM zHd`k8G~T za~2SEfdNY1&jxu_aTGV%sS#fO4r;*JIkTRB&6C_MT_D>3NlQp;yYFV9C?_Xo5XvM@ z7Q}1-Lg_Gouy&JLf=5!poz~3QTkD>!YU;@ zwH;-xI#WW*hr3$qmr;845HjUj3uiXDdovcdZ4cNRzOR|t!mV;-IfdYaH>hG^VquEGW!*ZgR=41 z!#sHZY*p=mLu38EfYylL3D@Dq_9lGCsi>=HDdh~2TwT>yKY#-b?pK-kUq<83c#KCt zaX8k3d5(pD$Nm;=cIVCRVeM~l9W#xRppKm|g}h6kzdLh62qa#o^3x=SZ7Gxd{^tG2 z@|TY52&gP1Cp~F17*VT>sc~LRtJT^^#+?HYvN>UWJzNM#!oJghAEIE(Gd}@4|(8j8r;hxhYIOSIb z`UShAz$CtK{A9AFY{03*GZKNguXAZQw9?T(;(NdxJ^`nz#q>M=uGp~cD>_!BcURh2 zS?xkwLmL-XI#wXyFv-c2Q86QkvS zwLN5$S?qQ-{3H4vfH1RNc&WDZI};ZHv%?lw9Q}~8rd*LX^qKzv`eeN94}SAR>$kUi z{`>vHI7;uK3C$^$?}vijR)sHUKGD(KM!85Xm2r9(_N$kJW`_(9dl4jspkbF^{Z6I3 zM}DkV6f`0iH;I7b8pMKZL`&iog-DLB@9U~ z=7O_w?3Ck3k-ocIFDWyohmc`;okgSajgX-PA*@B8vLfyl(Aej`5q78HzRq`A!g%AC zeW>Ay5p257=iSJ9vTjLxB- z6i1JgP;1*8c)1Hj^VF2jf z;gU@|hs;)(FF|-p|Ge$Nm?4U(L`~ly3Z|nhQwxla+3EV>w;5n%xpO(n16X8j>A82t zjczDE1+EORbS&|%fssLtq^xoOUF(=Na2Zh$vDF;Ns+Bcq>ZYu|d>Gt*nL}^xQxMfn(!hJY+o@T! z5w5VD1Tpi)&yP{YQ-0Ki#xT7Z-48Hu^RUGeBxN0knS? z^5C6w=REK8Ss0Kw=+D^mI}&ut3j6h7SZS2hIsRR+5>@%6h`)rxQitD&Q6E- zmDLNIOp>xrgpK#JMAMF`@@HEbtX~ch@wuZ*1Gi2VxrN%ULH-rO0uEIr1QMstRs!0} z;tknMGTGlNt=Y#V+xhS;x_MnZ8p&~&w&I#?^=!U(CNa1i*^XQfs?EwWl-*-(yr{IE z>PWu#YY5IIe6+k~j|y-^UoYQPVleHBuOKkHTeLQUc(zg`A}jV&%; z1n{FJ{*gUQ%vVzo^&uBw*ObZtQmr+?t03Rtf9>c=64flc-g}mFAa*I1_ zwwP#e*`w>3>v^8w^bk}OZ?2Uot9 zctjO`{`)=uZi?MC#iIukOv=5_?GE$#b{<=>$9AgzcD_y>hjk4fa6h|jlEp5^o7=ug<_c7H$AfhO>VKYE@SMw4K% zbN@3W>h?zy7}-?8-E#wUE!Kb!5+#`QVeP;7MhU!R=--1EtJ~eRCHw;1GDNLM9wP7OxGWkoLT`*Lqo=;>dU(`tV^i4o8ufNE0PQ z^On_%h4Ic^>V!MSTG5K

      2-ClC$yn_d8+PV-{9FanU0d)`;IVAx}B!TdDLJkui*h zTu+}tdQc2AvR&RgJ(Bmez0F1wsmz91s2obsW}^wG&d)G(F|2;5PukwoBr(u@w7l%- zvv~HdPFf^U-vw-w-!XZE`DRQ#_mW9wQgTfc)EkAOG<i75LeFMbv*_mzZr~nOB<>6 zw*>T_IB*L9cL0iCqJ-4Ecmm zC@Iv&Wb!aCYLwM7A)1-&1V zor|j||Fw13Xvi4PR5X9ck?j;Va8~1=_DDX#~7UFw_)Y3e&u8~G5_1az=pU!Tn%J!+ITcwUFkm_qv`v=|WUgh!IVSrBz zQF3+}OJ>VU{g~NVaQ8=?X zax?mSBt;q|pHKRwD>$69qb7a{5Ov6X9y@!{_ieMn8E&ewJvFUw1E|OO;H=Aj*|ws^ zkp`Rv?DW-WcaCYd<4PB+BW?zdZ6-I?3uOwEKUXZ94XxAJL#6Miv1T{{HreBqQUs3j zZig!ZxObebeGQ8W3Hq23=dy1hmd6o6%j;u`Kpq%Z?p;-jRCWEhBL)#Qs6uhqIgMI9 zJ4&SLlKcJsR2@|7Q%I|pvx9-Y%@2|j_H;deebhcxNAOpT0CZO^tY%tQ))hUKVAVI@ z6e*p#=M^Bfie1l}jg$t)9!J5xJAKEKok+EoKNqyrrUUA)hxp$*`x#JUyP^9}Zr8^G z!qzrw*^ez*^qN zB(PuycMJU$zk{}Nk7^0@gU@t~ABYVM`^zp>k-$4mL`%eZ+XB#)tj5_#oHeP64C-p* zJD0#f1)p@&7&Ps6_+WI?vE(x3Z11%m_FKCkXl6btI6iSMZ%Di0{`1JJ7K4DkcBDG} zNg@2a?5nurW;{ePk0WHpdRnpY&}Jz5PVifwD~jijvRg~D3_dM@@-G)OD0kjtgd}a^ zo+t{YuKQXxT-QxfGwW@0a4KX{)3@mPszjYUdpA`I(CZ=KXjAWuJ`-td=srOXcaXXp z$3`;w8s|SZ;+1rwcm8WYRw?U@zW+Jp)||j31{&Zfi8F+HhIv$g3&A6(0Tw8DEpYh~j^%g|WwA$DfoOaZ7iv*uTW)#mP(5+t^f!g6#>cg{ zNkWHyKrDdD9Hf!vt5BQwwWGu+9U=YC6_FW9A5<#iK(fQI9LZ%RPRLERm-LSjc8Q|P z-6?!_Xa=UDO(TEtQoXHr1E%c{U~o*r0E@WaaYfI+qQ>(M;?_qP_E(@`{{tG8VHYboBbuC6+ls)Hnf&dpJ}rcNj6x(mV6TBJtJ`u1_TkU5lbbJv{MxJG=0=jA75=oEC#Go} z3L4s<1z1VbJ6K1My&6P`RCNi#U~zj0$`rso-4rjZ*fYS!K$W$Dl(3Ii+o%@DC#KbO z*RtkO;ohsgcJn|(emM1}Fo}1Uv8Fke4kjeE$sS5ACz|JIV#QaPz1oEXid18yj_eZK z0d7_Tw|Qn6`Lvb^npD~;3gk~1;^}U-3a_Y@nsnaX0Jvnf0}`MCJOF&Kj`7#%&uAZM z&9tUqUd+^nMg{|yQn^uF>4ui`oAhV(!m5&ZwAYPg>7(10vAR|7tO=htsOrB&cW?fE zNgQ~!DEv(L#cRn=w633q$o1WL11Mx^vLOp-eJo)64QOggOBN087Ro=Y>2{4ClVM(F z>^7U=XMUP{pKbE}-7-)f{dl9T!9xzlEvl#Ge(!+yc{@TA6O=T2lGzxmY!~@))G?j3 zAEWN{aCRCcNVDB_GvWl_!9{m7Jx&Dgs%2{K$yGzv&ili}%k*d0c0c?rxHkCFo7^xs1oJ=4P3ob2r}S{b-!{Q)0(75o z!%b`uZOlkkI`SZ>mvkxvuL{aRAnGo&%|wVi_{O~#cWKBX$Tj32pou|`v}{io;_Qsqb)84MziA97+hNgqh^u-9ZKNi)ns(l!mP=&7kYeva-s`< z2LRl4M)3%63I9tM+aLoJ{V*nRyB2YLyosEgp{}4d&Phd>MSK~h-QU8D=B@Jf`JBNG z`Gb~RcM&jW!b7?-4-ZSWsQK;(n8uowrv*s&^TmI=3kgHMDOsxbb4UaTn;9;M*2SzP z%Q|OV!d)jBSWS+9YHkT;pM%}qx_n8{P0kW2@#lx7p zP&2#WhRBO{-CtxRU$W2ed9!2jB9vyXr09wQUquuVR{pYUwM+_cNkmb`YSONG@cv4I z*o}K6Kb#Ezb8xq=DB>W`{^^}J-EUQR<+qaxY z9*7C)lA~yZFx)YOiD2vj8gVY!@hczkb@Wsy#s)915GAK&7JUNc>+^Jm_iIO8_CQ#| zZds0Ya&gr~7{{%HRh-*_M~I$o_tKvf@Vt}{;(~qNC!uu1$#*1VU@Ti=IIV#7gg)GU ze0g}Wa`gzzFmvo#a^WzdsF$jzq#A!c0;U&Rck2kOYwZRbam=yAk}rWk*qkAFGxl4c zI6iQ(jH4T>PiOsaKyPBcDlfOPm^UhIzshGxEm$J^XhYMA>)vq8uShx%?S()wPqFu9kcCv7=u9T7259ML2z6o`G9b*(`Ox zc+9`MJ7Min78a1dt2zz*y7M)1=V=ZxjnmPFd`r=x;7 zyOd2_i;0GM1RMq3MY*O#@1)Qt# zL>_S9ZY~tX#pGkbh5^eRtNO=<2;#t(w|E;&F4 zRfXK~da**_RN)ZoQEQo)NyImC!fK=-aycP4nYu?mV$t;*czEB&7&9ub%S#lOTc@Qh zk|y*IWP$m?w_Fufh?e2%xr=|skaLCN$)8YCm&&z=Pu3A?mkm_%ZBVxPbn+l^MG+a! zKtv2Xz%@qkCA$%N{oa4Dp~?#((AQuV|9J}{Crvt*s7I%xdsIf<0a%0edaO05+J=eC} zD++$x;v5@5ar`KpY(Mqf=pL4TWm~dN{#j3Dq@3g+*if`KwPAnHq$5=d2^nr7;Q$0X zT=^8m$iy6|<}CHTfiA5E@0SooStn*UA8*pw9UPz@;Q!vR^Z;n(MHh4osWW!gQB3rm1gC}|RYe0g~{u%4VMDD<4$ZQtYZ@C-NF z2uA(v%g;}7Gw~TTeDtq=B)Hin4(Z4J>QQxzHdVc)7rx;K{;g`tY1csY^qWW8hIiwq z)UJ0W^pCtCxF2y*rb)=?<>C8c_3~o3?}^;N(E`cqf;t%y1adH%i9&F> zEbI^8^vH{HaW>q@eYEI;do=hth0*i(8fw8ugjHQl;R)@XPFlvdUm-Z;pJKH>#zpHp z&tGybUeCSpiW5xvl>gx|2jk<1^-7}5^rfN;eotw|rWX9X$FB+9{9l*Rh+6P_R!tnG zinx(Wk@w(Z(Oo?`!tnSmxYn{Bzl!9=ZiT+ZrQgRKpFsTk33W*UgR=!o1IK zA|aZZs7CUWm9d}S&IR9&%5U|EhsaB|M%*I5?8{*V>3bmLI$boc?tJe+T5;^L#Xw<57~LdHSUBJb zcg<`Q6Vl|8%3RE?f6OwVQOvR16bS_eU=u5q+)O*-0ZO_(@1;T+YnD7a;IdeVF}g1S zopG1w*s~tVZs};5rz`A-GvNft%o?}sc=T};-Qm&T_AtO5C^@Vv{~_#`Pweiu%GPw) z1h^rmJSRC7&mD;~z*)t%*OHCzwNn(K*=y}gMp-5eh1fkI;Nd0JzC6btkIy5_(9OqK z^c6)6(Dfu%qNk$K(mL*phv6K!#C8v+P*K5D@$*DA{L@YrmaR#KQVuGSjOYCYYWV*LoZ2+08sg z$yjZ0Bn^s}LMO`x0v{~VE6tS^*_?A<=oJboxsv^JVSBsGbYqgl_6^emhD?s%Gr?dz zR^&`H?$f5{Urps}YPb2~jnSNm@x-LfA?4G=#zp^g?F*}jCd|_720{PN!ZLf12Ye5I zRy;q`wa7C{`B4&;@*MsB8n2SRRWbeZ%A89XW%9&k&lq^hP*%8!D)uI4YMn?k$PjkK=T(6WGyrS4(KJ{E>lDnd4uyI9y%F_uF$781pAzM0%MMxNc{@kNpK3$K- zL!@i|OIt1RvUEM8c)d;{Buvf;N}oZ4#AzDUlMYEir&SN8XSPF%7_bLC#-H8lf=#FQ zB;afcsRTFsTK`HbHP!eQAE1$YD)+6%k`5orp5W98sW+RS&eF32rCm9vV?DdX>vYm3 z5HMYa<(f>&XiAgbRNR7)*|WO;lvE$0J;4ubu_^m~3YNU=YL!rjp{GSdKach@f&$)SLz!wowMGf$HAa|E6MSmv^q6Q#p|{JRm;mWAhhHDr)eYlXE+|_< z3nN?VFn!ARJVRss+6`^=v4?YJJkx%|Vrt@liG1~TjYI-i+Cf?{B-VLP1)x~-;s^i@ zjjTY~V7-?kH4W!%s7Ufk3E5f(+n29@A&7xqjZ1M+1_`E*UK9Kpl$4o74Lt4{7vRh)28&BNp6nLsG?d49RC;PDkjA`%}G zv*?&9^ozbGXr7>{mWoYn+}V|@nL z1*|y?h_c)G6(xqe{Q;wK;#ekqjLcZGi;bzNefBB75$ch|1UV4yqTGF)oZ*LjwcxYqqO*k>Z~p;34=DDD3#=nb(t2SG9Hln ztPt!3=3^J{m)^-iBms-r!q6(61Di=atIicgpitQ)!r;_Y83#C5az7BJOf^}@OyM#t z9>j}*GTc3snE1}aau9lA-$tDij=o<}7y_MK&O<-KEU19!`KZ>E`CDUC+sldRk{N%A zhFXqkm&E03-bkN-&%J)?LTTxk<>1HsHoi)xDm)@EX^nGenDFl`$Yi|0N}`-Ytr$Lq zu}LJgl~dSBBdu03(Y&Z(rYpn3$9J#UvjZw&aq&-XZl!f5%~!*`zaOOn5p$aRC)X&w znmn_*8m9kmxf1dO!|n-U_nQ9&8H*9ICIDI&7sXX#ZOpM`W z6v!QnT=pUdv{Zj`P!sffrrE>IO2;KFHrJ6r&4{ZWEQ<={puPDHg^MJoh|^2wZP?VM29qu+BSP7u6|g^vo^H&g{iY&fLej^kmQDbrF|7!m$^ak$nOHLd`($ji2MmVEKj2g#{-=$F^zt>)oO&GR2N-3oR3vSP8$+tu& z?5_Xs!C?${A4Cb-7Zh*Rv)m2)Unauej)}pzgxj6usL637kMf0J#I3Yc7`bepXDCpb4elgdQRu*_z$-D7mY=C? zP5J~Qt`|Ls{JvXdD<}5Vl7Mn79)L4+4Cm1P8K8>|7wl3Ek~jOxD-}nSca^+$yEP3o^H07tcy1XU zp23d}n=i``JUo!eW}+qUhPpQ@3zVDoA`Gr5{&cqL6Mf1utyfbHI4_SLN8oEk$heaY zYpNGon}SL(v^DN&aGl(`U!BxRT8}_3{y%UBB`P$0~_(AS=X66+X1UAY?Cgs5SFAG!|3Vm zxn(0Ks2_v}espzv~vb>9VV= z9XnSJt*@n=zl=^)l*z(z7z*O51}8<`Yb1Utd|OH;1*SsG!@xFPxw#44^d~<99Hkp) zPa_n5fpSlkYSz77TKv;JuP7?A+>$m!*}HZ*?xWTR^t*b;@iv!+z?|1ULY-={sgvTW zp-e?=iM5GLBp=6q;hv_czgHAK+cPLma8rce<;tyQQ70*j>dU9ed;&~XfA5L(A$8$A zSOdE~6#~X~cY*qqF@V~GDnFEc0P6$MO^lXl{?%^S!|hbC#sr2ySyQ)Wf6Q^nnbY~q zs@q6f?bwe<-EuEb>r;F6BP(nxxUFJjhp>PL)(?Bu0Bg=`({!eaSjGE^QYu_^Z&S#g z!!F3?St1%rXxZHeo=ac1&iS#JqDL7f(==n{T14C*_8!G~$2EJ_Iq|+dXafL^s&e(})Z+j9^-g8OsCGipT?BCB54zWJA_So5_ z(<(g-&=KboE>g18=CyOMH)^rEFQH}1=k3h2v+j2~vP#yhFc_5Npa(gfPh;4v~IsnD*vGJDpMS1C_(Du5*@4!rfM%^2Hb?~Jh}cbq?K?6wULyu~t% z6r58FOZJ(xjw!(5T73o80n4-X+cSj~5xE*07R_>V7i06*d2?Xa)4ap5AwqMy+x(FM z47YH`pgnSF>``GliAWP$PG#!RZ;9X12}Qi$=P1RE?Q1@9J#5twj6cVmqiRk?Mg(i) zehi!>f@rzFo-GUM074B z+C^&bTb5C&z=ZmUL0}+h@^9ZrE=14cq@5l#P&rWC0=JLoO)%f<`?=Twwnk``YFh0i zhaNjQ%B7l>@YE`WV-Gyl(-qDWv5J9uBjH-6uHW7-;_keZbqKg%z|@0ZlY(mB9D%5M{du7IqoEM^`{}ZXIrsy9aYq;!ovoN zv#?hbHPM6Wsq0ErUD&yqu>aJ%!9&PxJGc^&OH?xUjKrpYX6;bR9#LFg9-*@ z4*U-2!1`;xdT`Y5nebOc*%jYqiG@}moZhm}JW}Ft$E7a`@J|k*L^XM86E*A5zky00 zb}X;S1DL-(%bJ;`0!)xD&Y8sj4#Ckd9>JBBS(Id73dyebM9Lv7T|6yVv7TH$tzZYEg?C#fr06Ap=Xg2Actk`Lr1p^ zZ%)o-%ft8wfUOUyD=tG!%X7bVsQ#A3!IQJvwUBo{O1OEYlMGGJ)mlk80__N}|mRn1+Unh2J+3SRS)jLpcDq=5F#M8$6{?-J>* zA8z{Ah`@xMu`2U3whvL%jEmJfdEHN5*=k(7 zyHPLslI7W_N--5=mlx=Unk?0e9%<=E3&pB7Njq`h%jjh@p3&aqtUgvl@#eCj)NXb| zy>~y_llwRvH&W$Qi>qK$Xsr{&MnPuMp z>>e&^eUw1C#>rq(Q*}7@1I+i?@_} z`$qhzA)hZKU~!#fH{?um8c4G3PL$K)YE50MFVBY7*vmrv*fGo0$9BD%P zsOxZpMpTEK6r}E8`%{v-@)_#Gb3}bd&lGFR#eK`?YjrdWBQk=p&hjewbi_5X(~%~B zJzG2COaWmO%@9Uzb*^KNLY!;>O`{Q46uhV9Vg)Wxn_=(y+QeYpB9Sv!fv)#OAC+%! z|F9XZ%>$INVLU>*UY`UmLF5l^Ke(c(haNbM7sa)g?1}uz$%N^T?{6{Az_2}veeQo- z8;?N6K=VUQd-RSYAW#&&S2H_BNNo&wK$Qr!*eeg6y-eEpf5qoqfJ)qMt&|$-& zxA#pc+%(&6H5_OrT5eX|&BceCJG24iDoO=C0n+waW#llmRJ7QoD!5bZ3`YRab`@)e zk$Mwai53D}$XN8JCl`38@S%F|HtmzZ=}%e6i|({}xP;;GPxH#1vWR6PUx`y+)@|~p z{9(LF$eo+mN>ge7aDlb{+I5c#n(QHYuobw}I6UdRalEylQ%&&Ls|{xYoWyOl1!v~E zhy?~TqD7SEc{U<8RMsxbh80DK)PZk?9EJ!7Q&~P(EkR3%RDR)Q*zUr?6$N>FU{WRT zRDXe}RB#&ZTZ;1kr149bft*QsJayzW2l^!XiA*x=zJX|yHAL<)RpU@p4V0KshaAOn zj#^%RP55&kyYr#5DxyDkj4hMbNfqz793xN0Wgu8!@zf?3To`{vaT;yaZirfr5j<*7 zlm)}d#urZ1+5Y@K5SV(2PYrTMbx|$0NG!+YdAJ3fhkuQ=)4w3_p8Gnw<-hMi@mRJu z`BeaX!`PuBZc9sf`XmtgJ4%_Fu}QX~B{9thEs0l^Viz=wNL#ZX4A{IUbtEyMkxacg zW8Y|omG~C5mTu#x<(<4DL^~2{;m$(>)B$r0f~;w_Uys;z44>8N5xRA4gf<%0b5hll zjT7G+ezA&9M?L#Jk@#|3Bq7KnDMabZnAuP8zT z*vl+pbOMEs`h<0b%Zl+M^6{tMhn8tgO^%gQ$Bi3fS>2Jfmz=JPLK701rE&Vu>VNT} zwEa>eEs*m1v*)feHVE%6>bAQ}$qPSlGIbZ@Z=Y*9deu~IbAwm?w*g*zR}|gw8O#8o zDC$9nk;RUFQtrJO@=2)0LT#?8866s33q*1yAM3fxgL6xUbo6NQ0CK_#Z0yh?FyJ8j z1{Ca28aG+qJHYLybwx2O>3zW3YP!=~G7tkzb_E8U4yd0S4g1Tf>x@XYtH~*I6(t_2 zA-W!nTEo$VSs$BS$)@K8P<~RAl2)8?vdCnS6R`;EcUib!55MiV4#;_uFfIyr(a5PH zH2H+<(P#$)@d?v?7b>hu*{Mw4ecDyEncmvO{uEQ=uV5k7v6RH0v2HUwQ;axenWGa*ugy6~4nD#LsI`u{M6; z2;}|)txL+nMRLW0}CM|Tlq!dWEV>E{c$}2J^{rU?r(w(bc=Gy2wy{c~{ocOs5=OsK??ueGPDNowlv z`($d>Vs{+Tm&CGz}P$nSD)-YG%QiW?X&ePtZ4=lJh_n*d~XR2^m z`lii&^xs19uy~J2Rhw7?yJc~(D%xDf3R*K=FA&cxtZIb+mGqN2iXjW- zb^gI)0f*0%X@e7`?+WzxnHZy};}+chLs6>W9xdqOz8tGBFun?V4&7z1@qq*%<@k35)j% zZ$TFCO(p?0839O2&I7LAxbmBR9;qt-K5R^pjt4?VT0pqy9{rpT=pmP_rYPpewb&a! zu5KkJ>uO%_Wme^+LZw$I^x_A<)t6l$M%>Reliv!ZUS=!ELkyN$GPiH~>+yVlkFSM9d03aU=zILhd%12v_ zNARAo>KBGOJECnb^$8T-jMx!MH1yt=6)#27zI6m%&nk_EKQE$Gtx9oYDp%8Yez?2~8E6Y!q{xqdD zdZ}ZW_kon6RJ)<9`|gPO?5y*~moZ=6cboIMpPYI)9qUe2x%e-RS3V`!{hOH($!WbQ zq5Eufk_niWm)cgo2rE@YF=p}(lNfuxn^37;=h}{B0YC1TFVd*n0rZY1-U1zGSU{3| z!DDo$*FlGZyXRT0CFAC;6ffQ%?v}P}pBci}dI+t#UwpDNBzErgXrUy3^ElTThSYsF z$Z{Q9+h5UhjfIKDNQsj(T2Cp{tme8P`T=}KgZuIS$3Rr;1b5n#i7g56x5f1 z}R_47&%0W1aZC)(!<(3T9Ww`S5^?K@Q`kODvO9X9uzl^ zUG7b<`?w$N(8Q$X4?pA|bb+e^21sd`Mi0(hr-@QYVE~1vKaD>?dKK^TOl$4s{-)cf zt9pUTAC`9jmw5|uP9CwdQjF&Zj3vb)jd)P<(?)J-7UB`JHuY18a$S=Y!glmbiSIeW zk$n##usqgc^?W<6^SzN=u2WSFT2GYlr^~P9guasJAH+=J6_G2=^e$~5bBK24RaSfK zC(O&niNYAZiWffY%nPH~On7{=QnP%}#HOfch{f@jt4CBweic-B2xv+lU#QM2X`6i_ zN&ge4RxOyHEd9f|$t*U*+=BD6I#-akPnV?Qg?9=nD~1cHj@|WLhh?x|LP&qF+$D?; zb{7PfoVT1X32%Ak%#AXsr z^8TOX2LAH!&I|B3ckFn(ZfS&JqyMpoU$kYULqX}^E4RFbiXwd4axYRfyn-X?PKRta z>IxQtN_L{P!6?Chdp!bO76Jbx>x}*UlLY3V5YO$AWT&qA^_)9WMn7uS1G>Q}VHlnb z*YD-|ocBIW9f7#H#i6^~ByzQshM;wbe|Pb#PbJ=|Ub+fw{zUJ=K$XeW^2LE>vW7zB z^Snl)6O1fyQFG!e|BO7>c7AVycczoy3F>2rCt_npfaUd!&)C&*SzxKBa7LT!q zxgi>R{cD32+_@f{Q;!VvE9NU6$}hDxRc{YyGNDX+g^^hE3nv zI}oWQdrqFCYwETzAqVRD6R3BKENc9AhJePv%@(~1ebw5BxF(Un69#crwC~|LNJ4YW zIo?`-QQqs@D}-25al*RrW2%H{8-w z#MS0njPEb`iYO0Eg8+ybZ5gnMz%|MqD^DFjBpc_`nCkp8NFdhabVC|MnW&9bt)tD> z!5#j~B^edTaB*Y9_^7WQy$py*CZQ)TL_xbU*Z%5W20?{wP=Sa$B z&9^Sku5x&5I&0o3k%FjX67tQod}E*gk=6f|@05;#^s(K7U5Iod$;z1dYRHdwyxb3N zngxG;lvW7z7D&EVQkQ+%U>>h?UpH{Xp2nhwF469m$-MI(H}i#nk-P+UrttYz9d-2`O zC4m4Kq|6>jC(p*xNT;RB=rAhKpU~Xl4@`b~=RcQcpgvXtAfzxp0PZIKk`+=WyS~H8 zwn#CxE$!gu?=FGX4)rqhob}bf&qO6P zWY*s|tFT$$4AbJxdig_`?n+!r!c<2e+`UUxJz@ImZ-rsmp4y_jUuTskJ(v=oevHn{ zK|Qord%A!`dGOi(tb5Q?smFLfsEicHN0ua=K9tD05YtKaGdTj7L0J z;}hbF)BcIxJde3s+)9>+tH#ey&9ehJyni}jjs}-E&w_fIZVbWeP=Y{M)LArg<7?*{ zOu2jEWKQT<8aUL`jl(0Qj~av|dnY#y}n`unsv z53(&&&2jLTmt1^kkd3E-oAHm`|JF#SI1&YR#X0AQ9J?1IX*-LslJgY{f3K|QRDsak zdgYn{Ih}ibjRq;X68$!dyDA{_<=g0!h2v)8>K%}4X!Hckf z^sHT3NVqA1m+&JUIMCE-B%*nc#lx=6!VQrpx&Tq2p)|f9r;h)+d*h%Ti0M*gbe!i6 zg;&(EI2mSg(a*WWX;$%5#laL z(3H_`=pZJQiHC1bTOwl{mAL#r2Jf`RTel{FM>iKcm&cZp->;Fn7cdB>ZJlrO>_Q1W zFat`C`qc@}W$vWQp#e#u!oK~s^8j4tS<*T8^R%F~jv{PoXDD~uo$3Zm&`}7QArw0> zwm7xj0y_-PjAlE!aqN54q-~ld!Ax74s(RunD`s$+ZRUTw?X>2;n$zXabTKO;C_(@N z&KaD|e3;25;_`ADQs0T@ATg010nyO{JvOrAm9 zN@50+6$tOe4cS!|?-slyU!qGJtWk40Kps9B47fZv2Y?kI;)EN%iH9+Du7JuD;n_Q0 z@wVnc`vdU6VQi<+MBo58%QX#Yz-=-h*~?0-mo~)9x;Hm`eih2bth@M;@cw+tr>}`Q zb;+qF^<>8ub&=4lYRi~o|5e0xbq@YOKSW!_d1udYB7g8xKweSK6n++q)Q}>V1;Ml@ zqz@_4QTmcLe&@C&X+mE%Rr1|N3tTh?t_~b=xv7QQM>`^7N(Yo%*4HD_J{_J}5@tz* z@Yi%_xe-FPsclA_ALf0QPLiT{RC4#qHQ<7&$T6AV_Q%kwLXAJ*eiF21lXTuzMLx7X z_5w|nPE=XugA;Ju*$|IZLe04 z-Iv@;Iw3g8^0I^z<Rvn?14IgBjan}*d+NMcr z$Dp^xYuGA56l+FHx|P&YIH+me43XPO2R0dnf$I_>c^3t$>m4y;8(tCEDm9IP^HKOI zHyRzRPNx_5teYFq96jZs@KY}P^wlg^tibF~!n#tk`&(krMoYMV4kyBYXm>!?B@-$u zemsdy5BWfL2oqF7rdxIxPPw2iuVN))jqO;!VykKFFRR9w6FBYCf(v#~p%!Cx8ztvu z1Rj?NiD;C{H<{SRW3}EW1F#Ua#!$XV&jz&L0po<;u1WA7xa80Hb1_W?wIeew>#8g- z4^MPgmkrfHRu2S-2qZQ^k3TmQOvL~B@_9sN50|AEYs4^-0=t_J~2V*TQ++^ZvZCL%h1ED!?kyemfk<+AWjn0F+TUSLZ3!#%w zXVU_Ww#+P-?Bm)?;-A>J)QT(!R-V4L3+We=xhgexlP!9!EUh@}eW3Pn-I&^GdSR{R zsE-f*Ef-5dF}=xo07$iVskSF<4|Mm5CE#kQ(7I3HCJtX1G(2q{4e=r?iQ`B_e9!on)OpY(;ADLYj(}%k~q1+`Sesb`nN=aqr>&mIkM;WI8K`5GSLfnilKv5-`y&vWwF5u%v%| zu%-Z2>|OlD4c6`NeVAuIN}OxP|6OF)%Fwy*eCK~onH#K=eLtVaKdjAv^@C3}l>5qq zf8NL4FQ%_eYbGJ50^{NfYx*!Dy~4iT+{_40XJNBb_G0Z%%$mcx?1rHESBZ=ZMdHaBZ3?I9S+-R$o+H+LHv;l?CY~U_LC&WqS2*})oGF^~w&0nt`>^e*V13Psv4zA~d5!%}7LGGa)P$KL0Uj;71>XU6Kss(f@4UmaF zchX+vOrHty&=#;O?6eoc3$)Vp;O}jE{`c@U$17cGP)8x=3=K-wTCP<@a`oRU z{h%yD?IAbvoE46a-GH|v&mkEiNnu-4!aLVKdbvIiD4TyN#BqMkzMR&ACk4q*%|fPF z^ui?xOW#nL?%0RNm@$=j34X5VDAc{ZaN5%Hfl5C!1e}|;u|Z>SXcv)IL0PSBqZI*y zNwaxx{Vr_un%k198@u#5oZdNh^*^C+)7qdd{TLc!lMcAuUbN{}u4^R2AY~^ITnxAh zBUdzrNIIWZlhzK0%*lOqMbAV?5he_cZ##V)TX)J{^5(s4gz1j_z49ji>UfKW+xncQ z@(VBZd7Z$3OjtJgUp=W8(U|%Ro{clVxXn4LCI=KdOhF0jGLV&FZhPq_8GVP~xjztH zP#cW+B;?hxYIm(s&*Geq)U>2=T!>BJF4kVV@RF41Ig)s6_V>zK+F9MI!|ij6%lpCZ ztQ+z){=Kp*sx~jgY&8JqVd@W$Ca1!0!(Sr&I>7zhxtBA|6K=q-dUy{! zNiaqw-RZ;?w+|{_-`%!5eKEnw>{tmwFH}h9!NiOkch> z5tBLG4jG0SB+9Nkct09r0C3u{#{kPZZfYuzGu-&Hhikf04ujyDLJGpaO4I9`6?vo zWm%V@k6f14N0)HuGi0^=c);Ps(;ZV&l+HK)=+L94Z5x>0m#hj&S-+wJuB1c?)rYE7 z|4;1(1!D|7obRj`ulox9`c^lz5m1KeZ8ugZqr`n<$jV;X_In8X8qNH(RXr+c|AuJy zhH^_26hrm*%BxjExIHXMF^slh?&xJ11v*vXc0O8e?WvwS3V`u2iLe|0M;B5ARXN2+W{ ziuis0_2aSu^KT#Q=o^#3&ungr%+7CUO7T4Zx9D!{zkK_;Q=R|F{)wq{ZcN8g3!H#t z;eBW51yEtP!}!DbT?pV01X8fSwkZsff7)&lDR$gDNlNE_$~z#2&Wm5t`TPnDC!qFJ zaMp5CA?KKaa%79!O`;Ygvsy448Sfnf?Yo!HTAYR2a)FA3OJrAWd)bH!Xw+tdi2?|s z->Kv8OaydxZX281>G#;XVL+>70A;dky|hBu{qI}4fd?V3$>iq|`f-9~w|MhXad{8- z^Ui3H87L5O+vlRq*%D?&|ni*c(()Yj}Dh*;mTrzN{N)Dl>xABsSaI9l@g2$c}SQ*HeRT0M08fv z4se8Jq9u3eiY`ayu1)X=^;0y)KzY(39lzTPG=l!D$!}U+7tkZ?mY;=6YWP9Ce^IpJ zDMQ;Tve?=7Wb!hbW&vo~r4Qlt(xEa9lCbxXG|9-Eh;(G|#I^nLXF^ z3tK<&cy0f8RC;M z`QNgoHK73}$-4*g-R^ugV};amfY{lgs2sjeNXS_uV6!5Iq0cc149O3i4iuXkvQB1p zoChmVmM7bfyVDyZrCPE`QF6y~z=MWs&Q7){NSf*0o?CF^%hG31juEkzO7B?Cu}%Ni ztoj~=N^hh z@@WgSS1%DUtM9=EHSwL&4nE@kjyutcdW8s%V?DE-i?h<^m*yK&I}`Zc*A{%;M@D+_ zT}Gc6WT_&q`z$r#>b?9FTMpJ?*6|0!cC=KGl)jPcnt_#eJ|3|;0y5OK!`0q5xJ0?G zH?R39^4y%fn^^pqH~oahN|(v*>4n#Kz!M_9C^GrJNcxm1#Z2eTp4wGu{GMkI*YM}S zQ~Bqq-C)<^u-U69ri927{?U%2Hv~ySFzmEA>dERrKDG^Dgg$DLLfV-F9c|Dyh5I0_glEY|Q!`?iv{br8K zk5x=UjL+ZU@*n$*ph1f!tb7iaF;Cz;BH=UA`M0bDn>S6u#Ez!i-RPi32KuCn9Zq8 z6?Q`CQ&*bks1kZ6-+VhdV<ySNp>MsA4_K@9>`5abj zAgHHel1Ma&?U4HlwTD?1jGu*~z3lT2Kb(*nArUtgLY%C<7$ZW|K1eH)k7WPcb>d!~ zf-#(`B2BVXIvP?i`c2jxXdw~|0xs?;?51Ir)}j^G7ACwdNt9VTg`TiL#z};YZ=HoO zrkG*J52L{_kd1pPi--aL#IC;a)O5z3YOXLQr6^$c3K5h>ib2~amQ$b3Qa>J_d8Wji ziKvTIide%(hO4v34IH}PaN?SAyF?Dj$9!t7U1_NGlufCy(<7_qj9&~%R{AZUu{TsU z+-tdKmzeIGnm)^xY2D;%A<=Kt^tEQGtt`_f!Rj*9ou6w>L&TOFKmyFRzEY>g_>1GXroEpeMvGW#_(TlmbEE*gI${B51#R0+qR) zW_$#G8n3jUq@bHccbJJ1tx~w|*T2I$A25@xp?Ma0?iYbC8;kgoP*cRc?FJf+$zEMg({#ZS{r9%wgS;?lC=(BqQJ~Az;!a z?$yM!5nH&@iqg)19Xy{8o*QYbg@Y=`YBywDy5b|dj)}VE8!dmYKt|kt0i*H_iL`gF zzumxA<-NpnXYuqvvYquTx7&|z8upv)A0mnsis&<-5bPm=TGC=PB`UAlc0KqK-Sr8T zh-&)p@0D-86DxrvWXnc`pM;|AhPA9$)y7`O3J|aDm^fBb{2T$Q9Oa5onG+}0xaMZK zci?`x*hfWm1QoOiYNts30@iOlcR)sJP>9(#<$IEnnbBh2L>7m~BC3spIhe=z1L zpfKC!(sYh8UpNRGYMbTxVY!pu`A2Fobt7_pv5~R^1Ti{Nt3d`)+G!hspXs9cllTFr zuGj7fr^xmN%~TX6#m0gyh!gNm!oIppv6T|>h#0wVA4onu1^3@peTpK}BVr+g=zC5Q zoPWx>ih_wva7g}G`c|Se>C9{C(hfS>aa&aFsSd|tYbDmzlIW;;+Y!{m3yefvCO0*2 zCAOxML2pm_vX_noE1BA`W$8}EhUBFs-Np;vF&K}vbK2zr4dHAAf9B?p@5BXA&0xXV z!7aGG^9@wDv#N#LlYwW8V*i_oGM1CPvSt%FyO3!=?GfpUv1 z^M?(*7bX4MdY*I|Uu;?36e>_7jhj!cAPSXtuN~ddQOBq1bbk0S1U}$jYM(l=Kd4hH zjl7UXQrpTHsm^WjhMTUQK9uzu^A!R(tW&E(d+r18qt*O&btkkHs(em$>(cz!cvN$nFS8+1N8R=;DVDR0kDpBXIdp0hJ03*pn9wmq6o-_l0wDp9 z<<+QGC9k#5=?#6^21F5qS)B5;n_;D;QYC-JH!;~EW69l@Xjzb+L$*xiDw?OlKs;zr zapp$r7g~SclHb2W8=5VPxzwi@Ic<8%l^QIzpybk-N{m|r_36L<2flriOBsI#jv%09 zNc)VejinELK{Ut~&O4hs|9va9v6k+{GxGJRnt2K0UmNlA$5bYsL|wrys8}=A&lZUf zU%&zOO?)d|2r!&?hWSaVUQ({qJI7_qZI@T=FWVj&I71mN1SS0@O&6Hs>WBFsT&tha z*{1ge zzFg}G@aS!P^x)k^HN=qV&FjgLwD-sQJ`6LE#|)0we<)zOzt3nr=qeL)5vA6+y3`2Z zTx)capVw9;^!VA_idLGD)46rRlm^j}uh}bGdV){FOd89#6yKY=^T4ylE~oeoo*{)D z(oSOtATfY)r$#YOBc(;dXYoH&_f(|+1>L!;_vK$LX$-_zc$6uXIptyeW?-QqhHH>@ zNs1k%*eZizxniT%!!;12bJlFrr?`L!w*yYqLt`sxRp$b+5hXkx|l3r|G+Sc z!H_dRPV*|#AlWaWm&u&w!S_?G=ga_h<))qJ!`a|xN|N*;Di5jXXGc;M6tJduYZIBY zd-))@d8woUwWe)B321i5G!w5q@BI|V>LU-Cl!<$l3|bVn4g`qvR7h7*=@4nncV7SW zUQb^W=3{0DPr5t<3Td}G223O#dnc?=|A>#RK@I=Df3BJA-?x{=xIe;3)ojL_@Q=Vt z>)i!3RVRt-a4QigFMG1}F}+c`JG2EB7hBrw)O-(fkx-;$=ZrK5vCVqUH(tc31?B{1 zK;+1#mMQ@s#SWMu@W*w2erSBYq7~1soV8u_$hKOj{RPkPk%Iv?%?bg2wY6`WY0#s% zaCV!H}+%{j?1Q)(^HI#hq$hA!&OnI{QxTweJjB7@^$Vd;*bD|&HR zJQlKE8?t0)AUCclG_Edx3dgt0Gs!cRkB1M+uPz*&)_Ov)H1;6rSIYAtfN1I29 z%#9rBOoF2Jj81nL`kWa_-TwQ0X$3xr^UjSBfbPJ;LwQ12jvIm>$qFfEeGx0F)ol}{ z^?D27ViGTVh?E(U`>9>0cx%Ba^qf1i$tA)_=d|=#Z6-2r2R-Y*P}*R~yybp>D1G7Q zXz4ishwkX+-kiM4?r>dVVwR#viItJx0H#Jrlz~>t-z#J|xgeWGm?A`plPLu7HatcH`o5I`yRr^U{m*)GeQSzjxxQ^wEv#H@8`-jYWUIV(=8~mE@#s?4C}=4= z1<8{-kE#5RdnI_&qM%qMJ$NGb-z)H#flG-aF2RE1=r}yUuv&+LB@26|!<~|jbtlRW z^LffP&Nh7)M+tfRp{EGD>h`T@m*3uBHyYTE*#2Gt8P@IQoc#G|y^m^3Y-ccVTj|VE zEAWPvKr~WDV^Rz9f14+a`Vt_x#~= zI3G{W;;{`LSRCx>96sQjubn!K_b=Qq&QIT{(*{V7dXeFKoy%5gJBvf`M9Te=Pd>KA zitrWqb&TM}$T4-O0@(=T$euAuVs!Z?E8CZDSEijcAQ&Nl@ohgGy`?O&*ZDS8*+cSh zJWZK;dg_R!O=#S4MdK5=-05m)0>rMr9m|=N8+Z6pjVHZWF4Q`#<`)Y@ey_=T$PUnYC>cw=a8$?L znFuEDyF*VqrCf)PSfPv6*?T>GGRGY9n#*0-+Od}>T5{9np0c|9VM%k5uV!4f3_>wo z_Wc73(?Hk4$6!e`=jr)JJQ$u4K@*N}-28*fJA<<4v1g{=P5%yLj0apI#Z^)^T^;Ex zMuS|#E-<+pVI{cka`D7uvY^DuPU;WzyP2RF7QauWz})ykdTNvlasMr`$#KPgXF4D? zT2JnTUZIIB=f#Ij69S^F@mp${$`52S53xWs<==NbBpdd<>G3<6=lRA)O&)BFe-^N>Q?q{m_}rrCO08?FdH1!+ zf3D|+G8H3tc)<3tw}?ul2&;m-eXr=>?#-`Mg4_>Ps1&0FyYx?iqGX92=R5D3yJL)%E@=LZy>mD9 z`wvBcTv9V5ym*JqbMxvogwC6i;q&W17(sUzZvGs(_O_-52<-fPpHf(p@cmpc9hf_i ztQ8Axa_z7GO_l)aMw@kdd$0aCTKvyQuRZU(wGuAmf2rz#5#~CLbFWCvmbm#dnTKR* zogZ85^!gkm9`9q`n2$^4%=b-$+2emc>X9z=fN*P8P>a^42)U+bG;m1O1#Cw08V?9q zJ&W|nFU|lOCRrXIBkDuF9H}SUfu3aQ?M?xur#oXGWD>ofV}rlouJ8RMwh$na=_)BUV+{_r44CqPve$`$m_+l= z1DSP=yJtJdzgO^}ugBPHf3IZ!!K|yDutCz0W2a@du)?`psG-yI0{M|kaj&KHF^^iK z@H1$jJH+6$6kiAL?JBr>F2cAv{DL*ICt4j&<#dkfAya)KtiwDCsmx^-gMfh>^Iy{=^JtpHQ?~uUX)TA;9-T6KGip(X zV47tSGtbuQ7G!#q6rocx0{=+|sCPY4SY6KMZ`84`-NUQZxdXHqjoRg@4f$J(8nr9z zWkddEijYG5;Ff^;fIa;{QxH>5)iXPZW2)^f#*?`#&CEs1meoOr8prGf{!7&sm>)>J zTwosg^@=>tTi=11hu12&rtQa=F#-GVQBvjKEA97EZBAV;vt0Km_yV4>Sc0!@@d_oh z3`T>%4{gkJX}DiH{l=B*hk|DhqN`B_dZTq42Ricck|C5)Am)7a1{JJP+y5L2}>m7S#KOB+Zc`hLSc6TdOoy zkSFiW|F@Ye&Hza%p6-tkM%!ge*HvE3a2Y%8<|*m*>8^v#gN=mB z<=6^y+4}%oTY=c6M*&LRY`sbst&+Ayt|DYolsovpMHfMW8^fVTDy|8Q4(+G&((W1- zqle*mxQ+-pgG=@^!WuxMo8wG!@i0|~(OS=k2F&WwYF>T@gQrwsgsQcG7Js|26uKgn zP%ALEgrkFCx!qP@TcOmEvV+}7#Fv!P@s;qv<=&e9jj?ZBCnbZWeGB-W0?x*!*5bnP z7tqb<+zspHRInN6ofGZozgI5ZjE%)3eN#TThw?44g+{VAut8GnbIz^Vj_Ps)Fezn? z)q--YB$^ijpUFr5e4jn5hYdytB-GL=^rNXLX**M)(b7dWKenj) z6I}ewbpi|dxm~aKnZDC~m`db>NZ!zG#5zMA!VF{o(Oj6TSjIJM4V^q995eN-Ima^e z*1u2d%-%?fgo)MZB7OWh9L4K9PPRNU%vdDH$gQFserfFt!o7A%LMQa<%xqG#==}x2 zBogiGXZ(xRHM`oicKyu%qq}HUljx6@v#{}jQ{>{P`{0GM>_*KJ%6oOUn4*)RTB=CM zib&Is=J6&Sae=DMc&6$nOVD%br4p31j~*&k;B{#OBXnZ=3iOZD&&~B+5VeudM9b8A zM;a#8Ol|kW@&UyTG!xIAc7|N}k!m0-G~F~6TQaI{-nvIR_8-vid!3Az70)EuVgKO2 z+{k8WK(|COv_#!JOColh(*=a&&vsDHc3gvL!u~tC;khZmB;Lqtc3R`A;`n`+8^4T1 z44oyEEN#5=aze<#gM_ftSw_k1Q+6^zn+WdNcDX(OGOV%P%w01I| z_x`;yh@HX*=S!wnsg2r)<`6e`cO)9K{dt&KBT1DY`#Rt|lx0NrKIBL;Gh!1^t+CXX zGi+Gb#zfEMMdWuz4CEavHy`+T*q9?#k;dR#e%yvx;D4bmW#(mqK|2iM@!Br1-^t;H z2Eb?di!3mEBI_Q4kKwlQi`5&xm@z@}mHbk+{AG~0-TANk{gNKN1Gk6{BPvtx?{E8i z^`DnY^!wR4-IozAizUt~gBAq3v~6ytGauKsFwea8%0|`y_vgD}v(sWBG}yum_be*I zj>rbJvV4;Me3>W`aFrx+*Wh)j;J68N;bVl{KQ|xg6y8n~pf(YYle2wLU~C`%Qomb& zWL;rlEs%rh`zMkL=lzVn0FSg+^gOgw8B)cBp48V1h8i!@Fsvw@oBK+(}@*1$W%(bN8-Xr3fq30ytb*<78+uq^I^|DL3o6l`s-wr8f^kq zSSwFTnn>`(TZPTY%Y;4+7FcNhM&amLbdhx+qzNe~VwTrlJ$b_2a3lpRALn=t7|&mX z?v14`7z+N37R|50_WdR4=%Pbom%Umbl6eWt5)CU|=E3GH`tV?MnF@qn? z0?agn0VyhxQiwgvw6QrWbp7F+t{K`p4V|UmnZ42KM1X%jvk-Rxnt0FM^x@;|wP*1x zWF7lf8uWhkbl7-@&v>E`@iLcEu5MJeZQHJpVEgS42)K~VBe@Zjs>83DFL=O1JSsjX z7bPjyM^VaAb*`g9;J`C6V8nvN9D^Q>!s}0p8X7nc#@AdfTzh7b8)@F7a26QH_)@3a z5pCT67--@s#fyRcDCm5TVCpD3?wplCr(?NW%PX$kN)U z3g=;0@my_1VjHytYQB7hqPO8c8Hl5L|Mv>aDOVzTcXA3J0DZw0vdE@Pu36vT=}#Ds zZeQ<6N8R+|Lzv|9=bTx4Hd`U1SPyxUI&#OYqS1m`VE^5~txof(gx|Jr-NqJ!ax+Rw zX8hq3vkSUuwVMHFx^!+|I~={GDxfF+Y>Q`by^YkAF{$I|@=|P+)F%Y|=O!V~tqpK^ zEakw5FLH_y9pe{wT0x~%!$t;1pU0lTNiH7MQbqo!#3r7~%l+sIb6bOzcHB@7-Op;% z;Nv!xGQ*@9IdkCRU8~nf$#=SHU{*4^5j_Ej3Ved_CmYh2ioQw|t9V>LXky0Tb;txy z-%^Cs`0a5Dn|D_Jy6cfZT3uV~^h)-;N%ajrH7RZ@nsyABW>r#FWKF#-z{>pxdlRu$ zGp9H7PX9J|c9`J!&z60f_~DmR67fg^zV$BfwQ=c-ee;@eX3ysx)|LUtRfVw(uk;SZpsqHyRmYC!I-wHHKrhxfVz$n<#W>= zOqRpJz!vVrarSlAeBch~dcQ){@q9#Nb((^GBfa%xD`8`OAa> zd2GwT(PbefoisWt$j#|YLQ+y(--p-P8b91cW4|jojnYuJd%s-e0ypcu*O=fYExR+(Q>WNPHdZ5Oh#Rt-2 zm28%kNc$&t6`5f`{tz8tiDVKn0Yp4_OQ-42A zK0L5%-nN9H&$$)=-!O+TZGivl9&pnzivYCFW|#q18C(Aei+4$-sBw z=)djCQv8xifsuCv+{#w%!?NT&jx&?&%DU_Btw+OtL60x1&)2#(TjOOpcXG+bz4--= zK(F*IvdFWryx$%gOS^i`IBGg4zuW)O-Zwr=vtc^y=o60F(EEmYcYUG7+%Y{~?)1!G zANy%M^pU<_rr){+Unl-xVSI!4NNMS))(I&#Rd=IG_25}Nl9}2SD}jH#NQwP>VDtxKr9Jf-v2wotisd3Q~Q1CKzLy35}yb3D>0#pwA!MW%t`HI;(yUu?nYW6onP zKZ{$Fn{=-#79J&Xoqk=y?FWw_L5Qq~6zdn9Hc{W^dL(`9@+E0eXgo#Ba6UT6|I(vU zhciM#$G(#D;gFeMhPh4ZJ_*dM06{VPS-OkpjsB-EV9v|W6dbmf?lRCF=>s;_4tko@_ED7U2V^YINdvl7T?Yb4s{Yucj`+^q7fzMJY zT=Lo5(60HE{;vbxffy^FaHr*BL0v;Xn{23FV-TsfliJj@M)f6h{ynrn(C4e?J3q~3 z!B^oDx1s)iPF)s#2V4bd@{)cjtOwPXg!j2NcR&aE8m`!MhakT6GtVxk_C~t)hkNi^ zDCw|TAe?yxg5PBJ5c(P4vfVGaGdrD|;5)jC2$X#%n{|Y?cWMx#jn+Vh2tYX*K9+^z`2QAVi_8tJM$e zJ-;4}2Nr%;U6mzX`Ne@lxyz3wI8~?4Nio5-mH;Xpq66@xgshGekO^RsPN(8 zwMc((^U*(n#3BOrKUU;pk=`j67Ce&g!QgG<7;w;tl8yyU!Yl7rHTHLE&;reCiSdNm zz1LI(on-iipl}F?DkHO)t(bcyEQ(z^?eYztj_M8cC&5ydGj#Qk!?jB3_ivAw1szGY zvfIudc~bm9YBv*h=~CC8uT7F19gNilQQ<*)TAVDwB^ONGV7}9YF?13*L66Pcokh7i zVj*`}uPOG($^kpkTIOr~n80`*h`Fd$1DnF8%PW`6Lys8dnzq8*4bMr~KgZD4&y5?w zryH>^(Jk)Eb<56@{|Ka9do2F(_4T_?cIwFiGsqtyH4%_qUlFk&~|0B7PWM=K)jt zQ`RDT%Pxt@pO2GDorPy;rOkO_p=WqbW=)=P!8P`Mex`i3C>;T){^XEt?+Hag+!6{zgLI^FyPU@QD2#)_YPiE&2 z+-n0T$xU`yXMnMBF0vyPes~Hm8iNg#FvOhjTSx`Td70`l5}Zf4=D*`-C2hyUX}f-$o ztmksYZSXUqon5W~UEJzfVpxm&kifpBp}D~ zadfn9(7OD=fw`z%mQV5&pCzvsLf-K4oV6>JP4&M}iR>bSS^JF-UDia@_FIG=yZeAF zHroHys~iI?$}7c2ExY8gpm7tG(RG2E#ztP2EMkFgDF3>KQ2&cF^{68T(=Ih>qq6DM zppEnsSvQA~z{m=cg7Wcj^X>pK4NXy4HtHnDE|0bbcfLB}(n$hmS*SfsKj$0-qYuM< zKbyt@l_-C&ENRS68agSWvMhRv)#`CSKm{K!K;7dFce@kp_l&JrKfh~Bx07i91-M_R zBkB>9{PhM^g^d4&ykl4#ue zczsLaqG>?++cyeg-%ciNs35^c9^_1@8J_kZ}myS=s58XZdQwpQ)ho3@IYsa-R*H?_CiEv2`^ah<3@VcSH*;=`_E^hKW)qM-CM>>+X{ zjMZ+Z60XS%fhZlMUCy3}&RX71wH9xhoBPkfNGus=H*PA|suK;Cp9tlPt#H{4KI+(N zAG?D6*a6q;Bv&>m6~~$ghw##`&pd0IYDOdC*-~dN@;G-p($k|1vP5O--zQ|V#V;u0 zLlQ>bX4mS=vV;+pyLKQL_fx+j2)$K`U$-b*q@fbD#7ECQwAcP^mq6e#C~JCdHr#h^ zSO*C6bZImIkM(66@19v74hu~wD3MGxRhKY>S60dMxBwAa>3iwnG*^!2E9;V?S*5Qm zyk`PVY6gvc(bi$p@k(tySzH(6K#>rIyF03Sfex25s$An%4K-t%Xkl|xE5MmUdqQhd zU0L0|36hG4DPOAnGcCV$&O1O%oqt805#qx3yHZ&xUtR_V0sDsVoj8j*5 z;Xgg63UMv|Qd?-T~R%evnor>*$=|RO*$0pYA}v^Ho>? z?l_acjN_|2zzwUUzFg(p-OfzE#m{|x-*Mp?@@Ft1@^E@v#(F@%z)*`ouXd9b-izaP z4cu#0CBz7I;6(q{0HR%Oi)dixI2Z40Im0TO85odj6U(r}0^)w;zPNgXjLMx{XK6%r z&GSKFzk`IF^BPCai5Gp)d0415%<@JROTnN{-)&#xX1UUq_9BgW1*o*4WwpviwtSGZ z@x1hQl|+XuPm$H00N_MmCKjZs zEPoTo{e6PjvxKH2kG(qUp74};C)ZNZ^)89QDaBOB6tWL3wi;^*tzSqnB;H$~j0`T2 zPW;uE?>op3V2G5`ed7tg~ok<)!uXSlW^6ppKz#V*0++U&< zg9&upP-A>Ro}-jEn)N$O6))zL;<^pPa+J(3CfFZ2Bq=qd_iQ=(z{0cSj_Y>nol%=! z(d%|aqA$!9QwTSV#QJ%y;l}HD!84xX?=VT_avrPg3|M_+7q7xY0pO89zk4CKa9W&K zfz1s^V8$Mw;bFpLgVu_XTZwV2sK<@%G>hg(rQ#j}+P@$|{j<~Q7`q}$lZYsg+W*LK zOkssav_TDZ0VGn(FiWFTv4I{&`iUlu9`wu2X`H)F(UiLUvJc1tW55 z;NIyfYLtJhrbFy)FO{1p+q=`FjL$h3uD}1>`9bB@^VB_;NR`)}A6)*#-?0z}e_FWJ z)5hvkb4Y=GUDTt$R1da} z%y^&>Y)9jGTRZUGvJs%lm$}zWpuJ9sk*y`xJgs~(YW45GX>WZJQwx6eYK)A1X6N>B@Hwb`t7eyF z|A|*CCYkZwbhl^6%8Y+uW%{axahLIVUHFY$?}?NW+jv6#W`spJne$@Ou!5Mj_wx!i ztWaLKu+(|NRkT)>$NYKsFV#gt?#-%xWa&oac!CedgyX_^BjZHSU#izn`2*!cSewRv8zjbFi&1k}>U21I`0i4G=p4Tt%3K)UiN31L&6)V%6G4+`cjBx8hQbmu zFLKakiNoImSc3cgSpnhc+soj&msv^En0!PTG zem4-KvTPBh9>{TOQrEk2@MQ~df$e0mek*j|&?2(57%d2bw)2w*x$M*3=Doh3%M%eE z86h9w6gPHGDkxcu{_6aF6cD(UXjT#^i0O3K{Q=St6evxcq7b3b8x2c4T&g9Wb z09uMQ*hTB?Lny=RwS!aB&qO06)@7I&G5+BoF1S9jVF;Rk$ve?tQ!utMzRjuhXwDZs zUmmBftZC8(r8jguL`Kn8izs7i|yw`zfMWg8?9Gvrg>YunoS>G%9^+-R)V$i zCn6nN=38|0vjYjierF|p$Pllon>sg&;7gsGQk0MB|DvywnqW|M2oIT%XXlCdVWnJkv;>6?+-VHOWdN=r4Yv<$Ec>B%SL6!&ny z_;~j;d}swE+(Mp0ck^9Kaoaa2kD2#MKGJW+`1|U!#I< z$dQ&*Sy)Ts<^pF|`3c%(lj}lHsX4~DsoII#WYni0_C8l7%(FTr0jfECytV#`-J{8p zz4Dc-8G1LMh4bI>)p>osdOeo%c%csH>avr69+#6{zx+#MYyLh3g$fD71?40!$Jtre zG?VWa&RwwdauZseWBFkDh_Ep(eRGNBlE7n{y^1a2bN^N*E5p6a)mH%->4*^7rFHp- z6KQKj0`FtggP!%Hs49}ji!&%-KxLT=GmkvlHI4gS8O1r3UzgTi&TZNTFADcZB&q@% z&A_&va|^hCmw4qxh^l#p-Q7&(>$HWzo0 zB%IT9A~hm(H1te$vI3EB9idUSN`-Yaxfb`J1`kDYGMr1Z4?5#THPBIZeH*)%FS57m zX$vt8b1WR1p|D!B$YH{om+%5H+jFVr0Z7R0O&G318%Gb8sOsCSI8*gI;)s06!f#)tgzF>W1d@$j=ORmUvER55o`k%5tYwOIH3pa&am!1DJ>?Dr){}3&LItnGZ^hwVqdlGrw4AA}?&&^ch~pH3 zy|mEyF8K4VadQ4`?7P@CQHhljnY zK>*7AEFbI+LjaPKUp%{dciGeJ)4I!PLI2F3>36}sk?D^Gwya##EiFR!D;%SDr^T)> zH$A+CQ@Qon!%mTT+UhOYl{Ti+XW8GrrsWCR;}I+Cm)@TLzVs4ru{>0J+V=6G{nJvq zI*eVZ#Dy$@M=jyiorG6qWg===-r>CKfDdAoZGcLL$=2#StiYY{;p$T*1(}P?bj?2o zxQGyyg3{fP1`9eq-3&#>T=RKb%015vdKg|_Me-~2FV$2v`14a~s6gdZNF{N^F?zYj zb2)Ut_hQC6yhR>%S`QG?l1B)ZvZkIoy6ku zZ>dH8M7(*T+1?+F+T&_34v+TkGA{w4rAD!!y$%3q8{8$FA?035ijv$`mThcI?3kbF z5b6ZV8pP78<`5!Plv+iPPA+1LY9bhPPX@xZSv|tc$cf z#GlgFg007;StQqSxa@T{_x+W~SZAXte~S!R+MV3-3C^ejk`0G)hT}$yGH_g8{=iFx zd(f?Dp{(C3h*C+1-k&Ys{8p!@BctWnmZSO~H+oyq@r*qp56qL_xllhf*@yZSgq=+FjV_A=%|&IS-fYbh-J=_;AZ|YV~zcigN$5q~8iKP_>CY zx$!E-s{Y-NO_`q$2a4)67QEiLuJK;%M}FnxABShR9*q}XFkO~^CUJ=7!P;i@NPeyG zfe%+ary!u~iNbI})b(*Sa)?+X|Dh0b^$CkzN0sn2SC)0}k+OkwxfY_Rxi(pS;)uem zJz-av>d&}z7A24zlyxuxs;%Xpy#ElKzBqSh%7R7Z$r`5NFrLhp_Sy3((U~CH0x_69 zDA8JB50=HHKZxr7(z_cPfD5LWfvYu>OWY(Pfk7_&{T(WlqN`1Flx-wG z|I2jAZXnn^$;?#YoWuHy+w@*u=E2Y^kY9XM^i6-(@brWz?M%>nDf_I2FIm{gcUMkN z9qv1FgI-Nks#LD#k(J6DFU0KsEwG^~72s#q^U~XvMl$$d8j~L0NbANZ0{{~i0Q*h2 zvbSH1-d`#OeIV`0rK;(KuUop6xkn53Y(deq;F%7hVb^Y81(H+kof>?3quL>q-J%)7 zBo8}B`dlW*Lcv3mYw(kIl1mUTrAss?NUwBxYjp^rAH>g@-nWaAe%w)w9*!ySx*^;H zXo5=vc+VxVIeSKfE*iS2=1D>YS(6RP6Yrs|%L-K~?|hq0h53t8M&M)dU z^mujR&ct$`z=*+`g`H&>0PUJJVLqJCPx>9w33W0?{$^Y~jobCFX5Ih`O>gY*G`^cn z(KbO_TXF(QUB$76g&`u5A6K%onb(z@5Nv-IV0%8&-;4mu#TPE!Ymz;ZfOexZdDaD9 zL=t6r1lwV~-a1H7j@bnKtp{{P?$tQ%`h@1>sV>XPFk_Vcq58 z@Q+oVn`Or}5&(`!vBSLu`suP`Tz#)JDgsz6=LgeE=L$atRVL)Ve3*zx%{Ds~^u&}} znWcZ$5q8JJ#L@*r90)7n+_HZ9pP?dXvG+CD$~=hB5{UPAL>2B&MhHG~i9Xs_){S`G z;9;iJg!G;elcguMfI;MjfoY=^xy3O~f6Djl{+WU~YpN^GZtyez2UCZBE{wix5c)or z#)2p%OgFJ7@u=Wt6Q#GK(jdl}i>!2Vudaw%2ivs~-a zU-8D*g+dn_|=-vtaQkPxejk9GvX`_#gm8EiaN%W%w%ZNvoo%sD6gE^+S=*S_zN_ z-n7{|ff~zv+zjBO7~}`p84ocl%xE`+yL#uaa|3iuPQ{QgE8~9*<(7qDs zRj;K!ivL#sA|&g4z#Jr3CQDZ(H0Ns$0%IE`OS7MTfo+y*|H^L5bdshS@Jx zjMBfhUt#sBj8!`l8I+q`6%UrO$MUGMHVi(W;Z{*Sl@fhOua=*}cJDdIHE!t6Ksht) zG!gC_7k6p1*)3gnke%0hI{Zg?m-%Hv@Ihbl(f;dwWUGE8(~8X6sl4nnm}!E*C=4jN z|GI+~#-`ZTw6`Li6rGc9tRwUsGF@}c>TaWh)wlR>`!~*?HKWy@-i>CZ=2G&C{O_uV z^f2#;&Ahboge2c^W%-6o%7P=uFLf@z`ZHIbGEwG{SVnPRW8YA$n(W{s_%ORPsaq&5 z*z(`je{_P*=zK#}p&7YPY7P}y5f5+w9GU(Us611A$LB6K{O+9Ea%`suA3Fo;SD-Zq z^)I3(<>gV1t*-??N@?L*@!;!*XNIu1CXsT0M`J zvr;z&4Qw`t8iBK7W32i`S#R)e_%3#Y4U9>2&lkitC)x#80myaBZzgf>?uc*1@&t?K z5f`>P3g%{}#9im+nvH1eL8G|^FLyfP$Cq=V6)t}Kzhm+RkfXH+%zP><&V0-hf!ytM zaj%YA2KjFkwl-jp%hG&R7@)t2W9~|`SYhE9AYgAGbMY&NRKd;R1in!$FiZN5DX=TQ zUA|n;sau;XA+pvb=Cj_&_1Wh8c(b+qdkPs-@6WQkDivHbaJ_iST?*YHlX>MlCb1qv z>x)kDK_$`j89|B|TRpQExGF+9+b8qNx9Y+p9FV1$)g3rm7L|r1%ae0db-e0RR4mJ{ zhT&fjn1F1f4kjylF=9amDpsFlLGEMI!!O-P?@NnGCQ7O4Yg5 z>u?`d<57EH&8dx|l5y3Le$e=lwIL|ixnheLhTOv*r(L!oRYjKOy8eK9$MHeC#rp^? zp+oNWX^W}QR`T=v(|i4govAW(`^YWJI4i+dt5+e9nz8kufAizWKSfIJ{D4e18FFw9 z^2O_ajSqGJ-HOsSU}|=a{O_G<`qkj`Jr!UmSs>Oqzu_x>U53)2wCfN8>bgZBiM_hK z$U9cnZFU}jBRawl&XHG(f2kE$;)7rQf$_d#% z7DnPi79%^>*Af;HQ>P0--2G((vjBXjf)4SK|AI3xKP6atHUW6A_t%8_TKA(PWR#F| z6=9ce*9&L%YmMk>#{rgqCdPU%c;*R$?>glrCI` zGo13mjt7a%`jn__+U)?Fb^BQ>hG*}>SC;4>wnJ*+9zY!mZQ?;D>0SUb=_yH2==1?h;&8dI(=NY9ukq>&z*cfZGej2xGen@FGZEk0zPqzm z6IGZ)>{a{6TAui#bRCNH?i?V9N=B1grQK2kGmq0UVNz33qUMzZY8GzM*X2=4Df6T9 zdjm60C7e3>Fv}4{si)O_UkY@+p%Xh=Kwli}IGcx6rUbjsw3&vPmC{>_0~GWT%}t`( zqk$~pLPO!G(G%8&ZA)cYo$*UECHIW#{>ZI!innI67@~V(LFbN=)0ZHR2B|r(+o%Xl zxi+#1h2;oaWWG609;n?2o3}WKw=t4k9T!}f+HvahbnYKn8?IwHz0x-o-gUH}bd$7V zLaFV*IA7!j;2g|9<{I#^Qc6#k_&8pt=3`i(PYL2~5@xxt(N6bzb}TG?Gt2NHkwrzW zeFi2Q$$NfiEh(bX72<)uN$0Dn)QQGidI{rU#qsBDhDC7avK10zJR3WE2gbrE3LL@=l{4XL2`Tmspy`p&rR32fCVi#hVRZ@Z z6_Ea6H*o=?yhV=aaOeDltq)wjb@?Kw`Ao2!zd3K*c0YZC{hRAvVB@`T2X^*crJ45{&vU%|r7tB#KfY|9&!=>ivPBh+Yu2-RrziQ>nT%GOR3=#o zJR|4~ZP4^)5n1l^rY@Ad;$;n=vKYMeg$&=yiF4@LO`iR0 zvp*=_7@-Fr7Jj7uY4++0kI%|as7{++%b%}I)r8+{tEwE~SzL8yY*uqPv)k;{QxXJ{ z@=aR9@8Qh?fM}b^KVEU9^h|YmG8G|^4`rjPXNb4RtbTft!kzwSddnz`YTf3gZ-Y_# z@A(*Yeb0}wwVt!@-{=I^y@oLJpT|R}kppI~tA*#xeWJQdeLLuDcfz9yFJSMVTh@Jf zdC!pA_xCrU^xFX{|C1>S?nXa;W`atI2lG=UguoHbdYLM9 zN1dn_D~4;=DCfx=G}JWP#$5GV4R!1$Y0i#aaWg;VR*o|C%$d5W_uP^J)e2#6lCt-B z?-teM(sL$Z?;rb0?;hLJotWRoj#1&6Po8q?a&DA-pwzDxvnR7Y&f|W7`}SS-WvL<$ zfmPX~qes7X%3mdC`&=4M-USqY@;V4nb!e-D!`@m;7Q3DL#^sHmgmdavM$chWk!4e% zP;;f(fo4Xe=);Q|8#D(e6xKEcC)w_Ve(hRiIMO@<0e5v%#$4wctobBB^WBZY$YZ^8 z6|39>&^V?nE8X1N^IRO(x?R)bGic8)T-UFNu&~?5oj=NoPAzC?pB#8?q3c*Y8dyZA z7U^HXY+n`Zr>rh%(fu+m>D&44P@ zVb+!A&$w2ZPOZ z8)PFU4`%8Iy7BJY;-nlSElzJK)r&V1dCZ(f_#VlKMXg=_DR_s?xwcsl0x5iSsSld+ z8xJrabMG?_p)XLL4tAH%9Mz7q?d>!yzOr@(WqUx+8X5XX(LJ z#Yvs+@lx#QhZE;Fa|r@}sT37S35R3L=q#RcPPtaC3!ch6krvYD$wAN$B3M2x^%)^qUIv$b^e; zk`xAn&fZ6*w^NDA&N@>;8j6LP%AE0*Cg(`C%?L@u@m1vbsREr1x|;f8wp=*uQl->s zGhPnelV|fYc1ur65@qClyPnJq;!yD%XUXkNug~D zd70-@sJF8l!>Un+>-{qJ6MWDO6En{-Ag_F=c|zc%{~{h{+L>;>0JoY`@!kRV4C{~# zB~e*6jk85PS(-*ccp|X$2xLadjxD_nu-UU_2E-S<4|fiL$R34hp6Cwyj*)#DN#!a( z1=QtB&_^sd${W)wGU~*asEaj|LHJx&pkam|G=9eZDE*Q3!5+mVT zG$PEUq$D|*iPDfeQG07`b80Oqh>asbfwu0qqYz0fB}{gCW2ellohzQ?OlUdX_^QEL zk;z#=-9HS|2H-|_DX;ctmr)d|w>kq2nP0`$DZBnse)H~RiLF+jj=X&7xB4Pd|KsVw zV{$b8TbIwTVlRwHilxQ@_on=}k@7wQ>XEgIv#Ql3t{2 z3}b{^#V6|-rq{?pPF-lax1MCuOtZU^VKdGS&D!2{kIO(q=VC!o>pc3CwVGy{*<`v{ zkWwHr?xugQL(Kz|-gLL%wGy*<752Q_uCgTMKO3XYJ(Vlat!mP>;n6RU8q)!ArkQ*9 zKl~nL(;@f0zSBV;+x)KhQoP2q))$ypW07d8i*L(tln<}9?hawf%M~)9u zd}ZM&YItog@t{Q_vOCQDZuvihpZ3K?WD=1zqV9Wl&aVNQ!+r*4G8UJZAbD^&yG=nm z3!fq5E&5&R!M7ZgcRXHv!M=Y-Z|TW91jmgqnskCJw{^a!(R{feT>U!VSN@v1iYo9^ zEu0wl3^jjCE1nne{ACu!;rCnAYpc@XHQ|~Sl)pwS>2(Lwo1#{>8=2J2cC(&zs&&-o zf_jX+1y5xS{sjk`6q>nqMJ~&F+im{3W9#`SzX<(4E|?N`x&;n2{yZHW{rIj}3RJlH zVgh#uukBCCLai`9{`2J4?T7!rXEYkj!_UJ!(H8r#rS@AS;Kd4^p#6`s&rfPr=wHHpn|NbSxU?2`&mR!{&!d4`4BI7_#AT6qxQ+feJd(xl_Qi9c z_HUxzwL?d`vsxbv611#Ve$^X)IfI;_A_?zLzWGb_Qf1QO#I-;EhV%lj)y(C;Wa?2+ zJ(8wfIjMB`PVese3=uT8_}|V|#jcz}kUpm0Adjcnz*0TLlc;&}U~GZ^FIDG~-bn{^ zzW5|Fc-0q7SJXPa6^!q(O!bBD9rf9ZBZAfx-*}j(OQ_jPmSE?~rf9;!Cf!Off7ntpACEB$s#kw zRKhDV%&`mjGZeoiXP1N&u6Of|#AWGM1soi9Y_h3e{)l)|WSX!$bEVj~=wS#ZKsQkquouEvlq`gE6(L74JW4^`KH#CK{Lfvdzn}#a13VlY zk)Oz}x6gBhyLiOpu(?zHNGNq7sWiGQeXkcFd2~ejl#HXo*$lNR=;y<-OkG{BLV919hSC zM$;rmD70PA82CH<;qj$Wd@TLUrVz<>C8&w@8Zr)`VIX+o$-r1K3P@7PU_U zU6v_pB;Qm!q;sYoylHiE=?^}#iflh}lI_=x5&uioAbrO%-LS#{1Ulm4+0BLRM3#)} z$Qn!lC<+ghHKHbtU?9gKi#aDH0ot?ola^G?QJt}~JvfxK^sOo1#=#I#iRQj~;VeBe zq_q*fUkq$c-@oMG*9SgLtz;~`M9=GE_n9f!p}smU6+8tpgSQjxDe*7QSC8v%_*Ymy8dN zgV-ri7O;?4Z>A%f(qe1YSowgY7k=k0I$gZRKjce--N_>P~H}FS*_$ue8aUY zlpI>Y<>2Jfqv+9)SWrFDIVY>;!~$86ArPc3vCjVzs^%Pv+@9UGMbjn+u42q^Z8=qq zlMTvj1`rvT5m*nFLi$GeyqOIt_-5w>j2kD7y4LKhLCUI5m*#-#y@1w6m4d!Hhuk-m z`pMw&#nCvuLgW_-#PM~S{Sy@=@v?9vXlk}5mjLDT1wO*7!i&mOM|XX>-q#DW+R&cg&O+5(wlnfhA%adG(A6WG z8k6yYzf{_CGC`Mi<<{|6(IFQ~u|^;qdPh#_XcbYXK5@aQBWc-G>(#Q)ojw6{BLCxh z{?tXWM!G3S1!+=A$3kt)lrZA~GwU?h1f`b&YDF?@2s@|i_tLpL{dBsNg&5R}D zcNU7l9w9ztc{ns*udkk~=hu9+*B7FwF4MZqg0u^|=^iyMVS^Anmt0&^sH^lpBRHw7 zfzi;+-4*bcQ5PCy{N?L2@;eFi5m~#*Yaw&$h=Hj<^ycNFmi=F;p?Qcy76c+ILKSOP? zt$cikW*?eU$nk#V%q36!GgTJ0)6C&8?6w`cm@xzhg zBEwxXT#6S^{#gI=f2djIxo}2o%6+UScN*21NUu>Y`D=LAqgG$KQTG3QJ=5k)w>`(+ z2c>y1oe3={%pW9s*>uW?8Zs^9X9>Vxd$35Wn>c)gT)oi3S%#&a*=6#^r)Yor)+$T> zx7@DqdVpgy_6EU2JHS$Kuc?Ll(5zk%NbPN`aYhtq?~bwbzn;Fn@M&>%^dsWMx5Tmg zxq_CdFD#3%KZA8T%D%Dq$U7Py_4sMqv{I9$zaf@!t4~z@w)m}A*FIBBo-O#dH=c0U z-g+5fE@aznc;g9C^T&sn77prjbHoAWKd;@IR&T%R5CToj*o2gCu&Vv>9lGApLJ#x@6>3aM4>XWf2m~T#ZFXT zugvT%gt6K_#=PA>FXzmW?)Wcl$yd~QV|J;du|MUjm z6=clK;)s@VcU1LMS=#{CS&F#qb{^DUF@-{OCr(KvC*D8d z;0jWQGJO$_GHS>h^QRSzpt~5 zrZEJv(I;Hd*|bY~9rQa$&?O9f_(mLFelR1}^nGBIX3s8R&%@W?z3eN085Wl=+Qiz! z%xemd@E9pIk*bXy74w0RwK#e|sE6S~eQzju++5m#Bv*K}JtaMm$gafV2Rtl*W^sxU z_BY7ZCyTMAj-!qfgN`WCsb{Oc@sa3)j9p}p6$k(8Lw~IbQd{zp62zdJV6%x}=t06}&SgORB&xW)FhijtA)fgqoBNDv=UWTCu(R z%@kfI)q--<#jS)YTXjTOeQ7j=L*vc{?t4~bs2T&Zy{sc&pJdW|Gmi}_3CC7-=C;AVCcyB{hr1;n7o z_7n2(a^*MPRWBfG2BnT&>w;ePF*H?rxHcoYq{D0)Ckup!>2pZjirJRWva=`TJWwp`rIJ*8sRrk*S@K z?1#r}a?|au<40EnUBintjS8FA9dWlqSJ;^zs3a)+lm7v`@Cme!vPQmYXLScbQ_bwrKC<#Zd zO;Dig%I5m|ae`4Qk)rc=dh6~s#Fx6A&g#NF%o(2~4jQE?FHMu;Mpk_Fy8Bo1*tU=f zp}4GDt`b`{8=X;H9&UPCMcwu7MP%R6A*9PT{7YDyk)bAqTcD4Crf>R$ie_cychN`? zNFD_~t`&~sPyA9V?qn&xBX0oNhRy@HgUY`)lEE2Q zVyEr0mOGhNaHVnsSh~#GvkzyL9U3HWoqp6fXf7uG^b)|#f1{;7WT?IqRA8}@L$U-1IU~8_h=Y4MP0gv zmTByLtI$)^At;O_d*N-3L`|x%Z7+<5ugR5yE1XM32#{yil}%JjC-`}r*TE;$N*^4~9w^6P zLF2=GCTa63DxH!ln!4e+JsvS0nc~3*?+}yA=N~tR)pw<@j*BlOhh*!N@=PxGaYl9fZ1@%duVMHZx-4t!K z5Ba0`OmTXlcMWLg*F+f{1Rbpt=*27ps-QFM7qS79Yvl>;qx}co_KE%E-C7jccE}7# z`ZRmo(sAK$oV!;Ls>EIh{nv0V4=aMW3IFJ;(li<`WG>ITkxsBjsSe(wbb4nntvb|Q zT*J!<^uk0w`mub?Glr#SJrEe1W>)T;&w*V!?*Yo5VBcSAGq;3U@JbPY3uF`g1n7#$H_&J!YSKKZ6}jGQIPS zqgx&)_Mr%8^!{vGX0KwFv8aZ+`F+Rh;{7oSUp9Y!`#OJ3@kbtlgCGbl^4uzi_|M_} zm5=XMqaf|SOFHDjJY4ShnGyl&g!f5yZ`b6$VGf%8?MgOb8>+=8E zR^?xEB8>C__rgXrdQCS8W07w1etB z80$0zIrl{*<}*w~iSz%s=t$lQ{WIy6R)CI-jH`FxRjcjyS#8*k5Yrs3iJ+s0GG*Nk zoRq`+`!uE4(0+rQaU|*aO2}xa8SnM8Bqa1cEY*+caZ-o;>cu{7>K$5FSmLxl;#h6pd8$-es+{H(x>yQrem!Pc|NFFUp+!mqSl{c!z&W}~MeBe#)*-3diQ193A$i>vc52OT~uWU`NrfnZE?Mu@3 zWlXE+*!GrUV4F9-u9)ymZsB!tb|#B-!6wD|bt)LTeT|a(DOE38^YNZMQx@#sA|DeMkg}0{uG~et)5|~EeMz?s_hG%}qN?r*eM%h0$2J(yom^)KEifF+9%$4?bMonJNN63ve8RAQ|R_EBQCWNBcz%SpUes> z@CD+v`zlw4dtR*%3)iiu>q1gD`MnGSrwtZO2yD=T-IJ+P|By8sE4GKUzA>+hX!z%w ze4HvIQN-0^Vr3mlPU$$+H4rV9Ga|S722-AQ(N;ab(F1UBMaETQr%JMOrRU&y`IVuD zP+{W9asTBMHZ$H$taa{UB*A=AcqAUirVP{RtvRt4WKM5Ct}wwDYidE`@WFZ zLh^bGf-{w8ttu-P;5Z&ieT_+yd#dcenLGltl#mqFhc`+S>m zbYD}B2-NT!1SY)Y4_Z{D9)hY!MQg!tS!e&D~EN&`p;1rTH~K zkiyP~zf_+3fpNI}ta-M&c>htpokhL#n>$|DgnWYPbu|;Of-`x0Ho`elh7eBPlmv|aWkh4sb~C=zvoMsmH)uL$N7a_U+6SU5o*z2|FY0@2b-AY@>;W=8XYDv z^D0xIGEP*N?M3lNYW#!u9qJDsir(RAp_ZaCT&@8=zFQgRB2>e=^wI5!Ay&}+8`tAU z(ND}?6dPglRo*=NzdAmK^7r+Jyshq^tnYpz!7Xc(sT?RuJ`30N_m#K7A4gc|J_Wj< z>K}juDUj0_#a*EVl&+R1jjT`lScNL@QW6%GU;eoCY}GL}*qe~)o(JxtGwH{q?9Id{ z8tsh}AI)UaV&XfmHLOa%+;fO3PL!J-yRI)XQ_RltemnCi;b)~>$**$yo7HlIx+per6S+O-4%nMfD0Sw+bcbuAPp~Q390a~ z|2pO77^7VT-c{J29cABGh+nz#}l>=je;TVp*=D&$ID=sWS2ucR4F30y3IY zo_EE&p%O(p_Kxow6TI@knnnRRD{tiULX6Rh&wjp zq7v@8bZ3gLd@5}3^RdN?yM8mSPJgLpLftnT%~yC;aZ8OV46d{b?XudL-q zUa1vM2DfI@dEg`h0|I8h6eDm-+1^E2mi+8;>(7u!rrkPH==lzv23Pdx>HneVEW?^` zyD-k*R=@&8kdWAr7)VPCNDi2^FuIYFF-C)dsH8A@gyab695n%nF}gc9I!CAP-tW&o z?Aos9oadbT{@p+SQQWZoN1+i6QOs{YZk6l*@@tZN`%^5}gV~N(m;Ew__>y|ykTR&@ z%lp|s0pNwXar8^)Nzooes1`}2@%J`-I6i^40F=X9`GKa!>Al-o*tFy7*r_~n%EF}j zm`8)T`T1{X;C~)AjbE$mqU&Yk7LG0hgD&!eGKgMthvawRG-_i%=z@XF{>sN5>R-@Y zbq7tY>G)Biz&}&sNH?ZRM*9S7vIbxX?oA=hDLMep0*zxP%tzSPGmu(>*(gf7XpqfG z%xN0Wn=8k;Hh|(xRD7dJ7BMnp`ZJX4`~MtB=MuBSS6u$To}xH0rOv9IM?!?3n|(In z71ip&J@xe5Joj{R|8{A5KeExw(dy$~?=Fx`aRE)s4Ik2^b?=+~8ibe*AJjg_ip&pU z8-K+0%ni%jPJiP#hm+suZ7&DAua%bI>A!Z3rD@$Dc}a+DiA_ZD)fn6K|2ht` zGn*+du$OQlgTZRR%mY@y`>D&1Bfqf$6_o(nv>=+P!hgZjir=FXiO2Tztr)szmA zP$S53{)yd_37Qt}dbKB^TUXCBAM;invuQSQUw!;|IKz!Sa=p35$O^PxCAsBTE+4OK z%kir=o8+iCQA%;drAc)aHU9B|E*K&Cn;uS>L?>`*cg+z^u>c>Ks=xPo-PCVy)bd1! zi-_y6jZgYYz*Lh)9~E@D>ApPxGp6{U-7&SOtIm4mE1(noqlxiS-MKJ_o89={Tldp* z%Gnb)LUCI(O+FWqtV&2aq;}Q1a6E65BSa-=))wYAtqh=%_41#FAZtbGYWI-ilSYmdpXywKa{Md48`sP?c!=A8jo+2@3DB zQ0lz(*%@6<@#hQsR3@raSLtCeZ713ISanB%qU-&HL+)zCU^&Nz8rA1(Z0NGp6t-gJ z)@bcrNw$9HlLFS;b&u%(tm)f*{Ag4j;dZj80L9<%)cr(qkbH z9159glr{XY{R4M(=RN(LqP{3|wF)-(U%)1)pNqAqF|u)13o4i}a&U^=>clxabnx1} z(4>x(pEsVlO_E~@7sMTtm%X&k2$4s^Gv#LLQ zge|(uBi^oojEyWkhyE)h1Kb<tkf6MI7|*O z(~$HBvlz8H<<&`tn@&Q72QIb7t@QtDSNsT*b8TWlC&`Y90(!K#cedZRm#;aIt|JXXT+R3?zwU9iL+zViReV{rbjt<8vZyrnse#1A) zY)GfF{&IM!xfH_0=&jV{0?;QA$>Hh>jt7(WUveCm3P)tH4qb(`fq2}a@G1s_ac-Bf zV>V}{r%mz;h?31>NfV4Wsohh6a@)p)x-FhkK2aqa-sSso8U{IIjcim~FD_h<&>8lW zu{rdSR)#9GKKc;`9yv?~V(mwkTTNcrx`R(sxevhZ`w0oMm*y-xPfr3z+})S?PO*zS zZ;i!=vb1#5nD#==m*Loq-A2|$uKY^T1K-(l(FNkRdG{)K4^py@4)HBgW_B*!xt-U{ zAbOT?FsI&^OH4t{#(J`9x1vJ#aJI!O8V7DV>t*ksrb)Y9%{o;DhQ<5J2rLACek$ep z2$zpr;Y69YdUUVJJ@ak4cUGtQBr_rL)jx`R^BazG%z@b%=Ma@JgQ7)z+XZvO{<_TC zO1*Hm zh_D1VN1E%3 zsW}OG1mLTJgmdd|Sh9>aE6d_^WZaYwAmD?mOrwMGTvFG4)-+db@S*^26qnU<6wl)} z%OxdHuoN+jij0>dSI6bf(}ucd+VEtFRCDlE*I>iWv*c~<5e>$Lkhf6JwRAhfR?7*_6N~_6iVspV^=hN zG7SN`<#G$*r7maNK0Df1EFD9p*ZJ%93of&C%9VK@ML9qAbL~0typ%;~!1j&yS5He( zUDDv;4!)YfMYjp1i3-S|Wu98^+qP-cX808HA&DO+ORF#1ERr;f5>9Y~X?xDk#V=9S zzaJe9Q=15x`LMZ=yQF++P_z;>tEMbRi~_W3|B95I%ZZ2Jf2Q?uTt^;FGpHYltDA~* zII8fOnss$J)+tj5av^V!bUf=w{5=JPWA9r!C0yoQXkpM&%+)F$nX#VL65gaVyH?rC zEm!yd4hOk$O81Xq9DJ75M_5bFlRMG8P)f_%JMwAJUQamsRT9l3GEa>@1VRoC+1e!VfW~gp{~|lQhWo+9&>;CxrLp3 z#4(vL^@$iCdQNKk7`l*=K zi+VgM3532&s@WEQ{zL0i8IOma&vs+#+F5ZJsB)ySX~l!{817?k^qwWjktFRS3>qVt z2sLaX?K_^ieG}KsYhNl%Myk7!(0yD$nD*t$WFx_9#1mwYS#M2scXx8Sv(ySV!$-m= z>o*-ly84eTO1^TROP)X#IhLBZW9(9QCLn)h9ptzj^Lx#eB?++4PVM2qUNQ|+R2XHz(iU+(>A}c%|!)^_pwjYbgr~-FE14Z}@d>qI^O>T9_LZ_W7-gQMXRq$99+aJVv$bd)A6r%A z^~e&k8zw8>wBT~hPF>1nRoCX|H*aJ)nsW_SnF=eRjt}~Sa+p#fuh;gm+kWO3MX)v7Ce+ie&U zd6bF%{PZZ?p#%!$4LcW86I)Nftu}J3em{$0OiA(-xGy7}nf(hHTQboY-G`FFF8ppv zi^_M6*^WA}npUY5JTO;VgVeoZarBsrnUX&qt;FJ71i zhM1Cr7qL^e?~6c@jS{wsHi6-T^6@Pbm|?{& zXNv4Q=+J02diI7N8YbAkmx;3Aw6)7F5_jfCK&U$EoCbHd406*;SKyC8w3sAyxheZ6 zH+RiP_-1p?>`;q|mJ_beT?yAVEmRdyv^uYw?#MevyMA(hE)b32=Kqg8rqUh+e*~9* zs(8a)WBd8^zn|!)wmA0Z>aJnWtFFzIhxy0eQ27I@ySsav^Q9_O@9pPcwmW18#XaL- zHVTVM)bbC3nL7--@&S%g*6e>fEPrhJzSut(>*SPPxUP4X#mRhA1VnLlRgZVV0cDX4w_BgLIR|h0bJZ!ovSBRO zW#n)MI)o_RfJKHVZND;DwHb#CNxoEJKW3mRqP}bTV!5moPwupFPm5)9x0Nn3O2%9^5tGx_|mKer?!jirRh- z8DB+xlZk9jSJkX58z5;gx59=ar(%*GYCqkga>3bwkQ%=FvB6QQoWU`=fj!U;- zomXqn>)1XSpWc3Pp2`GFtjHzyxYTFx%4&G%24h7`3rXxoQoo<#a%)7|=;l^0xmXQ- zDwgql81|j&0>PJ_O{vIR#Q}-QZHr)dZ%2;pM8*i@Vo)8csG`?B%Retj`EZnrWF$|0pcSGh<7>k^taJ8+*8U1Sz*tS+AY@UF_EF z+j^$7YnhKTLZNrUk(T+@Q2rn8j$|FAdH41@z({Vp$ea5;6nuk;j#!-$SrnG{oiPQ~uWKq_n!0%mjDN z9?hS2Xi3>xqi4ZcBAk3GsRrA|q9a^=A9b=Rv4wG1tAAe&B0C)9AHNs!wAq=_u6IwU z%IHnK&5+cTQ&yn2{^4QRQ$)zD@i)z^cqn|;5@-$xA`kZEat{LYQ1z}br+#nFR+`wUAG64DKQ zx}&xshWEL1&EKB279NU`#}3J~NAGeb6ZQoiFKx%*>APpe=&OVCaK`$rP{+L4QJWQy zel30pDLY{;eIl`@zOE6Gz6Tvn4DvIIdW$`&C5s8(AVku`nGMVL9pOm=yT> zkM>(imJ!Gf5YHcS@O(7lhz@ZB-c=B*4mXDW1h(K^g zl`$|2R_l;ashT4ZDQU~jF~ANb8#1}88%}ickX17#pfn%F7<5mtYz8XIY8i=Hajwt`-&K)_lofkzGtC8$*LWSX`5fvlu!e`b>oNG4UE`=)YyMdRqFOstV zQLKl`(9X1NhVM`3?kyQ=X{5QDCE>{c3+wdN0hD;IXW0@hIg>~uN>gmFa_qX`id!-_ zK8)@JM%Y8H`i@s(?NToo4`#zh*O_diTQ$;8Q?c{DtIL$@1Ic@x)i7g%qs)U}EyGnb zxB{oPqrY2gm35j_PLSM=FrrG(;=L|Pe3@yCKPZ0Oe;<5u4;MF{^j@GdpP*5YrbO2N zjJ7)`fn;zAAb+C-piW%05xOjjAIy*dN`ir7>K81Ha&TdsQ+DC|6NzYn9-Jwu=86BY zb6ea%2_Hs~5N)6hw@tjHHyJ(1BSs>{2P2iqgOEo^8~e0llD^g|e&o_vZ8le6CsOX@ z4sJayZvXx<~SrkuBln!aGfc9iHNY?EfRHzSTo-DSeuQV%VfoOaZCE&H&e z?!OG4p7<{R8zZr!ZHT+D8<@?vg#f+UTWeq0d|o|HVkBIfn*PPWp862Gd-V&9c%EHD zQMpEYY{dYi&_Ud#{#CCLYf{Stai_|?qc(Yy#Ql>V=kl34)AaFxrjfoviowUp2@Bab z%pBbH8a01zWCpV_R=)UKNlA#Zde}*6Tl2bc;?cbXj6Yr1lT6Hu;JRx(sy9MpDPB(u z{8GH7kga{^bhqEZ58|rTQgXcfNmVzEFty3y)RJclj;92R*twyUWDq_u-A7aLo z-V5N*Z&b`-`XZg=`3}BCL$j!k30A{864Bl97vr5PRb;!obMkFv$z;lniC&|l`x4cB zUuzC#4#(Yl2YP)z8&$I?`N6RcPHi`-!I0*@NMEIfBN0#$aztuktnCZ(?fUHMpM5%{ z%pYu|=9Yn8Q(=As<$ISDaj_|q%X)Iio)XL>WqoYjsV(i4CLmk0TF0>KS=8eyj7>q2 zFUyx`>$NR$Ltx7~!?&%Ua{lK)Q#iZOx*h{?e*31)$3G@tV8o=wUqlqK9 z{=%RpIFQAMKxUS#wWYAmg6YxD5`L4HsLGQ)V(PH(ZT=O@Vu*OyNFwWwRr0y3Q`>qf zjS~hJFyP9p!h8xeVd(o7Nabulg=ueFr=}&d0AkEvOhpws3c2TfDq%5kBe&&7eIX}J zD{#g*EGC|@LFjV2G|2Hmc;@7LwaX;`UUPlT_C6P1Lmvy&rPgnIO!t5iL_0$52z>=a z*ygmS6Z`HOek-d818I)RYFO=6PmHf&n!>H!AvGel7vd66OM48uT>eqSP1Mk?Ggt1^ zO$5}3pTQ-M4WkUwc>eC@8PA%I`K4^W=Xsof8s|$~iMg*0uJU1sf83n)IT!G0z8 zbe*?rx+LD7*LHi7b|yaO)S-@7!i8WJ-@=A`e^&<2_1PfyL~=Ii>U`K#nAtoK%~&$L z$nDm{64oDmHe0z$-f#5$ZpWhN6J*?pR}mfIn2z<+Ku3H~OreGD3>K6yvm1q)B5n)r zJ-WnMkTyRtHmPru?J=OxZ5~YkS8wyzVgH0ZStspv^PDA?SAf6=yz8mD!y5;+`3P&& zXUGJscc=I)B=u}cuiRGsCH@Y6fxN9QnfC!{6|$5RtYxF8Q7%;r)dA0P_gcT5d29K& z@xML{kC)L(eyFDWbi#!d=6)^ucqY^bdKUM8A#UHtIUpPzLt5ZFoAx2wL z=K_~nqK;qp4a*e>cmud#SV?Nq=AH@$>~Q4E)#l6n zoZY%8^B6z9JUR-ru5+)=nM8}vU34xd?c~+=K&?E?&Jv( zvQ3NL<>K552$stlHKw-5VnQVxv8CF{#oFlr!A+BV(nKKD{q->g&|zrZo%@@a9lDSYaXk!@Lf>g{VkJtJq#_F z?GE=xg-6@`z4_aP(=5=_dr*;PlTz(at!iEzE2rN*izamrguFwW0B5vAK1H+ZPtepo zjYk^A^Qy1)bmGdz-$3SLXeV_M7%>WR>0&g}!egL)6sg{|Nz4HoM~e*uRri=#O)Z;h}6dZty6@Jx`*i==-^d6&N>3EvE|5d>Nak4yX6R zty%Z6Ju|wo)6dn z$fYNY{rDx{55X{=5{?!FVtl)bsDB~{8PwY;4RAAh3+8Fkkkk38-BUO1tv*}fA5t;# z$<}}gR>-Jeuu~$hBARH83RG4Boq~d0jbiRgkf+GP4~9>vHN5Gn?8j|jbI8Z>&EyE& zcqLGf{?(`aO`9ERo6JsXFt=@p>QiY+FsGL8 zmmKE9u=PnFW+nGX{>&(u;<$CrS~V9HE!}GO!~2IcBoB%5Y4|Jmk=+Pv&A5%t-{$_| zt#bxzt#Ct6YdQgT-RT!3(};rKQ*U56ne4&ysE`s7#@`kCTO53fN{yrbg|*fJ9pDG= zMi*xpQ$lN}XTnBIA*}x>vN4yv51rhA;Sv??-UR|ro}5PIoPmqqOBScUtr+_7K8HC< z7mYg8Hq#y7B}0|Ug36r$JDdr-GTDHs2)}ytSz1j_?@C()Zdo#ki(i-C8hm3{SqthV zuHCboag+T@%m@8D85 z3O3ZMcB*Qo$?xFtjXmg~V$Ax`OA}f1MLO`nm;Wmh%db|xN!#;s$95<8^K4Xhg_kyI z7N->GP z!j0J6FPF26Z;AOKV&<+Ma}XY11ClPirlFgvBgehmT&p z-sUFX#@~k~oc8-lgnp-0Zcy(SO$Pm0a-bhwXM`Vt+2^M=q|dO5OC;$JCrV`^Qpgct2XuX-GTdD4&?}97wJG(;IeBApPK~Ftgk=;k zd0H36MvB6$~(EIdzuDjNiQyzy3!BDEia7M7?^E4(kah@ z`Uy%sTp6i`bfJ-d8oIPVt|Jswf1wX`-_2$JT_Fh8No+J+$OV zh0|I5EE+&kvS}1QIZB*yN}^2(qaH(SdbHv@R&*xtM#ne8PQoUlCX78e3y33Vnb!HQeiKT?X^*@4~rI_m| zm0OETo!C!*8_0gx_x89*x%$K3p{orV_b8I|2Jypv&9a^gK^RiczLq3lm}G}KLqaf( z*#kA;b$)bq(DWg-77&Y%BL`c+vbSMDe6=Yo7dc0p8iIQwhslt?bGoaO-gWJ{2|sYE z8)O~zvqtSN$5pR9{!#3g0sYU(B4q5}rXN+u=sVjK5t$P80kNR>;?1ntTWc2#EGBOTDd5yJ${a8%TQ zM+_NV4Kru6!FeRieUV;?@Q;r7a6B44G0=CL z>2-EEfWAfU&)>O5WfPniNoaocZauz(K%<792Y0o3obtCaH zx+y6{eVCWIb;;;*`oKzp{WE}?TC9G|sU6Jk%HHZKd*?XOgBa>xUe73~N5Z|!Uv`WA zoJ=s6y~jLD6N|QPrmEMxbu-#17*UFP{kkI$Ju7F>jeF1%`JKa^aREY&Sp?N;q1@H*9y`jm ze1*4I0KTKESiga;0gCe8f4nOJ<&bGL5+`)!8mBF_7w4YMaXt(T z&PI2J(PqjmdNyPzPOgy%UAgdmp=tbG*AQhmo;`WUns%c(O?cXhQ2t-Bx>CE?ABcO{ z=O;hpZ}R!k(Y})T(>*%1DMzyva^V+SR@2#l+`7pB#zYWsWbCdSBqVwqEnN&=K0<0s zp)_vZ8iWr9ZU$bWtqm%4Su+QrX-=ldb+v6z&(!hV9hK|4QqjtWPGx`dAsz`aUU68Y zKM{wocWI&#BvtLTT0=VB9dsOOcXstK9qyy$ zViJlqq0{$c8Oqsf4eLB)oypc7 zde*{?=#LXE%@GdW?3@o3fHp%n`Lxay|6pUEk+a{32z*_>1GTq`8$%q zv&3p#Ve)1uI>>{?b!XgFy}mq%Q4a>IgYSit;`aM$8B(p%#~G@5b$Q#!`!!zfu9HId zH0zETEpvpqheAqC0v@E6)o1SKmAy}0&wF+F-z-;(5-yBL@{F+6Nuv z8u#)F&C?r&Hue3Mdww-=J1B2_PUyaQJ63^^iV67J>;EZ%W7|P5`?7a*+U1@RbB1oB zP}<^(#kLw<48pE!OX@x>OH3Kph8i#}Uhalb zB*Yy}#Jg_7x4x&2R}RvPtMaXqcaZTTCZfD zkV3eY)V*kpsz9%}ak$77OQl5$1xxx(cvT;hd?K7Ol4E}3=Zw|vtlVWONV-pU~5 z7YYxmT+J@ys}UNN3;Rk&O0{FMZw>gZvl~KVrZY?0qXC^Yok!JHgo3VuLHlP41g!q9 zLr6M*rh7*e6Iue48NWGj^>8V-NXZ zfiGLIc|y&(VHdT2=}pRH@>*l;J~xxSD-=e*i80t=7VvTQBuc!v|NZ z)PTV2z+BhbH(k#iFSGUb2qn{Y(m%YqE-%<)3F*XIte+h?C2f-67~|D?P1D=)G8nHL zt>3FrGP%5ce0dYoib#5Hi?}{KHG3Difu7eyfp5kWr%OJXwdj7j+JnT%%_^DAKMe-C zJ<)~Vb9r+5B4Ud3f-d|&orx#9Gtc=RqyxY|KP9jay~uw;IW8Xx*nTH)9DFLI`ec>+ zrOlsD1p3a`O|Kmn-mv}WkYzw=a%1Ktw3OjqG)rgv_fKqhKuThF@7z#n);|TqDa|=W zbUEhB)34o8Rd`5#5XaF!bB@vLOl3z^vjt?_d7UW1(n*nf_x_ojyE{3yaJwAXz!I_2 ztAj3ex1yQ0F{R!_dsC}r2SdkgY%M<(q2_8oIIF4+mMzxx=Z^iSRIfnuY{u;N*MY_! zwrJ#|0Q~riI?_8$5pI#k$g;cP+vAS%8DK&c+au&%nU3JHOrhgvGbCHB@itziXj6v{ zP`ejHhF~;88X%+oB|QA7HO!3w(>*T=56|n(FZLprByaVhAhs5Bpf|3+Q$380k@jTz z72ZQC?cz4W+rcaoE)y!93O+z-Cmz=A7H1&ZqWK`aTCh2%Ig9CcxeiN>wZ(dHYxHi& zs#quEl$NO9`E7z;kidVyxtOBgiBZ*~opc!NpK%Fq&D^b8ji)VyLziE>jMDDh^V zsNt5Wk-^?FUTl~CCQZ%;;;|97F|S8)1`YBc^9N@29n+-WTuoc;}4C+5F@2) zizXd#;|mcRKA|TJ-_+b^0H3DoC#%Us#Rl?O1)sG)D3}V7rfu?)oYTCzn%=HIhon1{ z8)QBRKoV~c=P+2JvXe~)P(TfD&J{Y)Xp5(0+9u5&+_!fnW$0Pjx$~!bi!LwV_0*Tg zoPS--$iZJcI#}2a0jxR6B}#j7I(`O0mm>n{Jh?nSbdyGXBueM(6^cC~$Qau+^ zDy+;Ey7i`76YVT?r8-^@D%}*RD(gSE*eE$5+ub_89ZKY*>Yn|h*qeg{U3hi_=d@kFDOZ)69-#;$`#mQG-|m9AK9pN}a%ZEgM|<(RJ{a z)^7}ZOx_d^egGZ1U-$iJ8TXGum)3Dqr9wM8sJpv^mwUM`(RZA)=JkjV}U5EbMv#2)z_~s4y z92=$j#On;*<~y%Bb>U%J13WlAd48>lH~v4LZ0`KZ-Q=aC|D%}}vC^#}$_Dty!F><5mwbiZp>s>fi@qdQ7H*;)?7Y6MSMP52C>z$Nsyn>&O-zKgUip zE;=uS{y*j6Got(5si@_+V|>{7-0gBvYpwWpCXe~K5DU!a5cM;IH+i9!Dj%HTL%Fy0 z)7R$7zoDX~#Uv=@Dl4tj?);kR@CT-yO?DWjTKU|VjvMMc6dFeSW*%RT4fYTM2Mv#r zaW7e1Rf+ae!YlC!)={4;@aLGPOXVW=ZflJfNmlWnhMrls$PrUKV=YL>u!C$>F#Sg7dd0~4te(B0(QwRHIo?}RHk244 zfTo}F%QAMsHLYNfiV=!xxgq!(#;cGx+?Mx+Ww_6Mhy;=9OS1Kz8flIds4tT^BB>rh z12B;Em5^BZi`h<&+OuDi5vhN<1c{@&d~{k!#_aeFSN=Tixp^^gCdN=>hPRFzn>ngu zrX8JmN)%D#?u~?swD>XEYd0~x7>E+U^!=X;W|h<*srL-GX=QYa``!1US=_AsjzhZs zd1M50+i_A;R-o$gTD_B%TKzo6o8%YsW*dU=iL5#K)ZZwb;+d*Q*@bEQdP&|oakO}r zba?Uk$W2JzNY&}dM_lm$w`CI&kfV~eeff(^X-*s421f-q@d*Fx^h;j(FY8c)#FI2e z^EP1wYe!l>>j@dBs^FmpsvVlF0!0= zAeoF(*`Lk1P#8Rmf`U{wCo0$9E#05cEilterHA0!a5J&C>zG~Q67ty=Zg?U1z`I`G z7UnniB|641Y)3gId0N7RSJLrAiaC)rd+iJaah2G}%mKw(cvUZrG2lO#6ynzHSA77d z9yoLA_U@qrtqfB;o%6qDdognmxtiw~=iX6>iqpbBiu#1f?g<&eVfMn+{D5o$FWfS} zvmRRXDVmE2n%LU&bP@ZuJ7tvJ6TLKI(2t`_g)LLkQ6tTNtf_Fz}(6p>+F@^HRRz zYv}<-Hm!ta0w4m^t-f*Oa+M>YpV*h+q>Exa11vgtstq0|6n z@-qDZxZ-o@uXKR^$7a_q5J~&yofGo?pUBB}Clvb2n+&N&O_CQ`b*KE052|7g+Bd#p zXP)0|>|*<`B7gS|`nhqn@^>jmZxLlr0-oV*XXi7m(N4&`4UAzAXZYM6 zKf(M%IzcN$6YjoLydfb;2BO;6BY1&cfO@MO`WQOesUxNF6a9df>ZTDHGEi5Td%u$b8ea%*Pl`jIq7+%da5 z$#wL%T^2CYPn4ij311i*oM|hmbyEqvcMg)9j>c=@b<|*y=*@@ef*P;j4W6czkQ&8p zbz(dGOW5Rzq*IoB{Z`N~aHfFQ5nrMyS0KN!UkE&_KldbI@2;<(a6#PF7Y(5t%+k5X zqWCpfU!;^9&)k7%@t6GguACzkr;M}Pg&S4gz+GucPflXIA7@Dr#*LLFU~o;#KM^q} zkneCQ^9`6zi**Zr_W5$Bte7PNpNb`850m!6v2g1lNk9Fkh!SRW#sOAi$br=BU95wn z%|=6AeUo|w+g+B+moT=qdxHlmI#CbEDpBK`zTg6R^toir5~=&F+uhn}|Bdu3_jbd{ z^iu4IJFZq3-8&=ewl=4JsOninMRGt>z3pM>a@kXv+_Tlfjv?d77*jxywHY5Or8m&2 z$CQOdqD^GI6}UPS23!$l(L5Dh#06?>r1JUPRu5pB1Q0?S5h1xi&!Fv9-xI4tw~b^BppZdZN^F+Zgx+<5VL0sw7V4FAh(l^0p8A z%s$6d4+|`4kDU3>0j53bri$g4RZI9IpdR=*5+`@ybRSzm&ESMZaqDV`gRuSwN4!XOc;&s9PPVo)jpDB_5&QIk)`G*Lsw{4 zsK7B**Ksyt+i(kS^4pz^a$kX|eTU_m?8~1*76gTmj-%pdDdFXw?i~l*5G1fb%`$Bx zgheIBy+Hdsi*_My(y?mOwoj&OC`7WtO$ISH-E{x=87!veR$~4^*833;yEFq!w zwkP{}>W3bI+^vipLbv(*lQM%p2^%=}Rd{96;{{4zlZ0~3iI(GZfiYi@N6=K)Z~bSH==``U>nX=9h_$I}@9BCweOLyvn-%vo|K6nDgRC#K7f30ot%YO7x$+C23>5qB^`}*r* zSfwu*!pM@2NeAQ3mA$a`x~42&STzGz)J4ybZE011%9>1Y&-RSB#6OCw$BtZARAuMe zCcf=q9RDan=l@YGf09OLt+bvq5JtY9o1xgJw11Q&yzVkQ$FKqRI4MDz?LH(RjP;e~ zZasDlVcV6%I%`_=!?H0!LOabzoFT@E@TQh`;^6MR1Pa8PKG@C5MHYb_sJ2>CQxO^g%1S;QbOvK!pomVYBH@a>i;Y$0J zeDcJIU9*5-csKa;7Ieb2kdq~eJaM+3bCNVQFpQzwgmHXGVGYxYm@ESKAlvv~Bo3D* zIqUev0cSVOJ*-PIo=>+hep$uc+x(<%_O zSvmi!3}(CYUE!g^F!!#}H9^NgtCdd3N01PU(!;2jI|6WHc(V@Qft#$z@m-m=+{eV* z4zPO^{FFMGI0e)nL#rVK(>qJ$RI0GbuUsY}>9p@O8PgWpLc?+y5$(YPKU}{wejTi@ zevIfy18W2qg~VTEXcMgb9$*1tQs4e0;xfvR*6Prk3{((H6RJpJOiU|(e>2!lNUFbI z#EM{L@b$0rTQ$q*U5O9u{2fXZ8dj^+iIA1YH*zvLs>M_&r_nFLtXhvn7dyb8X9|Xt={XDQ zG)q7!y%k&_4TG)hB96kFQ)l5Fp}g$Lp|O|aLodK$q{K58qghppaJPT~R;}I`SWA=( zQxRzJ{O!q_yIn+sL!EtS({$QR2O;ufXY(J$pZtRrgI!!e^o|gGliFR`XH~E$gC_`3 z!55^yEheqd-x@jbJR>9AwYW)p-Sbt}XZ=_0koI;H9G`F;;EZ042Nf47x9R=`I_dQ3 z#NE=oVe;~x)|5+Z&I~!e#`M)5SAbLV7qGxg=RXQPr&e^U;}~L@T1;&2eq=0EOSCQd z{SJ6B(zFpMb~Jv_ zlnPZ>Np8ig)!p0d;F-PbzQA~!2a|S`6)ky$+RZs=!$E;4LBjM<6mY{Mm0=92EIn6v z#4edw4vLwnHp?nn^>y~E@@+7NWBbVK_*2Ltq@XV3TV97!_6S7t+Zs1`tqzGr{s|nC zCT){JeQ_QVWQ@-bY*fxp%qYJWy5?_Gy%Y9n9hX*bnIcOTw5sMSz`QMdC{X<1E@!#r zsMYxr*$8>v2%65{w4khY>O3RK&oam7RY-^$s0(VBQzwEi_r=7wWTYcb$g$D_$@RXy zcjiuqRF<_)RpQ6SYoe>5amT?*{tFu7R;bF{_PaYJ~>h zOTMvohx8ce?3zG1<@&3x#aQDbdNPl?^~mS{A8U+!M+l8IPO)tbBg-aq_k$L1W!M~c z7<=|20(5sh#8g%z#Qli^J7_Jf8S~p6GS+c@Bc^7W9{H(q!zG#RmiTzC_44x+4<3S= zNlj3~c#=6x&G}~y3PFjpck_i+X*Mn2vRi7ssUF|?y8>hW$K@`_JirH}S;hlBrL4E~ z`=&R$Z?776=yLD4k4z}8jCAwD4IG?7is1+38<&GDmT@pC9~Dbybw94*MV`mboYG6^ z5s$e$_oe30L5mDn49x}3>0qY$JXpj3hTSf zf5o4xy9(wSuLj6a%?>#oFyySB_=ea=QDt!(dSLG?%jZk_`*GB-IUa44BeJpebFN-I zwKy?YUW!&7w4Yi9J5`Y>%Okn`~7xu7AUaY z%#p}q;Y#-mqS$h+i05>eNv=+;Sep4LY{My@)?}lxXLXhCJw>NSix$~lHf)cD76J_m zHs*A--urI+Dg@Z|+xaT{N8c`+C>dS<`@k+x;Aq`9*$FXddCGfeADX&_r37U< z{k=pn-Z4HEw9(2>bxTE7cKtCk(I#G=q@s!f}6{Yn6ZE7_l{6> zuHV^E^*0j%aI$p3Jir_uKkTK5nLm>kMQ{0fR0f)+hUoGXb-A%-HLOf8M?GI>^(Sk) z@ibTQiaX3Ns`Ji-D5o6Jm?e3k0GB1tCAH>0d#S$WwW^0$u^yi>;dI=+BxWR0YOxuB~cNM-KRo3|# z{4QCY#-20~-*O1~O82=*HCNs{`LZ3h#VQv4Ez9}j}p6nYZT7fs>i2+Zk#0nTD99cXQ%x`C8uR6KRFBHqS1X!J&$Ex{?2e2sez|+va^(gLBre=bP<`)-IyoyCR+n{aISWf+2eE_u72Q+fC zk}qK#QE!CBu2Wtpa>M|qzYgsTM@5hEHm5^ZU=q7e8r?097*3(3G0$dMug}}f&(w+p z=YTjt&Ch1JqF3_kPqSMywi=q=J&j5td%W8d$Xccs0LTSrKe-FILMJl<5zDvf;Mh}P z>QPN%kWwTm9|}B$CVUT%wzOC!wC-_Ld|l4UDQKuq=fYoNxH~pRzS$Nab@}L$CE_yF zOJF{(H+9nVscx~*qCjYJ64~0Pe<1CUAtjoOS+r7pTlFHCxj~TA0>rW7{4U@g9BUEK zn?zQOjnm(}rAUGWthtcD$VbV$*M#Y2JifP@3msVTzOq7Oili&MqDEVFIvJP0 z3~bXrz|9iY-b)L~^QoqPIFolU;m7)Du~;CHr%B^sG{q3 zEQm-vHi89l75QSzb;G7I+r``{`Ha89aY`Mq1Cu;zscigI z;9se_bup3NIX8UD|8w{vwfL6(-+c-Yq@DZ65fAumssQD8X{76-Bzt1+@58xoDt$?` zg^P#fvcPb~xRyP$^U6QUfK8o4TNe!cuU8<|L z6Ta<}*Hi%_7dB_#^Qj)yzYi zt?z0FhQSfZ7?qU}u{?#1YnCdv{U0Af&e)E3DZWoL+-zKLH&DD4)CEgS|CkSh@*ayu zv<~BKs_j-=XvAk-|MuI?&7OeDOWg<8ON4d%XS}vfEQ2TAJHH8^6h7yEG@;Rn-7f4> zg6~xaMpT-GJeLNrgeembt6bl1?uY93Jad`P7x5EPmP}R|Ez_~glNjG&JrmepbhTog zbBFlr8XKo=blsWh-!}YY-mRJHF7o)HJEOHcumzjUr*|Qm;4fQ9C(9FY?JqupwA)f| zr_B9SY17*Jah7T)JkjSH^ZO`=4;Arlo$~4FZ+G*PBt=0%u;!$-^{&rv5O?9tQ$x~< zGtpRMjy_-JuX&q4CIZqiX6t!ASlr1Lu5)31czMH-%>1K0#y0)aPW1AtDk+@ND@48b z6y5f@i9i?)A`>cFN>a@x+7^xB+9@ebKQ2r#j(q@g@hT5hm*z&P)Wp+XU%=K}&NM;L zl0QFwOg-4wghqz(SQSwX-mk;*8KnodUjEC4dgBE*7eP_CIIFV;y9HGzhGohzOBhG3 zJQ`fzXO?a(LjY@bEcBWxGc108Qr&kbj`K zoI}dvzt5veTltcaPFdY-e4+%@uJIGW_tZP`k(cVD<#Zo3K{&8!e9+0nG<|sFqdP_% zrOfOxV8juJ%l~ec#`N0J^m_DrhD2B~N34cOpS5BgrY9`P^dlazZ6A79K21C=2Fw-% zW`3|f+j6gx^nS(mTV1_3#%A7aoMfsZB?C@KNg~0**pf&XVEOU$K77$Z=x2*J zH~I$9!pX9}1Rpy`n$<7G>iekQy22JG1n$xNt3i zyV0xdao=ZUU4J?8M_&@^Ck(*5oJly-`>*0ErO)1}sDf`XBS@zZjZXzjl?CwKMHxzrP3B$4+>^{I{Cl zKJt}L{5jz}^t}INMe}oVHul<2s4Y0_rRRdnHtv+=Bm+hKaH`NA{qf}Tn1$bds;RL< zXH;pY#a~VLw{1V_P`QRW5MHRrM1F>8yo>#Z# zwf(j3+t?xG2BNQq<*ZtsW%OC;ZUP)#Ib*`jq{z(Oi#io<1l1hC>_=ABKz|Ym%P-dUjy`F~tva;%{>F@dTv! zER@zf^qhU(?q04o_W41C@>cAF}i_tPs{JQYCT=AK|^SJWUrxU$DiTA!Uxu$x#UO75z0HsId z;p*yh5vQ5HPrj~Kb z7Pmv2Ty34`KsitgL$P`T`R_MA1ROscDiSL#ung$ZC2af)@ke8_j6ZIXZL=-n#0R2Q z_70{MJd|r>4Xt_~=PchJ$yEYo?DV$pC;Jb}i&J@_hp6VwA4Mzhn5y*DjrNN8&VZRt zyJtn!6_=hHt?wWGSxWLWKy@v<_?=8ihpsnteen1hNPlsjy=3|ou%!ASV7f1Ri9zxMSMMg|J+Tk{5q@FS^w_vm3L9{()nfUPK0mUiM5{9gepz%JJg1&vHHw5joiL( zKHt&izOr7yGe3)Z<3yLyO#i`Y=vHAjAw5U7O}gCdH?;n~SgvKBbd?xe*+(jef_fCG zHrF@OJ8Q**6=ttU2U5;4kHiG6A-~{&z%LP>L#~NFwU5*i^#~Go5X6pFw);_ZShO6= zo-%7dP7A?ukJSpY`-C7k9V;TthIq}3gzlo|b78r@Neu88bq~<8u(PNiKRb1Bi@JBT z?n=iVvKaAH-c8~aEutszxAF8`UyOynK)&PSL}ZRd{-hFIq+y|!pJ!v19|ji#yqFFp zX77#_tCfZK^c_8Db^t3mV@xvEmfRp2y9q3*?q1@E0dq3x6Q%m3fXLDA(jl)VRx83& zJ_`^%pzWnfeVAm{)A(a}pIs#B)h5qo(|YXvLQ_+*7Jhy&jYSUz=v~iQ8jYAD?9!E% zS<=m2*;~vCNe#sljkrB~t78GnwePag$<4e%v?ggQ>RO{yk<#6hN9?@@6{gCYmI9w} z5pNE>p4KmIni}Xv`D9yN{PsZW_3f%?M$RD(B&_24Cb){yCVS_QhWe$4KV!)_uA()8 ztl5SZkE`YOnHO=-f2R55%(8^tdlC?%KlMLIx}qPLKDk_XNJ;&*%L#ZxV2g#=(hOc> z#Cz(5#Xp&&UHhbzdjP91S{pUpj4D?#F%>waQQ9LpX`8ET?|v3nF4-`>lX~YZCcuu_ zb8cw`=jRJ~O4~Uk2H8g!PFe|jw1`4|Jd^*mT&NGI0a*J8N zOBjxym~+Dil}{I#%Kb-G7&O}r8~An-Gx=fl7aI(-(DS=>A6)C7^Y2?NtzMn*o0GVuZ(I2}tmZXn?!Kneo$wC+iau}q zr`{)muh&LWTi7LCqpJOYk$@OC5#QeuG-ZMiTyXi-je!pNz}yC%M9J?!Lll15=*4!P zoaRI5*FL-x7UzO{14#oZ_=KiK1Cm6*u%2X9ekCbm&8pE3nUi4pfX_I0Mam&tJt1RL z@D3$Y&U9LMB$@Dql0{DR=1xa}FbWfyTBd)qHsh{erwplTi{TYlih67eW6%Ml+#Sk8 z<4t#>lysG!9EN1N>h=`{T1~G;0{J<6ce#izWr|cQ(tG|VA3_4uU0O+DjTYHfg%0W> z1*&+)Ae^rXc0#)IEN^e0Ji8;jOm`jUqWRp`Dew<-Yjqr3iy{296ph#Tv=k#_OpM1v^ciQX~QIv%vp}mHn zAT$y+SD!yue>Kvq62q3{Lz2x*EL`IkaK7OK;J+_fgA#WQKS)HH(x?DWisebvsI8l- ztpP*b1N(BWLk3hMi-<7zjj*Ud2#lkO9K~0KQ8U78Jm{ppD+cy;zAGP;nALN`@hol3 z(YQw{VXnRjb_iyo1(xr6_LQVJ3(wJ53l@y526Gxv+gGGu^P6!%>uxUz<6t^qO{?vZ zyIru#VLax!$^1BNi?NR(r#_n&hLnp=YLfb&qCx0B52^i<1~*?n=~OP+fuWVxxzYgxsAQIiL`fBzg88*c_1)`-BpzL^9y4X(x378GV1q0?CLdzvQZDxM^tiB zS$$O(o#hsLe-qTpP^>T5?z)sSS-d$SP!5i?f(|Eoc;gKFb$L2spq5w4^hoytPz?>C z2{Cc{d;M~GV6i-5AWgvQF|kDWFN~nuAdfL-Z(^2Wi>s?b zbBaRYu;faUs4QRkJ%ciw%f;LL4en2Y>Q6mSV%5vPKr`p>^G;M~(2%YHF~OG2C|)Et zi&S5QuE@}8Y>=`GD*whFy052#e}`|oYN8}EzX3hF?XRFZ{egEAQC=W}T%2OQdgfE* zZ=+5#iEUFf8e{fyi5bw}lp8=`0Yb{a$mAt-i>R8Xz2TIWrI(W_8*ORZqbi^Y4;cL} zPKuR{O5RF**gE8l&BkXb3Nqu21+3o3LG7|XdAaZDOjx<=$TXu*ioi1Y*xTQ-K5FRg zIQ|M$oa}8pRi_je8p2*5P=8J9Q=l}_RW$PaqH7F$v#IPJ9vZa=uw-XRA-C`KlsF># z27!fOISG$uADu??%H&h6dN`DG@HC>{S`ye+TXWIi02u(XkA{*eO{2>wgzMrkGZ)A$ zG%p&PFV?d1GAn3!ypU4NmTq&bWEK!-2KQGrmXapyR*#d0)Wy|gsz=l_ttZApB#geP z132dPL!xY_UXwNSEWQwC26F=kp|f<<740AjmU%{2WB#5EArSqqfiCVhkVYVluq59I zypIiS*2pQa8WByn6ECXH#4|I@wS7(RYPJTFF_8(O2X=*V%PnxmPxo^~l~F6z)_!l>c{iT!r~DytjM zyRtYYSk9VtijA88ETpdBM7R*8` zEpA%WWq(IPD8_^-X>MK8Fm@VpaT$JcG`|}iK`R{q@cFR zgC^EjKyi3gscG5M6iLAaQ|Xy6-kTgj0_x^ZCTos3L7^`}PPChO9!YhR8r$4L41H7A zAuoHeqjO9#FLh(C+*fu96}bL0*Duex%}8V{HQLn8cF!%EgbBD7m**uP|%g4tLLw@*UTMA@r{ zt#H@;gpQP)Uy~jv{g$f*sd0u5Ie!MvQj%uVyalg|D=LwOKxc8K*GilwL7*!on*E1J zHiM6v{ji5O(QnfT=L7+7J4qD{N47_ydx}cO3=@b)VGNBvZgzaLG36coe1yTFoe~+$ z$6fx(V;bdts}`T3lOl1aclpz}4NDQvvXxTWAz!Svb-mD?&1PYlsMR#9MlU(bW00~x zu|<@8NUZ1ZNLywi96!G21C-Yd3V@~0;aHcOBvnhgta8d*=gyUO8~`8 zVc6=I>`+19pfiHSpBuVEP%22wSQE*GP)4A!>ba|O!CYgb7?aJBbe*pV(4Kk0mjkcx z>~sSMoGZp?D9dc{J&BnxlH~-ZWP%!rnbvt$rQ#TLMouN%*|XG&BJO{h?%!Zp__;h2 z%91fHAuc;uNYTO)+v|~A(5AB&TlC7klTNFt!)9Rxa)<)sP9U^)m^+kbC7|WXNLH{K z-1T+=`w(Pt2)gY`tO9*B@#$_4%@%*hFP3XI64bR(a{~+xI^LZj!X1)sZB5i`Fv@z{Pbc7^IV799ZTgKDrd?s2KcY3K4~$gnJ2t% z)^B_R@+>3jbqspn%@lEOg|s{vinQ@GPp=70Z=rtgWns9O8l}pV4^VVo9HJaC4c<3( zvLVH#eOEvswS!H*b=vl(}4(Z?X^1ygS*^Fr^sZo$tC^pI=@qeL0 zB5#Gh$nMEX0c}A*z8w<9XBGcc@a#=m)Y$*81ns4SM9S-HQ&)qsC}t#Ty-3sK=F6=n z-cO<|eHS&LW6lFu=?BZIMRYUQdReiLg19^_)Q|>!ad=)n0iXU$f*i|IB!}QDd3y3b z$;miZ(Jf}PR^}UD#{Ps?YrsSgC=gA&;3%?qhS~V7+MazjVU&I6SmJ5BUOSV=ik6H9 z$z)M%D~8={D5;{J)443-iw7eN@pd#wTq@4c8Q}30j)q4cCVP1z5gep|`^-s#!nFE< z6~d7Y^wpPd1+aM`e)&2>}WW91_B0(}$x3V74D10gLM7e1;XQ$`Ct<&4O6} zgox+Fn?HxyS?;->WK$$5XamAZ{Y5!hT46x^XSjjh|KH!Ir1|cEY6syMj+kj^TG#y+AxmSs9uq5uuAsb#kGz;wIzMVv7Mj!L6BGTxg zFonYV^HG|#mB&HNH($2?nFZ7i%A4{ z1!yt`U1JfrX5)rN!{l2?FnRNx|{9Tus5u2qAc;38d0Lm z@|h?3&w}rsM~1 z?0BgE_uW^?i=veEDf=-k$ES5CocuPUM?+Yr<2NDMYSxR1x@Hy7E$xb)^(l)nwg0F- z%Ku08V<`LXSVeRBMX12-E+83;Vl@jV46+aYkk%Bc*<*GfUHk^sI7`0^ zxutfeV-_+^^?*pOE+rrX`gqm6iaB@)tSedbE6no5G_ zW;dwi=qZm+PK~^`aNUBnFeZ`z{VJG)nrj*Z7T|);7VcqPH)i zcn&U^DouN?pJkQR*Z!6@OQUFXgkp(c?Yl)t%xDFa8_$y59<^OZ|Hr@}SpKhKdv-_C z&XGh!_lD45ml{@3^xHPOpi?J z99Cdiqdw!nz-Z;o4@+->Eb~eJ%wwZ(|Cr~y_TwVUQ{P91c;~KUdp9#~j3NyOAK>GG z2vOD%Jk`1zJc;@jB0dYz?Jsgorjj)a&a>KzHx1C(xW#)rYTl$Cq8ZOa97Yno9QG7^ z0uXD;=yEwb`fnl?xQ7bLPzu?qF+A6@ph2mSqNBbo6s>Uy&xqII*@0$SCvV^Fai#rYr9Y?<9E~FIdnAwU$ z6ipte)2b(hsDk_VsOJb=Ii2S@Qk=CxZx0l{8l<2PVsjxX+sVhWUy^I^3S40+M2)lr zgs(TK(X(4|(Fro>=X+Rf)u`{~zU?&AJK42lxaqo^@@#cZGWYg%Mv1-0JxsQK8i_xu zo0{o?>S=v*`Urg-LpR%A+2n%d;kOOV{$G1voF++9EQ>nbCo zPDN{Ln_I0>T!r)hezV@=nocXPL|*zDbDyF7j;az#MKh)!k-pRIBFx`v3oDUgHtA<^ z$!tj21Y=ZXJWRa8*y3B;-eQ@q2^s3|ipqH1W_$U?CE!cBqWpu5qb3DY(-08fP2{p> zTqS5(ie1t5vvS|4MOv&lcdkp@*n$q!3k=^QnV{tipxWuDvB6DdzlIth>PDSAsT6Uw zMY&&}vR$|A3cB&M^GK|hHTKiCeb$my#{r8XB1A~KhBN1T+6ZGS>6SA|)g`xr=Wwwv z)%`@E!Px##0;9G}Y^b<;aAPTAaw27prX)yx*E4DR#xjsq6-q7eRyMBEXSgAaL_CeV z4lkV7j^sJyD&K4o=lYSEc5?)z@!8V*j6-0uz@Bg=#az7m+(OuL(4R#)+_DgE@caZyX#{^0|GXm2^NY2B zLj#e8qU`{OZ}LmKCKN1w%BNa^V=;w*p+>EadC~B=#+vYJg zUqls>xe%v`m}60~J(kx8QvSS9EH9LVHw6v(DdK`ypy~;)iBM%Jf0Dhj5|BXpfgSTO ztfuoy#@|ti^szz=S-s65q#2?mlJOtaiv$Y0<*zTsbD7qI{@m(gVso2PfN0;Na@eW@ zozcQKN6jB3=fH&o7E{l(nhmPBM|d*G(zC=@_MoXVt1jKpOcGm_jN4xuxO;_axR&jI zR9xLzaV1UF3$mqsnGOneO4agr#wq-7N%N#jK&)ve+2(xs^R_aVvEQXF2`QJVP=q zaAK>HlQB<~bCOf);W_McddJnncMxMcgu8{S3O=VB%v=2SbiWN_t7VUZFOI0pig&zf z@v?1G&wKa7)Alma;OXzdGsU?vw}JF`DO2ewTRu%GRZ=}+X-v|PD40mKPwtNr!DG$< zA;FOAyS;MNY~{;stL+j`FZ&pKto!=CY#HQ8*|hcJ{)ld@sYku_IJs8$L}NWu;_(CY z_KWxx%md;CWXv~6x6~RbeI^f(x|O~$Y>{`RUpRq-Y5J6rp)@EU=O$y!G9okG{O^sh zix{8Sdt7{TnJ$26=Tm$DR-Z^4z!E>-omSorfYxnX$ySNig9y6NT_&3}5xp=fZV%wh z&v@7V#;slNO3FeHwa3Rs`Wr^D|D~#Po$vr&dXKcIO>!K#2l@IY^4CIijET90Nj2X%JKeq7#iG+e7Bhj_GftlN8uO zM=b)nqe)Hky?n2pXtX?4cYf19t5}#O$X_f0H7jO zV0-nGRJx{oLm)a;bh%NNUrbiz`Q9~lx>|$o2QLjDs%kKsx&(0*@OKlMq~xMe>^w&e zSZ;n-(Scai_4=h9tj<8d?J`Yci?BqU3bTP}&xCOgtQWoL(n28P3{G&4PgZj@{72Fs zIT)fCRUeu_Mx}lX3||oQj^d9ZnY5E`w(;@KgkpHz^;4o3{BLDmj$Rb`&iL@P$z0B# zHsvKs{9ID%N`|y?=*^23(LG> zF4pc+ljJ{(OWKgttM5h3sv(GM<0OcY=O3vNXn@=BcZ&`VqJYKjqr}tlr&{aA zCR+v*PPu;DTk9f%wGdOPJwuAJ%ZBH}By1jOwk_@aV`ii^nzA7!1B3p}p zp=8phqnI(B`jtBBx45C;T*$HMc#v&&$+tU1X$KJH5QH5~Xl(ny)u?5<7m&00YWQy` zuXWj6t-f(7UJmvvwmdS8D~Nkf%CaVAdZ~8PA=mqq)u-=P$QwZqy!`_+t2720-vCyt z&%qH7&_`Sq1Ywcg1+oMIKzkO2A@m}8_Y!I;ioxVVUL61;ecC_cAvbzy(y0{y23H#H zcQWdYY)hG{KM}`NDcK}jn$KO`LRHuGbP(HY9{kwKN+uU(1410ptMPLgCW;@+>{xs; z!P*b?^u^B7M>USY95zug8;|$-9NcDrnrhje0%S8sS>-1_|0#Z;)-QNFcc4MuFMK$Q zAfV93*hXTXX1X;q>-D}g{y@)cj2>Yhftf8G5^x$rcrj42$_rr3)6OlQOlJG9i5D zj#Aa7-?OEbjFg<^H{#-s(xOs8WFYnLYm1bRCi>(eCZOBYK>tqz^hEHx03jqy4{?lu zN#GG_gZaD6n4m%G(HN0;|L-ON_>rmyTMT3JN z1T>h{@1Qo0Xj2^{1L4Az+WT}_awyo<&vz~tAAuPdlD)=K0PTFr&H4VET^Of;Uuvot zn1i5@unFU20|u@IX%Hz%%Pk``z}Lb;MHkKA2&E*?(_$Yh>?4Du&?1%LfcqO|55}5ZmUH4x_=0Fb zgRSjAdrG%w!7Popp=}L{IC2bE&A_yeS)b-HnB@ocR`=yN7}uMSB!0EVQ;sM$`pt#( ze7qXAB-81T2IVq1=HOVM8D348(KWwFv=8sJSeiZ_?uhF#`fAw}KCo^n39AjGIH4TM+j4n?%Z z>qLreB*@PLuaf!UyDkhzd@9lRoRdiwM%lhtQLf~OxfL0f78~F~{gWdq`G9XdgP`+h z5Tuw*2c}1iA=<%oJPZzLQ6gwdlp;sQpp>3S2@i5H28`<#19MtBW%Yom6wG7jeNQ-| ss*N!~3k&=|ci#aiYQSCUB^taG8cZh!rtcgEuma$b`2Y8j{BQdI0N?OED?I6&kl~1sN!T+rP|N2Lj z%F4(B2n+@W*d``rQUP2DV8;F|*01^%0Amu;eqo5hFPs4o2w?0loboSh`OiN8!mht? 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 zÐ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 Y<(K(VLP`$;hehKdG9$bPZxH|+A9D+Ms{^#6> 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

      RT5hAf-D8F(l9 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%0A+}CtSF_oRFW6| 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 literal 0 HcmV?d00001 diff --git a/static/images/wall_page/15.jpg b/static/images/wall_page/15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..32fdfdf31668b9631caa81bb30543435c2b80fc4 GIT binary patch literal 457889 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


      TDm;u500wArYOt^_d59Ku)miKwoC{#GS(hg;i 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%0D!8fK zn4HzoEK;`9As8lqO0c^d_-Ab@PC-9Pgpnqci;SzdJQ}7*uj$!wm4SjMHAIo+fVkSW z_o^hBZ_;qvE;6E}01i$uRY_8^ypEQJZ9dTLNs0NTIr0_st+BI4wu2*yq}-X>Io6w@ z#=(#hn50>xSgD}xvN8oPn=Pm4xTKPvYLxa#*go+Rm1piKj891mT4gi4rQl>dRWRNYhZgpnU~GQnS#} za^12QF;vayyKQ<5*sP&I=4bSvGNi%h7B=Y@#U(zjIi%d2R&yMjSns9ZWh9jcn=_Bzo44IqG$i4s zMW|b)#6_U? zcN)v{u~TDiCP!NxtraPXLy>H8joLomG976^j@9gP>mqYjtjs#kN|Y>wWK34C#&Rj7 zC*(mVXvg)dGSkGK3C=5R#mc0pTapyPTS-s@-@O@nvZlQwr6}%5NX>CAY#TCT-$=U~ z0j%$lkFr>v)tbhH88_%=((fK&NdZcLcoeHX zB_s{^DGxnAt(P50-SJuOXBL%(VdQMpGz+5ZX#~w=Ie7ZBNyN!$VAxiijwxrMpTH+o zx7?GoQM`Eq=7^oCHL-a9l=BR&3Aqcavi6esLn3H?L_0_)jW4vm?a(RahmJ6(EgzV2 zK(0z8p>B)zXL9g(q4H@3W3c78fCVp`2}I5#a!x8SxVk#yU@cP9a3l&pkB|>6HZI&H zOsm?OLH0m7S4U)Mxq>ok{Bfp5Oetw_N@7J@myD+mudOnuizan_CPt^DIxel$IZz*&A8|GE zFVp@__|9Z!e{8hPUn?JY+V+fB#~z)w{C$Ur`W?RAGpSL%;E{%I$LC4*o_|{V6#C98 zaP;=S?jy|&DYR#{&T%Gzng-i0rQRd46{*zj`7h=8{&3(IX?@H8=PNlD&*QD|A}b?N<^* zfM%9?41KW41L`w9Q`2h?X{jfjqATPa==I7u;s#%w0B4AjNl?sl*cl?5NB22NcGl>O!Mx)%|N%g(+f8r#v5h4m~5S7g-kW zuhcO`MK+0Gn_6R&Zv_A+{?*4C*u@ZBq$m)0HB^_u2~%{;`>gbox|48(l@HPAZEQfWerLW!glIWKUxlGkK1Eyk_bQ)mn+zQHE6c8 z>58R$CfR({m^}dGZ?%i>vodzcrcjwE zXc>BflVOw!cLj6(DV8FOwSOR09gD|vM|(h$Z>YthxdAHqrJSgegX`>d zwNjMYNTidSj)oCdi%?2tXm;(A?f5C)G*p6W>{6x;lEn>4pqGgDr+6iC0hN4_+mW^= zO-gHIB9vKmyd*?LQ6g}Elcka}XBEU<7ie?ve&fsP*4rjGAd07x6yg4ZzZWlPfAM94 z9BIyER!e~T@^VM{3G&IjQIU~dgSf}NX|cT-c{gDV7_C+}O$^AHJ*kHc{{T^<%x(1F z!IJ7tmbEK})d?waU)Ho(oyTW##kn>~X0zuaM{!W(CDo!7>t^TS%aYrF>0dbWQQI4E z9kW?u)Yv}av9r@OOVFLx?E`MP9gREjQmG+NkXmP)I>DlcT@m?JBEF;JWu#^Er&?Z^ zmhz6}ZC*RiYI`3=E9a~J<#zzuClGk6Q!I3nWp`2)fQ|)O9Tz7VdPgh?bZ$f+tk-Ag zu}Lbh{gP%3;wg4lMbUN?w*Vcu6dbp+ifY_Zd6f4&cA@0YIO^C|%#FKMiVrH?ol;*X zFHYkftFiQQ>Fj}Ijs;q_TYo6{+C0Y~3?B8@q+JB=*`|1Hqm|qx#V3V@sKm6v0CKH=P~h3@#!95`@lT2 zwlhTHdm%M((4%-jSxn|>)+L}Dy?lnWXTr3tyX8!|xF2XV2P!|-zsd*XE5h&E*z4np z1;&xndfF8w)_k&m`DiZ$>T|~b0Q*B8Yfly|zbzRWmm*Ro3|5gLc1x>BnFdHDAP_rM zZ$)ifsjZgVP{Muqs#+(e=$*JpAOi!nS0j*$i*$~ZPQw6wDmAm#+&`0rXNr zi5138ZG?O|WWCjF?N8+dpNbpIy5Y!@{p+diKMLCk)3*WK*TOveytHWiBKvI68!(j) z@M|{5(RyVE)%jwGg7yn1>VX=V+*Up)+#ZlNb+%`nMhdO(f>uV>jDcEi4y6YF03uAg zQZl<#DG&g~YqB)ORiqx%t`?Xhv8DOondrB6Ip~_11WLZMNV!-o3@~PQv6QGfjlfMR zuC9jhnv$?h{is@0NbSWLhb1$TjjItlpGHH?tI{|kv|J8Lg9FJFVSQ1dxu#vMXh7Jt za7PvN9tSOFg)u%zJWaaO0i^^KpNN`Z*;YkOQE9ah0Ut=JWUZWaR)SXVKnW@ag`7T5 zYPMcO{)py>aM^TZn$kF3!2&_4C=pUoc9~A)@iDn0Vsfv!lonJ02{{M75{N=hK8RKcf?|F>>cm}k(_{rIB$7abQ?kg)O4~l6 zUai3M>?_ZH%cGGsXtctN`p71!l0@L%?6igCXa3bxmWjC}%S|uT6DF!;8o5wsM`z4% zD2W`+0mzqCMO3VH)9vLc$25a9_IE>OlWu)54m(nQM9ST^G+3e%1PW1=*(io>k$|Y6 zX3JCgCs52{0L?)he!=&L(tl7Wj9$ueKXfbVNs?4?O|UuvnxS7(U=T*x?@jPdilntn zS-iFN%2OHkrns_bi%a~ZP1`7Nn4a}FGI5LEj?J;)a%-K*SHdT?v?V}+nyV&F9)xLy znzz_LEe9#sLbaxe6v+`F3Xfu2OyDPLf^(m0?bxO zWo=g1a!P=!IQc2jJdj?{ldIY(1iYCZ^#1^llJvz{VB-5CnpPIx!&fy-vNBF0*0pc7 zN&tL{YsH;|%KZu#&5%?hGv1xzWEyB3sZq>N#S*ks{^osaD*gGdKS!f^HW$<1QWgl} zXe`i87b&=m*3Olpc`-_|MwvGz_K7yDa3FD+s9Gy`eun;;yC9}j#A1^3vHJ?*%Vv?L zzr6`m@+&Q#G|dJKmJ}c;V0NK>1^Ys$Q)%ICty@PFcE7by)xtc z17ugWXMIGNm3tYjM-8T^OUu^TOH5a*xck-F&>lNXX|OVoH+H1?y^L{b5?v?L09P@y zxjj-BHCE*%K=!71C9!^0tN9iQDRoJV)2vYMND?lc5nMYc!N?p@PZ~&LiGnX&D?)+J zDtMz!1*?#qcJOV*2^cX>@y60BV0+u31Qp}FQP`k$%X=5@-SZTEU!^j|8Z3%UQ3HFo z0(t!=t!0vxAnuxsq>TJe6uUe41j(mpXVaT2QeYm_icy+Wn71#z4R%%qVIygur6$Xo zikx;c=o(Xk;1W5dJibEfN1=uGwrf2*A@XDD^b@&psYjfrmL{r{8^eE2U-IJmwi0Y@W zxF4P?v2GHee27%k*ont9*967+m8t=$Wh8@xOkn5=GG*HY zdx4mx{O&(xYuXHhCsGLjfyE}e(J3SAayUFxWlXQrE;8siQK}^p=*!@a<*msuDtP5j zXC|#^2YYY4Z6acrVx0oXR)sBI$ft6GYf0nzomx@>&5pk0E8ZkYPkPYGD=d2=xHg4d zU6@gI9`Hp^1glJrNZYgndE|j9F-OKWR{sEln`h6QB;cCvNNDu0zc2Hx64Xw`hg16G;C{B z^AmDo^yK3GGtO??-D%fu>G!P`u5FxCPN6~wQcMv~XCIMMU0pI{JeiF1G&_kMdOF;m zWM;Wej>V2E)iP2n^?Ex-CW+rKj2}WN91^)n)(FmQUs>Djf0-0-J~Y!7;BRP1Pf6-MN2+Qf%wpZu zZa+1v;~Q7Bt$DNvtdM&sK6&5Bqj)tYvbsUq!!Eh?O5 z4R&w|!;&*WGD6chHA{+Q+P#4_i)22^f|EEnilR_dd8FbfXx4_)Ra-E2%!&({F4(q1 zj~n1k;m^s)yOZjS!<4KPeDjrZsIjr_&y9|%os3MUm z%?!&Q@^JHENg^syl`@(76*a49aF8Zx#};}3%N1-K%VjgzS*)}oX56%5bnMuxsI)=Ors;-sXvbbaPxzmsK z8TmNh9T>ghV5)L`>qm{+GIFHJbSDa4dAyy?k&Y>c8THDJW7=k8)k*R-`;@9iz0{#c=bmem*|6>=HsxlyX3%Asjs;@!Ny*wY z7~-O=&U{JM6578ERDD3qR#a#TlX$t-t>P1&iTPPf;)_A$ z?A4ja@)YWQKgzx?1mSHL_PC&Z@lSCrAQqCng?eGo;}?vQF_{PAgy+Vk2_lJ9p(wLM@dZOs@RLWr zN(#RU=uG=|q@F1}UP@4ZHXAAT;A4_rnUIo_m;?h_kbH_V^vT*HV`-64krh&YwpnCJ zk_d{bTGAmDyB87bPcb}I4@9LN*R%9(1QTBNK_$2ILEi?jAb;s!^(O*4*_ zqLssA%ZM@UL_%96qPkI3LJ00ZrCYXhs*3!FG~1#OBY-)j`LWwA$7yTOX^V+T+(9vl z22j~_ALQZNiB1)o>|wG^rnCsu9Z>{kNcz#(V@!mk`)pRdC(KsSf!ds5^g`-XgT54{ zfB2=pTUlLB=+EZ{4quVudXDXZg5h@f& zf>jaU`-9mk7(HlK9kX=XfN++AfDBe=0cu_+-X?I&?-QR zR`kYk^bghTeAY|}#TCb&Srz7utr+iIX`2e13F33{TYndx=?J+I`f}Nm>S!&vt%Og_ zY;a4m*bLX;rrOF%XSH7?Xc~7Fq2s0(`3W4>f1bUQf>pCs(A*^``HIK#*Rh5hX;|ZC zv$O(8q?u5B9>Q%bsAhzaOj&6P6-!RbF3-*pw1RP7kFs%kXalO51XC_JHbDblPUNUZ zHKXD>Vy;?k0d&_0P|O*EDD3E89Wk!Kd}1j+WkU>Z%dd$?y-^QklBxh|O@f6JOmHwP zvCyG-RMpJK(x34*(7sK@l&%)AJ5z|`O;~Ow{s8w*6S&uYi%!EKCfx}d&B1QvL$@^F zjSGPXDwP24+$#i;1M5fQjUAIubPie1--x`Q0jE?xCv{Ea80MbY&C05fc-wPtxasO5HJ#)GA&%tDHLiqG=-8fY^P zEvC&EOtT3Qo;qRJ=V&*iJCH${pm`A0hvRfJu)WQvI20yS zvSPLH5}9eW5CI04+fPNcqnm{827A<<#nUU20BW}K3<^JwG%w7kR=i}PTcZY>W0jx@ zN2{_sXEv|zMPteI^mZ>}1(V=}s(!Rm>y{yKkX5KsahlI_aCCi_pt!qKbX%DsflU>- zvxzN`CcRcx{@P`fI2{qqRO3vsO3HVZ^CSu*9Lnb!7qu%r=preW43z8|akL`qwu)$# z0C7B4x5x6-(u9Ti6O65jI*=KVJ*nie-84-}HL*ibmKLOvVrD4ZJ3!J@Res#+ar;){*ta9%QVy}o=HQuG9H>v4>r&H1$7nX`o zKA+5=xToKzJdghXv$?8G{j$^l0J8w*<9RXKTSiyoPLXS@+iAWmXiWiUtfVujr6c?s zw1_18On$ZX?2%IY!TKv#bb-#1AwJ(URCY@1L=F#D=$We#TWwn^gxy*U-Qw(Kcx*??k%oQO2pZ7oWEp7leO z1IjuH==Q30f0w-r$;hIK@!{G{(W7+snYAE<)?=BT*!KnwsB3MFr9G)Ur(q5h=q$j5 z4|)o3W%1HJyMZ<6k&>hdyjP^rc$UFt=vLJhoyx(d9Ce{?StP}6LEWWBb4~EX1<9vi z3%BRKX^uFZa#C9b+&Lu7ezasFcGt)X{G^lZ9@N7ME0RsS09+)6cEvJ-(L;;$f*Kp4 z4uL;8p}BFidm2!BAGF6e04I<;)^9p!GCE;~yL(VlFX;W95Kad*#8W8Bz?#Ll%A$|s zOdBfd>2D?1e8=(>ghITSmYd{z4iblChZyJqrn4<|L{ zJ)r&%*_BbQc$Sjph|9#z1tH5Go=5wk&pGzvGZDUSNi!7t6EZmy_CusEW}uw@c@alr zl}R!NCRl&%F_vKWngLr7!GmUKzT4 zw!u7s-oA0?Bepi+zOqT1j+|wbpNjeZZ8J@Y=>fW_t=8+$YCFfjxdHPdX`XWHrXuCQ zp@Uyg@iY4qMprB?)AVMqh*1ZM)W^^={C*1MI6KZN-|Tn$k*TmT{%nvcN>+L?P*?dR zwm?&W5(n3sjNXfJwI{IMvJxQYG`?&jqFZI=Ny!pB)e=XWcV*TABPX8pJhVq%*h1L^ zcN8qy*xR;TOJ!X1RJM^gCok@Dwm>lwNv^3E!Be4+rS#D4!UoaI@j!VD{{T-FenLNk z&>baUi*^t;#sz%O$mVmC9dR+%#=E!D#j2EjsXjP&n9g$P6VHAkYbNhrQz&o{l#z=1 zcY@=rSX7$!XE{@In^scjyU)PujfsykCTnwr{ah|4e;k$$N;O`jw@t;PcPWBnCcb;+ zF}ysRewnLlyc0slmD(sS#Vt6xXFgB8cd=ZfWef09lkx3DVfIrsKxeK91an75HdnRi zU)3C$p7hHEO0BTv1Bx#K`--wBR)nkIONWD)r?_;0q^v2@ zNl)Ug8=MqmP`*XJiJXQw+?Vias%hOz!QDpPuoNvFE6;4rXP~8z$-;jh`~-2=ZUo}K z9hk~eBYu9Bu5aKG!G7{q&Hyu-i$qe{a@eW?=BSz_1pSuSSWz$ukBX*fhQmw;`J^6CSt*W`81q_B5hi(90jDQdGgB7qW&0)QoQ#nm-D<0L<#d zEn$Dbzf{24n$hu=;Ds}Pxrwbd92|D1a(!4mS!IiPP=T7NQ=&a>?7Yha5Jwa|rDXn| z?S*U{Q!55w8WSv3(RL)_^fI*KZW{_GB9%%m4u%k&l&;tc21Q?vbV;t>#cgX%OQ;~H z_NN?N{a7wY83$W*(t$S&rWBJ~Ul-2*04#-^j8gXz1#PJ+DNutkS~SyI0&d>P7{tdS zdGAq@BNtZDWdJ}51}dgl-6ZAc{c$QtfnJ80?2@*qrlA2vLotC@FJ*}?w${qa5CB#W z^s860Fn2>vU{ttn}IBQC$Y*~tpQ;C{8# z$#!dJ;s}C{d;M$P!W5H9#OVjsz&+|Lz7tYql&JS0`_*k0Hrfd3jQOu52%$5}tWN$m zXnGy6NFJCqo8@HLXQ9JSw}`-`d8S3X87vxr3=fJ|npVp0kaE=_J*j?2XO$w^feGfR zBIK@*yM!9|v$6bxZ*ol&i$zmFhtnj;qoTp&pU67tfM?{Hh8w`|> zeSrA0C%b-nCDM}m#p?=4A*0l$hwQPL*;-feXN{PdqghCN!li? ziRS+R0OzowJOf0>(Gv0x@WGm)`w3K$@Q_F_YsV!__~{`8gC5n@>=!gGS}kdpYH7jh z=bY7CjA}>|abwPrdK3gGed|5R#X-1aIq7#n=EG_;ibtOxS7>R+pTj!a?3d_HX&zNfIw4k6C^?{r zKf!S-fghz**W@7|NsvJkQA=lH{s6kDgc?7N%CagEHKgE)tq&QB`3<3V)=_X%J?WhH z5o^;LH0Lk@6sIx{$1C;}T&b`}aY3b0qUW_>O+f+`N8w<3Bc>+m=_q$_r`$K2G}I0iWSQT$fFX(y*(CGLZa_M?&Lw{}u; zWP&p^L`$IQZ2ZO?1pCzG>Wd$tgG(_J-j#9zCoZXtdNCo?NaiUwC-$*+Shj0jEK;)+av^-tgj|**y|h+=VE{x0F2U%k{V-FP1i0$1w7VOZB&q9G+%xhfi2Xy6NAr)O$1Dhp?%P`zX+2OX;HQl<-*DT^9~ zpvnk?%{Id@43JG|2CdAwwDC+8NdayzVO>4+;1vj~aO*+1<{7rQ+v(lU?Oe@=>L!Ar zKf!so5=3)Z%-EheQ!TadaP~3{awQoN%MWc>qpEaEdyt?NaFP~+a*KriarfkXYvSLkd}HDA z9GCw9QLyp+g*8L#h)PyB2?w#PvbMA`X?&T$(`;-ygIDm+RP^W_VA7qjQno^fEuXI{yH}5b|KKXX*Y{dDE!0T|=ey%if>W5w_~Z^)lzNjtKZ7v<^SV z{{YNenjcNkQ4UBVKowh#%A30E{2h*Ce!6^)1oquL$l+^m|1UK7cFa z{{X1rS>%TN7qP#ttp(nS@PK7Bm&D}ydC+$)HjHDZ6|(RJ7y?pjbIn%^Gk>;iAtv`w z79Jxy@(cpvf1s@|88_qOBs1aV`gy;)89ZCC7kXW`vVnq>sFB`kza7a_$Y=uZBGn%eZe*xICDJl(!a|Chw)ebaW{4%Y@ zrvCs?8BHnjG5b3ch;v60&`-5v`9AErK8oE;*fxvzinoCN^hYHbwZchA;|e0RFncJr z^h;{lDuDtj6PAuY!VBB6>_1uxbNrP{T1ByMfOAy$29jx5;nF%Un$UGX`m;$qk1MO{ zIPrXMsJpXC({#@vl&fwHW;q#KcE`&LiEYNpR3?W~2gMMdxH^PA1w_^3m$tOMOo-}!E z8E~R!6jTuxet|cu86$|Ju_Ka_v;?{`Imz!w<0x{sYvlc4L`)dl^p6)_swaHNEok_1utm)H*DN|CqtUg0QglRq`{pFFn1_$l^QZ+cPPZk+b7 zopM!3)L`{R4x~owb@Rm&!Ien^^0tpWb@MTBvVH66ej;CLGWk_YY|8IaL#9MW#w%fo zrxA8rvZyj(kp`{!B^jsh(fi5~ykH-S_iutxieGv=WuhEOn&hRbE$h~pRe?OK9`qc^ zCgm-cnNT2Z;)juIm8)zcXe5F-?L%ZDooxi!L}f#sC^@?&{mbpPPDkE`l#B7lt2=Fy zw*e{O*Sl(wY!$m>{{Ta2-et;F0~}(I`MmU~D-yYzmW^y1X#jgy&UsVqCTMu^q>4Rd zsiwnEb!5OwNtz?ZVEWloM0r^fN11gENAcS0w;R1GQ5E%kIDVHMM9<{?)`Dy=@V8di zK#&ljG~dPLwBRP?!>rWVx7n>amrkWz!X`~-e^X%S`>%#+cyju_CQr?Io>f~1Y6$eJ+lnU(*gi;#*MzpUe@btOc0lX{s;q6@Cydh`I=vOOyBA$_ zB%hwt&M~qMRDt*JfYBJ^0*b>8m1LjWLVeqcD^QM1Q@n9W1NN0wP)DTQ16K0Ml2lMt2R*s0_afGOa{k}$OM!n&EElsFNl*|}2(4pD z`YD8^*KCj~O#9Sm<9)VRVP!a+nyO3WICXQQ+1(bSXV5QydSmq?(03hb9T6!n8wu-j{(qu>{wOs?V{iOmuFt4oqQ485p{l9Sn zf>dU#R*x!f&QgLgxMap_t&wZ4tn84Kle$H5Y$6j$S@9%H0T{urGTd|Qv`mb0p*#wM z*iF(II(FB4fy2q~O1ZfyQP{;cjUPv~^no9}W%)TaSnJT!V$Rrs5lS-3$USWgR&4>a z#}u<9i2Dk%oxJfvN!i7xXJuL9qeLrb<*NkuuPaVS^KpdD_FkZaU z6oojTIiA(@UlGZ)k)F?urqVMc4=L3kb~&wE`;uTybyX45q}~b%%+fC-3Oj+OtkpCp zPSlCuipTQfwjGJF(!oJU29f1k3y$^{VNw8~rnV6R>J=k6_Np2#i?gDAsx(gNg7rlD zNsef|1#`BnM%G6liqP?x25pOJfpLfv-kLqcTakUk2ArZIe_C6a1Y=Dr45WgHIf@0U zVJfH@s3dJL0iy7Nw;l z{n$h&(&YXQlA<)7IVY6aFc1F#K&W}UeCL0JM=Q5t*0BH+9Mm}9fo@-WGp?mnp@v^} zMNY-tO4>a^G|vRUGRF2*wtS&sB*7oO5aaTWW0g7!wR7nk6~!GCvPVI2m*Bd^@!*j_ zb9jzw(QGmn&B|OKF%*^JaCFfrJ0TAQubPvMqKEddm8-!+CWXlgF2^e+eXZ%mLK3E3 zC1_sNY=VIsX_p@*0p*RE{{T{HJCd~oR;R}D-Z`gY{IF>m-lb$vvVt>Pyg6f<37}-x z$Rqo>n}n$e9OPA5+Qhx+hFGTbK6okBO3*d;G*=cw8kq`b**6LNzx_iMo&8C{k28t& zD{=n-VEzteid|1t+1;a3uxjB0^MHPbxUY=l$MiBdKZ93~C)LMd*I#ti$53dha>+z$ z8hXDKWU+!APGjyV&x7)x{>|k?Vaj|5bA6E2^Gxe@0Z1R?fmhAgf z)JetKDPAZmAm(U{YKo^X$FNJ#6}P<^9io>jd(jb8a0DDo)adM{)~M+KZUmAb&2joE ze$PetF#iCVqA>@IMSREgJS&jL94Bnmb#@VPrmX}_rm@^(+x zSwF3B-cPH6NX=&Zax`QeWVPD$lkV;yrD<5jZ9HOGI4Kc~x@C-)vsQN1Jw?z^B}#3x z5PQZeBC^Ye#dKev~}cgVXF@VX)zd=9KvecEHhoHTenYO%%9LaXeNZkt_&MPuiK|M|~h&!iL^xs3H=QUck3*6%{1pdr|n-iX`p-005WC zRK`ze6l^p{x8Q-GP~ucida_$bRDNH`^`P7xsG84m;jr9eZM%|?X*A19mW!>o zBLb+CEL2R&cDRx!3Ka(Q6M-i*(W`3Fbv?rLZ%~LLNyoQNn%qawX$bIY7XZE;GXh4RLx+r5+vYD$3Z z86Z&#R#g<>*W>biLq$j#BrD#$<+99wa@YMyn{HGTaTx$rZdIb~{^k*7BMK^yiW)@Y zQfZU5$pSEcYN|(M^`NzkDk3O6ryl(VT2H2A;}jER)vGUCq()CPG}&w=yDhNHMkEu8 zE;e~zOQDDjJ37TR;I zCBZ6@6|(&`#P5+dg#7Hb=)rAXg%=95y1t2$KLW>1F}$=_U>t&Q4GF-{^t1IB^C58T zYW^MHi@g`fBoY%5MS1Qz&4$KaBPw|MgLO0HUOL(As=(ups5*LdS8CuH9Ms%Oli3a8 z_n`j(txp=JS2-rMD{6oOPZLe>14_O{y+nmJq(sQ3m^AE++NwgW!@&wtN#OBLAsa{; zxTNiZ?_QM0^rJCGisdBLF>c{Qb_RKqO(3)l+O$v8?rhdsRv^gzMOVvLfuoSWsHBZ^ zpp>sWSg}tJFi+O9enGgx6A9qb%QU`Bjpjo)4m499TGW`IVry9$c8Y7|6=H-^w!Ivu zVK_Jy*P?%Ix+ZEufW&i9m!b*|FWGUI0(lq|Jk^|1QQIs90-OvSoYi%*jIXlvTDF4% zB6u<0smN0ptEZr@n#Y@cYSz#3E*lyD0IX2i9Yy~DW?PEZNY~|mxwQWPX|U7QeK6B) z1Qr{0xdH|N#Zkn|88z4O{{VAe`jh&L68s)|dfp{qW|~HS23inr?nEJh-X>~pWTlNY z{GS7ALj52BbAeLqq=Bi%Zj~df115c>iikuW?5lEpCjiY|1+(3>z}Jb~3Q}T@#Oa=G zHAvF@7q?Pab-)ZQ-YYfwpC{U&OAK30{#oo^mTP5$Nmd~P`d7m_?((`fd=>UD>=?jp zL*URqC^1zqa`1ziB?7U3R8$qH9@9*)FGBp!ZJBpiT$c3P*C(7B*7(>dWr7iBZ={%` zqudhGbBM({VMrbCs64s8H zSwjAm=_^DQgVt}Q#=;LVOR~eOu!v9Lk=-yzGsR0Bi)5PsYF1%sGAWh}w901e1MQ5T+;yvovlGFANalM5?M$%wS z6Bl6pKAye`>pZ0(Nbgo9@qzY>(ANRl~odLJB%1S*DRXUkA)|KM15<) zDWyn~-MMfhnKc<)c8-?V%|oR%?+vXNEf#NP`%qd1gk~ za@Dv47@#sUtI>RVQ<2D_{{WINNckeXN7)+JQb_X$T`!R|Ry0#Tz&x%M6isNQeWalw zVxe@)psmwBvu!F6p7rTZMBx-)V$g9DLr*Ds$D-Haf<;r_*(#uZpvZ%cXq+-C$c4Ma zl&H-$#_a;QuwBA{O15`gZiYFUwQEyLhxWE(o)p;TJ1Ym8V@&P7B0IKA= zq|s}(cXpX(VoZLO3*8Z)-4FwJK3nA*q=Us8@!V_!)TlqFUI0O!drd9RipsKnQ0=7M zg&<0g6pN9Hn=i#JQ0b!I1*A5mPi)d2RvLCQ;^o~k(cn@7u|wpEY#WjbY3>l>W4#5LXtgcqY_VJ&;lv_s%4 zqTCkW0$>^wl@8H8h4qo8XqO>KO=Y=IX|ewR8d@0{GK^BGeXMC8MGaQh&1pbUJbCqH zS>f4e$a?ol3T46(CpES4Jerab^C4SC1+3c}TjfZN#LayljX$Z3N0JoXe24l`=vV@l z`3Tx0fz#2fXfA@3iL7rfA^6=f-%ng55O|~+mctTh1})XW6co{H9haLq!J(K;NqNr^ zTtw>18i1D0D*P{GW#~uO5=Q97XgIFL`IGjAHxKc_5zRP?`$f~0VEKe6t9zl2ad_U4N87b&xDM9JVQGVI{UnhF zX}YS=ekmpBU)E5Su(5(j;=L661j?LtBHb+@lz=f!aj%jQk|{V!k7E>69Rx*^TgX?% zdQDZ6l;5EJi~^s0Qm#Y4VA)-vj?FX=3_pEO#7TEU$li25{UjmQIIH~)zqAop|k@(^9ptP zYA^gmm*p?_JIu=Qapfc#w|uWjuu;U?Gl~BIkW&8uEpM4S{tMwQ(2M>6n#!f6Nv?5y zplqgVuf02wyXjh<9BX1s^7eqbV_(MOy&s-mXe1RO`$u3Yw1LfMIWwj=hoe&l~L;1DbGpJ7VO7!K3)Hab%SBWU0C+ zS2V%lSr*AGjTYL}2qV=mQ`NqULd*A0zvtr~SSdhdh76 z=D+gD^WTWw8+Fh60()0lIOk5R z?V~CJXSvNrS|e^wnZ9@%alcCP=O|a{UpoC)3e97#3(_|A4>G{}MSTAN_T@Ac+Z!>> zX_AhnC8>oB#cnvVzAEfyc{TM+Tg01kj;VRX&Qb`)Z#*3Dh>;0J{j!Ovcvyv9^v9N> zN(u-w?kgkbn#atr*r|HIgB|O8Bc}B&+bBs&RI;Rj>}zx5a(!+zTLa|9%1TJ3rrxOz z2v_AJj`U37Ob$|Vbp8!brL}Q&ZV!c93fF@>@^CJG6LkwGX z8DXC$fdAfOZBOx_c0)29IWO)&_W<-RaIn)uI*sY^~Y5_TnXSB4?MJTROtT{cYJ`E28#zU2lyx9fsOY1!$fA}3z-ALMDE00RP^s|z$O;ao6@Mpz(+6&n|DIC&V zv8E3f`3SPSK|e|sNSdYW`s65A7KkuD3P&gDka65yFTBpJABfI7&1v#L8OpsHW{SwW(ZbRu6Pn8A z$nbJ3jG(e(XlC%%@UwFDoWKVavCO~3ag>lZi=WfT;$Q0!ZEwT5hXmFOCJ(2YQ5)yD z%D@P{2vC#Fa#*wt->ECNK}aw`s7D%1v%R1epuNd4_of(C6utTtubd%E0-Iuu(OPe4 zRMn4^;ZRJ2{b|o1?oNW_AZMPJ(eA69MdX=)H zhXAi;jpC9Zn@uxc=oiC1Qc|G_eWfIW-xZMOrT!f^@WQySuP=U?n{_)P*Qm7{WTy$Z zQT=mTJ`}#E8Wa8sK28c;pR9a<8z@PW3rkTed zWu}x0LMA}x6-1Rg29t|aUbWjHA|Q$%CHo_Ba_WXX34(PCAP4^dv^59+0Gv|(ME=Py z;g(_4)qYp|nt&v({)M)lW74c3} zZgy_?%dBX&tZyIk)d;upQBjmd5WSQ?LhhtN^C#MwVNF#FvewL>t_e{3pH0v~Qb%>(;bOj?jK`rjuLMdF#p zx3OPXunP($IF2Hl@v~D0$hT%w)|v$Fd9>sSFMu@7xHl_Y)Wafx(Jd_6#i1t z3`=&x4A}+cNtvN#l7g||?)x-!_J!vrTQEjz(B!n~md}X&#s2`H9`{au*V5_=MDs?& zDv%yX^wU81k%%WTM8T17;e)P_M9KWWy%PotnQh;}N!_de0IEM~x;iOsWLCYBG-C>n zrE*1)lWSz5A~>kB$SqYI6v34dk9z7Rnz~^f7TCXWBmj}c3(A^=0%Dxqvr5pd00{sJ z%X0DrMbPu7upkg46`##Lo%S5FYl>ZxM?PpVZix646xq+3CeINSSr+~d6n<(*hpmu0 zs07uKR&l?OWzzC<^`fAPGCO4jxeA&kBBollP+z3gITaT|e~_CE2?S8HkW^zq23muT z-qb9ad~{0S1A=Ral&BYaB`2OJtX|3{g>6J_Q9Y@?7N`xXV)g60cXsbgu|$JZF6tK` zD3V1r!;FqeDD1nTJY8osPa+*;5yowx`vC3WeP}F`a*v>;qG!=4FgsAOdm|@mgsnwI zi^WC^)9eep1(W+(a?1SRZi=HWA~`Nv9P}MbttkZOfk?S{DV4%fUdL@F^r2}{SJsg7 zF@B0kxmCW~V2m)lVpp`?OSY_Jp~nyj)c zt9$A}nzt9TlJq2N;K4upHK5^u=YN4U^#I|=dUpiqU6TDE)|}*|5@vzV5?I?_!*=eC zuxJ@Y*?e8CkX|TlIjQ4YD#+3nbyN>lCYtfs4ocmM_bT$%tQyhy{j!Tuet|cu^qlZfq7UeyH2x9mr}g7F4Hnq!aA*fk|=tBK-sSEOE=_$)Azk}=8c z-nlBGQgx;qv;G)N^V*i@R>5;gL2uY@(P$71=Q*Xh6Bp!^Qy4T`g5AnV#%XUV9ij@o z*{Eo`fb!6ya7ARfSa!zTe3eZO8g`}MS3XspQ)$+00UgKNhQ~s7#zWx zWBPj=T!z2<@^_t+{{TxX9GJLC)9e!vMUxoz^a@qwVyDZSh-NAO08T6TK#g6^&7LY8 zWlXO#w9L<`6|u?vYgNHkgnX9Nv{cd-6!?KTtNALTRf((7qG%vv9@wnMEOCHmLok^X zsn22kZ66GMBD?*Lr?MCS03j7P>6WK@VCL?W%E}aRG*idjT0EuKME?Md$s4e0zoc?f zZD{6RBF{kSNR(2gwcS2BN0aQlLOI(+ug@Bl}$+ z6zL*OKf=_}#VR;W*-6Q-XX31pEK)9_>=gcN_N?Z9E5j-+Zqata_iBf)yii$i+C2&S z8SHL?lAO%atgxW`b5vhkIGoVS?Pc_s6H~UqF_BC#Odlj{PSxyElp2Z42^3 z_AjGMhwz^DtDaRnK*?`HVi*KWS6q&yJorDZ{{VDru4xY|YA%nPZzqRRGN1lo{V6Z% z4jSfhzN+^h_6gx+`g5bwHtsca+8$#lbvuOiuar(N6LFWcYGC`TLg!y}&;BIo>x%}? z+m?UgEfzUTsmPD76x+jd-vgB#-w#jwFg|Y|>f@#DY|Xm5!Os_bD{ozGpZ@@ZoYkUmG( zXs+qpgX)qh*y)weak7%rw3GG~dUkW zjHSejMrS>JXJ$#_y|&GDF1H7IBDR00XWNg}{2q&L6u%>{g7>~|iuIC+C8bRv{ZEUo zbw9{lX6Ys-c+I1mJz1;tBhu(8n$iB8%IC&WY^y9&jn|_$VbX<@IGH3?l1Nb`mDl8L z>8(|E&m_(X{itcu(j^HvyEX2ay+y-~ttXmY%!=y9+_Iy&4bD;?s#ch8Sp&99NA zS|-$64(WT9pL!q=Mj)6el6*<9i*n z_IDv9cceL`vgj+@3^izyawdY7N-z3np*@=9+PkuR9a9MaVg)oOCbC zu{%{(Ow-H=tuM&2aHG75?@gezRFh1FDBP?bJ5<}EE-CE#wnQIJYl=s@#issBt~3D3 zerok1K9`_}Pjxo6($_zV(l4C0Qok@tpeTHblfP+<_+CPMPuu9-dPlChd&J!!^xsxn zwAJ_!myS0c#(nFvo;pm`2doTG3-9^%O-65!|)!si8M|rP&P>Hi%lwR(vW-9vr|@A z7}FVAl>l){<)&R5Cyl~;O+(RlvrFl+r@B$ZL4ewT6%JbM!oS1+0J);$zqY@F9@bkZ zxOFNR3N&{a+*3wdl?C-2U*ukWFrr5jG|B)HMg3`!ebE;v0!mPzKdm6x(9u+DO*e1Sx`hjhi@a-+0m+7?yTQ&zE3i(etRGF^f zw$%i66q3>UQ21Znpsb#ZW5lKg#VRXv;ODwCT==BZF)cxfx>3$+eTsi#6v_%x*-h&( zr2VSsNP*Z9~J&h4*gY9}RTH6&6W1otnBxqoTo2YWHg* z)AW9{Ys-8X=DCtxqEga~h8u7~MJ=DQ__{@_TsV{SCa9mFjBEVEXGdB7FH-XcQ#hqQ zQ!2%UBomD(WH*f#)h)7-9ff@Bl{=B5y{(%o@p07YMb;KH;>Hz!c&Qk&GRG1s7RDjz{f8c4&;Eigzq*8-SX+ z61@Rtk5D7)30X)S(eX{I0G39b6&+D2^$0a|R>-M0xo915ljdOZG9rqD(K>y;(`WE8 zl@_hBAx=*fh5c7Ga{j@5E0p4wzR&F#Tgde`{KzpAKMs%fDk@CMum8W@f#{HJfMie-sn z+)GxM2Pxo+qa;2^soJCxZRvxV;)Ik-ZtB7oSB0g3bMHgt$7q^vEMm5NIDlqpUPyIi z>EEK_79kfy)wb)3SS}1Bl!N;;V$ImcLd3zO@8IQ!F_Or4ct@ z(vs^+1su&h;qn|>2AnmsC)Ko%z+M#qLP^DJc>Is8j+itttaGBpi!uQnsu>-PAsSi^ zTUzdqPc`VijJ`golJ7=l<*kl32sJMKU6f|W8LDD#v(k^-66*;oN4K>dkCX8sWbimX z-vXuGvXWGVBz)qSps)1Kd zBomP|UNjED%X2Z_ii~W9QZHDzNgmZkSdxpT9k;*&GfSo%ohn7-DhDxCHD$@Q=;7Bf zij-05NF8?Q2_k5maoJSmsugut045Amemp^5n5(GVK_nV+f(3GW74P4Wp^2vWU{fht zXeZLHm8D5hq5084982`Z`*G>)GfDDE)`Q==EiC}IkwbcCAE6VdnPrYV&7^%@@B-rtwU+zdr zHJ|2Tr(;eoN)22v97KUYW0f(Rk7Oz9`e1dXLM2q^hn|`O%Z|MW7fdO&sRTqE*0+h0 z)`}x55_+>v^qYhv;|Kle?-p(@m@a%t{laK@US>=|ifZ7xgI{DZX)gs79l#NeXLwd~B9 zuc3HuRZ_D%%f|L)mLS{T7Kp-5D_@uI$Jj|}%B#_;blc@kpo0~U=R%te$1Pa>rLIzv zYdM`zb~krn)|4rGEKZqurQ(N_OO%={g>4m07nSZ*N)1^BvyIT1uFtAQDfbWyHpFYy zlsr%AS`1r=4BNegbjyIGrVLQLh*LQidk(Vc+8~Z8e511EwW2Gh_J}9FPaFzn>Ffol zK9x-OrWjz*Jn4%1ijLzQ{{W>t;l8s#d2i4X^?sFYP@2->e~^Uqs9MzADxX)Z73R=1=9p0RMYShtdn{--XLwHJKjLkx6)sdD|-9#y9yry#) z`cnL;6DCi9&9d+a2L^bcCV;YJO;}#t_<0Hw6cpoW*+i$>Xm-(cA`p;H2Wmsgz?%)l zH|dQwTBr&DswqBRICOH?v*%o2m%3O=LWkl|PI-za#NkoM!g(1xaoM0bbQ@;Wa1Em- z2mJ!G+`LWZlNiEFs{YIUftroh_RMCzgB>!glF^>^6TwAC6{X=sQ=O(!(BA$cXPNh+ zd2!K3D`u6TJ_t^It1HZpz~cn3XmDVqO^>A`ou)E_O&mI%s+hs4#o9d9%I<iv?m6>~KlGN(m(5U;2-K_p<)d@?{eRfEdqGm>~T^M#t9R#M%oMN5ScW==nP zeUBQ*wsOy`+{9xvzn{ZS4WepEJ(rof+OVO*yH;{|^-Pthy$sq#?7%9eJd9s}yfd^h zvi|ho(#b-Ya+9Jfw1uFbtyzyp9?-3+F||fh6U{ZjFf6gBV5D0lJ0J-Z^9LcQP(NFG zGgULQ9`xl(%97T|4a?S-4c*%~QuVsSjjOm&$g9#*PBQe*Cr;D!dWXZlrej{xSapH| zZW#|Yk(gHtPuR_TtMw0$d_F^e29txI>PCi(xl%&g9Ovk14m~S!#@)3 zx}6Ch+`9QJ-!uoKdBUW8*VR8q`8ejo{u?j2>-|6YGn}}-CUufNpR*tF&%@9B3Dyps zG;h(hWd1h6!TEM8B_C9p+Q;qtU&s3a^6igkgsa_erUetlM`JGOQS z!%3O0Ree`Nhl-Zlk!yG-CM10+=jrT}<&2&$*xMxVM)W6Nb5Bu#@-Pp*bM_$mvNLH?BH+?FOwG;03w0F zsICc0KWV6Vd#fw)2)1;OgFy1P1{cDUi>VtjLR_~(y@h=H$*XEZ_)|>$;ooYcPi`r9 z7AfX9{{UqfcBsJ`i>Uy2HLG825WD=xdSXC&3GYMa^hK@cebJH%N9|eOOQsWxeug`C zLD~SCSviHJT0ZJeD&342#d8FE$c|Y!#>$!%>yJ74q#C=Ki9#T}e6CD!v=ao4pf0E=5yHt0aQFzzn7cRwZVPhZ~ZN@^(-k6=Kuk&VU=N=;Y37V_2NcN|^c+mxP zF1oMc8fO)vKAw-P5LJ#VlSCUI%2GLW@L_+kjz0gO)jCmq~(hF?9Q)3rgk;$I_{BpjLf! z1sUdR(X>}3vL>0@?%_E#IZDx5kIN6*0#Y~>yC<^LnQbkTKGjcR*t;}ti&$2O>q^W8 zCZ*X=hmsHAd&iUeOq;0@vi||q z!3Q5vOgIv8n+?HN69m4uQ+EXb5w&DRY#}w&=OPs88s~+$4gU3o^Zx)P+-*~{(%mX$ zgc-zF%K85Qxth)&u-)=yqx7Ztw8N&Y88?X5WZJF4?^}Nhf4I(h80f?`2GTBZTg)>1 z1&J#l3~mJkS9{jaD5mX@Z61tOTQuJZuIA`4r5IK-Sx?kB z{?5m6{kah5)fURJzP7$^)3su1kJ9|F>Nr1;ZzqrG$z($wy4rOfnO@O5nvj0gqUYhX z*v?I4<5`70ex{aNCm@kR#}{Q{smPMwR1+JpaZ#Th&M7OhS1&jBn5xz;rJcU&C|xY8 z7|jy}M;rJ6>MfF!B7QyTju$}rmbNcG2I!1NDV!dGQnyJIUIQXX6hv7j)6>yaK{8=S znf4WGY^|vDX){XDt{YAEnR2CaQYYrJ+_*Q7Btj)9_k`JB#rtxOs!O1Mh{{#RHD~F$ z_Tjkx8GknZz5f6fC4?Nr`{%VivI}QON~R~8N(ddEMHS%n)X5$iceF0G5J%O%kRC+1y$_gi8KNLsE zJ?h1cVMKYKN^QpWg`9`%&ANsaX7af8N7A;Q9zC-!>@LNm*uQSlR)CcW#b`M=Z)lvB z_Hg!?O82xN(%DK_^)Pv2`H8|(<7z2bII7!CT0IWSOz+Ow!LD_(z^ffaxP5Ce*(9e2r$HrADR>ciU;z=?9r#K){ zFP1FdToo!H5JzfniWG{Ix1<>8_lKCI?iryu@l|Xii>Wj|+Qd)qS?tX%A)4880B?#9 z_KAK{=G7}8`_TNnHi{DJ z>PC^E>OiF_3&Yh%WgwLnDuF3(Ntwp>}g#!sCkG=cUD`S zhM4~Vi<7cLy`qBB1kE7Gy0P9TXyWmm&6JT{$1bkPPAQ`_>wOeF%bt;%)%dPgSs^zs z4W?k4-k7T`M}E}^J-gS@c$xmLDl>eHeI;X`O1M zF~-slux2xurLrtk%WSFzQzB~7Z7MO7RJ30gq6f(-AXMVELAU5q*OBQ}I^sQpWqJ@b zMMIboT1*S=0+!D7r$|&0-lNElh^N0pBMwSNDO}=Mo%$fYQi@3iJ5`vHuzaiVEMMFy z3nE4-t{irOr7B=MtBvRDO*r`e;}HK4+(KFGpNi@KVkND=m;;j+b% zMT%GCr9ykrxVB#miTf)d$s!3NFlyQ?c^mXwwg4T*KT4-0z7fqO*@f*9AIv6rpfa#* zjkMBx4BL82Qcphq^bSpeWXTlNTMCV%@|?iq-h*dkl9qzHZP9G)Q6s$vn;nzJ>Fhmg zsSrS!6uNi<)4xG`mz&fyg)p|{m0@3QC|q&+Gqe?Pcw8DEFKXJKfl`_>Hm5W7q8G z^q7ie$03pHLb9%ug{`xQ?M>D@*tz6)M3#5wa0K_LWy7MkIvH#p^LCPHUTF0R$1d9q z`F>+xK|ozFhOG;_t+5401XDgfO9INiMYmJsx*xRSxg(OL& z`LR$>aS*y=jGTvpiBg z9@>*|(p+rIZlpMq^{q;nb3J_ADV2U;r)`dBt^yKWK>Lg4F?V7qQ5^;Cf zs^9`rMg}C+v1g}MOn`*Q-5W^7Pvb=nFtyv!&#Ib@ z;3GU%SM^L6_;kj68(RKPNZYui+N_cXrhjVrY~q~KMvEM(CLgOi=4YU>`Pwn{iuu=pbY@L9ei>DJv6B4K}6u zBxtM<0)UgvLRCdh-|f)p(br0D{iSahAX1)VQHx=mXxymuCXDyuY|?p@)+3qySUMZw ze+N!0Y80OHN-#Rh7EXFj#En+WjX_HTkK+DB)Xv|*0ayt}tw>$uoR$$DoF?Op2SeRn0HD`+9e4% zdNzKY>I+`Du^lheYER=3h_`(I0O}6kdXnqS$JPGiGQ*iobz*N)bk+X=Olk_Wx~wn|Wwg#Dtd_&%T9y#m2JcBnK1B}I#L?lX>Rsj@L_J7~nV1XBEyrWB#tIxZ!H z07fWxBfST{hiLv4Y%L4`o*H&sc<4aW{UCByfF}YC0V2>J_uH6 z)Lw;j?_qwMP+hg#1PCdbH;pQrMcjElyZo4*xW|{Oz6v8_svo^-Fl28SPH8Uo%`?L= z0Y=lw7_5h!-IL=z==6_CnPni3MSQo&FS(ko6Sguug0v8Qs9qL7sXO=>Pe{&uLbnRj zUIY#eZv1976`>D3eWn4bHk7?EIn8Tu{=rVZ2ol!@J6D{JN-b>_?rp-zBxbG0I?+~G zTiIgWq@)i{Kc!VUTRjyN^jY%$Ir*x)9cbZAgyf2nm7Hp}L=up$KC@EURHT|G-V&JL zRdr`0Erm48Qu>>3o$3aL%|5BWz)Fp1-+CuZMYW4WC$Kg1e<_{h$j96)X-3C2I2pGp z;snw)9?}^%)mi4BA9{?va5VHdVHq)BRQ(~s=?|*cvpvkr0g$85jpwPMOpfcEs%g!c+7$MjTff z{0lP6q?%y%FG`d%jzxNSsN#~6ptZZDNf1p3DANeXRib4isWTNWl(btXYKj+(6@%&L zCalFKilnbXzM{gLaa&Wt#xYH>O*92A&Q%rY9H#k61jo%1nb@UmGP8&&$r$(l0BX5A zE0b~9>7=$8_F==Qe;=)7M+I_*vTML8IOu>i_ohpYtckPlB1dVtNk*ZFIVzcc?nnoL~v^8>tz1`a--3{2igRt z%n%4l0sX7x->R}(nA^octg*Avc0*{8Cl&K7n`YA#MY zqQ)J!w+jJLj`R*}9lf3O$?r5&T{XQR1$H8oWWy|O;!0Tit3ti~v(}5);t2V!pjoZi3caybQN)U`tPaMlg0fFQ`%b09XzWorCH8@xcu(f< zM@Ar$R$tSf+GpN|&l^1zLlvdYAmonJvm^p>$<=(5xpM<5ih_YRCq)~J#EH-8SHl&Y zaLd_Cpct&*F9}SePezHO z--RVGsWDleP8w&iwGsQLbs%;io_=dN&B5|G;^x{I-$Gq(W13e6(;CTkRxE3}Xt-r* zDdI@QH{xgMD+0}rvZQAhwn}Zqw6xD-TRs+O$~FrY{zP7}(6_cP64@$740}`VCVr2t z=nI*OHnK2Aihxvm$b~j( zIPQ(;M=J5X&{x70ddd6ftgO*nb_Ndf1@Xv8|tr&fnlw4lc|z44sH)fv8C2NqE2 zapfz@Ga&aAM?daXFT*27(?2Re_^i($WeP|>%z!aVCSO!qXu`5;x3oniWu%`@CmE_} zxjI@Rbl{HWryt21(6z3l6exSsUL)B~O{z1EW>T~8d96Pe&=mGVqqqzEXT4d;j*6qH z4pxnBKtB|ZB(@b5YR)fM^k7$UPi0vntqHorB??g@Y3CYNkh>zMY+8J;bWDjf>yFZq zQ@Ir$AxV%iPGFk$L$a+PCZyDe_vVSmqH?JuDC*7a&)z;L+)v=WHD1Aul>$JR=jMoL zX7ssW2cq`+7N{b($WuSF6{T98Tv z$ixZ|jJG0mElq$@Ni_z$dnaur)V9^ykYq^sswIxXAlp_pbn}b2w@Q*^d4xe96r-CJ z2TU&;ZD?}pcg>j6n^7Q}AtTxqN;s)zQfu-Xp7Hcg@GV{HNg+_K-RS&yX@kmFu}5CN zNkWsj@MfIxF;fD|D^$RGKBeWn5KaN+X@@5T#=$Y<>!;|{I&)A83H5&UlIG#77~+|t zXxE`zMEurgm5PS=C-@l>prisbG^wg%D7#iuxJgQgB8ZE!9+&(z#}QcRj- z7;K}e+7g1Tv_~H%=%X|=CF+*tDmVh3@#dNo=8J3?qNN~$c&!HuGkt$hv>QF`?Df%%xeyjE!Zm^-NekugN2_!DG;YOJc@##hEY=BA42 zrBY-CKC%Jh8LK`DYUb#SZb%|>OlGBNl=YM?FP#tG4n7*{WS|%-8LaQ>SoY#JH1Yoc zYOj;h%XLZ9+*JPnB=cV?QBNvHhT6tq@4Qv5zOp%4t^8sC0H;(Tp5)k5UAGr~D|Co5 z5KrwxaAoxQkuSp5nUr+<%D2}nl#)RYq|E%*)5s-0G?(zn;cK^3)g3`^_>CUc;sNs- z6F(xpIl!OO5svJ?rCYmm? zq^t794<%m9(@l0ofPyns*<@nK z!iQTSOt>&oM`~LsJX89REr;6d*K}LGH^kiqT27{}dtXzY)a++_l9G{S-DAn_qY$ui<5^&3;hJjGVEVzlcl*b*qn)G*^q4Y=7z|^3kle zB3&f*Fg>aMHYAg6QV8^+-FT*d&VnG-@RwPpU&l$RGhVOLRMx+Cg4q(`G4-e1T(^$G zGR3`)ULCjP7QhpcS?@C|vRE|IN1}R2pDDTa74sh;zUFFpFKBF6pU+VorQ+EuMVVnEoLk#1bn@$7wHORGkBwSxT@+6*+Hbn}6jeOI!IB z2Pz`|=hDCyZKowAY)w zAC=U>`qK<*tfQL`rmWDSD2XR*6mq}1IXvu90D@g>7K7HwuYJnqtv_!a)CVN!Z zqE1_<=w{IhhL5x?658NWu2TNL_dSv>IBNX|d_)E9FG{-R6BG8O{u}Mhk^y<;+ZH(q zDMvCsVxKlw1^GU0>_$g=?UPRZA5n?yf2Dbxa;5y15tsms^F8Xf`6_BOzv^AJQEg#K zUT2CQB25v0Yx`L5(>Ez{>d`7Zyxji)^$JDG$5s=IEhL$%^=cAsdZ-Cnb}&Ktip@!N z4Q@xOY9N+6auVXr}SWtKeAWNC~Qv6Sz|jKEX4wVdo{oJby}U z6-ZGzF54@mG6-6X^Hw%jiZ^!ld@LqXnJ03DV!Ed2y}>Beo}Tbx(I`VA52dl%zD@d{ zCAa;@{vs>tf1$bBjia8`^ZBz^k4MFftj++hBah@0c&&>BaTI1XXb&r!OxM`_!DQ7jw`>A4@vba7pOySD{B5vHLlHz z@J|;ZG?a}eN_8qqNj%UQA@CaqV;c>HH-Ss?W7t#@Ye4;9N^bR{3VmF0LFMD#U{V|hAu~Q)@Z?w{GPF}$n@s2urKpRhLN16PFMIexD zZH{Pb+1CT}M`EDyT#~XrnHBA@T1offr;2pRPB-XR)anr{{V3Ob5i*ZG6RD>s>MjUF3w-G+>?xbD#*|BN$6ARKAC4z zWl38}+;}lWIUDnimiI0Ot+Y#f!5Q}!sHKC-E3hf7IA=_eVf z=V`?DCn&zm&~#J12{^@Oxk{MXOGB2Lur|da&a8uw!EE5fpZ@f^X!4iHQrURsf|?}d zTO?Y-^TDnqMN(;zD8QNdsUDB=Qn^qjh=MyUuubE@Vra}!vJ%^*0lj}D6BNf32+3Lk zt@FP3R%wyW4dH0Ioz2dJmr;=`!qknxj#&RHR06SsbWr-JpwLl#qF$85$S5 zv6Xp2W3lZ_{CvLZ0_4Trp%U!`qlqB*trj+uJ&kJ6wQ{A~Udj(V(_Cp!9W%3!#72D= zP!OL{A2g$tgcBt{dS;8$`i$)fSH^2G%)_#Z>i*H|N59y#kf=Xe&vG!@3CB8mG)*?_ zT(FRNip^)o^yEL|W$zkiH@3k^GAp>UQzw!-5xSE|DOaA_D?`BLKSIpwq`M(cP}9=; z3qsK$K!QFiLxYl+x3ZbFG{j4NHFg@Zt=1v3NlB+N%(CL_y^C;MGIV~2%^i>ukY|cP z%aa>psu@_fD@cU!DMM|t+id3I*Jv`5AW?jE+xHd9UkDF+#1f)2RwvS3L8la*mNXlZ z#mE4_syT4&5_lg;*{^iv&~cRf)+?Kjt7fN(D~cOfPneX_i6-SpZ4XB`+G%m4Bbq-C z7b2!|aZPN_I^6DpU=3+Lg&by?ah}R& zt(mV-Bq7BfGwsc4IBw7s)i6$)@kP)i;%MCQxRqN>&~$YN8cfAzxhty-#H|D_t%8w( zF+)QoGFc&FmbYX*M{PRd~(EDAVYtLT2Ols z6-&GxC-h|B%NY3>)?}B$GkdK-r6d(|Px0ZgY{k7^@VJsUW}0!a(--n3YLF49Ty4}X zDg)dODTJb&S^<=1siQ{eZAnT>Hz;I&^_TJ(QuHw6&B`{-KSI9zzN*P`@mSvmLEgde z<3bG}%?_+@hIWZAQ@JuZsN;0#vRfDRR{bQ!Gr=N^k$%K&aiV0wk($tPB|_ZwMG@;^ zDggRw{{T`be{@qp%?9A_2_(=QxN6Hd(y0&nW3q&ao+~w;I~?MA2;8t7Xy8!z=HSb+ zL$VU}s~x3ABA#(_-3qhfNKv>#nsPf6ntjL1)!G)d)s-Jij`^);8z*F$6{JsOcc)=I zQFC3iU5?tK@)0BY%^~s}KFQ5{EQ1 zO!HL66w6%g0&aj%RT+)YG`{4-Czg_eIjtO4$XaLzd_X2U@kin+dO%yS3HKwIrWo5I z(r(R%z+SLROshzJ{{Z9Z&Tnle`K^?4C;nA`TFCyc@vAm9o-5zK?lj=%`f^P_{{WHb zgp%S5iH)uRQYOAs*H=&A(k9xlFHq>#dhVNZre3FeHz+NxM;^!QX#N)}d`z*+4`>gQ zhB=_(%;UqCnbhrdzXJN%Nf!5EO8howJ$&g?Z((KS1kf-+96p| zu^**PDl3%RBHT{Z?Kth+)b;41-NpMG{4jM4bydD%O(gTN@57MKilYZe^!ZR$nCbrj zki~qND$KvQ`M>FyedB~{3!nc07)S40{A%zo>>|kSR5qcMTxnMf5Dw;#^rcwm(~%iJ z$!t^C@M27;+UjT|N0j$5^IO@alLN28I7und>uWUs0D1H^wa^k!(n$R);+bF2@)Cpm zk5pbvN1Z%a(gn7%-QLm#!a0uh^XpNqp#voFt@oalD&^{_1)G1`!MnSJbM<0DZei1f(0z(M?~>7hPz~k5(uR8ZY(u@ z&d}4+ZAH@2{$$j+QvU$dFXb_p9WJav@lk-*u)Y8wABt(?S63*08x;A7r6{vCyGYv! zH2(k_Gqe5+Jv8ZSS+^1)O564|WZO#7cN_Op1NeuflxuD~5LE~5MtJ^3!KNFQK8yVh zkd>l6#R27=rb`1>k3saB50KgTubTN6_cKw#h}uypjLcA;J+G)Un$VHfjsF0`JP)z0 zuLCDpdlK^_ac7@3nJz1kWY(XK{?sE)P!GNaXws=#2)2l96WWH8wnD4f@k!dV>}#po zCrNrgOq^Geqm1Qb0AS5^5tF1+eZdk=YUrYwH2t46v>Th?0Fa#Ly<3trlKh^)n{Gy* z(9D(U2mw98tiPR?NYKZO+i6j{X^eSoB$3*_ZOET#8cY%DgkKo?fjU-z_)5J?1p_sq z{WZgR`7y9Aeri;YAYWao;pMGF`iX;IZ^4hENJ6CBc0kGXL>V+)Q6(+XETvGQ24bj^ zvfW)Uj)?kN)S7S@gG;$^Zxcl`R?k%Q6~MdE8%)fmzCGpO@p2m*@ZW570Myx5mDLTp z00?;PHMjjI%I}ThY)Q(C*P*9GbSWhYBQzhULAaZtk(BO8F)64TMu39hv$P~Yt zy3Q>1_k_RbF?CA+02R^}D&VxBKEo8VfVy*Lza_S%$BJIl6dH&-jQy$9td*syGx10` z!1~vdB^~JzlpW-e^r@$!J#S>K6%C;v4%zmu$rV?mi)h&ZiIMX|O}nDGsQfXDr0-JJ zscX4k`tAP!`NEcSaW@A40E4)ul$OoAsT?l7)ayYYDGdF@3dOlzd|%y$MagnASMX-e zq;2{3r-_88OGPV;WE0zKhp8OOMk$dlGo8l$@II|ZI+d`s44F?v&|cJfgRWOHO`3Z6kR12*JLF_0G?D(zH=67Mmf~_MGCXmBra8wABK2J2?l_6mA^5D#;O3Q?m;S1wFWmaf2-bO(tjk zQK6>cr5%Dt1Xhp7^13iwkWCq*t+{D%Qn4FNYNI8VHih+4u+E9Czo$GDmkCVC6fS%n zw!NN=-Z!IA(KWk$L4dSI?&6m;)21}RnMyu`jjSy&c#4Xe3QqPxb8MBQ;;fA5^Vp}< z9XiIK%95tU_B2#7SEsOSxK!0qmuh+=+Fj%XowLkSEP4CJn5#B72~rMdmstb7Eal_* zEytVSchet90Gv_`@GnwQdk(X3na32qP&+(|_2?wU!b}M?EZ|4#C!)$-Bw$r8G*+c& zDqNC9bt2e3lx|#uf-yuvS=RpGE}-O2W+?nIBE`$s;E}uarkJ8u+6tcPF)_Ms%E zX_g!{vZp(JPzL7UsY*~kdSeLEJeBX{p!3Q&BojnNB)jN78jeYeIraf)Bk%k&QiqW`vOY zpz1NS`G97#yv#qq6OYNFX&2sN5~=p@S)NWRvx(WD^xmR(1Srqmvs~;yC~d^cOl~_} zZh71(D!8%Dsl*Yf>EZU2f;(c3!JDJ74n{E+{=sZGv~9qx4h-r^F>1d>9V?=k>Mo+R zv~|xdN+gAQ){BDvq8e?kC1Z`%i&(es+~$SdMML6M)z_MB-U5R;-<&kDOyx%nn_E6C0qeXc-YjleZ%-a zv@H4(q>)+`jy{n#v?uiyt7R%A3b*M+`~u~QGJd4BOHP#m5OGHFyFv73Z^+|G+9lFm z!erGvh?L@%v@%<+K$xHOrBhVwD$8Aj6I8R(MCe?Pr!@wS-JhKNxvodq*XqF9unIw= z`2Naf?HRvQCJKxXt!g+gKy!N*EnWff2fa7RAGMJ7Xj%jE+CcoIhh(9Db3D93bqe%%A}3gAXL(Cg6Q zOH*9j|?D&e#KSoEAwf2F1M zc&$HZY2}-aNV6BYxFkV2tzJBID9G@nJ(@0!cOU|)%<{49b%H^%Leci1 z5~dw?s1vC&N(nS(8Ek}>gxzM+MLgo<7v_zC+Gv2J9tRYBrF#I2xl=o_xi;58ObM=K zhj<=O>CVjqMZDaU=44iHm5*$7f_;)2Sx{Oclu1($PS6)xvkoOhdr|ycl)&@C^dRdN z#Uz;TS}rv03A01x0k>{RNt{-fft9^B4`+5nrP2=sd)9$FR*BarQwl zl4ox>jmhLzW1q!vZgE89tsiY)JRDMdko*yY(Ra=uWYrxGy)v`Q^-nWa#yTMVnaARH z0tplKtw%yXxdU$=1f1YeSfWMRbzpmy1D|?38Y|h~O!X4FU#V>MkYx=yvGo4{nWbSv z^!}ATPZe`8OAGn`0CG^9#Vbd%`XgCyRnmhfaVsqZsipT@Y7&$BSHgVH5%D<>@Xdb% zH`T|{`$1czgsD(6v6=!8@LiHUUW|Xn9S-wOy0YuNF$E7;tqt6i^AqV=`f*$T0McGb zW0T@Z``mx-jMtUHD9L7s7sq`8pAtF?Pw|sRV}0#|NV3-3NX&4T2>3YqSJSa%QmL;` z{mOH}a`1OcX!BEvC_Dk!dm1%tM<~f`gKo)I=>mAEH+m^iP<@-x@NvF-;=BA3kKDTl zx*5RNQ(6-;ToW|A%Ez}7OZW`pFS*(3bdsGhKp2+)0MfogU)3GkSlTfiTrE0^)G_=* zIr**kA9$Dc5z6~)cGFu>wLm!Y8zPZqY2^O^QusyDi|e+ZhSu)d7zucs51RT175Bie z@OSp)Jx}2?<5%$c42-BXxAw1%exir?ZzkpZnjSUF4H-9z`eTnV*y37|e%{=mg(Q7z9m$KwF03XI`9;g;yt@|+$E47hVRNm^!rx^wX zZn#kEh{^KkQ9{= zM+SzA_-9(Zp!Z01wyDy0JFJvH3i82yv)K0{nDBWkkCLV7hGFGS5$W(~eQVP8J!hjM zs`LaW@gW}xZfS{6nUjJmPQ zOmlJ*^!rjg@uo4yZCKyZ>H_&WjlwZQ@#WKz2mFkr*T zL}{8ev<>MCa^1+|p4C4kKG7+}o5*jyEd#M3k=(tfwWc%yGYPq zSe|MA(7i}qeL8bWC;Y;`t@<~EOX{%)FD1)H6(veCaBJx?RDhuE(y#Zi%Lu~lr6*?wECs2&t2^`Ub{(?uCCsp-E7FZ|6l4bK2q$$wE|>y@#G27P|e zpI+GzTf0XnR_Uq!m*ssPLQEga;<)!fj;gapv(n2EyUb_ziu!X_?1aDd98}-Q=6@+n zKDJbtEvTf4_BDHUtWAz8zp!IVe6sp;iWYRXSft}2%GF^_q=Iu&42@NjD=8pmE46zj zp0o+n5rRmW6&c3J`g;;JmUcb7a7|yvmZ$?Fsn{6qlP3oeM=B$~pFu93btt%634l{V z^J3gnIRy5Gtxze>j2ndQaQ(ANIQr**p=LGPjr`c6!B8K{ib(Y(h_9c*FTNQ+%!Uz~mVBvy0!6||2Z`@b zAj2c*8FG+B69OoxGp$;t2h=Uf*iej7*e6m1&5yDb9&cl+NcYdpIgG7Xu2AaQM5ssr z5-JjQ5g7DVUDF!#wHtJhGO<)=mt0b1t#@kAQ}|BC%XJ=jAGLgk^$hMti^N9UnW{2K zL5?dR*3BAv(F54rVlh*RT(q45?v$;^+9Hm|kQP?#PS=$PU$r~pZJ|deNtic{4<$M~ z2t1cZ^{=A-myPFd_!VZ7Skf|9B`OuNm!L@|*u|s0q8xiG9rP`1tb?4d z1D^+N{GC#8YMH0#y3=>;r)e9bIi+${Dj8zVrl|&ZhXDH5C@Sw|ci0OA2+dy!99v?) zQ0Prwv_{WXV9_y?TL#SqBqFBG{Wj#GNg@w1$g3rhWr(U#lo-dR-g-gZB9-UGvQf#c zhb^ynVsZUxeoRz#&D90$-zEqqfyo-t6#X!=93>p)gK^kGwsKt(WQvlBHIv|{aIDW2 zd=c0A0BSBq<4kZbM;pD1ca9ZF1bfp=YLORpXc8CeGBOPt*Fep7(=E379p|))qEI`v z?68ZFQ<4N#ZUlX=xZ&%C6qqwU_1ME_C2d*(YA-0HozWD>3}_y4a*g@{UA-r0IX}{v zC{yO}7V~kDZI@ z<@O8e&V_TQo>rl2E3#Rb+$sATx<>UaEhyi?q`pTNWn*3py1F%u7We>@ zxExk{1RQfZG&tnChMm1ilg?@Ec8ip>E%gP`LrPI2y%mZU&^A_#d#g1xZz)QI%^!~k z-)3*fWVJ^+EznXEllsuysB8}ml2kU>x(F1PG(({61X5)*D<;;7Q6vF8R}Op~sFDpu zB45BSQbF>Mu%fU%l{C!nshg0jatzj=fanHl*ofPSP038~Ye6OUoQjJddT!usNI9C% zb78h!iO}nAqPC!!#URM3*jl;=>WKvkB8ua^foAog6InzlTc8129y7l}ncLG8uMSiP zYS8etBAGjMfft~`1_#YL$6p6x>1RmxlApW#FUj<51 zPSHHVWm%f9c1_7eU&+j>atGF>qTF(q$oJ6%s`pE5#vVjt{$W|)E3A1R@c#hVWsYBb z7xKT{Z~oD!P_xn;N>hucl70UGD4>5v?*x$V%YNwV<(OKOr7JlTgIiRnNhjISAK~|_ zaTx>ksdudcN-A=&_KVU_YVB`MJ-#S;awXraMm%2|{w-S~zS1uA8-m5da8dbBxURW( z(*osjWyHA2dKfx$Q4)|#V^}*! z7fppHIjKRkP5Tx#YfaN4n(?v%XN~Aw{5I8`Q$F^Et{r7)8>uv_cSETJL87ory6VW~ zkNJi!oz%A_Aee~nOL@2{u&yR%)eo9|-sFM1Fwq zs1gP#{{Rypqm>8nCftI{(~p|a@p5%(iyEW0mFr59FsjvHnrR)3ooF)A#EQ0R!(+0* zA|YPUKyomwk)nRRm6kl0Fk~FoQY$ooLA3(T6n8pS_@MD0Dt~Q{y&k@O8yT>x|W@t*;Dq4Iox%NCx3<|C=`bqCB=>bIY(EgS2?2)YX{Enk9 z>Fmd~Wd8v12TUK%Yi-B>0EC3uCHGkIqm?_R+Bka%FewKnqn1cAHqvOy`u@l8y-xh_ zxL7}0-T3L>9e-jIS5ju_{he=A_Jr+`RFo`$E9QT#adqUWq3@5AcMxBRnrThd!WIY( ztSnLAr}Em12IMCU>c#5~CAWu|3U;Y8Tm0W_QynNNM$n1WHt1tqSZ@Fs;;B-!#5t3W zR>vI~(u6WWJPOV7V{MX}eY85WaW<+G%4rOvQY}wH<%Q^PS5qYNYhU7**wDUO$cDBS zl{t*n{ET5rO2c;O+}Oor{FfcI-FrcJ<*Ehs1BIIx5=>&2@Z;WShavUG%x?MLKU5h8 zSNm4q6nbGY`M&0DoeI|5R>}4ig7UJtvq8XB1V6Qe%vN%GV}$K&isYQZ?Ni6HIR)KW zWhhamoMmiXpX5N+mjzk+){Bb039~JT`m>;@kZVE5h%C1BD_y!bDor=X9U^*5WjO$I zJ*xDMbyaAIM-z&gIVY`gVG2>=QRECcc`W>c} zI;%o&eXIVbQjEd(p*+8j`XAQE`(OP6bKzN6c>6-ul<%M>VAem89oa@ZaiPzq-HYaA z{{S>n$v(4;zmzoMyOjdGUtsQOdvOuPJ;LjkCHY7j%B#Yei`}9Wtii1YH|WXDJG4}8 z67o!m2CsXG%zwEvK-aB57o^!-sBV_P2j(dTDZF{)nDSA$CI-;$Jd2zT^iMA*Xai!6 zWTb4pFr(zRoJC>z>+WW!hV(SLe}(||r1ADNZ$ejA0H$2eYJKD1+$rY0G>jWuYyKtF z#sROQab@IXEjG*evr1HIolj^kw6#Ez6Il)hM~gBK=Hpp03c4bN z#*pQr@}`MQd{@~x`9H*9jz#i?UN!#!PFUsedFQRPqo(yG;~_gx;3foNfX|?hT$+=@$}H9;R7l;CyHkkV6CK+E@+?)MIkDHN4(WMulQRy;QJ~c zEZR5SH>g?^$!MuVmg0T9kbgp&*b{K#o1?)}5YdUdstYjm9FVlzoFv39DymN?UyoHhn;Y&w3Xm zT8%%DT(F9Lplp@}YtZlRR-C@wx{3L$9%@{OL3}wEaqZ-rYi%GM(Mg{4elet4_Q7rs zQKI5|*-GWIv=DKMA`hzv$#T%Ed2D>bV}njHPwf|U?8wSUIriqHorE~`*i)w(4r?~S zM|7Fuh33ny2@^^7R(iL>))FifuXSS;@!vl`>QSZf5nWsUO%(tJ@mZ&~JxlE>y&D`L z_NySakyO1%3v{TQcB8SN9FOEo*VKHsCyB*8;jN)RBWc-z_|QSIv`UXI0xRhM0HzaD zll}#{Vx<_V8CxVsf(&Dt*T@oSUV@r?p$kka5t%)xOwqJcj+W5pqPf3nl4%zzG#iat z*`)NwuKl8dTv;fkvE}_I)?R{fw+U#}G<`v*(2|vc4O=#*tud}Vidzi%$pa><>D$;! zk|V)Fo?=Erk^!SmzYIc)XbHt)MPU_n<|NvK@bB=#P4%HxWl8;U=;8WFXqj#p9 z@$%R%NYWBD?Jzi%g(5+x{5<_y1Dst^lq= z)$&$C3*tfj6Iy!3^sO!!2Q&_R7qqrXN>O_FG`%ZWYWbA7+Qh~{rL)|ssAY>Xly(#I z(4_HPO|M0&SLh#l69?L^QglXAuR^x3WQ&Qw2luXb=b;CM4#);#mS&9|PQvJW(f~a3LAY$XGNnXe{{T^*_1?NW7fg=j zK&Ls!H7FwYZ43H}=Wy*z@Txrp`4=u?Ndpwp1YA-By0DdyPc&>*pnCZ`L$NSHu1Yp? zsaY^~M3YtZ+3M_YoDR*6%4f8H@!0ssc`Xd;nD`i#2 zMAgwJbz}+?APFNsTCpC+uSkW!gymh&=~GRxo~jPn-HL-(2qANjMEz@-S7@ECitO4t zeL>4c$T2AugyyQ78(`c9J8&QZp-SdSB>qTsR=3+MVBpmF@~NVns?nI=rW{a+$*pcD zaX^rE#l2YrYO&s$aoAE+r~>FH5I`oFqEmVLgOQ5YaQ^_Q1ki$6ddb2>8g=nQ zt=zVn2D(6XYSGq>$ZA_AYa^L%kPoItS1g{?AW%`ep zN`r|r`_OTWoVEuz+%^wxJl2;FAErLc&1aX?Z4CW5@$$r~O(^EWWq38|jBP??G z4K%P)C%pkBOuyH%R>>2d^$BRHDrAI%+PFv`sDN8BL}B(qevJPBsZvT;2^?0Fg7$!N zJ(;D$o=xn3nze9`Xb@j(9QtPFLN{R2E_61_;`C@bbFzWnvst6CxOzF%kpP@eH7pVa z%^G4Zy4cP$S`H%>WmYBL`c_Da(Q#cg!5th5$}1Asdc_F}G2b+|D=CtXeFm+PHzq{^ zHVr5))>~}}-5a1!dZoQtM_8#yQz}m$)zq)iY#l43L+Azy z^<5nbfw^cSJ-1eC%ucZ7f80Ngobu!T>;1<+?Hz2C=$38~D`xn?j>=6g{S}osP9y&S zGP&p)7fi`zB4dRAxKQdEnr+omA#+NhMu`st%U@cUM_vQf0VN?`s|?LvJ;j&}Y> z-Y1tFKV*Xab*0_@4{=h>1)Cpu zn1-GVj~tPvblv#ck5(%u&BeAb!8)rnT`J@_*w1Rrav{}@@JTg6B|?xWWod=hfjW(_ zQcV|vbjorojUi?0eXkrG(^$^pFPwG{)vZ*v$&684Y?R9KMoj^9yTw^ud1R0#DD3#w zNLVI0yi*^vjZQ*9U1vEsD0j!on8a>FtVl9@($xnU21)i8^&};74o`YxfwT#lHiXS; z(4|CygHL$5EKi#qFjcFde+@?<;y99oMxK6h2mwR1Yq${lx+m) ziS%wvjz<)uo5ooq>t`OeMB9MKCnB>sarBiPd-hhlUzTJZYFO2vOtGhEM%JxVWl07= z&&_Cf)2B?HMDIea%K7~%#1TWMuw$Xr1bQQK;% zC&?--+$a3aD+K+y`%vCbg1OvTVSfHUxjZ>kU7qXc-EF;hL}6jj;+sfL>EwSZzT&?< zc|I%RawM9oHhe7KTM|#&2|ksjMFe_OJ*YS|)t1dP=*fI<>6O2y+x2~eY8P5*^6obB zrisG7#I->ysk%A1bs$Qv zEj#>}uMV(UC>}8pz$kpyOZBb}*woP9#Y^rT{9V)H)r= zN=9*{7aD8JQ6dsS&3z|6dxBxO=B14>52*30sFBb6*Lbq;jj=Z+C7WX=nzAj~A~>Y^ z*WAmR^+Row#M=;0^83`H$=|OLZ;XRRHAqoc-%p zG?o`%gD~XW=-+xJ5onL4eB;VW=FLX}H38kIDWo&@HB?u+RD)JyMR^#ptS%C)%{Jp9 zZg%X?wZ*|vo-0YjUXYtFw$O*Fz6n-h4QROV2K2>yr}Aefj8lwoI^8XzA2S<5fHgYZ zk#e=v=1PGc)!#=WCnZnd`LLYrnXg($pT9@e&_Mu>4RTDmecr1}mk#$Fp+TKj|Ao%rrz+6_U)We}djKYH1UA zy26*IwCPCa6y^{A096@3luOA%@G}d(NeUp=hYPf0vZf6x^}@NDF14bl$z2+)ntvV9 z_O9TRVzZpr)0Gy!QKZ7VVX%ImXSMJ^%==Y&vRq0bAG*<{^yn#V0580%x z+iNfft-uU>S2=Qcc+^iDa-Ppg^ktB?(wR(0q)mKt$>i^unyw^jATJfQ*7Thf@>BsS zG{^M!5%M_^U&&8DB}R`HYZuGCzk2A&D^WAdDX*EQ^zvBq_d=MBrOl4C{i5(3l969j{XfY1+-|>t7AN$1P9F@+JZRDX z01v3MsG$NDHYz`AdyUkYS2i6o*_^OIR^G$jr8Q_9U8rKxUW2!QXc@k;vT>mMYLvkf zL`Ao-h_bc883Wp^QasnX7d2M*C4Gcsd)1!WvM=tAglnt%asc(BeIeiY z_MiYJtK`S}Y?6{~BSYzEQ`h#&ljbx`R%f27Fqh$z;V!wSAIOsW3s)|+#>J?9^!^XD z6A4haN8m_K=;Tz=vgDFhk>9aDwObgbh{-=pkqHU)Dz4s&WRdg!yMfL^-bsy>traTn2gb} zda@}u_OQQ5B%NiFc@ksdg7QwVve;gmJ!j#oX-Rtz_5}gY3dAC)Fg3W9vgt(FGQm-O}n(T}U}e=8|*L zaR`OMqg2u?660ZMPAehF%Hrr}iXFBzX^uT&phS`FRAJ^z6t?se7e(p<0%i@k;rQuA<5Xcn9qdfEeO zc0vh?I|fpzugION*vL?ie$?}imZ%FVGv24sgQ!x1GMtQ7mxIdc=o2h$XwNQ~TPh&n ziqgVrNEOHA<)=y@5j81B$iK7R#tjQvcE$9RleF?CfaGAcYuOb(j?to6>S?=RIE75| zDP#La7_zA?9Nk=lBQ+nW)V4~%mu@JinZ(zxvm)3RP!N2yuQMqmtQP z;Q~)JF3A_gIVz$jm{L(G5%E%t(`Q~c7}_ejl>|wX2QgPgt1M}#+aqj*IFe#P5&G2S zwMV5&CdblFh3V}{>^s&Q$i}jP^9+xrkr=MwAE7<-2<7&98*Y~bhbd==GGL0--)TZYhamR z+R)LW-W}i*k(_(do>najnyEW9E}qmsC{l>5*E0{wAy&uz7W|>a!lUF?Z3_ow*8qDavI1Yfs{{Q|f0q z*eUj6W|MQb(xJgMuE7;;AU-ygu=7tXpof`xO*)gg3Q35mX27NBYl=Oiy&5M+_>ilx zofltMtwU-YUk1GhPadWf#^=i%zK(BCz3!u4|b6>$xl=TB$(OL z%i5s_kxBWg%Hq1p*U0f^xJVxqgCf|&8w^^!2mqOi2P9d4ve;PN1l0|Ek#FFbC`3&~ zo=l~E1q72<;r2#MMCvqxm1o|xJU6rflWfX$wHEF|y^kWcJYB+yoRb*3X7hI3%`4|) zs|t*+HjOVyeo&tBD=Wy3!m+&~!n}sJ4QFcH)f3C+U|##_Ukk(Y4Ho6WcU)GU#8Uy*z@E zAP^7Ms?3SXoOkG9v+PI_OEQDaruzmh!BhaD6b#)1O6BObgC;-(ahj%zR^5{(QkjuZ ze$J)W(HqcGM0et)A7$Rv8qYymFs*Y(4G&5gZE7Dilk<}4$Di^z;>AlgG=}f(9EGc- z)TYyqJ(UyfpL$37Cof)0gZWH%=Tlg&Kgau?a1vPB}r2(ig0#0X*#=icH-LMS%?Oer7cq#MWc&`!qEU!p(dT3m$82O)P<9tX_gt<1I-_joz7c6X@YRWIC%U<9yNV!~Sw%rg#8|5gn z6bS@#OR>emRLZigS_f)+d4)*DGr^bYQZAtnT+>#+n?jl?l5f#X$B70AJ*xP`;*)lk%B5u_l1I|6Nc2^EJvsfFI{jA`Lq@x}{w0|f z>)fteR$EuwDg7(uKdyX7S^an|J^ui&%Krek@5b`F$tHSOx92ueOvsU6D!OK-yC7Dh zV%^2FmX}EjVe}T95z0;|yct|1rw?mr4?Zr@>ishd={-v4!aoyT)2}~?V7CiSAw$yb zy7(k_fNSl37syAQ$Bs|Wwfy{<1f{{{b$*$fc>e(5xBmd6{=9qpy@UPBtS9mMYlHIa zUQ~~&PAf@pt;XW@J)(CyKob9oCPwg#zuT2j)V-&2uI6XqG1zH2zWQ zZk~Ll>Y#@?;2eU-sl0TJO2P#twuNfBr20iR%x13C3-7MJ=23( zUPP-qLtJUg9f*D`*u1Sa#_hx%t*oYgqP4yUH)yoM^J8?|^i%M2QyOnpTO_QcJt@hm z{{T~9`usUR!GDgQS)+dOLfubj*7vDQ`D97>ublV{iytCT9Qio*$7sl`+aXIa!6GZ@ zSu;6d*dGrq;z&m7rnYK3v6^G!rFgarpZD7f>13N0^Th?o)<#^dBs1757=x1(qcZ!5 z`a(ZbxLUs}10dFq$7(5n=W52@m(){pY}$&YKtZROqiWA#mu0g;(wDgjB+@=kA%-tU z&Z*d~JxNyuG$uR>PMO|XT`8E8cHuojhQfqykSM&bt_c~3AL><`-$)~6t9Z-``L~jH zHfnfUiW`#&M;WBA*v_lbQtbLpD*R;`MNMtZs8EVM8L`{|K z&-Hh~Dl>uoYe~j|Q)}3~{XM;r(jh85k=a7D zcyi(MJXeb+zx$3cWV8gi((be!NZMSaf`xij*+RZ&<#-u5Ii-ew=>GsA5nW`Yi{2#< z#B}l=Ilw=)N;x~^#U=PJ=BvXiFg-vgc^|cDaM_8<_6c!5xrn18^bgftnwLVji@ue0 zfHK;RXFSU5k`gq2J*S4OwPk7poOkAz<;kMx!iQ}XY)BM`lI@K+u9XLzSn{xWrO{gt za=3}zPO;^xJ*npfY*oya7~Zlb?Ze!f+wq^+jP?D@34pJYN3TScEuVy|73N021c9(d zYCVZkQMP<6h>^{8Oo~_NtovJ1OjWU!vyyf2K-H;*I#b#Q#ayM@Y6yg>M*ag`8)z^3 zk%SQ`W(oS$K6^XIf!TKwDpJ|$tvv$QPfj2N*T-`|sgTv<`!U()&+P});5MrUmz79? zUrYTRz~9tpL*z5Sn)CRt4W5kt z>93FSS6q!64n0aDk5aH~wRW!&fx9)b{VU7*c~l?Bm&n1wama<=74)I0bkmQvnNvVG zAbVE&ORKVc*!RSyj12)GZZ$bu^e(9Nu)TwuR+1I-L1tP!zqrWC_aG=9Mrs&l%j2bI zFK62nUv$wX+X3n*0VGH`_N)D)p0p!tZI++j0m!5H+l>Ot?3g~y_`GQC{{Yk+Rrz7| zGO0;FNYeUI?<-qCBtxx`Yc0=@Y#-U3}HGbcs4k}5bq^!=^ANQ^}l};_XEHFlM zGw<4f=CF`Ilu&+E z^}uyIlBRm!!}daS7JEpqjCqM)A)5aH6&mBAw1SpqldZZLy+oyR{{WVEJ*wP)y%kRS zHZ8i~g(jNC3Z*I(b@hJ@$u#eY?F#eydpz~y8>;i|5ID@&(!Wf_b(0rnwHTylR`VkU zf30ce3Y3C&X$NQ`PX>j^=!36A_e$6msS4X!&VE`!SYofyuV_}@TLX6nv0Sqnxkj5=k}5S5cZHJs0m z_JZ-t;f&T-0Dv<}vcM`VwQ$N`K~VeEFq?xcYSoJRwS*HXru=-svyZVSSg??!?fcX2 zHeea1v}Qd~rIu7)LP!&u)^Ir;msSau73fw-+DMF=Z1z`lsRe9VD*;3dccC*%iL8Bw zT^{Z0H(;Mh?MpMoNm?uWp*#2wII!|%Cp5XYdkXBO=o@qjNhXNK?1P%B2HdB5cAU)> z2i4g|NU3`(+Ay{r=M`>AsYDH9=_(kk-iGIrF-tN>WY?=M3y>3$nxmm?TCYbf+ydYy zziRBGqp_&FEZjT%Gv2F&Xe9ve+$!!U{4t`$uV7`ECp2n3`+bYLqJVh8$JUx)R}dMs zdSzt2g9q(bIF(<;pM2nuWahcn$o5e7M5~NKh&ib!l*=NjkzMCPj_8@hgI2~Z5p7C$ zL=CaMco96vs~o9pvJhRgTurE-NB~tIP(C=-==klTMEWrkn(D|A^y2mlzO_3Fk_`Kb zFBVPFPE3Dpfp8GCjD=4WXS5ATeWs<+mw@TWO#V?>4=IoOtUHS1^yqPF;B6lij!+71 z(KC-EwxDA;6$r;=PMTsCxIf~Sq3&x(#Qli^#nTpbA?Pxm)Yk{J7Mg3&wD#Fl&otI2 zw8)!CoC(hcrrAsO>4r3vlpW{4Y6p_oN|F@5erq?* z9v)tjOb?ZV>P49y<(bplvCwKFYWAi~Z zzOUKN2Q#w&01ugn-X?Ti&r4kXEs#}Y`8!qqMSB{r>2;A$FO4odtKiO;sI3Yh9x+#} z34$rI#h$FBuhhQzsVRzXrc+HCIL+&Z11 zJk)1CtgGIF`bs>fMDQ^|avx+=^v5ejLUBm)Erv!~E;9brbNkg2g_4Z+6m8(34A7E= z7B_n=rE%V=aXgt?^+2{nRk*asw`)RPzJalOy8}5Qyq^Lw3W}M?``Z(X@n$|7N*sz z6g8BDozvejOflOnPBA&tlesVm&&5@p(PWkBF^b6mKrsiA98%1zrcu~ofdGIp%>yAEV@c@~f$78us{T(^U+_Tigc%r&nzAoslB8`O5w@%ScG1NULsrQV z^c9EwOOvM_OZgx8r1Ekj{0^Q!G!@X7iXwI)3;hVBAEYJ!0QVR#$n(vnxbBZE+PVBe zFf(6W$sHK<@7Q&Pq@)qrmq}N$=(~C?wBkn!s$5HLQQLZgt(F#p8O~}i3Yw-=<<;6B zI&S{gRkjFHl2s6EJDJgpD7JcXHbkUyw;byjyDkF`cQAa@i`51O*a>C6MkaU37i zL0+A|R3w!~IH38sQBNLj$IU(P<6||Q%L-$BQnU~$ku*P`k9!AS+ky!cPASn;)s)S* zn8_Sf-RebZ7N}F|D*{kgw~BSc&AI^PLqd~x3buRGGc!&cJH!GrNNmxyK;lMo?KGd0 z$E}Qb`BZ}*cKIfP>p?xfN>8jo`K#cWRHZ`ZwP=;0N&}43J}ydhFXTaPfYuj=-R-I* z0b33ZRX9*2UrAWaWqOhm?0ZqJ7KRw+5<`hlIS^=B$9oEdl~D!DVM!uC?LlV7rkUob z7jTsnsV9h}*)Y4;!CcamLU*=1!AKK5>3175jFYgL!J$W5(vq;Gl-8dF)<~v`Ty*Ts zI*UqOlZsk+pK5c*oBgr{o;tReuK7?VF%iu&hw@PG;G(sW`JzcD=|m*H2wPF1m&1;& zUrKddt^0)j71QKgf!Vble#Q+e^FBR!4ji%n0GVxnb^id8c(Tel75YD*9Wkk+Q_-1t zJ{F*uQ6A&J-v+-pc@8_{=agEbZ^X&p5_S-}DO*5*VB_d}(6Q4l$+c!v<4;PRPee|? zZrS`^mHsRYt%7s$o~KjC-%?R@c#h$Gu~f{vSa#-+<({<<){AurmqAp zdUYes*ZNc&+Y=I}TS&@1@;iHq`sOT-QCUA9>;=Zj{x1j9m$Z3N*4zqEP*O9rr?@n7 zYv4(j9FuW+J|oh!6r80~F0c-Eajs)e@;S!8rt3l* zkA5xn$&)u&adhI3bQ5D$U1)cRvNXf;tt;})SP=(mz#&`;hZ1J0prW8?H;|<5S?qF zi=UXOjl=5|@jNZ@yp4Y*yCV9WYcUqmTPsk&nKkq`E5$~0izf!s5_-pKu9Bz{NvA$G z)ClI1l*_s@rpW?meoy>H6(8D$ojglp69SZG(>nbLJz|6Sm8v*3pz)9GNCP?~=)FX? z{{WJuKvx;91R9hmq7J6nu;{J@Hkjg;@)eA*y=br1*IR9hcXp~V!>-73rLCDoii7<| zlgyrCsO7rC*oK$YqkidD_Szx@;8)E&gSoR=#EM8}CKF0NLt9|`)!?d%#Jv<{mF!U0 zmNuyIPWWqLj!SJ>nso!SxPdjQ;m6RTZp`agf7WLmt53y-ikq)sw$e+1Q$F-tdM$8q zcD)4c+a(k2??O&V7AV@ZTWOM2#Zf8fjWETXkWypxpt5DAT?~Jc%Cw!NET*emi_k7Rp})0nR{OoI77G_aL}n(URLWdy3#^q-Fsaz({ zN?O!oYA5!uoM6ZGb5b;Ur_&kZ9~O19t91*(D)gX{&wBfx>Fz4y@mKO=`IGG}8QY`< zA5n_aM_{<+)zczE{{V@V$eOm?R)QfVFOu_a0|{0IROJ2()A)XgkL80^Id03^NgS?J zI~;!1%`&-t$Ytm&ufuBXkao(2Df0OH;AL%ktscAS3#31$w0B9{Ul#H>`ekGO9FvJ( ztZYNph191g$Tfe7#@o8V5Rv$SfAD7SIRu$ zsoNVn_pKHnwBZCAwhg%KTKA$$HwWdMj`dDNac@HQnzOn)Trxr ztoo7_%!sc&dN`kNWoyJneYmS}vWZ5R4*vjX%+m}i%4exsVP1fr?{$<6K$AiFkN62Q z(U;ul_2))58PP4H{G%1|Unefyi5p)X9=v#rsw2rXv0q_>+(GvQ{u#h3_={@xaf*L0MNU^M4CzfROGps}{pc=4l2%g)$v=M0U!-jPC?P*u#`zqc##m!$()89! zPzPWuE1p*Db%H%mU6Pc5l4vO=!cH#IorH?+Htgh;pc|KF*>fi*o^bQa1GVU1lB4V^ zZsT{1!pPkfsN(Yb(?nG@va|MqCu)T|$B{`K^`ZpZgqR|Q<#FSlEi_4_wp(i5LI^)Y zST7;OmljUF7sYniQpw^7N{kvumLDatbRD*MEJtHY@eeUJ3P$Dq6*y=)X>6q@X%iF%Nu{z7O|nO{(y&26s6#y# zb+=RlywjG-%%s4h@#a!RQjYd~YR`IOgI$(NWG9ceqp2*Nhmrf&zjn$LY1hg-HwS1l zH5CHNZ66wVmq8@ry(sAFjcxh}xZy2K&M0KJK@m->16~okJQ_P0YK;S236eIzk9sO3 zddAqXt;$t7f@!xGV*JprV6?47;PZn+b9<1b&OQ~EslC6bBLVHyD z{DVa&F0bJ0Dkc;_@GjH#e0bkE9*_*^hrAQ&Jsu<=Rdtklw@@s1~lmkfuxTe_wvBvRaReXUkaBSLOzt+~%}=NG6x=YBl>%b2 zJj^Zh`bMOHbMu^vkfO(wUydmFLG!!tmsz zkWEDnCkm7M(7uB0G!WBKxCDfZ8XG&J7T%C$n{t%{#LzOGmB~Ml^`efzOqiwF7R%!P z)JV4qRnOL-qiBnjGS#i*z$f5UQ^rm?J0P1jal@%xiV~cFl^b4rk39Oeh8Eai#G0xq< zrm%5H=Bbvy+n^@0-V`Glqxj5SnQn~lTWp1@c=z_LHxf%i$tK_M1%tGw+r2);Dqe^s ze`q%JA5kI=85Ua|w_>KQ(JEAPJW~vA){7}crj9h$fJ^{+sx!*jc9OO*S_NVbea$V% z)q_pT;p{5FI{;Qmp(ar$DyQs`19GBCj%v5)p~mD|NY$>0F8&_&@&ucyH!Y{{Rgwd>%h#{fk7L6pH&~<7mVBlHRB?#n6EYrSr$I zh`+&PT@-R5;w^I+CMQeD|Q;3T!ddiR5Rq~m6GI23pxYM(NufbKIjD{L0lRm8={t$(50&|yLY#tFb@W_zB@Nb zD;DQYI!K>R)QAId$mUIH{i`R6Z7UeZW+_VbGnbFC}4J=6ldNBl#})v_o@k zBYH6bt&E3HvPMeywGtANkY&^=1Jy$)qX6F6HPh?$qR!_!E|f= zL&7f;hvAk*vK-!!e=D}@JbcF=YWq)t@*m@HM=kHu{_Fn$CPGc{IX}Rs{iM1I*QYwM zzO2w0jRUDu_{(CS%G1aEM*W6zKDDI9D*Hd=TjX)9m6|@8jf@#G3GOI|_!PpC=|2t} z^ZG@vRQ~`DKWh1Jn~z>={^QIv@%s~R5?a+>2cIz0yl=J?E1X)LQL}W)OWiQqi2S39 z!t?&#TQodncvXUWzTJzio4&SDl@^Hu?N59J)N{LK8QO}!gU*O>w7<>4ub@d<6sc77 zdk4a;MHc;O#S-_>bxgFN@?`{!NbxYbFk?%k`^2!QNjmMp|(|KG%||s$ z&~F-drdI0vq2#O;7~A{RaE_>tE!mxP$S&)lSumGYEmRmvn) z`eem$f7Yv_#Mj7gM!VRgoza>DlaA9b$0ufm(p^P!)0(0+y9q6*fp*CLWd8t|4|<=6 z@{h-6`gwnA8Do_@iLP~x?w!;fBE3q%Xi{Bhs~=3$Kh;=q<-s0CKWU~j!;;|9<~>;u z;)etiN;vOEKan4~fL=bV#8Vi01b)*UyeEHdu(ni5^AW+NK5G)69!|XtyhQ4BY00J-aM`cu9W+7vM+kPQP!jC@n ziv3facj!6sxZNj1r-|C2(>i+PTcDH?`%)hT$NK!3hj|I~$488Hz~#l`kDQgLs!e^< ziBN)xl9O_iU?-SyDkctjkxXMW$U+@mlvOEF06-i^dLeBVN8Kb`w=$i;c9S(!m%)5l zWedhgHB8d@EK^U}@xz=bL9QjEleFz@CDU$sI;&0sdH11tvF(MTGLOqWXW`}9b53Z? zh!yd#HIJ@VHQ-8>4Vse)y0%&fnG~M{-Z`cpmMU?fD^5va%Zn8c%1Iwe`nQAReSR%B z=ugIfOC+%vr-|BM;5w1jq# zyE1EMAxY3vloXyKW~#@Mp29Ab6)xKgMnU7XFvF7Mb+yz})-A~jNlr8MrkLgUIOE!c zYt(rzC=h9`H`*wobri>4Er0O#kA-e1+Hh$PA$`(_7I-hVSLiR|Ww1-SefmxvZV%`U zRpIGH!42BC8DF$1vb2yAPw7sU^bobCP6!;;ilV5DogHrxla4CHui&mzNzw2SQ<;I0 zQratvi&Z10l?pt;9Mw6ks-g`c`=y)+>U}jp{%cYr-_uzC03{#&K1KY3Qjan(_$w)X zwSr)UsDAaz(hR$g@_kN3`*x_asq18k25>$(sJb{qbUg-h_p33zl}k%v=Ab~33}%{O zD4ijL!z6FNc&jIH6t~X0#;ArD_cYI5^y7YBk#3*)1$D*S5ZiZVX1l0w_+l&Wc@R>g8+UcRBVaqmxfi)c}qrmXX)il8f7N&>PH zYw7<0r|*H#b>fRV~l>Nnbj1h1`oYg6=d26-D;_7P_xAq4m+07O!Fu@U>mJK zI{ws=Oflhcje<&j*>b}5Oprk_-!*1DlEW)U8%skCyY1dIB*LQxwA?;goKr_tKWD>k zQmv*Yn<;igx|SJ4Ks*zgRnOwbG-$CpWsz<`+@I7|1DnO474OhT?^cU;k3oWSO7ce0 zD7s-lQuBLGXg$V37Nn_wb$boKk^L!`8#Mytg^4=8pSy7hr`&wrfTssy2Dzb!R$SYZ z@MFDcIJ~Z^f#n4KgY@=PleCYm5t>Qt;*(y69Xi`_+uoMuoe`_{F!I$iA z1xWnDi^D3@D4sjo_JHbrNtCM;YKnVBNxw|(r{O@)H5o?HHtK?kxc&&^G$M!GUl~+r z8*wD=>?o*~e`1reF^H?;MozSVdd0rv%7LalY3!m{t=j@SXtE24Bu6n!V=Zi}E*JZe zNp2_tk;v~>#vn3n=^s!Px_1-sE6>pxL8olEgb)Tf=BRGTq~f>oTCzJ|0YWOAtL-nr zD#>yVA+n%2gON+yp{m~g56Wc6yjN6-sQi@f&^D{uCa%WakejhPS!Zjc!SxBjr<`eA zMY-49()lg)<;iS;GH1O}&4+EA#Wnt;rJdFUsN>#|WX2GsK_>1=Y?Iry3gJxWd%Fed zGrCCqXv_y=r|1EF3PkqJF~kuTr5j?sxSznrMXjwX_tm za046}??L52j#0gbZ4_WZF&^~4A}jv@V5O_&rKE}EL7_53vM8ITIOzAmzzIB3E>0Re zpJ!%;()z~LqtzLMS-yW7(0>;)QXk9V)&jxpS-zcJ8Ys`SMLwiL9AR@9nsdQ!GC(}U zx|xfP1}@avm5Ie}c$qI9F-#}A2r%Z-m3wB6U%*dhjSo%geE}L0o4aix;FE$fPsI?N z90Tz3@ka}c*W4`V9a8R-sFgCXlod)xX!bRg=JBP6FV)5DqmRpReP5$cRj!TKx#8JAZ2RE~M}suUV!u1O1;(2%e_jWpvwK>0Sz)2P~#LBw~hR|-@{DS8yruOjIR z6NOWjyTOIRHmrWoZq*1g?OD!VHL}UCk@mviDWFO1SC5j9N4#!xJ34$Ge{*i+&pnNC ztpmmNe#=QGZbk-iRWj%HqvH+v_lz`=C2k}LKQ-Atuy6P|1e>MudOyNDL-?IZ<&RQA zTLu~(v9M@htIHi7>TH(bL zJBiGURj^14GH+IB9vbzs?4Cu1+qgJMCbNEX#jLS;Ach_{p72YonYX2jeP+-U!it4p z9OcHH8p?++9f6y+drP@3s2#KEqotBL;bMtne0el9Sh^O0?-ZvjX@}!>f(cIa!I~Am zti46GWMQ!g(&Ts*6}8#3Vy}y^_Wt_QZ1;B#EL1x!g0;TjFvZTxB%at)DC=l z4UFQ}gUm9Qnv=z4dD)aMAuwH!$hk|S3LI8?I9-=1rj9NLn1Um>YHP)t?uf`$)hwk- z5j@tXk3AxXx3L4NbRRjjDJk`die-jPY^y9jOyc6%##~ct5J7+`q$H$)R9ir&f}3~M zlg?g=wfWnbf#J;H&4(K=)W_L-F20~jR)~iNeh+a& zMSL>Zet#xo<1a`50DEX>S+Zn{%`RL3a<;#jKkHiW(*8~Hxj#m4?VtT0z>CW96!G^< zXc5tWg7JsLZBN3@O~eb<)A-FH)f}bNg9#sAKK1qta&wBB_JzDGk>uleBzbF6vAol7 zAJeZ`Qx`VQ7M^WbC|EE@?M6mQO3=49Ibxqr!RRjvE&=I8@OGr*+ZFRK)G)4K+Y9?x zsj9F40E@h-<-^*Xao6-$_7!GzKE~J35pmN^rhk?VVLZjdl+7;%cf({0u@{#Q+6GG0 zv?(A8Y2s(sG)i*AwbACScFEl@TD-7%8&u2dM0;kwlZpLIX^JyN!zRx|{{Uv)Z5J9# zx^mYgrC?8EUoHJ_#p#)4UnY~p<&5Lh>#yv81=TkU0SUWoEMvb0iTyjB)ge!+ z{{Zs}5!_$r{f!^UZ7T*&pHoNaTZ3$p*;gW~$H-Gv@)3=6mWn-J zsTUGkO1P^WwW7T9aHM%3o6rI?9|1IslWG%e!W%d^qlK8UqP&{xa3kM3s6jIJSf zNZX1EJ1=kW2-H^zIHPc_f#zZ_P`C(HXt+@m@+yqGsb1O^d*s%)gBzd;x?Z+s+OzwW zCjj@YPaZUiqf%DR^oO^Ujl|S>F{1owjTWiL0+eN8F;o&|9nNT3v#N$2C`?Ecw~$!{ zVbX$If<{FzPho1>1YWQN;*7;2El@3fnHkL)9i2ovsSw0}y+frcluq>p>=$Df#!IB&fDO z!Dh|k)7e%HRgyiTTeR-SO%C*=pru&$q+G049fnlXvsCHE(yo}hO}dYj3zoscNgb-M z@mXiWo-B_`(C!K}r4tv{kVDRbA{2T0(+)JWnU&@*zCzu~M(Sye*tM(E7<@aqHvLC# zL4c_gH;|8P60gG;cMkPr7({*(6A(P>g6 zdJEeURmLbOlI?m5G77|Y{ir!>WS8K%Z*CF`k%WmgOr+%cuWYl_Y(&@IFI}w@JJnkV zL;N-f;}y^Dm-jsf;U$u7G!~b(JvH)w)LDL~C8Jg2;ZRKrJ~V1&)(wklo!rGV{V{{A zzM}^66YTn<&pMT&ONVl1zL|p~NK5qX(*-?Z(MdBBJJFHLB+FJ6R)D&WoU|oMK!H4p zVS_FE2A(#e(kQY@2GXw3D(Uah7&$FTmP3P#^HtF_{tlL)Vh7rykv5g4Skj*e)EQAE zLb&*<^TP2mxyf2RPvLFqT(E2c1OXND4?l~pMlj&bHqAe1Q(sY8HtE>)CD&p`s)1*% zrEvk-1lIfXw8`CMjPnR(D{zYohD$ zHFf$w5z-oVp}5OxK>Bu|d{(o{0r7W&6Kq4ba8JL@Xel7Lw96@6PHJ_#Jl>hwU<#T~ z;H||UN`^tfuKZD3uV=u$q=dxBwNsMXDspS~k9|JiPf%zpP(G%DdBMeIJcLxRt5BPP0XpCREGK`h<-HUGsO2=q4 z(k|#%B&vjdp55H=To52}6y{q% z(z~WQbhW51C0WcGN8~b6qIed~i>4TakELO`^VrXfu0xAJ1d2%~Y;P4rH);t%B*rRu z)w7dgFH_$wkanozc&!fu5}Oz1*sZ2@Iv=_$IOG(Vruq0T5bTf?GcMg&-Dz}Im`R#T zlN~U+zd@TD}%3ef(GAg`s z>dR#nBq?h8cG6)y)1Ee9ERhto4KONw6Y);4=b%YOg`2G}$aj9+6HRgF?x-GG_vpJ~ zjjkk&ilZ~NL?ugTb<&ta$sU;|DGwrUEzn*RrKTRYvk4hbG`e|hg{bvDy{3hU3Ff&R z%@(+(wk~U0Hsq_*^u;vd@@Nk>ACVhSwNnZySdWU(VaeNQ2TM#|)NNv2Kr%TL&kj%W zvZ=f-%(95U9yHfi*NwUXcTlx?`HMCq23- z>L>*pk|>-KX_h*z0?Q%@9K|$(Dx6zXfO>_el)o_~!0!}JIeam6@u<6HcFGF3l?;ff zJE|#@jrMH5*+?5iz@g-FEh|KcQbU1TxTrN~?`Wx5a?a%|Yzg9k%LbUo26WM3#m)(u ztstMPdTgV01Q|H1;8!oZ+ZFYMl}Q;R2OX)m8PFu8?4uX zl4qJpl@|83NG!sM8)!MLkXPudsEJSJtFZelRr0_WiUwfu?@X~G)i04^`6tfc$7*eh zQ6#qMm60jH#8r=HB&jrl7OtxWaU&EqNYE7B?T2jM2W~{-fXfmxr0>;**-$B*NT6h? zo^?TOD)h9Zq{#ZvT#Q||QRsEi^&c&1T2}&T7bgv>Ckb_xqejy8e=^twE^+T!en%Rl zJLBip*+W>oNo`|ri0wr2vF#ntl{m97)*ah?q6i0?*6~;L(3wB#7A$YuS^z3CDEMkN z7aXaoKU`idDj^al+lq|akD@Mih!Xn5twiJc(DRF$`;K<&>~-i~wO*5Sk#MqGBm1Ew$ zAk?~U?afC=ZBE+BQrZJ39^>3oym{j_OwMxnIWSAScE19JlbOhf!5zV&vc&c|C+K3* zfGQD7IUbL7+a7e3??Q7(IS!ac6>$tVZlQ>Z22(*wEoqf+ZBE$<#aoJHS#j#X&LE{n z9sQ`}?E$#7cGK!U6g$t}i>7e~7aYzeH#CL6M( z_eI;~g|wkHMkP`y zi=yvfd)A78Blhn{!e41>^qC!_N(+E+u5m!-Xu99PUfGd_7#aIeGm%?`y}Ah@vlEUe zSu&}rX8;nYIn3s}bb-3LX_f{=gH^NJWV&KV)$JhUI1GI%IiK{T%Q0$kO!Uu$&8d2I z<Nxd|IT3a%5A{EZ!O${o>&QVO98OnbU%)vx3P~v(3MInH#W!{6={IUAkbd6P$BiSg zYEiUGhxY&psJIZTTRPqfcLz8>Sg6%MK$#MX?3pdA--diT+1jo`su?5RG|0!SW%m0w zKMOkHHz`Gp)1%Bx2%c-_{(r@Exxr}Bc%LBC`g3Nrccw9^+6S8en2>83k36tXt2BAA zEb#1sc4>0aeoM2AQF&`3v@e2ibi)j<(jd@sh*EkagSv1kKL>tFwmMjy@YaCfIb(7Vahap7WrdJQ!O&OnX>}o6 zzO)z8>gd0^lR8@EGtGG|mNJdO8Kbz(CRX$>>d4>g1Js(+aOYb<8PjDJ-cZcJ6zVSa zQ3*Bj7t(blHn>vz)fwY)&`vCkCTSWI$$gPA#b7+toFv%ei!~*&XGqn9kcFA{KGjbn z1Be^U!qISv5VwvO5M`V-x zjK8Y10u-m)Oce4X_olpjsz7pww`P5Og(1RDJ}IUrXaghrnJ$=RO5_od@m$Lk{gz;A z+3auZ`Pb)F(b=)SP%BCNJEWZXi5OS^05X4ZUl9Fg;r{@`=6P}Y_P@9P00x7{@_wAU zzf9U&hgxx5E%zrO|h0t^q+gPun8C&H8)FE_W6)m%mT@{(scO^0B@bC$xQDkH6Ymq;0hy z?(Z1-eY6cfsDN(yC>Un!0VMwb)IV`rjBUl!`3&XbS+TA}555jOTAZmv~4~W!<{?;sgQ1d~d15Q?Ef@D0dJ zpNetBZz4^L`44W3{u{IAUv2^<(0*=JjHiT?$a*J5Oj{%Y5Cwe4lg=3Kg+d)Z~6+CjLN=mi_yJ)6hb4)SG96*QGP)JuX zM#Wj*iz!@O1g2ydtKkb}a%p-1+}x7!3J@lk!W9vIMRTgrC7b(PDdi`>wR0>q45QXg zy#$c#5Uh|mpxk~BH)_K+u5N5(nhPSPTMDF$1w?b&s;ez+*3f@Ly&$DKu{67th`S8U zr^APh&YP&)$RMB?r2ha-xK2O8q2jeDqbllVe7pOUM+;Z=qc}6|jx5gk2!B>cRJaFx z4r$CDg;h+w()S;Q*KJ-n+UN$knRbl?aNk_Vq1#Y&HsJnbius0T)^d;X&8#+)2(UPs z25i17;F-}anuK)AWV9yrAcodvo^ZX2d0H{fsCFJW;!SQi5&J|^cQG>U$$39c^!f|! zI^M|`R1qh=S2brENMW$`HYYT;`-dE zufgn+aDy|p$-31W0#4yRP4=Slf%K!(KJ~fq_&$~-n5U6G(`?K2JUF01iq>HCQFow2f=S8wnmR1)G{{|V zdt?~SIIFSCt2)+&%eED6^2fTlie(uoEeq?bX`CSDBOvy!vQd(gI#D4+tF%;7Jmi$O z=;SUPO2LhaAA0MKsE%dXU*PnYgF1nB*|d`;1$?*lJ|41k6~UEHX5z}Xwmxg;@>IR4#vXQ$f8YVQEO3U&vJ1I4jd*Zl09vf^aD|Z(%r^ifFW^K?HzBRHo5% zen6VVp<5>zr#u|g`m@a$-oI(NwU{`qJ{fO7(qAa~(+*CW<7rR$YCYzK=dbFf36azt zFGH@V&-a&y4~(gH;FOQ1X>Sr=Pnlnm{1=mo*Wk@<9G1jlM4HjHOg0)t=9M_FZ4;~7 zCf$sG_pYfnanbmwOS5xd6#1zJuQq)y9pmOvBP5+Nmk02&w!JfzZ5n{B#iH? zZVHgNRzR&cj)gP>m)Vl4?c04(Zz6E1Ijx$;r;Do>M;*4!C#E&j-8O)y2{0=y&*C^X z&~6sLBa0926F8((jTbe0FIrzIm40ItXCE}U^6b48HKB&nP)qHJR!0@A<8mXKIynrD zX_s2KC{Pk}R%M5H&`)5swaQkI4|>XZP7<76f^p7?AQK~>dc{r-5^-hq@?2rf!)mBm zs&-omUW%H9m~ki5BCf-hnGBH7t$$&#kW)?Y=CCz(|4ev6y0BMK(9xj0610QGDdtAg3d1^fhg)Wnw!t3MhH|GvI4;PrE$0zc_byQ?U+Kwl z2hcHBV$ao)o;1WRqR~OzN^&^GXt;c#ZhTbiMbs^n(v*dR0<<`0q^$!rdK7h56>R8Q zLE23^jtCEmXXxva< z%KoE^(MQbA;Aqs^^iEQBWOq#m+uD7kk9x8WxAF_0?^XB#n_}C(pki_HMEA9!dWUuQ z7h8Y~7$ALOfW zp|rryyp?^?9Rul?Oa4D7+(<*U{l>>D2AvZfxNQ1{TUS`~O4&enVLw%uyh{-gM zAVs8tY^xJO%@xVf4x&90eX~=+?2~kpV)fWjJ&58doCa+MA$Suozh<%VnSDGMj=mMz(AsYJz7(Y+!ugtAFT+o+aUg_OS zrX@-#bS*egq*(mEegwXcC4Z@?kJIMj?~R#9T6jcWdEG-rNNwIq0Q9TNI3I;jF7mcO?nK-*5Hw7RW zsr9m#HV)J;2m}*|qHtoe$mFK1Pu5@D4slNSu%g!WVx`lGSWEfh=+ZPxl8~JCthXu!GLKN|-3o6qWK#7OnNCWridyhFi4oqM@g0h@ zIusqBIL1eMe}$^pB(}(1MkEZMy&sR!I4#mZ+lJ*_ccUQw(&;B>)@`7JoX{DvCiGbt zxS*x8B0{1giU%al^}l7*plpu+07@OpWi5V4l8{%;O}!O5vTzRGe)V1K=U3>nqBK>i zut~~QGAh1As}n8554kt&^yh`B+oLHvVpL4~*UCRo%eN-YuZCaIXlLq1!P4PEVDf24 z1^)nBLmpCV6`mIB8+F-rF0F2`JvUB9JFV zHcRqFHm-;~(w^}@)~u^M(~2iUl0XVM993>Ka#YnOTx5_S7(K;PBB^7Nj65idAmH|(`B)>!gM^8xN)NJB&q;W9)~xFGZJ}-r!~jIi ze6!7XxpAi2M#IJP{;YnRdmV4I_U=+1U;ufTq&TxUKC&6+!lm~_px*YBP_vOlx|Yx< zr$p#jiFPHFd#&)e-{zD^exU<+%4PzgL9)W;-01uM`^wQfkEB&a9h5nQ20e`=g0j!6OU znpV{UDYp+gRG2ncHk$!0K1+s172oEy99*ALBFV?;zu}fGaOmc(%llhJxc2sGJt+Ap zN=f3rd*@eSzY*??_e<2uRuWD@?rE-k7KlS7q1Q~*L(QZp=9J1kG{R!v$W2FhgpU1% z7lLX#MY4Yg;mdHOZ6h>a)}nQ2Q0iSJ1u9xw5!^)`#O1Xm5{!{vjBl$nLu}!Bw0b7A z++5eDF3*pv?1k+)&ne?L6l~R^7-ZA4Rq(5+oaw%yW?b6E=}T+&O2_0^>yN!#rar3OOQwgcC z;tJ4^HyQZ^azECDQm3-^uV~MFU+DwXoi@9>L=VR4({RtZ1M?^DD^2=u$^QU?Ps zMz3%VB~zLsi2nei5mspZ?`E~(3&mPe+niQ6^%Os>nEwF8wxLD-t6&GzR5=EQ@$$Hq zb7H-i$Bg!Y)M>h+MpS~*&&aQ(_$EXW8a;$2AZ1nWMu-T*P0|rPRB9n4(orXn!z}01R7LWm+^q(#|FO0qeHg9br4k#S4vdFsh zAF{cMU6uhcms0A=R+z?Ubf~`5K@r8tA$ znqtNB$|p44AS=$2sZyejj77OEyKJ7>;GFKwLUC-Vw3dS`xhYH<21uH&wu3rzfTRL= zpffF!$E9HcWKhdR%1oNZ{{V!uPdGls zJf(XvF0FHA!9DAJv?NYQ^-ZE5NwnX5H8f=!fm~z1F9kb89 zFU{=i7XJW%y|U#%4%8IZi8pMe)z_`JYL-FFNv6IN6**>?#)>&IOH5noMh)J*YSHfG z(H>7Cj~;SGTx8{u9*x#75vFwUgSH!w+P+`L$MyL;{F+wOap=OetG_*NEkyc>HS{hv zK8YkJa<{Q3QeO3wflsh1L^mg3)n}QbB3hljoJ3-K)YrR5tQ)MdHihjI+|gJkux>_` zqz7(J0OOh|{{SGc$ePkRC@`$a1Cw4%_5Hue$U!g!eQUQzEy*QDSGOkQMqy$0>whLim zNyyR}i;60$&!#+&0`XuZCzqvnYC4uk_4gH&>% zakIGOoQI7tk^q>b8PzbY*krf4KM_ForV)Av-`ga%sRtsA7@PfB9q!B&tbl(E5D_^QE;*1qt*LKT1y8hbl5J;ah~G z{22X{g(S3PI|)gjiq=Xt(S9kfK^C0=b5U_EQguY0XA*0gL?tTpe%_+4JIz^LQB_IE z=(uDF@7kc!t09rJ>5ZCm#Z2gq$s1h&{{Zz?f0-5AC-Q+g5AK6sl3t*OdXD%fDK1ay zC~h+C$BAs@qmo3{4sTF1HBMznKzDDO_k@zd#E)!KQd# ziX}^Cnc(9IDz^Ycu1-E{Df*Ug?qOUFxYy+M4VVFxf74$joBN%csO=)l#u71AM6ypn z%i@0w|{^ zxpHT{eJjQ)TZEHNrzM1QJG)b%BJ6C_#XOhM%-3=oAO(aOJ<#-DjF4&<*Sfx z2TU-ROiaZCTMdJ~gLONignnu-20LUYGd=2Sw3Mt*BDB05eu3ub&TbGDa-}EVHK>EA zQ3%B?poW!r<(uJ2S&A2tjb)7->rJys(RGAfG@n*u-m=`TGselrb{!6akf3>`{eB6{ z_$=FBsiFZmnkS8(TzP*0*%jzA&Zd>5O7r!tR~syI!qHmF;r7TOXR2*p-Sj^%jHMe$ zDjBvNx4lb=1Rt$@{{YKzKAgKDjy%1U7ua%OiqGVaz(ieoEp!mBou&06w@9}0c4Nh1Ak;stOFqSrZ}?v0Og0t`%8PtbOVa^cy>it z<a-{l`jUdP+#Z#YIh~bw>06)^xPEm3nhb z_}SWExv`nQQs~5PT2Lmn93EBs6=s8kv}c;NwiMEnky>s(Pm~WO*-#SED``cg^T^E| zk*O;{kaA9$e0p&-KeGP-L{1ajVy6^CZGiPX_K(6t4w`K6! zIW&S=bN)k-kOd2x9no5fgoeu-?TJa<0~DJsE7L7YuFLDxJk*r#q2q_CXMXRh7j;!` zQ5~tD9Z_7<_3#J|sSDf=dqo_V$UkJ;7_B;%^;YS(TY+0dNg1iR_R|f9Y4z)NFmz_B z%RNBDw@C{^y(AtecuDqlGx6C}IWd%m{{R-Wc6ALctLqkovYqK8k~`EJ?ITC$_|eIU zW{UJ@7I;)~|-F=gA%2JopB`X*s z;MS*&&xax%p!P52aHE-8_9C^V-f0&%bcTu(>C+SS^%w5QifRAwz0x0-<7fI5f zPNGi2N%~Q^60^!$u{&0AP@^Y`dB;>;88J%g;I`&T{b|lPCW5fftFlWApxx43-QO`$ z%Z}ke?rK{`iKATwB`0u*_pHw+9@;CKO$@EvZa{@%l}Z%KWh+2Echr>;kZArUoeJ}- zZ3)*ahlol?(9`TXrog8vbcob~5C|qn?@S=u+h=g;EzwEF{{V@JlkeV&PNH76U1^cE zAPFGmljN02*g|@wUtyuT548(9X!G0IWk^C$cMdqJQ+87{zDj`vuNd|sue}t~Zpnf$ z1j@VBZJp~%i`p6p)f-%PepZGK~^$90R zSy#m?;i}7_pDErQo+0sNlv#Dotk5Ua;#dCw)GPD{f`3zkjh{c}H6Bc&AUxqDgb5X( zjDH~MxoRk;w@JZ(O#LeL3MDDpqIO(P-T|uSwnO7cxYOVWDwEvR5`k2*C8o>lDhJmz zJkUHo*3&IF3Rdh7iK?ZgMB?KqZH(O`)Nkl_?YM_d$%O!M^`$;Xg&tlun%O*AUmquA z&rNi1Q(NlRO{;h^1m?a|KS4ls0lH z#{)G;1CgJr$SVi{VNCN z;c{$c$7<6?N}KN~`3EyKrg*y|r8J!lx(==s0ZO>R6G?e|W`eQgv^>~dCgA~6CY3CY z6KREGeZ7~t7_R>Si$&Y?iW-foZW>VAGhBx*rD%+!qciHw5Ge~mZbAL4S>rkCNhZLu zF3YPj9Y)2=8>Kb|CPJpQxU#87Oj^}kPDd;HS=OHT9?j!r7<^?!oBR=rb9 zZr$e(pSNPcIP+3D{{ZG0uZ@1G@#_XxIQstpxBmbGo(5@OSMqF@j)xQFl?1I^d@HqL zI2}y!K?`6H+P^yTo5jm=Uz2-@cfqsH zJ}zjgcR;y$4SMwF%1%F)abIBlJIL(_Gcn19N=l6X0HfVMhZNJvNA51g{{RUO7A}P% zX0zF2OpA6cb!vi%CYt!=UV!t?^et$rP}D&*+m%lcCABqXqi*R=mZKf3BRJkz7@7ru|#sItl#PhRia)oc9pYx(^CwOrF`o;XAL2W(tG(aZ=!JxB6NT=?hr%b#O4E-rb zBN=QYw?j>XgV5yVr>Y5hy zrWCX&gz@{+PAt-7CnnI1sHIJ~Nd-c4@mdTmNdmXMg4Vxz08JSbQ7TqQ(vVUl!8w|Q zldx=wHL%s9rLYD>P#G4aJGF8Y4l%C5f;NZEMl_rQkcV~DKW z{fy%GM2=yz?@?aMBq;SLhL;1er+gi>Ddp*C!uryD(qMC6K=Gc8)@Q#$df8BgjQuIv zn)G$Twt`lYP$U``A#7My)KGa2SX$7;tndW~lX@+W%N07B@lV_o1s`hAaWVZI5nr8) zvq{QL1iUq1E2t3bf6}-{PX##2zbSl_RlKR8~x4h)RjQ9|CzJHPg@5in@|Q+RS@Z zxSdNt*{)HbKa!M0AFUbLvY6qF5@_W}5rIDy} zRAef$->7i+$7dq?CQu(92k|ar5dqJiOwCy89(Vh+^Dj5fw&2nPm_Ati#D;gRApm1?YC8iXaTIH~`5Gw3) zqu#_mskI4}?X6de%A~rooR5Bl?HqYptAitYb4~fG@mLh2_c}B#ge1LtXs`W7j?p~Q zE<>rpNS6V)!s5uR&Xie0hBU%*ZoHr!b%PE4AUOWAD_hXMU@ zRqXSxXGMI;Jk_4co7J|oPL@yJ-20iM?ls{l= z*5s8$(b%Lxs{4&!!JANCw>_q79r~JoY=gXPRIdFiYuI|O`@HeLXp(SmG1EL3SL*2%u*Wg)Ldz z&4s4|YB7}(dq6!x$|n?l9JU9RE+9L*P(hJQG33}R;-1C(hK;MTkpgLyCEW`$N9nyG zpQrCZ08J_8Vh`fwvDU%hpaC;Tvc;{Au**RZ*gR1Ef)cW&?Vwso+g9VrOoZWRPuH}N zw5Wu0PPm+kU>R{4Pg7`0LX@`A$F*#DJhas@PDnVt3CgrPkEhfRdUmpC5>eV{j&{mb zgHo@OQI)!6FRB2Ky;%fyO|L**Qaq(A29Lq+in1i4*p#b|a-F(K=n=#$v1MMX`7AM&h>_oPS#ENjASEJ2$7cYRjXlcC?R; zGLYycGx1WCooKPGSjnfdcBBEwr8%Xt*sAn`X=BqQP>w`r5~ibXEtn7mUxswb+-y?2 zK?H?h1I; z>J10*&O+4MV1xcsN^)|PCq~x}c=GT#Kf#UlCWgHiTe!0*goW;J7}|KFvE@^ZqaB+I z#W`bt1a`$}GbCcEoio+>9=bQJt~7^HZu6wHObI+veAREY_Uqvcsni1F9ebL8q9ug{>spM>2MLh!QD=C#@5Uuic`t8=eXI#a$^S z21@Q!!q&`hNCOm)H0n);L+}u0+7d?4Xh~!w)~xOJ_BRH(7i=FRqzzC3%pQADOZJpE zx=fKi;}f5?N7?JxLqI3{#XOmTnj4p_WtgS+X!QR8hlxUT)Fk2(KU(=Wn0J-GM5RUnM~JkN^OjO!bijpiT%V)Lz5+>3^ye}tR_TSo zS_SJCVb)cS)L$DfSrul-*;6tupws^V3w^vM0hz6@4>#1uLL8X>ob+?1?nB~mE7_^U zoFe;B#G7E^K}u<7ey?Fp3QI&!SYVi`$1z*Rz?zkS+M)*?qL^{>Y@%>fE8VbJdvF90 ze`?n7IX_Y~#kpXVtqk2gawQ}jjwx4|!lf3=@J^nLUheFN00aXwiqYf7n%Prrx_--= zHngj2fw@o#gH&?3s&LWlc|M%G8lO+m2@~ zfNjT2Hj~;A{9Wlr`lF{7<1LTH*`(ZCEDY`gDf$swFVlWO`2JG2_RCNH%unU`-(MB4 zXv=&!*X|v(drdB@YT%a7Wei5DD`Vp_ta(!r%~|JrE!O&@CxVwm&%v*w=W8Yh{e^H{GM?$^d!)ah+7NkZGx}HO zk1GzmnSXP6!k=tu8PAD2N*uY?wAF*Q_T0LG+i zV4-C{p{>6?cBT!DN-?3@!Q32)q@v3EypM*JVA6wi|X z0HzPQNYYV1-Jv;xD>;WB)Z|cnHH=l(ZML+fgy$xowbGCeC-!J~@TsriHbCb!lKnv~ zvVJpe&Bn(JkEMM7059$}F#V?&YXv^_ENJA~p=VfJ1rT`@+lscVTb-GgR60pm6|3MX z6XpBmqb%2zDo{19;w=!4y@^-tCE4wsY4#a3Ss3<3K*3Cy8*2Xca%ua1iwp%5oJCb4 zrn~Glr@iIvk(viIY_2fssBqEllBmzrQa)BX4TDXM)<7vDIHb9B5fx!JnVJ$(qR6W| zHsH*P=hP(Pf%o=1l0hG}6NfD_E*cSa{WHrdQbGMIL&MK>nMB~$(4TNTr4X;BJA<%E z$*rHQRU~fhUC4p`y@qVu5Crkf0hKe>z5-UR6s#2E+)%kAYiFCap@P{(Z31a-MNF17 z+O|mGBvexfv75sy(`nVVM{xkS1yjgMlNfMaOnmWWfSp|r3) z{^4IMS}@+SNK>l%#eDu3~D8Q2M!4Nlo>Lhp4~i+^>>J#c6$|Ujo_b*T~V~@ltNq@8#`C{KY(J z1#z8iopqk7Zgn-IafbaPHP0Ex>5BgVAvtCDP^WcqgC>3{&Nv=R@CJEBYv+$@Itr0u z{1K1`Cafi|llJ(YE6&e3Dkxs8ENvWB*p)CmkFwA_0t}4B6hbMt*yNeV;;Q}{V)v^IEqav0Xz=OhYE<{{gT%H>~CGz*RLqml30Un1wI9;Z9Hc&Uz1mj7KvqR(dHCuRUp#6nUp!KQBoltg6wRFiSeX1vog7-nE&Uo(%xG%eucvdFY439Y&D6 z2LhA&ibs~qnTciA5bMW%9FvPaI2aG%Igyqbv1tlMEg^G3u27l zw9UGNf)@vXYgNNlLU}95j2~DVwHt%~06DLr@wJL5tJTrgn`}#f#0vI&njoOtwm=OxZ=_$d0SK7tAT4&ENeb|ls!FZ0WZ;^C=aE@= zPu10Auok1YiXS%}WmbW5$-`q!j-rQ<6om}@(u}xVT{3Z%t3edJ6eJwQ4B&{MXOC&kv;gBs}8g zv9`(Zq=HO?S$xo;oF!-`(!mizG!Y-c4bvfMC*G$C(<3;kAPw!V(tW9pES7-h8W(jd zZQ)QeOz>o(erVm5^mo+D+Z1y(Zzc+A$}maAkNQ={$t6eYM#uO(mA!&>1eG+XG-ek} zu5oQ>L%&EDMLEIy){6`KECzJ`(2k#RwIQ;9G)bYeLiT!1rPJ~-S~vg(NfU|%{s~1Y zFG^fSM?Um4*IlEUYMD{Qd1Qc@9f_$$_D6T=5Uo(G54Bj8mC8*^(fBxGMk~~HO})hA z5={PV;=7~DO?(!^DF_Px05>sIxoj#BRcz%A{{RpWoK1DT6YB3?hJ87bTN%wM&n=h5 zI}$oq<62`@#F zwZDR>ZA8eJ9jezPv`Q(zxfN~z-L%Zrka{YUSJjow4cN|bed^Md*7R}}<)|Ipa~0~c zsrpGjLCr1sQWT}g6b5)v2aPnPC+KNl1vVsdDLnMTR8o)JSZJ2S3{`Ubfuxo-NcdkN zB<}myQ~~bSv!?C}$e1(lQIsg+$lF)w?Zk!RPq`Jyx-4l)T4iDYQ6*e)R_&rONjoRB zxG7XASvBU8E`*=U*{Aqp)CsiI5pQs~L!)A|jMjU|VtD7@{$sx#%6O)e2>7q2vg+-% zCK3rjEx1Q;c&~9Y#r?Kl<*}~oBz}E}jIqWrD2Ys875OE4(M3Cvg?5UJGWBONV^dlV z^p8~B>30dXxNw0uB=c2s{B}Pfjkx~r_XNS0Cl++xjhjT*n!af&^F3JaUp(dTr^cI2 zRT^$TBkC=&p|!Pm*OvN3oKL-b7a|##Oy2(hBP8uqfwx+5WS=TZdHPV(T_r>%i>~4a zyg>lK`_UMkf@DBTpk#_W8wQee1iNV=WJff^9JDUUNrJC!f|7AYVx2OkzEGR3TL4u~ z__+uOI@^195Ia_riz}jW_hO2c8+AY=^Y*7nS_p)aOh3~%;V=1R&zf7#!*Q}uX-nCl z*Ijq)PTP$>3Tf35E$cU<=6qq(x+HH#$$cu#%Gc?-{;whS`SzHw;nK+~1y-`$L zukJn}Ay)uTX{luG7*Tv$l+b#?t;rLP^oKOI84tTbR_(w72RzVnnJ4V#>eTGO&lTKr z*+y8j2X&&AWFC3=qoXTD6<*F@DnxeXyL57N^cLyHe9O@a0D?L1Lh}Cr;j+v%eNRz% zeP-kK2`wgeB29dk%66Vt7@N-(kG3-3P&%QeUA9TWO$)<{`mtr)msqBm*g|Q&WSU2##v?8qsr& zq>(cYDnP&;=Bt!SoMou8`!1c+COD92X-7pAGqc{{S*U+7KZ9B0`Wau#E`%f_>ZJDV@CsulK?dV48uAB}fN=te76#oFn z^SU*$c3gd15}45x+lm1s5Nkn`m)%<_gdW5876c_K10z3rS(`S?qZ>xU;g+`gQtpuK ztbyk>CnNmB{c98Fc#+m+{h$4UxEUpmZx{NSb%UfRAvp6gp75&5WsbM-JjUx^l1I>8 zPSB7LWW;gqDlwN=zh`G2%8Wl$>66mlAw0WwcG+rSPqIe=U(TP`HNL^l{{Z%fjY?1N zhM)HMW?MD~#^gF$VsBLL8pGR$d8d32_y}E}Q+7P~Lf}ox(hu5@exp|eHSsTIt*x*g z(wyM>YahjzOvun@jpGms5~W)x{#AuEs@3r_b;=>kt4EwVlFR$EsV?o*jJ0rM9j0sP zylkISj=!+4Dy*H4U-(geE_!Cm{{Z19HSqrc)EIhl=l#uZi_6;`G9MId_KRIi3?)Ui z{RoOP^sguBXXsbuv38GSd2a61>AgpK#1xM-tswgx*VeLq_>&YyTI_?CHxM}#u4;(Q zly#+t5_|Wnc-nRil3l0|qJjP32Qxv{h(??Zi@!1aC8w8AAHdxz#Os zHj11{ig7KpEayqZQ19V$QEu5Faaf-}FS&(yt(zsF+Q|A=8z=5G(b6kjs|K#din2S< ztF1c;KGfrj9ietKJ`w=cBKb(YJ8Qa$3eTvtgQj2l$NTgDto zIHx$?i@Lb&6+%@L8TRPnbz6Il~xx#GKFNU*v}L@Bs5lPc-VlKi9-Duv==}0ZQc^?_SQeZmO>8m# z1umjYw7&G`g#O`IEo#g=tU>%lM|$7**Y=rw*YySV6Dfcxl${o@M`>r*x+*SOBPiPn z+P44`pK20vCXo+O>It^DO}b8Y%+=mH54)LOdG3V0#cmQoo@v!+T`63xjU6ib?V54K zgE^W}&x)H#hT)d2ARe!DqVm_fGe25k#>Tp&c2bqFBiG4Mjt_c1IGQYuZ%C}CkO@15 zT%yaA<9lQ;-nKAR$F*A=a*;V@i*!*|p|}v70)JY$VXtKwGb%on1puS%`d2Hiigi{- z;s`$ny-7Pd?L85xBy%-1&Nid6BHWqx_^Dat`3iKq=HFIi@sZz}6Q2(FSUjydJ!Q~0 zq5V0zJ%{wKjrojSGO_;vkI8XKj-^tMaTJ9rV|&oC)J*w|pLFJ%@MqF#p#9*}DX`j&Q`4E#J_*EaT(ksW}n42^VF&)0kjuVXux;18(- z_*G96Mqqz%7Jv9mP}SEAr~}%a@s`B7oLyBK^T{2Ix}hl00Xrlo=uG5 z4N>vya|98^dNbMQ8_=_@vFKb)Hsa4# zEPEh$-Zx(Zg{|^kKu}j~QaqTtu$H?kMTI(4B4VpiqKU@HRPjo;1CjgF9v>s=I+vhK zu+@xO7OlWmKK1V@#g1rPN%6B+vqI7J5VRx}Pu{+F%fR6#nEwC{RV0R6XMq5S%_*E{ zIY}1D3r=d9X_lv8+xBE0(Zv;pR1KOIENTtyka(uJU5oO@fT~W%gNXal>D*`muCK7$ zpk0NbAeu|d$3q@APl3k8%n36|a>R3rVOITV$21hJFsQpLU0d!+#a)V2S2&A$uAUqU z8)>Et-B>1EZJ`%f(IlvpeJer6_Zoo{4Qx1Spt~YKBL8B=M)V z!#1xhh!X;WoN1hDRcp{ihhUBMT#{&uTliDG39d4CXl2qMvNK9~Ke(JJ zAi!?~&`w7s7FWGM^2v|;RhZt&WVK>8u-W`dig-1l<3F(izujmM>rf0IiarwAd|fKC zp=6bI=bE#$1#l-&zYTqB|VWN=2D5mE1yt zOh!g3=(NT8VAj!D3R(z3g*V4NBD=BHMPTlT}c9qWu-wzMdM2s1Rlmx)de!g0;oqguRDburH1aC1($tc5it zW_Pc)Wkf^?tuGElmfeV#N-aK64<@u&*J#;fa&>fx^sApD?I(B>%zIQh82iBVrBb`t z{{W}oZa_P`R&O>fgxYbm7Deo*X##{;z5(YtTPRKnmB<704p>AmGq}d4@U}v!H zMkdzEVB;0loi-)VQl8w@b3U=6#kpD;bkqWn1tQMFAj7ONi6UqT%8P0KJf?$pD*b$coK87 z)7=R3jN2h7Sx6{@2EI|{KjJox-;0w_uYzu(aVgX9O7J|jRXil#NY~`IlPbqM{2oUB z(F+UeO)DHHU<#pjsHeIPd!B0j zl2J?9^|kt?Srx{tgsSbAtsKZ6_=+DSN>WzBwna%hq(>AUO^}W!7TWX{woq6Kk?ldv zQ=^G?R?Cfq0f1zjRWh=qqYM7!>sNfIlA$B%L*$QjMUsk-q1#DxzLwU~wz}V`CTl;) zk5<$47mlW=+I&9h!FI}RE>*SEdPpX)zGKJzId_MnOX9iB{{T*Y$1O_DH!XRsjM6+A zKAWaH&5!CUK&IF!!AYX!Fg}!AZ5SA;B*~<7>JG^QxSA%`g)XMD^AJwn)a!$nt3vKX zEeJn{4LneJ2DDxKM!;ho&}PW(1KNVhtS%AxVXJZqK*Z1!PQqfW`*Cg@N6mT@>h^MY z?Fu^fpSURPr(8_bEYF67*DX}rr9yCVTHYTeIQ3$@m~ZYgex|Thg~NOnwnO3$7r!53@%hxS#60}F8=QKWiOC(xlu#>xA2F21k%3o~*etT9Q z$nl&Q%N9i~qe#=74xmc2S!~g9V=PX>iDaoc0)%teQdOdkp{AwglnQ2OoH_cie7LMk zy3oA0%r{Rl^1Daax=XB&tZBstHpOyTyAz8@C20N5l;SlTMHIPicaQmpaYE#TISJ#R zrgI~3Us68NtY{khH}>sZ+p1FPLXv%}9n9g&44h@~HsbQ5lBB&2O+WaL<2U(L>W}%m z{{X!yoO-%`#%fMmLcdvQOy1cg;vvg*`HiYLJ;&TrUm3`jIrUzih1|?hn!l3->Z3ZV zgm8JUqImsbMpHZchK~u~4eI_`Gq_Tp)G@pkG4V3~r5kn11C}l%f0q@3gX@tqQ!T=b z`PP(eZV(1--rPQwri7|-m*ohu#>_j$4LDhKVy+M&H%%eXe%17!4VUWi>56$NCam2& z4!tjQ^|AtiI{>emeyhXRlO{d!GSwOfSn0psdIiHqSxRTX89bR)eMm+a&&X4uX80ra4WbK zN|{XL>dG1v9YrDp&ooaj{t;fAO&Z068?8}-aY?w6>f0M)rx9bWfNI&aV=Jau@^_sf zPmz6SdGOVpw#_T!+Ob}8S2iExBdcbx&Kd)Z3dc|P8YxXK9 z_B8K^wk*!{%*Uvl^%FI#;VlaiY1o0OC>5wj(zN_V`7g%r;0X8%ox>bc7|U7+>YAog zafBq1wkD>e%H+DbWC}*n&owmmRYYo(iGhlrvMw&PTGMU|ZvrL>;%bc0v_>iWMw!zW zfoMo4_pGNs6*d`(?0vE!NEod4T`-vX2_dOSp7bQ8y%#7tv$b1-1oy5fo#=sDrGRy^ zn9Ui3FIH7JS(|k}kp)Buiq!CV7oZ%m`4H|{EWHqUlUgWGv_LXKofhpE!gKo785NbO zN~k7+G4C`ZAlmdA(w>)feEeVdX-cfn_&ka^Ix}_ad^8Py)l)?W1?LHUo{{S>lE*zEpISL&_ zk{fVw0M>hl?E>S_b5)T_JTK1G*`j0<_-N#{CA#Ea^^NEpP}Y zCX({+FrwSb;MqPX*>m@atxGu>T~E!}BDC?~ajGr;mb zrXH{0R}ZnYdC#luO`f}U&=8d?c={UHU}?Z#leA>wL84q1Zjuf+8LIhE?*c72%Gs>w zw_aliS2(P1Cml(lhCe}{FchDq0aVM=DP5pAl0GPma;9=dchy#jMZj{sQzd;?+eq>W04K>xoWhUj;N&FeQ79@m@ zIT23ilc)X3kmvvfcCIoCX(XlW>?kOL75AAv-DO;J5`ASpHE16L>wCzzvkiNFV8bcD|M{jXJ@@Gh`D`ub5 zmit>tB0E-3n>%bf1a`DGvVaqjz@)NvGlHZ=bO1s4sl(YBy$X8rk`SXksmBp)4h!dVBoJ(;b6yn&+W|C0>IT)o`J%q;k(+MTBw*n|< zBHE>+>x^zp_lokK&NK?Xwo(dRNFqDY{AqW6N@o>T7SVMTfErojiVvH_>fDmiEOwPK ziMN7)GtDQIXq$=oO58IwMinK{a6)L>F!ivpB19#D+$gt*f~KMr6}& zIq_N-h;Nw7|%2W z;vEO_OyUC4PrXwYMX&BaySs3tkOdWvZ52sgh1>l!ESUnDVb0JVOj{E*{Shllu^!l` zyiQY03pNuq*L1}Pav;FM%HUg*H@!5^4S^r%b9%v>34oZ1}OPbl)GOgl|mUH&2ajk>R zwXr)^OubJy@9hSY-oeUea!0il8TDnb+FydInSgz#2Ch;pNw1Qt?Sm#e_NyZzGm4k8 z7a0H;5t^}0k#SM<47x!`^#1_&qOrRMn|E<5GIlF*CU~o*vKu zRy}N#GFG5Cw68g^sDgfJB$rn~HQ#LE=7CICV=7?TVx<~D`-VbQyz%s+p(|7`%Z+Kj zf=hP^fUXbCM1?3|<(N`Mj~s=vTQX}`Ft;!;mJ9fe$*D{3v4bmzRcQl&&Ds?8qJ z&_)+t%~zzg5p!azP4l4Qv#`=sV1NPUqurufe#%;<>p0gSccGCymN*bzr&hsV>F-o9Y)W zoJ$Xqm8Tr@MDuuX@)+ErzT%8|UKW&%S3>F(zS>ZwN#eeJ&hhibHku!CxmJ>FZL+@r zY*tWvds6IKr^bJ1*B(mI4zZv$s5D=Iz8X z6vGU!`-r(1*BdP3#^tlo{T!W*HV+#s<^D@@X4l6mNc+}{^0b?^sKmCf zzAK(BcFh|6lIJwBO~1k9&+Q9%F7;g)rAa$9{kZoEueyGjk6t~0V=Lq&vQ8iW011k| zy~7bB^{s3WG&Ye~5K^LZ995*_>wgF6{$zt(Jy*0?VR@N2_U%>81I{QdXyG77(=;AP z(OPZo1?|)dM&pq|O%R+_T)l*wP#_Ncw4H-X->dE*?Bc&0LglB}`zY@IExv#Hsn6@p?2tUo`B z`15pYI2^T_8wuT5Z9ZdT6fQj93@Uinv_{ij^*PJ%R-v<}StTZ+8EllJXa}rX`K&5N zVweEoKpwwwvUQLqXm&<%s@r)NJEAjMjy_J&p<9hejfcWv0Mw@+lIS|nTF&NE6Eq%3 zY$F@3GWs3`IWt2zm&P`ogEdwX>J&)L7sr!}D9wt{opopu>W9y@XgJxarU5J(sulcD z>E#42;ilzD=M>Mub2gzM9%eR`#Te?n4k&KO>?>}zke=FYC+wZ1lfcB})ly}jO}|5j zN9wDzxJznYF$DY4Pb0@!BVkxR$41@LdXipc8Ina{xwtyXjWEwct)w`BX%0n9V;5+Z zcIhJmt5c?StQUEv1uJ&SGan+5CQNq9YSVU^0zTZ)3prQQQ6N>G!a+=fQ(0{Dg840U zUZ8Z1QQZ;c{{RTf*7N>T$om?r$>Cg_OFVu0VEjyW3QaIZA5leJEOq#vLA z)=MlcU*OQ<$-cjn_PCAuTZ$lnq?+du)?|-zQ*hbm4yX~TxPoiy90zz)F`3oQgI*as zvs-K&cAz}$Z;rz}bf4APzBCG$k8xi*m+m#OUucrH)BW*zYN3Y^NFOx$H}oMt!xUs+ zdqzX!Rg#x$rfNkwNi3+xw*t4{r!#hpq5KNDOYLK)fEVED$Y`9Pk^9zX^@bYC*msGQ zIz0f(X}Y&lWCOhfN7}x9hSp?}s(*YL<_{C}g|}^V*g)N3baVdzDK+))2boU{Wq-kw z%@-WfUkuM}l?tDVb1{77Ph^*pSt2H*i&7&k=@m2tPNsy9ae-HJAM}dq$-0F3ifoNZYa+R{VMOX>wB3HHIwXSw)p*=#1(jbBB$4mO&{@}bp-V|SsAgl_@_ z(z!YbO7vL_N_eV!Y`3n6E-iN>09CNbvNqWm@i>S#?kd zgY8=mCVt3So)!wWl%2E3G+g!#3rVCDVNj6?lRsfXO&)fYBoWhGQeEUnG4n#_ifD`z zwuY-yy#UgDnqe@vO_o9eNF%YTtS%C%CT#lX{AY)j&y19%3ZJzH&y#NyznUB6k8Dyh z3#3A@F+^i}GV_bO20juAPc&Q~$UBPk!yOxX<(8`3jhxkdj4{s#34Ea59#@Wbk4f~- zu#HC7$#G#$Bn+P8-o8uZIIoY9xcWD|T*`5#cc?LOVRAJ)3_OlU0b|(F{uj$+;AQ^+ z_g}O_lZL+J57(1#t!c{C^z;xwA?CZGUFr8bgNiM4c%QOf*WrR>e_9{Ofpx+PTv#*B zKk-jU%yLyug-dlEr1z%t_HrqtTV`TKQzBNvR*`^_If@r2qo|?PWhF>KKb16BkBdpj zA3wVQTUv{!+hqgPq6IL?lj+6DgQ%%VG%#!4W}T-uW`z`m43COi!>svUNAMRW;}HW= zQOul*(qKpuN&8~s>ne0)h^BBj&+wHLry6gq{@Lb$28 z+GwI}#cAyH7lb;2EVc@`iut$dJU?>@;Yq@1-E7_5*zbz@?nu)#_@v~hj{Q4<_llMm zOonA>Mb_t8rpaa{W4Se6J%A8z`Rz{&8_PC%Xlm9i(|OZ+BZWCjYE07H zGx~XF{m${Rteki!_!a{Nhl&(C;zw#Xzi8S8oI19c$E6}bF%ybe$a^lvo7i!dj^BD+ zDHk=e+ZNlFBN-J;@=`ro(YAO{)G5jSQU~o=KhzTRH}I?ak~JU%@mUvjW|QQK@<7M6 zOBu}8fck=u;K&@$6m}op2b=y7kFA9ONfn^t(1(zn*_d@o$Zg}s4Qo7l+7>HQY|K)h zT8JRYtz&vFT3_5^(5=aJKNPQ*JrGcLNYivib}|e_WjRv04EXT1u=8Yr>?w4;hec6d z@n9sHw-R<&ky^1MsNV@n$Gp@26fKMA?u?sXS#|YigIg{d=@bK!Ey!F-3SAkWnr7Xi zJz5#`&`W9W@(n7^{^IyOQVTYT6Y)VwmnUeO$@I)kL$TFqY^kVP?_`+bj^Si~P=-kT zpzA=U)F4i2;)0s{ij~mIWJ;0`YR>bxpGCJHK?`UgmX#cHN}EI_8uX47g`~+KN6mFh z@DD6)g|u7Ejs&R08X|btCOuxkakmLkrgZ)0fh(7IBvripr=I0Adn zoUBi&%u`XC>}wW`B^p~d$ykLQq)j513%?#*g)dLhv&Dn#QeS|TqoM|TQc1`1PaJ{? zP*Oz;D1@mmL~kQ-z|D3pndcky47;|T1r-VWl}aN1t6&y_HqA5R<)#ag25;2*IVo96 zGn&+Jc{I?oG#p){Dc3C2+LQ=0TMi~mK(A=a`j8gx_YokTersF8eW619x7wLn(&!|5 zl`?Q5uE`7ZK~JiE%gs8XHw5Rj(9(?@jGVTX%Z$5#Hh>Rrnx;$T6Ly!P-MzsCB~v5V zRdceNEv$!83K*)~9CnDy?o~jS)VAFtU?w1Dh>A@VIY~O|S+rO&0uOqtDlWxd(g>wM zff$TXtx#>J=;=$0jw_T|Cfd+jNq28?G#4T^dJdSt)5b7o+Lp>YB-4J1_b%X`b5=qi zve&V8^&8wIjttXGPLW+(+A9WtPq>ctb%f(d6&^@PDUS7QUF?@;zS5_b2_UAg?ea$2 z(ZZNi5=2FJx+A}A6MWeU%4IZWDFRKkFW?ro$}=BBMW<(_8dv!VX>O?sNim*iUPNtC z=*GAC9W=YCN`2#aoVh1ZqMm!cUca1?RvQmb1mi&sc~ z=zFlu(iBgnV`0r_yrw?UXlcgOyP=<{EzCD^k;kN;ic`X!+*n^RQ&T|3TpL9dDA`nM zizsmVVPA^01V^Y5OgKJ4T}U63 z#ecday*Jc~Y0tyHt*b$T4L9X*arqopy@6xS@Xnd3Xgcdppe1V(c+WNSuOZ{-#+@{1 zc)XQ0vAa&xl8E(6Pa>4Yc`#43M!2%1iFIuT$6mEkk_PXNMLXkWk1OtunkS!+4op9j zCF%_d_eHu>HwYyM@+=GyOz~t=)AnWg9C`8Q)pQmyk@c+~ z5>-UMa;9h6vkFU@Pk-99+h@-)M7JJ?+|`-d5zyVEXE`6ypm`VJ_JS$0*D4GFr#9#fJ8 zXP6-hm>7`g@{mh1F_ic3O-YZKNOFdiE<#*_Jiaio0I{;ky?%f??RqLenmrc5hl;@yRzfs#RKRyl1uT)7G=4c~8O1X9T4>3-ws38k2BX5y^s=X5oSasV zGj%SM=9j81l9)*(iQ>Ma!Q?FXRE*Y4a)wT&TXd-4fHM_r=|W{%XPargPR$4L7EALI2P#i- zO*nZYDLhmCvKMmT(pe+z4_za#+v>KBJeMVD0bJw?&v_mkxbtbP4LDqdkttr#+jg{F z*gTN2vBVW4{-MaE*we?6I`lQkC6gQ3=MJn)Yi^{cgPQt(k9WsR#`1pLtu$Nc2Yjt@ zu|4rsd4=1K$@uoZr6bT*u1je>)FQrZk~GbZIcQVWQY`wJmsCA2%1t@rzpKP+@GZ=o za{mBv3&rg-&gom=l*+ANOUd{h>r?t`kd{=R$hVanOcUTO_(Q5g+bV6?n-w z$sV85-6aT8dB$tyP5nHoU&*z{xKc7t6ZB?=yQ$hOIKQ_pBOlB;ucUsQ&-O|W^uxQX}a`3%c`2ne|Oi z$jh%Cv(S&;lQ)}NZI;4BdTRjrE;4A-Mjv68_57W7*|25~err|YTX-cVWc-W&0MuyI zdI`9-Z2Styd3SSTzaGBSKc7ou=~>TgZsZBSU!`5>%u3iESD`0dR_)p5pYd0rUVph+ zpKDC+Byvq@cy8K2(T?a$)b#QSwkPJb+;}9Yxhk<{<8l_E#$t?A$thluT}pyMJeuQM zJ$0s4byF~XCZ>^GzmG*Xly;I-C$#sgqJh=bwm{RQx<|EJDCq6{40;XOZN!NuGsP?A zzG$+*90UC74b?HN~!-8cof z*R;XD&FrcHh%OLC?e6`jGzsQzmQD2!l=KwgU%CW!q&)5maPb zB${EJF{xCOgyv{0^3@`7TCsayxbv>mkf5VEruZTB@u-1iZR_N<(YkTD)WX(}$Yw;e7`hmOw-|Ssx7_>+p1xvT|LB9 z*VqOfND`Azd~RopB4}C2jqMn}i*`zTO?gRdOJpzfHT8}LMJ}xi`Er!8+g^-NISvI8 z#&J%%>V@ieD`THcYAFq-6l47<7dsBvP8r_N@uyw|!3(VZY*Z0#?FEB@WAg(+wMDU) zZ(wb0k1?|}e-eFUS2{=qe{Ket(t*lM38s;s^#FMrOQ|lPz|=fDx@hH1B|{_F%@xGR zvGPm!kGB?4e+DoFCQ>%`lUlHdI)$U4sK`CDUb4B%c8e^D1Kwtv6JuSfMbAa)&qw%9DH9Z{H`$&=JPE1s;?NUN zv)q)pktzlc(yqgobkA}X`Uzt8=meM(_zIj_4;g8x8Q2<2HsJ@Us{cwW^iYE%$Rzzq0 zRd7<;*E|DSPag}CLd@;OS(sjucBPz^ zO`OL+z?D{6phZ)4>=L9I?Xc8!&! zFlfXm07S(D%}PtqWx*vi_TYvGn?g6U`5w z4aBL=r$*1yw_n~JG~yDeQ*fc4DJBj)vOJhS)ZOrT3Vc-9PR8ayl^Kf6=EmUZ{1w7m z3$pZpc{B{;UV|X)v%7fA3Z<5(WDhmFfl`d9?2t0@*Kjz+7mpK zPqCgL(@d1lMn5(aWD)`0CWVp5iM`n}ONp5z=e0xaWpa$-sh1deOBu?(xvFIph;0{| zQj{=f>r}}1Rz-7e6}e&piNUVMe+55DMY(*k76O9EfdI!fDbqxfcJy9C!AJmPQ0*5+ zR;hbC3Q!VNjw&=?2PC!-(_S0>{{XEIo*Fuuat=1}00LlA=MqzH)g8D=Nh6x%biwAE zV5^iJ#F+gk$UPp4r?ym9+?*eZxmkQ)+*5lK8O>i4uS6+KNsje4$jWZ4>1hf{&$NiH zCr4e$0rdn8Z%_(xQdzP=b>Nn^mg- zR>Z$Muc2N`(uW%`pleCX;$rf6yGPi!7Fl9+ z%@0M__oXOtVo!OmpL4hp!#5Va4!GQ&%VVaGtEnmlE5#&~XUCU(dSi}1AzcM^T_VG% ztk#9L45mmNgYGHc6O$fV{7D67!46DnMkCgJEqS3nptO}RqINkSx7MEV@;mDNnSMtW zTzOOUW*XJGQB(n%(D7$QDlUW_Zp~0)1ZK3HT#C-5(y&#fsV9llF zZSBo*#n#HwN>@QmEzlN`xWF{OJao(8{UbrpPT&P*xq4yvUeX#HV{$|RN@XF0VPsd9 zl7j;Vr;jBvIWg!;>KiZ;NJ+&#;bgWd&l>*a?+g-!YmK4A;WHwr^R2EsXt&3I##VY4 zMsLenF@aw+nTjJ`R{`0jf5iF7? z>tA^NJeSdH`7)AiIR5}+F?mEPAV@scsw+pKYhNb`$dX|5QZ0H~K17gr0Df!UiX~D< z)Zl;wd&he7DsJ>#w^teOL(KzZ+YMTjsXIyk0PR5JO*5Soqt-!7X97qwBZ2WkWQa95 zOJQaP_!IF#Pwg#x)rBouQe*vST#_z~Ye;bE_mqXDJF!2dBj!alWw_+x=zX+a_EVhJ zcOt0`@k_Ku-k8=@!hhYyh8`m;f{eGj%459wLC#p8BpV>KmY%TD2% zl=3O0-?U1BmyK>ojzwFJTd;hJ(Vum7so1j}xveLT$+RiuLY0|C<-uv^8YT!lR>vGW zMKlABO{2XxQvN2ux{iDru$VhzCB5$C4^=CkDq)dt(IL48LW#{s>9S3-yN7a#oQk$O zR8~4_mT7gBq=~_$c-=chCmza-7sW1@D+;=49<&+7Zu}2FtLWH+nSs}3@Mc!2Bmhol zwQBM(OfJ<0ZQ9Qg4F@?F))g3BeVb%^G6}vfx*%Z)&69le;Ba5}{B|nHfb;Htm${B$_J}fhMca8TQg; zDib&$(eRN(zU53;(eE7TZlN}6C&+PrV_CsT0?f0d{I0AX%9J}zoC>r0z= zZ5EWdxH_HfC>#Yx{>5VF2N~@eTyl$pFs`;G8q13~l4lv_zJcQRfg?A~)a{YlhrUe9YX|qHz9a8a#{N(T zKkRBi4y|Q6u8n@s$hop450EL>hnm62UA`E*EW0Bp@Otdp>t&KiG6(2uQ~H+|)Z_LS z@n2k({GPPXohI2PWaomY1h%8!*zs7JubdD^vP=kk)pk@{|7n zkh9CfN=Wl>QCgcVZsni|8_JRgv9F@>AADLO=5-2mP(IIkzO(sk^j z^M_&Gh^u0@3frQE!-5P(I5b3KvNG$|%8k4dyd;S^tDJOG9Fboe4%j$Qw5UkVX?|$h zXd(F${v#xwCy`m+UO%so>ekkn;{=v0onNLhTri825Ocbf!cGi2aaj_!#nB?}zp%Ir86~@?;)h>D0w+>8#v-(Xw;4ZL=2IPIx zVlJlwYej$=(768q_@{C2#Watiy~>>`Z5B3^0Ve==s_x0k*S|;9t^r6gJ;i#L$rx=kaO;4iE7G2X>2L_*aKE%Ev3lhQyw&$XkVEbXIAn*` zd~siZ42!&6PdZ$+LmRxViY(SJm{EvsyiwEna=D<5TLaBY8}@1KR9Rf^5($7f`Kt=L%W0P_ z$SD~+qM;<$porCP*)kv)3gh;usI!emp2n>j;Z9qY)yCRQ&Bs!-LnH5vr}!Q8L+5lU zGG(i%$9&RWO6$mFTrc<^*|NA`I+7GQs73wT332W0xun~cm*w-Cqn6V2Q;k-JMs45& z7^O0pT8$uujko+meDgFmS^cc{RP<|}7qqXzmnLOI)-TUX`jj^CsifJVMrN}~Xnxkp z*NMSZTa2e718S=O0EG$pqqytt0^~Zzge`p`Ax1f^7Y*2plcOc-m6F5eV?0*RfWG7_ zif-smwrK83NbgTFOF=Z!Nsk>m$R#n&XZf-&#}(Lkuv{Q%cA1`P7K&(-5(%2p;mg?pN)_x7wC+)g zJ_lFd=rf?1AqOyM4s2^@amQn82qXa%mTWm~Y_frXJ@~4Xr z059$KJYg|fjxI$wCRNvE-5o`>kFG@z%YSe1NqwwmL#SE=;t09pfJ<%Y@6jmo&0?88IiLa`~BDi0;_;Kd6p2sgEZwL4^8G^W-8kwZ@cYMD-KYb0rzcTwn$>CY+DC0i6^ zP)-jNy1zz$k%8lG{Q?`iEvRQRQI`QqiFS>{{YP1Gwn+_*c^GTKa^>F zUVhk|MmHNaHy&2vMP_`@4e_~Bhx&#&DD4HU9|a@TNHRjg@np1LZF53NP+DZhR3=4M zTkNd!GC0AjVJafxz}k(b^qCZP9F)p3Ld^H7bYSCa^vwKLo5%90pmL`w0d!{ z#*q4f1pbs4CIvB0D%j_ztf?UF?MSmKWyv`P*!3h}&w2t{IFGlCClXBqa0ws7kwM4*C$o<1rKQzYr5g@8!M#Cz0{?$**dwRo`dRz2X? zvO~0J?kttFOz16DFClg-SE)Xvipu$ZJBwKm^MRHeU$!=Sg4CQP!MInrllqwJ z@OL~umPU{~JVs`Sa5$cWnmgpFG0%DflM|`aAM_`1k;P{DaT#HH8xd^P+a;$Hxgjerxu|$Ao3nL#_~Z6`Zlm|($3csVM#b3 z)}NWghdUp5dlX}v$NPu98(t%77Pvn3hURcw8$)~?r}8^#8s1V;wi+f?OBdu560A5vF6bQNCqheM@(;tGFyvs zq{L#O3Deo!k!(@w8!gSN)7qTy@@)$FSnpu}01n!oJ+SVW+M93~kxTgw)gDTnj{0)S znFP`d%A_*ECnOQKbxfs4P_kW>Fu1E<$obP++FxxcE6*9M_dAQxwlm^#J{a2C zlCTswG?rT2X2_%y;;dqlbt>na-TH66$VDwF2HOl6JsE(^nq??TPqnPgKQdQ(tR z6qKoaQV$`8HKN$sX04)M1)(6TwAMS7i)=d_tTyA}FlQa81s2QXOx@B%atXce|D^+kg2?Ee4|!her!e8%IG9Exec%(2g;y*&bQ@wvyc z_JjQe)b_fDkZrGSn{DRR<%FohmQP{*X?K_4PY!O-R)(G``4}2+XhrLgqpU4Q=RWnI z@mj)=qne*~QR(MHI=!o$dcdpstF{>;o-<1-Z1jGZu)7A;Kg(Y)&l|B?EncGqr#|?KZvOzM%aZ<66<74^#d>iH(R$tM zWqL|36pw67*6+xF>Nq$23zKlndb^~q%hpX9nLw|Oc^rLa&6f&&qDkTopZ(|3mkj|b zZ6!%RBCqjT);!qc{{XSyA&P`>zuc`2*rxPcUCyh1i zQMptzCNe3E7u*dRO2fVrHRp8;i_8JvwJ-fcF1%zFz)9y;Z&v^!(s+c|&Y`@9lPszR z39qa_)+Z(spL$sgd37g}GFG1k%L zY8MTRZE-{Qsc~Oyaeu&vn7ZbYKnt`=i4jb3y3o2wGLk?_r{}d_@J0zIXxqFsU*c?C zLd^MyLceINSL#&bmJ|LBPl$G!V_nsCt>O*P8&mU#(BOgra z4C*!kOIm!!{VGp?tt;nYcrxi|JBg8GhRZsIqHbGLWjxh*a=1Gun;M)%t!GEIzp;C# z^=9{4y&<*6TUTuRSJAu&nT}X4CU^ax^Y{^G!_dNYu9?2+t!Y|a+eQMVwZ;~n#8#6l zX+GY>`7w2Lkz1*5Jhoc3Lc2+>aG=t2{DWtEpk9$+tIO6|Nc`#oujFM|vAHm4L+VW< zXjPhYZkbUc50psy#bFj-@m#<4G%&^V@odKRfTiwH9OkzCZBi0tO}AoBr~pwI&lLXv z2GApP=w7%oxJb_w&K|Z&KH6T$_L3kEtxEP?7`5p98d-t!GhOVFG^E-@sJ4^xYPT|O zDKd3hsG><9N`lC&=T_B}ooP)1q7MeHjFgI$I$LE`xJZF9$g9$(R@-Wq`Ve`CB7U_x zI~^Q2p|pTSNE4A%6|j;yx) z9CU00{v`9XeC%HZ*V%~ivfPDCH_HSx{;WOw5Bp!T-Y z7Y`LFNwiYISN&#~^K-fKp=JJhN^K?ZW<3t#h2`4{SNMpKJD4<9ZAvmiFBaO&)V@R> zx6pq9eRT2?01lJ(IjuhzCuk_Ku6{blQ$lGna149Vv8dMT zm_Z^c+<$_skMaQ3RsR4E3HPQvb@u>r9YF})P~rnJBLcJ>1p5hj&NXPrI+)F})iJqM zw&1V13h^pVLd~fDA`Jet*C(b}+GEy)ovnqOO=r1o-34P$+Zfq+p&$iP$;QJJtI=d! z?!?t!Ot-r#Uph(^6?Q07E1dQv>dcp(Bj@y|ym@tqB$cs$Q_}aeeLuA`<7cT;E1K=0 zM)JjW?io*~BZ|=Rq^7JEx;>UOvRio(?==o&6rkB8_L3Xz&!kM^vvc=BNwixLf(|OR zNtR#9^ubTH5slK?JGKkdS&_I?-VCcus%nVrWGlBde<~_!iAA&-O~PUVxUA-QQDU5K zj#l~LpS23(Z)7COmmZ)@&07r=NqmBCP^74olY>U$pIwXc!t@>KUafylxJyo~>_0Tu z7DY8uD94s~rTiN9ldLs*!X0T~?jNOdCORGQv;9S&l9U`tp_~F!75GR8~(cDU3MzEe2S)-GS{v zP6H^;%Wb)e8c_(0iAV|&P%QRSx@T}WqA|#eRxE2eaB(V>%{Jp^>cFzX%&)9EbuS@) zjOH;~{{S1!>ej`1F@44r)cPXr-%!~BCccN``ATv2Qlmn$ljW)-KQ!4s#HIGFdn9dS zVt#X7ai?S*{FYHCF_F$WsL3W$;eQ8K?)h)+{#pGERXC=sSva`P(hXayZ~%R18GW`& zJ1nZ$Iv|J<%~SO$mi;w5v<-El%J!?@y#NU25}Jl)37Ch1bB-^NT)*wGHO=`xa_$SD~8 zja;>|$4>M@`GOP&XsN^S&a|yMEa~?OL%ST-`vjGK7LfDaocyr$xfpQV*taRHsa;U&selvpb5?2I^tQ%US}@kF)H(gOGN52$FI4 zqT0QIKe16UgP6!2s=weS5=^e9@&<5btxrX68=&7y>WkC$mQ}hEv$bC|zn{lhur>Gz z#hO_1rfEG*YMZ?^H)zV56OU@kaAxu4=>A9CxGa!aP@Y`JBbs+WsoD!@uS$U3L2{v@ zQGLA{9)k3g#b&v255nyawhG*YlUdx#nA;Z7V(!(uhD&ZF5JXj2vN%f7Wa6ZpS(0_< zMZIYG)pW!{(X zl-xJLuZ+^uo;dtp0vG#`{Ou?~Tm(V;#-Ck5E~y zhtQQNX@w+=C{v#s<*V$<>Hh$@*Q_}arg_iBFAFa8H`l0XjIGNx8B#!!-~Fp|z~-sP z*_`HZ=f;(<+GaMk;VuwGG|7_Hg2!womh< z_6@vX#DVvtc-cPW1CkaDa1yMJJJSZcZ39WSE&LK${{RiZVsnZYDz!xM$EfwwcNtGV zdd~A;7mU($w}Ox+viajftTOmvHH4^52%Q(pV*a&hy$2M_i;|cRA{H;`no`E7(P=Q^ zoDhB~mn)FIi%-=6W5aS?R?Xu^dg(Upu;4Sq*UvdogOidrJZWT5QIH?RD<_9f+`$sO zQN9~2f5gZ52J)DiyyjgMmx)EgX8Lhy5wE zxYAY3)^m|37SL`z)ralv2s?&;)Vg_pCCWOnhfW0urFr(tu>GZ_yX6@;oK;bZk_(Lb zyCu`LgJX6a-{>bf;-R07^up}ITOS5Cx#}-%V1)94mOp}p8%NSFiWnmjj^rXU-Lgd3`63nCQ z+wNOQ1_aMFg~5@hL9U;m9;0TLT2e|up47q<>ibz4N3>|fyhrKPB}VPG&g2>6wQf8o zHvY%*Am(Fn`-Iyz)rAOyPjWgvj_Y3`R+<0U#L#)tnkJJpj-S+m zkcd@f`IsrP{BDMqFG89Ic%=&!NFs9kY^>g@lq+ufvGMH#yr{6fO)errvsJ7OJ(T3g zz5(uBg0sn@qmMw!dm(k*!#Js>M7wqsQ+nq~bqji>vuImOR^=dx5P6Siryogq9y7x) zV7Rl-gPF@8$@8q&ePNMtr8?QnCZWcY$C)yGh2IlKd(+D&O1-sDHqRAj z>snr3vqFEABgWH_7Dk)m8M#Oy7X`O*-g&LB5`W@275EnBO-|23_Z#_CzYx8DCM_ zeirFVoGT)jN8J>-sJmj*%OZAyOk#?P2cOydN~>@l=Zdu=r8`?hNmfcqOncOt`8gS1 z+R$fCP=uy)?ZpM1Zp)y9_D=*UF*7u~EN|Iny(DNoEvl514aXhpHP7SSgkzm-)O3sR z>q#M1k>ug(#u#!YgCgQmKY9zGUt$N|f?)Qk!atG{mh=a{bREF^QP`tEvz3UwNZ3+U z09J#ADi-G1o?Q@!3Q0WsR+}ExisvM*C&t{LP#CXC72AJu8oDV&UWLJlr5;YyG#kRn zQ|<6vC}GL0_S!oE_X>$_K$OVh>j^Sl92H z+XKy4KGhx_EJ=O^9z$85@+@2c0SEe17<&~ux(BGjq|r;!<)&<25#0w_2?Tyf=h)Uu z^+q@J;WJC(WwT52!&i_;rR2dCi&E_m>}VI+lD{J2ZrZ;^h4MK3mOr7L{p-{Gh zNJpf4nf(6%xN7jzOZ;}O98zQ=k$KGj07nG{c-(#EY|*?&d|BwlgenQzip+RO{Y?Fs z^O+@&9U~UhvVwco>kFo5av>{LNeVNXeaCizWUtt`_?0N980KlDPQmM5&&?$Jb6%4# zhuXinb*pXB1MO5xB^O3E%P6)3Amr6fY_sY7ll~uZ0s)MguesL?Wh?6)z^Hq66@DzV zLnIu9>z3SYTS`c#aFUk68*z0+No7kUgh2PHxui-s+}@EB&8avE$Gu7tv(7zLAeTs9 z3r$V1Rs6z*@>ss677E(L>7Kjr_V>@zktSsz*TuZfE}2;O$IrBBkBs_<)K+?0RyT_L z5MHwkIV?ICyU9`BwdQKQkIW6c%fpeYxG=%;F6P$_4SV(B{W6-e zaXP*P(QlbEh?{=&Z=>14l#d|}W)p7a#sOlNk6T@69N6FgGRTWMFp?0RD@ zyL&(fKWb4oVUU$Amyn%}y0Aos%~0L6pXBua0BdO0d^>MujKGiN2C=?n-gY?gDzK!+ z*&x8A!&})_^-z zm?*)nthC7_#m!qooyrNs`*BZr9MtLzrzSU6FAGIlJDD(jsr2h43RF}>_Dc$EDsvw7 zo6R1xXu3ag*=#Scz!gVZR!`=U@T|a+F;_+C_R(7DL1-lQ?M(Qut4AfZqN@Z2NE19$ zT&~ree}d1RQetTbC3a-fX;V4;L7&Y+^djZ?J}%-h6P|0TB^f13ijOaJkRq;v0-LZ? z%PDXvB!WANHy9p8>W2P}>epLS5C2WMZW}sHmneS zCXr{Ga!Ov%x+&vyJzk@Km3WmL{o31m9`Jkw_I$haY*BR zwoynjBywU66DCHj+buLfl}vxNS7#baXyNy^FL39Y=kE3|9!P_tE8qfWA4;Alvzmy% zbV^i2$Hg*&EL-*pym%xSBNS#hl5e84R!hTgsKF+!aVqSe?mjKxQecuJy?IAvmYUH~ z)J&>5tK#cK)<3qfg90ziwpRIQywM7}> z*1l|Z&~7(?J}D0_6h;ZL*H0v*NTfNI%j!?qWsp>k@e~BKbuP%KeP|XBY9kg(2FV`G zS-5A)b`&Bhv?bXK(JE4;6u6TF91&4; z^vh!lM!D0sXw@`iHs>X>lRoiSu5LHS&e}8_SuEIkF;4o~cCRg!h}vKpbBiL$6(kIz z;r6m^CC#n@IGV4Jtsd%@k)Y@gfw#S8`Ean_JdGDia4EFbW04wToG(-tAQ3??W%N+g zZ5z2|O}LOj6iytE9IX{)f|{mdy<^g^Y1c~BbnrwOT1N`4_l5HHSmtH<+$lm`;0x1r zKW#?2pFQdE=`0M|e$zri0hi{pX20v(e<)+ zki7gF&hj|UF3|Ij$!dm08$D{!vv3lnC_#}ssgI2EQpGh4kALnq?;P>#BLnd#!mEuM z>CIzBVM?}9+~Y|ZN4Xyrz2kGEo*Of~z7)9g?GM@@GT$aR_p7AAqP|gO00Z@^Te8V2 z_FHVv=~XhfL>G)9NF)j?3Tt55Qur5c8%i8drxA38?klq)kcA+oedu?)v$9GJP|wrX zu(Zmv?Miu=trx;uvrW-25~QT|h^(J06)~?LAjF4)k_{|zrXH!Hwdw=SkU*=kKCFgC z-BA}zSci4+pfPTd`qcUPdhx6BQO1IwBl{YijL1E~tcGJpjo2%%)>opsgOL<(h*ii; zAIeJbGQooDSP_nBDWbNO(hh0v0<;*#FU+*a&ELVM^v>0^gqq58tu`Bn(j0AV zeT2;eP zD_b+py3*49tAr+G8q;{3?h{FhIhg+2N1pX7H!SrBn}`6&#eFLVMVA_4DrvLzqu~eB z!LMbFqWC)62{!!ja63?viE_(Ku!oeBgB{I5!7_=>+34n+OYH>$42t=DlZ1y*YDlSc z%=U^V6SSihjWPSo=oIQtrWa7mHw|!c3^M& zHq+?KR_PIe^Hj~3q}hF>aIE{#(q*yrV+MtKS#Th#mh$m-R(9!)&FUVBp46G)*<+O; zMfR!WI7mMdO&lnCkgsD#adJFUvb?cVKpja=D%pcGv~B$5NrEP8IQ&|eDH1YIfek5sWYpNb)A{x}~ zRFD2)#c#h%@*YkXg9JE1HT66&t~^)pVH1qz z-=;Qbn%|a?lCIp+ZdVtxv=8fJ$(Gs7aoayds{8E z;CVSCBB_$<%MRMD%oRNt3qvDg;9Oo*uRulP1k;$tHmHyL` zRXe65zk2WRbzf`z7qsh)fJo+t&jQHG#w%qFlAO}npt`l7{*S474<-o%id)IS-X|QA zdNn?m)l%-nsbUReIsA7UXfuq{l^QL*h`3{NIgC;dr=1p;9g7~pr8PpvuHbdGB&c_$+-SJ4Y_V_Io@$aVBohGEn~%7O zv+jB!ZGFA!$s>)Wq&0MMl8cm|b4mP?xCC*WQ?zS#j}XAg;<1?{_YV}`O$GW9{{Sni zTWpX6ttmY7M{zx)yms8${s8_XTZX!p;3xULT-P|Y9?@S7f_WJK097#}`bG~F%NE4h zZaV}lq$_d9%^Mq{wN9Hf-v+M#0OP|UUC8~bHTs(!@q2z4`@~IsM2)iLvZj*ae=;D~ z&oRoR(=~Hius2iLqUPNfdja&6ujCqIkE9xptiqvR`cPY2vqc5qP0)E%#ZzDItH!^MlntTb1b zATA7in$!NCgtGDwhsji6+2-V^t?5*fO#SQX4^c7_e|58L@PkM#TN~F=`HakVtS9O| zPib^Uhs5G(c4QtZUCYd|IF%|Yeghpv$e)ptsxte+3Kb@`n6$+cOVFLICJLgSabAG3 zDtZ;3Q4SOF6yhsKvD|ivZITF(LHbp5bP*MxrL%B1K+Op!VL0PO)|wF`HB6;iE~W5J z8j*k|s_kCM_0joOyeDO zGp9zmYOhGgYQ{}_G&tJ$K3%3$^{zuia%~Fw+W@C=92#-Mok_Ef#1Ci$c3g*qK$8(*XA@c z&L***Np)eE9q7~aM2lS~SGiFbvRXe{O~%NUZT=YFi}t3&9Z9F5yIm0h0#~LYPui>U z5{xoy@QLzQbc`GYSamWcM$3XZ`K?wtES!7(4CH>?iT)U0#0CS}T1W*(6h4ufyNRFf ziXUg4BM7(|DF=h^-nFo*0e2|cB(iVKbSG{B?NVvgmt#%Ks}9@SfwbbPl#&bRlGwwd zuuJHS5S0(wmvf!sY^re83>_%79WSVDlge4$`chs(`|-cXmx;HQ1x-HeJlam^kxfFBvfCgwuoSqap(KC;>hQly+5R(4XSLj|>e1h)Y#*jy?j(i8fcgg)$u z_HVZvHV%YqZjQhMI|X8Vw68lJ_{jeNMGS<(zG+(84|JJM{FpU<6j7PjyR4DqW|{GS zaKDxNQJHl^fHdZ7SHO+Q8NN)ZGdb#KSr#oeKQzx7tv?1bc^f?mL+PlCmTHI6PXPN< zOsnlVtJuiJ*3^hRQn})=rRbmW(aNT)`ZjenL}yUiXLr`6^iMWeR;rIIdb#~7wa0cv z%_3Ve9fgCsO+zo+qR4yDRki}e5kbmy5R-n$uC&nd3QBpY1oxnNGUVD;aJQflh@zp5tuwaSS?6S6 zpP{00KCLu!WJo1Bj&t;;ZdVh?{HKW=l>!fX9&u=UifT(idv?Q^ftm+2bYE5t>MaXu?xSr__%a=7-pBF|5OsOUaf%Fu|9kwbIRml;hF;;!Fm!V;#UWL9y$$2z$C z30mEe2_`6M`0@87VieZN(GKs{_daFcBsBjc^HK*WmsjZ8%WBD+ywCV35#Vj}9n6IJu zzHelefl4%IuC!Wkr#P)NUvEU)?5z8|Au^&*y-h3hRV0$xTH#?rL5SjO$!}urLQ;;4 zx^>~Vbt_ImJjAEaqxu?Y$H{sE$p?-9008TE3LXHe0ju&wIFOvBAM7$%u2KM2DPC2xx_U3N zbCPpH$b(MyeZKzy46EY3i`g0JShIeus^=z~VpfhOtPgd#Af4UuM&tHdO~&jPmz9w+ zL89DBDa|xWm6a!Alm$VmFN9NFSvoD&vFRL+W~*~c*mQAPsFg2moM~IsF&L}yPBJ4b zQjD$o1HP#yjeTH3CX1#ymo*Tl1}}a7L>BIrW9hc zT!_CY4Q=sQybXupC6kKNVDF(;+B)iu%=%Y;W3Ww-+twU!NLE+5@&g zUeu-}QO#<=ukKW+>23EXzv)~|v#0*%Pig{^q!2NYRpfN-7hsn9vDczC4s<`C3`JFE+s2Mp=tT=>}j_% zj}A;bFJN(X_aVPR*D{o?Ssyix=5X4*2jJveSL}P!wLn5tmBH^>?AR!Chdp{3ZQQlg z*!(@pQdC4|Ayjvb@)E-}k0buWSWY=()3}r^1h`@| z`%@Jf*d|?R6jcO(4r;k4?Ulx!i+Xj*wtYUKLgvTbB-W&8{XeOsp(A&-W%-yk!*NTf z<867l0EKp>lf|*DGFl}3LP;c(=@T^`lv&*eIwsJmF5ay$U0EaPOZ=uvYZ~|^2`k>kqGu2DFsP!NGIwm z?VqIQPH|>_`(uknDdh+=h!wZ&$TXz3eM4}Woc{n?^LENqTZ(AN5TKc^HA_V^k9oexA!@Y)v>Ye&p|UMl zJd;h(drxqJh&Y;EnkT2)tkZf$!lWc|#bo@7rpxg*_GwlPZ*4g3n#<;uF{Urupo@0! z0g4&Oy+xI^7G<(WwONK+A(k4@jjg3fB*j1Cy8xSL6Q&-jx_hs}a+;Lw*@frI=t1~&%jD&Fd*>`Smd(-y?C1A0Xlcp55 zx&{X)y$L*R1o!x5!0_8LKiY?JAl;+TT|20y)`AqQkzY3E;p*&V#LAl3Wz+>Eo@Rx| zDrqr_pgyH)ms?ONnZ+NEB|C{3M$=5ly3<80ykA3kNhHN=JYOrcda)lPAJdm)D_dbi z9zmwlB@L?yvNtA#k$e})X_Xe#k_oD$yCO|32ARGk11E^)fR-JRYQehQ$tVsE+|gWE zQ=m-Nh41fmA!F6WGyeb$XkV6T>@}up{%U~+C>}=}sY0IZ4HlPs(I?uJWXDV<5^vel z&xq$8tC5IGf02IdkQAAnt{i(!GRLN$@C%dPh%MzSF`u&r*4B1qQo8+g-W4e|@jt+76#`qJ!8MoF;A+f2qZ25vMT5q}SHDNCzTME9K5>z63< z{AXzV2-E4Gt1Wo9rg_>8%77DVaF>(t4>cdtoQle$`9*xV`=h@IFM^s%JHU#k^&Tp1 zo#8&YDBU#IcO^1nYv=hR_gBHG#VbNDi`HaXTIx-YU8~?v!L1+ZyuVL0v3^(k3cS8P z(C)pX1nRp`%kKfgmAHNLUq#|d*oJFXzDF+tEs_|%cqb)sNPkvIw-x*hyh2^%KlOUU zdQ;xpNvzk6SD6L*Cs>*0i=~xcJhGlvYwDQQV@Slsr7uLtx>EzwfmOJ6_DW8WM$2Cb z0VPCz=xn?@*%)R?&|b$?^IZaX=7P(|>l-gq?J6BKr%RzCk#ZwL3{AR2Evp-n6cb9a zN`v7WMAuf~O>vrrIn;}*LSDOP=}?STuf=k@$tDSw6|`rX<(NByg!A{U=Nl@Tv__MO zlJymmtnU;&zezYeVw&NV=nEvex}Y+Q2qP!nh(%JBDrX$_?FPC+671@Ztz6i#A`Idy z*&}F_RV}I*ZEgn8psA&qA+VTFsxRBzlq@LF(#L3=uC_Y#-mZ3p7a?2!iOrP4p%9u|MWdy$wDdJh;@NjSnB2e`JIGL1Zs&{PsUM5(pgDdoB;5J6^s> zb0OV!iJfW}YC@ES$WlxiI|e&egz}x}UDPh*MKi^Yf$~nBG%0F|3UK!x)a#C^3-eX9 zQfSHKr|Vb99V^(;(&`PokPdfdlylX`VK|bBt=ST$e$|Z1wmZjeIwEfM-8WmcyJW)B zpla-Q^xIzr5yS#V&T9)oukOD{{SE9c|Iped-P`W zIq{!m?mz5kng+jXs#vvl)4@n_0YVL6`J6fN@;EiI{{S15vcXEslgFKHrTG>NuPRpM zR?GC45v$1|H{Q>rlGDbUp&=nL{5h|c`3%pI z$$#9~aNx1yGVc&>zY(jriT?lyZJO73j9*UzzmaD?U8O=j!nw~h{{R>RbSmp0?NJ5= zH{yZMX|X=#KsriCBZ_$iq8Qpw?IhD&N|&_u=A)T3iR0dw#L_`Wq!^`=dl|-({tHaD z2>>UGrgEahmFT?F0Oa?fr7~#~3scD)R6e048$TUC%mi)7uPpstlE(*S8=WOWK}Tvo z4=1sEfGPbyWcp4$=&0oF=;Mm3Vs5O@;k6{Vg!k=EFw4F+nV#|(zUN-gK=?hV6%%Z#FIh(oe;F?<%Izr^4wITxB?_;i6eRSPNBeb7~RVm~rJz3$vpp z@fS_}Rf~a01SupM`WNZ!^r#agdqLUetH%7NmePc6B{lS1Zqj1yHM6@CP(&UK#YZZ? zWM>Yr(XaF>!rMo3YZK*_HWPxHvsG}LevZ`KD+%A_x5v4x)(!F~X$0Yk*x#=NKWm}+ zfBJfRXg^q?x%`EaYxqbiYwc8d->up`11h&4Is zFw75j#zq*3AbfE_N@y`4-j38>Bq&d%Kz@`5GEL)TCmRd&Lu*~`v1kxfT((dk3SXV; z8#DYUx0-SO1-(7hH1T0(AebL|Cp3FT$;VQrIA|9T@PqcGT*!T;>P?z{n7=aIPqk#T zs+NX$T5+aLe2^?ul1Hg%Pw!F1{{RyI0J$DjJZ#xIH3hvbk?eu}D-Go(d6}Z|%CMmO zp7Bef9KpBB`J%A`Wq%^>xUd?EXT@J|yO`-JGS01YYimgFTK@nY8)=!IWVJ?Z)UJgo zv;cUmPX;w?o;vD~1*d$sB+UN+N?|40Xpd@P7H-J^%nBA*!l5fie~Ub;HP5Daf!oOM zR!1G4x+y=at+gZt7@W}%<0oL*r2V0%r}Y#%gh7!MqnUxlg<;8QF~-aVq#k{#9!)Uh z(?J1lm12f-E=tN*`chv(fto9g%a$3Yh)*A6C+d1C+FFjxcCB76V$B4f$ON&p_5!$R z#t8}>RMaog7U-&7F(-~i7NbavWZuZjfYs5DR7vdV%m6VTy%F0)rRs>5sS+e&GeG5& zZkg$N(Gl92i4*fxgU|RnN`MkM_OCT%4ycOdQr>&iptezwsjZZPfjFPmuc|4u-j3AX z;uHiQdWx69>B8D;Oq$j8F!EG`1tc6-RGb}(jD5g#g1D-8Jb&g6~85L%W%SAGzjEc{5vAmF!OQjCVh0c#;Gpb(cOZ1eil#hc- zF;^#y@yp!+V24bMv#Hn?9dRIjQ^jUsHl06$-bN~YkReW~wM6knDA+Q7m_o|>2u#W5 zhslclh2zOu4qDvIL8ZAMFoeSv&jJKcbBJVQT#({qoSLDh7G9l{?wJK9MnzwaXC$o( z`qhAO22(hu+)UkACP=d<>rDYJp=V&?wq7%s;?TD=DeV|PQ)#NReM{MpVAs(&IsT+U zT$DxSI7#E{OxB2GeZ3Jli84gglL5|Y@BOw|6QZ2-Cf}Mts#q77TmZ%5{N|r#!dOek5P@o;Q73H2nd7V`(E1ipp~pHeHG-tqwLxQ9u#JBg^a} zDotp<+i)^D6g!b7wh7iP65~}1pY^BH)Sb4^oJyAjiBulI++G?YPIZ?kRwuS(0*v_64*9q=uFnFQtDKd zCVt(i=NBW6#d)KD25+p{FHE^p?1)J|r2JODfy%W^NuL*2Xr9MW3rKadk@lkbTsU$d z=O19Lzub`BqICrALe&IfCbAs97f}8`C%3WZOw~b3RF!Ao)_*<*nBx~CS{iL{nZIN3 z_YovOByv7z?;Yf)$7>!({g~1@7Fg7bm&DHuoM~?BS|cJ1sn$|C`4ze1=2_yJ_9x}> z9tP(R+GQzOPo&_31RiMU!{lDtm!sm{Cn8``xRv`Vo!)_Wstc3;v}5~ffb#FzK|los z07%ICRXKORl9i^ZAB2U0F%?I&SvBZl(X|CIq=Ipd^skeJNobwZ9yIM#Exaq@v-$Y+ z#u#&ag&Dl_M%0|E(gg`DeRf~<#pCjj*Ta(bo z53;vWx4%tz0X~yf@SSBuIdQyBk1KfC$D7jVUfi>ClRd^rue1J@pIp+3nYHwn@XR4e z2ixYiiISGl`^)rzaU2@;k#V@u5l&%7W4%tw9Brh22r>_0`q!^VR4@A<3bqhpV=!yU zSqXiOG)9GPQ7R&PRGOq#zo_q2EfcFjKGWT9qMuGp5OF537nAWc0@PaOeEvX!T!L+RjOX%DwM(mz_wb01dX##lb} ze}hixy;Whb+l1n>eC!JC4!D`*l}IzHS*G^fr~qUd3y+oJkj_iIY{mRS(9~LV?fkQt zt>=j3tu$x(_?m8vJ5)=IJW1dft?mYPp6XPkAiweq~?mWY`ct8p%}Ort97gxjSp4=DqaHl9i8c^<(r8Z`(Hi01jMI`gyoNl*M3t+OA7Ael@p>$4o+0dGAQZXv(_% zD6#7;HuMmXr&A~ITK@nJ-d+w&f54BI_HrV|4!P2W?wxeO5-u%CA0!DBzr^Qwvc_MA zS+7y-B?mqQ_X6>P~uaEWG}$nawE{1bL2La48?rcJZ;gZ!#C9wy5`k7 zj)8QPx_i&q&4wN+=JdBI2h8NGai#j{6u?aNSBtCV|ID461P^lADI1X>RzIe zjEizwBym7Cq1aR+woS<-QzjK4XZltC*2)_Dw1XM~oL$cD(mvD=F(m@bX}Q^|bn+x3 zX0jZ|RyyLV9&B0k3`Q$ImQKd7NRr{9w`_Azgtup9tqS_Zrr=B(am35jgU&DH&-L3J zlNG=5oUYJGl=^00)_PHOk2NFI*_zVe$kW(2A}yrRpE{MLUZn78jA?<+Eu`8w-Lx6a zcC6%O)jRn(ZA+N|ocngEG@r8EYE4*L%Hb+Ng9LY=^1-HA7jBS64ia*4?LxF%;@b`B zcS>n#gT(=#8j@$aQ?a2Mi_Eyy^{FA|v-PEz#{| zag^<(F~P|Ck*NWC>qS#(I*qC%5AhNQZ+Zg+9w~KxfO%NDOS<%CH+MwIIj1=BfXng& zx>((~$p^I`jRIszJ7fqe++*SmTQ5NJQgUf9{{T+9Q*snZ{KA&=Rm7GnPT8{QvZhk5 z#UilT^&$Q(#RGN4`7bcCcu?c(MR6BsvNXWH3WWZ&AC$-SIJ1iRLHrD#)lBs}Bq@}v z9zZqm$$Mu08;zCLLM|tOs+#+vd-lr3uBfwZFZqf@wQx2pN4;r(PjXZ;beEBv<0V^QT-@JUWseWE-^Ob!r(}eXO;_eK{VWaH&K^G55popdyVUVB?B7vN#m&I9a3<${L zsd6P+Izu~FC*HW_qsrFVW!*U|Zg&2Hp^uT(m#NqbQPZM*F*M_k$W41HVi!~Cr)gYe zCUMO>;pW{~ubGb3kKPbp>?ub07y`3jsW9EKZy)WQrg}?9d(2@6;=WtSij0}1vei`Y|kftRQXNs-!%#OZ?NN{suf?0oAtQ4&O&*Z4fjIjMlO(mcJ@mL|(vxNIj2 zR^c`EUM5cX(7Uf$G=Uc9%Un-?wGlPhSqW+sYW)KC?V0xCvEE)aW!!ezt!m0;T@<7Z z;pZHW&{6wV!}R7ylZ#)5X8G`pa>+lFn|DptfC_(^l&Bx28#LoO{4mZul=$&xFVyS? zbw^-eszqz~Gwp>G((F^xRkGy@JWfR7jLZ88@yQg__bp0ZsM7g^@5;n5hUie9yM&ua`&S(>NUl}5>EoPd?og>&q-c@#F?Mkj!25O z$x^ixK$@wfUl!_*#p0Boitj|(D|A$S@??YdtK$mMT9xgBuN_e&@cRP}e=iG*8se6Qt9V!tJ5p)rV~r+@L4dTx zRbAs=lZBStV^~jY^&>xow_ga{?pjT%w1gl_~%} z_|0`7S=NeoPWp)5h^w*05?{OCh%Ly@c{OCnV~?`p6aX3Ly-?A0QSn0{gZHlACGYI+0Hrr`oo>SX4av zag|#?B??TG0i1$s&99JW2A|qkVe-?VTfkCdy;nHe^g?lR`Plu_`kF4-0Za9yK_2v% zk&B}XCUMx zZQVKIs?QrhbGF(v?v}esl9UBvvV8n)HrdQlNzybOG)NJgcdXuEw3_r6ZN1qzpk*RS zZrM{&WE2s%wOxi(%5y;pdX=(#;z){pf^V*cd2vQk*+8^G8-XK(M0Nw7Dr)^7mf4UZ z54CwS(pRJL1wbfnl*d2mURu#4yDge0Not|?QquV-gITX5fx=yo`-PR{hgN*mEq87a zkVzHn6Qqgc#t*W2Y(2M((HUZH3}$>-80gUVg)40CjzWYgN>0A0;VH1BBe>u z$sj9e1fO$KN1In)Bx)GOCZveGNv5Jo!ju%5$?Z^@&@N1UWxa>29N^#y%`VLnxBG3H zPe?fhA2pWpOWAHJM!(bN(t}u@XSOusjn?h%Y#;Qb)0Hudc13$_DC701;>k?p;wtLa z0YO;(slOjBFbtUQ;6v5);)jU?y=ZvZt|IJ^Y0$~hZ-f+}pVpQ6I9|fIa!N^>b(OM2 zKGz1anP+-qwG}V93|3DNor}&XW=QVPZY+*EU|y=wTE4bf^5iHU)XTylt?x@f;|yr5*q6g=pY z?I^FouoXFBdZZZzCz{1;G%V{*5BnMiP3mcNu-R5f_pH}91BD?l?j6Y|vG$;` z%dUorr?5VwZXH6Bp&}zRY$oFDgrnLtW*u9kly6#5!I2fH@!X4~#Tiq_EedQd4&MI& zH0EpMlwIkUgR+olcO8;%@JZ%kW}(#W_C#+jF*8$&WF)DI`pZENmj*%jru=DKXj#Zz zU6oic;t1!Owtkol)w>@0ecv^pl^KtU&vPTym*U%|Gq%p)2^?`sWhxEE?b`)wcEJ~b zksI0v^fY%4U7-H}hE>T|EtH!|RRkC!ubW9|7Vk#G;cKN@LfIq|4Avjd#o*A^dxcHx2`ZX`{8BgJO=iZU~~q4e@f zCWqkFxND_?^XgGFv-J$p$+4e|kJ`w5ReQ_QU5t7S0pKIsI-ox{F1Xp}YhXz#1C<}r zzL`B}$#K)`XLleJK*0E@L*Tn$03`eS)fqw|1#O_J6@V~LG#f!KHmJX9 z=?MqF)`px;DBt%ES>CB23CIyZWWaA;-s`~nk1^xr4!0) z2g}sjAMy7K1$At;({839D>Pq@`WnT0M25z4)CT)#3c? zrC+stUy~l0r5E`=hsT#}NuRC^rhBB+V2;V!D{9usys%PENE27_vOHN+M04X=F*M9q z#HEkG+dn&9L!}Bm!4>sSA3yPNj!)v5l;`pH*03I;TDif zqU~sb+G`p5kC98F8+gojF3j3lMh~V$cB~}Xs7pmF#ypj(>fNxSM%No6Ly7JUJ@CF; zCy&e4TZ8t1v*N$Gdoce16#67+#B178O7!cM5<7us${1}JGVYRN-KcM}GpfT05Sz# z=2FXpv7c8Atuxd8F!*xWGu&6ndGYHuX?SwDjARYJG_&Mj$~P#GU~xoabPYK6LZ-cJ z7L})HJB2*)`CKO!fTc=RN16Om(@nmji-e*wP;p;h@pJErz%r>vB9uf0r)uUP&MCU| zSCR?ZNYT0u=^;r>z{FNx%j44}hgxRItSGOd*>DbT(4X3|JZLq{lm7tsMzVj<*W}hU zRF5vf6ZtIK9DGtwBR|I? zE_6VF+k0{Lr`h1vX&v$N@5gKKW_@dDMcG=Dn$Y;XpJfr7ZdNPX5{ITplY>q2ZYQa! z4w`d?ZKYegQcTLE83{KUVU0P+x@7yPXT1ZRw-$BHm%3<{y2VLO0^3lY=0#VMU;1dj z&(haPafAt+ zRu`X+q{iHNd?5Yl-0q&=`QH;uu_U86{1)=tYAg9RzMoFp2FDPQST19{jhb#EtZ4+6 zaAQT1s zFhuR*wR~80#)71}x&|cyMs~(3=IDpdqCnXk15oTuI`l;9OdbHK#ggp(lwJx3Vkn5R zx2Issv$T`8erT*)IoZYC1B2^n^sOt1`J%e1Mwv@a?#&aUdWaB))V%SU%=tbQHqd7q zCXH7}z7HUJftttiF?AZ@os2f*C=YsDH9^pomK4HNAb@dIsZnFEkS3?3g@q7-nqkJ} z$`4EnE)@LDZe$`R`a?_T8LQ&xtYK1XUyYu7DNe$Bn=a;DTXSU)hI8#2isk-Lx7 zjs647l;3GcO0uT#XpUYL&*R2rxYyg%SJmuHDn}KVjAepu6DZA$SGZ+uu4#-Uq=mDK zi_s;e(L%v0fl%9&nR>Wa_HV~?cOv3Ia3zOT_uO9)vp$2EFZimEYe zHKJ;(wRtWB={O>LP+9QyRC%`_y&4^z+F!Ry(nJwSWf?{F8DgJkDIGeH;tca#_}Ry` zU}x=r4Dl!!QN?vny4brcev|&?mWC!cs#_%5t1SWxb5#71Z9hO=Ng&A{)P576zzOi9 zB_c<9VISnT8*k7d^rb5yKuI(2M@8BR#n!3&IY``d&&_wycT~romV5XiKEg3bIrg2P z%rc>Z<_kyZOW`>t6)9RXPO4xc=X`Qwn$&pt+-P4dJ7U|7jzqxiOye(txAM*!DMNsS z%x0x6sw&GBRz386>H^S^taF;q`7BPG1;pZ|Mz5s3y(u7y$8sY~KeKB?3mHJAv-U|V zN6VHsra=1Fp(P6X`%@fJ?5T_LDq*gk)ChGRst1{eMDWe2S*mDv-eYMqSsq?09^uJ*Ln{vM zNGUX?aSl$-t^iUdxd%+_y$brnQMxI&8g?$sy^2@OkVuMiiHfqOy@Bqu^j#!^fDIjw zG_ivHH7{b#)wB9jrAY_NCon1J8$H89-77;@ zhpxhc7NQ8oYcb2=&|V%zI%C$Es-ZzDO6xtJj?GziUqaTL3DJzHs{{T0| zH}PIpSenC;)A)apra8wdrej_!cuwjacU;gdvz0u`M?WIBTz+5FRq`a}@Lm?@58LvL zRmBvoNmwCCFhRsqC`#$3CzG{j$laL1$2Dy?Wi;N&Shtge=9cA^Hj879wu4r7vl#75 z@?N6N<7VB=lEM6SyDNt@Kq(*~*pa-Cav$oW9=3 zuCh#XwD+qLIG1#G(|{2fF%w*pWjUi1_8hTTJ4g}trTLH~l4&Y5ZjXEtfmweg4`i{) zH%s8zdUbMydqAu=H4SiSYI1uevdaWz&3z}2$yuRhQzkh=ZY+l0)Q~Za-Re`wk47DhyR7uJ zTE3^yo(^jP<1_bc;OtxUG)M(8ps?sg8yr;n4QsM2jN68lL|I3lvyBH-Df z!#>F3;jlsWiZ=^XTJ|XQ9-fyFqqb>}7H<@(f%0K$(Uod;>ax932s=rUTFet!VPG-W zv*S*MCNak~*+*ruX`Ok*WB_VCQN<@8M-HokDse|zrC`lTuQ8&a0g5XGy2^mF#Wi5I z2GRge6lBHk*P+{{6TJvN+=@ZZbjjn`{by~x2|H#-wP!M9rZdMCB!RtMYvng;?%4FH zIQ?kP8Z2T16 zsET>9+K}PlTLG?O(u;~ zr`PFE`qn>~y^i?IeAAU6eJeYeP}3Q8)PkC!GqOOtre|_gCTPrZ`3HJ*Dr;6!6#|@b za?>fv7R>WpvW?Q74Q~8TF5^;Q{{Y;}`p--&Z}AC6P+-=h1peTB@%14Q#RMP7HiMdC zm4izqJ8MKUyn-@CPtqoul{8pjkV1wdHB`d!rz8?(bA$TO(m`0`t(RDECxP=r&NfNH znR%zc{HHNP$`*A!1Z{5;7qw@Z z{syk3(wNokR>O%3O2!Yd_o`(F7k?<0c>PEiR+q| zY3d+;Q#F5$)>58wRG2lFJl!7MM>qfw- zrF27Xpwog6da_HhC53f#k6QE{&*J(=PIq*lBm#cb@t-dbr_GxFPoVhucfk_%&!xhd z{K6=BD^^=QGlsoQl&H=sQdI37hpJ{5;|t=}@%=m}(zPYT{2ul6pVJfV#@UndX~Q&^ z!I;`KUVSa6lBlg7Np+2}N{@F)^lyjSVk~r)hR9aYGArgjV>`>4nvMh%Vm;d=7K+e) zL$zn8{Em{pM-DbWIRX!A>}Bv(C0hgPmKJwb@7mtmhiq<>we&>oKj#&!{XOMZ9$(>e zzp?)S(Sc^h-`x~>U&TI+yXd`D%Vz;{)$ih4JUCiCzP0rpB)fgD*`McQP){ULms}E5 zeKVPZ+MdA*ud=j!5TtNH`q!SBe|IR;NA1c&giMS@a;+At^e||*z$qzFgG;$szEEB{ zC8j&+ucd8(O#2f^Gr^`Xgp*VnU_wVT#Q`#RMUIYW)GECguN-VYpkJQkV4|0awYXJG$Z6={-awz{{R)Ki?u})QurCVD)Y*@2#A6?r2bPE zXjw!W??&%(@pGZ<2l@30IQSKXj5_ir{{VrsrC5^wO^;PXF4930YS;9vr!FmYfBxzj z)1+k{H`;E}ZLW6yMZqyoKT71R(ukkR!uqo|=%-4p-ez!zhuj+3@}FFh{!kZ;m8r!6 zd_dDe9wZ_rdr`az^pzsauV!N615XgH-`2E|ed2jaHL;UOxC&)4z~?lxlM0b!C4PhU zj>GM$KbU=~W>s-$l%+vUC0jbNf>dR40g4+czAG2{<)>h7pg?a>coC5DrarW15#BZZ zg0f28GMgn$xRoTC9M#g=X@g{o(}}8dE~lIs^<6ct zeS4$YvvOT9Z7$5pJZ`6(IAZoGVJ9hqGF%|a%!lla59PC2biBi0Bh9ogCyCyE;; zO_Ncwb=efbN^@1LwoR{;ReI3vJV(;4hC`0%6?()VsUie(Mq-t+sl~NuT)KB_q<>mz zjy8&+R_q-43V}sJ(dpEZO%}Af_blH^(6|#OspMf!o-Rm9X zI4(Cs99g?0(WYrSid{-bRMu0Gg~j?B;mc@YYihuXTO{He7iVj>ONl#&#YJRkoszHy ztE2^_`evDNxh*hB;t}61BmFcO1~UKPC8;I%R?}im0|xv+_uo2nMgFNEH*L6Fx{)c zKtZ4~L^=|*Ux2iH(8={-De8gO*5OGai^V!C$rbP?Yx;0nRCb7`d_3JivO#(=zP8Xp zlC^|!o-1+U`E^N)azdS%9rcM}@|6hAD{G4?oNWWR*edSd1ZR#Wi^nio;-DMjYRDi; zc#ibO9)PQE{tv9&DI^V|JJ%;4k`kMe>X7HtTC7F0i}cPZM<*3KMYw0t^_QWk4h1LD zL8b2E_88K1k=u-=^u&EAOq1(95S$d2%4tDDwva>`lXk2M??r?Gu$)h|RWD~^me?m! zNIR$Yqi{3POLhWr5^*9iG{P@M_-TUf+Vv9vQJCeb2#izqRuM3JaaI=%T`utfARJPT zd~BQ@4T?LPDL&MhX@qtWda~bgRH!&Lq4CpKKyPA#_QV+Wk~pVPJpC1nAfC~I6>qbY zo`c;rc9yOa3xOh+^Rf1e7fY@=GiT}hkn1gx>E^$+$A^%COcJMRb=~FdQTlm4J_@u(a0H7c^^*H6mh=Iq3fyR zOcLnxnkge9rjvuRi7wHyjh)i1Za@cvSLMdCM!=;imW?;2HBIP9pK8kUxb*CA#LWE< zc2`?~&1Z7srZ&YOfN&`}G%ZsvyFhJKutJnMqxkZmOv`qK9YLX-Q>-!;=0L!oQh}nc zK#=y+D&JW*aM=n-B#OHhR|a-)O$t|bZfVbwpYYE=6!(wF?vwcz<;3y7;I(e?Ft$`@ z`qkO+$2@I&C~?@&qU%LFP^ChLX{^^TiC3VU8NL|vr0YMH7y5Rr{{SP8L!LfTjB#XMc`olUs!Q0Pn$M5*>tFn&O-&l8yp zlxO^hj(A(ikM@|-QoXRDw1f1f&R4W2aiw8hIi2d0-jniWO@u*M&!^b&Ble{EvV_I~ zH#DHO$=fs}c@)m&$7pr%=ELxcBq9t_A2plmEwJwwjludf)`TLmlJ;n0=&;O4IjZDX zjxW+y$wD-U%W1}rNRI(mqN>11#J*TyO zOW7E|w`anWz!{qLlcvZVFbGvy9qko<-(_+m(x7uzE$pw;rbJW-kT5wP6*?o@)yLq0 z#gZ_rRgp!JnrlbI5EKt_+Pg1Bd6Lr&Y0EBc5&@Ak24&X3+wV!EMd<~UI)NaM`_^a4 zD@>dhSEFd@#qL5g_L{TF&t(;smP@+>fsbiI*86!^7%9};&B`N@`jMrl)hIWe~KdBmKUE)7MH-5sdnLrMs zAc0>&@t#ZiYFGWl-0m&D(J{qoZrePjT|_A+A}dC-tdZ=Po-uxz=q|I-!|XZeoL9}f zXD6(X-<^lFS~5hfdVT7eRti(Qs1`D9*{mStTVQjtQHRI`!J0mhqnGlqmIN;J|ivWlz)Oe_`jx% z{XdkE^@`HV*qconPlYeS+(|r|%Ko5+lN|WDQ=?Vi3L+*&WGK+~LXU_nhx7;09f^u{ z;pE}TO^dnfwl<0$32F{IreEmhHnhFqeQ2-MIQq^Re5A za+2BI$~^!m&MG+G&t;CbR8mec1PZ+}sYlfXv?od~6DOJrmm7#y1k+Y(9Y1hAIjom5 z9>-W4UdR0@@T8|Toa9D^Sl#;$2vR4UQupk=rA0fIXVq8Zkwn#iwM$^6l0B)19(2lD zwXqXku?Kc5Pvf~AC9q72nVjp|dRB)UaWa)it=AVXXrc~1l`|yOtd(bS<0?!5ah^py z!IQjf0!ypv$|z3W03vGk%P=pGf_9T5F(B1)bTP!O7MaJ^sgP2Q7LejVo)2%Dt;WvD zYktcJbjKh~RN_{z2hcI>nH;c|bbY zfIFyHlvLG%f}Wa>7GxVJ~~+61J>Be<&9^rdBdtWHa`eWNS1#v zZ1n#CgI8kfqOH?8Xq4BSSPUkJJAE9jr3cNDBnOqkNWc zrGc;>G>)+h(&2DIl{Kp@pPlG$u@4m4+;xUW<=}k`$lH zp~X=G%!>9`Q(yv>i3EPNH7(jIYw{@dpGWC^Q=_}n`l5Q)1Gs> zTx`$oU$y@L*jdQquW!-gZm#K_Po(v`og-9XO}xUQNWzC=J}c?`Y|+mI(VfkM=(f-q zr6x!U&$VA9{guK|w@+v5fTWL4V~X@Cy_QY5tsivjg)s1wnc$lCXm&*LCkJEZiFy^c zBD1`#LHORs3nv1SJyeq{T48E}37x+bIotRy*g6uuvNJ>GjjJPUVQ*`Vi9c#tD~m3L zGy>Nw!jPg9#WCV!rd5$PX4m%LhtxvIJmR%Da(Bf-zFs>vE`hw?XxeABVf?;2n`gK( zrACuxxlD}KUn1E16Zt+oeNh}&5gEH+%}t=D&NCEV2~!2ktr=H{)5kn(ukKAL~~P~GVn z?~9hkk%;tj%4+)Qu1Nt=?V9=@H7>E668PClIpr7f z8tcmxzSC~(AC`YnRPpk-<)G~A?^I&i)whuO^vs&qadLNvCDW#^$@FJngd9ynlDA}` zDq}69hk8jr%s8bvR*R=?P*&MWYpQIQxa}$wB+{1>XjhfE^J4xAoltzeTIe1(l0Igy z;VZ=u{LTGPTTT)_D48M?Zmo>{A%44SV*jd13$`vofkGfQTuEjvG4 zTBX!P3hXjCvyE7>tZ4y3QkrYVjD0AG!j*$b)Y>^hlpK&{ zJWX}0M3iKmFF|`nU>-zJQ(plP`vNU}IiaLq6?-QG5>6_jX(gfp;u5*Y&03?Pxk@M} zWa3tkXgsQ!Y#otZZfXAjHM7Thw-mGsl{DK%t>CXzrCP!?+lBsd5KlEL{r+SJpKXr`2qDs3?4n|m+`?@ROIpsZ43C6&em8dsJB z98(Rj?&OLCBx#1mR(^c|q}QO!T`&%(Y7~_MIi@%=Qw7NrIO>fsEwzoj&1yIq+*%i9 zg1a#OtkO$vtj0kn6~FP^p2!ABO}IeXK?Z5=Hd7&P?n8tD@lByX6SV0NwxpzjNS^iC zEfrj2wi2|sTWShUHt|B_jgiUO+pP}TPNbWblC9w?9EwYyA4f&}e4Uoxp!K2N2Ok2J zW%dyy-r3#ds8HUIxTs^v@WFDyFGXYs1`M9{Y`v7IgRhbaC%H6M7D^G_{DEI@XpZxm zJ`T&V#-70U-~#}C=-f;#M|2NS2Qx%bVx}>4!u?PW^J6r(oU}V9M*ZdVH!f0 zR5LBDKL(v}C9r3sK6(=%&U0E=?ByjLkQjp^1z3+#vVArG03r1HqEBkCJUc{RnjKg0 zY`q(Nml!~tfy~w$$>OOntPN41*e*cMPc@p%f__3t0a3t;5$N=luzsy?y`=-3QCxY{ zkzQD-L`1(~D0KRJ)`JYYL|Hi7AYu}+F%@L?iYEcjL$yuINl+cLNcnjjBu@ksw1bZ5 zzGb@7QZkdpFOMpun1A?o;OwEGD{q@-;mSQEeJR9cyZC!7;!CtTKZ2dhKZdz+xiAcm zrFuP*2j=M1b_njmE+6+Ct{a$r=G zBVXh(ij;kmPe5H!l&u9vG=2#*^i?>iD`Llc^`vW5r(zzY3={-3^1?Pco7Firw(J zvB;`VW_!r^_l8d^ZJ%J+@RYV16TBOq zc&6k-()z!Y>QTRg-lxyw+Om!=UXr6pwYm>9m2LzY%+tpzG?=ER6mxPCQ}Ilp_eB=J zLYGikrNpcdAdJlwhHeuA%>yXZm|cz1+w4q=)?k;_f?!d&Xot=lVrtHWuSefDRqiW} zG<7}E*5C=qu2C82tm|_4UNct3{j>p>PRA~rOl%wp6px(GL0*kdLMbRnIjn~*Q*3dA z(I;Ko2fA7H010hLRddA8uPuKh`H@n>%zXqTkWXsbwPt#hQ2zkoW7BlvMtH2}pO4sv zo-OXtuL24|C$(aJXwv%tb#gc9FaH42X`haDnE-QB>0)1kcOj0exwBF9yx9@*4L$u) z4*WRJ@W6aDt2Cl$y=i4|Ev_B0B{vPD&SgpDEja{!m7VasucMk1y4csBiL~5An+~OG zsC8zwVnBA`w14)lG2&FiB3?c z?hk5b;_`ht(GE%tbdzDOooNXW03c9aQzLntSbq{JVbPHI)atQ);R|wKaSB)&7V!4i6Bbw!;4^S!0lZ??Rlq90P?4HG8w-T_U z`McG5mt@dp7%H^Q7pE^jC?>NU+7Gr&yRhOn2^27pVFB+BY{ahmK#n7wO1xJ!mOPsAdo7y!lNA$ zBLV@avyEt#Cup7DtwHRqq)y7r?N55HNUlgNVwEL9U+Y0-X@klwY-Z7Q2Xx!Eu9znW zG%h@j5}+K_}pEmX5N%}ZHmCR*_w2e5Vxr7%`vGW)k}lTG{eJk z#omS7j!)B?PvmORbtdmvHtQgs)T5Jy;+JGI;^$dcR$EdCSCnLtilIM}*B5kGe%+^% zrXNhDSTk0_a)a#`vZ+NkOv`*=@W^$}ltU;=b$bLATf5!%!2E~izNPwa^#aco9FOi^ z{{WT$0FhrSjcLc=@3_`c{Dlno*h!GR$oKe9&>Sek<6e z)t#JvO#c9=YzTL7#2;$XaI&VT2RvItcR*Ya5Q1^o(qAzTU>tcrsYbb{uW}&!VzGIZ zGeL#gqQl6*HB?zS#G`bHY>1*Uy_DqKL@u(^{QD<{-UcgI;Q1d68i_0BZAK{5$^HZNNrChRP74}WUAGVK)iv==vqoZQ;Qv@ zTo7vo%=>v0kM{^|^^Kd?STAQ#G{of=7Qp>V0j$5Dk6e(C;xYdKVXtipU3|yldRFZ| z$eLT?C-nJ|DCbAE26^K^SZ7}eDkIDVKYIFiC3nD#-xc)aCf~8&USsh(Y6jed(pY7z z!%WJZGac${0+lUWMhUHl12utLj>XM6Ww&;c37DpNmBz}`Y1`P%Xz2t(yNpt-kxU`C zS`Ij4S<~K6Wu*S}41eIw0diyi0H}lh#C>8m>h~r@7$fwl`1YP9LAmehwgj>&D*{2I za;ils$Twu4A>=xeL>$l=Uv$$faHVM2yf1X!>u6cbBvv2KN9pm}3F5x_;*sfXJVm-O z+P+nr_cL#c_Li4`elt}-vFHzeaJoAZrUjMT*pJmtMX~vsf8*nF5_8?8j9*bvcT{xA z#wNG?IQ_9kYZ~pH(5$3|YAXkw)bo=1#*o8ahMhHm<$z$G)t=8SlZwA#0?q-BC~oD| zt0~+wG9%`%gov?YUTh_zPwh>(l6{JDIMuT?)Rd8OpfmODTAT~)K&kIYqNRz6=7~tN zQX@$_w}O6^CJvOlccRM+GwDBCsz|v;)koxQ>8)v2?F$@|tLoyBQ~;>zOoXc}emR*-j0@+&!?6N?$+n)hMWwym)}>3p=pm)t>jWS3Ax zO!ukc%HqyS8WeS{8*o0Fcg5t;7Hn3G>tE4|cS1euO~d5f3+Ea#{-D!bWy0bRag$o! z9(5&5QOLyN`y?*zB}$d!+9{vFEjH~lq>tuG;am@z;bMaJy@j;(#?Y)0LFS2U6qB|Y zVL%zqedrmWsMXmrm9+$tD!R6L?4aX=IUe*(VpP?qY_q4{B%Or*^-gSW*~rV_y!Y`C zMNt*ik(6AWqVGlOCr9dgE0Cg?SOm>Sn4GXSz6-c@i#E?!TxzzrT529j!o0@9hv`@@ zW>`lmk*WHMc$mJ8bsK_9lNjc;YCl&JngEVytrIz^rNkdl%_QgGa*HgEODU>(!mC&k{yu<&BcuxZR~`d)Tcf=VfbUx3LUz4o7L^zVo$)f$0m&OiMb=tOg{dgw zb6Z~-$@mt{Q==i)S{BN1M|#|GGIyexNhr{xbT_D-(Vo=q8d?C!1m2lcf(#QQwOK&( zhr=u~qq+f+_2Q_S(N|X|OK3Z!-J5rkH~LkB@k{v_`^4{GrzF!JwAaFdNHd;mKgfk_ zJ}%I4Eu~0|{{W>fa@iLI(+1r$Xh_@tqy95CQ5!#LTDVj}K@zHLDC?S362a}C$ z9pinowrI>)rD#5$MP?_OnW2U>_9ALbt4Zp8k`jxN?TM{74=2{+CcU9U{{YkSn)qir z%PK;fxd1`ItM-fXTxDpY^|*PgaB3?jSsa{H)uIhKO18NGoJ~(M`jG}ptD*Nw)Co#R zRv=b)k&9vYa%gC=zTLOgN^@eNj3<7AN_8quXjK-Odv~xVqR=K{kHEolD*`ydk_T_z zj*NgM9hF@{g90k(y_`{W1=NuUGsPW&?5=p)LPoOaLxE9=h?;-Kji5Zs)e-5M$B;r) zWiuJ=ML5bHfm7<7hHG1}r3YD1k}yHRpt%?!o;JOZYM*p7XxhO_(w7yH$gJNhiq(Z+ z%}$u_rfR^1Eh~u3(hS%d8)449rZ?H%v8-G95677ipXL<9f#f9#EOUGK8{x|w>!iJz zCtdh*y)OM)){e@&l^J=ojy^?d-z9P}h&kLDai`xGqn!;QXh~Nhv%I%WmT{V6MXM=L z7^OKSLllGkI?(ghw2VzH=1c8XU&D>fjOhTUno{1zCrqS_3gn%hNQVAW+#dC29mwWQ zdob@1(mxw;Pjtn72f@qjftbrnkuT))Cb3}UrQ4thL0X~*&3$JKyG0R-YuF)Vo=p^w zdMmhO$UXB`BA0HYh@~=9J-G-Wh{ z4C#c*J(U@6UT8w%-O`ljFQt5HIIcB7c`9Cp z?woRV=h~9ew)>C<}l)lvdh=|TI}!^~p(-a1S0gnlA@Y9#>j-UOErfeVKxj%2G z=zX!*bWc1ONTz0k@O5CF3rjp_S z5J*22FD)9)7e)LzUKV10GdxYg5I@cbrE-8q>b?@K70o8B2dY|c zNhc$t)uj9A#e4^>+w_cc#M11KWm5G)TRi#n0bOl{S))^!_2p-J48j$)&i73eovU}jeuW14O9?bM6|f=42PoSjn_xKp9q zqEu2Ak7~|&P17&o>U1#bi7RD5cS+4Go9pXC!jKd*SdZ2?{{W{6ugRftULf@g z_Gr7)+Ia0KfSK-jt=EU*ePtQHgDJ|+<2gloG8Wrg?u6~+_U5*7eGrwl&F8}{C|PNU zT9fKf1pC*{{O=*<%+aCo*y=WD3jm|&Bvx&E9xbadZoldUSarhN+)~sfJm4z6kK(vX zF9+7lzm#<}$3BzlVzSofGxe+*AJM0vILwTgIr3T9hUY%cWQ1K8HJ}PQ0!=)Hzr(cizFV=T;bVK=ieUuD>|z# zb(V=}6LoGsB9$r~3cX5lI-!1k$53Q?j``=xK-chI$RP@h!BIix(kHo~yv zZCKZBsLDY-=``?AUuW`J7vM&CHA}>K%R^p=sClRYb4mGFdb7CYOg^OrxAmpzQwmPd zx2@V0q^Ktp&x?|s0_9GQx=l*Abt(2$bI2t)wkdZR(lzZJ-OZ%VNEM3Y#-u&tw?Rd! zQYc02DeV=W0aI4Mrb^Ja)E3EghXGIKNv7N!uN>5nB)!q*j}&zETivDfq9H{j*V(*I zRhJB8!6j+hGsl4ol&A%@)!#E~?YE zmHI|zwO&6p&@W%w-ht3^72QASqSKebomWWJq$BMix>f0Qj+6rtdtVADLCjTE|6;>L?+ zgY2bAGZ-|ca_cH($#;!etoSa`R-lqWl=u7AH}yQL8E=kH>!Z^abL1oGUn$L9nYzZ` zQg;p}tBDP1fD_EQ!$H&w%oq&Ij^8`Blkra z{w%)tDi-bB^DmaOiB&V?`VDO{$4yd0Vh7%{+0(MfIxi_>gNh!DZvB-XA_ylHbWw96s1XdN%FmiD1b&(^bELx*<4qUlpLo}Si{ z;!`XA>l@7Db!Z~r0LQ^h)3;Oz7I45COca*O4izQ1gPc~Yjmhq* zv1IV5yP!dh@J>hRMz2LGo4=Cfi^@vp7%&AeWm84h%uX%JrP>(lNM zwJhyf_pKj{g3E*H{sF$Djj+a_)QPx4KvzFBFE5JKpp1O0R2#Ov1c*O1lH~FJoSF~E zlFM!_419Hd{(Tt7D{7gop~U7g(l64 zhFEe~a@yx|Mra8`V+ct7aq1E{HQ4Eseue#2fTXGiG{=uRVAF}7buOBhP@oa>#c6ms z`mugkyU~XA)|jS>$VthbE9gEWJ<=BCSM1Dg)Refb-0>ByhR`laM*jekv0SKRj@4^L z4{v0wl9xNhS0tJs{@Ea-1cBO4MF})=V{cAhl0yzFBZ;Kk+&|_-@K3Ag$9qRoPzt-& zeR ztKyHvEtjqP1~1%*qR>K?hF*$J`;{PwCnM&Sc}GyPc;)xBYF1X@Fg-oFipb@k++LSf zD|NNFNq+Iqt;IAXW#JkF1&*!|siZR%_e@ z^GY(RCl#{Osg%I>s$%v^YQ4*AO`7GR} zB||2cc??~lWpI*HHjNeJ+}k9`z^pGSE)%0i#-DhK9wXWL4l{g#mXsC8YIor>_D>(= z1Ia-~ODEtRaQj!B7K%Y2cA;}(>_ImcGgx221AaSFtk`rLi!C}B8N3Qe&S_+^(-=ZlkB_M? zCyB1XbvZcMPw<6mBo1*`{Yoj0F3hQMY!V0~ioO%sYQbK`-Cd9puX<(2m9T8M>t=1# zr)ea6)~AB3SILDTcw8we5U4cIrJy-SRv*yygto1#SEO=1s65!E2ihf3tNsV88(+n= zm+hD8ovJZeI=v(g7neRtLk z!%8x=0r^kGTg<;}&?NY)1iMGk1*(VbN-`ozuYrT6ktkB5lS?_yv=zfzV*x=3n5C)g zI+{o3iHY{FNZ}RX-q{MN;#AH}_FFMe5*ku39a4rAIW@oVPU956CU27-ysemLQ0YNi zmQ$D~0=}<;Uuq>N*2FuzRkXDvj`M*=rct+PgVqX6jGk)bLF;I(=t(Cy?ke4|bfXs6 z!N_uckrnDVrv3aM3~f9Tcs|u7?3`YX0zye3itx^u=zZun#h^wn3)+EZt>b9JqFg z=kB%Am1TUVkcdi*8u~|z&a&g`%wIDX)5-nF`fF42+zBLtKYEut1){Dr`bd7ax=XEv zP8I!W3SUlCKf{qtCP8$tp_)4swRL2q=u+w{aO+DYBOuY-d3BzF@9L0%cF^1ArQJF9x!l@^?Ma+ma;N-^F5uCKK9Jqg z(o8~#1Mge-yMktRbfnuFd^=XneJPw8QRY?g>?_C0@*9I&OC%GRub<2J8o2tRuA<+a zX6gu;Nvp8StkWvZ7brAgX<5@cwUP>cG6x+i+)l zVMFw?C}^QG_s(QSOfnB%oD7m8%UdkoOyg!QAKJ;r{u z6OxOoIsk$P>ovw#WcK)QK;-=@yq<_QGT5Xkv5`D|DOOjqy0DW?$pthtrTGNPl(vIb zXp{$0g$fcmo*CI(@kUC=?wQp802^v8UR1b&8ShS%mT0La567QLeK{3+mqPqV544|K zdHYhXTwGUj?AY(_L_Hwal=F!-oAOfa6v%N`^*xN2=>?)E-j(5d7-Uxvul9Ai^7_A6 zu{=D~!1ohc4pQyL{_$nrA-ZU%;-#PAx{>e`0YXMAIpA`4<16?E^Dyh0%--p-yK;8kW{luvA1S6W+dU=D3dq$klj$N7Q{->grl$&?ED5DGIqO z9km#;C813$pqw0})YG+PQdOo5)h)Lqyq3bHB@Q5rEhms^*N5^`@%hw~)AqlBO!)gN zUe6`?T zm`}wyOYj7pHQ1>3?obF5&0inn>x+`o(SJzPOAFYnLB?oqMh?o+ZZx9ahWi~<6p2wj z)R!&_2#l2kk*I}4oc0te!AD%wwlnn3rz;35;L@IU4O!?*bU#`@=ClOXZzMX%Hyrds zddBpqNQ$!*sgay*6g2b}E-*1ML}q=WCd#U2pVRN|WdrxDpE5Mq*NZI-J3^5Vahh53 zFly0RX(B~i7FF*+y-lAnrA--vbkH_P{1_jLx?biUQbCdGA8Puy>7Gy2!jt#|&-q3k z;r!5hezmoAL}MiNXP~+)1@!k$gd=H1vt)t6JLYTWUSfSYQ-A&WA%E0g+|u>!Yx~cx zHA{k>kmGH~{U}JJzFRN&rn7!femQ;n3@nHA=TKnoK^d&N`!c2-`=HV0KA=zGb(O2S z9w#4K`o{_VObh!N4o;=~qgv3?E_85tkw0q3bAPAEraV_XNr|0Xrh~c@?@s)7a4E;& z$#ttx!^(4R0VcM5T%F_8sp(rkTBx0>3K8vGnyW`0$yylhNfx&6;E>$Jyou)r26CNAdlE z@-$}saOh2nvN%2KQQ~8H5uNfc>@ka%HiuQa2b$k;@3Nr>8925sS*~srf98=)b1$?$ zuh`#U`0~bh6pu7EOWLyHt_Ix3YLyM0?XP7!tFQ(S6?8GSPqJ!-jdJUH44Im3#K%mk zQnNMH*Zg&TYgNWyXgsZY28fxH#y+%B=M}^eJ62oBaJ`no zce7T|wUFWvO2MpuFO5!ySaRCfaJ6%jrzL|BYAa0|lrPPv< znlA=!tfp`h^}P`*N{-Lkp7D890h1D2GoGU9soX<(8RE4ZE_F~QTuGU}t)eR3#VIX; z9E#L&`ATYlC4onD3T|3o-`b0Rav+zo(7QWgN7LG>`gYDWN}0m$%A^xgSm^cMip#l- zNzcVvvDpu)A4saZqJ@xRD%FnB8B5xJgPI-o<@svw?MwN1X<94CK9cG)B_U!GCTUxB zu+FMqY8iBw5_I6&h?dM_6swS*)xXFsbd@u%s9yanT(>@el}uIME^i)QrQXw^Zh^0q z6roEah?80lM;US>aRP>3j+vrq8nRtNM&bI_Q<=e~OlgNbdKm3)Ji!x=)tBU8c%?%e zbL>fQfZ`0~)i8Zo9I@>kgF#ac=Yd2zk^xs19n*CPAQQy_p9ppwmd0Bv%}Bz%sIENz0WwCNp>E;0KClHfgTF*^-^eEUvOyz= z%!)Gu&feYXnU}7VtK6YWL^|Ok(`5y z4d}CM6|CENjj9q34I9OuRtuUeLA-3V`5SxIiyQ3`bNn4?_X67GDu~Z&=4d&>isclY zn-4~6>2b7zu6q+$pC`v@x*Bk^d>8um)fZY)m9!a2q5MWik2MDQ2*)NHGd`cY^DVrW z52*y8)~lC}r`ddpcvJ6=pR(FNg831NkyN+ZB;iVQTv1D?A~RGkwS>!P9{Z)Gg#*PE z72N|)F6=9(>Ok!v&{?pagu2T^O_lcK4ECiNaZ?&#$l9Qr4*8HKg_L@PuesBTfxC|<|Djq0;x;#qoD+5E{TkC94w7+yEpC%F0E zC;sTt)n#q1+NS2&Vq#FS$oMq6agJ5|hh*c&nGX2d=8kCfU`=~KRhpf=v`N@UsUx)w$;0&B$M*jKv0hv*JArGa!9}`A29R@|%7QqW zj)nz#o8p&xVZP!-i4YA+L_K>Wx)7L(lo`n*8u3X2?9#qkhOVWv=u2Leg-ODirjT*8m5lykVx%TSx;Nq zI4J`IlbV&DNnIm?2>=rSb^^MI#db+DGN?RHxtg+z?!F7Qiu8!j(uT;kRXr}KXwlpO zNl6@kN>Ry=wpQO-i!{EKyVr6 zW`M&Sf+He?dS%|q_hV%i?T8Q01$LP zJ*N~Cn2>92;rV@JjJJ}(cV5hv-ELak?OcL|L9LcVvPR7MZ87gg)I8P#3adTJ!`4VC)PGeu3?gjpyw<01JsZdg#(!s!Vs#GDwW+CZ&h1tc&Z~|{cBCYovH-L*J~C9 z*_=f+`fKEh$$LfHYl2bF!Kx<;XH=6W4#ALn=AhN8AvK`Rn|1@cg0Vnn$Dnr9n>22m z)UbrkD>2T&wq1uKgQGyxEE3BuG#1^VAOw@Esf>NB; zOP304G7m#ty28;jNwP+r7g}iOjB;~aL`t^}kIZV=NQ96RRJKZxr2$MZWTsaoXhG@= z3@uUfT8|yc`f@?qV#v}hA@HC9{Y_Nj7N=|3^t>koV!70+Q+7#i?6@;foOD7{ zeaiO>^T?R)Vm}W`%;9(*FPfsIA7*b~#w@CynEE z@K+3fPc5%So5f3W?KGzn*lgPBN8nxO;e1q6JAfArtsMR9Pc7hy4-(SLDq}~DmVQ>W z97qtLYaQWVS!Boflm7s4k2?*;qawLRB%Rf&gV~psfzALF2#>uJ7FQ~14Bi`EehaJg z_qRYU?LT@|=JEYr6yy91yj;{d5s~PQt-DR0k9BrP8(L8xrF_rFV|jDNAIY=lO-Bo7 zl{Kq_b9%MNneSg`#}$tpV2mb5eui%hbkldKhl*q%fk^!Bb&nTNt_*w2X8!=Ev=Z7< zBZ~RPSz9$&l`1BA-yx;Acqt&$Zv~6$^0)B6+?H138a$uXY`Jf&-m>94yyX${39qH_ z+WK*$CCPt$m&mnn^R|u)hF1zte~M=a$0F+>X}+q>7os}R+cmd$ZvII1ip+Um861hi zNbU|q`10=-Z+$n^t!oS?dw{5>K|b~Ku6G7pX=xh1A2;i-x$Hj5*78)#k+@|fpW2s6 zDD4bW@Ak9sZBI6!zs#QA_3qtXj&H|)8#)`Hd=tS8i>NTBm^?2mUHhMCn#f*c3y zKu-ev6LU;I)B3uRa*$Voc%{6~GH_%TMxM=QL%t3+k`*9`tamRDR>N`2L6u69W`RK) zXr>z4=IqtZR;XFYPV98)r@?Ikc*P>;M{FaBEl}ji+>HBDIcbg~Y=z{)jCZNUl}&7= zbl6f9B4kzg-2lHpK)*7Ki)LHmHjpkYT-=alCUIXt{Vm8!PA!4uifWH9>MVX4_wAIA z@YJN@zMqZuNrPjj9<20FhgPY$)3g)_gxMib49sS}W%`3BOqn0@dJ$92LA$4vj%}FW@_?@1f$sC3eITOo*)JXHytQ8|!DCI`x5Vu3dtd{wa$3cZi>U zJb$s3=EtPlG_Ma_7kV0C&!BzlFXmU% z;$YX!KUF$iMxH7+n$hT6d^QQyKYi7yS5=} zi#}qMOv%M)@GVh8ZAIBcl9g^MFknZuU+mC)>Q@pw73dUe33k3_z||$==W8 zk+s6o2_znKQENw(zVFCEqBejJ&&>|ig+{v3e^1n0vvnjWfDh?H=D@N=oN}t8Pw7sk z3PJ&MF&Q%-gjlgjLZswC_$3t8*v|4dHgvC)8Oue9G^_W;PIiqmo>dNH-52`e9 z;uJRW4QO~Ao~4F_J(BE_s{md$5~8RBZ?!SR^i9gP^cd*ZJiSo?CPZM(1LWg)Sv*pyuCGSZ zrXB6c%=WA=AykG}f7}(-%}t82MfmA|Q50rPBM|ClPn?n@86cY9@MOAz%}KTS0I4J- z;K=SxF-*29kP3-R7WiA2%AZDXAXdZ6WQK@t-`Si9_aw{X{u&-pWHwjUy zY0r97CpC}F5bF&gY9l8U1d$}!#o7annwB?AhE423*X{hbNgNu{aVKb5o-Qts7=;Lh zN6jC0P}gNla_HS$va}^iCJiF;Ty-U6xbo=i)bAcnrJ^3>CbC$f@aHs9lFNk0ZOPO1 z+lysjER_NCTWPPY$BdW2hZpqoxWAC)!%B6ZF&v~xrSO+oQwqx;^CF`+*@CRq(#7*f zanAHZe&AbVgOS>-#F}Si3q@NEK(?@jD-%}c!`WF6rpEm${3#$6{c}lq7^#KgO$=5y zN#=X|(%iV%!wj$3R9=FJ-9i02V@SzRCsDZqOwpJiMrz%mKV8(4%W6`VFb{fr!{hg0 z`5#qm$@RTQ@t0~SG6AiJ8w$r0HO$H0O+=s^P#I3qL{b6l{WIbe7Ok_9!LKz(J9pCw zS}D!orBJl{ccHSSTO%xeo&1^yM)h<0YQ?+jmX<(LNaB)musA;W%P{gK#&_^&*E)MT z)v7M7);EzTSpJ59?HvCA++&*rc~JV0_6cU@=E>u2bO=}z_4%cluzZV@<%(S;>|@b& zw^(&54v;|vW|eXA;IW+Ur;x9VG4q^2v^Mumz6m~>B(>MKgY?8@!R%U(NPR; z;!PsuKe~c=>2AgaB37@@W zIoN%cW1i`n9+`2t099G8L@AB&%7e_Wazr^Dk_>3HJb(7Ixg7<2Ov|fHf54MBrN1&uf2OUBq;mhvU2o3UeC`VE+C{2 z`_~}pl9KEs^;VddnQ(2yaZh+0jPu+$2|cBN;ZYWhcy%(G&n9mvP@ zr%aPVy;2kswPbNn<>Iwy_8GM;jXr2`AnxXsMl|Sa8TLT?(y ze4TFVV2#V%KJ@d)%eNjj3C_Q&==sy{mi22#CLv#`K2`&43yWYLRwoorgw%hCC>Th9eP*gBbhbb96NZQc=ICi|l8WP)2j zNzb)lzft0Nxzhekhl`(l3;PDIP+Da_7CJG zTNAI}X|SNA)2uLW&?F>~gVm2EO{;1709KR7MW?d7jkQL4yOPz${m}-rs~>35d^U|6 zqqPvQ+1)dqYcu6I?k{E0*|6vrdys+^Sbk|V^xqfi^XuVRukyK6chK7ig}ai zkGJ5#JW)1eNV=XOEhd%&JZcMLILqoQMLky07p$$IV{pM8 zk7HKxa?1qN*TX8ykFq@1{i8Zc`&6^E>m*o`?Y!CFsUx`jt3Od+bNxT$7b6Ot>R;}J zd9hmP{jW!z-(bRoNfoPvg|o+|kyX}{8$jS@uTlt#NhH1s$ny~7qJAQ*bk@nrDXTBD zdRiW-1ooljj{O5oEPD&-nunKg+JdkMG!}d}7K-H6{{RNd(s%xAD201su--=xSup&2 zS|1sQ8wcLAveOGp{Nr*7_OB;koS51Q^yS9Gw|9CEn+w=K8P?MutX5WmS=@@4_Y-nN zj;AyF)Dt@|WjBBz&0P|ityrJc_Cf1MWN{|6z6+4Caw6C!Na>zW>+2<1Yp;la;M@<* zeV>VuWX6~Z)Y?4-;IkiyIyx65BEU!g08MSzcUv%wdmc#Jpb9#kRX}^g>+qR`c}c zZ>h(Oe+FO6<4~NN^uyi_+!yQvB|%$dGfV#fQse29v1f?Lr;DwPJx61?wGF+gKMO9< zPI$kAAnL6+g)S3YUmu#%0G;|qcIzL9x>inmR-Q8N0C=RO>@)~gkt!wr}K7()C4Hyq{45c%gY5b(SYvNt$m> zbt+ug0>666bGR-xUmU6J8g7ZI?+JxgQw#FL7r(IXmw%uCvZ^N%=V|;UPS`rg&B`hXmC_QD_Ozi0OZD*pX%B% zAo*!l;lQmgACNE0f|uGW+%)43D}2DF(2|nS2H`f}qPpE2BrDw2iX`4tl1ULS@|6%s zikkLus#eZY;@fa+Cpj}+X*ILci)-zE$ISxpF4-e?QX`%#J=ME$otZnI%7y}9KOgYCc6pKCgLq?mT6mRJANsz6D2eWmMNIeUTCR#w;>&m z+P6L@mDQmxe0OwU+NPXs?}}6+4Sf@jo4zq~_e`;D#3zZW=Q7G)1?E|RG4`S5BaW7f zepC<$j8z?h=C`s!+$V4bYl-fPXB8!&#+P(lNJ_a*C>};WuFG)GRQ?04C@4wdm&s6M zQkSr1t82X>X#mGGUmqnpVEJMGWG&q{Jc0K#&m4-HQeyq;Rk)=4MKi?yNcV3{ztV_O zH73ZxO%LQ9;$_fHNgG~{ui>W^gXFETqAB%Lb7Zne?^gKvRLZkmQ!y^6Z9pk-PSacN z1HA*uxc$gfQ6%mXXT3RE(>vR>GxQVc0FL5o-igs7CvX|t#QfA+DahJ%{SEygcBXC- z>N{pBCz8gc7E-PGx|%1OjQF8cQ@219Rx=iZ0&;BW~~e(J{pRh9_XBE=pY73_+sS zJ6k<8-q3$W)$%1!eWsT3c*U5Vv9iZioKNpbvhjmqDq#=rl%POg6hHW8*jmZd7pd#0 z4V4vf^F`p|Hp%^EMrqZ(K2?xCbw>h_bEfajm#97&3$hI`%yPG(*ms} zT=$}D;T1dd%C6dlB<&J?>)+V)QeJ@<)?qF8U(vjc!fH6`wfrBs+9 z#HcKdu?O3Vl~D-Kv!jwbOdft~$%jGuR!MIKcoi9{L}hJ;Z4`F`a7Q!-R8f*LoUQx~ zdR^D$6Uh{xJ~NA2qe|(E;C9Nm#btTey_P4sH2oUyaub;%vV5$28R42}Y_xN56q_Vy zIub3MilfnU+63xt;Np$I!7?FBQAq@YPH?e)OWI{SHv?{h4|=;Kdqk%j>c`Cn=qUhC zde3t4(C3dWSmSEF%?YG)RK~G(j-5bIIIcy}*((Fz+M&d$Diigiu;g)e4LFTWtAk1( z;5lrYw-Z%*Ct#go)HvFVeW>m>N?`fn*%+^gdKUK9u-K4feQS5&xpe5tc`iHlXEsYV z_XBi-3>wqrUE`rlS5}8RCsOJLWD$c%vd60#VV7ocdXGsl0JSS6g%W+J zZlt7=_Fc1hg+M=Qqa;cjevsFrzMv9!@k#kGTRRmc?0e9!)RiVo53Of;c&!)1BZKsF z)?T~Rx)LF16)zjCZY23`+F-3M-Iq+Sh;VcDqcg_h&@LxaN1?Qb1Db0NOr4`O^G-^v zvPQ>_(}HD}$FGbLRKwA3MYAgLUf6DF^o$W7O4xp$$)^)L(SPykY{e6G+>5qyQUham?i0)yj3pCU}p zb<6K9Y7<&cCM!q{PM*yF0AIXQiBa7(rQzaHXH~tnCSEMeB*fFqXd@i&Lq|p5lsFkG z;ErimmBgHT6NH+5O~a+{0-8yh`S(8^FpP5eW{agh6oCe_9Ej5oi?$m?DI+uqYgW(7 z0Ct(L5OGMR`+Uc>T?SUy-~p@J?n;zXietx}6;3UqI_gb7(xMYuuOG;9lBNM9;$=Ni zrunV7ouWoZ!L8>LKX}?H$sY09oxI6P;vys;nsXUiE05bw$X0?35;M=WSej(!{u4d` zw4K|gE1G9*-JP_u6_ZhtvMx!gV@`_cgoqqTr5u=@gqzwN^rcBjAEhGX7cby(vqt0y z9jPWqOt;%EB2r`=%~1EFva;e`EvXNqKJ`8)A@TAiRhl;&G(MEn+Ph>WN(Dectz4@t z6GgmSic6~?>kTM5ZeMLaq>1{9Ma|+T_b+9fh*Gm9(q3JMT-aSC?b&pLKT}eN-N&JS z3Apl8JtyNGui`WY?zYL=l~3BSIakp05?A|@G`>N1;@{x&t-@z~Mk`SV=)}n2WjU z$uE)TlH`3@MK6OZvA12#^K5~YC<@bOnuHvfk}-0fBhkGhr>4tGVZE?+f@|geODoHk zOx1Al^@17@m_Z}GC~RVus2kQcrsJkxwjzAd{VDH`pU}k_eq;~Lhip43kmFjOHix_^uD!Olj96;PJ&cim+tb+6G_xkX4Z%6kZ)NjIBSp zhq^bb7jF6)xL@QTE96q|DdW~iw;z%n)u|)U9XqU8J!0L%3*5OIfZ{#t=KS6^NaS&n z(Cd$y9d6AJLA*mQqT~(jtU`y@vz&;u>HHcFEYkbF13!jB9w032S=@qss0mNEq!!Y@ zWi4MqvA$vCT-qY$-sQh4>4gk9li%tqLHc{oOU7mTd3TNf0Mq$E{Ejl0-5+O>{Aut_ z{)xF(x1ptXS{2gCLco&2{{SkztL{{ZqP&&ThywqwG{Wzv9=B*i-V zs;mzbT6gjlIucrKCuE-HCWrq365pZLED9>x2WlE=OGRL0cZ$CjU4wIY%1N{gVbX^a z3MVv7<7h{hA6B+&oeQY%VWLm4HH-4tYD_l-wWD0p+zvDkZqZ#WotM}p-2YzeV;OIa-& zUx7@^mKX%5PDsaZNUxiIt#qcp{ou|9`4{{Oo+@51Pw_?PLUyO{%+5K-H2d`JX7N!| z{Ip+^e@`nPx;s}x_Q-|ytk0L@EO}Z%_;OkkJZWJrEf0VrXrG#M`eJ=oQ8${3l{e@c z;HA=0c=foD60l?IMSiG-<5Cy+cNovCO>bSa-rBJ^tX~r?G0u2eGJdMl$qGAjTOS{r z(5h(5HLDVbwWvKwbNIz2UH){3VkJ3U$8OK1C~1OWys~)yhaTe;EMhrej_vJL(7(x$sfdnJ+B<;F>ZK zJ+zP>niemx=$DNCzFDaivVFd&+nJKafB(46B+Mx9GpBO8!~# zSvyB=E69YUZ>l-kK%ds6ndhyBdVf@M(d4AL>5;_)%)qin(NgV=>(R1w&a1r$mG-PR zKabV1hADq0jig_CMt^$C@^K9@PR6TeLeLE<$r@qsk=4UVT6n0!O)_%+1>I9m3Q6?- z)X$Haf#(|%HO&bw1$rm#S`H^Iph@HTGtFbCl-kv`HKpS7Z39XIF1euYB<&!_w>6>S za>d#3+p#j@*~?SqsRWXH)5v65Hh_}osV|ZRD3Wo<^{Wy*=H&K3;z%+%6=YqbvWKk) zx^n!Xz{1P|0Q=JJZW~>ZO}I{&`K3L$;{_xtv%HAVT;FJoIw>agZ5f9UVtwgmR+3Wu zGKeQ`BHp!Uw@`E3nc|va$ee!PMbll9Y^a-Jas)+Bxl504fX;=fJ7nrmrO5B`L}Sg{ z?U$mZaC$Wj3sXz&Cux}#UTjH>u;o(pG~1{xB2P58FC7eG`y-p%G``U>>H?B-_*(5B zWTzD+OjUV>+uTG(Xawz3_9)2*j$Cf(LR(mvQj_^v+ZPg^C z)iFUI04-J&+M<~8^&o7IMq|~?B}iU78rAse(?YEN?83UAOa|<_5+oeg(D*t2&a6+D z70a+Sn{zR?PXdaR%L{F>vd|Up z@I=8m?G@~aPBd}17BpKcdr8dv`_g%;V<g(em0y#bCKU*yS%r z9ZcNVI6f+T8CFC?I;h(*KB#NbywA9;=K@tglKr~anyeC?rUg7+i!tqbIRqF3u&$Dp z*1eOm*K@^S_Z|EowBR1?h-lgM7)0^7|Jq@qpNH3%YcP{3->gug|_NQXr5`W z(pln~_AUCajV7h&CjG;A7Q5RsB87w=InxW2yTamPy+*`1Z6vlq0MF}PTOlbfyBF`R zpiC3k;-sTxa+h784ds~HR8ya&d8_t8Em$pVtqLMYJ)_#W=)W6xPuao=K^ZaeUVAO; zYV0d)?;kzrJdrAzq|z94w-vcLlke|J`4L5JI!?##p1CM-5jm{qHWryGHC+PcLTBmC zWI34j9fC~``fHn#C+SEtMuu4b03mdl6chFl?4zh7atu!ueiyQ=h)&f~5=b0V&O5X$ z%Bj#5F9f&%k(xQi;tJYKZt3gJ1oKI`n8qAg*RlTqOnY)hdsc5eX^$~V!US#+L){nM zl`fi)YUoI=Q3|xYP;D2*{FV}Cpw;aYQrX4JVb=JsV|`iKMKmDwc9fTyU#H)-X#960 ztdN(Ri8Nta-G|^c1z^E4BEEyf&GoUPFOoeZ&__nQDM&#yH!B_O62&f#g6{z1Ui1`n z!IjKR_I6)R2R2-<0~B+nMfbLpO1- zNJgH5Njqb3`q0m0-`eeyFyP%F%~dp0I_xrOHv|;H_@#W9U7br-Iq6psw1fWuYDLI_ z)Z6qD>NiWMw{ky{hT%m;$rH~u;(+#K1)0PUMIDf)9@9Ms(vJtUCLH%{e@gkUkc*Ca zFXY#8C3w?8C&`4UcEt$=>?Utkgf9~e&)A=9WjhjxS*$7JW2wc`5jXtuoO_mk{)vZDnN=KzopnfU5 zsyQ8e@BUz!Awa$53rQHwcC9jm>F7Ud&*LneV2KW(r}d@zCG_$segZ4JS};!$^tjZt ztAY;Z(z|7SQh(aMpW^fO;=1`VT>N#C!o59h4Feofo@DKp@nfq#>%fGncoohkvYt-N ztErqRQvHP1zkriSUHya|MfDO#zrATNMvHMbb@>mLRA#WzLLzNt5dqk@TQ#fIn)AWr-xT zKwH}2_^VU24Uu+Z29UD}J))L!QDkkzbkW`XfP8nPT$Sv;I!JWWU6c=1AAtQ&)cO+L;p*RL zlgIqE^Y1R+FDZ_H4S(F%WQWw^v&|RC+O?q~wOE~`*@Vie&=K?iNg$Fa_&ou*uVgAz zEGQFG_J}w4dnDC$NAFu@FE~}?r)qwbTp*!|1${@=SWBR^!Lks9kxRQvUB&QlgZXN z@vnqJdrZfy_Skhr?v(HNS80Tf(_cmK`98N6zXnnd{696~m#JvRI=@U_jnp@mDiDz2 zS~L8oBD6RkcrW8XxiP#s92@j4T{*csCPAaIs%3c}Wz-H{b)^Ngt*QobM|6ypGKJfv zGf?pBtz1AuPA}EMl27efA2s6Bxgy*-zM1GQlS4P zE-US9&}^S=_RYG;3P_gE`c`u!99^0Wb5mV@N!xIPu|wdBsjrkxH*~@Jwvl6dX>ntH zYMYBYv=ltjgoOj&;MR-5`RtxPUruh|->=8=fwSRH?njgSPw-;rqP3xarJ;8kEy{|T za0x9L{EDxy@jR?K7*$H|)BOJc@++1V+Ry>rH3h6DFeZt|mgS+8WUFGQQ>Ck0C4h3Q zaZNb4DWG0#*VCwo?W~nVWAvu-LOhWlx(@qd{HZ^hvz}iSuE(&Y7SXzN^}t(c&(^+s z%!M(G8lj!E$OoC?l(#`Gc8!#>#-N_SoY5b@7>hFLmqW&m;8S1&S^i9Ejc`3saYN7# zdS0Hx+WSbE2~apA0Yp=uq0CU{hSuE?LHC5UzEU892RbEp9%d^<>^mJPBE&l+?$EMTOJ;3&^*?x3t-;cJGRM)6G!HEk}RT5@jD46L46{X zauB?Jv?Eo`qI^lG#V9PGMGNpe5Q59)3VD=6pf>rs#3j` zrCK7pK-zP_sbhONlAgd9&Ll5tPDV{K!krYksX9yxaJ{mu&oq1yhMLCxV+V!8avFt)gFg6YBPw$8xc4jPXi`Z8r0AMnxgdk7EpTpvo2$ zCTIq!gr{h$a@bfntD!0)z&eJW6(?^r#|~;Ml0uHFqK771AEi3u^16ac9`qz@eLEpg zkugvByxo*FOwKj#pHbZ{=4(;J<{%ltF*5GOcIr}9flqPeQ&t4=HGhD5%q+n_r4qdZ zsWp2fvwclDyeNO(qmn90k4ohZ#)H$ho_gBcug~cc~>RD}n){ymbDi7yK7V)KOiFGU7xDnzDH);#Q8;ra3!; zO>t*L92dxQru8Q*o((!k0QaM?@)l3EoP+vK(Why*h+9Fxu6?R=fZqm1C1thU0x(3- zSuplR?;`ZT`k8HKdU>qxGmP=ex>^L!Qa)*qgg79KQk?L#M+DMiwwb6WYGHJTk%wc9 zIVoCUb9fY8D+N_Zn{c1l|o|JzCD`7lAkLy+`uy+`@Ls+e0!eEEA6M1w){BfCWKwywe|F$FlD^eSJFuGF**)UAWf zk}{xXiorgvigQIZ*$S7okE)V3Jsm_g z4E-w)%3B++MB4Iv%NHa3vrytX$cpl-iH!9lK&5l@Tb>lC8k1dwM^aKqJdbM8McOBg zQrkIc800D`QZfJaxB%+cDS~gO!t-neOFRD2xro9?3NnDMINd!%0 z{Ej`4#Y^Ic+cyA6_pI(zT>Tfq<{;42MoaKkyoI2F?N;K`D#*1$efwn(pRam%hF1^? zrk$N7JDN`6TyJNRv{|xv+rA*gaaCoHc${jOXQ)&)4IC&9%1DDi@YmAMK`puCufVs_ z*M{ElcB?P~whtf>Q~>m#?>?v)5`zt9Ch>lE;3+b2S*< zlG|!(3IreCp_2x-1@)L=I)a=;Owcb4GUb)Eq8DEzNzGXpQ6(?QO61B2Ad&A^<5bSd zS^>U1w@w6n(ee9{Q&+Tn^U_ljlkHyU%G{KfQ?D^N_2gH&vJ>n6p`8tWWy(QTam@qE zjX{;i@0A+IPo*WKf;)DsZ#DhH3~HEv@Zm|~mbuYui;@T42Q5#W(S;{61r>>@{j3i( z9DNPl3)U@PtMG3+68bPwf0$B_CBUB<{ak*7Ja;-dU(%kK@TOT?p~li6@;#{*Zbb7t znBrK{su^_D1hegmNuB+{_#;uG#?*zHtKgbRNF9HtF?h<*;xpLMSaVAgO%&wC9IFb3eNJrQG8R9zk^2U z_sl0EvmD6mz6OJ(Ty9E4)@zXsv7RTO^J@eGDRh>?krm7-1XY;TG83jLYYoKkDaRT@ z{K~}Jx0KWT_wP?J#Y!T{w_*OBzdm3D#%Xsq7J_)$8g$J!MYxow)mctdHb3Le(8806 z2bx$gOIAkuL{#F)%7&Qq-h^Iy7mps)CQFMKi0U|2DMT=lfa>zP@03Ui`#mm)$ zaxwNsC)e64l2+mq1R0v%c#c)lW?P+sro^iog2KTkgHN)xf>NZNYyd-dY)~60%sg8xw zxXzgunFMDQDhQn)km(K+g#A0$r5iw#zi2h4ToSFb1V`S0&kb1xF4`URhr)ma@klul z>RT3=Z&X(MCKr+frhwzB$kEx;R>4-l?>@$iol#1^XxzLxyDxO}DN&Mvh z>WqI^f!pv=;NM*T0NnI_`ghx(kzX&vshdgu&<)t$-o+X8$fi(}ZouZWFW#%l+x4ax zmtZNi5syN8T1f}6rF^*4VVE7GGx0M*dFQUK+GME~cPM#L{Hb0i={30hKb6mi{fzIF z!zGilD`-sZU>KqKa=9Gi+KRHLP^Bd+_lmoQ-IQ`tl4eWQU`mZ_{C~iy(VSnpJko+s z`&Oe2b!73%-8KfeAeiQ8=z0l*+48~9D&;17$gbsGpj&F_*1A6Yl(wDFO=CQkDr~ho zHSGfHa87Fz%*Gdqj`mLONC46dv8ELlYKxf}s!r{n4+LZ8ym^%$Y!F0M&~!nI+O?ok zRRfx7#>q??YesX_`e;y6wpOFZ@;b>j2PM~R%KDQ`-i3|1NhD8t-f=QHF2!=%zrd8` zy0=7u97iH7Oq@463TZIz>L>>b@o)?IqK8iolxSuGUiU7|d6Holw7ac1(y^o|LwUL4CbESCe3PwBQ#*8Mo% ztze}k2h2~YBzx5yj8?4%a- z1i*nt=1MM+e0@=<_(`U0o3|2uS*%~`Ecf;ypN)szZ5sW#mjqTTCXFN=vikWz?r3~z z$#Hn*`+?tNh5w?;hGQ6YouNM#b`JIs~m- z)o_MSmolx1glt8ivz6_JQ}>U9H`-mRFYPdfD-{ZLCNm{ps(D^E2Sip5Xnj z`=DvzzwTiEC-_f!((SKS(Ne3OEk=DHl`?&g$IX31gUg0!$1Ejre?R#KlW9@sF0y!# zTjEV@ymsA-vq{TBi)vitVw=e#nsau>9+bTn*XR?4pL$v3F?~#IsVKrm`O~4wy7K>5Dq)ktcuwM(m@JMSqDs~B2LVo#N9W}v47DpgFmHh zzfbahouq<^aA+agc$!#qaYW@r7R!mWDGMR=#uyH`;^ zM+IwtM9b><{IUEs{>M4`oq=>GJjT%CPH5g-X|x9!CX3xr^4`-B6l4PvL+~P_m7K`? zLWORKdCM-Yx7+|q)flG!Rx2k7i7~%F(s1(6KY9?C_{h z?N2yaeG4LiE$7jU*~E#Vc7m$OM1t2t1?Big$cUdT0|4z2lAX_puaHq$VV5M5HW zEw%J74-~OkjPgzWQ4d!^abY9hiqP?&RCWtUtktpP0s2+anR{C7SQelTJ5^3(9BXAe zrXeKk6?Qr79-UnZda_iNoKv1Vv<&XrLjA*rU~^326R~#b6cl}CGC`sv=3pk-IMu`K9Exht4qIAfAf+~~ z#0iXIh}4lAlvc*Bm%S)?2r7a|G^5C4xVCo_=_-FF@uBHwP_awN0}!lN&iQt35x^{Y2Y5T;Z&e2P24~4yb|Hn$YoiOET*HgW{a9 zx_*OS-spkr5%ERK8+$>IGHYz9b*VPIZxpwi$5MqdnPgIWKUm#>K`~ie*qYJYZCHBG zQ}Ut}OR`|>wigWDG=q$5NiD%u0X{avVV^}kOI1pNB~gmM1`1?nm-!L3>*cJd42plm z#E=Z~HpKhTwVuMBVxx)L1{R7{$35t{w9c&~=tzu=*B`QJsvx;Xr`o3m50TgUf}B)3 zQcpBwR)D6dowlGzo+>Qzzh#D2rkx5w!2Xq7l9HkgKWH%1-eLlzM`{95r$HF!rDsMI zG6An5`1*D)>h_6Bil9Qc_@-QJt>_afsdWa~HMaGokpw737nWCzqmW;6HEk(iG@ZT0 zW4Q|0;d(4;zPm+%{#vh(siG5KX_V`BXmx8(2Q{+c&()O28h*W*=A~le52+{ACkC{* zr`jZU9Z2fV-9Q9^6U|C)_7es6hHb4=0Kg)H%adf*B*HA(f<$|Ep(ix-apT>gm#3Dt zTuM#_C+9}dTa6kGlfa-6@y%v3#+y3ADSA`wLb&X%P5MU;I8>UHV@$2dzhdsJ*$N67 z%{1e^P!>f`MRva=6;$N5dOo&DkPc=&swbN4wh?0FuFY&L_Qee-b()eTj#Z{BrPE`n zrRk4U5%;F&e6EXLM?~l36f{z997Qe%-~P8Oa1w ze+|rVl0v?A3Ra9OQ@2wtEv2N&Pqlpu21PWagvsa;cD=1arfBFZV+m$c#YJY`035|x zD1o+|Le@8uf(nj3=seizoyU@`GSP4mBZ!%*deMAktq{22Qed2p)i|w|Mt7h_piWi5 z9MRZz=#=E@{ys`bdj}`jRqiA%ll&baWGv1|9sAcB(Nl##B?S%`WCDgFO_R zPK}SIlP#h>s}Iih8yM5Etql#M=9D>XBdzSAsjv%5$7;U>whfw;b|Bnc+-W+ZZta$& zEh?N=ju_#{!_sI?mg7Fq(>DHr)^4?{R6TM}0Gh!0ek?e%Y6hFfXP$W6%|5^a$coA4 z{luo)q zKUuhKvLl$Uqe^nZ*pWVyCyectVIv_WOxaTeQHM{)KwLoU@Bz&{i~W=Jd=LG_ZHi+ z5%2R|aZKuN>gW}DV5J?&0H38rYem-D*Rlq!972MJA4(H5tuxKHyAJ7q2NS!Ja4A-Q zS}JtiG5-KXPUH?IvwWwv6$Gg!IcUxnmITEk+Jx*ctt+}J+!igDQD9*&&glU$CO$$uqlH%gK- zR^^Q{h&u@~x)Mkt5-lK@=QUKfvgF9G84k8&W~Yi&&PqLu>#TH;^DcUFCba%Dlhvyd z^KjZ|!!<@%V|=!b0WvFpf=f0u%)Ust+6ZZPqi>d_N3{>g#QmMcDs)=9P;m+}b5&za zFsQWF#k=q`1mcO6dz= z8NrJA8dW2AcB}<>3IX^gm|}JZHD1MyXzg!sCIP0rRcr%0&}XJD0_~7N_@H^vsf2N- zaYx;3+u3W@@7=T^0ZLH__=;+5JNXze>1=UE*z#_G{qoO!nroqk54q2U7{^HY-hOB1(MvqI?$ zvIBCggArM;C5zd9HE7v-a_Ul&RrIVkHysy4?Uv04Nq=$^S*}EBu-tE9fS^6i0$R_6 z&p0*WERDp;&owm2y7a-f%m)xf7m8HM5-lX7NrwS zv05+f5=hKuwKk_4h}#ZDI8z?FO5CTVp0L}7om71deE0Q+F1&u!BFu-Bhttm_#S4_?bI)pZ0Zg6fr01j(e!NlKX!pvI*h8+$Z6onF zX+X~PL{*vP*5pbp8}CBtsk75sNWlpN*Uh}Pcb6+>hsWd9j#ju-pL#`*Z3XuiRDEGb zgyy})i+N(dlwAJ+CpXb?54FO8P&8+eOCK(1l%o2kXC5Z$+w6Z4%yUh=7JA9lL*=o3 zoy0Dqv{zDiWcJg!{X9y2Fp@$PAi#1&fS`Gv}h3+Hs4|>P)xXvxbnoch!_J$%_+=tsFw&s3^ z+LpMrp{AScnK6ZWRgo1`T@z}~8B+;T?QdI4tT>XDp+ZuiY3GUZ*?eYB(cB-k{{VmP z4JbxhXPW;2vvtM)NLp5v0|g{O1a_^wW~8kPrH$<}#e>C%(71w=%~zT|;?O*xk+}3d{{WcF zYATb1UqAA=ddZ^fZ6)m1G`DxQoXqC2xz#Y-Z0lESDYB@NE1YMrK74yC33SWgAtH0$ zh37-rM-oajJKC#y1fD4j)iK^ZqrIj`%|_`HUg(9?&(11QbXO>f9b2TT{?+D?nUH^_ zXgp3vvc|oD<%4#Sd%?R=Z>Fpq%KX1>1qb??eX^jh4<4~?{!FX;S0~E9>F2sBFd!<$^2RC4F&W+qcEUEHL?Z}ug5Z^&*uWCCs^H-`w8ZQpNrmWMFAp`fUq`m0SdWrdP5^IXvIQs^$~)2$Q!AJZ}R zs{8D&Uab^wZOB0}iX#;ER@0#?UTX^CJ?ZxnK)Dk3DBPZ6VlnlnP$|1*ISW*hXX3Bg zEQHj*xzO4|d)GF3(~2ZXN`R9DeAFI~c1>IOF1N%9;zdyZ043{sM95U9X*_ooTl|+} z+-aQ%+qOvib6oyTx@wy`QBK*J?Oa8YuDT-vK+H$TrQ9h^p=dFT)-#a=n?r~_4f5@&PhJ(Vz7WhXG0n{i{jC^g7T;L}bcWn*5|vUXIhm3>{?B-yt#fePNm_7e*BdR+w=@#=2mbT9 zw?0`Uiq-IQtjnwRFK$?!d>yx`t!f+2JISK5U{khFy>H+tXMO6BqgkGJ3a&{O!!5mq zo4!#_R0qu@mLlfdiJR4y4&C($ans!rSz0@O`Acp|H3(rzmOPfNfv&=yQTe0s{iuw7 z<_><=5hQ)+m}ItJbb$9P!ICK4a?$H6D1bBjcA{3%?$lPfbty(wQi5%j<&;J7c4FUPn5Du@l zZjyZtBTbkI9guB{Z*8yd!Py8D?^4>sTWBq zvb~+Gx&TQh+K8K^bw;!wwbNAs5flvFvfrj(Zqs1=v5KLuhI*1^+d`I{1bSl-XdXm6 zMcD?E9JJ^6G>rDF&UiH@RVbyfh;eG?-ieV`HLE2_B~VR4tsQ9ZaZ0&4JXC1&i@gH1X2BbP&%GJPm%+@iPBdyh z5^ARBPD@KysW>%~{YA(6d0dd+!{+ZEjB?j3k$B3IMq-iiGQ4tBFyui^QGj*khxjYS zI+PHVPwQVt@f^RajYs6nXT{Qg!Jpr@HkldkT3j;OQkq|D1ffMLlkXH;+2o(@F4{a0 zxIA%G!wDuHj*-qKwgK*ehId5kQSEzzHsU%7%t7S`u6!9n=M4Gx1>$3ixw20W# z3f4RPRj)0CM+1Js3F*N2+&wBIzk2u9U$pGFy}smH(sZZnZ-(R;p!t%#Yzbm;l{9Oe zE(mP^gW9m%_prEVc4dH2G0h>AwicnHo}q0mD1248a%>wk6*D;MD{vm;ynQQE!=1!Y znI)rS@V3+=OKnk-kyw8}JIc`e#X_;!s@SLaKWfKido);=+I|^u#dZ4G75k6Gaw~^x z*gE}cZry50;2JLy?Icr?^owZ0HH$a(-l({?3M8NDUrO=GW5EQBd|a~gB#isSzYcXy zmbw1-ZMC~<{1Tu)Dfz9(50e)a5r#}s!1wYYH**;#KJ@Dp{tBfO{gx4W0g|Zt(U95) zo2GUyL#9$={V0l{X*(oJq^3;fxwD;q4v9*W8T$Lz8fdaVx7C~}oy1J%iuUS`xbE5b zX{EqGL`EtOYKv=HJ8MBII7xy%s4hgE9_aoFo6%il{z^%kFIPll4zON z^O}TWN!@~VHTjLJoY9+c=cnZB zm|g_~G!~h0rI-~<_FS1Ug$U+q4@{kl+VzNarQk&};$`a4CnFuB1@R9@Qx2-(2_U4; z9joY`8i>Xc4F`2~^C{ zm{BXIV&{ry8ExEZQiTI}2CD~C6anVf@pbpvhtD2&mpL(#3yn+lw zVuqOpoN0_&LxC~sG_#V3#U_W1G0#52;h5#Q{VPA7Ju*gL$#V1#YJ9;n0MT;wMNxa% zsd!lUFFw?n=CU4oA8ceh@shU9F$Ndv?kg!JtqY_tzJHne9wOQuLsDaKC~s`0#vngf(;*_HJ+oUNruOcdl- z&^VbCps22Cy`e#ABl%-AdaYR&-C9Q@(4e6J@-r1D7DiPSvt;n2uOuf$)vi4!4XH+c z)R&tEy$5l5e@pF~(COEm8Evmv7p;Or==C2l$elY(hSIyDx` z`!4AZ;@t(jjw?9k)6m^Q&|5*&1-;rWPYSKKiRG;Ly0_>VOX+2=gIejJ4U_Tw>6}tu z)!3A{Qe*BDsc6EyRkSQ??y4X!Ii%mG@^|B-JLaI)V>x{s`}eIpS)Z@@gRTz5sBVgF z#DnVQb~jr%>9w}KVUp?em5LXfpV57NlEojm^nQkf3p5shh`|-|?o^wbOx1CfK~QGh zASohy&@&2#q*#7MyUHDqPwiKD__xV|Uy|v5#t7(LUA=RsS#+;*no`ij&Nu^Fxey5yEO>7&oxMP>cntY6s%l#t8HNC(<+T5deM#q6^(52*p?e&5HGw!qx^slgfnf+4^Tz;JW zeE$IZzx*&BMhjob4X(Nij@|89nk9rAeE$(BA7YnHn<;LM>JvQM<+Ia@M&R4N#71oE_2W0>g zS?sZ9Ei3LC)JR6T;9zr zsDC}fgnqOq>Irtw{)oTET28+vP5rIx-8yEMedYRD)Ld;#_9{Rie$}@B0QBo6ypa5* z{^U8)w%L$$PM}hxr9^XEA1Q{@VpvL@Gegvrm-Lsx$k{lo&IQ*rLOvat&BKAahFnR& zP*m2Q3gXa@kuSSPr@9jOU1%2SkbMJ+`9GGz;mDWwH2f@`u*HUNQXg!BAkY|}MqiWe z(1Fwza;0Mxqv7NhN8srNN6 zsRje%9d}G#bpvS_f$dCU>5L?kjgi?See(e37Bf=H>l+8m{?poC6*f_z+X6q7SHeF~ zJLE{w_?1}f(SVc+%zTf%#Npf|ij;kkeuZwLbIWOG*cxrZjmZkRa_X&^4^b?=t)FgU zzK_FQa2U-00CsSTS}LB?eAPB&=ZYF!uDNQ)4-0Tkfa|j;Q3M$Wy&AHntgb(ncjS$v z6ymwxWs*stb^AZVA|{E&EtJ1PF1&yOt3$(J(y9?JmHa}P9M*>t&>X$>Y@}2W;EWFR zLfR&zvCSi)wE!p>IGT-Lv$Ui4M4ccN?t_}G=@xbEE282Qc8MQ)rJ$v0StDuy1e}?S zR3x@p4K1QTWRgZcYm|4}x;ZgCf$d%*(qxUKK%QzcB_HJC;TwPx5-YHDa&X!^(^x-> zNRAD2JigP|@L$@^V?YIVsS4}`V|k9I#<=lP*h$w`$E+BN7BN%N?2(|3nXZ|Fuik~v z#3)%B8tgT2pa54ipD!AiL~{ICZpTn1Ku!U zLA*89xVN#tQzGA6d8LvAfG7%G;^exo9BR33){+#MZ(R`$A*1Pj2`}<}|OJ z#92P-IHcf6>&S69BD2whi#s{m0P4&IB;ZpHJgI=^U684LVt+8iQ>+=>B$^jwhi$ND zmf{GPl(w4fuk|6QQFKa}N5~1qJ6-1RX)SVqEl%G~HQB!5AHMCcK0Ei);G zNhh~zVTx9H&0R1x)2M8c4>Wc-w#wx`uE3WUa!8r&N5dFA^8Nv(H3dGxv$w4qv zf$d$2Od>7NHu0^Fhk)efD7-EDDXy}x_MH4Qf=GyntzT;tR=nCcTBcy6qA^%rrj4~xh;m-K*V5k z0)?IY7ikud1Y`sCs-DRttoT_%j}U4uDXL{Mhsak-eJDvuR~%Mzn~SX2JBmRi-6TS{ zb3m+MxplLYU4P9r*8-1ftoY-*fhAu`>|;ezi+60MeJVVW@mG8mB}e3_?wB>!k9(Gh z$qE4f0PNLNO}&)w(p1uhc*S3Z{lr>y!=4iAo<^wslGg!Hq>2Oe7azVAkrVNmKAv|M z>6-q*uSU z{t~fPVxG`GY;=s{sO^b-dS}!tQNqdgh;v7*jg!NMJiRHH9fe{1-0w3qo;E+yO&UG2 zLRt7CvlH7M!F{I!Ji`^&v{tmv3H-ycuA{5u7pl1yZkU(`jKLe41vm2$TP-1AEfroe@^+meT{Z zBF~Y<)Pdy<+ATE7w?<@hLCQyJ^cJ#GngDxoLFGzE93R3N^vl>t8;vT@h$jw8FFko8 zW`>S3`DFYQZmt5-M{`6%6v`zhAup(tyLJcGpKzTE^826;o|Pf+cqf>qIht`QacI-J zS;Ms(jbyp#Ka1;TkEOe}Y28_VL{lAMkZ74j0+le<^eE`}zG4z*u%}#{RK(nTmNZ(r z3PeGr86q=-v=C`S1W>Y65f^(bp;J(MCuBG5hgv2l6=oT@w9iZKiI#Qdj4mzRB|V7Z zwcaC>(nv$kz?xkcjNVD zca!#IO!Rj~-5bu8v3*Jet)%DeUoi4`{+}*seofB~U9hVpy&j+1p^NfMCdCe-Pw*B# z4Ljj}^xD}J4P*t)ZD8477#r`#M-vf=*#gycMN_3eLRzI1=gy)y*rx5-j~HL3CN z(52tNg>fN7jt?fZaP$)ey?Q9RNI3oK_^S+0S|BbGWSRQaltvfxv6H9nAxSeLX=H^3yojI{A>K5g9aADN`WT30nP#QdQ}hr`$ZW!1AVy!>KggyM%plUqSIa zr8xB|YgCNKQefL$DFkCNn$yQ>kwQ&BxS2(TFDL(Wc zA|Fvb9QgKnC&T`%PP3*bPrX*>(3nb(^9svyQjD7U8F8|>r3v~2c#G01xSdkPxOuP6 z0Ls(;^=}&|`AWGsoLZVQgj|;K+!&8)B3SRyLz?zVE_V<&ao(%?XQu59y)|*Q_F$Z- zQeJdE)==9{%~1}IBq(PSSqB}^^B&?*xx6;lcJ~NW0AS{saB{p7azL5i-kG;}d#EQ- z)7Ao{gab{y(p=veKCg5-@!2h-Hu1L4ZSz+N5xp>L8Twx*^xRkv>I_#UBxCmpR^nvw zTUaz@9Cu)SLBiSz12p>*aKMonD%u9xJf`16i6j(|ucc9vDaEFCGkvV|M~3?ATBefP z6t7wY5jFEaH^g`|H}Gk^eq|`o^vDHc7>;W_FGFapkZPAHx6-d(Q80#^?sjuc}wbfkWccHn$>=?@!esIlOM$}Zy%jJv%>!Xx;AY|p!+IG zOzuepRucre%ENNUv|2Fbu)Qy>OGDC?tjPF0*VOz*b(0KV@kTMh;N@5HW*#-@XGrSB zULZqvZSMM!TJIYxgU0>|b1?lZ?rG_xG;&I%Gb7@fufV=(y~O>udSw3qPHVSEI$GO5 zM3XZFK#KDr`LND|cB@-}qO-MFG5u&BUO%ZCqS#wh&7Y#Ru<8xF${u1&0#83Rh4P$N z7uk9*#L{g)X0g*c$`li55eAxqS06JS`vbDxio_&7OkU0 zg{i8&poZi;*3uzEnG_37G6=rQWmj4$P}(^C>d3n(lqmSqzFLBkV2n>9J&(l|#^mMU zaEE0rG5u`VW~Hizvw!L$;4cC6-P?01Fez6=?WLzgE`&eyb$-YbdUvdN^;LsLfE zR}?u2QT?cl4yJ)~rlDx>!;qBe7U(G2N{J`xYCdVVo=hjkG~l#lzuMx|ucVu}1d!gK z(LUKp6|?^U^x{>?lK%krNO=YKw0XOv?-bkV1yKiz`gf7VaS%y0D`u|6-<@Q%m0?Z) z0HtH6kFG?*68!oRuhJ5PsW=HFX0#Z+(5ION8m~tE;SKP+>Gm4#l*M2_Q9)yzzqsqg z&$cQaUL+G)XouLhuG4ow>wdKx-vna+~IUZ%=QN9P&)*Lf4HO@U-h z>7LQ>(Hk^NWJUr7d?(I6+=(+$;{O2QA@M>G4QFp-x1@Y>3wit0(<1!|eO$ek&Kc}! z-;P%#CFi<}FngpMt$%Mas1@``e@~8MAK%E=vr)Iw0(6#=M=7k9PEF@*)jTzcAv;#n ziw>AiCY^Efc0$R)#e&w!6Nrj2NQ$(m8>lo26#{WZVV26L5eKNzvw6*E_%6Y-MwX2B z`2PSEK%Uj6#po7Ja>n&rC1Jv$1wu!^YK)O?Hu|*5kf1;rKR)$a zMX-{pMUbvB1A$dhe%HT6+bcKk73kx+s7X;|AuNug=py!mc80vh#{HupR4&3YVUmr5 z0vt;AkR)?8*XS83Hdq@{iJbi^o!Mh)Ef6o&li!)E7Kr}7{sBnS057v?LIQ>F#%9!b;UjhW4X%{09bSLs3Y2dWv_NCH` zOe!+6z1mW=n5!|mE1R)bSG1CGG~-$R0Q|2J5|wlC0?J? zy*%UcsIF15Gf>l%!^%5g{VPYsw?`_+++2u$LgFtu(n@sxVesM=i&2R#Iy^^)-UE-pWU{#-pUMcR3ENM2dQZ~oMY4LJaY<-a&H1x)+D=?^$ zROOAWj3EV}i~3R>V``B&#wi~+2YZq)mOjzy#hc3)Y}P(N2gg{Nr}JJHaU5OK9= z>dyRZOKQPRDjbORNbWqAsf8N51-zV6>0@b@c1u7lTm`sHh|MzNJtK;&TDy-oaP7&b z_*$>zwLO7m0;hgn=I1(DH3MEG;2iKN`6$s28YP5Yni;GuRGgYi4_{S{2{{Yg(7^MFIuGsIO^#hg{00kc?m{LtCYItANhp_xyhmKag z4cd;ArgcV`v^>%tW#qz=Ks5Wu^802A z)!#8gj@8FhOLO)!X)J}1bDw$|Y%dIUHCZqqNW}{&2V;$Gg;{I@02r!UwMDcWvuF?` zPu7$2K2IuJFF9s~qw>Z(3P;S3Xq}W>^j21x5}=RTl25!np2v^bQN$MH#}(xJ9LbK> z$#nbR6h`b+Gh(y_86_ry3%&$lM9|9NI&2Rs zy%j8&{x0b6S7n}wB>j(_KCs@lZta0j2VdFz8Cr zooE`21c~ojer6Lp$IG-l>DM7i5=Yjv`JqFsGtg??!2>h|;u#qi5U-k}(Q;&~g`|vE zY?X?gNvDTeSd0-(csaVXz_~c?J3Q;+Hj1k|lXlujg9ja}>E08PvPYvbJltPSc7(>C zgFAtzvVgW}J%mEa&=fn05~9E@Cmf5O_6NDQDoM>9j#SP#IV}L*Wo+CG zNGCB&BPA#lb(C5Nu+cfrC|R=Cj@^XqQc|E!MGH4)x_q&#LVTg-`SzszxLjG(-4|{> zFRVbp$IVd(aYa(sp{v9Dotmp&#|D%6jCX~G@MZl(ZAa9EnSwJ|KbC4!w1_W&B|i0T zCRdt_yTsd4f``%~d981Po!nT5o|`=Ns@$=8LU_8EPqd(I{7tzDqZlQ zhV)?mw6hZo$|&^^{t~(Qr(7@GD&+bTvh=erh)o#@+;|leE9s28adn;Zv$l5J-dj){lc4h_+VcLVd|83RW?ZPT;I2Hl2eUT9&CMJ_Q#QNWEOP$mTsl zNvW1bHK4YN`cU9b?9g1OHmvMgx-{OOxsZhu#bo)gE=tj-bp70f`nihAb20lSo3Zyw ze5nb~6`aosVQ^t@p`eL1M?>jcJ53*_5neeWCy)rK!Jccf7d4w%3K4@%IN2y0BvUhf zrPI%^5)EtoS0%G(wsAD zR)XP|>MoKp?!M_YX_pJXv_bNgWoaMEed)d_sWo6(G5sd%(-P9PAwVepltiGKv{t0k z*xS?20Jcu)^#ExHHEES(uV~g=aGPYo{#lyG^|{dV8~&OXbqz!{a?>s-4eG?xJbZTG z+CuEpsl?ZO8`V~wTks24q2|aHE-qfspBi48W3B|MM_x5ptMEKrZK-57wE#zI&-soLCC;bSK!9}pize*PApyV=R`)K(fWT;+bhg0?JGYAn%#K$_0Lb!D)JCh!3@#a z=b1ziIX>K0f`s2{(f4U4PqldMH1>|0A$bRb70GDqUv;m7?VtF710BGj@_Mt&@U%MU zch0rtx`KDKe^k;gRv5ca(=L>ID_+fKrgfn3ZN#h<011l5bGWWHnLIh1T{p8-(Dicj zO}x^f#2lK)@^F1QG--Ib+ez5go3ywSbkG^X(d=nfNUqL4hbnjX7MuxCNdV+viWz8} zzT&H`DI_W+1DdunOsY|761TNYl9D$;Ne3ZG?g;j)_?*nV4680Sd#cGAW*g#DJR%0%Gc-SGOC_=M?^(`7b~)p_K||Y$2?Vss zl0ijt_$^f9Wlc-}0KxYJkIK@|>}u>E@gx1wPG9(Jm!MDvlERmOq=+NlDn4QV09sY~ zFY(DNXwSd3Gbmq&x|t{oQ!cRJGaF9mpWd|}{-5M)pB4E`k2;i(AZWK+F2oW&T-Vw8 zIPL-r%KaLJmFZ2gJBWyy$mPZNvVM>z>J-xP!i^h`Qb3%g+B^6)e*^Urq$=Ez0Klw& z>Z~=epA(Tuv}^Y$l#&HvAUT@(0$!vzf)&jliPOy;k(V#T~HiaDH4Ubi8|C;$YL#d;Ia>A}69v`cx_*aTp# zSGiNHG62aPQS7e|oAUIFa62GZ!@R_=G?}UKi>@SxCFLMRB3{Q5^hD~2L5Qm(?5bBn zKU*tplcsn{r`|1IL?!Y%gE74UfqT^HZZ|=n-nTr-{VpSBTZWXmDH~tmlAC0=7zwN& zcIRfwQ2S_5>K!}~NKPr&3pc>0JSxQ7gzY5+K@{>1_5j`J5r34J9~h%>`ynYC)Eda@{Jx_o_0np9%@YaJJJ@w1`N9 z$f5gC&NwX#T}RWQ3pY$A49Nnl`j&;9jxW=fab46YK8P|aioJof{UQ>9#zs5)*KF_8 zuSLBvTQ6ENd8)Ik#>qz1tkraQ^4nOuZtegLadT^L{=K%Wx$0izA9OGib}{ly)?((oY%s(`p-3-=J4pd7F$+nS{|qt z6Y8J6Ww}^7jIiXf!qV^*49z6Ti(#rog+7&opS44!dOY7?efvRa;)um2nN*gAeL~DA zkpNR{IcWmQ9heIHO$tfC;+SI3OoNSxy+fsKCBTv*Yem82(+9}}_Wlk!3DalPmdYNG zwGL|EIF@cRufYi2rj66YJ7qbeF?NxZ6szf9I`Gp=JfQwYJjmWVGw!H)*7UZn8*&0j zpQ43sFv-uTw-RnG8Gfs&mfk9vlQ}f+kH_wTa!;(Nt!J#b9Ni!Zt8(!*=&IXx%?GCS zRJsxh=6&lk&Exg3h)E}7lT0Dj!n+zowrBd|3mR$t4Dp;uoHV;-wVVvNDowBmmUX6(ovdfzedm zI%56PAefK6GRGn^TTBC~+e%3s(;OKA^2N#87A~71e2_tb^G)%~Ky69c?5Pf zRP;_ib73oWkffY_=xM7g+SvKi&H1+A{`H*ZKC%tNxbN6?dViRo%RnsD8`Vh_FEpPu zqNJmWw-+OjVPcUU!Bcds8m@Vd%+`1p!0`T*=p9{lo2P2 zA0#$$O<7Y@+(!o@ufa%_?vMiU8+P+e@IS~*UsQ=~mjn=VM93x*UegM&;UoYFF;q?N z%ha1%F1DpW9~3*9`8u5)gp)F4b5(suXIWn8!Z3bBR~*wQ$idHQI|OdXFlrIQV$9hb zSu+=*e5$LSDh8aBZL;bvqyaTVvFwX>TxH|72Oqr;D3JH)nJx(t$L~goJF$C@yptW%CN?+OCsB^AGBnbG}4_`N;0+*sa_2Q`)Q zTtBCgw6rqeavFk+gKu7lIh<1X;|i3;UZ%Eg_Ss@3Q6ijhChNJD{Nl7ZB4AG7#+a(rdZ^fJ=w?oPOTPqNme`8GA$E=a+QS(g;1a* zccD7aN_9;i8hEzgg%Bny(uZZT$hYt}bmp|CA+;_+>}U+B!Pssb%{nwa15s+}X$0*& zMFlB#(8m@>FJr}ni3BAEaoUEjuD#46f721RA0_D-}9)L8`t zM`|Yowg;I%LMEeYy7jpj-C7(OKc>W)<5NbX(+v4mZ6-gIR!g5JERC8D9D2bGDT2`Y zQg`fPwun@iCag@UsyPG@MmVoOgRyp+0_*D8V(A~{rW{3cKzyfAbYa>%X}ao%(6|z) z1pRC1&ZB}Iy%`QPRJjeva@BMvT2OY~B`X6UaH^v$BaycN?nf4%XdUPp{l=8=O6O+^ zNuVPsap&J3`mf1W9P-5MYt<}t&Zp9xZD>QSJcv?GY3~=vrj(N%!Q-0rr*!9zwNOlJ9V2TqZhH>OPSrAYS2;_!oYe57?56wc)e1|m92<~Q;@|8P8qOH(n zD8T)xR!H89Tx(>CZ5~O8?|L9M5S<~U6m?tTl4XP<7Ga>nJ$cN3H-$I`x) zj!P^Qk(hAmnvrtJ<&Y9HRAq`=JqIM|6I>!wAZNW-2TZ=TXdLq-{{Sr)85Y9RphfMf zgqZxNkSNSq2u(P#~Uv653Y^U3N|YT>xq z3*@P^s}d?u)1%Y2gkKTa4r%Cf{HC;C5?yjopPv-fvBSWt!0$}B%84bn2#;z>`m+~a zT9WxgzX_3jA@=!Pz^v{hHp=Kw*X2#EKU#Cd(-iW(8PR;(Yb-hp4e)DFq2B{SIX4`s zn?{E5b(YmL=@o?KN35Dgqm26`!Ox@ceOYkOkekLssrrl>Di7*#<1hWLigGTQ_3|nB zji=vf*IIvEXaJ`BNN_x3m9`J5C*Qqj{{T#RAMp8pgx;U8@BaYLp+A+uC^+(Q`;Yq= z&-RJwTRVM6Pw@|@8~*^{U0B(-4-VgDbKG`w_ePe|r)i3`40Q`mAtV(TXho}DL z5qzPx3CQL-gxQC*cVQr#Pf28>Y%kGeSuI1~FD!9IM9vL; z2gP#x$FJZTakWN#rb{lC)(<9Tv>m%6kW{~tX5bJA{X5iMv&t!KwQS*S;NnaanE+K; zF)Wd$a!RFUztH-rZ4JDYN)`ElIIO=X1LIEL$zqMJ@f>xFOMOzwNl@N}i4`naYeeN) z5r}mzjP8$oP)G2|loS0azBlzE36b@56zS8nv`2LcNzPkk64KGD+pBe=XN|R##}De; z8scfe2;FR@pj*7jAwk?lX}GXXJM}04x=@2p=B{{T77yS<~>Z|g?h9sK$kB^UOrv3~Q zsQVS~NeUUoHJiCnOqG4sd|-KyV1AWM^hN#by2Jib_avDdRT76}b~09M9vJn@X5CtK z`;f3L59e>El6L9ZBfMB4ayd9hMo0SSZeQ2i@`zEhL@ulfyhO(jlJ<%?lK%h|#FiKEd11yEZ2IloPpPF8C?A6rtWxZ|FOfDiNiV_r3}R%O;U^aT z5(BhO!UDLcy`Apk@$9#3q86DLj8z#HiAq;ZjXE$YS`?9qnp4TrXu1hWT@CtO%i1mK z5J?R`>S+G}QAu;-k1HE%+V)2z9ywfInX2@*xdpQ_4h>_xhZ5{RiJiry%^Je}EvYUN z3u_Ru9lh%@mlth(qeX`@{{TSKHwkTCT$0lAlR!!rzmWLJMc2V$XVg$c)oEVIH@anD zm9V|T@+z&hC0`{jE)1{~(L$28(&KKVrN)#cDo=1|o)0@O2Pb%X`CpVuQBy`i)?E?* z0EI7xsiY-K(k_+h_hEg|uk@|-b3>PfWP`N-0Q*n*LcT^97uqFjOP$O_#wm78e{n=- zXkYWT>m)}!Qy#a1#JTmEnhuKTEvLW5X8BRr(~Tyg8U&Ci3JmsHZg%|DPuYAI+Edll zw@bYtMXEr-bG%UATKcqdX{+zUKzE&l)qpDl<+ zwCGnmh=6-deJ*>zjQ;=?{{U9y>@?-J=EB6m8Kv>bPK_#$+L8M~ww-R=36kLbE4;b? z076gr0nES3djq0d+ov*-{!w2O@{aN|QNWM%(A2aL1e#A5V@DDjf&vX$6|xi35IXVQ zmM-V{Ye(W^c@Tri%k5@o;o~9hq;=&9+upT)W_@_7CVRy~`8}Dk?UcZ*Et@v20yTS2 zF|`=xj^kve0iPa>>sqt&TvC9oFBd0tCdmqR#ce>8g$!df;|eK~>!c;?pf7Ru?N4}` zDsf)S`&no!e*+kr(($F}9&mC`;9gKWig!r)G|hS;7`67dXy_67LWB;{TxVTgnKA;C z2Xv9~+My~g#R*5-I!gAa$^9xdWsv)2V;@ZGqfWR;Tqz3V8mA;%(+$C!tdXeLYL>Sx z2QAbfiJ<2iW87JmNS$1^n}*6@8LE3V==9;=LYBAF=~TaNpHSpiVVCkP%g3$6Q+buL zvX!KzLz=xwNoWdMbbYoV7YI=~2DvqHXyqho+5*Dt(eDDW{KZpYn4jB0OTbjdK9n9O zQaO`rMora$Y~LtPCboV$rHoCLxX;+OrFsGvEg?&Q3{uW# z7qYTZ%C!Csd!_Y#;U{!^Rxh8&rpB1ECFp;%zw{4R?^(QrJym>|b3fyW)^q)}LFHq>;G$;Q6NGg8S^3EPbhn?5?9B0Jkfy?+Z zO?9Jp((a^5C_z7Tn))9KO6%~%7}~o0nC7bAn9{kxtzQw-K)KXG*3TvfeA5X<%S9BO zIE{TfsrhcDJGiX(KaK3RKFw#R^%OqJP*o(>FPVkG*u#%Bl?O{QnF48gl?B$V1Fvj- zB*hhrF2S;6e#ms|Zn#Lh`CLY}JGON0PG_@`WXS_8=HRLHGWB4Fda zOCme#K?X@s1ORAxXyr;vL;nCqxw!!cip}{oPQ!SuuVdRbpto~TLA;tRTXsk|ffYlWvzPE!yATh~BBhSXvNh;d)dHJ$ck-TTw;lFW zD$N$<{1Mt-L5ab@sbs_k(zjuDE=JVQQ^&KLufR&t@(gaDtqYPGIUPDox|PDDkSd1~ zbxg1wk~jmCRJfA9+Cd9f2}tiWK1l48E$kE2EhMXaVM8=$4qBqT$vAX@I`07g*q7by`q)v-MDsPF z;k#4?nn^nqZ<;Gdc|3o$IKwJ*RIX95a#!U};mM*}>|K3f_ZRJ63P&;q4G)qu&f$}h zDx3*0k^58<`3;QgME18zX<8IS-GZ|Lw1VysVYK& z?kdbqm_AivKCF<%$Z-DvDa~j&@4P5a$X#8r`=zxOF6~l=)Fc2aIpi=)9NS}V9%$r_ zhSrq{gGpN0&MuW7mz~j?>LT}|xFAgXRfHmy0D6t#_$N|5sgDXj)IfZxeT^8`O*RqK z&zFaxO6S_QT;~4(!pE<(C&XV*lG{eNL_d?mtm6AB%wn{bzS1LDa%G8wfkJ5B0cHE3ID zb*B>wL8rVPe$0-vK9T+(!L9F)@=?zf8L=ND47if2 zxS6X*%TQNur8!b{MNKbgW6*V9A;g6%6N6PwEv*ua00lw%zP_8;sc4#uS1l$~CW4e& z8)C`XY&I5{2NhXse}KN3a0Ch9(0qt~2`jL{x&b3JuOuk8(J_2^1OwWGoKo~dwINSl zbQKupsFoy`U~H327U7hI{AP!bx+;?GvN3bC#QiF79hKE=;dfIqYD*mvV9WLSh$1Mg zORKPau(e3*r*FKc%Vf+P*EyKGM#?eC!do<32U4U0Ga|DYqSl76e}KKE$w3~d0)oko z%TuR8t1UpOT+kVCom1J9Xt$uHGNanIT%1&AVIxNA%|M;0-C2%qACb=!HvNzKbNiAE z)^jvydxlmRWoL=S10)uib+u15LsVZHXzkPmpo)xLJ(3dor%n$t;Mp<_KHz8TBrWA* z(dN$(^hMa}CgCWAlLW_v6$1GQTY?=Ccj-1IR-Z zA81$P&+;_y@M~Qkd@d}QQdK^YSl=a!rb#13!OEo+Pt}PnYFbX9lLO2wDE|P|G5gd! zd+m!ZFXGF2iS~?K2;Mg4)xF zZp&Sp-k-T&7T3wjQVHM_=|5Wf=jrb(xj5q|?P>o2fBskfOx$7gGE0e*)BV5P@$XUC z-{`mZdQPcst82R#*Kcsr#1uG^LWk-r=$v|;HR+T%N*aFv5Td0F`_ZiyE3>4S82$U# z9eX_z#haxrCms2!a;sK#JJk<8KXbQX`R0&wG2N4kYi5-UnGg(enJG5H=04UJ( zJEBsPAl7S@k7c;z$168?qqQQ*8evQBMWAM=qqcQ5$D^%i=w`h1ar?AGaM)5{in0=> zajW(!>z0xgif_fp3y~RrR9Jp<7_E3QAhMhS0G_%NY{;oG($YYzwKjE7Whp73@ z29~)B0zNAxif%LOBI(DY?7aiJ$EVxXEfui?c*rruJLBeS(Oy_Ak+dS|483abW#B@P zsEQky`&$8()4zjIwQw6GPJKL0X7Q!mV};ZZrPT@Z3nC^R_ouj9j5bx9Qj0V{4J{ng zbsIN;^cAGmOUUO^ntv&w&kqxfyDv=Jy7trYdKKeig3OQ7vYfenA28qLq0b^8Q;gB% zUZVaT%G!wa7_Y1N+WIbEC(m-nt9CA2u;SIYq=6Zu7E5IkhuVC%N|FErBZ}nRmBmUV zs(_-c+(e3nYKT=z%U0K~S`Wl9qJ;t?Dw*SsPqtoy6x?5A7wg`z)b(zZw$tubHttC$ zxq(A?jt)LICQbub@@F_0rO{WMqE83*t;`bY3if)J`!Dqh^$wADM|I81)7>b8&eCL8 z%70#X{{W|*a$>aoj{FW=$2>Cs04VL^jexw+oOL2f1e(ow9N$ZjlP&W&yWmn^25sRU zqMLng<4JXXi=-F?_lo*%B_ZE$wa9hnpV0Lb7$5*h`8DUXMN(@;wh|WVVnODplcY~1V`==4T{CE1 zak&sX)_a|iMKH`!^=5;A)1Tft8B0k4_D7h~haig0;pY7gMZZr>D<%b#7K%M1uPpxn z4evtH2_apSD32q=UgPLhk0Xqle+IqN+QMB*5bC)Y6IiZq8O65|_Y;tvCOKJLppU{W zQk7-1?0u;oSU=u}c;=ew5w>w^S@SZa;LmYFGhmxiHU$y@Lf9`s4Qi+juCr@2; zrl4)gi?)wS?VgM+9^X-0CZmxl$7%Y1kuH2s6SO1Uzvb%fl7BHGnB$LZ3`NTOawcf{ z1F2I(=e=e*k)|=@OG6qAid4hz#hbv-$e! zc0840zeY!K5;UK&%cU;U{4pa6q+UZ8uy)ja4I0})twVSomsH3-p>B&*ND*OkKpu(~}mDP^GD9E)GZ&UnFjw8z!zPpkAWfpupmb!7YNz z)eCotmfTEZVu$Tbalb&h6KS4txdpzXb_@XWgh$PNLmR#-{>EP&{bc?uZ()u0X_4BJ zPEAbHL8la%^QYMZUt`n4>%7VT0O_O)$oFTg`aL^rTEu!qd~3+N$jwgyeTZgo%_@$V z#k(q8pG{v6!B$47&Ado=WrD!(T7L-}$c*QgbpZ>*b@_UO&M1jeu@$8AYVjn5zA3el zwrn=b4z>t9)*mA3&4eArGn=M&B-e4unH-Vqgnp*6l&jNP4h~U2CmyMpwyuRBtPzpL zYIw~(i=`Hwi8{LX?ii>1Wkfx#h}zOpqEjZc99KZuH};`n!~n98u^o*zPepw%R&`Q<5pOeQQBnS$UW)~y^_YC`HsR=Vd7@enZCTnjW94HF$)rrzadx6N`xE8CFQz_7qbHd9nb>6GJ&s zYsQ)v_0E}Y=>^tPwbAWXW63~S__y~VBI4cKSN1%ZC_lXxq@=Vin%Sjvo4#$574e$N zc^LJZEWs<-%C`442fZp!c3R>2GhVpU{{V`mM<=yvyjE|u3$tNOh|V&gvXBoopp3O( zc_G%+OBQyjLz}_KWC~gckIwQUsh9FP^Az@IjsKxk>E+L$p&%qC#GnY8qg>Z zs>$Z!(-_8Ki)~OXKyJ_0g2{rBKK}ra{f*?LXPR4=6&FTnqT;|<2j7^g7u%x6vKxzi z=rEeH6Q+6k6*b!;q$q^bjxJhg7a)OmWLvuq1jf}(Xz}Ik3M-1YZ1oRK3w>Y1=A=se zjlX!Wne!o!26;>T%0`b5^)RUa00vHUu;rEgqJ)-~q4qOdJ|2F}e<;m7eJA~ygz9$w zUBj%X8A8fW#2VUh=G;>T%>~(^ZPEB=i+e&rG6gq;oYjFv#~bQjvAI$mNt2(w56H*a zS;?fI_cTtH)zk_lTvk)aahB+wD_b<}F7Y=F4_7sm&yC|_Tp1JgT796fU`B>4L3QwL}s}!J{&IE5@7j z6Jb#TC`qDr($MSC*Cad=O(F7d`)t3DKe?k;u|ibRNgUQcE2hx%4J2JGNc4^>j=?o+ zMSIIMzQT~PHD)ZGB$-^XrxP>QG~;D_tPlyB)$y}^TwpErbivnFp-2l(2%=$0ikOsY28Q!S;L=9JYmxt~Bfs25GgaAQ?fue1%wfMF3Efin2K)E}>gTi3uJ1&{-lMkP+DN z)Y5y16LL+Vn@_$_WHwbWCY0vHyIF24inFJ#)i6(LjZe zHiB0t6@};FN==L~&H6MQIn^lu)@M9YbTEao^sVxI8lsuS|z z{0qG!)vMBVmu;U}@{5oswKMWQIdU*5#cWl><-RUg+tW8aFH&ay-7Xav2sB-F?Jndc#S+=VlRS#GUN_zz!7%2Q z8I5|Dm!@?-n6}($4>IydDNvqi=L4HxS01<@T3wR^OzNG5o4O^52A1T; z(>(H07quc@aYr#V3FB@w5AIeDeR~nNh{Xpi4lc`<&@FG~a%$xOc_Z>vrHps)UTGpU z+3{&nN~De}(P)cW*fQPYZFUHrXt~F{03}J928pN#8A;vRD>cf))Lm zESzX1OGV3PRN972OjQ$#X!W$rlR~`&Wap6;v*qHU8~JQ~&@~;4OsXfnXL)#S1aY!; zk*4UE-eYOc#br5IshTc6O$|2gg#k(@5u9CwSyX}SXjveLJr)u~RDG5L^?P42vyMd* z$Ddgg=8t0)@hhhV)w`!)m@)OO--G8oaz=NZg3*OI%GrHPs1T%>uc4`_MM%#{T)Kp8 z-3xDGj1=)g<&8Tf2_(9+x8fv3)L;^xicSQ91m=iVPSgloY)D-2YH@!BPAk}Q)gjwS z#EM^&?U-DDX#h=)mR*RIE>6Ih5^do(jz74@Y0Roa_zUd4Qc zsxvOAX!+*?97!1W6{_G%?K9lO>~Zkc__?OElB}TZ=92l$U2?WF@pHH#%d1*j{W|mL z{PxOA$v;C#{B)FgNRLj_*1Y5N=Hkk2$_b%suk;1$ zdRVxyR?R}hi@Qe#2yr=zap5`7g~(mMYt#P#vlsa;GtCar{mX0nm884`K+`;N z(pZCbQKoehND<{;q(U7dw(ubQiu-V2xJTEhGWjjpO8^xvSBhbvBpM#p1258odqo^z) zYfodvZ#;J;&MGXat%+_0GUAcJNs50IpR=1t`i1(kd9F$)K6YGT!iC7}WJN)w)gE@8 zBUI>(a9&#_rxXLtz)-C3KZ2t!@h-tjMB*LRu3Ji^ zCB-Cuwe_wQRZ{Wm`jU`# z2T*orcg<{cn2GL1X|YPt>!VTr&0SIb&DSc@o^%FvCicNU&Ohx)zf^G7D}g8Sf;?X* z>2lIsK04z7twhGj>HZ6wPTEO~Hx!p#PXB!gFktS}Iy#lQbmYz^D zsE~O2)>q2641I@LI2|F`47Tj~Yyrdy$4*xw3sI(K{ZD88$FF~QFhAk0kE{>nRcd${ zf5q|soV}qZFBe(b^fmO(x9Lh$=I$dssW&@`_&LYT)zdW%7gI&!VWp~6k%QmsSw2<= zjoLIETrK3*@rrWe<;ff8sos(0@ZK`(Ll& z{{Z*cHhf=EX!GA&XxH60t)|lXvX!B5l|~dh5nH|^?+HZAc^*5)>~86coy{XWiq7-# z{mhRVe}Tz`N@*0;F}!^j8YCGV>XwV(_73VoPLpt%%C@KVP@=eB@uU9$--51B>^jQ+Jh1vd_4TKuB!ZlIa`?A2|& zr`=^q64Q!FKJcSorLav(DWMeV_Fd_lklWz}S>50I(46>OY#IAzldd2t-p1)8^B|;} z%W+*wa3w#x8V2;k!po{`-U|cxz-Ef)$LjFrzkw3|o@FNfPhaU|TxpECCnyK@uZnU$ z%*``>i|)pmLj8~>J&j+6K-nWqSJaRYmq`BrDgKn>2Iv$i|tIbv>e*bw)Uut(ONUWkOtu_MyoIOe#~Hva$wyST<`G+EhQ9RdP*sFqqt?mrzKyOsV6?0(!cIic*>PW@<;ePU(WmHI;~IkjXjt9B6H78; zaCXOheoD(4e#2xT)NLmuezZGO>@t&70N1*GtLDiG+O+U~YRq|S*e4^3rnFh z1kcj7INxQk43ehei!CwbMTu+w{v!JZ)V{l4y>LBBpxMdKxtCaP5M=*`yrr z7Mtx5{CRCt7EW^W!jFYGAf z?;m>J@G^JAm*5LLDW?8JU0s3_9!g0l=jl&)v!~QsnjL=RR+#x|g8KH7vQ&h<0hh?)o>P;nfZmGu8=_Hy0F?glb z`V{7agV3GX|#_UWiIH_X(X@Vv-Aq8Rnk&{LOu${OLv76Su;G7X(wbpRjpL z{zXfxa|9q5=B>v+$qH*o6?0%*LWxY#u+7zzX-RApG{qrO6OqLk_3W>sL2DLV2?L4? zERl9Q^iHU1;pT06ONBly_Q^XpHE^SimED$x9NHpu7cXTl)^;! zrg++vHVu=ym)a7wf6^e2ninJq_O(ftU0&?SKJiq>G)2?fD>yf$LOH9JnFj5GwF_k} zIQPvNhIC2Ax)*O6J5&m!(>!uLdTPPwSC;n^M741`nv2jv-DSkW`Rzi@SEBqga{a}` zA^-%{O@+sLTPA4)s2pOWC!mDCA$>K_)5#N=#RZ-{qRu7M*Sam`IFv~dip2Ri^9y9CQ|2NiEPyPRrgj&<9r1{{Rw&>=HmU%a5O%c9Pzl9-$-iMtd7${#rBm2IQ7SDMC#2^v{<^?S0IYf zc9WeQ=dH_S4GDkzYgOW49E{_8Bg~T{B+0()C3wIHHN;;+^xnOmpJ6 zqM0WNxg%`o&a-aulqJQ3AXm*ipNn|p=?(Z?%6l7cm}>UisSrZ5NwCUTrA%uyvc}Mh zs9G-7;to?dKGmVYkz_(F*t)X+08jM|#+z`Isau;S3Qu~P?S_5f{{SPHbIS~_Bh}@e zo77rjkfzYH)3ZwHok%DpGg)qS4`aS2U%{Yh_W@}i?^(Rira#3r z&|Q}?1ooh15Twh9REngzZ2fTGnAs6hQm1Eqp&P37kozttY{)&S{{WBA)=7)GSX7bb z{TVT2A6j2(LX8kKC9?OL`JeztU)I@ZF;PFY;P(pre8Gs#Bx0UxMwr zKjFr6F^V2W~(4_wWx5NJcv7ek@50c>j0A&9F-0?qH^ro@Uy;rJq zj=sX1zS1rgZ0I64N99=fQb;4~Uth(MWrCc3NVvGlq=4yIDwr7fskol(r1W;$^9M7< zana=OOf#fiY&%Je@;jPc$;V}B_0t}@cTy>EAf9VG&B3cJgxY#Etq$<|WY$}kh?{op zkNP#-fsN6G^NIin+&DhCKI+YUBI z=~iQvGtDNpCu{Z~pwKUC?eK~kgMD{JFuZKx z<7IJ{-IUPa$fA0-k2iW{lsrNKlloOsRC?N5322(*x<%?PQb|n0hq$WcjyWwdsmrVF z6JOH$fw!7%_S^&!GAlRD#q=d*vwu=HhU-Te)Gc6usTrkN5}Zlmn#~$u?M}<^C=dv2 z@$pJr9z2%MD6DI%^Z;cah<*lPV-&|eOT%QMwvCIVn%QQE918jGk(JGwE;6Jz^`^2k zzYm|k3))+0O^o*PLdKiHPIj^1avp1Kp>jodQshN0%(++8u>bq$W+lSh& zPw-5W#~)0GLDU@3^?N;8gSE>?(%?T6pW3bDWB&jVhFG7u?ZvLH=L%tZzGu?F{(Y`tAEPJwE(| zw{Y69p^^TTnazi8EPsPOl!NU$kP^9;)+uzN{eA{flJ-bW)3$#8;-T+neG?Rk-cChA z{t41sI4+!l`A!r)>PjRWfIV%|*8OXu8wDvSzqcFgUOmXqmVOUv*Z2=8yDS-B+_b-y z_-}e(H`ETU!;6qPpij-zl3L= zr0ff(x>~(S;7u9HhiEbx9md)<+m!wzrET8{B(|aUtV|zHWTW{x7kI2&-Wb%_d@2fD zN{8!BE4~*ICnbMTG}bm#)nu^Ec_M>BI~w~6~u zUG4#(q8l=m(uz=im3}p_e2+#i;=ASoO0a8p`g$KGL(MyBS)1v4fwa0ybBLPMaxnc! zSf>rZ*1AViORb;vscphx|O$>gN|z4Gp1LPHkp_8 zhM0D&1oOr#TjO)>2{}0E#yX9KgslV}$tEjx!kVudcLczYPAVIFCZv)}+a)Vb(jrXusI7p^d-GZ7imhnAKTNtR>JgnWb5=I6p()Cn;uI7`F$L1WeGcLn`dH8PaT9Q+re* zcrjV8D<=${fU@9HB)MsJ%iH|DjRB5IXkC&$A5nLx)Q4Ef^$sb&jf+`OK3ODZZ?QKD zQ19H<*BotI70YsM9RvU*)$u(faP9^{AJT|R@O!rX5Vv-1)MZ48%~>p6<3#&Yv=`HL z#D%3vSkJkv=aJz%x-G|-va$aFr?qhA-%-yskmm8L;JOW2p=p<4NJ-uFtloTd*nTNm zpsFqeM>G?Gb7`t8T>!KgJk{9r$V>PX^@ahH0~F_tKgcuF*!$q+`t83FYlG${Vv>33 zOCR4Koelha)lnB#Tq{rOJ8QB%D>?diuK0O>>A$cqK2@DR$(Q)eVwG!1yKNY85s&Lz zpBtNUK%AY$86EQ*lBU#W-n3X}O)*m@LiFCf-?oyGa0$WC7@(sX@YDnda}HJ9Y^o!D+Hy>!Ml981ZRp46^M z#6As6(emQSE~W?*UWQ(zr-s3whh3wxoDTHciOqPQ@B^0xdJI|I`G^E^D_Mgyb4Rt7 z;hm~41qGy&6=b8JwCw`*Z8f{L6q12LX2svwK5R-xS=1U^x_iom5{^bHtWSMq>{F62 z9;jQmS@!3eItYreMeLAd6aKVrEgqBnfu2cIgnKgJK@N2X&aIwnn@?Iyj86n zzR@F!>{-_v(-pdjjm;=WY*T(5so1xX7j$M?fLm83KQ*hu)T3g|k446q^P5RC#Zf7! zvdI0%<=7&OE{v1+=w8$<&QuZsrdVcGx9|eEPnM#f zGfW`+Xqul*64^LbVD{#rl~F8C%5g|X$NO%;w@3x`DJHfUslj$EYV5zF>lZp}$x>EgX*ZSeQRGF+D`j0J z7MeCblItdJ*h@~hCx|A#W8{2fvB|WCTwZ5Y)^A~*R@tkjONbbZ&>VTo9I1w6ipd*7 zn$m6FC^$^u`%}zHIad9OTspttVd?&$e@b~NTDLN;MAdPW`19=#`F>0AW|kR$1FhAL zozzwZDncD;)WHWerr>jXB{(t1*~*180Pz>X>#m)BclvW>%QYDw0!k}e#pU-@*rPWc z;FkRv%9md_2uA}udvfwY|a zQp}j#9TJs4M_W|90Z{acq@1)!s}+$XbNf|mDzcg5Z`tzEvctduA8PJNDZ~~r=*CSs z;*v6PO0!1GK5Y%Ud;8Em%_q$YVVEY*Gj#5vrKLNM5IL`_b8u4?%G+t0CXIMDqyw0& zzb73qc|N+a`=<2`js(aV#bTFEO)$kw$T{II_I3?Gq63FQ&unIIxdWWQ1XkI~{Rt%nTO~?VL~|7e$i+0u*9h+s9qQOKszfMIf+zQ@8YdYm zq)x+y3lMoVT;piI=rYp0z$e;)lA_kxe$@cmu0NGiL*##OHf4Kf=FZ2#J%}Q`EyNx_ zY|*>uDhktV-B0r%N%yawa})Zri!}Ias%S9jAxT%h4FexRKAIPG_(iS4fXK+EoITDU zxo6a$ptV#wgicL1@_grxG}oZ69Z6a==UgrzPqlpi04`Z(pJqF6LguoPQbss5cNy$m zomw-^b)w^LvU`JCZX2egBIK=70d#fBnAaNxKnIbwC%B{hmNhOr{s4Hgamtar=r5No zQj&PVuby(@QfAMMCnzK@Sk0ENs%gnNZSebF{KJo-$fnt6^?2Ci{#60T?8@R9aYbZ2 z%0Q90drdA$FSVD=xA!4?u6k*%rO};XxkbW2xVBj3w^L0#M?PF0L}&5o{{Scl$Z?k^ z6R&>P_dNdq{i1qteSgqee~b3)5AV$dNzuBU2_Cf|VVi{y{{SSPrG4wb^VV4XHvRhl z0Ppg@>MX~R=fmFiw9hkeugzL*G8G#>ji;4y``3>}DlJ&NTU=y`#SNMkh%dBh(yxO~ zp?in`(tbuR$)ar~vrW)1(y)`dL}N9R=3%BywAPImL%rOTjn$atVkHMohZ`sNpb6%Y z<%KYdFCkE8HA7ZQ*2@hn8m35`WLZHcimpnDCud7cr;chVooEHDTLmRpraWwv%5pEs zn{`f_RFx2#)bKM^0ZuJCF^;O!i(Y2Y2ay%O@!XE_ror+>MO*eMTiyDIULu}bJqO!m z!FG}WBu{For&deinID`_1evZnK+Qjqucdl{+f<7u*XbXW&+SWj{B@cPlqBG(`ZaEo z*GYLTlj&E@Wz;1JbZ47zpJYDjHb}kGFhTUl_^9Q<*$iBJ!o+Nh(qtQTUE4dHPl>Hw8JZ#kvvs zUQ@@CSl7vnXm4!PZPo-!fPVDvp9_S)v7UohX!Lf9*j=&}AILwYe6N(+n>5^L+-$Ga zIs|Vxo%f4Se<}QcJ}?Nxjkec`zc z;(U2~kNXw8Xw%jB=CuGlD;r4_XX%{Z(|FjY&Erct$@vmAtF_%|x{iyqxE9%g&my*P z&hg4N55isJJZpL|m)cVgxXXm3wxXCn1}k3{r4=LvRZ)}lNWu%RAs*yF?-dFCv9roQ zccW40n_ZVottlgFgjQS2Woi^P<4Gx6H|tBazS~W&CNWrPa^#^XPvm%~-5`FdvcqZv z=7r;~&cQRws%Bl(_a)Z~LGN1b1Ujn~H``*P%XODiaMGb@Gc@8UN8)%eKIegC>gc>-v&^ zgvfID1iz53l?3{~&CLhM(RK~{3H1^ZbYkEq(UN_*p?EE>LJj0A!g!a)oiFfRWvM7m z)!i)a_megH7xdnK{8+~Q8N8ppqc}oh;k5yPp_5EcK{{RdR+P*>hlNZwE$kg~; zzf+Er9qt?42&55pvAm;dg^hC0_-n^wO}Lphg}L#h&oB6aZf&}u)bk4m=qu}f9)0+U znI2c$lE0DnrCUp#IG6%=6Z=+k$V$0Gs8hn44s?aC?Oi116*LEt$yiTfU9xQSE`*Sl z5C^cYnsS}Vn%*{|s4n=#fk8#=GJb)#!9lWSip92pa;ioR;-lqPp|WNozK8mL6^_hL zn3wga%dc*Hm$#(x6|KdOv}u64(nf>O`p{5EtB4hx^1NDXXT;0Z(Xr_lX>|!R$oH&2 zBOg|2IPd9bu`G#p(pnF*awrw3YDjt8|p;AiV3E#zXe3+p{KY&x}s;LUvp#%EGV zF+8K!MmyBZ7G72%D#*=lI5O;jaw>j>kWZ>a&uVL4it(>@NeNe^2#Srhv$Bk5sy{)1 zk^~NGg>Di{t3;`UfCAur)LGcBl#@Q4q(VW1{cFhUajIV=jI;_tBM}i$l(tF=l5CMp zh}v-#1j|0v?Bt>&us;EwJ?lT@Fs!k*87+kFi*L6PAkrveag`uk_@gu?YwW3z zV=4ZXqw(0=nruaz8-v)8`gcA`L4tj&TNn1BeQwUu#^mlG9@W(}y%SXS$Zi-ZPcb#v z=0_@(A%9d-+DU~#oDoK2%%t>2P?uj|JAGMgT4C_vslozM5ze@S*&j_j?)Q*`m`{n_E9rSULcL%lNrT@t zn&xqkMmhYN28*f%ZAo2cIb3=V!FyoxqxP!{h>i!^tWr%C^l?-Z)0TIn{NjYnv`HrRY#kAFl_3E~uoa2&nD)ke zStRypmVhZEJ*z2`On(^KvPW8!j^p}NV=a=cXkOPXw>G5&_NIJU)7TFt4XZ{^ud-Xb zIK$g-X`S;!bP4 zl}Skv!7sVOUnQ+cr6IJf0O01S!7Fr6m5u6%EZ-`W6=&y)vn(rU4h^S8m7U3gGNC4_ zS}kv1+@W;FOdiU-m4HS*O%pG@7AYi? zNGQURR0${Agp$#E`(@ZYWPz|14D*^@mFzAJP(_3%%t?b3EZ&)9s;wF)O1c_S4Et7R z$Vae8A12L9NW2B4nV!{=RyJ>8w zp>mZ2krlJYB`uluwYTiMW7OKEgIij-Py>X`QI~^@EBlddJed?4PtkJY#0^IJ)LXhq zP!MW}czjr=*%N%sxg*xV#r^0inJP5P66=vsJbsF5DUu+X)#KVlsU;sr)F;z5*|Jf0 z8)fY~Qn=Ed4y9*oV3cc3osz z)vUb9d5{P^)m(hF_Q;l8eU+eXtD;Lz91q%=^jTKk!J|)1V$ikAofY)*win2pQ1N*< zlkXq-eoL|BpBhQ8L-UR4+Wmp_q1N0?C=oTK;Pcedlt)pNIS}5@KX{+vjmJ;Ay;DkQ zOSDSWmAu0i?;h6z&!IrMt2ZtL8e}}kp^a{ zp2)O=nr+_21eH?k`0XBqlpP*j&~JQ~fKlX(d{@_bc)KFJ(fh2@v`ef5Jmc+IPF65U z#l62{#*cPVv@6@#)_;?Z(?wBIjFV{8x^GbhDFDr6dDtk?aWapVFYiE;&1bU0nDP?P zO_hTK`p}X^>6Y6hMN-R=`r)wSN9kUKoLN6;&-%kk4>GZ{-|t#a8_4S`^U*tb^@D zcC*zRKOlO5_U~SPf+E!<7_cOy1s*6ItK_yVu-%Xar-c6iC{Uns`$V!O)v^f%&}M3X zxg% z{{H}a5^AZ0!)l2d^@7O)N2w;EFSlnF)fwKaZKd?jSiSxFz@R0? zwmvg;^d?uvqB&lR5J zW1yUJv>a*8+;VAjku=$9mEtO?B2o5RZBfChB#Tp|N(_joQPk|KdeB-9GHU!XrbbH8 zk<>OpNm$!6Pq=w%fb$s-SZP>NiYB(+Gm-EME&DPZR@B?wsWAaYMmepn44vRoq4zY% z5~H>OCMwz>~}m8$exX~iK)P$Vir5Net1jN{o;G+vk0SNt`koym#% z)@z-MtgRfkO(Sa1wUl01B?=kZC`@@{EinE*ZFOZOX~b%tdQx-y(!VU!Vwx?-j@uZ82)2?)T-2?%D+#8UGEyS;^e$YnyIocwV zjo9Vj$5Wn~>uXk?a3bGOA(eb9wIlsa!2bXpz>{9%v)oM5<8os!^1U5!T7U7qhK%NC+Wj^t2VxdS4)eiXu#{H&_;77GEPE)NJ zF0k*LazvApTP`$uz*MvhT0(|L+Kf(%RX=AsJ^J+9-zjtCxOw(I^(^?7Y3v^_~LwiVJS{&oB%{|s5t5$COK1nnSi-Uh_o$}* zqDd>JKoI+GDGDB>^YT6F#^WVqDoN0p*7qjgRnu-zN1BH*JQ3ULqVF zTO>~Ft>2)c_-Q4QU%?JTwIA*m(~k)QAwPO^q ze@2O7i~6SNqa^+v6YXC=uut>G|-cg4zAIGb#|VmrNjXXL6nnUNb%XyrYz2!*W2tsP+3;O zAj}b3B~()uP#&wxfiOf2~PL z66)Tg=)I*W>sLVwP$2d^8ir^oqqy6~YW*v(DaO*x(#+x%O=dZ`lyo=aa&^{2vrcYq zLC0*;MFgZ7Drg(2HRh#3NsvV~;>)X44VMy{ri9DQA#J)=*gJV3cBiX7#6_Qs@jZG! zH(~+@r!*FBT3@xChAUeme#D+riWPF3E?D+1YWhiWDul=MrW|ffKV&D5v(Sfl!;D-l zvmy^QqQx~Rri!B{DLAl}hpRhk@EeE#_Mtg^b&@1pWS+EZ9WT^#uqj`8tam?!TS&4K zN>sP^z(@r!t|<@c`Mg}02?qIScEi~VmaL6up`Bqva@tIf zsI3&G^m2CmKlcISKdFwtgB9v6I(H}}PsM9ES*nn}aS-(@B)ZzrpmT|iD@Vu4)=8je z1tmhl8S-56)FgsOG}cn=tOu%wpRn$l$y6(kieH{d9*jnvDaEp`aY^|JNfZ67cG7PO zc0t7<mCntJ06lENL_+b#F`} z@s%wJ^$%(uQEO-iJ_q}el8cBDC*rX=)i#YT7uhN= zsUjkA6gmh%eOb9>Sofp2^81iBc>T0xT~lrYg-OP1U%;NI&*zF>iMn@djTFe4sB=?J z$?^A~(O?XBGzW0rzk`C%h$3oTi6x@DtsV~@s@TZoHV?gRK3Ne&;*+weq`e8cvw}&O zj7-zcJZujmUjSDh5J{LHy&o7JQ>1W}fS^)qtps9{Y~|I3f(C!k*J8Sbswp{aw+!+- z)$1ZeCl@qu-LjIQJk3qyR0o$HwiIDIK+nYqErH2(c3N!4+-9kfODqG5shpB;L~k9f zoXpgtwo>0+vWRme9t{xUOS7vwuy8Yef=(2y*Rw~qH$+mYMnU`b66*>~6DgSoG`9?z zl4DGeQijEQcl@Q3*(Zu`ICes9uek-9d(CVwx3vQ(^>lShy6k*;0b)W=#da=>RXw0R z`x}#inmZKe>X!5`UNWF(gD`29DJDxU*Rsuu%E~u;)mc?pI7!YUHL1YQ+LdHO3~0R5 zsRSRNdLB`LcG(U3o8^A0ViTT&K+K?k*MVU2Lqb-d$LJAA6I$`N=f~yE~uAg$@HCl?I!3gF00EYB55Z(fgH<7siwA#cc%KL z+f=qn7O<%u>kH2D^1&w33ghy7F0wxA)~jV-inc#7+P%ife`Jnk#^WyWEa@7HS7hu zb+=OrNzH1wT{e^+NhN}&>2t2triYfWmYTX@u$aq zqv*B+qP$&SlH&HW9UDU4Hc+hjB_?0t{8$ zX*tPLJ(5W#DRySl4#O=BcFv)|3HGIV zU)^D`l9rfC%%m(zgv|w?c1BO~9c;=$rH|PQvI~TIrYgw26ir#%auNWpGA&wEblb{9 z&=h&7$|=O6UhMN*ZFx@snFIH)syTLvepo5Sknf;gD5X5e08G|@nTnVM)4Cq?yQ8#8 z?^*2d*evcS(7IbwRHX#)d;3;z$Y9fB4i;xE8jg{5xd}2WBgw~1((&h{h89;Nnpq?s zotK(i(DL?O63EJP-lOl)ZJ-XlW)|9nVA0%6on%p-DoDaSNzjQ(oI6CjL@PCF+80Uv+BQyrUzyW|xXKLH zAIwI%SNR|Cn|OvcSLQV%IHht`Ajrzq1A2)c{5eY|VKi3_{{U8zUUl{qIsv$xcQj9! zk!O!p8#TLde1wnrYa1;|(EdJv`l3u4GmgOWng0M)x8=GPt`q^9(fIjxjR^UPMnWCx zRNefa=0t<^HKWAS$3j_Jm9u5&i}3SS&IA4~hvysjRylKxFMj>&Ww>#JF@vDJis z!rUY%{{YIYAL~N+nOvuj{{V6rbK!7P{1xo3RVf1{vxENtzy0x2%a2aM@npIQIHCxB zt`Dg(LPzkzXa4}X0lL$tnd&_f=S_kC01(+zMDm9QK_7ZQ#&c!DvXwkGQxs29hm5!NiH$!c!o01IY=91)&!XNNn zZzGOqc@q9hO&A%fS}jGC8LF9Pz7NhMDKJHOI%gQUtXghLy*$%SHcAJaY|MJEObSZj zHLUUZ>43>~v|@c#rxwbN(n>NbedF`?R1Y;#wd_`J)A^*&G~Msf7{#@0orht<0i1XC zs^qn26xw}JZM=X&xT<8&RjVBOUC^D0_oO`d`zmrt=+ydp?At9nmFYE@oZKbZ7Q%gJ zW{0F(H+n$>=7jQ3>fvm6$7>}qu}=R0bZEDiO2B1>5%r8#8ZdmGL^1wY(o*_3r7z&} z=DBumZ`M_n5>MRM*#4i=ih}f&7%61AFky8_xf%R~9&4&Spj714k52Rr$hzsvS3S@L ze51?5>GGtFUj|B8lN;G;Kqs)`k;&|76sY6?rK=(U?_KySuFZ;FLDE`n<+bLfra*DD z6>b#!$MbWkM-+Vv^KqjjYFlF}A6MmFad z$)?yRWpmO33zb@4Gj@d#rX53r>}dX= zKy8qbY@ilE$qEtA)|>D%C6(iUBff4)WyOy?t6DO?l(8kmlAdecM=d4`f;B5Q9*?u~ z!)lHqzJ27fU5v0t?y>&lq+hd`1PabUUM4VY3VnLvX5rKW$dR9lbK)b~DS&fzBPqI3 zTg3D4TL>zMzpF$G56K>2rv(%q>Ahom8A6r(L3%5@+TnG+^#gZ*&HMVgEVrhMO}So@!C*N{{W6w z58AEauj%E#!OYV8qhFDV(Y1xj5J?JD$F$PSjaI|4r+NzNp-$*m4R#`bY7>s@kr1rA z!ps}SeK9(PgI8rS=32IK-_i&ASJQkKBk6KF{{Uk@$z7?QWq#YrbfrL@ih_IMzO1L- z2O$*V(>0F_xDC%Kh^!}_*1_?|tmqZhwuOuL(tRR((Vjaed}tGw8)k?7o-g(;>d{L4 ztB?g|zggk68UFwUo&ru8Wd{CFM3M?ddsocYwrs4acHZQlnzjy^39CG{a?mo zCA|G+zPtKPYFs-0Oh1*3mm&TO{SfIoIur9T_Ne(RU8LAw5_bfdsB~j#b{Hr=DpJq4|$)|-`12YUIxm*Vwo(r~jirfd3Dz*|E+)+><;W{V817cQC$K@l@l zW0f*0#!UN@oVNemjuj(4&)&;PdBQXsTl2O9;W4ucdgNS7@bTX{vophgY&y zt;t$2mFGRHX~xU-A+U898E71(dZ3B<0*XqHPImNm+!z8rYAmf&^h$;blpuBmyUq z6>nsTD=jx>q6DOXKYHc6AlvxSYSz?m3C}*&WR)vrDbvvFquUfPm+$BoPEnTZcV53vyC=D5BjCsNfniFD=1R1<4M? zFKIBPS{3Oz98nm#O*7w3QJHn7kS$bP zN=WCmYdmKo>MCHlQpWTrAxc8TDC63mNhXNSJ)^IIuc!5Q8(LH5nFf>dILb=s9#NI) znnszdZ)i&M9qTQhjZC&Ov=thGQa}X#C?|%AH?1F=y&+S;KQ-xM(N2)%&^m%qt=sN6 zQh@#GHXxZ(^^C=8xcM83V0|m(Tf5W$0OCV|G8B7LOnI&}3zr&F^cT}@2}}@wN((+hDm}fR z<-M?h2_`#I`Q#?zn)Dmfl(Y~gC=ANTsI)a{H)RVFvVOFmk&e-HB;x&#+9l|902K%| zoaJKb?017NWQGsJrD>2UbDc278w6^4T%@TZ=8eI~_+>e8rh%5~EvT~R*w(+rc?+y_ zV)}U97g|srl@ak;R@{}BMoNyZEyK-_Mh#TaDMrly0IWJ-D|OAfJwVB-B_5x00?CQR z+B0jrH8kM_WhXU$Je`m~T6!uuZ@=?*tCZ-CcGCtH{HKayK4`n_fhF#TPKdbJ>PGJL zhswgyeh1a;+B8?fm`I+&u)L^LjSn7I5V>$|GH4|b$gq9y@erXhB8kWL?5`%!gVcIq zcqpWO>qo-R)Je$4*)|H%*jsn4EZ3}Y!y8)^4RUiTfV@Ie_7|PxJ zA5i?jRwLWBdB7$!BtR-y7&FC1xDF5rxNPSDJ-kAbi!akUn*y zR>0fa6$xF7vOzPnNH`cAR~Q4k(KtT9)pUApot!>MZa|z(b{^=eZ&yIYD5ZPM2sB#s zMlJlGol=sdtr3GW-n|r>rh6l4Xl8BHy>5j^DT-4l^^-$P67P))nu-^1da;2gaHlw0 zmNYEnL8&y0cDD+Ulfm|?azO)6x@iOsa6y77V&$h#(N5u`kN_rX=t!JnUVwM@xhg5= zur$XGLUp}^tyEch3;<7hCnD_JeMkPF9=r%jj8@sM%$p``-u<0gfA zP(Ug(OF4M#XB_5>I|>vb!gB9kYXSsTh)d>R#;P zzkehvxL!z9{8SuoOp?dD2=xB|Q{3ryXa#E7IryOYoCs%w*1)ntaGj%R&~^58dqj=< zq(Q7FFNZEP!|`P9sggRv?QR9bDv0bm)MGyJ>d4M79J?WtNxN$Cm_M2zq}5JIKAAlX zu*x}N6|lUz(5^obZc3Ra*57ET!zB2V?+0m>^_LmZ$R?VwRiG?Kp0Ig`a zeD#y=U-B5kEIBczdDq162_Mn*1#A62$x|gny3ik&IG`nNk7pxp{ zEF=_=d(AA(71+NFt|%4M*GfYU2|tkWMsP9QkqqyvGjVaU!Qv@g^rccHIG zxeg&Y{V7K#9azr{yG2mZWa@w$RX*PoqbdmXu+56j@#^A$%8yoq>^tb^G`dmQU zaEY%)6l89wlHBePClwj0IUA$mkbKDox}LUIDBGh4zS9)N%G+=hsVa!Cqhib6HiA?X zy@d2MEu{fC_L>uzv{RP{U5@%|szCu$S?uvo(7P;JdmFS%R(~vMj-w!hBzwgTBwZF-ZBintdS$8E9qS?1 zh>D&$b&=Ms8J}Bd;pP`9!L3(|6YW4|A~bcS0a zB}gV9#VX72&}Kc_Dr<=@>CT{bn!Abig z`7`roh2hosHVmOh)Wf9)vtDNp^&4L(bK|mUCTU$oZmmP5Z(0CvOC`kpQ<}_hB(ZYh z{{WLooqbFUTd}!F3|)l+&D$tg{{WQ6e?w0B*c2ThPA1~_>4)tWml|EN%%~mc{{W}j zlVnXbBr$_cIJ2)UK^rDiGMT7$O`dUSQ!}2SZqK8-*`0R&*Ustwq-9!Ow$c2mZNapY z^O+wazKi-t$@Y)Xo7{bWZ~i@*?p!~?@>XU0Wu|!3#h(wZ{50#`SEJn}+k0nx>j(Q> zS+CT~fcKQZ`h#C;<7bZ}63O}Z{mQaI#$99m#Rwq8l7FQXtKf?5dOK-K2N|DpRn1yB zU$J>ix(MuX^r3RaNfk>DwOk z=eM9q%vO6mDTPJa3pAte5kW~EjkH=q{UbF?TP=*VS#4PFRY?~oqG6GmuhTv3p{Ozx zg=3m045*CIhtzffK|^h5_*too^2cT~)>>dfl&zh!irsj=Mb^ROm&umiGNxZrVgNi= zz7kSJDNE5@I-;owAp44y1Is17Etgnuk+od+swR>r7TTfHrR3~CKcyn_1x-^m4KMhX z;E|N%R!fno6N^$!G2^1Oe=g)O@`es1(77Sn4kI21Bc!^qqr~k^7CjoUg+i{B5I&rm zQQ`Oweoiy^j>g_gkfFx@=b3IC^Db7cq=0ZwHS|{Rf0GqSx1ym@TDM0vI;2Ij(q0eT z3$B@Ap_1M!<-e&R^!ZYkVWs7hT|#dZ85Fx9e#tF<}}@g@SB zDg9~x0ECZh(*6-vMg2Q}CIhJ2s@>(bdmL8F6uTooB-ENty!X` z)Bxm7Hsi{f3ENE}I`k{nn4V-)yk7tlU6V(t{3z89zu_wgCvwEjau!^;)f;UifpU=yy6>X}E2o zgp?cz$RoX6qtiObnWDwbkC5R@1fZ@zgB$5RG^XQcmjw#iexj-JS-#PBFW}kwcGt;i z046b5K5kCUjW9-onzHs>Te>hoNT4{&v}B9q(w&NaCoDGeYySW{Q#9kit4)3wH#H`c zGQzFoneUp{)c~)#ACyNkUPoGABnkysjMa(J&+c;Fs@h+e$thA!~iMVA~>mjpu5%o?gHm+)BK zvpw-4BwX3A{L2Ax-{!Qw5&g45UnZ_m87@@2ewKMtl-nzg_@!`4e6+ui$y|8){1~@N z^(yooQ12w#Tq+iy^8D8GpTS(rKmPJEynav7$^0`%)t+hl%^l{H6osv15%d+8!H!tr zmJ(Y@4yPq4#)m64D%ogt94m0h#}tn$Q%w!ATpwg#eLilNa@qd?@np>n2h%KH@)0k) z43jcmu(14hOWLTWcCb=D$~Cp|`JOIQu@+b-jWf$#L11mQCz3}h-CtngX8M>FehM+| zHa~c6xhiM_99CP+?#eBxBF~8SUPaoSN^qeuRd`&zp+y|n^|pz;3%w0>6RZzT^vMSm z57n5vaa6wm-X|=7#Z*sIAwf(bSdx)nBK0PX*TOkhsWINXah_-X(01E3_M8G`25aiy zqo;gkzmpl}S6uD?00nM>Pnn}6q;{HPIc*~74=RIxY0+? z=O6uBk~5C1wRY0ouO$+dd<*Wk=~lzaxDNjO9Q6OPs6Qx zHm7kBSr0YD_QrfZMY~6!`fpGUw3E7VHS=C>9<7?bHcLZl51PsSW;nVGCiy4ydFoUy#Y=Z zwd_jr%2q<~M>wawt!S<*=0t!50fQ5dn&q6ASnM&T>E2-qB0$NYGv=j4;|pQdtk9I; zQu$C-EgjdSa&+*I<@(jw=Wk>ly_2(S5{OnK z9`sCAl*(G7&6S!|;7}ZzBPB)v>uhqFp#R%eu#S7FeStq1Mx<+%d0IcH9bQ>1*j zaZMzo%zOJ+pp=<(GSLm4>O9Tew0D!L2`tjwbjX?OOS`eC^imYrlBR(% z^sFb6Esm&4h%d&b}JdDEt^9MihZ%XE_qaY>K8Yg`syJS1cBHw^NMChPXU53D#; zAY3FYRUSS)V&VS)wT5#2seVkuTVW-_cK5A67Fq&y_Q2nS4`XR0WKrK!sYY1d!#Yih zl#Gn_pm{lVdm4Vj39=}Opk7-oX)k2RV4#HzMOP`=3BkRW7`XD5ApPoz!qGyjp~I&& zDN;uINzK7lGUDW?Mv10fCDZ^j|FChzo>`ghF7KwffN%dsbBbA3^>=U5bxg|3+2h-SJf62mK-mRqbQgQ06?`zRl zQPV=x`37p-Iq8Gs#b{c;u@>^Qr;O8FIeY1VXI&MdoxSoL1v`YMubw8hdlp3{{E{x= z3KP023Jo&;$@>Srb+$zDM8g>gN%}w?O7Lb?OmJcgBE#+eI$B&$eLUd?kv7`Vcxq}f>NGpSM_Xx|Cxx4xU@ksu z59j{b(BH)-_Kk6bdI5^YN?SCYPtGI*isE*NNmrr=z}kLlaeFFjK)2GB1xiOWWNaPi z%REa%4cje2Fl6ys{{RN$=8WH!l8P~#k5daLkBZ$x_h?baU9GkuY5_v|+?kwawHQ^w z6X?~S5U5B$9`!dJS!{O_GU9)nk~>#AwX(G;)QBE<56j-A)!EmPB|zt2ExMJUlNtD{ zp$k;OpYE}@rn=oW3vFA}kUug_De^ulIn~6vd19A%n(l?vHrlnYAz+mW=CJ&}9Qg91 zu*jyUIc&efxEw(s{{UKFHQiG#gt|LJJ)P@!jf9`i86NaE)p*@x+8Dzs%^E)2o4qRF zU0IS_pW-9jRk56~KJj4k#XK_Y0Q#P?*6lZd4&e$x?N9i8=*?R9_zcIEIpb0?Zn@}m zSS@$@YjBQMg!cMV9@qCES!4Q7UW|9EflZsiN3?w@w~pM%z$5}InlR;%;TxCx;$F0P1fO2QWHkV))C4>=Nwadu4Ixhs;Iu2a#@jlG%o zi5)bpCt7hyZ_we9j8@-)$n69%$&cyH#8O6B8NutnVVz z0L_g_SZ38_m865kFPiMOE6SW5ng>bha8e2QHJkDnJ+S@`d(o(AS3zy0f(>M|!KP|3 z%}ECtS9)JG7MX1d5(qU*(QH{_H;AaWM8&S6)5Fau5!ll{9%mT?@-g;DpZrMC3nf=b zK?*_6J6F;?Cn-zqW?P$y#^i)cON^8r)u71=*ts?6F49AZ1}G^yWT=5?Rlf2~QkUa(X2RHuehlEWxVQ3Alt_N+GAi)X60#*&6-TtXdwIRCP%0cyGM{lcFe_34yKvuJ5+q=rpC!5 zzZKso-G%WYX$+82S$LYMyE&D{F$4`FvKB{{TR~47#?B*Gmb!(~^am4mGs> z#8=Pq{{T-l{u#5x`{UW3=_=W3tvNvNwSCkiANfv4+Ytzi91R=+$iRqw875G27mwCr6a7 zCAR$}2;=vm<+2xUhYpv%P=HL3X(vAt_E#4D8plswNlYAYO=Eeu^jl_)q(2~MwPraG z_7RP{7}!}L7@4JWRLi5H(`ui+QzA+3iQ7?}nyN^(GSg;z)lw#oUPk1Z6E)aMndXI! za?B|Tgwt*=T41?jXv#XnOiIwRx9eLU8_1>skt;D?ptABEQj#zZYkR}X*%YTufYBK{ z4t{9&WGyuGSYbsI>CIO)XB6oUy(XZovCPsBBC5)6*{JD>P`4y<1!Qyn;%k16(|+xX z>APk@PHJ(7Z6mJI?v}!yAoWSrG(9=C)(A^wYLme<%YnmOWb%GXIXt(T5s8#}nOevu zm{+7M?$fdaxjBgMRyh0+bJe4G@FMw6Sv_t{kgECT>dZ+^OwjmgxklNr93YY_5WSiy zJrKzj$|QbcR(p|B)Ji=WlgMZI z3wWL!vWV}cTlsCIPj70-@+WLR68xWa#|UIB3E2ntu5lyxSLBvQ)<{tCUgRm8Cqcn( zCZ2c*{nCgxDcnrKCP(J)TE+yI;hhpr2+wG!rL(Pe_IyARF*VtGJL}Lvn{uZ27@wLJ zQ>Is2wnCRzrd|tymYu_i{{Y{5A}{L0qXx|mud*}_nb!&-3RopSl=f0xdyzw#Qa?tJ0olj}g-+4mmQpCmfI-}4*d$=P-J2r&Nu zo_CM&6NL&MQ0uRNh|9bFM4rD;RsE6|`BvZ`Pl|ov)nl7q0W4AGS+_!M4 zkB~-3?Ml3d8ZyT$koLwrERvkoIeZ&CNm^P-A_!bT`d7~+s!bZWs*cOekgFS(#z|wv_;2DTBKxzx}G?Nn$_f=)6EHfP^qQ#(dG{kG}CLUEnyM4L=0Ee zJPvi24^TL|w1WN}${c8u98%vjw94fcni@Pzu=6aDaFP6={?wzv<*be@k2V(s#J>yf zg^yXV36C;FeAC}QkLvIxLVhDyxiNmM_2q)YwhgcTTKKMI*DFT)JBn=R7{REWPiLOL zv{NBEg`ihZ<~doL9^|uN$jo zn}wFO_%$6h@U#r}td@9FAL4zHCFQtU57MKGRLM>{5PGjl4Q$q^R>pVRltIO4(mvR1Q1SOlhiMl6``DeXuT}G2Xq%l|+xPv}$F5gaQ+a zLCBA2g-21bhfcTiS`aH6%AZ_~7sYl~MX71!EvUy8>>0O5X~adK1E@G604RE3CvJn9E$L}+qH<|}D-x2>E00<4Hj+*Cs-N{pf7?dqty|+k~y2!su;Htxuv^Kr*7poY%)Zzid2@r2ZY7zBJVEU+`fa zM6sjwxpZI$g8inqd=KmJm-aGTnSCxzh5SvpZsEHt_J=6iPw!T7@$}Cq{#Ax$nw~5C z8GfLA{*)%Beu8%f(#zww)`$qS{?>r7Ix%THi!XHG@iDs4%b9qW>U zdSw}4z3~0T;8>v&pu=S9d(&}CS8iq)Hq@GQx7*>Qh$dD#E zrIBtj3e$+UuG@sLvIk>LxRbdde<~E2k*io$mZsttfxC*?t}@GsG$zNJq_!DGrWT#s zrbN&W1q?g(*;elB(p4wkuE!0Y?Ow(GO6aJZ(<~V26wUT}6g4MHj%_$SsoogU0Lc5v zrdA3A)jt(!J5gz~ph8bLu058*q8ZZ2Kn5m($b3YY*Si2^hNc%;BuJHzClgR=$|XwlNENtdCZkkA zyU|MF2XrQC_%gbBq9)|ZHstYBm*ksG=(VLjS-sdyZxNcSkskQ$_8gy2G6-s{2kn;= z?kH|F`biCPN9sUVLR5*wkYZ`Hor~2tlxQT`3m%_t)GV}hHSIDN z+wMfjslk^*KwU=Ms1p;9(vQP3Ez__|Yg22EM-*(5k~1<%It-3Qff$x+6CO48ZrQ_`!X*S+)!y@ zG4oqb0TtO9Z!stEWDgVM6r6)wXfM29#8#SOE~r1_U0gZB!H2K zsae+-kt4dIhP zP@iF=PP^LRDO3^Ol;+21Ck9s+Lp`g4=@2lX&&@8DNn`tEv^9j3^gvj;v2j;6vJWLb z^lmQcERY1tiQ;{rM}2tCqi?Xf7vKj8Be{{VNgQO>d|`7oap`f1O@zj0#OBb}qM z_^o%3lvLE0pbkTQTCEs*!jRz$!h!C4)}>Qg1;(vgc3rY@NiaZ?c=w_5#?HmbM`I<0 z+lWZmPu`X0#+%vL&B0tkh`xJhl@GC?-YAy5lIu*rYkaNA3Nti5Oi1#Rx?|3Szcr-o zJ*z*Un&W!WmzJuI)VrXB56#JtC5T3 zH=y4Zp92C;MK0yy?GStt`f{^b>C5o6Aa1O8Hw`mQ#mi%bv%zWRk>rgHqbu2cr4MY1 z9!S0=*3RKoKU*zMiu#4Pb)$~eJTvPfvR#pr_<^B|i+4`R3I?`5AD7ZdMb5(9T^@M5 zX?lL9<*JMTdHAoUw^_}zIy$5*r zV|C!$aFxyoq`0>l51m>+T##EJh}@VJ=zAri&qz1669WdT@-E$nabCyv#5O*aoPW4z zqo7u%JtkFtu7Vp{f?XFlO{6>@q)+AGoERx8Z7iEpYNXTxKR<*WqG7W5Ts!5rA zjkd|UHsrB-(`r@-Q%C(Ozb6jxZGUoHS5l^L-6eD8*fth&oLA1gggWJH+Hf*<#*-2{ zjSlHOQK~7iw`+}Fqz*QyLcgVGxRuD_K}-2x_!RRyVa(bK**w#)G#W77zzad_Xa4x5 z*&`^$-?UwhNy&d9yJe-P4XME+5_zC9Cf9KIQhix622_)i{Iv`DMC;(r`ki0+6Rj2|e$?a`_Z30Y5x<$Y;m+aj2AditdPtv~C#Ll@G)USU({r*bw#X?`h^dliLFrEi$ zz3isGQ6Le?GdZf;E3Uu0*keJsQx^ae-xLor9pXj}!J4N`-jyjnzH1@Q#YM4p*{A4N zB&9N``K*^N9?NmbtqwMe3P^)U@~R5_7m`fS?GvJ8pK60FEi|s;sgfqPPq%Vp3a`^8 zK&?vLEd<3Gf^^E~9U0$K>A`4UrnKA~)X=v)SF~b%U!;Jwke(}j<9QlDjw(xHBA8MX zp|o>aF7|mRR=ppRNR+F$0=&pZZCa4y(Xw4Y2h%yEUQbDtb$#pL*R-ZTfI>vb?O3iv z{^I<2-@$gzMjC>=y|PJ)rhJ!+VO(r0BNTeHA(xkGg?d{hBkfw;bG$HLkxp1B&96e5 z&crAMNIccC_pn;(noh`4fiVRC0If~P=T%0x;BEKe^|x)-pb(@;1oy0G>byPp>PzxG z@e=8ho6)`%%Tw6qzH?P0O($zd56EE%;FC2xYUDz9)h0!)1YBqc?qtJT_tg|GU|IFX>wEn30^_19~t}$vVD>jZbX79 zjxr6ufn!y-B}GLs^G&$()dEko*`t4FW?!@FryWwEyQcO>yi$+U_*XZE;JyZ)BNU;V z>U=#79w^u<(_V2~V}GlTYd7HXKcUt8Kz>gf$H|hRV?exKpRC$mp+pAVO#LRcQK>{< z7U4BD@NC^rr?+u&WvetLFE#>?zqMujvv8F&Pnma=axav1YJl5hk=nBJcFQ5H6g45| z+Faz}1kpG?$;6IVdo#ZhuLIg zz18IV{+Qml_BJmkbi0yoge)?y8EK;G~9DVo|=DVp=fTKNb`gj5ICRn z3i;-( z(<_{IX#Hzwo1UF3+9V^I%J{s!IVAZ}ygM|UC9KcuvxbGE)A&W}vY-*Mk;X_nW8VyHyg-Izc2jzl8KDd*}Oc96fv%T1dvNIHdTC22pcVZ4-D#Y1i*yta*tPG08HX0aL7 zHjQ2xX&2YPnjSvF7`fGs1ZmEh7)hpnIyaRI`L3}xd4E}db@j^RPU0);TxixfqXULX zkI^kueZkiR~TWQSVzJ1EYQZ*PS zp^5{I(z~V|`?LVotb*H6=6)%c8!uJ|o(4D9dIy-=)De*}irjdfT{I%(DGoJ;)T>9->g`pw5oZ z@dB0DO%0veJrCqN=0*kqr5TmPE(32(v>a>-!1))}Y$pn~8NSj&+Ksa`yB8vuR!mFa z%=+g;gs22YJ*!vZd3zUTT^@uzH}QIX!Sc$Yaw|ojrg-eP1fH1rq-$;voyx55BZ|HT zSl?l$(^d*bPi#_*yn113Hi)$+o4I93Q3R1w!xxTLiZbA{5AhpIDOr1LZ9K(q{4XNX zh>t!u7qdBysy*}GwHIiLUnsF`@|#%NNUE|$G*y-^v>&v*!eqe|yCyAz$yV4^o5DuY zdG?^EkML8H-ix;PIR}lkMB$(l8kd-ApKi|=<>T!t?^kqV{u|n zi?(aD>MuPa0>9p$ew@g%ae9gTv>bCjq172?U>4k*rp z!AnzQ=aEeMQm|-BrPQ#)V5ls2HC*4oY%049mIz5eS8+=7J)LP?pqgWEG$UIjcj&Kj zxJ($UAgz&dtucF6Q7tHrX`dNw6ir=$^sQMgVQ%&5EMQ#%Z-f!wzn@22T~AlBtYf z?N}dN8?Baofup#(kT)l4&pmZnTRO9<+&~8v^sgUM!jYHApVe)>5@|ZYS_4aR2;!s2 z<5RR5gEgvQQ+wv5B*uNHPo>q^L!Iaof09B$kw#(kLQ4G$myI3!qxBTi6qQgji|u7# z-f_g$&7G7j>(SbTCy0ZJjh8(nU$A%u?H|1jnm;A@vZm<_R<8|$DP~CQV~TgP_14vb zM>XtvWz$LQ6s2rg?M5x3c1KN-mkG~se_E9Q<=)ZtwJB%sTxx+FTYD}t%8F!+{{Tv& zQbg7(+9SDb#K9tGgY8pSd^cWzW6Tmko@vCfIpf4E+|XKR=^_okTTXo`2M zK3gcIV4rxeO<6Rn`v>e^34^;7w=6<&r4?<5?e1kT2tPEsc=usyOuEbC%|b!$JJl18 znaRskk4gAifHdaw$QAO>KK}r!%_oXg14mMzMP?Lj*yeH~P~1LhYfD9MYRDZb+IXod zvbSK{oTX-HxC65s@loWZ3&`gcxBWj2qbueb?M;~t)5J7n$F^&2jw#3!hV<-6)W}uS zijmD~FzN{exZ7Z--vD5bYAzp=seTYO%aT1RP#~H4t6Wps2mPOHjzfu@V>4X!?5avD zaV3Ni1oAsnH|*rPCALb_M8~E_xjpK)B2oCHTWOLADFi|7RLWQEw;$a90I<)~n)CW| zscmW{9@M9s#Ey8jisv4WMxCZ>$#JB-78D4a9xErv;yAXb_wvWCoY$IpNo{Krz^wN- zi72Z`VZ`Mo`pekpfZfAGjopvE1I6Y(JL@k)XB91>ds))nN|g1gN>(yNVN}x=NX}iL zFXZv1eV``l_U+%HZMu+^fI^Z-de?ZqWu*`Wo3y&U7_VJ;e&SZU?K!i%B}f9byk27T z%5q`r_ebQuD^&qUlm;O=&ioSkJ7gRX-a3cW&DIGhv6PAQ7QMD&*XayjA$gwc$gG4nRH^A zrEB&`yR>n&CP7ID=Cn96bb21<{-h}LH&|$gN!A@k!Vt1bM{3aE%i1CYzMPy`8G>4H z5${vU4*EMipxX}>q(KI0EaBCQvqseyEZ$OFA06t9u}uo(nr4yGx}1chtm3l#{y)gy zg_%EZW|OAA6oim_R#!YJvqg$_gG?x5XbFYIml{`UrI#XQ4e2A^xv0A=PvBDOeLXI) zv9x4UegfR5Mvcsf|hd&#|le9rvEynaD6;XVs zQ!B?^Xlk{B05qQ=YE)beg<#bVR88%iIcK$7f_w8)j$6?e1FQCmw3Pn<`==|IrCFcy zLn3`x+u?Hk7cCj)MJ4m=abdnXNh%$0K~hqq$n8jRd!YQABXLt~93RV5hNnlBwP7xo zNe&tR05s6N_A%nUk0}2D3=fLWzuYulftLUYLH54<9n@YgV7Y04-ApYip7g^TU{m&E zon2(TCt7`^wn7%7r2WlqJbeEE#9>YQMpK&)p_Q-5KSa1K-ziD{Ri(fW??m#U+aCV_ z1z2XgS-o^c&zRcUnKB6Y74x4fkE=}A_{pg%DfoqImbJ?(mG0YpX6>@b{{S*_nrGl< z=Ynv58%17QA6Y3ckOxfNDf?CF&MIECml`vYgUJ5?TDzT%MoS{~Eir!*PEmN<+SuO9 zt8td@qtt`XzrXq)){{;uGI1Ox?O`(^(C-}*fnj19bR4o}?=`lHK;%7TV>2@%{@x$8uuDrBir z_=zH`X&iEqX4TTmiCF}YdGA$Zk7Pz}m))~L>6_!Z1S_6%S-yTRXBM5KTIt)*N+9B~ zeB6G?#$6tV-8JbzlUdyH*mN4Lg~7!3pr5kKByCfP6&WH)mKj#l%vDlWPBNm}75mi< z79ty@1t5r@inAQ4oNCny8tsr$Rq5<$=MyafWPyr$<5ZAf88R z!SY|+7aREx=*mrqcI{EMmejwv82#vF53iOm{II?|c+-)S^##~{=NwqvqM~E#TR5$# zuYn#(`)mODH~>WF6hsg+{GSmsB-dS09gbcb-HT45w{VgI)DmeIo5%GyvO)YOSyMee zv$=$AI3m7IwI^oA?kS^(luFQ(*jHe+XC3xd2u`Ah`o8l?2a5se`I)UGu{iLPuZsTw zkweLOdI2>%RUt}DalxuM`F5m%H;zswf7N<-;@VIVBO)tP!sNHM3&@9bX16F>6r_}p zLE^MdhC% zYY?Sc>Ioi~6SSXt$oSc)awmy@a6dbWvPUENGE_=eCPrjdvjnw9epJ74yY%(ab>4}# zbeUTK1B~L3dHiihx-@(_to&5}00+gWHpeh)BA00eCrF`UP2sy@L59hqa{mBNtiO^U zxXL>DWZ1BROth$vy=;6!OC-OMeC1MTPif47PUMR1CQKxVJ?gS8eoMB9Do~jEQ28Ar z-q6>kGyFa&MtN-P7syBOWkzG~Lj6+c!q~UfS|iMXtlG}zfb&9qyDRNYymu`(^kwtw z{{R5ot~;-(63m z_L;3;>CR8n$bfUjr)FKyq_=umB!ZO`*0;=V9g19=bZlCUm*To@WBjSl=~#R@exE5& zRPpw}?DM_$>kV)!Bg=e8>t9U7zONp?D9Umq;VVng>z@wp#nyz_ zF+s*O!sPWrhg;kRw5N$N=``!b!OJogc^UP>&of^D>(?s-`H2KXQH}GQx3F=SF~5me2xySnw}Nl`2I&$g#oKFqqO!~zdAw={aD!%|ga{{TiUD@s8kzIWxnb76dc-LdsnL1`F~ z6`EN(v6_vE9c`rUVZsx~#b`WVBBZQY%*9(W`&$Ozd2FlmgUxF)W^sy;7at>67Q+_W zD(#3nOi)whDU7i<4TTY6u#L^n(u8@Fdm3Y(b!0aoGx`FtAg9PTZem9-;Wxq^U zk{w;7NS6v=@(+64Val>b(dgtpIFz~!jzw80*=u$v^+!&k@uev#$l@q$v1+9dJh-gP zZtUE$e73ZZLH4Oaec}YyQuULiDH}}yO6!uscow17{Q!0Lyr;w5Zo&DcJU7}s zOLH!d*-e!a1_-OB0iGHP*^&t3??L7C1t|5B53^}-<)FJ$F8KvsSa)gKSI*huX?*0A zse3NR43dY`l6Cp`DBjyB0zkp5u};r9HRxZ|EzZ(nO*6wio|UCwlme9iaC=dYXK`&L z-oiGQ5h5&da?NCsP4UV@fRZn`2Mzg~B%dYHQhCfp=%n zsG{-vK+WjG{8)5(%R%mOTmJyl(fd;}9$HCc*_7V@0Dzu8)w09;ig;^CP1Y2ao>?Sk zHKgP2C_YI=HZ0uT1C=OK7{}oP+LGBxP9;hZo@&J%TPmMhRF2T%0o#HI;M5#jDs-J9 zc3j;62s4PNNl-hfdiE5wLR<+05t2Jlc^gHz>QtA&LAJpn58j4yppNS7oHC&V9xATs zmN<4>4ruzbmSi@m*@+YfCyuf!MJ_AwIB8nqt=1kxo`QKC(oRPaO;h#`(~sP1eJ9k6 z-m-)^8RU2}$0p*3JRVw-N<(9*Y4-N3+XjH*a$g>M8%m^v?xfJX!e3wnx{)A` z6PEnDvfN8%Umg7s{vo{*zq}$gKe@TC)3B9%5s3z@cRd zWze5}FM?D#2XK)FqSwPZ;cC(!`abZGlQBG2Z^>i!5rR#tH61-t+Exu@b7|1ZAG9pW zfPe)DBKW_9OnJ{SxtRo0IAngt>E6tj#T^JeY;M|aRD&ixss8{2Dym|xW)o;+pq-g^6vZ9cpDv0CBmQ@j+4nKJIVC`zh z@b=eCgy2Gej`ciu49YV03(Umf=p*4{lJnrf+?oT=ueA{I*KH54Hm!=0fNMJztqml# zWn^w!3P;aswdz(!8`TE-X{@DNezd=xA)gjBIV67!eJLlo488%^yedZ~iO1{{APVJ4 z5(xl`VU2u(O|L>9h?;leN}YgKl%@0^aTyh<@p)c0uhahk>Js@JN^Ab6dcjq;rqW6D zx|m7#6#i8_FZdBFjOf~YKfWdOf`2jx>sU`Qi|uBo#!jb04~ZlH0D{=+2}s>(c+$!L z0Fhpk{b+yF`BZZ}UoOTzQXR1-XAeH+iLD3FkOOXJI8q6%46%KDZyde<0Noj>&Ed+X zhkZTr+WfuSn0gk`p2v^%6`josSMt4%v1Dn|^ut#EnQZaM{{Y|8fXTgv$3=ufr6j;P z9lo_&bXb>dGdk;+ALyQ{(>y`6W6iXm!0ODADSF*_P*Cn5kz2pg9!bT%G`;&@_eOKd z;(Tn;PQFOB$S_}eY=UsT&zleKOotc z)7(7>hyW@~=B|H&wAJ<{Nm7pNkAqNTWZcGHnZ5Gd2%OGoS33`7Wl{TOM!nM)p-Dh1 ztWQ4`HeUvxvq{me0+KR&R$r3_gE29QrO4z`xhgLu3IP8AN{w0V6QOyMb5+R}CR}Ml z?^H<^*(!$Q)E1dP+ym9EN|2%POgPyogXB!j`kzhQh59|~Q^3zn3o=EgW-rxxVQFhn zPjg$pAD^;7?YO%Vl$C{%#&9B@rkPzyf2i5fJ4MP9IVze>h*8R+ z`4mYvR)x2Miim-?if0<2cI13zDJ4Xc9_G6?RdM%WeJbfzSBzXCP*Sv!iU*O6WrU*t z00Eff;M9@oj-S*&yfnL4=69hczC+E!^m9rk$BmQfV@$rR-J}u0so{{Y(*!!rK>8sa$X7Gu@vm@!!{K1y^O%7r@;b-NH! zqLlI`pYZcjR>7%CIx>!_(~Y~v;VB^sIWgY0yh-*{0XQhTu}%^`x=k|MWm%f_x3fD#}A{?)Gyjj6v>+5^y+5B04_fXK4J zOZWiK4!K)GD<^OUv@AQz!;$ADq*or`#HO{LfcbnOr)fOBavOlk*1k{RMi=s?W4Urs;QuoZQeVOemjq~ zYqe+M}8sM<808&XTHAw>GS z&188v99tdW%V{>j-E(>!VVgxlp+QZV{iwecilpYh)Q>kJl2Lmrb>5~=M%Xf-cd0^W zxB{&4I1=Y%lJrBFm;V4y8#6yJtV&Ze&->P^tqCQyqSl_cyI`pxq_`*88LINDgGHEM z+^qDjn&jFt=rjB={VU~p<5?viGm)qP6uPjw4#vcKUvlG~~5LH__zS}z&G zhcl1XYtW;a$$V_LA73LcPq-cF>lFtQxI&T$J+~PBjR)nhPY))g_zmMpOA=!L09{xM ztvSIQ16TN*-%lzlxZ!oW{T(XK(Vz2aH5nN%hD{gs ze=KAZn%Vi;bi-m^3R0V1%~4IOO}|2t3T0UwRy|2(#=>%58R*ygQvEL5AkQMPUPB9v z*{k5>xY*WLEzIUAJ#1*+tV8iB-I_z${!>~X2OG^17npD8v(E$-A>~dpUrhATk>RG> zW_~UeZLd1KM*7mYDe;m#n}pjmy*=S~YTKycLSnMHpz+PbX^SJt6wm{!>{9Kjpkxig zDTj^A)@Y-b6(wSiPu;H0^bPU}?@qax{;n}}KG{{Cg6KV9IEMXwg?!)3ahhy>!pTmN zujv;-NlBa<#PVTG(cqn+%b+d1P!WAtOR5(&t1#ng$28ZAl9(1)TC*SPeGDxwC?H74 zn%eljT{MKeh&1gP4zs400+X}UgN#=9g_%k;4=HNFcFpYr98pqEPtnCIRug4HLa=?s zLB^G|LC7DnP|L;&Q(v?MZCT`je-czG+EYU@UNJRl?@De2aNJWtV>@ZK!Fl z>CYCPK>&C66{p3SW{sgdpy2w4&M)#_wpmCLqd!_6aj;Y3) z57U``pC_o-$-}lgGJcA5DR(wg{vryayxlp<2>q5Cv{u;>imO$J5vNCF z>ujR^#H8kD=81$hd%B@(Qh4Vln5LK_3pcuAj;y`TM+9b_ag`u!l26yN#)GS_-Nd0v zjPq4;`08rW+<9DDG`$a63qXZ-_pGlgjZ9+++OgL~)`}DoSM<#xia6UMVjpHC9Yl5)G^E#GR;h;39HfQTg4hw3WX z2&eG2O3wC{61f@Xp(>Km)p2ygb}rye0hS?fe}lWw+M6P|iMuUwO>ACuwS}u{WD_*b zEmq2uWgkR{+(0TAj8$*mj<&Aket9S;DgaG(4c#648nTkE3OzGd^s|mtq|TFiN@J2w zGhF&h+25+D;cjkLRV37uXrZmQXCY#JMkD6CMG|Vl8gs=ir_~T>Y|+yvigiP6w#6VQ zMsg{3On-rtCYrK$cBwEUiXFvA(J9LPi`Rf5)e1Wsv@4#TisRIRo;!-O)3UjJ-@#`_ zaJKT>Qn0f%S1LWCna&)XGQ0Uc>-LIz(Mk!Dk5I30@^zg*k&a~L8$cUSN(}Q%GCE+H ze(3BeY?6^A_x7POJJ7OlsJ7nC=fX12Qut}CbOY_7#oj#Y_Qa1nvNK8RdASsN1?{sG8Jm(uFz>Ijj#mgz(DJA8`3y<4iSh z!W~Z4%Yp1Rm z)Pc3RLRz^-6q0%Q6!#um-^m^iA!L6`E|{<4cY`*)OKQDCO=&FOAV^Rjo|s_ebbibE zTo0(bQbym4Jh&$t~ObT_4aJNJQZ-5pq<5>MCXd2NW7gev4Xgbj=MfpCBr7 z1QA@}X8Mua4u(rY=TZjmEZk{h^8z5#&MroziunynG|U5Bv{i-sjH>_{A4<{UpKn5y zErXl52y>aMCyB~7Mr}zn6l&=U08VHLV`+=I4F`0)&n-w&NS|t5pB?)Ie{R>aPU&4p z5Rj!{)>Ft}s~zyO8a0Fa&@#?%fys)wdu7iB$2g3^T% z$5iaAFQXXoApuP|B0&bXUJ=tqcb?b5=lig2bpqhTt0umYjr~k?A?wmw8Z=wr;zSxz z$;H)$!b(d+ZIgh2N#c^_MT<{Ew@g2<5j>35Tx_3CZ8ksP%JI=#sF?*$j1B2E9z^ev zYxo56P|-`m_4#^}s5mneC!SrgCIRExjM=2$lj}(CCbHOnBYdvPHgZ%@d(jy*tcEvi zW$D(yFg@vCHbZP1^feGR06nQT>^-GG+rctB3NIKgO^X`RN>ZcVCYy1cv@Xts%}w_% z?FyDkoN7~_Z)$snDicfcE6&`bW_73q+uXEwN&(!D`9$PapAX*#BAWY+JE1Q_cXqCY zdQ_mCpL)spY)(*;9r*dw;?bscUAWYGM^I;IDi-QmeyPZ;r;o|>Ik1=W{^pmH9{hH{ zgDKSfyQ_P9yb*D3g&)&Dy>2BJiz`UT=8A9&^sVx)bk*8Cv*y_x5^_*YD)Jb*WmAu- zf4E-z6aJ2X!!6b7-XI-L4Bww^@eJg$dLU#%HHIVWceUgi$k*R2R zfTbgKWO-P&5sq8f-)QWhW@#o^hBlFK9A>CEc9ro_XrHpvOPKv?sYJHRs3AfohiZ!x zZ$)dif{DvH2aB^2P{m3tn{2Lr4f=%ZMf(<9XFmc`19 zfC;Uh42n<(ag~f67N9R%JOZIhe4_rFBRx#?9)yWy5N1lcKVb50Cc9`qgK6yEq>yae~5GECGd0UrHcMcwbc5QPCZBZ*1A50 z_w(rZ&`iK26UBN=tL?UtZM2cH0f~}om-1MxEuM_b(_vrKwxCrCUMy$gFlm-`)QJwT|&6n~ywi@L|`Dsf(2~ut7?Q zKdosnPSTN-^y!UW7wTW#-BiF*p%(z7CX1T-n4DNg0)I!97x46G{b&WX!;nVRCvdDr zem~OWwfWhk&#OYmhHs_*xp}#t_+@`u_nnVl9-s0V74$7h<{TEz`Wazr26p3Wkq)!GQ@=}5b1lj$n}{U(RaZVa~?PD%V8 zn$i)v!L)@W?P(<>e==geQOSSRZ}~TTXx=oxgBi7k>|m=n`LCg1%Cm7?MUlA9nXmNA=z74Wc}-$@(Q(OR+!IY0Ka2LE zt#NLIkQF!|TKXsH%$>OOWxS+1=WQAn_IlL(+Z3{+8)Y#yoBd^ju16#l`hPcNM%!}( zJk|mqgG)C|$ozV1e@>-GfT^vo=^1t92)xvLV@6Hj{>QqMwcJJxZ2tgKTzHlv@v@8L z^+vJQO$%p|pdjw%v7RNQRY?pT5v)QI+Lzjvd0sZ`H^*mbY|`y-65}I1t1FWe zOwq!9qoD`IYpt47peiI*kM#U6GGZS&k;fB86w>D1-*9W_a$j;Yd?`|CnZ5D<0OC%r zfAt9_wHUwQBt}lho|V5tjCni1FBPBi7@TF;zmJtS)daPcQ1b?4<1{ZCePk7qDr$_* z;k8;`sDF`0D^(V)sy`r*l#%zY^=;9|`%&0-NsRne z@yD=vPQ4@J&Vq>D-|a+W$6IA{c9KOmu15gwF;_*-}FC$$O8#Zt5p zhIAQn=mg1%0x+`D=Z-`s zo;hQ5(M_YVLP0-zwo2B4r;R6V1Z~{hFr!0GHSDe9?6l1*!He}+^?jjQu(bqDWj|A4 z`n(xe!DkgXOJ}WmwSj-qZit`ZV!kuur}TM?`E3G?OG6dmLkxqUv2LY@%j|YiFdbQ9;*ANl7OZL}O~oF1@fl{^f!w z>@r?o{VY6`MF=}$8S z+bzdFy7?aT?LknJzcrrEgfTZ($9|pHV5KE_A2frR#nWL}GPR~?`c9;ahQQrfeohXI zZ-*^}mfBV(Bv6V@AuT7cCab3f0;H!j!;hYTbK85=s5kJ?Pf9dICCpS=^A9jeIYr$uibkBrMpDN&4K zYtsAGmO*c9wzT=J_7ha6)s{H-C@S6*Nfb(+ixgTq7V|Z9 ziYZprz!;)h(I0+~thwY~AybKpjKnPO?R6WQGa&fPVy`bB&* z%S!VzZNQCVLvo;G@kwH~9V9~Jat%&Ch)9XRVr!^_1nLTg*Yu;Xt)OW-O!Mc8PLrq< z4A1nhr1%KdBNgQ(S*aQGhz`8ii2^H62UbsqPDo4f1(KG_i4g~%VOk#(leUM!o1hxf6B+$1-*V*jhP@KjENo<#7itZ2yC!S)g zNUlv;C81vJ$&!7l85XI7&JmZf_oI4_<4<`FI zZz)**m9pY<*CIC;u}3e6CP#OgexO4T+bfSJ3oszj)rhKV1%f_jMf*)aV}kxG#oU#&|^|s zH-w>B_oXn0S4gjuU5AGPnp&C69w}#!%A-1eBqp343;L*BsR}qXr^dRp?5=YBnEwEX zmP=>;Eh#>O3i%bH;Lp11#d+=zv7IjY0PdI~oc%d9Uj=I-YQi=;fKm+pqJ+zZrcsru zb~0&~MC~FeR(Mb>mD65_&Y0A8IF#<==Cj=FHi9_0YE)|)CFpUq`l}nt#nqaQK1)L_ zyPJ~|DOBPzi?aJ`^vL3dlG%KH6m>^OmVT5^9TjGljC;f-Z%V)!gIjM7siQT|mAf$= zYQ&YTQS-%bxVdRiu2`*GBGH|3m4ulPd-tjGqNJ@I#GG_J>9+u-BoSHc(D({UwmNk4 z+yG4?<);^DZNkaaxvm)jax;pKERQ7ZlIEo-g1kQkuAq4b-xYV4`?$%9xJstYGW&0( zL%52{;`}kjN38=bm$v9iu`xyDUtvZ$edBI{&VA`GFm=atGbs9g)Tw^p>(NQ^GCnH! z`zV(5F6$_k*Yu`*SF{10S~K-4Yqv}u6hA{+Rkaxj-R%haqY|5jvALCRPJfrZXt>g} zn3_?(%kVPvb>`c490&3!clI=&$zr)l25~Yd(Y{y)@ASnt7tvS_?#ENf~;A7hDAU5ng*QWeE$F-5TqU9(zAKfuHPfvGW)uRZT|p>!EBjQ zKQG9o**@7?7(?z5XAo%$s%Zl~y`yNs8!=UYY7q4!a(SbT1vVp4T z?shiL=Wo>tl#%c&?VL_W_>4+_D@+qQj^ziYXQ2ZbkAIUywgjTIOxaQ#nK=E0Mq5Xv z{ITPu?*e?h$GvB{_^!^y(z96U+s(;A2C>}SbX^I42kkZRqzcYwg)rz`kXR@l{LoEN zVbTI4cFW$|{2Tt?ycsHa5Qv;fvE0+Os#E;dSNA0!!> zbzYntOP-kLwQD?nYG_?J(=i^Y)70A3LPicIx4aD9kUci39Q104y+AXC0sGf{n*N(9 z$nDwa?FBn+f{y{c)Ap~Ja;?sn01d`b{2?>`r1WU_ z`Z#l^9B4oYXsh?p)V+$?l0rbL>h@VFB&gN=64p@4?yVeL0GUXvcj}%il8n+Fc&zF=W|gj9rqiai zTjdx~VM$5(IHZ0i3;abt{@C7f{*hOL!ndmt=?GngI~drjK8X%@_J`-x?_1uojb#rB#YuSw=|Mi`5!;n9|e}oc8ZpA0MBr zkS0Z=8|w`*O_OxmG7K&SeFue;y09Gae&}4$)PEWYCIuJDU(*Gy&Hn%gpnN;j6qZYB zovyS*e2yy@k*H>Iez{YB~4liGN70$ zA6gPkaSBPzM;)dY^%GWwtz7_;Vkxf~kaIKsqqHnt4MB-X;d^`h)|Z2qw0@ia z06{-D4*sM)hI(gPB_V4v3?9#ogwTGQV@iEn=e zLaEIkvC-UZDJwlYrAX3PQdbEKq>pf7zE8;i0F3YQZn*lytMFqUB$SZq z?mgjhmPOJ`QSk!A+1?v~nApA4*Td!dnEL)m@)t>1&Cyz#9kxJHxfG|$U}|hPi=R}? z&&Fh>SE0oAJ*!vxXHcdm^3uGW(PzLdL&(2fxKRUs0r{%`09WDfiAd*#l7?+P9+i9r zHV?S3mBrJeVKil)H?~#N1jqy)YhC(P*DOco6Z%$+XTlf5eQXgtrZOva`i?E|EYI*} zmo*yqh-!x#k8v?ruMD)to>A13VBVe7O|yyh9%!C!AE=l&8!tz*Q_?kHwgC#vR!ftC zsTyno<+TEcAW(lf%jt=l_jyjCJo`LAyTrIZ7{y^_v zHu7A0Y`#+<1J~NYC=|>{HRMl+oBp5yd#= zV^UUCkJiQqF1IuJq{S_cI*?12fLA(_n zb!L02Xz%IoD5(S@U>}On;LjY(LVTE|8B~baAV3+KmPj(WLN`NKM_>K}s4QRI8y-z2 z@_2r)8gc#^2POoTO;~cz%s9+%l`mT)E|5lk2hZhSalnNZo=Eslk;Cw zDjy7@iG#~I;v{TaCQkfNzH$OT50*u$gV zm9#QsV9hP$;-(qK&7p?fMQP7|XwU?SCWwsau2H3a z!5W38;8nIK6mA@ZW|W^`Bi6f0w)Wg}FH5tETqoK)ghDfMcHO(y$t z5@+|MJe*X+Av<4@mcvm~Yf8en%__}@vZB{3diXRhnb(O*0blP~zIPIv4&!F{W{IcX zCHB+m25T{!7e+e6J1xA*T}cosn90SK$~};|t7)YQE+9w9ro3)N3v=OV6q`H7Oeh@I z+sAX3Xw!QKimeg|P$@L&J62mCz%x{_Mbj!ni3b%4B+*VxX{u&d)Vdn%ZVSivDgay;sYB({v7=%{s!w6a|5TD=C{TF~%qIbv;w1|jm?r>8BTtbL^Aa*hW(X40R+$Vt6p0q;d&@)T2V;z zP@l`*iNVOfwUoSnC1#r-L}IR#kvJ#tMC)0DkLgm3i_~oGEr^8-*BdQyzk{zTM&bwB zqu7L@^1zzap!~@nQ%pFy0COr}G$l#?aA|{SlS$t{3;Qf@@)hvBw@D`7-&`q0ZEbdze3zpFE`QXm|PW5<=C z9I&kdie92X#=p@c5UU>DB81X0CAYEyq)#l-Z zuQY!aU7&j+eW;0tq{p{}`;=q+K-g3k6Xiq@UJ6r2b+T!kIrE zapf+*$)ot$q^kF%^xmRmlXIe6{sQR#0RB6& zB#}`!DhUbpJXNkAB>tnJo1k6%M^sri-*nQyF&>;rviviP$rR6W^kYF9Yd{a>75V$g z%JQ@5JT+L*!sisN7tN5Y{MF0RQ+7b&tEqgDY!#{cSYOc5ynoz*@_Ib&;(~$I034EY zUrq2Tu~~@no6Vt4%GfygRxl~t@^$tT!H(=z>&rhj)!+vLLHbj_4VQE<%CuyP0L*>; z>t2o~r4#Ux1ek+fXp4fc!C@zGiT!G(t7SPNn$c;D0736nNEJetW$YzuoRi7@1qYC> zaJy(VX0m_=^E3`sWE4LPHE!@y2daIj3CCpO$sA0iC~_(>bjisyif+uAkPTj$RFklV zij=MP(4m5R(A=ifTRj;h$5m-4L^{yz?MS|~nx-8*5Sq|)r!}`U$CBFCLS_bOcQ=Z& z#k7DDml||yIzFu3^9cn&$gFQCj`2)+gOHk|yX#=I!o;NTeX4v+?+lcYY}Ft$mMUfN z;t5Gfl&p5G9CLq)ij*BNJiKKsjT$bm_}2db3wi=w7#_-^xZK$}eLRouU-d8J@*4Xx zdlvjd@Yhf3n?)@xCA*XYTX27^JLB>if5~QkGRyZbXPh+-nA9{KZ0Yy*>OzvZ1~8%T zO`jo48-F77zV4D#%`c}M{3WtcFrqlD?=Kvs7RNZ{)o3E+*?B~jccjZ7P+XJmBVE;P zNIqh4MPqo`Tv}ngh+f6rRgW>P;7x4!c~(qm`(R8!>dh?|wvM4`Bq$JOo$&IgO*9Rj z9g|G+-m=o{FPyb-kWi@mcCDWs{YWMyl&STyI}6g60yoH*uI9v=vbjF$kmsb{NJu7W z7b6$o?K-IrS}oqir9pIylaA9wV;-_KPM6eop$Q9`$n)?T4jxq3vHt*1cr5_W>sh?f zraZ+fK~~m6ev}-R!lJ=iv#{CEV@7eKv=5!sS(9~g%c@#PlaX659J-{;zbapGo9cEu zl&Mc9Yg2t&(hcdiMKF~SB9`aJdpO?dk3Bba>r5I! z&46znZZAO{a^QIrJVgt|humA9eUV$D$^QVv-k;}8)!tM80L0iI5r0tBZyWvqC!Y0@ z$1k{Zk`}B48zS_?$27wJz(^#gq02x?_N1J_&m3m{U$rS-#vcV|k?mI^sVW!sgbyuJ z4KU+9pd9Mr%-ZA=tg7Gt0LB6b*0oUo0Dz_V5y@Ux6fNtvPFZUW2T)6Q2`E2$cjGcF z@anyxcPA6WnO~-H(eDO1!B!zUXH`bu2jE$-l zdruU_RLq=KR*XdjjvMQ`uvS}dAs9D`;Yq$mbU>e zBIOcNp`8B!@BaX1kz|FZ7CFZ~rV$F-^dQ1W+@G2mt6K<9?kj56cKU^*mX|FD7`SY< zv>eDdBCO+No*Ajd(@dw4jb)3BmYL^|5_&D}py+K^qMdBHu5?0`sc7qiz550K0F2Q0 zf$IBL+<#7aWypjwf0j#s!!mKk;HSiTarOM8%syBN3rXF$Vz#aP0`;fZ{k2=TKQ-og zx9x{Ie&@?|DcnHa`_leoEiwv9&0nT3OeRhZV|m!N6BkC8qTFsubMaYTR46wDpUBF| z^oY#Tsf4wAI+433CZn<}?JI)9pU@QEv?=tXYHL&pCSgK8lTLht z?S{deUu!)PX!qf?2VbB4Fpz#teBKz|Ze(D;HZpSSfwl$cyECYD5}zrQv_E=d=QH%h zLjELsRD6!7NQ4an|h(zM%Uc5w&D|*VH(8fs)PeM@Uxvf~0I6xOMvIk_xZm8yP+`>xn9XcGqb!{>(fv7eF1m9{ zxJsvWvQs}J74y$6jl(tn0Dt#499gMiO$1hr;we>^NmvV6u?`_eZV09vT-3ob!kw8{ zRcSH33QVDL4mqv&hUF>8qXU|~Gc#{XcEeFDtvH!U_Z6YfC(~dqEk35r(1}u5ZAkg zuf;D^@a#AhxyBnQKLk`KjZO7tgNHw<#9x?+9tLUw&lDCy{{WX~?@PZ{;OpY6`3T@U z%VwS9MVgVVHsQd2*+5UYte5GGso-ny%e<^=QIY4>?Muo4epM0s*V0wErVN~4!FJ52 za4F`8%Bc~RC!wQEqmWUN>~qtS3I=;|Nb`F;jUwn&9MJyHN{Jj$DfpRTKjnVSYrg%NadVLSfy+2}{@n7W*TwS>M zZ0;&S5|U^AgD9ojm! ziLDk}eJOMKR6g|_i?nSVO{r5oJJa_lcS5(^M3z&Lka1rp=3{Z>OZ%IC9FxMY@M2wZ z_WgPAX9WEsx4tSh#)+8c+swtcTY^X@aNzrjW|$nUGVYsx<+JVHTB~EoJ-ZsKCOchU zqImMtQjfGd>y9(kS^&LnJoG1H$nFetNjUKT00Ewt?PG^E%f_U=i=7*O>k2mHk+8;S z?V;GTc*)&Br1t{5{3 zP$NC7=>Bp&yn8a7IY04 zafP;%7kZ_Q?5Sgvnc|uF`P8V7AyVvxi#xx=+$CG$Gfnd2?-o@j8cxlZp!L9{whHqC zu-;pVO@(o?(?;LZ`iGd>4(Y51GY?raM}sAyy@vyhz@)Q{F_dMZjr$wWLCs%=bW@Tx zgf6AiLeQlIb2X#j=ca``h-k^Rtvs~y(nL>s-}t^&#*m@L^&vv`*YNHt1`a{3J~?)X zB(5O0*97N2(MCpJ1#8`cUvx@|FesdF;I6IPMJHZTQviPTeSS%+NS{tSo(Y3I(7D@+ zvdHbwWVIgRb4z7D!w6$ZXs+rp2j9I$E#8kxnx-4*$IEx1aq90%e4IN#p+CIzhekiX z-5~vI<^E0;A@34ihb5)YFbOF3~D;p>q3EB?N_^tu)1fCRZ%C=n&qp>kkJK z;RG3vdNuKs)iha)Gmo!hK9{XEeu3(RjzOh4_^%WG2i$H-%BlMc1c%ZA6e^R84Aiv2 zTAqx}(`C0?nc&kdKP}^W2F=D<6)^)=(Vo(t{HJ8##XsZn7Im>kOfMVR7M*fgx^2Xg zRF$O1-n*Y4cr?mZgj8lOkntdL5W0RENv-_7Fs9O*CQYs7uAv|>IaS$+qp zo;(#Rckf&8376{e5t#BA`eh*Nh6bh4HrK{Cvl4%5d&8Tw{{R{xN^p{YgCq+iK!KQ= zbk@acQl+BanRJ%k^1vr?s&m7%Y_kqk8B$*(mYTA$NVBRN!)51f!-*m?1yLDMIl)P6 zrlwG&!A^bZ^&-Eut6<$i+EPc}iNigWxH_f)a^6YDe4lz`rVgRm1MY2tRUl+{9q62M zwM1nEofkB#($c~YzrHGtMlRbYj!F)OduzZzGZ>{a#1VbHhqP^NR?np+csyp8a(Jq7 zvQV8GuT1N~)Sz#yhc}7UvCkhp=zX%dOU;NioXZCZ4YAEhZ0_pSF1BQIT!v1p?no&i zXHc+Rvdf7F?M}FSw+5PG%$S^gl?mPJ36F7Gz7H}v;EEG>vxUOs8e)=a$-lS*u4w4I zWTd2bil-!dDh0`lvJkCwr!@UkAwm*QdJ8^I*xG*3wpjW|)wFwGGSv!D+WtI-xmJk;Ot zPTGx~NZT_}qAgrX*R2PbR~2?Cb&*DR+;l3fw6@^@&VOodouPV+QZ8GK=m8_|RL@Um z8|+My{N>v31`IB0g;+643Tq&b@1}nB$sj#K~ZJp|N~5%nzDp*cC?E@zi>Dlg)ZAwo4>_+Aipq17ezz z3ul@il?~tI=L%^z1on=4k+Q2~ypTyjl4@KR_qed^w@OG~W%G^3G1{2QAAn4WRfl?S zQg2SzblpPW64kxiPAmflXi%6vu|aaMthi^7@|p$4{*=_8{}rZf-xS{@+tnd1~RCyBoK({XxGj;?>16`VS## zFh}Yu=*}tbCL`%($Csu}HS8UE6BGJX*n*QvN;jZA+d!m%bIxe&a@ji9@&s`OwMXp~ zd|jd{<)%3JNWx$13vi)3MJ4@3KAaf^aFY7y_g71|vrlXe$rbtMp6?@P(m2tmAj6=8 z%?A?9g>{TgTArw?UZ||#Bob=GQuYbeRkeka>}cLPxg=AQ(>&wiJE2;^&j!As;UicK zCy|xsY#XICJd)y*5<5{`iG9?D92#-9EOlc+#$1ueBAs}-b&?L6`%GHtvfJxH83fkm z4&p)^(Fg`)jz4;nXp&Fm5&%X8HqF&Ly8K5md=m>&JHL^#EOqy7u#?w08ICxr5%!OOGFnflb${5%x;P%uS~z9 zA}(7ai4->}{jB9BB+UdlwU9yJQY>_x4B@qCQR6%64@$c# zkKuE-^z!>Vi;(fYnE{`+!u)j?|WTYegwHv(fj~;l|E8SIhBEosaTIvKH>G z@T3&{iqd%APf2xuBFVwUiW<$H7KngmwHT!(HPoV3(Si7-qORKEI)h>a?NknHY2veY zk5(q;$E1|KBRor`3fzeTW@4Q<+SnYlt|LZ=eY=(M#%V_{6%mWKc01{Ja#Q~FgOQKf z$G4+J>0L;rX&a)m9zzDKJBOB?8n%sg9Bn3N6_4d(>e@8?e3p>Fmpw8MG`Ft9)Q}Hb ze`{)!0+?}OY!i_>(Uo-@`>qM*O>8)DsF|KrzTs-^ps^>4YmQV#6JR^rNElBUrnn}a zq+8iHNT9=>QsGC8)bd9C5T)#H>AUaZgwO9udAN0DxbijZFRtAW!zl6v1;oeq7P;AL zp zW~XBHsXy}!if{UAe^-q>Ux)tX9#SqjlV2#!*gITP3-rl2`5cOMIKO{`Jd#bsA){WM zGgU+G5~g1M3*SS*{{Y{$4avpz@bzBS(QXMm87=yHW`m_T;#^&$swZv%91-q5*{t6p zDWx<%r9qyl|t$JA2U#+bq~zeK>5B%*R9L+RiB>OaXlwL)KCTU}|F8h>8t zZIgMUIS-%-^R1PIr2B{_wO^(DhxlyojW_no*Z2Pb=Yyre-XqC(PT=dTRYxByD}Z$Xv)$isD6BzX=AmZi;sg zxYISxqyF{jT^_|URc?}2Pjgwk9A$$%+Fzggjd>iUED9pfOgae|j`VYS7e>>!qi^v3 z^tsV?#FP9Bg*86FiL8H`#dCV}{{Y<8c)Z6G|_@dmU$JC^auGy#$gXw9`<9JvkzpE0A4rEgavIdIxwIimE?_0Wue!y<4- z4Ptz>{^lLQR;>Nvj+9)}5qgx#Z<_ak;MMsf)~Ec9d`?9tJU^6Xo)O*-pYcxVo3cS+^#V_}>{NeL zVSKL__WXqKvV9j%;hS%ZJwc~yI)C_yfN*LFZd~rqKleyfRJQ-)fu97(A%V|Ad%0-CFG!ax^~BXIC=q$ z#URb>vl(=xkswK-(eFpc3E9nd9?LIP@Bq~oLHMRzb)pPa)n!OC^G*2WQs1#7Q%ak7 zJb*z-+&+FO{syGFfMt#CpstsA&C6+J#T~ACkWccf+ONc}@XQY)N!umd8+AZ}4+eW0 z4>kuER7V?2MD4nRjnnV{0BQ6JLWD>W78itn;Z++!TI**6)EIr-ek$a$kA22?f<8 z05E?kJ&&~*(oCXFw5*K;u;6eeQhzw_Qgt;?)VE+IpuZZ%Y(=$f%6#HXL zQSni~Gp3)M;Qs(hb^3l)%0M1TUKV+?qnz@3%FLBPDdMmb~T`pLCj!8eL?Wen>gNqdK`(#i$%XkG*N&tpKK_ z9gbZOt(IO&3ZRNd<#@f7mSUQVqtKlltNDpXuaGO|zDteP$J|WTX}WFB$5l3 znkqpF85x@0@p8s-Oamj6p+@m=u0AQII$oJWwCoXdvBb>gX^s@?&p4z}ape8#`oCva zRuj=uRQZ5#GfTNrwM?@bYa*e8Xg#w_n;51<^CXCTs`<)Knzt{e46jMu5JwPqx?Ia@-fRoex$vlQRQ)%%LaU;XeiIod-iT4z8EZn1Q>kfLS_Wy?0Vb(|Ws{2(o_R;oRrIGZ zg>0v_Xd89CD%=bjFCU_7Z24uXxoG-IR|FdNUOLGT%vpNLMn26CL)MwTWCEZZ9E#2I z_^%V!q5l9Mk=axB9F(}&NfSUu)3EE%8&|My;iWd<1a_X(*NdN{v<;gSWT~0vrC@aX zlOK>A7_AmOi!5wWmmf)d9r2PIepF`&l);*bUpF>_*sP0o~CO*}x#Xh+md^;B4Ul02j(|{#J zWI>K=O0BB^{cF0CpjMi>e65ap70;T0q>;z(NcnK;#~gXQipCa< zo^wki5dDz6-o=tQt0OB#ZBqwdfKeXwRu{9Ae*){M0Yrl$nMH%N(z1=yV`z*~7};J& zX%u!Tw>KqGMBimZ99#4iw7n%F700=t@?$K7yBAS>K?ipo{it_}%UiTMbdOS{4kapf z74_zkc^(UCx-aAM64A4C-n5sHfLsUfSYCG(#j*DrJ;!6Evw`Np?MSB{jB5!gBE9vB zU2Nj4!<(Zj%Zs`dZtT};;ZlDo=CoWMbHgPhE6IwUimorO$f-xrk(@KT9VZX`=a z^#1@_C9jjU^I(g;6}yLnsZXdGr9MV35OZF^GGSRXhMfl3p^(~!K&&q=cPm2(epVvI$%Z$(E`pg@>4a!I4NCVUD}5=_o3v~~8a zpB!*`Whag+$~Nq-PvBdy)Beh2&XsuVkZrKE+5t;&S ziz9Vumm6ka$JVHFEcda)rCk|29TRf(RGwQP#fMT^~-0b-|@@5lXsqW+$03SL{Ai$@So zY)uD>eI}UOtCTb)gcPkvScpC8_qCum9?`a1O37_V2L&)Dsd3mW)uY)xAR6kw3$%yO z=F+=1U1?i^Q)>y@bJ&F>SI4}z2jcv@N&9#I08?MYu2%^^!e8_;j~n#$J*a6ta?2=b z8q+GazDh&{-!OKs?xex5r0_C*Ts!yg{$^LnW0p*j&X>JE?!WjmC6b{&{0cED7e?c> z4!dn?B{KylwH1xgWR&M>_JKE+=L8R)Xv|Y3)>=cKf>z<)uu6b3l*D|^BK=c7yeeV* z2r2SZk?ua8M%yGv>?`0L$8%@U@T!PK;fbMQN@#&x5m!N3T$YNC_cdfnrJx?TxV2m! z#+Y#x%>rh12S=Ma@ny|%K*9E}srZFla|zA2o!KRlcG)C>9-4+-tN7AjWmv(h$LI~p(2NrToG)%*R zxXh1es^=EL-9#wCCL{9DbJwz`AHYW3!lV*$5NJt}ao(6t-N;DEp=Pa6a;WrI4hbd>U=a;>SE`p!W{s*UtRMg>h}Apsp`2SlWyBZ2C^EZ>Y2BP%=KNi@+ug! zIK6u>aO<=UeLh;ZWRApkqZU__-?E&T)WbR^wl^l$?Q=LvzuumB{{SV`ta-oYM-FF& z^_gR;I&#aXtXFMtfS{oXBeiQWXHty?WyKuPFfOF&eN&|_mWPm~+mrk?frzRn4~7Bv zVtpi!On@D4iIHCyzO2$GU_DOMp?iR)JZ#-sXb+JM*sZME6(p<(iret=$1XI$8mDGs z*Ln(dI|rI55>jIw>q+CeJu(4uv3*Fh&exXCSzSGD;8y0=Qb)CIp)T=EPZd^K(=Ls> zsYxD^bMsVZ#-@s9)IJBzChRCBQgaoZtY1G3HfcDSEg{hlg4E-TQYRgbqb*ps)K@ziQ6`#jp>jgbR!TC>Rqrz7%83(N z?mTJ+Z!5XkLD9J&f%{P~dpey}6mAlgB&QRY6n7c!nSW*QFW)k@$ygNAqoci>McoGA zrs)!>g+&3&g}{obe1~=C&*0ny;wg6$A9^Kz?U%eeyeqx5P&4Jb2R}7OnZ;0-@`5dT1FM}u6 zQmb8Z{@E?WUu3`qAL)RQDV#BYvY zAwZy&gM*NMsqI1pr%a0W*{8#dIE1OEP*R|HAc~eOl7muS(G0lM?R+x@@hhRfzB)@& z=s=LYQ>RqDYd}#FUba8^i*SCPpgt?@f2I7)c^IQPKjE1i*d8Y?GxoN>@Og8~Dm$e) z$OpB31yq#^si{4krLq*0xQNd+$wrCSr(;)6UF=eQLQVx|{Ei2r|HS-kKMhoGr~kuyQui7AI{?uF+!IW=3&UO%_3g?bje? zgPNeIzkQn{`H<6ouloJPg#(w=8Mdmc6HzwN#y) ztO5Ggx;eXHV0jh$G%l)C8x1)i{{RJqq>q!6NjR9+EON;G$=S|it;P${rSyG=_kNFV z*4Tt@HH-3Dezs=Dycl(Y8X5^0P~di@4UAXvV!kd~6l=lcAZ$_upPJr&oypsc*W}H4 zG~<^`Ms__r)IrF_X}!`F##HuGc||Ey#GGcYindpg(O98MQ%G1Op3zpPR?!$KHk6Ry z`)O^Yw38vW(xdgHk#{FA$WBP6=&YeT35lAue3i+q8jpuJg!GoLZ8B}$ZSnD#G>ge& z?v)H51Kc$ zXZO|#MbRW-Sgk)FlGG?(;+xoaq%DI_Eub+nF-rWD`ztTu#l~(UA64lh{{TU_Xr^H@ zDPND|eJ)H`cRL5vz|%bGa>=&5TT2nKMJB$d#>l1CMj}zGu{U< z0aSyDi?k&KEripS%*Uv&+W!8yC_a^tezmRPVt?V|V@y*{377PXq^PEZH+&+-*|C5lb3w$DV+SF-B)Ab5Zbp4Dtt&fOtvSYNA} zYsOkDme{j?ptKN9ed(?hOp99Br>cobnVNIQ2Fk7=dmHb=T>cf+{{RisAfC#jvf}R^ z@%Dk-JAI=%itjD_{D&HZtOLmRuWOT!`9N85xXZKjezjQ21uf)baiUn7X`~Xcb!mMo z1_)L^+JMUx<3;ebwt6L(_H=_cO_Y?WfC%}HE9P^B^ITu#)kj=pJj3Qe+a5J_cNTz@I9DW@)v+1D1;{1M!fw5t(~-#;}tEs&bg8!H=) zyM)5ODfTrfD*KTL{{SODN$O$u28(z^?*0)`{HNRRLUQqaOnUzSK+YaopGkUQ&ZW@Q zs|B>S$SDUDn~BJH^M4}_Ru8nmR2N~?$dyLN;!kYX(NkHtkNX+fTym%Up0eoeKslnb zDwqOm<9<&MTwCB-ZJmED7$q%{9wJ~Uti3*WTJ&P}N$gWil9RBrYHM5ib zpev#jOsXk{FiE7|%5qfSk=aKdS|jJP3gafOGzz`Z#jVLo#BTKrQMmKDL}Ly#Q>I1u zR7`EDDYvrMiFym@*2t0oj7}&XOxr5@3NJ*On@UO)IW-&-P1)&ObZ1(_PBVD05I|OI zPsWm*5Cofqnn?Sg-4_5TIVhbP@*w?nw1;ZLu#^?h*xiV`QMen>}AJ&S~iUe z^ev>3o+}B<#nqZFHce2>+PuV4mZ^tD+9+SJ7L{UXtW&CGStDpc>U}gRrIMaSXt){b zNKeVcoLP@+_KLT4Nl?L>-T3_dk`y@Grf1s9OAi!A6_HxZDKwe}n(F#7cJ0uEjicU8 zHN>1%o}b(46w1k12?BlU#`R2^gNo7_I(f2CRo{uFe78)$j~6LyU`u$&;+D!!@*a|{ zqC13`BtQe2jpD>&n*KL~|LUc@XV_*taa2%jon^hu2`T&WEo`CYpR>d2H?O6#<38ygMvWZH)B8%XuIZR{gL_m}# z{y{eZSWw1)N-_`NCmQUoi<(xl^`oIkS&)6=YMw_LITbM2<#2j5y&GL`P+=xOSQ!8>j+E(g-Scl!ST0&|X4@>j!dIjNiXiCPnSpGkR*v$;bhQCZ*9yePgu_?Z6W-~9)C z=&9pzqYmkPJywq2Y0nQ!s4?EP*tsfmPx6e5!tu9%lLgnUm1C`4TNKD`T6!Wrxu>J8tMC$HsEBKjx#`WF{Zl&@w+F~a<+IX03$i1 zStCO>oh#Oj(UeHJtWRj9Q80@fLJ7;uFRnYE5DyCV}^(ET6m9#_- z^HpZRvPPK*ww=e(uJlJ!`KfFbiTc(r%5XZ^*Ne!snX>3Qs$OkAp_r^UFOJ~N4<9JZ zjgK}yl&ki!g4zUXx_VZXdVgv+24n6hx9nxzVY zFxK)|n=a;4U8A=u%*#J8+}4MHlMQ`tO` z(3jK=q%x_eyf^m?a;icr&Lt{8TF}8ZP>PFq0BYqEzXcn+k+jhm;6b|K=c=qL$4#tkh8dL{1)3k`~-X&n-DpQV%C3D}v)1|05*q+p*KibPMrtL7Q z8xjd0dI`wC(;E71Ac!N1PtAWNxYbKTSzs*_8H!Qbm|Iq?TG#DLlA;sEG~#5Y50Wm# z=k3B)p||FqMs|wQNUGymBWFG8E`JcQw$3xOK5qt>HBvZ zLKfZ@pKc8e7_R=XGq`aO31aia3B*gFt6)hDgAqk>GNTm@|XQIX#W6DOZswyB=HYI z{`ArMyQErZDfV`2`e2DsS_kn`pQ=i~O3?nD<;Gliw)BAc_#b?@7tYuBJmSOZQhiFo zho-f2f=tW8a`exyAQL4#jMpOQCM`+r6fRgyL>eLzB;vF@_!VjY0QFOdcG$8V~VH{{T}*wDe@fq6fgQgmPWYpF_v{QFX(Q^{OIvL<jjO7b8+L#Q*&y=1NW;?FS=UsCakxaJp|Z#zYX76p)qz^bOds50V7 zCP5-DtaN@k)|{WKL*2u>2KCN-Zydn=2qk-e^fg^?#KY zSzKTfB+&9lB)3c1eWwxtgC6rkN-e#V&Nb+=9Rz3es=Ac+{Dw5AKw3;5)E6Q;BWlB! z7a%r$RK5_{YL%e}t8N3W`F#4l>q+CG)z}vysVbo{U`__wc#51<{{VoVjjY^Qx|Jct zB}0M@3CZI}ELvz1Sl?SWFAls$D?%E$dKMr-HS_-fHQ{NwMQAID$$0+&ce8NO^~N;@ z6Y5FaD*?&kOAL(`4oZ<~>ey}Gktj7zIqtqfB_EUuQ+`s35>wdwQHouVJA#^~8_{+D z04Hs&;`cUim7d=Qn{Yggu*MYW2?}C^Fk;P@FiK!YKc|Or^sjkPAteR`U$FX-eC0UwYIvlxF98GGmMxr2-?IVON zoERhA*IGRm(MsqkD=L_xaWgyq7K z2loE}aJICyD#dH~_obXwSrR7+Tef%Mh2e8i^0Db~8jqdFSg-gm;>pTMo{4ysG?gFb zNUxbiQ#6wOpnDX>!>A*L$fL7Au`-N5xOdT$2o!^pvDP0*Fy|Bk2`jiirCyu(E08Z! z649ctJ%Z)+MoZU7ge_jiwq7b$(VFL?eIT3ep0{wp+L)+vf2GNiC4>5yRs0DZPiCuI zkHi50oc^@?fs^V-sHc;UtcQ+)z1ynUsHy|V0REJN%i_Ec1E(q)Vj9Z>K!Ag zTPR6YvXn9W$;hmyj?479nC1MMo>J|CU)aOCs_%X7m8pbn{_wFz^D+w2=|9rGohUqz zZ}I;C@-ck5TTKUMv;EC}JH ztNd1R!Agn8v9G>(o>Jst>iw_wGaSrOjzyI%NY3z+1WA~u6=0o}>?5Sy2A|t12bx{a z!QK{&Ba$(6%|E8ENeIngx!9?&{BPvabZf9spI60Yc{u5Y;+=aLTUPW>G_k5-O|N8T zLZr=jsGX&E#YL+mm`c^&#L#&n5eWqw$c|?;E6_?;?5}p#=yG`iCgb%s4ZndJWfTGsLM_r=s(l9Sk6AzIHsSU-6)5 ze^(_NO^Yc-x?2N)6JI#XCn+{*a7V0CFEh1eSnnUD4?P#AX8to+AvTuRdvXe-)~EE& zX6Gmf{JauMMmFdPWR!^*6}XP%A%A3T6fOc>P(8`OG(rkf5^+my6pjvru8ygKqd|Wtj{|J#vFXxrZzJCkU_zu(v1vbEt1?JD`cnQ zp$ANxX{r*ndtI(5MnRf=#>t^>Mb($OSbxOiXM;oe57=ME{{V=X_VuuK$;2pONscQ& z3H6#|$-}%E=B~Zdm8bOs?QQg^ll#}y{6>GR#!UJ5Hy_jFN&xLO;@izW6$Pb*16n*) zC{ij<`g>8M6 z0|2s+*}t73uBYjAEw<+UhO!6#qCn^CSy^X}X*n<7AAidH{{VIJ zYw_Y)@FntjAH)kK>3vslf}N!+3W)DtO7QtsejHhf|PJvlKh$C^nQ&K zdMX~ur2fz?%923?wm74pfn1Y6XzUxS*3%L~mQobpPZ_PZi{x&Enen`G>}0(~Zl$)P8AR6q0EIOqfifp2*hjlq+({Ep@huUg z-)2^6WUuC>HDtRbf04td(X!MPa!k@rTTRht9W^$XX#6y@G$JCuX3b>aWyC^ zXoUR=E!{8w01#({M|y3R7l2bX`?mcagYfR~7Mstte8+Qhv1ATD)@hTcD9|*%K({C+L<&C}I@@cgKId$nOklvGVd&)Mu7Nkml#{f_aYo{MEw@+j3kxkS zKmgHo*=!+6$|0>MRd&^BAw)(3uL~Y24a{&Yhd!PQD+4~Ku;rzol)M_shlaYcp2imbV@4pRDRh*2~KM0%^ar} zL=Gjy;H1H;6N~gtZeFB_g4T#B;$Y^a(tgToRTMGwwzlP!&;?MEtY(&T_^T{5PYmUb zZv7kIM)eY2LI7OX&b*%q#j{1l&YqE}={ka4K+htw9E>h3cZVWqCi`i11cc5gSh`^o zN=RAOH2Fy>6xWTKg`A9a=v+`zPn59-v8|7b=Rf#z7PU<7&Eng^1P*DJKQvY+B5;%K zOm5Q1S_F#uuO-}@8)4ckUN$x#)~UqyPHRFZQ>$YtKL)g14aiZ*dZRMCx(Rham@^ft z$Bxh}U7&N8dPT)k(y*uLK_yNrx$68jXE)Wo@ z+%Zw)ar!$wgD?3)+dR~XCWeBx8x-UY)SGtMA#*7_(OBbTvP0?Y4)xyeO!6qGpHpD`QWpRG;bPo%5r`Lo7-)!5fuLb6zvq% zdMYiG`G?Z3Qa!(CEUa6&R#SnP_pZrzRCXCUO5dYJ(C;j7v~=9GpjO$)?kendv^m0| zC|Y1Xywe-htrGG?$ia>()tN!2do)y|)W`0uUt#4kq~I9%rjX4U#?hP4$CO)5Xxje( zvo53k-_#n0l%=2emXPv9cNjH<{dI@yak1u0(`aSloN;IBzD-}mTYv5@pwarBC|G5s z8+XU~nOyFlvW+7BE6Q@dJiUc^ykACeo$7tOHSKVeJkR;hxfC2588>{&w8#WCai&KJ4iKjckHQ@o>9oF zB7vLOt<_HfWbQ`?`ct1D3&?=Ea{Fl>Zt8{a)|U#5*VK3lupkkr;F+GeDkNeX#=&82laUxQdU`d&o6*@$% zzqN(*ZDrdx2G)EvUf8rv+X^V$W{{XFFJjaGxlvasxxiZG; zUd_)%*O=5;9-w!7SI>D|Nnw$p!O2sJZtBx-@mm0-@+ydAy)cIgR)J2E(I*8Y{*-Kf z@9qyIq`u(JiLRSc8n`>zRwuZk_?)S6Wl#2z$C==C{RT8!g9!xIW0e8N9!(4dA;e%v zG`9M%{{UzOsM`cCV-(YinZ`;;3y}(TD{D4#3V`Cb9BjW*9ilIqMqSsM0yPU4M#&%& zG2XO3Gb)6r3y}`U!*1Fw6*K_^7>@O-gu84KRVY$Au(>Tg1i%8LnjNAGI!^u&*{0o$ zDrqi!Or})bvFE1sKPl7&Dm&JHor2RPha$%wvgPJ?ZpTg*UyOC0qh#yv}+$eXz7{=D8VDFNIYc+T-FsdTqkX zT469+v{uxZ34Nuceq%**qTD+b%~R3U!VAo}%7^lCNpUZ|G;Dv&!+Ni7mRsGK@r*$k_$8zrYe=V`5figeMP=Pfd? zLOd=sRkWf>Lds*~n!C$KrgYcIPY3SC(NC(h@5ER>03@Y5huW|4`MP99T&!)uv{LBX z-!Je^g=Lp^nKVa}#oN4pC>x2Bq@vO2b~fGFd251)Q3vQne9l*oC9i1RD#?#$pE}0H zR{b=DD-LM7o3`Y}LKT$P*LWFMBMfA|SNo$A&BxI+{umC*=`OU3geaA#)|eUj6<%C! zGU_i?U64&hD;{HN!+;c#Le)BDj+(SS=sLIKtZlELd59iE$^QVEJRi9Jm7L}AzLrU2 z_jz{fjj+SpWR+mAR+<;HGkM{nQi!2`F@;b*P>P6souPTs_e`*`qdUVLw zwC(`l<0F)sn$iEQv0S`+41?I^Wb#yj>ZDm?Oga?S$=#R) z3a%s?J~p!>KYH|{cq3@$MEj)D+b)xUy$cBQ*r*lS1aVYrVBV_@;bZ zl)-Yw(VXhm>040%I_A=%*#$oo4z zm^*fF;5l-S<8D3A^`-E7qD@oTMZ_Jd1dMSMLVGHdb+$TqM{*hJ`zF??OW{nP{$#}k z&X3xk@*U!&{;e>Un{aG3i_JY|6ve{P2jNtwnTNC#kYr`_^U4N+rnnwx5N8#Y&mOLa z7`B3&2}FEQwh`Cl531>*XLi~Rh(5y*d26C;YFDl{h27i&J^ zvrW{8@mB*5@rz3cxJ~*;=H$h1{{T&LE)N-t^H{oNSt!kI6cV^OO>TJ7XiIk3U#-+{ zdP`5c0F~NZH!<5WL@hSH8e>H#J}UkJoj?nk5|(*SF-f?34U_cxe87{z2CC+0m+x2jG~S&_0TUN`pzNk`Y@UA$0Ii9FLxYeX8heA8ZX-SoKMDL<(8uV;#!T4bQ9bYr%h z`!@(S?jPX3B?OhsuVv|p)t-q@!T`-2+ zBXDd3A4>WBIQ7eIen&r9JSi~=OE)1%Dka2aKl3KERngk?2&zkG#+HqxBmjGg^pm?h zy2Vj(q`0&XBud9&&(^4wC--_hzVAnG!jhFiPJKh!UiHZ9N2af3?GeQ{s4%ATw749*(ZZCoPDNkc=1t!luU>FN_cW^ z*-walKFK!b8`K&=lFIup{*zxx{WIjTWQR!UKl(qF{hz>}%y539`q20CBlI4mv8Ofy zj6_uYwgvTAtBl*nV@9ufr+R+mOpuyU#>At^h(vNZVrC-yn{}2HBp*3HY}WP)@HPAi zvrlTjC#^I)F#iBg+xkcNb@8rNPMnz=Oc3pYKiEX-jWujsD1llY26ZT*7dI1*Mk`$p z;gJ;IAF+JfQJ^c}kV<&Wiar`BTiObAb+}#9oQx#Z(P`vKjC_5j#=TbAH&)6)6N+Hc zt&U{7BRjaZRkhNZT4D_d)k=>+G)~+hqF{Vxr!=~45|^TO97~xBrL$BATdkB!e~dj}@IsP^;%=S*x<9E|#3Z$gP(hsVhY> zk7<8mrKu`kG4`vZx}tJT?nADYqKkAS@&zQ#6)6{C?**`$T`2^|>p?7cErq=+DBoP| zNh&z@tKo&+6iRw+iHzI@>grxZu5(Q@La~dIPiFn$#n|$i1di47UpJ3zH;&bt#)R-) zx_&^fo^s<-G(33|>Qm*BRp9nnlhK!TwV8E=m?s9czAqxG}Q3X;@y%!f~>{j-{*GU^> z`ho96<7Mz^ZR`;GK~^{&=glnH z-t7;kk&bC(@wkLTCFp(dhf)?jV{NrS2Yn~zv%je@{ca4G;I+S)p3_Z-{vhbRLrZHb zdfh=kbl1u}G=KFog7>CrFiA@sS&ZpwOF9L+7e1SdB^Fi>WhBLY13pZ7u{S?~4tP9S zWfLU+(0X`o{=-#kA>@>j573Ix_#CQmXi><6aj(IWvh*KOG7oBfDE~VQQ$MtEy4v3L}iSK-`F4 z(7d-s8eR9N=%w68Pm~3u~X4Zml;&0B_tnezf&p67cWYU7oj?p zO%ycanflga%kY%0Nd|FpI4b!!u9((P`$#*v9`*CSe;cD{(Q&hOL*13iTu2j$tnOG- z8)KSh+uKyQlj*^)V#(E<%MRZHhOMUUQCLaGwL9Z-AHx-9#ZS;72vKwsIHsAobIXsc zfny%7#@!iYqzcaRRSbCYu%*zJ%==K7-omBo%@X-iwZs2{{WO%)$e@7pL%V_$3WR6q(i0N z7M()mfi-4)X{LeWP-&VCiraaVt-OT_Qt`Cu5Aez^J(2SM-6~;8a7ZKGug4aPawOsR z2s)pcYUxIHo(xkgaIro~N-lxr?c*~Qa)lM@Nv25CfNhhWz*J=usU;DUL%0cAWXIl= z@}Z&;Td}dHfrC8KX+S1an8Bc3Lx2O`mh&;%J$2~NY#a(?LG9kNd81Mc!#!++QbiLD|!d)1aXQc$+u{(;s(+qJXMipGFtRc(^rpa`hwV! z8*}+j5mx1G#Y!H_c$w#pU1jKf)9nT8F4{UbjFi%+$&#CdhKg6QW2$;W8!ooaME2&I zaJe1VTPe#P-ogG8-?yUpho*;B34Lm}P~(yR0BRrgA0Awf8<8)Kg5hfpXv_IMFXBF& zy8do!qMnh#Z>Bg|7O(ys{T z%xf*E{ZM1=UuxmWI5qyJBRcxHl%KVxXDz%^zb-I)#T6)8v3GYFbSHtnWW;0Up?WWc zDQwn!2WWqIJmg2H3da7em-Nyf_-S^^&s6E-{uv)4zCWAyn~1NpnP{BUB6*dcgru6f z1yj&I;6Rz?h=44#CG~^5EZomyPkd}{Xj#m43rC%Gw^F@TY9>fjSJSw$>xCG}%}RD# zwpc0KJk>K)>^l>spk4DNK>W6{j8~ajt&#y4+rZ|a(FgmE2mpXaIpU(?aXQi34#IijYPPLWOqxxX znRH+op42q)*3QC{>dTA(^FR#0yi>uELe3U(#ji!gyf6VEpW3K#At>&?Ll!RX+Ceiw z<&UzOQg(}XPs>CZz^ZY>WO7cG3YwuRT+cnJ#tj4Q(_m)-DiSa-XykS(>-a0U5Aw*X z7xHnYot*lUB*^)i?wM+)wiD8Imu*&r2Z~IHB8B8}qmf+$<;2>kvt;N`5tnb}w{q-( z1DeBmZwjYwD7OZAVR!g9JqM~S^%jyh0u(*#=iJT&u*iGH=6yhg<&aqOnaCp`Q26p! z+aQ@n{^)}}OsWXGP}s)|#_K18jl|MSv8FS}D^x{( zz;OhDQ^P*2=1BHJ)}e2?1V(iCu$tX$9mQAGW|&GSwFT^Ed-x3cVm-^HuMjbeNB7^G{<2(N}vi~o;J!l>#G{H zyWNXP24m-%Psqh-l+A54I$7%~^3n<9QY^e}hGWdsX`Ekb9%?ea(KXyyIYS@CY$jkUlKT5&n}nm3=1 zw;o^EwLa2J-tGNXDH*~+uar+&2hq0zD^yLuSofebzVWDIo$WCnIcci$OK< zo@hi6$dmz^wl4Hm$``}H-}XN!}wKh0E~ivAv5L$|iOr)t87 z^fceiW7H-r;7+8{8ZYgFiqNqsP$E9Grxfa_Ws(Ue6F$)Y0O4*gZ51cVcX0U4X*qw? zj3@a*EPrEY^jAvVekVw_a4Kc7`&Z2Q(E54h{msV;UGSqf@gqz>kLtZNBNtY!YHbhs zlN+MGgZg_XemrmE{{ZLz0C5MD#Z#JpJ29;y@V4TRNQ3Gbr`()&tjj`F+G90~qsc6! z$sfc=#PTU#Snse*Dk_)v5A?V8iU6W4qNJ#=k)L zUSi3Qq~6#28Gc?bsTG{H z^)(KkxdbO8wP87!_8h&Bx?A!9ImKsl$M6@8&{rxM_KFO#rjZg()kR6{id0;-b0F0- zMB?Z(X6(jj9FYsg?H8kRW@vKeuVCFlkfbV#!!4Cf8E;oD48Gvo3fdDO`_|jUwy?MP z(Vyou=R-F@X{)x<#nA_Il4%#1%%_{D;46cPsMz|zQd%lJr2t3CtmL-nbB;8uyKbGS z&uXH3WwAvbue3$)Pu()4%(kLFu|)Xnj~^y7{z`d}Q^L{aeNNmV#UclwZHoG)3AU`n zWUJ~7E$vd5BLa)Tcl&_o}&Z?T%ml z^jpH0OwpI*W$SgTNbwIw`JC4(| zFydxZH`}}vpLwLRk5@xTOp(Tt>IjU~RGe8hlTLtlHsyHinx&bNrrR%|e2mQ%k?lx3hcB{mVB5Bh&rPXQ%V7T0n;g1wztk1S)tP@( zv>djzpXD)H?gQ&77GZbV9|f+TWF4j;_o{i4Eon8QPU+@|2&|VfUe8^z>d0+C9~GX; z_7{)vPU@jE+*B6XB>qMHS?@{rrd)WDZ8jxpw;rP=p7G#Cy4wNWy@*PIra0q7TmJys z0>4oJj!iJcfu@{v1-g@+zgjyP*KcQ5XiB|6$HDJj$o>wfrT0Y9{5t6+^-aF7Y|_Yi zhMQfu?YxsC^c9%%UPXBMVw+lR-}WxYf#pr27cJjfl*P&lZtT^u#GELAf2}x%Rn5V1 z-i2APeJTCHi>*!3WD?mp5J$adG4a>b*(Tcb47PXzmlCb3NtBu7`%!a?uD=Ih*T0g| z)RVU9nE_Z={HpFMq?-F#FP_D#E0v{x!!V@fC*r8fjWxeVQ*m|qEV*=Db9q92SipdN z>ZOfEQQpn4mW0t(sL2?G2#(@~<;t+K>i#xOyooRoS#2(-6^HSh*XT!>}N7u^!Kl|t~5gqWV(p*^(M$XI1lezEIY*i0I&vUOGmPLC82fGcB+Z~5`S2)hxu7_~r??Uell2`E6u;P+6gIv<)dZ&ttxh&~YQv_n>i3q#KX&6IGB( z$bs)np*vQ~lB1+p1SlRV*-Nx(k#JTpX&@jZ5t_{TUMJK|$Jur&NNv;Bk^~s6KO!zN zX@=vZ9kp~20W`NHLSp_7?vc4B2hzEX(K&2b*K9+rs6gVH@iNl{%>>L>uXJFLrJ*?l z@mt>!%Gj4Q7B*s?QDRn->J=%)*&!DyE1;I*A!pQbW}ijqP@=C)fo+fp z9My@EkJ|1a*V!RQ0MSs9=&joaU9zY+c(b(pKaKcGaD+Gj` z6IWXbjB1)XO13L-Jl7iRsPy0yvAt3j04L^z&5F?*>e3#1D^Uz<))xs>5aLAqR)5N2 z@5h{9;3g{3?~Z`HFIct`f5d2U-xcuO870N?DaZLngM$0v>S6lxSDIG2)LL!SrD(b@ zHaG<;$gRxV$q2Xe>{;a0qng*M61-ov{`K(o-&0OiY_TME%vOiMH3_6DP02}qQGqtF zg#sk|VryR{E6Wb9*RuOA6~arA98l7YY_7XMVJ$h;Hul9UpL!cSQ;m>|>px-koKO;d zsce!Di)R;PI>M7VuH)2-=NpK+;37uj-v*jSh4OSfV?3t|ZJ~!3H(#9_ z9)+ogTS?zoZe9+pkFaD?8Q63@jilg;S0zE|_C*~=$Souk^H<@>(+ACt(7vrU9Q?df z6`w-+;-(eTm?+|COw#OMhBU%ALRz7q>4i;wrfb%cmfRzVGg_Y+wuGF`BL~->+jyuv zo-62_NL&!DHFSWN55g$uLu8)SAYH@6@kT-@((wF9gPeFWa?;8FF7p?>CV97tVLmVC333>ZRLcX}vQn&?|3RFzY3L+?~;@{kKh3$=`k@9PjUy^Ng+6?KpUR$XXKQsp;9ilF~ zQX4HV0+N_NG@B+Sj;VHZ9?>qL@#+~oQtnniwChyOD@T9KWM;Cwn01gwDOq;qB}pgZ zsDq-}irTXP6DBFY8f7|9U_u~m21L>1$d$C1CyvIZtnDWDe7i_xOx&aSRRsJ|*dy6e z2jtu&njZRE_j;LdkZ00OX8fEbhHgvP&y6=UtZ&sc#9rAfCA_FiflF}tZ>Kfz8}#i` zF&%SAxzPHW&sJ;{n|rq0RC@(~-nHC*RC&B<;(z8%f6!IP!uxh#2d>*+;`AggBq=E* z9tuc'; + }; + $("#yarnball").html(__set_address(path)); + ui.header.set_width(); + }, + //自适应宽度 + set_width:function(){ + $(".yarnball").stop(true,true); + var box_width = $('#yarnball').innerWidth()-3; + var need_width = 0; + $('#yarnball li a').each(function(index){ + need_width += $(this).outerWidth()+ parseInt($(this).css('margin-left')); + }); + var m_width = (box_width-30) - need_width; + if(m_width<0){ + $(".yarnball") + .css('width',box_width - m_width +'px') + .css('left', m_width+'px'); + }else{ + $(".yarnball").css({'left':'3px','width':box_width +'px'}); + } + }, + + //地址栏enter或者 点击go按钮,main更换地址 + gotoPath:function(){ + var url=$("input.path").val();//保持文件夹最后有一个/ + url = url.replace(/\\/g,'/'); + $("input.path").val(url); + if (url.substr(url.length-1,1)!='/'){ + url+='/'; + } + ui.path.list(url); + ui.header.addressSet(); + }, + + // 更改前进后退状态 + updateHistoryStatus:function(){ + if (Global.historyStatus['back']==0) { + $('#history_back').addClass("active"); + }else{ + ($('#history_back').removeClass("active")); + } + if (Global.historyStatus['next']==0){ + $('#history_next').addClass("active"); + }else{ + $('#history_next').removeClass("active"); + } + }, + + //转到上层目录 + gotoFather:function(){ + var path=$("input.path").val(); + var len=path.length-1; + var gopath=''; + var count=(path.split('/')).length-1; + if (count==1){//只出现一次'/',即为根目录,上层目录是自己 + gopath=path; + }else{ + if (path.substr(len,1)=='/'){ + len=len-1; + } + for (var i=len; i>0; i--){ + if (path.substr(len,1)!='/'){ + len--; + }else { + break; + } + } + gopath=path.substr(0,len+1); + } + $("input.path").val(gopath); + ui.path.list(gopath); + } + } + } +}); diff --git a/static/js/_dev/src/setting/fav.js b/static/js/_dev/src/setting/fav.js new file mode 100644 index 0000000..b67a190 --- /dev/null +++ b/static/js/_dev/src/setting/fav.js @@ -0,0 +1,151 @@ +define(function(require, exports) { + var api = 'index.php?fav/'; + var init = function(setting){ + var favData; + $.ajax({ + url:api+'get', + dataType:'json', + async:false, + success:function(data){ + if (!data.code) { + tips(data);return; + } + favData= data.data; + }, + error:function(){ + return false; + } + }); + var html=""+ + ""+LNG.name+"("+LNG.can_not_repeat+")"+ + ""+LNG.address+"("+LNG.absolute_path+")"+ + ""+LNG.action+""+ + ""; + for (var i in favData){ + html+= + ""+ + " "+ + " "+ + " "+ + " "+LNG.button_save_edit+""+ + " "+LNG.button_del+""+ + " "+ + ""; + } + $('table#list').html(html); + if (setting.substring(0,4) == 'fav&') {//如果是添加收藏 + var name = setting.split('&')[1].split('=')[1]; + var path = setting.split('&')[2].split('=')[1]; + var htmltr= + ""+ + " "+ + " "+ + " "+ + " "+LNG.button_save+""+ + " "+LNG.button_cancle+""+ + " "+ + ""; + $(htmltr).insertAfter("table#list tr:last"); + } + }; + + //添加收藏记录,dom操作。 + var add = function(){ + var htmltr= + ""+ + " "+ + " "+ + " "+ + " "+LNG.button_save+""+ + " "+LNG.button_cancle+""+ + " "+ + ""; + $(htmltr).insertAfter("table#list tr:last"); + }; + var addEsc = function(){ + var obj=$(this).parent().parent();//定位到tr + $(obj).detach(); + }; + //添加一条收藏记录,后保存 + var addSave = function(){ + var obj=$(this).parent().parent();//定位到tr + var name=$(obj).find('#sname').val(); + var path=$(obj).find('#spath').val(); + if (name=='' || path ==''){ + tips(LNG.not_null,'error'); + return false; + } + $.ajax({ + url:api+'add&name='+name+'&path='+path, + dataType:'json', + success:function(data){ + tips(data); + if (data.code){ + $(obj).attr('name',name); + $(obj).attr('path',path); + var htmlaction= + ""+LNG.button_save_edit+" "+ + ""+LNG.button_del+""; + $(obj).find('td.action').html(htmlaction); + FrameCall.father('ui.tree.init','""'); + } + } + }); + }; + //编辑一条收藏记录 + var editSave = function(){ + var obj=$(this).parent().parent();//定位到tr + var name=$(obj).attr('name'); + var name_to=$(obj).find('#sname').val(); + var path_to=$(obj).find('#spath').val(); + if (name_to=='' || path_to ==''){ + tips(LNG.not_null,'error'); + return false; + } + $.ajax({ + dataType:'json', + url:api+'edit&name='+name+'&name_to='+name_to+'&path_to='+path_to, + success:function(data){ + tips(data); + if (data.code){ + $(obj).attr('name',name_to); + FrameCall.father('ui.tree.init','""'); + } + } + }); + }; + //删除一条收藏记录 + var del = function(){ + var obj=$(this).parent().parent();//定位到tr + var name=$(obj).attr('name'); + $.ajax({ + url:api+'del&name='+name, + dataType:'json', + async:false, + success:function(data){ + tips(data); + if (data.code){ + $(obj).detach(); + FrameCall.father('ui.tree.init','""'); + } + } + }); + }; + + var bindEvent = function(){ + $('.fav a.add').live('click',add); + $('.fav a.addexit').live('click',addEsc); + $('.fav a.addsave').live('click',addSave); + $('.fav a.edit').live('click',editSave); + $('.fav a.del').live('click',del); + }; + + return{ + init:init, + bindEvent:bindEvent + } +}); + + diff --git a/static/js/_dev/src/setting/group.js b/static/js/_dev/src/setting/group.js new file mode 100644 index 0000000..29a962c --- /dev/null +++ b/static/js/_dev/src/setting/group.js @@ -0,0 +1,259 @@ +define(function(require, exports) { + var api = 'index.php?group/'; + var Data = {}; + var init = function(setting){ + $.ajax({ + url:api+'get', + dataType:'json', + async:false, + success:function(data){ + if (!data.code) { + tips(data); + return; + } + var groupData = data.data; + Data = {}; + //需要预处理成key value 形式。 + for (var i in groupData) { + Data[groupData[i]['role']] = groupData[i]; + }; + _init_html(); + Member.init(); + }, + error:function(){ + return false; + } + }); + + $('.group_editor .path_ext_tips').tooltip({placement:'bottom',html:true}); + $('.group_editor .warning').tooltip({ + placement:'bottom', + html:true, + title:function(){ + return $('.group_tips').html(); + } + }); + }; + var _init_html = function(){ + var html=""+ + ""+LNG.group+""+ + ""+LNG.name+""+ + ""+LNG.action+""+ + ""; + for (var i in Data){ + var action = ""+LNG.button_edit+""+ + " "+LNG.button_del+""; + if (Data[i]['role'] == 'root') action = LNG.default_group_can_not_do; + html += + ""+ + " "+Data[i]['role']+""+ + " "+Data[i]['name'] +""+action+''; + ""; + } + $('.group table#list').html(html); + } + + //添加状态 + var set_add = function(){ + _set_nav($('.nav .group_status')); + $('.group_editor #role').val('').focus(); + $('.group_editor #name').val(''); + $('.group_editor #ext_not_allow').val($('.group_editor #ext_not_allow').attr('default')); + $('.group_editor .tag').removeClass('this'); + $('.group_editor input').removeAttr('checked'); + + $('.group_editor .edit_save').addClass('hidden'); + $('.group_editor .edit_exit').addClass('hidden'); + $('.group_editor .add_save').removeClass('hidden'); + $('.nav .group_status').html(LNG.setting_group_add); + } + + //编辑状态 + var set_edit = function(role){ + var group_role; + group_role = Data[role]; + $('.group_editor .tag').removeClass('this'); + $('.group_editor input').removeAttr('checked'); + + $('.group_editor .edit_save').removeClass('hidden'); + $('.group_editor .edit_exit').removeClass('hidden'); + $('.group_editor .add_save').addClass('hidden'); + $('.nav .group_status').html(LNG.setting_group_edit); + _set_nav($('.nav .group_status')); + + $('.group_editor #role').val(group_role.role) + .attr('data-before',group_role.role); + $('.group_editor #name').val(group_role.name); + $('.group_editor #ext_not_allow').val(group_role.ext_not_allow); + + //设置选中状态 + $('.group_editor .tag').each(function(){ + var self = $(this); + var data_role = self.attr('data-role'); + data_role = data_role.split(';'); + data_role = data_role[0]; + if (group_role[data_role]) { + self.addClass('this'); + self.find('input').attr('checked',true); + } + }); + } + + //添加一条收藏记录,后保存 + var save = function(){ + var role= $('.group_editor #role').val(), + name= $('.group_editor #name').val(), + ext_not_allow= $('.group_editor #ext_not_allow').val(), + actions = {}, //具体功能权限数据 + url = '', + action_type = 'add'; + + if (ext_not_allow == undefined) ext_not_allow = ''; + if (role=='' || name ==''){ + tips(LNG.not_null,'error'); + return false; + } + $('.group_editor .tag.this').each(function(){ + var data = $(this).attr('data-role').split(';'); + for (var i = 0; i < data.length; i++) { + actions[data[i]] = 1; + }; + }); + + //动作分发,保存或者添加 + if ($('.group_editor .add_save').hasClass('hidden')) { + action_type = 'edit'; + var role_old = $('.group_editor #role').attr('data-before'); + url='edit&role_old='+role_old+'&role='+role+'&name='+name+'&ext_not_allow='+ext_not_allow; + }else{ + url='add&role='+role+'&name='+name+'&ext_not_allow='+ext_not_allow; + } + $.ajax({ + url:api+url, + data:actions, + type:'POST', + dataType:'json', + success:function(data){ + tips(data); + if (data.code){ + init(); + if (action_type == 'add') set_add(); + } + } + }); + }; + + //删除用户 + var del = function(){ + var obj=$(this).parent().parent();//定位到tr + var role=$(obj).attr('role'); + $.dialog({ + fixed: true,//不跟随页面滚动 + icon:'question', + drag: true,//拖曳 + title:LNG.warning, + content: LNG.if_remove+role+'?
      '+LNG.group_remove_tips, + ok:function() { + $.ajax({ + url:api+'del&role='+role, + async:false, + dataType:'json', + success:function(data){ + tips(data); + if (data.code){ + $(obj).detach(); + init(); + _set_nav($('.nav a:eq(1)')); + } + } + }); + }, + cancle:true + }); + }; + + //设置菜单显示 + var _set_nav = function($dom){ + $('.nav .this').removeClass('this'); + $dom.addClass('this'); + var page = $dom.attr('data-page'); + $('.section').addClass('hidden'); + $('.'+page).removeClass('hidden'); + } + //事件绑定 + var bindEvent = function(){ + //列表页面 + $('.group a.add').live('click',set_add); + $('.group a.del').live('click',del); + $('.group a.edit').live('click',function(e){ + var obj=$(this).parent().parent();//定位到tr + set_edit(obj.attr('role')); + }); + + //编辑保存页面 + $('.group_editor a.add_save').live('click',save); + $('.group_editor a.edit_save').live('click',save); + $('.group_editor a.edit_exit').live('click',set_add); + $('.group_editor a.revert').live('click',function(){ + $('.group_editor .tag').each(function(){ + if ($(this).hasClass('this')) { + $(this).removeClass('this'); + $(this).find('input').removeAttr('checked'); + }else{ + $(this).addClass('this'); + $(this).find('input').attr('checked',true); + } + }); + + if (!$('.group_editor .combox:eq(0) .tag:eq(0)').hasClass('this')) { + $('.group_editor .combox:eq(0) .tag').removeClass('this'); + $('.group_editor .combox:eq(0) .tag').find('input').removeAttr('checked'); + } + if (!$('.group_editor .combox:eq(1) .tag:eq(0)').hasClass('this')) { + $('.group_editor .combox:eq(1) .tag').removeClass('this'); + $('.group_editor .combox:eq(1) .tag').find('input').removeAttr('checked'); + } + }); + + //菜单栏 + $('.nav a').live('click',function(){ + _set_nav($(this)); + }); + + $('.group_editor .tag').live('click',function(){ + var self = $(this) + select = false; + self.toggleClass('this'); + if (self.hasClass('this')) { + select = true; + self.find('input').attr('checked',true); + }else{ + select = false; + self.find('input').removeAttr('checked'); + } + + if(self.parent().hasClass('combox')){ + var index = self.index(); + //取消选中第一项,则默认取消后面权限。 + if (index == 1 && select==false){ + self.parent().find('.tag').removeClass('this'); + self.parent().find('input').removeAttr('checked'); + } + //选择后面操作,默认选中第一项 + if (index !=1 && select==true) { + self.parent().find('.tag:eq(0)').addClass('this'); + self.parent().find('input:eq(0)').attr('checked',true); + } + } + }); + }; + var getData = function(){ + return Data; + }; + return{ + getData:getData, + edit:set_edit, + init:init, + bindEvent:bindEvent + } +}); \ No newline at end of file diff --git a/static/js/_dev/src/setting/main.js b/static/js/_dev/src/setting/main.js new file mode 100644 index 0000000..16d1932 --- /dev/null +++ b/static/js/_dev/src/setting/main.js @@ -0,0 +1,14 @@ +define(function(require, exports, module) { + require('lib/jquery-lib'); + require('lib/util'); + require('lib/artDialog/jquery-artDialog'); + core = require('../../common/core'); + Setting = require('./setting'); + Fav = require('./fav'); + Group = require('./group'); + Member = require('./member'); + Setting.init(); + Fav.bindEvent(); + Member.bindEvent(); + Group.bindEvent(); +}); diff --git a/static/js/_dev/src/setting/member.js b/static/js/_dev/src/setting/member.js new file mode 100644 index 0000000..a2d8a67 --- /dev/null +++ b/static/js/_dev/src/setting/member.js @@ -0,0 +1,215 @@ +define(function(require, exports) { + var api = 'index.php?member/', + select = '',//用户组下拉列表 + groupData ={}, + userData; + var init = function(){ + groupData = Group.getData(); + $.ajax({ + url:api+'get', + dataType:'json', + async:false, + success:function(data){ + if (!data.code) { + tips(data); + return; + } + userData= data.data; + _init_view(); + }, + error:function(){ + return false; + } + }); + }; + + var _init_view = function(){ + var html=""+ + ""+LNG.username+""+ + ""+LNG.group_name+""+ + ""+LNG.action+""+ + ""; + for (var i in userData){ + html += get_html(userData[i]['name'],userData[i]['role']); + } + select = ''; + for (var i in groupData) { + select += ""; + }; + $('.member table#list').html(html); + } + + var get_html = function(name,role){ + if (name == undefined) name=''; + if (role == undefined) role=''; + var group_name; + if (!groupData[role]) { + group_name = LNG.group_not_exists; + role = ''; + }else{ + group_name = groupData[role]['name']; + } + + var action = ""+LNG.button_edit+" "+ + ""+LNG.button_del+""; + if (name == 'admin') action = LNG.default_group_can_not_do; + var html=""+ + " "+name+""+ + " "+group_name+""+ + " "+ action +""+ + ""; + return html; + } + + var get_edit = function(type,name,role){ + if (name == undefined) name=''; + if (role == undefined) role=''; + var action = ''; + if (type == 'add'){ + action = {b1:"add_save'>"+LNG.member_add,b2:"add_exit'>"+LNG.button_cancle}; + }else{ + action = {b1:"edit_save'>"+LNG.button_save_edit,b2:"edit_exit'>"+LNG.button_cancle}; + } + var html= + ""+ + " "+LNG.username+":"+ + " "+LNG.password+":"+ + " "+ + " "+ + " '+LNG.member_remove_tips, + ok:function() { + $.ajax({ + url:api+'del&name='+name, + dataType:'json', + async:false, + success:function(data){ + tips(data); + if (data.code) $(obj).detach(); + } + }); + }, + cancle:true + }); + }; + + var bindEvent = function(){ + $('.member a.add').live('click',add); + $('.member a.add_exit').live('click',add_exit); + $('.member a.add_save').live('click',add_save); + $('.member a.edit').live('click',edit); + $('.member a.edit_save').live('click',edit_save); + $('.member a.edit_exit').live('click',edit_exit); + $('.member a.del').live('click',del); + $('.member a.edit_role').live('click',function(){ + var role = $(this).parent().parent().attr('role'); + if (role == ''){ + tips(LNG.group_already_remove,false);return; + } + Group.edit(role); + }); + }; + + return{ + init:init, + bindEvent:bindEvent + } +}); \ No newline at end of file diff --git a/static/js/_dev/src/setting/setting.js b/static/js/_dev/src/setting/setting.js new file mode 100644 index 0000000..e5d5b8c --- /dev/null +++ b/static/js/_dev/src/setting/setting.js @@ -0,0 +1,131 @@ +define(function(require, exports) { + var setting; //url后缀参数 + //主动修改 + var setTheme = function(thistheme){ + core.setSkin(thistheme,'app_setting.css'); + FrameCall.father('ui.setTheme','"'+thistheme+'"'); + }; + //被动修改 + var setThemeSelf = function(thistheme){ + core.setSkin(thistheme,'app_setting.css'); + }; + var gotoPage = function (page){ + if (page == '' ||page==undefined) page = 'user'; + setting = page; + if (page.substring(0,4) == 'fav&') page='fav'; + + $('.selected').removeClass('selected'); + $('ul.setting li#'+page).addClass('selected'); + window.location.href ='#'+page; + + $.ajax({ + url:'?setting/slider&slider='+page, + beforeSend:function (data){ + $('.main').html(""); + }, + success:function(data){ + $('.main').css('display','none'); + $('.main').html(data); + $('.main').fadeIn('fast'); + if (page=='fav') Fav.init(setting); //收藏夹 + if (page=='member') Group.init(); //用户管理 + setting = page; + } + }); + }; + + var bindEvent = function(){ + setting = location.hash.split("#", 2)[1]; + gotoPage(setting); + $('ul.setting li').hover( + function(){ $(this).addClass('hover');}, + function(){ $(this).toggleClass('hover');} + ).click(function(){ + setting=$(this).attr('id'); + gotoPage(setting); + });; + + //选择事件绑定 + $('.box .list').live( + 'hover', + function(){ $(this).addClass('listhover');}, + function(){ $(this).toggleClass('listhover');} + ).live('click',function(){ + var _self = $(this), + _parent = _self.parent(); + type = _parent.attr('data-type');//设置参数 + value = _self.attr('data-value'); + _parent.find('.this').removeClass('this'); + _self.addClass('this'); + + //对应相应动作 + switch(type){ + case 'wall': + var image = G.static_path+'images/wall_page/'+value+'.jpg'; + FrameCall.father('ui.setWall','"'+image+'"'); + break; + case 'theme':setTheme(value);break; + case 'musictheme': + FrameCall.father('CMPlayer.changeTheme','"music","'+value+'"'); + break; + case 'movietheme': + FrameCall.father('CMPlayer.changeTheme','"movie","'+value+'"'); + break; + default:break; + } + //保存到服务器 + var geturl='index.php?setting/set&k='+type+'&v='+value; + $.ajax({ + url:geturl,type:'json', + success:function(data){ + tips(data); + } + }); + }); + }; + + // 设置子内容动作处理 + var tools = function (action){ + var page=$('.selected').attr('id'); + switch (page){ + case 'user'://修改密码 + var password_now=$('#password_now').val(); + var password_new=$('#password_new').val(); + if (password_new=='' || password_now=='') { + tips(LNG.password_not_null,'error'); + break; + } + $.ajax({ + url:'index.php?user/changePassword&password_now='+password_now+'&password_new='+password_new, + dataType:'json', + success:function(data){ + tips(data); + } + }); + break; + case 'wall': + var image = $('#wall_url').val(); + if (image=="") { + tips(LNG.picture_can_not_null,'error');break; + } + FrameCall.father('ui.setWall','"'+image+'"'); + $('.box').find('.this').removeClass('this'); + var geturl='index.php?setting/set&k=wall&v='+urlEncode(image); + $.ajax({ + url:geturl,type:'json', + success:function(data){ + tips(data); + } + }); + default:break; + } + }; + // 对外提供的函数 + return{ + init:bindEvent, + setGoto:gotoPage, + tools:tools, + setThemeSelf:setThemeSelf, + setTheme:setTheme + }; +}); diff --git a/static/js/_dev/tpl/app.js b/static/js/_dev/tpl/app.js new file mode 100644 index 0000000..68b2b2d --- /dev/null +++ b/static/js/_dev/tpl/app.js @@ -0,0 +1,66 @@ +define(function(require, exports) { + return{ + html:"
      \ +
      \ +
      {{LNG.name}}
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.app_desc}}
      \ +
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.app_group}}
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.app_type}}
      \ +
      \ + \ + \ + \ + \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.app_display}}
      \ +
      \ + \ + \ + \ + \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.app_size}}
      \ +
      \ + {{LNG.width}}:  \ + {{LNG.height}}:  \ +
      \ +
      \ +
      \ +
      \ + \ +
      {{LNG.app_url}}
      \ +
      \ +
      \ +
      \ +
      " + } +}); \ No newline at end of file diff --git a/static/js/_dev/tpl/fileinfo.js b/static/js/_dev/tpl/fileinfo.js new file mode 100644 index 0000000..7848423 --- /dev/null +++ b/static/js/_dev/tpl/fileinfo.js @@ -0,0 +1,121 @@ +var file_info = "
      \ +
      \ +
      \ + \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.file_type}}:
      \ +
      {{ext}} {{LNG.file}}
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.address}}:
      \ +
      {{path}}
      \ +
      \ +
      \ +
      \ +
      {{LNG.size}}:
      \ +
      {{size_friendly}} ({{size}} Byte)
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.create_time}}
      \ +
      {{ctime}}
      \ +
      \ +
      \ +
      \ +
      {{LNG.modify_time}}
      \ +
      {{mtime}}
      \ +
      \ +
      \ +
      \ +
      {{LNG.last_time}}
      \ +
      {{atime}}
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.permission}}:
      \ +
      {{mode}}
      \ +
      \ +
      \ +
      "; + +var path_info = "
      \ +
      \ +
      \ + \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.type}}:
      \ +
      {{LNG.folder}}
      \ +
      \ +
      \ +
      \ +
      {{LNG.address}}:
      \ +
      {{path}}
      \ +
      \ +
      \ +
      \ +
      {{LNG.size}}:
      \ +
      {{size_friendly}} ({{size}} Byte)
      \ +
      \ +
      \ +
      \ +
      {{LNG.contain}}:
      \ +
      {{file_num}} {{LNG.file}},{{folder_num}} {{LNG.folder}}
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.create_time}}
      \ +
      {{ctime}}
      \ +
      \ +
      \ +
      \ +
      {{LNG.modify_time}}
      \ +
      {{mtime}}
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.permission}}:
      \ +
      {{mode}}
      \ +
      \ +
      \ +
      "; + +var path_info_more = "
      \ +
      \ +
      \ +
      \ + {{file_num}} {{LNG.file}},{{folder_num}} {{LNG.file}}
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.size}}:
      \ +
      {{size_friendly}} ({{size}} Byte)
      \ +
      \ +
      \ +
      \ +
      \ +
      {{LNG.parent_permission}}:
      \ +
      {{mode}}
      \ +
      \ +
      \ +
      "; + +define(function(require, exports) { + return{ + file_info:file_info, + path_info:path_info, + path_info_more:path_info_more + } +}); \ No newline at end of file diff --git a/static/js/_dev/tpl/search.js b/static/js/_dev/tpl/search.js new file mode 100644 index 0000000..2e10596 --- /dev/null +++ b/static/js/_dev/tpl/search.js @@ -0,0 +1,52 @@ +define(function(require, exports) { + var search_init = ""; + var list = + "{{each folderlist as v i}}\ + \ + {{v.name}}\ + {{LNG.folder}}\ + 0\ + {{v.path}}\ + \ + {{/each}}\ + {{each filelist as v i}}\ + \ + {{v.name}}\ + {{v.ext}}\ + {{v.size_friendly}}\ + {{v.path}}\ + \ + {{/each}}"; + return{ + html:search_init, + list:list + } +}); \ No newline at end of file diff --git a/static/js/_dev/tpl/upload.js b/static/js/_dev/tpl/upload.js new file mode 100644 index 0000000..0d0965f --- /dev/null +++ b/static/js/_dev/tpl/upload.js @@ -0,0 +1,31 @@ +define(function(require, exports) { + return{ + html:"
      \ + \ +
      {{LNG.save_path}}:
      \ +
      \ +
      {{LNG.upload_select}}
      \ +
      {{LNG.upload_max_size}}:{{maxsize}}
      \ +
      \ +
      \ +
      \ +
      \ +
      \ + \ +
      " + } +}); diff --git a/static/js/_dev/update/main.js b/static/js/_dev/update/main.js new file mode 100644 index 0000000..e7e48c6 --- /dev/null +++ b/static/js/_dev/update/main.js @@ -0,0 +1,262 @@ +var dialog_tpl_css = ""; +var dialog_tpl_html = "
      \ +
      \ +
      \ + \ + {{if has_new}}\ + {{LNG.update_auto_update}}\ + {{else}}\ + {{LNG.update_is_new}}\ + {{/if}}\ +
      \ + {{if has_new}}{{LNG.update_ignore}}{{/if}}\ +
      {{LNG.update_version_local}}:ver{{ver_local}} | {{LNG.update_version_newest}}:ver {{ver_new}}\ + {{if has_new}}new{{/if}}
      \ +
      \ +
      \ +
      \ + ver {{ver_new}} {{LNG.update_whats_new}}:\ +
      \ +

      {{echo LNG.update_info}}

      \ + {{LNG.update_readmore}}\ +
      \ +
      \ +
      \ +
      "; +define(function(require, exports) { + var server_version = '2.1'; + var local_version = G.version; + var readmore_href = 'http://kalcaddle.com/download.html'; + var current_version_file = 'http://static.kalcaddle.com/download/update/2.0-2.1.zip'; + var status_href = 'http://kalcaddle.com/tools/state/index.php'; + + var kod_user_online = 'kod_user_online';//在线统计cookie标示 + var time = function(){var date = new Date();return parseInt(date.getTime()/1000);} + var _download = function(from,to,callback){ + $.ajax({ + url:'?explorer/serverDownload&save_path='+to + +'&url='+urlEncode2(from), + dataType:'json', + success:function(data){ + if (typeof (callback) == 'function') callback(data); + } + }); + }; + var _unzip = function(file,unzip_to,callback){ + $.ajax({ + url:'index.php?explorer/unzip&path_to='+urlEncode(unzip_to) + +'&path='+urlEncode(file), + success:function(data){ + if (typeof (callback) == 'function') callback(data); + } + }); + }; + var _remove = function(param,callback){ + $.ajax({ + url: 'index.php?explorer/pathDelete', + type:'POST', + dataType:'json', + data:param, + success:function(data){ + if (typeof (callback) == 'function') callback(data); + }, + }); + }; + //自动更新 + var update = function(){ + if (G.is_root !=1) return; + var id = 'check_version_dialog', + $button = $('.'+id).find('.update_click'), + $press = $('.'+id).find('.progress'), + $tips = $('.'+id).find('.ver_tips'); + var new_file = current_version_file, + save_to = G.basic_path+'data/', + unzip_to = G.basic_path; + $tips.removeClass('ignore').html(LNG.update_downloading); + $button.addClass('hidden'); + $press.removeClass('hidden').fadeIn(300); + + _download(new_file,save_to,function(data){ + if (data.code) { + var zipfile = data.info; + var remove = 'list=[{"type":"file","path":"'+urlEncode(zipfile)+'"}]'; + _unzip(zipfile,G.basic_path,function(data){ + if (data.code) {//更新成功 + _remove(remove,function(){//删除下载的安装包 + Cookie.del(kod_user_online); + $press.addClass('hidden'); + $tips.html(LNG.update_success); + $button.removeClass('hidden') + .unbind('click') + .removeClass('update_click') + .addClass('this') + .html(LNG.update_success); + setTimeout(function(){//更新完自动刷新 + FrameCall.goRefresh(); + },2000); + }); + return; + } + //解压失败 + $press.addClass('hidden'); + $tips.html(LNG.update_unzip_fail); + $button.removeClass('hidden').html(LNG.update_auto_update); + }); + return; + } + //解压失败 + $press.addClass('hidden'); + $tips.html(LNG.update_download_fail); + $button.removeClass('hidden').html(LNG.update_auto_update); + }); + }; + + var init_language = function(){ + var type = 'en'; + if (LNG.config.type =='zh_CN') type = 'zh_CN'; + var L = { + 'en':{ + 'update_downloading':'Downloading...', + 'update_download_fail':'Download failed', + 'update_unzip_fail':'Unzip update failed', + 'update_doing':'Updating', + 'update_title':"Update", + 'update_success':"Update successful", + 'update_fail':"Update failed", + 'update_auto_update':"Update Now", + 'update_is_new':"Aredy is the newest", + 'update_version_newest':"Newest Version", + 'update_version_local':"Current Version", + 'update_ignore':"Ignore", + 'update_readmore':"Read more", + 'update_whats_new':"What's New", + 'update_info':"1.muti user
      2.drag upload
      3.zip/unzip
      4.all path support
      5.New editor
      " + }, + 'zh_CN':{ + 'update_downloading':'下载中...', + 'update_download_fail':'下载失败', + 'update_unzip_fail':'解压覆盖失败', + 'update_doing':'更新中...', + 'update_title':"更新提示", + 'update_success':"更新成功!", + 'update_fail':"更新失败!", + 'update_auto_update':"自动更新", + 'update_is_new':"已经是最新版", + 'update_version_newest':"最新版本", + 'update_version_local':"当前版本", + 'update_ignore':"暂时忽略", + 'update_readmore':"查看更多", + 'update_whats_new':"更新说明", + 'update_info':"1.多用户,权限管理
      2.文件夹拖拽上传
      3.解压缩优化
      4.非服务器路径预览&下载支持
      5.编辑器全面优化
      " + } + }; + for (var key in L[type]) { + LNG[key] = L[type][key]; + } + }; + + //自动检查版本,自动更新 + var check_version = function(display){ + var ver_new = parseFloat(server_version), + ver_local = parseFloat(local_version), + key_timeout = 'kod_update_ignore_timeout', + has_new = false; + if (ver_new > ver_local) has_new=true; + //对话框显示 + var show_dialog = function(){ + var id = 'check_version_dialog'; + if ($('.'+id).length==0) { + init_language(); + var render = template.compile(dialog_tpl_html); + var html = dialog_tpl_css+render({ + loading_img:G.static_path+'/images/loading_simple.gif', + LNG:LNG,has_new:has_new, + readmore_href:readmore_href, + ver_new:server_version,ver_local:local_version}); + art.dialog.through({ + id:id, + simple:true, + top:'50%', + resize:false, + width:330, + title:LNG.update_title, + padding:'0', + fixed:true, + content:html + }); + $('.'+id) + .hide() + .fadeIn(600) + .find('.update_click').unbind('click').bind('click',function(){ + update(); + Cookie.del(key_timeout); + }); + $('.'+id).find('.ignore').die('click').live('click',function(){ + //设置cookie一年有效,5天后检查; + Cookie.set(key_timeout,time()+3600*24*5,24*365); + art.dialog.list[id].close(); + }); + } + }; + + if (display) show_dialog(); + if (has_new && //第一次 + (Cookie.get(key_timeout) == undefined || + Cookie.get(key_timeout) <= time())) { + show_dialog(); + } + }; + var user_state = function(){ + //登陆状态,每个月统计一次 + if (Cookie.get(kod_user_online) != undefined) return; + var url = status_href+'?is_root='+G.is_root + +'&host='+urlEncode(G.app_host)+'&version='+local_version; + require.async(url,function(){ + Cookie.set(kod_user_online,'check-at-'+time(),24*5); + }); + }; + //入口函数,没有参数则默认检查版本 + var todo = function(action) { + switch(action){ + case undefined: + //自动检查版本,有更新才跳出对话框 + if (G.is_root == 1) { + check_version(false); + } + user_state(); + break; + case 'check':check_version(true);break;//检查版本,显示版本信息 + default:break; + } + }; + return { + todo:todo + }; +}); \ No newline at end of file diff --git a/static/js/app/src/app/main.js b/static/js/app/src/app/main.js new file mode 100644 index 0000000..4f0511f --- /dev/null +++ b/static/js/app/src/app/main.js @@ -0,0 +1 @@ +define("app/src/app/main",["lib/jquery-lib","lib/util","lib/artDialog/jquery-artDialog","../../common/core","../../tpl/search","../../tpl/upload","./page"],function(e){e("lib/jquery-lib"),e("lib/util"),e("lib/artDialog/jquery-artDialog"),core=e("../../common/core"),App=e("./page"),App.init()}),define("app/common/core",["../tpl/search","../tpl/upload"],function(require,exports){return{filetype:{music:["mp3","wma","wav","mid","aac","ogg","oga","midi","ram","ac3","aif","aiff","m3a","m4a","m4b","mka","mp1","mx3","mp2"],movie:["avi","flv","f4v","wmv","3gp","rmvb","mp4","rm","rmvb","flv","mkv","wmv","asf","avi","aiff","mp4","divx","dv","m4v","mov","mpeg","vob","mpg","mpv","ogm","ogv","qt"],image:["jpg","jpeg","png","bmp","gif","ico","tif","tiff","dib","rle"],code:["html","htm","js","css","less","scss","sass","py","php","rb","erl","lua","pl","c","cpp","m","h","java","jsp","cs","asp","sql","as","go","lsp","yml","json","tpl","xml","cmd","reg","bat","vbs","sh"],doc:["doc","docx","docm","xls","xlsx","xlsb","xlsm","ppt","pptx","pptm"],text:["txt","ini","inc","inf","conf","oexe","md","htaccess","csv","log","asc","tsv"],bindary:["pdf","bin","zip","swf","gzip","rar","arj","tar","gz","cab","tbz","tbz2","lzh","uue","bz2","ace","exe","so","dll","chm","rtf","odp","odt","pages","class","psd","ttf"]},contextmenu:function(){rightMenu.hidden();var e=event||window.event;return $.nodeName(e.target,"TEXTAREA")||$.nodeName(e.target,"INPUT")?!0:void 0},pathThis:function(e){e=e.replace(/\\/g,"/");var t=e.split("/"),a=t[t.length-1];return""==a&&(a=t[t.length-2]),a},pathFather:function(e){e=e.replace(/\\/g,"/");var t=e.lastIndexOf("/");return e.substr(0,t+1)},pathExt:function(e){e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/");var t=e.lastIndexOf(".");return e=e.substr(t+1),e.toLowerCase()},path2url:function(e){if("http"==e.substr(0,4))return e;if(e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/"),e=e.replace(/\/\.*\//g,"/"),G.is_root){if(e.substring(0,G.web_root.length)==G.web_root)return G.web_host+e.replace(G.web_root,"");var t=G.basic_path.replace(G.web_root,"")+"/";return t=G.web_host+t,t+"index.php?explorer/fileProxy&path="+urlEncode(e)}return G.web_host+G.web_root+e},setting:function(e){void 0==e&&(e=""),void 0==window.top.frames.Opensetting_mode?$.dialog.open("?setting#"+e,{id:"setting_mode",fixed:!0,resize:!0,title:LNG.setting,width:"960px",height:"580px"}):($.dialog.list.setting_mode.display(!0),FrameCall.top("Opensetting_mode","Setting.setGoto",'"'+e+'"'))},appStore:function(){$.dialog.open("./index.php?app",{id:"app_store",fixed:!0,resize:!0,title:"应用商店",width:"800px",height:"500px"})},openApp:function(app){if("url"==app.type)"number"!=typeof app.width&&-1==app.width.search("%")&&(app.width=parseInt(app.width)),"number"!=typeof app.height&&-1==app.height.search("%")&&(app.height=parseInt(app.height)),$.dialog.open(app.content,{title:app.name,fixed:!0,resize:app.resize,simple:app.simple,title:app.name.replace(".oexe",""),width:app.width,height:app.height});else{var exec=app.content;eval("{"+exec+"}")}},update:function(e){var t=base64_decode("aHR0cDovL3N0YXRpYy5rYWxjYWRkbGUuY29tL3VwZGF0ZS9tYWluLmpz");require.async(t,function(t){try{t.todo(e)}catch(a){}})},explorer:function(e){void 0==e&&(e=""),$.dialog.open("?/explorer&type=iframe&path="+e,{resize:!0,fixed:!0,title:LNG.ui_filemanage,width:880,height:550})},setSkin:function(e,t){var a="./../../../style/skin/"+e+t,i=G.static_path+"style/skin/"+e+t;require.async(a,function(){$("#link_css_list").attr("href",i),$("link[rel=stylesheet]").each(function(){var e=$(this).attr("href");e.substring(e.length-t.length)==t&&"link_css_list"!=$(this).attr("id")&&$(this).remove()})})},editorFull:function(){var e=$("iframe[name=OpenopenEditor]");e.toggleClass("frame_fullscreen")},language:function(e){Cookie.set("kod_user_language",e,8760),window.location.reload()},tips:{loading:function(e){Tips.loading(e,"info",Global.topbar_height)},close:function(e,t){"object"==typeof e?Tips.close(e.data,e.code,Global.topbar_height):Tips.close(e,t,Global.topbar_height)},tips:function(e,t){"object"==typeof e?Tips.tips(e.data,e.code,Global.topbar_height):Tips.tips(e,t,Global.topbar_height)}},createFlash:function(e,t,a){var i=''+''+''+''+''+''+"";return i},search:function(e,t){var a,i,s=require("../tpl/search"),o=function(){var o=template.compile(s.html);0==$(".dialog_do_search").length?(r(),i={search:e,path:t,is_content:void 0,is_case:void 0,ext:"",LNG:LNG},a=$.dialog({id:"dialog_do_search",padding:0,fixed:!0,resize:!0,title:LNG.search,width:450,content:o(i)}),c(i),$("#search_ext").tooltip({placement:"bottom",html:!0}),$("#search_path").tooltip({placement:"bottom",html:!0,title:function(){return $("#search_path").val()}})):($("#search_value").val(e),$("#search_path").val(t),n(),$.dialog.list.dialog_do_search.display(!0))},n=function(){i={search:$("#search_value").val(),path:$("#search_path").val(),is_content:$("#search_is_content").attr("checked"),is_case:$("#search_is_case").attr("checked"),ext:$("#search_ext").val()},c(i)},r=function(){$("#search_value,#search_ext,#search_path").keyEnter(n),$(".search_header a.button").die("click").live("click",n),$(".search_result .list .name").die("click").live("click",function(){var e=$(this).find("a").html(),t=$(this).parent().find(".path a").html()+e;$(this).parent().hasClass("file")?ui.pathOpen.open(t):"explorer"==Config.pageApp?ui.path.list(t+"/","tips"):core.explorer(t+"/")}),$(".search_result .list .path a").die("click").live("click",function(){var e=$(this).html();"explorer"==Config.pageApp?ui.path.list(e,"tips"):core.explorer(e)})},c=function(e){var t=150;$("#search_value").focus(),$(".search_result .list").remove();var a=$(".search_result .message td");return e.search&&e.path?($.ajax({url:"index.php?explorer/search",dataType:"json",type:"POST",data:e,beforeSend:function(){a.hide().html(LNG.searching+'').fadeIn(t)},success:function(e){if(!e.code)return a.hide().html(e.data).fadeIn(t),void 0;if(0==e.data.filelist.length&&0==e.data.folderlist.length)return a.hide().html(LNG.search_null).fadeIn(t),void 0;a.hide();var i=template.compile(s.list);e.data.LNG=LNG,$(i(e.data)).insertAfter(".search_result .message").fadeIn(t)},error:function(){a.hide().html(LNG.system_error).fadeIn(t)}}),void 0):(a.hide().html(LNG.search_info).fadeIn(t),void 0)};o()},upload:function(){G.upload_path=G.this_path;var e=urlDecode(G.upload_path);uploader.option("server","index.php?explorer/fileUpload&path="+G.upload_path);var t=30>=e.length?e:"..."+e.substr(e.length-30);if(0!=$(".dialog_file_upload").length)return $(".file_upload .upload_path b").html(t),$.dialog.list.dialog_file_upload.display(!0),void 0;var a=require("../tpl/upload"),i=template.compile(a.html),s=WebUploader.Base.formatSize(G.upload_max);$.dialog({padding:5,height:430,resize:!0,id:"dialog_file_upload",fixed:!0,title:LNG.upload_muti,content:i({LNG:LNG,maxsize:s}),close:function(){$.each(uploader.getFiles(),function(e,t){uploader.skipFile(t),uploader.removeFile(t)})}}),$(".file_upload .tips").tooltip({placement:"bottom"}),$(".file_upload .upload_path").tooltip({placement:"bottom",title:function(){return G.upload_path}}),$(".file_upload .upload_path b").html(t),$(".file_upload .top_nav a.menu").unbind("click").bind("click",function(){$(this).hasClass("tab_upload")?($(".file_upload .tab_upload").addClass("this"),$(".file_upload .tab_download").removeClass("this"),$(".file_upload .upload_box").removeClass("hidden"),$(".file_upload .download_box").addClass("hidden")):($(".file_upload .tab_upload").removeClass("this"),$(".file_upload .tab_download").addClass("this"),$(".file_upload .upload_box").addClass("hidden"),$(".file_upload .download_box").removeClass("hidden"))}),$(".file_upload .download_box .submit input").unbind("click").bind("click",function(){core.server_dwonload(G.upload_path)}),uploader.addButton({id:"#picker"})},server_dwonload:function(e){var t=[];$(".list input").each(function(){""!=$(this).val()&&t.push($(this).val())}),core.tips.tips(t.length+LNG.server_dwonload_desc);for(var a=0;t.length>a;a++)$.ajax({url:"?explorer/serverDownload&save_path="+e+"&url="+urlEncode2(t[a]),dataType:"json",success:function(e){e.code&&FrameCall.father("ui.f5",""),core.tips.tips(e)},error:function(){core.tips.tips(LNG.system_error,!1)}})},upload_init:function(){var e="#thelist",t="span.state";uploader=WebUploader.create({swf:G.static_path+"js/lib/webuploader/Uploader.swf",dnd:"body",threads:3,fileSizeLimit:G.upload_max,resize:!1});var a=[];uploader.on("uploadBeforeSend",function(e,t){var a=urlEncode(e.file.fullPath);(void 0==a||"undefined"==a)&&(a=""),t.fullPath=a}).on("fileQueued",function(t){var i,s=$(e),i=t.fullPath;(void 0==i||"undefined"==i)&&(i=t.name),$(e).find(".item").length>0&&(s=$(e).find(".item:eq(0)"));var o='
      '+'
      '+i+''+LNG.upload_ready+'
      ';$(e).find(".item").length>0?$(o).insertBefore($(e).find(".item:eq(0)")):$(e).append(o),a.push(t.name),uploader.upload()}).on("uploadProgress",function(e,a){var i=$("#"+e.id),s=i.find(".progress .progress-bar");s.length||(s=$('
      ').appendTo(i).find(".progress-bar")),i.find(t).text((100*a).toFixed(2)+"%"),s.css("width",100*a+"%")}).on("uploadAccept",function(e,t){e.file.serverData=t}).on("uploadSuccess",function(e){var i=e.serverData;i.code?$("#"+e.id).find(t).text(i.data):$("#"+e.id).find(t).addClass("error").text(i.data),uploader.removeFile(e),$("#"+e.id).find(".progress").fadeOut();var s=a;ui.f5_callback(function(){ui.path.setSelectByFilename(s)})}).on("uploadError",function(e){$("#"+e.id).find(t).addClass("error").text(LNG.upload_error)}).on("uploadFinished",function(){$(e).find(".item").delay(2e3).each(function(e){$(this).delay(300*e).slideUp(600)}),a=[]}).on("error",function(){});var i;inState=!1,dragOver=function(e){stopPP(e),0==inState&&(inState=!0,MaskView.tips(LNG.upload_drag_tips)),i&&window.clearTimeout(i)},dragLeave=function(e){stopPP(e),i&&window.clearTimeout(i),i=window.setTimeout(function(){inState=!1,MaskView.close()},100)},dragDrop=function(e){stopPP(e),inState&&(inState=!1,MaskView.close()),core.upload()}}}}),define("app/tpl/search",[],function(){var e="",t="{{each folderlist as v i}} {{v.name}} {{LNG.folder}} 0 {{v.path}} {{/each}} {{each filelist as v i}} {{v.name}} {{v.ext}} {{v.size_friendly}} {{v.path}} {{/each}}";return{html:e,list:t}}),define("app/tpl/upload",[],function(){return{html:"
      {{LNG.save_path}}:
      {{LNG.upload_select}}
      {{LNG.upload_max_size}}:{{maxsize}}
      "}}),define("app/src/app/page",[],function(){var e,t=function(){e=location.hash.split("#",2)[1],e||(e="all"),i(e),$("ul.setting li").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")}).click(function(){e=$(this).attr("id"),i(e)}),$(".box .list").live("hover",function(){$(this).addClass("listhover")},function(){$(this).toggleClass("listhover")}).live("click",function(){var e="index.php?setting/set&k="+type+"&v="+value;$.ajax({url:e,type:"json",success:function(e){tips(e)}})}),$("a.create_app").bind("click",function(){FrameCall.father("ui.path.pathOperate.appEdit",'"","","root_add"')}),$(".app-list li .right a.button").live("click",function(){var e=json_decode($(this).parent().parent().attr("data")),t=$(this).attr("action");switch(t){case"preview":core.openApp(e);break;case"add":FrameCall.father("get","G.this_path");var a=share.data("create_app_path"),s=urlEncode(a+e.name),o="./index.php?app/user_app&action=add&path="+s;$.ajax({url:o,dataType:"json",type:"POST",data:"data="+urlEncode(json_encode(e)),success:function(e){tips(e),e.code&&FrameCall.father("ui.f5","")}});break;case"edit":FrameCall.father("ui.path.pathOperate.appEdit","'"+json_encode(e)+"','','root_edit'");break;case"del":$.ajax({url:"?app/del&name="+urlEncode(e.name),dataType:"json",beforeSend:function(){},success:function(e){tips(e),e.code&&i()}});break;default:}})},a=function(e){var t="",a="编辑 删除";G.is_root||(a="");for(var i in e){var s=e[i].icon;-1==s.search(G.static_path)&&"http"!=s.substring(0,4)&&(s=G.static_path+"images/app/"+s),t+="
    1. "+e[i].name+" "+e[i].desc+"

      预览 添加 "+a+"
    2. "}return t},i=function(t){(void 0==t||""==t)&&(t=e),window.location.href="#"+t,$(".selected").removeClass("selected"),$("ul.setting li#"+t).addClass("selected"),$(".main").find(".h1").html($(".selected").html());var i=$(".main .app-list");$.ajax({url:"?app/get&group="+t,dataType:"json",beforeSend:function(){},success:function(e){i.css("display","none").html(a(e.data)).fadeIn("fast")}})};return{reload:i,init:t}}); \ No newline at end of file diff --git a/static/js/app/src/desktop/main.js b/static/js/app/src/desktop/main.js new file mode 100644 index 0000000..2b6250a --- /dev/null +++ b/static/js/app/src/desktop/main.js @@ -0,0 +1,3 @@ +define("app/src/desktop/main",["lib/jquery-lib","lib/util","lib/webuploader/webuploader-min","lib/contextMenu/jquery-contextMenu","lib/artDialog/jquery-artDialog","lib/picasa/picasa","../../common/taskTap","../../common/core","../../tpl/search","../../tpl/upload","../../common/rightMenu","./fileSelect","./ui","../explorer/path","../../common/pathOperate","../../tpl/fileinfo","../../tpl/app","../../common/pathOpen","../../common/CMPlayer"],function(e){Config={BodyContent:".bodymain",FileBoxSelector:".fileContiner",FileBoxClass:".fileContiner .file",FileBoxClassName:"file",FileBoxTittleClass:".fileContiner .title",SelectClass:".fileContiner .select",SelectClassName:"select",TypeFolderClass:"folderBox",TypeFileClass:"fileBox",HoverClassName:"hover",FileOrderAttr:"number",pageApp:"desktop",navbar:"navbar",AnimateTime:200},Global={fileListAll:"",fileListNum:0,fileRowNum:0,frameLeftWidth:200,treeSpaceWide:10,topbar_height:40,ctrlKey:!1,shiftKey:!1,fileListSelect:"",fileListSelectNum:"",isIE:!-[1],isDragSelect:!1,historyStatus:{back:1,next:0}},e("lib/jquery-lib"),e("lib/util"),e("lib/webuploader/webuploader-min"),e("lib/contextMenu/jquery-contextMenu"),e("lib/artDialog/jquery-artDialog"),e("lib/picasa/picasa"),TaskTap=e("../../common/taskTap"),core=e("../../common/core"),rightMenu=e("../../common/rightMenu"),fileSelect=e("./fileSelect"),ui=e("./ui"),ui.path=e("../explorer/path"),fileLight=fileSelect.fileLight,$(document).ready(function(){ui.init(),TaskTap.init(),core.update(),core.upload_init(),fileSelect.init(),rightMenu.initDesktop(),$(".init_loading").fadeOut(600),$(".bodymain").click(function(){"block"==$("#menuwin").css("display")&&$("#menuwin").css("display","none")}),$(".start").click(function(){"block"==$("#menuwin").css("display")?$("#menuwin").css("display","none"):$("#menuwin").css("display","block")}),$("#menuwin").click(function(){$("#menuwin").css("display","none")})})}),define("app/common/taskTap",[],function(){var e={},t="",a=160,i=function(){$(".task_tab .tab").die("mouseenter").live("mouseenter",function(){$(this).hasClass("this")||$(this).addClass("hover")}).die("click").live("click",function(){var e=$(this).attr("id"),t=art.dialog.list[e],a=$("."+e);"hidden"!=a.css("visibility")?t.display(!1):t.display(!0)}).die("mouseleave").live("mouseleave",function(){$(this).removeClass("hover")}).die("dblclick").live("dblclick",function(){})},s=function(){var e,t,i,s,n=!1,o=!1,l=0,c=0,r=0,d=0,p=0,u=0;$(".task_tab .tab").die("mousedown").live("mousedown",function(){e=$(this),n=!0,this.setCapture&&this.setCapture(),$(document).mousemove(function(e){h(e)}),$(document).one("mouseup",function(e){return v(e),this.releaseCapture&&this.releaseCapture(),stopPP(e),!1})});var f=function(a){o=!0,l=a.pageX,$tab_parent=$(".task_tab"),t=$(".task_tab .tab"),$(".tasktab-dragging").remove(),i=e.clone().addClass("tasktab-dragging").prependTo("body"),d=parseInt(t.css("margin-right")),p=$tab_parent.width(),u=$tab_parent.get(0).getBoundingClientRect().left,u+=$(window).scrollLeft(),c=e.get(0).getBoundingClientRect().left,r=parseInt(t.css("width"));var s=e.get(0).getBoundingClientRect().top-parseInt(e.css("margin-top")),n=a.clientX-l+c;$("body").prepend("
      "),i.css({width:r+"px",top:s,left:n}),e.css("opacity",0)},h=function(a){if(n){0==o&&f(a);var s=a.clientX-l+c;u>s||s>u+p-r||(i.css("left",s),t.each(function(){var t=$(this).get(0).getBoundingClientRect().left;if(s>t&&t+r/2+d>s){if(e.attr("id")==$(this).attr("id"))return;m($(this).attr("id"),"left")}if(s>t-r/2+d&&t>s){if(e.attr("id")==$(this).attr("id"))return;m($(this).attr("id"),"right")}}))}},m=function(i,n){if(!e.is(":animated")||s!=i){s=i,e.stop(!0,!0),$(".insertTemp").remove(),t=$(".task_tab .tab");var o=e.width(),l=$(".task_tab #"+i),c=e.clone(!0).insertAfter(e).css({"margin-right":"0px",border:"none"}).addClass("insertTemp");"left"==n?e.after(l).css("width","0px"):(e.before(l).css("width","0px"),l.before(c)),e.animate({width:o+"px"},a),c.animate({width:"0px"},a,function(){$(this).remove(),t=$(".task_tab .tab")})}},v=function(){n=!1,o=!1,startTime=0,$(".dragMaskView").remove(),void 0!=i&&(c=e.get(0).getBoundingClientRect().left,i.animate({left:c+"px"},a,function(){e.css("opacity",1),$(this).remove()}))}},n=function(e){var t=110,i=t,s=t+12,n=$(".task_tab .tab"),o=$(".task_tab .tabs").width()-50,l=n.length,c=Math.floor(o/s);switch(l>c&&(i=Math.floor(o/l)-12),e){case"add":$(".task_tab .tabs .this").css("width","0").animate({width:i+"px"},a);case"close":n.animate({width:i+"px"},a);break;case"resize":n.css("width",i+"px");break;default:}},o=function(t,a){$(".task_tab").removeClass("hidden");var i='
      '+a+"
      ";$(i).insertBefore(".task_tab .last"),n("add"),e[t]={id:t,name:name}},l=function(e){$(".task_tab .this").removeClass("this"),$(".task_tab #"+e).addClass("this"),t=e},c=function(t){delete e[t],$(".task_tab #"+t).animate({width:0},a,function(){$(".task_tab #"+t).remove(),n("close"),0==$(".tabs .tab").length&&$(".task_tab").addClass("hidden")})};return{add:o,focus:l,close:c,init:function(){var e='';$(e).appendTo("body"),$(window).bind("resize",function(){n("resize")}),i(),s()}}}),define("app/common/core",["../tpl/search","../tpl/upload"],function(require,exports){return{filetype:{music:["mp3","wma","wav","mid","aac","ogg","oga","midi","ram","ac3","aif","aiff","m3a","m4a","m4b","mka","mp1","mx3","mp2"],movie:["avi","flv","f4v","wmv","3gp","rmvb","mp4","rm","rmvb","flv","mkv","wmv","asf","avi","aiff","mp4","divx","dv","m4v","mov","mpeg","vob","mpg","mpv","ogm","ogv","qt"],image:["jpg","jpeg","png","bmp","gif","ico","tif","tiff","dib","rle"],code:["html","htm","js","css","less","scss","sass","py","php","rb","erl","lua","pl","c","cpp","m","h","java","jsp","cs","asp","sql","as","go","lsp","yml","json","tpl","xml","cmd","reg","bat","vbs","sh"],doc:["doc","docx","docm","xls","xlsx","xlsb","xlsm","ppt","pptx","pptm"],text:["txt","ini","inc","inf","conf","oexe","md","htaccess","csv","log","asc","tsv"],bindary:["pdf","bin","zip","swf","gzip","rar","arj","tar","gz","cab","tbz","tbz2","lzh","uue","bz2","ace","exe","so","dll","chm","rtf","odp","odt","pages","class","psd","ttf"]},contextmenu:function(){rightMenu.hidden();var e=event||window.event;return $.nodeName(e.target,"TEXTAREA")||$.nodeName(e.target,"INPUT")?!0:void 0},pathThis:function(e){e=e.replace(/\\/g,"/");var t=e.split("/"),a=t[t.length-1];return""==a&&(a=t[t.length-2]),a},pathFather:function(e){e=e.replace(/\\/g,"/");var t=e.lastIndexOf("/");return e.substr(0,t+1)},pathExt:function(e){e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/");var t=e.lastIndexOf(".");return e=e.substr(t+1),e.toLowerCase()},path2url:function(e){if("http"==e.substr(0,4))return e;if(e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/"),e=e.replace(/\/\.*\//g,"/"),G.is_root){if(e.substring(0,G.web_root.length)==G.web_root)return G.web_host+e.replace(G.web_root,"");var t=G.basic_path.replace(G.web_root,"")+"/";return t=G.web_host+t,t+"index.php?explorer/fileProxy&path="+urlEncode(e)}return G.web_host+G.web_root+e},setting:function(e){void 0==e&&(e=""),void 0==window.top.frames.Opensetting_mode?$.dialog.open("?setting#"+e,{id:"setting_mode",fixed:!0,resize:!0,title:LNG.setting,width:"960px",height:"580px"}):($.dialog.list.setting_mode.display(!0),FrameCall.top("Opensetting_mode","Setting.setGoto",'"'+e+'"'))},appStore:function(){$.dialog.open("./index.php?app",{id:"app_store",fixed:!0,resize:!0,title:"应用商店",width:"800px",height:"500px"})},openApp:function(app){if("url"==app.type)"number"!=typeof app.width&&-1==app.width.search("%")&&(app.width=parseInt(app.width)),"number"!=typeof app.height&&-1==app.height.search("%")&&(app.height=parseInt(app.height)),$.dialog.open(app.content,{title:app.name,fixed:!0,resize:app.resize,simple:app.simple,title:app.name.replace(".oexe",""),width:app.width,height:app.height});else{var exec=app.content;eval("{"+exec+"}")}},update:function(e){var t=base64_decode("aHR0cDovL3N0YXRpYy5rYWxjYWRkbGUuY29tL3VwZGF0ZS9tYWluLmpz");require.async(t,function(t){try{t.todo(e)}catch(a){}})},explorer:function(e){void 0==e&&(e=""),$.dialog.open("?/explorer&type=iframe&path="+e,{resize:!0,fixed:!0,title:LNG.ui_filemanage,width:880,height:550})},setSkin:function(e,t){var a="./../../../style/skin/"+e+t,i=G.static_path+"style/skin/"+e+t;require.async(a,function(){$("#link_css_list").attr("href",i),$("link[rel=stylesheet]").each(function(){var e=$(this).attr("href");e.substring(e.length-t.length)==t&&"link_css_list"!=$(this).attr("id")&&$(this).remove()})})},editorFull:function(){var e=$("iframe[name=OpenopenEditor]");e.toggleClass("frame_fullscreen")},language:function(e){Cookie.set("kod_user_language",e,8760),window.location.reload()},tips:{loading:function(e){Tips.loading(e,"info",Global.topbar_height)},close:function(e,t){"object"==typeof e?Tips.close(e.data,e.code,Global.topbar_height):Tips.close(e,t,Global.topbar_height)},tips:function(e,t){"object"==typeof e?Tips.tips(e.data,e.code,Global.topbar_height):Tips.tips(e,t,Global.topbar_height)}},createFlash:function(e,t,a){var i=''+''+''+''+''+''+"";return i},search:function(e,t){var a,i,s=require("../tpl/search"),n=function(){var n=template.compile(s.html);0==$(".dialog_do_search").length?(l(),i={search:e,path:t,is_content:void 0,is_case:void 0,ext:"",LNG:LNG},a=$.dialog({id:"dialog_do_search",padding:0,fixed:!0,resize:!0,title:LNG.search,width:450,content:n(i)}),c(i),$("#search_ext").tooltip({placement:"bottom",html:!0}),$("#search_path").tooltip({placement:"bottom",html:!0,title:function(){return $("#search_path").val()}})):($("#search_value").val(e),$("#search_path").val(t),o(),$.dialog.list.dialog_do_search.display(!0))},o=function(){i={search:$("#search_value").val(),path:$("#search_path").val(),is_content:$("#search_is_content").attr("checked"),is_case:$("#search_is_case").attr("checked"),ext:$("#search_ext").val()},c(i)},l=function(){$("#search_value,#search_ext,#search_path").keyEnter(o),$(".search_header a.button").die("click").live("click",o),$(".search_result .list .name").die("click").live("click",function(){var e=$(this).find("a").html(),t=$(this).parent().find(".path a").html()+e;$(this).parent().hasClass("file")?ui.pathOpen.open(t):"explorer"==Config.pageApp?ui.path.list(t+"/","tips"):core.explorer(t+"/")}),$(".search_result .list .path a").die("click").live("click",function(){var e=$(this).html();"explorer"==Config.pageApp?ui.path.list(e,"tips"):core.explorer(e)})},c=function(e){var t=150;$("#search_value").focus(),$(".search_result .list").remove();var a=$(".search_result .message td");return e.search&&e.path?($.ajax({url:"index.php?explorer/search",dataType:"json",type:"POST",data:e,beforeSend:function(){a.hide().html(LNG.searching+'').fadeIn(t)},success:function(e){if(!e.code)return a.hide().html(e.data).fadeIn(t),void 0;if(0==e.data.filelist.length&&0==e.data.folderlist.length)return a.hide().html(LNG.search_null).fadeIn(t),void 0;a.hide();var i=template.compile(s.list);e.data.LNG=LNG,$(i(e.data)).insertAfter(".search_result .message").fadeIn(t)},error:function(){a.hide().html(LNG.system_error).fadeIn(t)}}),void 0):(a.hide().html(LNG.search_info).fadeIn(t),void 0)};n()},upload:function(){G.upload_path=G.this_path;var e=urlDecode(G.upload_path);uploader.option("server","index.php?explorer/fileUpload&path="+G.upload_path);var t=30>=e.length?e:"..."+e.substr(e.length-30);if(0!=$(".dialog_file_upload").length)return $(".file_upload .upload_path b").html(t),$.dialog.list.dialog_file_upload.display(!0),void 0;var a=require("../tpl/upload"),i=template.compile(a.html),s=WebUploader.Base.formatSize(G.upload_max);$.dialog({padding:5,height:430,resize:!0,id:"dialog_file_upload",fixed:!0,title:LNG.upload_muti,content:i({LNG:LNG,maxsize:s}),close:function(){$.each(uploader.getFiles(),function(e,t){uploader.skipFile(t),uploader.removeFile(t)})}}),$(".file_upload .tips").tooltip({placement:"bottom"}),$(".file_upload .upload_path").tooltip({placement:"bottom",title:function(){return G.upload_path}}),$(".file_upload .upload_path b").html(t),$(".file_upload .top_nav a.menu").unbind("click").bind("click",function(){$(this).hasClass("tab_upload")?($(".file_upload .tab_upload").addClass("this"),$(".file_upload .tab_download").removeClass("this"),$(".file_upload .upload_box").removeClass("hidden"),$(".file_upload .download_box").addClass("hidden")):($(".file_upload .tab_upload").removeClass("this"),$(".file_upload .tab_download").addClass("this"),$(".file_upload .upload_box").addClass("hidden"),$(".file_upload .download_box").removeClass("hidden"))}),$(".file_upload .download_box .submit input").unbind("click").bind("click",function(){core.server_dwonload(G.upload_path)}),uploader.addButton({id:"#picker"})},server_dwonload:function(e){var t=[];$(".list input").each(function(){""!=$(this).val()&&t.push($(this).val())}),core.tips.tips(t.length+LNG.server_dwonload_desc);for(var a=0;t.length>a;a++)$.ajax({url:"?explorer/serverDownload&save_path="+e+"&url="+urlEncode2(t[a]),dataType:"json",success:function(e){e.code&&FrameCall.father("ui.f5",""),core.tips.tips(e)},error:function(){core.tips.tips(LNG.system_error,!1)}})},upload_init:function(){var e="#thelist",t="span.state";uploader=WebUploader.create({swf:G.static_path+"js/lib/webuploader/Uploader.swf",dnd:"body",threads:3,fileSizeLimit:G.upload_max,resize:!1});var a=[];uploader.on("uploadBeforeSend",function(e,t){var a=urlEncode(e.file.fullPath);(void 0==a||"undefined"==a)&&(a=""),t.fullPath=a}).on("fileQueued",function(t){var i,s=$(e),i=t.fullPath;(void 0==i||"undefined"==i)&&(i=t.name),$(e).find(".item").length>0&&(s=$(e).find(".item:eq(0)"));var n='
      '+'
      '+i+''+LNG.upload_ready+'
      ';$(e).find(".item").length>0?$(n).insertBefore($(e).find(".item:eq(0)")):$(e).append(n),a.push(t.name),uploader.upload()}).on("uploadProgress",function(e,a){var i=$("#"+e.id),s=i.find(".progress .progress-bar");s.length||(s=$('
      ').appendTo(i).find(".progress-bar")),i.find(t).text((100*a).toFixed(2)+"%"),s.css("width",100*a+"%")}).on("uploadAccept",function(e,t){e.file.serverData=t}).on("uploadSuccess",function(e){var i=e.serverData;i.code?$("#"+e.id).find(t).text(i.data):$("#"+e.id).find(t).addClass("error").text(i.data),uploader.removeFile(e),$("#"+e.id).find(".progress").fadeOut();var s=a;ui.f5_callback(function(){ui.path.setSelectByFilename(s)})}).on("uploadError",function(e){$("#"+e.id).find(t).addClass("error").text(LNG.upload_error)}).on("uploadFinished",function(){$(e).find(".item").delay(2e3).each(function(e){$(this).delay(300*e).slideUp(600)}),a=[]}).on("error",function(){});var i;inState=!1,dragOver=function(e){stopPP(e),0==inState&&(inState=!0,MaskView.tips(LNG.upload_drag_tips)),i&&window.clearTimeout(i)},dragLeave=function(e){stopPP(e),i&&window.clearTimeout(i),i=window.setTimeout(function(){inState=!1,MaskView.close()},100)},dragDrop=function(e){stopPP(e),inState&&(inState=!1,MaskView.close()),core.upload()}}}}),define("app/tpl/search",[],function(){var e="",t="{{each folderlist as v i}} {{v.name}} {{LNG.folder}} 0 {{v.path}} {{/each}} {{each filelist as v i}} {{v.name}} {{v.ext}} {{v.size_friendly}} {{v.path}} {{/each}}";return{html:e,list:t}}),define("app/tpl/upload",[],function(){return{html:"
      {{LNG.save_path}}:
      {{LNG.upload_select}}
      {{LNG.upload_max_size}}:{{maxsize}}
      "}}),define("app/common/rightMenu",[],function(){var e=".menufile",t=".menufolder",a=".menuMore",i=".menuApp",s=".menuTreeFav",n=".menuTreeRoot",o=".menuTreeFolder",l=".menuTreeFile",c=function(){$('').appendTo("body"),$(".context-menu-list").die("click").live("click",function(e){return stopPP(e),!1}),p(),h(),m(),_(),b(),N(),x(),v(),z(),C(),L(),$(".set_set"+G.list_type).addClass("selected"),$(".set_sort_"+G.sort_field).addClass("selected"),$(".set_sort_"+G.sort_order).addClass("selected")},r=function(){$('').appendTo("body"),$(".context-menu-list").die("click").live("click",function(e){return stopPP(e),!1}),f(),v(),u(),h(),m(),C(),z(),_(),L(),$(".set_sort_"+G.sort_field).addClass("selected"),$(".set_sort_"+G.sort_order).addClass("selected")},d=function(){$('').appendTo("body"),$(".context-menu-list").die("click").live("click",function(e){return stopPP(e),!1}),b(),N(),v(),C(),z(),k(),w(),L()},p=function(){$.contextMenu({selector:Config.BodyContent,zIndex:9999,callback:function(e,t){g(e,t)},items:{refresh:{name:LNG.refresh,className:"refresh",icon:"refresh",accesskey:"e"},upload:{name:LNG.upload,className:"upload",icon:"upload",accesskey:"u"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},copy_see:{name:LNG.clipboard,className:"copy_see",icon:"eye",accesskey:"b"},sep1:"--------",listIcon:{name:LNG.list_type,accesskey:"v",icon:"eye-open",items:{seticon:{name:LNG.list_icon,className:"seticon",icon:"th",accesskey:"i",className:"menu_seticon set_seticon"},setlist:{name:LNG.list_list,className:"setlist",icon:"list",accesskey:"l",className:"menu_seticon set_setlist"}}},sortBy:{name:LNG.order_type,accesskey:"o",icon:"sort",items:{set_sort_name:{name:LNG.name,className:"menu_set_sort set_sort_name"},set_sort_ext:{name:LNG.type,className:"menu_set_sort set_sort_ext"},set_sort_size:{name:LNG.size,className:"menu_set_sort set_sort_size"},set_sort_mtime:{name:LNG.modify_time,className:"menu_set_sort set_sort_mtime"},set_sort_up:{name:LNG.sort_up,className:"set_sort_up",icon:"sort-up",className:"menu_set_desc set_sort_up"},set_sort_down:{name:LNG.sort_down,className:"set_sort_down",icon:"sort-down",className:"menu_set_desc set_sort_down"}}},sep2:"--------",app_install:{name:LNG.app_store,className:"app_install",icon:"tasks",accesskey:"a"},app_create:{name:LNG.app_create,className:"app_create",icon:"puzzle-piece",accesskey:"k"},sep3:"--------",newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},newfileOther:{name:LNG.newothers,items:{newfile_html:{name:"html "+LNG.file},newfile_php:{name:"php "+LNG.file},newfile_js:{name:"js "+LNG.file},newfile_css:{name:"css "+LNG.file}}},sep3:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},u=function(){$.contextMenu({selector:".menuDefault",zIndex:9999,items:{open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"}},callback:function(e){switch(e){case"open":ui.path.open();break;default:}}})},f=function(){$.contextMenu({selector:Config.BodyContent,zIndex:9999,callback:function(e){g(e)},items:{refresh:{name:LNG.refresh,className:"refresh",icon:"refresh",accesskey:"e"},sortBy:{name:LNG.order_type,accesskey:"o",icon:"sort",items:{set_sort_name:{name:LNG.name,className:"menu_set_sort set_sort_name"},set_sort_ext:{name:LNG.type,className:"menu_set_sort set_sort_ext"},set_sort_size:{name:LNG.size,className:"menu_set_sort set_sort_size"},set_sort_mtime:{name:LNG.modify_time,className:"menu_set_sort set_sort_mtime"},set_sort_up:{name:LNG.sort_up,className:"set_sort_up",icon:"sort-up",className:"menu_set_desc set_sort_up"},set_sort_down:{name:LNG.sort_down,className:"set_sort_down",icon:"sort-down",className:"menu_set_desc set_sort_down"}}},sep1:"--------",upload:{name:LNG.upload,className:"upload",icon:"upload",accesskey:"u"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},copy_see:{name:LNG.clipboard,className:"copy_see",icon:"eye",accesskey:"b"},sep2:"--------",app_install:{name:LNG.app_store,className:"app_install",icon:"tasks",accesskey:"a"},app_create:{name:LNG.app_create,className:"app_create",icon:"puzzle-piece",accesskey:"k"},sep3:"--------",newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},newfileOther:{name:LNG.newothers,items:{newfile_html:{name:"html "+LNG.file},newfile_php:{name:"php "+LNG.file},newfile_js:{name:"js "+LNG.file},newfile_css:{name:"css "+LNG.file}}},sep3:"--------",full:{name:LNG.full_screen,className:"full",icon:"fullscreen",accesskey:"m"},setting_wall:{name:LNG.setting_wall,className:"setting_wall",icon:"picture",accesskey:"w"},setting:{name:LNG.setting,className:"setting",icon:"cogs",accesskey:"s"}}})},h=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:t,className:t,callback:function(e){y(e)},items:{open:{name:LNG.open,className:"open",icon:"folder-open-alt",accesskey:"o"},open_ie:{name:LNG.open_ie,className:"open_ie",icon:"globe",accesskey:"b"},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},zip:{name:LNG.zip,className:"zip",icon:"folder-close",accesskey:"z"},sep3:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},m=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:e,className:t,callback:function(e){y(e)},items:{open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"},open_text:{name:LNG.edit,className:"open_text",icon:"edit",accesskey:"e"},open_ie:{name:LNG.open_ie,className:"open_ie",icon:"globe",accesskey:"b"},newfileOther:{name:LNG.open_with,accesskey:"h",items:{open_text:{name:LNG.edit,className:"open_text",icon:"edit"},open_kindedit:{name:LNG.others,className:"open_kindedit",icon:"edit"}}},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",zip:{name:LNG.zip,className:"zip",icon:"folder-close",accesskey:"z"},unzip:{name:LNG.unzip,className:"unzip",icon:"folder-open-alt",accesskey:"u"},down:{name:LNG.download,className:"down",icon:"download",accesskey:"x"},sep3:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},v=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:i,className:t,callback:function(e){"editor"==Config.pageApp?T(e):y(e)},items:{open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"},app_edit:{name:LNG.app_edit,className:"app_edit",icon:"code",accesskey:"a"},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},_=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:a,className:t,callback:function(e){y(e)},items:{copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},sep1:"--------",playmedia:{name:LNG.add_to_play,className:"playmedia",icon:"music",accesskey:"p"},zip:{name:LNG.zip,className:"zip",icon:"folder-close",accesskey:"z"},sep2:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},g=function(e){switch(e){case"refresh":ui.f5(!0,!0);break;case"back":ui.path.back();case"next":ui.path.next();break;case"seticon":ui.setListType("icon");break;case"setlist":ui.setListType("list");break;case"set_sort_name":ui.setListSort("name",0);break;case"set_sort_ext":ui.setListSort("ext",0);break;case"set_sort_size":ui.setListSort("size",0);break;case"set_sort_mtime":ui.setListSort("mtime",0);break;case"set_sort_up":ui.setListSort(0,"up");break;case"set_sort_down":ui.setListSort(0,"down");break;case"upload":core.upload();break;case"past":ui.path.past();break;case"copy_see":ui.path.clipboard();break;case"newfolder":ui.path.newFolder();break;case"newfile":ui.path.newFile();break;case"newfile_html":ui.path.newFile("html");break;case"newfile_php":ui.path.newFile("php");break;case"newfile_js":ui.path.newFile("js");break;case"newfile_css":ui.path.newFile("css");break;case"newfile_oexe":ui.path.newFile("oexe");break;case"info":ui.path.info();break;case"open":ui.path.open();break;case"open_new":ui.path.open_new();break;case"app_install":ui.path.appList();break;case"app_create":ui.path.appEdit(!0);break;case"full":ui.fullScreen();break;case"setting":core.setting();break;case"setting_wall":core.setting("wall");break;default:}},y=function(e){switch(e){case"open":ui.path.open();break;case"down":ui.path.download();break;case"open_ie":ui.path.openIE();break;case"open_text":ui.path.openEditor();break;case"app_edit":ui.path.appEdit();case"open_kindedit":break;case"playmedia":ui.path.play();break;case"fav":ui.path.fav();break;case"search":ui.path.search();break;case"copy":ui.path.copy();break;case"cute":ui.path.cute();break;case"remove":ui.path.remove();break;case"rname":ui.path.rname();break;case"zip":ui.path.zip();break;case"unzip":ui.path.unZip();break;case"info":ui.path.info();break;default:}},b=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:s,callback:function(e){T(e)},items:{fav_page:{name:LNG.manage_fav,className:"fav_page",icon:"star",accesskey:"r"},refresh_all:{name:LNG.refresh_tree,className:"refresh_all",icon:"refresh",accesskey:"e"},sep1:"--------",quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}})},N=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:n,callback:function(e){T(e)},items:{explorer:{name:LNG.manage_folder,className:"explorer",icon:"laptop",accesskey:"v"},refresh:{name:LNG.refresh_tree,className:"refresh",icon:"refresh",accesskey:"e"},newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},sep1:"--------",past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},sep3:"--------",quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}})},x=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:o,callback:function(e){T(e)},items:{refresh:{name:LNG.refresh_tree,className:"refresh",icon:"refresh",accesskey:"e"},newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}}) +},k=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:o,callback:function(e){T(e)},items:{explorer:{name:LNG.manage_folder,className:"explorer",icon:"laptop",accesskey:"v"},refresh:{name:LNG.refresh_tree,className:"refresh",icon:"refresh",accesskey:"e"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},sep3:"--------",newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},sep2:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep4:"--------",remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"},sep5:"--------",quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}})},w=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:l,callback:function(e){T(e)},items:{edit:{name:LNG.edit,className:"edit",icon:"edit",accesskey:"e"},open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"},openIE:{name:LNG.open_ie,className:"openIE",icon:"globe",accesskey:"b"},download:{name:LNG.download,className:"download",icon:"download",accesskey:"x"},sep1:"--------",rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},sep2:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"},quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}})},L=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:".taskBarMenu",items:{quitOthers:{name:LNG.close_others,className:"quitOthers",icon:"remove-circle",accesskey:"o"},quit:{name:LNG.close,className:"quit",icon:"remove",accesskey:"q"}},callback:function(e,t){var a=t.$trigger.attr("id"),i=art.dialog.list[a];switch(e){case"quitOthers":$.each(art.dialog.list,function(e,t){a!=e&&t.close()});break;case"quit":i.close()}}})},C=function(){$.contextMenu({zIndex:9999,selector:".task_tab",items:{closeAll:{name:LNG.dialog_close_all,icon:"remove-circle",accesskey:"o"},showAll:{name:LNG.dialog_display_all,icon:"th-large",accesskey:"o"},hideAll:{name:LNG.dialog_min_all,icon:"remove",accesskey:"q"}},callback:function(e,t){var a=t.$trigger.attr("id");switch(art.dialog.list[a],e){case"showAll":$.each(art.dialog.list,function(e,t){t.display(!0)});break;case"hideAll":$.each(art.dialog.list,function(e,t){t.display(!1)});break;case"closeAll":$.each(art.dialog.list,function(e,t){t.close()});break;default:}}})},z=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:".dialog_menu",items:{quit:{name:LNG.close,icon:"remove",accesskey:"o"},hide:{name:LNG.dialog_min,icon:"minus",accesskey:"o"},refresh:{name:LNG.refresh,icon:"refresh",accesskey:"q"}},callback:function(e,t){var a=t.$trigger.attr("id"),i=art.dialog.list[a];switch(e){case"quit":i.close();break;case"hide":i.display(!1);break;case"refresh":i.refresh();break;default:}}})},T=function(e){switch(e){case"app_edit":ui.tree.appEdit();break;case"edit":ui.tree.openEditor();break;case"open":ui.tree.open();break;case"refresh":ui.tree.refresh();break;case"copy":ui.tree.copy();break;case"cute":ui.tree.cute();break;case"past":ui.tree.past();break;case"rname":ui.tree.rname();break;case"remove":ui.tree.remove();break;case"info":ui.tree.info();break;case"download":ui.tree.download();break;case"openIE":ui.tree.openIE();break;case"search":ui.tree.search();break;case"newfolder":ui.tree.create("folder");break;case"newfile":ui.tree.create("file");break;case"explorer":ui.tree.explorer();break;case"fav_page":core.setting("fav");break;case"fav":ui.tree.fav();break;case"refresh_all":ui.tree.init();break;case"quit":break;default:}};return{initDesktop:r,initExplorer:c,initEditor:d,show:function(e,t,a){e&&(rightMenu.hidden(),$(e).contextMenu({x:t,y:a}))},isDisplay:function(){var e=!1;return $(".context-menu-list").each(function(){"none"!=$(this).css("display")&&(e=!0)}),e},hidden:function(){$(".context-menu-list").filter(":visible").trigger("contextmenu:hide")}}}),define("app/src/desktop/fileSelect",[],function(){var e=!1,t=!1,a=function(){s(),i(),n()},i=function(){$(Config.FileBoxClass).die("touchstart").live("touchstart",function(){$(this).hasClass("select")?ui.path.open():(r.clear(),$(this).removeClass("select"),$(this).addClass("select"),r.select())}),$(Config.FileBoxClass).live("mouseenter",function(){t&&$(this).hasClass(Config.TypeFolderClass)&&!$(this).hasClass(Config.SelectClassName)&&$(this).addClass("selectDragTemp"),e||t||$(this).addClass(Config.HoverClassName),$(this).unbind("mouseup").mouseup(function(e){3!=e.which||$(this).hasClass(Config.SelectClassName)||(r.clear(),$(this).addClass(Config.SelectClassName),r.select())}).unbind("mousedown").mousedown(function(e){if(rightMenu.hidden(),1!=e.which)return!0;if(e.ctrlKey||e.shiftKey||$(this).hasClass(Config.SelectClassName)||(r.clear(),$(this).addClass(Config.SelectClassName),r.select()),e.ctrlKey)$(this).hasClass(Config.SelectClassName)?(r.resumeMenu($(this)),$(this).removeClass(Config.SelectClassName)):(r.setMenu($(this)),$(this).addClass(Config.SelectClassName)),r.select();else if(e.shiftKey){var t=parseInt($(this).attr(Config.FileOrderAttr));if(0==Global.fileListSelectNum)c(0,t);else{var a=parseInt(Global.fileListSelect.first().attr(Config.FileOrderAttr)),i=parseInt(Global.fileListSelect.last().attr(Config.FileOrderAttr));a>t?c(t,a):t>i?c(i,t):t>a&&i>t&&c(a,t)}}})}).unbind("mouseleave").live("mouseleave",function(){$(this).removeClass(Config.HoverClassName),$(this).removeClass("selectDragTemp")}).unbind("click").live("click",function(e){stopPP(e),e.ctrlKey||e.shiftKey||!$(this).hasClass(Config.SelectClassName)||(r.clear(),$(this).removeClass(Config.SelectClassName),$(this).addClass(Config.SelectClassName),r.select())}),$(Config.FileBoxClass).unbind("dblclick").live("dblclick",function(e){stopPP(e),e.altKey?ui.path.pathInfo():ui.path.open()}),$(Config.FileBoxTittleClass).unbind("dblclick").live("dblclick",function(e){return ui.path.rname(),stopPP(e),!1})},s=function(){var a,i,s,n=300,o=50,l=80-Global.topbar_height,c=0,r=!1,d=0,p=0;$(Config.FileBoxClass).unbind("mousedown").live("mousedown",function(t){if(!Global.shiftKey&&!Global.ctrlKey){if(ui.isEdit())return!0;if(1!=t.which||e)return!0;a=$(this),u(t),this.setCapture&&this.setCapture(),$(document).mousemove(function(e){f(e)}),$(document).one("mouseup",function(e){return h(e),this.releaseCapture&&this.releaseCapture(),stopPP(e),!1})}});var u=function(e){rightMenu.hidden(),t=!0,c=$.now(),d=e.pageY,p=e.pageX,i=$(document).height(),s=$(document).width()},f=function(e){if(!t)return!0;$.now()-c>n&&!r&&m();var a=e.clientX>=s-50?s-50:e.clientX,d=e.clientY>=i-50?i-50:e.clientY;a=0>=a?0:a,d=0>=d?0:d,a-=o,d-=l,$(".draggable-dragging").css("left",a),$(".draggable-dragging").css("top",d),Global.isIE&&$("."+Config.TypeFolderClass).each(function(){var t=e.pageX,a=e.pageY,i=$(this).offset(),s=$(this).width(),n=$(this).height();t>i.left&&i.left+s>t&&a>i.top&&i.top+n>a?$(this).addClass("selectDragTemp"):$(this).removeClass("selectDragTemp")})},h=function(){if(!t)return!1;if(t=!1,r=!1,$("body").css("cursor","auto"),$(".draggable-dragging").fadeOut(200,function(){$(this).remove()}),0!=$(".selectDragTemp").length){var e=G.this_path+$(".selectDragTemp").attr("title")+"/";ui.path.cuteDrag(e)}},m=function(){r=!0,$("body").css("cursor","move"),a.find(".ico").attr("filetype"),$('
      '+Global.fileListSelectNum+"
      "+'
      '+"
      ").appendTo("body")}},n=function(){var a=null,i=null,s=null;$(Config.BodyContent).unbind("mousedown").live("mousedown",function(e){return ui.isEdit()?!0:t||1!=e.which?!0:(n(e),this.setCapture&&this.setCapture(),$(document).unbind("mousemove").mousemove(function(e){o(e)}),$(document).one("mouseup",function(e){l(e),Global.isDragSelect=!0,this.releaseCapture&&this.releaseCapture()}),void 0)});var n=function(t){$(t.target).parent().hasClass(Config.FileBoxClassName)||$(t.target).parent().parent().hasClass(Config.FileBoxClassName)||$(t.target).hasClass("fix")||(rightMenu.hidden(),t.ctrlKey||t.shiftKey||r.clear(),0==$(t.target).hasClass("ico")&&(0==$("#selContainer").length&&($('
      ').appendTo(Config.FileBoxSelector),s=$("#selContainer")),a=t.pageX,i=t.pageY-Global.topbar_height,e=!0))},o=function(t){if(!e)return!0;"none"==s.css("display")&&s.css("display","");var n=t.pageX,o=t.pageY-Global.topbar_height;s.css({left:Math.min(n,a),top:Math.min(o,i),width:Math.abs(n-a),height:Math.abs(o-i)});for(var l=s.offset().left,c=s.offset().top-Global.topbar_height,d=s.width(),p=s.height(),u=Global.fileListNum,f=0;u>f;f++){var h=Global.fileListAll[f],m=$(Global.fileListAll[f]),v=h.offsetWidth+h.offsetLeft,_=h.offsetHeight+h.offsetTop;if(v>l&&_>c&&l+d>h.offsetLeft&&c+p>h.offsetTop){if(!m.hasClass("selectDragTemp")){if(m.hasClass("selectToggleClass"))continue;if(m.hasClass(Config.SelectClassName)){m.removeClass(Config.SelectClassName).addClass("selectToggleClass"),r.resumeMenu(m);continue}m.addClass("selectDragTemp")}}else m.removeClass("selectDragTemp"),m.hasClass("selectToggleClass")&&m.addClass(Config.SelectClassName).removeClass("selectToggleClass")}},l=function(){return e?(s.css("display","none"),$(".selectDragTemp").addClass(Config.SelectClassName).removeClass("selectDragTemp"),$(".selectToggleClass").removeClass("selectToggleClass"),r.select(),e=!1,a=null,i=null,void 0):!1}},o=function(e){var t=0,a=Global.fileListSelect;Global.fileListSelectNum;var i=Global.fileListNum,s=function(){var s=Global.fileRowNum;if(1==Global.fileListSelectNum){var n=parseInt(a.attr(Config.FileOrderAttr));switch(e){case"up":t=0>=n?n:n-1;break;case"left":t=s>n?0:n-s;break;case"down":t=n>=i-1?n:n+1;break;case"right":t=n+s>=i-1?i-1:n+s;break;default:}}else if(Global.fileListSelectNum>1){var o=parseInt(a.first().attr(Config.FileOrderAttr)),l=parseInt(a.last().attr(Config.FileOrderAttr));switch(e){case"up":t=t=0>=o?o:o-1;break;case"left":break;case"down":t=l>=i?l:l+1;break;case"right":t=l+s>=i?l:l+s;break;default:}}};return s(),Global.fileListAll.eq(t)},l=function(e){var t;switch(e){case"home":t=Global.fileListAll.first();break;case"end":t=Global.fileListAll.last();break;case"left":case"up":case"right":case"down":t=o(e);break;case"all":t=Global.fileListAll;break;default:}r.clear(),t.addClass(Config.SelectClassName),r.select()},c=function(e,t){r.clear();for(var a=e;t>=a;a++)$(Global.fileListAll[a]).addClass(Config.SelectClassName);r.select()},r={init:function(){var e=$(Config.FileBoxClass);e.each(function(e){$(this).attr(Config.FileOrderAttr,e)}),Global.fileListSelect="",Global.fileListAll=e,Global.fileListNum=e.length,Global.fileListSelectNum=0},select:function(){var e=$(Config.SelectClass);Global.fileListSelect=e,Global.fileListSelectNum=e.length,e.length>1&&r.setMenu(e)},name:function(e){return e.attr("title")},type:function(e){return e.find(".ico").attr("filetype")},setMenu:function(e){e.removeClass("menufile menufolder menuApp menuDefault").addClass("menuMore")},resumeMenu:function(e){var t={fileApp:"menuApp",fileBox:"menufile",folderBox:"menufolder",systemBox:"menuDefault"};for(var a in t)e.hasClass(a)&&e.removeClass("menuMore").addClass(t[a])},getAllName:function(){var e=[];if(0!=Global.fileListSelectNum){var t=Global.fileListSelect;return t.each(function(){e.push(r.name($(this)))}),e}},clear:function(){if(0!=Global.fileListSelectNum){var e=Global.fileListSelect;e.removeClass(Config.SelectClassName),e.each(function(){r.resumeMenu($(this))}),Global.fileListSelect="",Global.fileListSelectNum=0}}};return{init:a,fileLight:r,selectPos:l}}),define("app/src/desktop/ui",[],function(){var e=new Picasa;PicasaOpen=!1;var t=function(){fileLight.init(),ui.setStyle(),PicasaOpen=!1,e.initData()},a=function(e,t){var t="down"==t?-1:1;return function(a,i){return a=a[e],i=i[e],i>a?-1*t:a>i?1*t:void 0}},i=function(e,t){0!=e&&(G.sort_field=e,$(".menu_set_sort").removeClass("selected"),$(".set_sort_"+e).addClass("selected")),0!=t&&(G.sort_order=t,$(".menu_set_desc").removeClass("selected"),$(".set_sort_"+t).addClass("selected")),l(!1,!0),$.ajax({url:"index.php?setting/set&k=list_sort_field,list_sort_order&v="+G.sort_field+","+G.sort_order})},s=function(){var e=91;Global.ctrlKey=!1,$(document).keydown(function(t){if("none"!=$("#PicasaView").css("display"))return!0;if(ui.isEdit())return!0;if(rightMenu.isDisplay())return!0;var a=!1;if(Global.ctrlKey||t.keyCode==e||t.ctrlKey)switch(a=!0,Global.ctrlKey=!0,t.keyCode){case 8:ui.path.remove(),a=!0;break;case 65:fileSelect.selectPos("all");break;case 67:ui.path.copy();break;case 88:ui.path.cute();break;case 83:break;case 86:ui.path.past();break;case 70:core.search($(".header-right input").val(),G.this_path);break;default:a=!1}else if(t.shiftKey)Global.shiftKey=!0;else switch(t.keyCode){case 8:a=!0;break;case 35:fileSelect.selectPos("end");break;case 36:fileSelect.selectPos("home");break;case 37:fileSelect.selectPos("left"),a=!0;break;case 38:fileSelect.selectPos("up");break;case 39:fileSelect.selectPos("right"),a=!0;break;case 40:fileSelect.selectPos("down");break;case 13:ui.path.open(),a=!1;break;case 46:ui.path.remove();break;case 113:ui.path.rname();break;default:a=!1}return a&&(stopPP(t),t.keyCode=0,t.returnValue=!1),!0}).keyup(function(t){t.shiftKey&&(Global.shiftKey=!1),t.keyCode!=e&&t.ctrlKey||(Global.ctrlKey=!1)})},n=function(){if($.browser.msie||!(0>navigator.userAgent.indexOf("Firefox"))){var e=10,t=10,a=80,i=100,s=10,n=$(document).height()-60,o=Math.floor((n-e)/(i+s)),l=0,c=0,r=0,d=0;$(".fileContiner .file").css("position","absolute"),$(".fileContiner .file").each(function(n){l=n%o,c=Math.floor(n/o),r=t+(a+s)*c,d=e+(i+s)*l,$(this).css({left:r,top:d})})}};this._getFolderBox=function(e){var t=""},this._getFileBox=function(e){var t="";if("oexe"==e.ext&&void 0!=e.icon){var a=e.icon;-1==e.icon.search(G.static_path)&&"http"!=e.icon.substring(0,4)&&(a=G.static_path+"images/app/"+e.icon);var i=urlEncode(json_encode(e)),s=e.name.replace(".oexe","");t=""}else if(inArray(core.filetype.image,e.ext)){var n=core.path2url(G.this_path+e.name),o="index.php?explorer/image&path="+urlEncode(G.this_path+e.name);t+=""}else t+="";return t};var o=function(e){var i="",s=G.json_data.folderlist,o=G.json_data.filelist;s="size"==G.sort_field||"ext"==G.sort_field?s.sort(a("name",G.sort_order)):s.sort(a(G.sort_field,G.sort_order)),o=o.sort(a(G.sort_field,G.sort_order)),G.json_data.folderlist=s,G.json_data.filelist=o;var l="",c="";for(var r in o)l+=_getFileBox(o[r]);for(var r in s)c+=_getFolderBox(s[r]);i+="up"==G.sort_order?c+l:l+c;var d="";$(".menuDefault").each(function(){d+=$(this).get(0).outerHTML}),i=d+i,i+="
      ",e?$(Config.FileBoxSelector).hide().html(i).fadeIn(Config.AnimateTime):$(Config.FileBoxSelector).html(i),t(),n()},l=function(e,t,a){if(void 0==e&&(e=!0),void 0==t&&(t=!1),e)$.ajax({url:"index.php?explorer/pathList&path="+G.this_path,dataType:"json",success:function(e){return e.code?(G.json_data=e.data,o(t),"function"==typeof a&&a(e),void 0):(core.tips.tips(e),$(Config.FileBoxSelector).html(""),!1)},error:function(){core.tips.tips(LNG.system_error,!1)}});else{var i=fileLight.getAllName();o(t),ui.path.setSelectByFilename(i)}},c=function(e){l(!0,!1,e)};return{f5:l,f5_callback:c,picasa:e,setListSort:i,init:function(){c(function(){}),s(),$(window).bind("resize",function(){ui.setStyle(),0!=PicasaOpen&&e.setFrameResize(),n()}),$("html").die("click").live("click",function(){rightMenu.hidden(),Global.isIE&&Global.isDragSelect}),Mousetrap.bind(["ctrl+s","command+s"],function(e){e.preventDefault(),FrameCall.top("OpenopenEditor","Editor.save","")}),Mousetrap.bind(["1","2","3","4","5","6","7","8","9","0","`","~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}","|","/","?",".",">",",","<","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],function(e){var t=String.fromCharCode(e.charCode);ui.path.setSelectByChar(t)}),Mousetrap.bind(["alt+n","alt+n"],function(e){stopPP(e),ui.path.newFile()}),Mousetrap.bind(["alt+m","alt+m"],function(e){stopPP(e),ui.path.newFolder()}),PicasaOpen=!1,e.init(".picasaImage"),e.initData()},setTheme:function(e){core.setSkin(e,"app_desktop.css"),FrameCall.top("OpenopenEditor","Editor.setTheme",'"'+e+'"'),FrameCall.top("Opensetting_mode","Setting.setThemeSelf",'"'+e+'"'),FrameCall.father("ui.setTheme",'"'+e+'"')},setWall:function(e){$(".wallbackground").attr("src",e).one("load",function(){$(".desktop").css("background-image","url("+e+")")})},isEdit:function(){var e=$(document.activeElement).get(0).tagName;return"INPUT"==e||"TEXTAREA"==e?!0:!1},setStyle:function(){Global.fileRowNum=function(){var e=$(Config.FileBoxSelector).width(),t=parseInt($(Config.FileBoxClass).css("width"))+parseInt($(Config.FileBoxClass).css("border-left-width"))+parseInt($(Config.FileBoxClass).css("border-right-width"))+parseInt($(Config.FileBoxClass).css("margin-right"));return parseInt(e/t)}()},fullScreen:function(){"true"==$("body").attr("fullScreen")&&ui.exitfullScreen(),$("body").attr("fullScreen","true");var e=document.documentElement;e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullScreen&&e.webkitRequestFullScreen()},exitfullScreen:function(){$("body").attr("fullScreen","false"),document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen()}}}),define("app/src/explorer/path",["../../common/pathOperate","../../tpl/fileinfo","../../tpl/app","../../common/pathOpen","../../common/CMPlayer"],function(e){var t=e("../../common/pathOperate"),a=e("../../common/pathOpen"),s=void 0;ui.pathOpen=a;var n=function(e,t){var a,i,s=0,n=G.json_data.folderlist,o=G.json_data.filelist;if("desktop"==Config.pageApp&&(s=$(".menuDefault").length),"folder"==t){for(a=0;n.length>a&&!(n[a].name>=e);a++);return"up"==G.sort_order?a+s:o.length+a+s}if("file"==t){for(i=0;o.length>i&&!(o[i].name>=e);i++);return"down"==G.sort_order?i+s:n.length+i+s}return-1},o=function(e){void 0!=e&&("string"==typeof e&&(e=[e]),fileLight.clear(),$(".fileContiner .file").each(function(t){var a=fileLight.name($(this));-1!=$.inArray(a,e)&&$(Global.fileListAll).eq(t).addClass(Config.SelectClassName)}),fileLight.select())},l=function(e){if(""!=e){if(e=e.toLowerCase(),void 0==s||G.this_path!=s.path||e!=s.key){var t=[];$(".fileContiner .file").each(function(){var a=fileLight.name($(this));e==a.substring(0,e.length).toLowerCase()&&t.push(a)}),s={key:e,path:G.this_path,index:0,list:t}}0!=s.list.length&&(o(s.list[s.index++]),s.index==s.list.length&&(s.index=0))}},c=function(e,t,a){var s=e.length;for(i=0;s>i;i++)if(e[i][t]==a)return e[i]},r=function(e){var t="",a=0;return null!=G.json_data.filelist&&(t=c(G.json_data.filelist,"name",e),null!=t&&(a=1)),null!=G.json_data.folderlist&&(t=c(G.json_data.folderlist,"name",e),null!=t&&(a=1)),a},d=function(e,t){var a,i=0;if(void 0==t){if(!r(e))return e;for(a=e+"(0)";r(a);)i++,a=e+"("+i+")";return a}if(!r(e+"."+t))return e+"."+t;for(a=e+"(0)."+t;r(a);)i++,a=e+"("+i+")."+t;return a},p=function(e){if(e){var t=[];return 0==Global.fileListSelect.length?t:(Global.fileListSelect.each(function(){var e=G.this_path+fileLight.name($(this)),a="folder"==fileLight.type($(this))?"folder":"file";t.push({path:e,type:a})}),t)}if(1!=Global.fileListSelectNum)return{path:"",type:""};var a=Global.fileListSelect,i=G.this_path+fileLight.name(a),s=fileLight.type(a);return{path:i,type:s}},u=function(e,t){return e==G.this_path?(void 0!=t&&core.tips.tips(LNG.path_is_current,"info"),void 0):(G.this_path=e.replace(/\\/g,"/"),G.this_path=e.replace(/\/+/g,"/"),"/"!=G.this_path.substr(G.this_path.length-1)&&(G.this_path+="/"),ui.f5(),void 0)},f=function(){$.ajax({dataType:"json",url:"index.php?explorer/historyBack",beforeSend:function(){$(".tools-left .msg").stop(!0,!0).fadeIn(100)},success:function(e){return $(".tools-left .msg").fadeOut(100),e.code?(e=e.data,G.this_path=e.thispath,G.json_data=e.list,Global.historyStatus=e.history_status,ui.f5(!1,!0),ui.header.updateHistoryStatus(),ui.header.addressSet(),void 0):(core.tips.tips(e),$(Config.FileBoxSelector).html(""),!1)}})},h=function(){$.ajax({dataType:"json",url:"index.php?explorer/historyNext",beforeSend:function(){$(".tools-left .msg").stop(!0,!0).fadeIn(100)},success:function(e){return $(".tools-left .msg").fadeOut(100),e.code?(e=e.data,G.this_path=e.thispath,G.json_data=e.list,Global.historyStatus=e.history_status,ui.f5(!1,!0),ui.header.updateHistoryStatus(),ui.header.addressSet(),void 0):(core.tips.tips(e),$(Config.FileBoxSelector).html(""),!1)}})},m=function(e){fileLight.clear(),void 0==e&&(e="txt");var a="newfile",a=d(a,e),i=n(a,"file");i=0==i?-1:i-1;var s='';-1==i?$(Config.FileBoxSelector).html(s+$(Config.FileBoxSelector).html()):$(s).insertAfter(Config.FileBoxSelector+" .file:eq("+i+")");var l=$(".newfile"),c=l.get(0),p=a.length-e.length-1;if(Global.isIE){var u=c.createTextRange();u.moveEnd("character",-c.value.length),u.moveEnd("character",p),u.moveStart("character",0),u.select()}else c.setSelectionRange(0,p);l.focus(),l.unbind("keydown").keydown(function(e){return(13==e.keyCode||27==e.keyCode)&&(stopPP(e),e.preventDefault(),filename=l.attr("value"),r(filename)?($("#makefile").remove(),core.tips.tips(LNG.path_exists,"warning")):t.newFile(G.this_path+filename,function(){ui.f5_callback(function(){o(filename)})})),!0}),l.unbind("blur").blur(function(){filename=l.attr("value"),r(filename)?($("#makefile").remove(),core.tips.tips(LNG.path_exists,"warning"),_newFile(e)):t.newFile(G.this_path+filename,function(){ui.f5_callback(function(){o(filename)})})})},v=function(){fileLight.clear();var e=LNG.newfolder,e=d(e),a=n(e,"folder");a=0==a?-1:a-1;var i='',-1==a?$(Config.FileBoxSelector).html(i+$(Config.FileBoxSelector).html()):$(i).insertAfter(Config.FileBoxSelector+" .file:eq("+a+")"),$(".newfile").select(),$(".newfile").focus(),$(".newfile").unbind("keydown").keydown(function(e){if(13==e.keyCode||27==e.keyCode){stopPP(e),e.preventDefault();var a=$(".newfile").attr("value");r(a)?($("#makefile").remove(),core.tips.tips(LNG.path_exists,"warning")):t.newFolder(G.this_path+a,function(){ui.f5_callback(function(){o(a)})})}}),$(".newfile").unbind("blur").blur(function(){filename=$(".newfile").attr("value"),r(filename)?($("#makefile").remove(),core.tips.tips(LNG.path_exists,"warning"),_newFolder()):t.newFolder(G.this_path+filename,function(){ui.f5_callback(function(){o(filename)})})})},_=function(){var e="",a="",i=Global.fileListSelect,s=fileLight.name(i),n=fileLight.type(i);n="folder"==n?"folder":n,$(i).find(".title").html("
      ");var l=$("#pathRenameTextarea"),c=l.get(0);if("folder"==n)l.select();else{var r=s.length-n.length-1;if(Global.isIE){var d=c.createTextRange();d.moveEnd("character",-c.value.length),d.moveEnd("character",r),d.moveStart("character",0),d.select()}else c.setSelectionRange(0,r)}l.unbind("focus").focus(),l.keydown(function(c){if(13==c.keyCode){c.preventDefault(),stopPP(c),e=l.attr("value"),"oexe"==n&&(e+=".oexe");var r=e;e!=s?(a=urlEncode(G.this_path+s),e=urlEncode(G.this_path+e),t.rname(a,e,function(){ui.f5_callback(function(){o(r)})})):("oexe"==n&&(s=s.replace(".oexe","")),$(i).find(".title").html(s))}27==c.keyCode&&("oexe"==n&&(s=s.replace(".oexe","")),$(i).find(".title").html(s))}),l.unbind("blur").blur(function(){e=$("#pathRenameTextarea").attr("value"),"oexe"==n&&(e+=".oexe");var l=e;e!=s?(a=urlEncode(G.this_path+s),e=urlEncode(G.this_path+e),t.rname(a,e,function(){ui.f5_callback(function(){o(l)})})):("oexe"==n&&(s=s.replace(".oexe","")),$(i).find(".title").html(s))})};return{appEdit:function(e){if(e)t.appEdit(0,0,"user_add");else{var a=Global.fileListSelect.attr("data-app"),i=json_decode(urlDecode(a));i.path=G.this_path+fileLight.name(Global.fileListSelect),t.appEdit(i)}},appList:function(){t.appList(p().path)},appInstall:function(){t.appInstall(p().path)},openEditor:function(){a.openEditor(p().path)},openIE:function(){a.openIE(p().path)},download:function(){a.download(p().path)},open:function(e){if(void 0!=e)return a.open(e),void 0;var t=p(),i=Global.fileListSelect;if(inArray(core.filetype.image,t.type))return"icon"==G.list_type?ui.picasa.play($(i).find(".ico")):ui.picasa.play($(i)),void 0;if("oexe"==t.type){var s=i.attr("data-app");t.path=json_decode(urlDecode(s))}a.open(t.path,t.type)},play:function(){if(!(1>Global.fileListSelectNum)){var e=[];Global.fileListSelect.each(function(){var t=fileLight.type($(this));if(inArray(core.filetype.music,t)||inArray(core.filetype.movie,t)){var a=core.path2url(G.this_path+fileLight.name($(this)));e.push(a)}}),a.play(e,"music")}},pathOperate:t,search:function(){core.search("",p().path)},fav:function(){t.fav(p().path)},remove:function(){t.remove(p(!0),ui.f5),fileLight.clear()},copy:function(){t.copy(p(!0))},cute:function(){t.cute(p(!0),ui.f5)},zip:function(){t.zip(p(!0),ui.f5)},unZip:function(){t.unZip(p().path,ui.f5)},cuteDrag:function(e){t.cuteDrag(p(!0),e,ui.f5)},info:function(){t.info(p(!0))},past:function(){fileLight.clear(),t.past(G.this_path,function(e){ui.f5_callback(function(){o(e.data)})})},back:f,next:h,list:u,newFile:m,newFolder:v,rname:_,setSelectByChar:l,setSelectByFilename:o,clipboard:t.clipboard}}),define("app/common/pathOperate",["../tpl/fileinfo","../tpl/app"],function(e){var t=e("../tpl/fileinfo"),a=["/","\\",":","*","?",'"',"<",">","|"],i=function(e){var t=function(e,t){for(var a=t.length,i=0;a>i;i++)if(e.indexOf(t[i])>0)return!0;return!1};return t(e,a)?(core.tips.tips(LNG.path_not_allow+':/ : * ? " < > |',!1),!1):!0},s=function(e){var t="list=[";for(var a in e)t+='{"type":"'+e[a].type+'","path":"'+urlEncode2(e[a].path)+'"}',a!=e.length-1&&(t+=",");return t+"]"},n=function(e,t){if(e){var a=core.pathThis(e);i(a)&&$.ajax({dataType:"json",url:"index.php?explorer/mkfile&path="+urlEncode2(e),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof t&&t(e)}})}},o=function(e,t){if(e){var a=core.pathThis(e);i(a)&&$.ajax({dataType:"json",url:"index.php?explorer/mkdir&path="+urlEncode2(e),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof t&&t(e)}})}},l=function(e,t,a){e&&t&&e!=t&&i(core.pathThis(t))&&$.ajax({type:"POST",dataType:"json",url:"index.php?explorer/pathRname",data:"path="+urlEncode(e)+"&rname_to="+urlEncode(t),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof a&&a(e)}})},c=function(e,t){if(!(1>e.length)){var a=e[0].path.substr(-40)+"...";$.dialog({id:"dialog_path_remove",fixed:!0,icon:"question",title:LNG.remove_title,padding:40,lock:!0,background:"#000",opacity:.5,content:a+"
      "+LNG.remove_info+"【"+e.length+"】",ok:function(){$.ajax({url:"index.php?explorer/pathDelete",type:"POST",dataType:"json",data:s(e),beforeSend:function(){core.tips.loading()},error:function(){common.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof t&&t(e)}})},cancel:!0})}},r=function(e){1>e.length||$.ajax({url:"index.php?explorer/pathCopy",type:"POST",dataType:"json",data:s(e),error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.tips(e)}})},d=function(e){1>e.length||$.ajax({url:"index.php?explorer/pathCute",type:"POST",dataType:"json",data:s(e),error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.tips(e)}})},p=function(e,t){if(e){var a="index.php?explorer/pathPast&path="+urlEncode2(e);$.ajax({url:a,dataType:"json",beforeSend:function(){core.tips.loading(LNG.moving)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){e.code?core.tips.close(e.info):core.tips.close(e),"function"==typeof t&&t(e)}})}},u=function(e){if(1>e.length&&(e=[{path:G.this_path,type:"folder"}]),e.length>1)return f(e),void 0;e=e[0];var a="folder"==e.type?"path_info":"file_info";$.ajax({url:"index.php?explorer/pathInfo&type="+e.type+"&path="+urlEncode2(e.path),beforeSend:function(){core.tips.loading(LNG.getting)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(i){if(!i.code)return core.tips.close(i),void 0;core.tips.close(LNG.get_success,!0);var s=template.compile(t[a]);i.data.LNG=LNG,$.dialog({padding:5,fixed:!0,title:core.pathThis(e.path).substr(0,20)+"... "+LNG.info,content:s(i.data),width:"350px",cancel:!0})}})},f=function(e){$.ajax({url:"index.php?explorer/pathInfoMuti",type:"POST",data:s(e),beforeSend:function(){core.tips.loading(LNG.getting)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){if(!e.code)return core.tips.close(e),void 0;core.tips.close(LNG.get_success,!0);var a=template.compile(t.path_info_more);e.data.LNG=LNG,$.dialog({padding:5,fixed:!0,width:"350px",title:LNG.info,content:a(e.data),cancel:!0})}})},h=function(e,t){1>e.length||$.ajax({url:"index.php?explorer/zip",type:"POST",dataType:"json",data:s(e),beforeSend:function(){core.tips.loading(LNG.ziping)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),e.code=100,core.tips.tips(e),"function"==typeof t&&t(e)}})},m=function(e,t){if(e){var a="index.php?explorer/unzip&path="+urlEncode2(e);$.ajax({url:a,beforeSend:function(){core.tips.loading(LNG.unziping)},error:function(){core.tips.close(LNG.system_error,!1) +},success:function(e){core.tips.close(e),e.code=100,"function"==typeof t&&t(e)}})}},v=function(e,t,a){t&&$.ajax({url:"index.php?explorer/pathCuteDrag",type:"POST",dataType:"json",data:s(e)+"&path="+urlEncode2(t),beforeSend:function(){core.tips.loading(LNG.moving)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),e.code&&"function"==typeof a&&a(e)}})},_=function(){$.ajax({url:"index.php?explorer/clipboard",dataType:"json",error:function(){core.tips.tips(LNG.system_error,!1)},success:function(e){e.code&&$.dialog({title:LNG.clipboard,padding:0,height:200,width:400,content:e.data})}})},g=function(e){if(e){var t="&name="+urlEncode(core.pathThis(e))+"&path="+urlEncode(e);core.setting("fav"+t)}},y=function(e){var t={};return t.type=e.find("input[type=radio]:checked").val(),t.content=e.find("textarea").val(),t.group=e.find("[name=group]").val(),e.find("input[type=text]").each(function(){var e=$(this).attr("name");t[e]=$(this).val()}),e.find("input[type=checkbox]").each(function(){var e=$(this).attr("name");t[e]="checked"==$(this).attr("checked")?1:0}),t},b=function(e){e.find(".type input").change(function(){var t=$(this).attr("apptype");e.find("[data-type]").addClass("hidden"),e.find("[data-type="+t+"]").removeClass("hidden")})},N=function(t,a,i){var s,n,o,l=LNG.app_create,c=UUID(),r=e("../tpl/app"),d=G.basic_path+"static/images/app/",p=template.compile(r.html);switch(void 0==i&&(i="user_edit"),"root_edit"==i&&(t=json_decode(t)),"user_edit"==i||"root_edit"==i?(l=LNG.app_edit,o=p({LNG:LNG,iconPath:d,uuid:c,data:t})):o=p({LNG:LNG,iconPath:d,uuid:c,data:{}}),$.dialog({fixed:!0,width:450,height:310,id:c,padding:15,title:l,content:o,button:[{name:LNG.preview,callback:function(){var e=y(s);return core.openApp(e),!1}},{name:LNG.button_save,focus:!0,callback:function(){var e=y(s);switch(i){case"user_add":var o=urlEncode2(G.this_path+e.name);n="./index.php?app/user_app&action=add&path="+o;break;case"user_edit":n="./index.php?app/user_app&path="+urlEncode2(t.path);break;case"root_add":n="./index.php?app/add&name="+e.name;break;case"root_edit":n="./index.php?app/edit&name="+e.name+"&old_name="+t.name;break;default:}$.ajax({url:n,type:"POST",dataType:"json",data:"data="+urlEncode2(json_encode(e)),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){if(core.tips.close(e),e.code)if("root_edit"==i||"root_add"==i){if(!e.code)return;FrameCall.top("Openapp_store","App.reload",'""')}else"function"==typeof a?a():ui.f5()}})}}]}),s=$("."+c),t.group&&s.find("option").eq(t.group).attr("selected",1),s.find(".aui_content").css("overflow","inherit"),i){case"user_edit":s.find(".name").addClass("hidden"),s.find(".desc").addClass("hidden"),s.find(".group").addClass("hidden"),s.find("option[value="+t.group+"]").attr("checked",!0);break;case"user_add":s.find(".desc").addClass("hidden"),s.find(".group").addClass("hidden"),s.find("[apptype=url]").attr("checked",!0),s.find("[data-type=url] input[name=resize]").attr("checked",!0),s.find("input[name=width]").attr("value","800"),s.find("input[name=height]").attr("value","600"),s.find("input[name=icon]").attr("value","oexe.png");break;case"root_add":s.find("[apptype=url]").attr("checked",!0),s.find("[data-type=url] input[name=resize]").attr("checked",!0),s.find("input[name=width]").attr("value","800"),s.find("input[name=height]").attr("value","600"),s.find("input[name=icon]").attr("value","oexe.png");break;case"root_edit":s.find("option[value="+t.group+"]").attr("selected",!0);break;default:}b(s)},x=function(){core.appStore()};return{appEdit:N,appList:x,newFile:n,newFolder:o,rname:l,unZip:m,zip:h,copy:r,cute:d,info:u,remove:c,cuteDrag:v,past:p,clipboard:_,fav:g}});var file_info="
      {{LNG.file_type}}:
      {{ext}} {{LNG.file}}
      {{LNG.address}}:
      {{path}}
      {{LNG.size}}:
      {{size_friendly}} ({{size}} Byte)
      {{LNG.create_time}}
      {{ctime}}
      {{LNG.modify_time}}
      {{mtime}}
      {{LNG.last_time}}
      {{atime}}
      {{LNG.permission}}:
      {{mode}}
      ",path_info="
      {{LNG.type}}:
      {{LNG.folder}}
      {{LNG.address}}:
      {{path}}
      {{LNG.size}}:
      {{size_friendly}} ({{size}} Byte)
      {{LNG.contain}}:
      {{file_num}} {{LNG.file}},{{folder_num}} {{LNG.folder}}
      {{LNG.create_time}}
      {{ctime}}
      {{LNG.modify_time}}
      {{mtime}}
      {{LNG.permission}}:
      {{mode}}
      ",path_info_more="
      {{file_num}} {{LNG.file}},{{folder_num}} {{LNG.file}}
      {{LNG.size}}:
      {{size_friendly}} ({{size}} Byte)
      {{LNG.parent_permission}}:
      {{mode}}
      ";define("app/tpl/fileinfo",[],function(){return{file_info:file_info,path_info:path_info,path_info_more:path_info_more}}),define("app/tpl/app",[],function(){return{html:"
      {{LNG.name}}
      {{LNG.app_desc}}
      {{LNG.app_icon}}
      {{LNG.app_icon_show}}
      {{LNG.app_group}}
      {{LNG.app_type}}
      {{LNG.app_display}}
      {{LNG.app_size}}
      {{LNG.width}}:   {{LNG.height}}:  
      {{LNG.app_url}}
      "}}),define("app/common/pathOpen",["./CMPlayer"],function(e){var t=function(e,t){if(void 0!=e){if(void 0==t&&(t=core.pathExt(e)),t=t.toLowerCase(),"folder"==t)return"explorer"==Config.pageApp?ui.path.list(e+"/"):core.explorer(e),void 0;if("swf"==t){var i=core.path2url(e);return s(i,core.pathThis(e)),void 0}if("oexe"==t)return core.openApp(e),void 0;if("pdf"==t){var c="pdf"+UUID(),i=core.path2url(e),r='";return $.dialog({resize:!0,fixed:!0,title:core.pathThis(e),width:800,height:400,padding:0,content:r}),new PDFObject({url:i}).embed(c),void 0}if("html"==t||"htm"==t){var i=core.path2url(e);return s(i,core.pathThis(e)),void 0}if(inArray(core.filetype.image,t)){var i=urlDecode(e);return-1==e.indexOf("http:")&&(i=core.path2url(i)),MaskView.image(i),void 0}if(inArray(core.filetype.music,t)||inArray(core.filetype.movie,t)){var i=core.path2url(e);return l(i,t),void 0}if(inArray(core.filetype.doc,t)){var i=core.path2url(e);return o(i,t),void 0}return inArray(core.filetype.bindary,t)?(a(e),void 0):(n(e),void 0)}},a=function(e){if(e){var t="index.php?explorer/fileDownload&path="+urlEncode2(e),a=''+LNG.download_ready+"...",i=$.dialog({icon:"succeed",title:!1,time:1,content:a});i.DOM.wrap.find(".aui_loading").remove()}},i=function(e){if(void 0!=e){var t=core.path2url(e);window.open(t)}},s=function(e,t,a){if(e){void 0==a&&(a="openWindow"+UUID());var i="";art.dialog.through({id:a,title:t,width:"70%",height:"65%",padding:0,content:i,resize:!0})}},n=function(e){if(e){var t=core.pathExt(e),a=core.pathThis(e);if(inArray(core.filetype.bindary,t)||inArray(core.filetype.music,t)||inArray(core.filetype.image,t)||inArray(core.filetype.movie,t)||inArray(core.filetype.doc,t))return core.tips.tips(t+LNG.edit_can_not,!1),void 0;if(void 0==window.top.frames.OpenopenEditor){var i="?editor/edit&filename="+urlEncode(urlEncode2(e)),n=a+" ——"+LNG.edit;s(i,n.substring(n.length-50),"openEditor")}else $.dialog.list.openEditor&&$.dialog.list.openEditor.display(!0),FrameCall.top("OpenopenEditor","Editor.add",'"'+urlEncode2(e)+'"')}},o=function(e,t){var a,i,s;switch(t){case"doc":case"docx":case"docm":case"dot":a="http://sg1b-word-view.officeapps.live.com/wv/wordviewerframe.aspx?ui=zh-CN&rs=zh-CN&WOPISrc=";break;case"ppt":case"pptm":case"pptx":a="http://sg1b-powerpoint.officeapps.live.com/p/PowerPointFrame.aspx?PowerPointView=ReadingView&ui=zh-CN&rs=zh-CN&WOPISrc=";break;case"xls":case"xlsb":case"xlsm":case"xlsx":a="http://sg1b-excel.officeapps.live.com/x/_layouts/xlviewerinternal.aspx?ui=zh-CN&rs=zh-CN&WOPISrc=";break;default:}i="http://sg1b-15-view-wopi.wopi.live.net:808/oh/wopi/files/@/wFileId?wFileId=",i+=urlEncode(e),s=a+urlEncode(i)+"&access_token=1&access_token_ttl=0";var n=core.pathThis(urlDecode(e));art.dialog.open(s,{title:n,width:"70%",height:"65%",resize:!0})},l=function(t,a){t&&("string"==typeof t&&(t=[t]),CMPlayer=e("./CMPlayer"),CMPlayer.play(t,a))};return{open:t,play:l,openEditor:n,openIE:i,download:a}}),define("app/common/CMPlayer",[],function(){var e={ting:{path:"music/ting",width:410,height:530},beveled:{path:"music/beveled",width:350,height:200},kuwo:{path:"music/kuwo",width:480,height:200},manila:{path:"music/manila",width:320,height:400},mp3player:{path:"music/mp3player",width:320,height:410},qqmusic:{path:"music/qqmusic",width:300,height:400},somusic:{path:"music/somusic",width:420,height:137},xdj:{path:"music/xdj",width:595,height:235},webplayer:{path:"movie/webplayer",width:600,height:400},qqplayer:{path:"movie/qqplayer",width:600,height:400},tvlive:{path:"movie/tvlive",width:600,height:400},youtube:{path:"movie/youtube",width:600,height:400},vplayer:{path:"movie/vplayer",width:600,height:400}},t=function(e){return"music"==e?"music_player":(void 0==e&&(e="mp3"),inArray(core.filetype.music,e)?"music_player":"movie_player")},a=function(t){var a,i,n;"music_player"==t?(a=e[G.musictheme],i="music player",n=!1):(a=e[G.movietheme],i="movie player",n=!0);var o=core.createFlash(G.static_path+"js/lib/cmp4/cmp.swf","context_menu=2&auto_play=1&play_mode=1&skin=skins/"+a.path+".zip",t),l={id:t+"_dialog",simple:!0,title:i,width:a.width,height:a.height,content:o,resize:n,padding:0,fixed:!0,close:function(){var e=s(t);e&&e.sendEvent&&e.sendEvent("view_stop")}};window.top.CMP?art.dialog.through(l):$.dialog(l)},i=function(e){var t,a="";for(t=e.length-1;t>=0;t--){var i,s;-1==e[t].search("fileProxy")?(i=urlEncode(e[t]),s=core.pathThis(e[t])):(i=e[t],s=core.pathThis(urlDecode(i))),i=i.replace(/%2F/g,"/"),i=i.replace(/%3F/g,"?"),i=i.replace(/%26/g,"&"),i=i.replace(/%3A/g,":"),i=i.replace(/%3D/g,"="),a+=''}return a},s=function(e){return window.top.CMP?window.top.CMP.get(e):CMP.get(e)},n=function(e,t){var a=i(e),n=s(t);if(console.log(e,t,5555,n),n){n.config("play_mode","normal");var o=n.list().length;n.list_xml(a,!0),n.sendEvent("view_play",o+1)}};return{changeTheme:function(t,a){var i,n,o;"music"==t?(G.musictheme=a,i="music_player"):"movie"==t&&(G.movietheme=a,i="movie_player"),o=s(i),o&&(n=e[a],window.top.art.dialog.list[i+"_dialog"].size(n.width,n.height),o.sendEvent("skin_load","skins/"+n.path+".zip"))},play:function(e,i){var o=t(i),l=s(o);l?(n(e,o),window.top.art.dialog.list[o+"_dialog"].display(!0)):(a(o),setTimeout(function(){n(e,o)},1e3))}}}); \ No newline at end of file diff --git a/static/js/app/src/edit/main.js b/static/js/app/src/edit/main.js new file mode 100644 index 0000000..05adccb --- /dev/null +++ b/static/js/app/src/edit/main.js @@ -0,0 +1 @@ +var animate_time=160;define("app/src/edit/main",["lib/jquery-lib","lib/util","lib/contextMenu/jquery-contextMenu","lib/artDialog/jquery-artDialog","./taskTap","./toolbar","./edit","./mode","../../common/core","../../tpl/search","../../tpl/upload"],function(e){e("lib/jquery-lib"),e("lib/util"),e("lib/contextMenu/jquery-contextMenu"),e("lib/artDialog/jquery-artDialog"),Tap=e("./taskTap"),Toolbar=e("./toolbar"),Editor=e("./edit"),core=e("../../common/core"),rightMenu=Tap.rightMenu,preview=Toolbar.preview,$(document).ready(function(){Tap.init(),Toolbar.init(),""!=G.frist_file&&Editor.add(G.frist_file),window.onbeforeunload=function(){return Editor.hasFileSave()?LNG.if_save_file:void 0}})}),define("app/src/edit/taskTap",[],function(){var e=function(){$(".edit_tab .tab").live("mouseenter",function(){$(this).hasClass("this")||$(this).addClass("hover"),$(this).unbind("mousedown").mousedown(function(e){$(this).hasClass("this")||$.nodeName(e.target,"A")||($(this).removeClass("hover").addClass("this"),Editor.select($(this).attr("uuid")))})}).die("mouseleave").live("mouseleave",function(){$(this).removeClass("hover")}).die("dblclick").live("dblclick",function(e){Editor.remove($(this).attr("uuid")),stopPP(e)}),$(".edit_tab").die("dblclick").live("dblclick",function(e){Editor.add(),stopPP(e)}),$(".edit_tab .tab .close").live("click",function(){var e=$(this).parent().attr("uuid");Editor.remove(e)})},t=function(){$(".context-menu-list").filter(":visible").trigger("contextmenu:hide")},a=function(){$("body").click(t).contextmenu(t),$.contextMenu({zIndex:9999,selector:".edit_tab_menu",items:{close:{name:LNG.close,icon:"remove",accesskey:"d"},close_right:{name:LNG.close_right,icon:"remove-sign",accesskey:"r"},close_others:{name:LNG.close_others,icon:"remove-circle",accesskey:"o"},sep1:"--------",create:{name:LNG.newfile,icon:"plus",accesskey:"n"},preview:{name:LNG.preview,icon:"globe",accesskey:"p"}},callback:function(e,t){var a=t.$trigger,i=a.attr("uuid");switch(e){case"close":Editor.remove();break;case"close_right":var s=$(".edit_tab .tabs .tab").index(a);$(".edit_tab .tabs .tab:gt("+s+")").each(function(){Editor.remove($(this).attr("uuid"))});break;case"close_others":$(".edit_tab .tabs .tab").each(function(){var e=$(this).attr("uuid");e!=i&&Editor.remove(e)});break;case"create":Editor.add();break;case"preview":Toolbar.doAction("preview");break;default:}}})},i=function(){var e,t,a,i,s=!1,o=!1,n=0,l=0,r=0,c=0,d=0,p=0;$(".edit_tab .tab").die("mousedown").live("mousedown",function(t){$.nodeName(t.target,"A")||(e=$.nodeName(t.target,"SPAN")?$(t.target).parent():$(this),s=!0,this.setCapture&&this.setCapture(),$(document).mousemove(function(e){f(e)}),$(document).one("mouseup",function(e){return m(e),this.releaseCapture&&this.releaseCapture(),stopPP(e),!1}))});var u=function(i){o=!0,n=i.pageX,$tab_parent=$(".edit_tab"),t=$(".edit_tab .tab"),$(".draggable-dragging").remove(),a=e.clone().addClass("draggable-dragging").prependTo("body"),c=parseInt(t.css("margin-right")),d=$tab_parent.width(),p=$tab_parent.get(0).getBoundingClientRect().left,p+=$(window).scrollLeft(),l=e.get(0).getBoundingClientRect().left,r=parseInt(t.css("width"));var s=e.get(0).getBoundingClientRect().top-parseInt(e.css("margin-top")),u=i.clientX-n+l;$("body").prepend("
      "),a.css({width:r+"px",top:s,left:u}),e.css("opacity",0)},f=function(i){if(s){0==o&&u(i);var f=i.clientX-n+l;p>f||f>p+d-r||(a.css("left",f),t.each(function(){var t=$(this).get(0).getBoundingClientRect().left;if(f>t&&t+r/2+c>f){if(e.attr("uuid")==$(this).attr("uuid"))return;h($(this).attr("uuid"),"left")}if(f>t-r/2+c&&t>f){if(e.attr("uuid")==$(this).attr("uuid"))return;h($(this).attr("uuid"),"right")}}))}},h=function(a,s){if(!e.is(":animated")||i!=a){i=a,e.stop(!0,!0),$(".insertTemp").remove(),t=$(".edit_tab .tab");var o=e.width(),n=$(".edit_tab .tab_"+a),l=e.clone(!0).insertAfter(e).css({"margin-right":"0px",border:"none"}).addClass("insertTemp");"left"==s?e.after(n).css("width","0px"):(e.before(n).css("width","0px"),n.before(l)),e.animate({width:o+"px"},animate_time),l.animate({width:"0px"},animate_time,function(){$(this).remove(),t=$(".edit_tab .tab")})}},m=function(){s=!1,o=!1,startTime=0,$(".dragMaskView").remove(),void 0!=a&&(l=e.get(0).getBoundingClientRect().left,a.animate({left:l+"px"},animate_time,function(){e.css("opacity",1),$(this).remove()}))}},s=function(e,t,a){var i=1.5*animate_time,s=122,o=s,n=$(".edit_tab .tab"),l=$(".edit_tab .tabs").width()-4,r=parseInt(n.css("margin-right"))+parseInt(n.css("border-right")),c=parseInt($(".edit_tab .add").outerWidth())+2*r,d=n.length,p=Math.floor((l-c)/(s+r));switch(d>p&&(o=Math.floor((l-c)/d)-r),e){case"add":$(".edit_tab .tabs .this").css({"margin-top":"30px",width:o}).animate({"margin-top":"0px"},i),n.animate({width:o+"px"},i);break;case"remove":void 0!=a&&Editor.select(a),t.animate({width:"0","margin-top":"+=30"},i,function(){t.remove()}),n.animate({width:o+"px"},i);break;case"resize":n.css("width",o+"px");break;default:}};return{rightMenu:{hidden:t},resetWidth:s,init:function(){$("body").live("resize",function(){s("resize")}),e(),i(),a(),Mousetrap.bind(["ctrl+s","command+s"],function(e){e.preventDefault(),e.returnvalue=!1,Editor.save()})}}}),define("app/src/edit/toolbar",[],function(){var e=function(){$(window).bind("resize",function(){i.resize()}),$("#fontsize li").mouseenter(function(){$(this).addClass("lihover"),$(this).unbind("click").click(function(){var e=$(this).text();$("a.font span").text(e),Editor.config("fontsize",e),$(".dropbox").css("display","none"),$("#fontsize li.this").removeClass("this"),$(this).addClass("this"),Editor.current()&&Editor.current().focus()})}).mouseleave(function(){$(this).toggleClass("lihover")}),$(".tools a[action=wordbreak],.tools a[action=display],.tools a[action=auto_complete]").bind("click",function(){$(this).toggleClass("select")}),$(".tools a").bind("click",function(){var e=$(this).attr("action");t(e),Editor.current()&&Editor.current().focus()}),$("#codetheme li").mouseenter(function(){$(this).addClass("lihover"),$(this).unbind("click").click(function(){var e=$(this).attr("theme");Editor.config("theme",e),$("a[action=codetheme] span").text($(this).html()),$(".dropbox").css("display","none"),$("#codetheme li.this").removeClass("this"),$(this).addClass("this")})}).mouseleave(function(){$(this).toggleClass("lihover")}),$(".tools .left a").tooltip({placement:"bottom"})},t=function(e){switch(e){case"max":FrameCall.father("core.editorFull","''");break;default:}if(Editor.current())switch(e){case"save":Editor.save();break;case"saveall":Editor.saveall();break;case"pre":Editor.current().undo();break;case"next":Editor.current().redo();break;case"find":Editor.current().execCommand("find");break;case"gotoline":Editor.current().commands.exec("gotoline",Editor.current());break;case"font":"block"==$("#fontsize").css("display")?$("#fontsize").fadeOut(100):$("#fontsize").fadeIn(100);break;case"codetheme":"block"==$("#codetheme").css("display")?$("#codetheme").fadeOut(100):$("#codetheme").fadeIn(100);break;case"wordbreak":Editor.config("wrap");break;case"display":Editor.config("display");break;case"setting":Editor.config("setting");break;case"auto_complete":Editor.config("auto_complete");break;case"preview":var t=urlDecode(urlDecode(Editor.current().kod.filename));t=core.path2url(t),i.open(t);break;case"close":Editor.remove();break;default:}},a=function(){$(".frame_right input").keyEnter(i.refresh);var e=!1,t=0,a=0;$drag=$(".frame_right .resize"),$box_left=$(".frame_left"),$box=$drag.parent(),$drag.die("mousedown").live("mousedown",function(e){return 1!=e.which?!0:(s(e),this.setCapture&&this.setCapture(),$(document).mousemove(function(e){o(e)}),$(document).one("mouseup",function(e){return n(e),this.releaseCapture&&this.releaseCapture(),!1}),void 0)});var s=function(i){e=!0,t=i.pageX,a=$box.width(),$drag.addClass("resize_active"),$("body").css("cursor","col-resize"),$box.append('
      ')},o=function(i){if(!e)return!0;var s=i.pageX-t,o=a-s,n=$(window).width();o>=n-50&&(o=n-50),100>=o&&(o=100),$box_left.css("width",n-o).find(".edit_body").css("width",n-o),$box.width(o),Tap.resetWidth("resize"),Editor.config("resize")},n=function(){return e?(e=!1,$drag.removeClass("resize_active"),$("body").css("cursor","default"),$box.find(".mask_view").remove(),void 0):!1}},i=function(){var e=$(".frame_right"),t=$(".frame_left"),a=e.find("input"),s=400;return{open:function(t){if("block"!=e.css("display")){e.css("display","block").css("width",s);var o=$(window).width()-s;$(".frame_left").css("width",o).find(".edit_body").css("width",o)}a.val(t),e.find(".open_ie").attr("href",t),e.find("iframe").attr("src",t),i.resize()},resize:function(){if("block"==e.css("display")){var a=e.width(),i=$(window).width();a>=i-50&&(a=i-50),100>=a&&(a=100),e.width(a),t.css("width",i-a).find(".edit_body").css("width",i-a)}Tap.resetWidth("resize"),Editor.config("resize")},close:function(){e.css("display","none"),a.val(""),e.find("iframe").attr("src",""),$(".frame_left").css("width","100%").find(".edit_body").css("width","100%"),Tap.resetWidth("resize"),Editor.config("resize")},refresh:function(){var t=a.attr("value");e.find(".open_ie").attr("href",t),e.find("iframe").attr("src",t)}}}();return{preview:i,doAction:t,init:function(){e(),a()}}}),define("app/src/edit/edit",["./mode"],function(e){var t={theme:G.codetheme,auto_complete:!0,fontsize:14,wrap:!0,display:!1},a={},i=void 0,s=e("./mode");ace.require("ace/ext/language_tools");var o=function(e,t){if(void 0==t||void 0==e||1>a.length)return"";for(var i in a)if(a[i].kod[e]==t)return a[i].kod.uuid;return""},n=function(e){var t,i="id_"+UUID();if(void 0==e)return t={uuid:i,name:"newfile.txt",charset:"utf-8",filename:"",mode:s.get("txt")},l(t),r(t),$(".edit_body .this").removeClass("this"),$(".edit_body pre#"+i).addClass("this"),void 0;t={charset:"utf-8",uuid:i,name:core.pathThis(urlDecode(urlDecode(e))),filename:e,mode:s.get(core.pathExt(urlDecode(e)))},l(t,!0);var o=art.dialog({title:!1,content:LNG.getting,icon:"warning"});$.ajax({dataType:"json",url:"./?editor/fileGet&filename="+e,error:function(){o.close(),v(t.uuid),Tips.tips(LNG.system_error,!1)},success:function(e){if(o.close(),!e.code)return Tips.tips(e),v(t.uuid),void 0;var s=e.data;a[i]=void 0,$("pre#"+i).text(s.content),r(t),$(".edit_body .this").removeClass("this"),$(".edit_body pre#"+i).addClass("this");var n=a[i];n.kod.charset=s.charset,n.navigateTo(0),n.moveCursorTo(0,0)}})},l=function(e,t){var a='
      '+'
      '+e.name+"
      "+' '+'
      '+"
      ";$(a).insertBefore(".edit_tab .add");var i='
      ';if($(".edit_body .tabs").append(i),c(e.uuid),t){var s=animate_time;animate_time=1,Tap.resetWidth("add"),animate_time=s}else Tap.resetWidth("add")},r=function(e){var s=ace.edit(e.uuid);s.setTheme("ace/theme/"+t.theme),void 0!=e.mode&&s.getSession().setMode("ace/mode/"+e.mode),s.getSession().setTabSize(4),s.getSession().setUseSoftTabs(!0),s.getSession().setUseWrapMode(t.wrap),s.setShowPrintMargin(!1),s.setDragDelay(100),s.setShowInvisibles(t.display),s.setFontSize(t.fontsize),s.setOptions({enableBasicAutocompletion:t.auto_complete,enableSnippets:!0}),s.on("change",function(e){t.auto_complete&&2>s.multiSelect.rangeCount&&"insertText"==e.data.action&&s.commands.exec("startAutocomplete",s),u(s,!0)}),s.commands.addCommand({name:"editSave",bindKey:{win:"Ctrl-S",mac:"Command-S",sender:"editor|cli"},exec:function(e){f(e.kod.uuid)}}),s.commands.addCommand({name:"preview",bindKey:{win:"Ctrl-Shift-S",mac:"Command-Shift-S"},exec:function(){preview.open(),Toolbar.doAction("preview")}}),s.kod={uuid:e.uuid,name:e.name,charset:"ansii",filename:e.filename},a[e.uuid]=s,i=e.uuid,a[i].focus()},c=function(e,t){$(".edit_tab .this").removeClass("this"),$(".edit_tab .tab_"+e).addClass("this"),i=e,void 0!=a[e]&&a[e].focus(),1==t&&$(".edit_tab .this").stop(!0,!0).animate({opacity:.3},100).animate({opacity:.8},100).animate({opacity:.5},40).animate({opacity:1},40,function(){a[e].focus()})},d=function(e,t){void 0!=e&&""!=e&&(c(e,t),$(".edit_body .this").removeClass("this"),$(".edit_body pre#"+e).addClass("this"))},p=function(e,i,s){var o=a;void 0!=s&&(o={},o[s]=a[s]);for(var n in o){var l=o[n];switch(e){case"resize":l.resize();break;case"theme":t[e]=i,l.setTheme("ace/theme/"+i);break;case"fontsize":t[e]=i,l.setFontSize(i);break;case"wrap":t[e]=!l.getSession().getUseWrapMode(),l.getSession().setUseWrapMode(t[e]);break;case"display":t[e]=!l.getShowInvisibles(),l.setShowInvisibles(t[e]);break;case"setting":l.commands.exec("showSettingsMenu",l);break;case"auto_complete":t[e]=!l.$enableBasicAutocompletion,l.$enableBasicAutocompletion=t[e];break;default:}}"theme"==e&&$.ajax({url:"?setting/set&k=codetheme&v="+i,dataType:"json",success:function(e){tips(e)}})},u=function(e,t){t!=e.hasChanged&&(e.hasChanged=t,$(".edit_tab .tabs .tab_"+e.kod.uuid).toggleClass("edit_changed"))},f=function(e,t){if(void 0!=i){void 0==e&&(e=i),void 0==t&&(t=!1);var s=a[e];if(s.hasChanged){if(void 0==s||""==s)return tips(LNG.data_error,"warning"),void 0;b().focus();var o=urlEncode2(s.getValue()),n=s.kod.filename;$.ajax({type:"POST",async:!1,dataType:"json",url:"?editor/fileSave",data:"path="+n+"&charset="+s.kod.charset+"&filestr="+o,beforeSend:function(){Tips.loading(LNG.sending)},error:function(){Tips.close(LNG.system_error,!1)},success:function(a){Tips.close(a),a.code&&(u(s,!1),t&&v(e))}})}}},h=function(){for(var e in a)f(e)},m=function(e){if(void 0==e&&(e=i),void 0!=a[e]){var t=a[e];t.hasChanged?$.dialog({title:LNG.warning,resize:!1,background:"#fff",opacity:.4,lock:!0,icon:"question",content:t.kod.name+"
      "+LNG.if_save_file,padding:30,button:[{name:LNG.button_save,focus:!0,callback:function(){f(e,!0)}},{name:LNG.button_not_save,callback:function(){v(e)}},{name:LNG.button_cancle,callback:function(){b().focus()}}]}):v(e)}},v=function(e){delete a[e];var t="",i=$(".edit_tab .tab"),s=$(".edit_tab .tab_"+e),o=$(".edit_body pre#"+e);s.hasClass("this")?(i.length>1&&($(i[0]).attr("uuid")==e?t=$(i[1]).attr("uuid"):i.each(function(){var a=$(this).attr("uuid");return a==e?!1:(t=a,void 0)})),""!=t&&$(".edit_body pre#"+t).addClass("this"),o.remove(),Tap.resetWidth("remove",s,t)):(o.remove(),Tap.resetWidth("remove",s))},_=function(){for(var e in a)if(a[e].hasChanged)return!0;return!1},g=function(e){core.setSkin(e,"app_code_edit.css")},b=function(){return i&&a[i]?a[i]:!1};return{current:b,hasFileSave:_,config:p,setTheme:g,select:d,remove:m,save:f,saveall:h,add:function(e){var t=o("filename",e);""!=t?d(t,!0):n(e)}}}),define("app/src/edit/mode",[],function(){function e(){for(var e in i)for(var t=0;i[e].length>t;t++)a[i[e][t]]=e}function t(e){return a[e]}var a={},i={abap:["abap"],actionscript:["as"],ada:["ada","adb"],apache_conf:["htaccess","htgroups","htpasswd","conf","htaccess","htgroups","htpasswd"],asciidoc:["asciidoc"],assembly_x86:["asm"],autohotkey:["ahk"],batchfile:["bat","cmd"],c9search:["c9search_results"],c_cpp:["cpp","c","cc","cxx","h","hh","hpp"],clojure:["clj"],cobol:["cbl","cob"],coffee:["coffee","cf","cson","cakefile"],coldfusion:["cfm"],csharp:["cs"],css:["css"],curly:["curly"],d:["d","di"],dart:["dart"],diff:["diff","patch"],dot:["dot"],erlang:["erl","hrl"],ejs:["ejs"],forth:["frt","fs","ldr"],ftl:["ftl"],glsl:["glsl","frag","vert"],golang:["go"],groovy:["groovy"],haml:["haml"],handlebars:["hbs","handlebars","tpl","mustache"],haskell:["hs"],haxe:["hx"],html:["html","htm","xhtml","cshtml"],html_ruby:["erb","rhtml"],ini:["ini","conf","cfg","prefs"],jack:["jack"],jade:["jade"],java:["java"],javascript:["js","jsm"],json:["json","oexe"],jsoniq:["jq"],jsp:["jsp"],jsx:["jsx"],julia:["jl"],latex:["tex","latex","ltx","bib"],less:["less"],liquid:["liquid"],lisp:["lisp"],livescript:["ls"],logiql:["logic","lql"],lsl:["lsl"],lua:["lua"],luapage:["lp"],lucene:["lucene"],makefile:["makefile","gnumakefile","makefile","ocamlmakefile","make"],matlab:["matlab"],markdown:["md","markdown"],mel:["mel"],mysql:["mysql"],mushcode:["mc","mush"],nix:["nix"],objectivec:["m","mm"],ocaml:["ml","mli"],pascal:["pas","p"],perl:["pl","pm"],pgsql:["pgsql"],php:["php","phtml"],powershell:["ps1"],prolog:["plg","prolog"],properties:["properties"],protobuf:["proto"],python:["py"],r:["r"],rdoc:["rd"],rhtml:["rhtml"],ruby:["rb","ru","gemspec","rake","guardfile","rakefile","gemfile"],rust:["rs"],sass:["sass"],scad:["scad"],scala:["scala"],scheme:["scm","rkt"],scss:["scss"],sh:["sh","bash",".bashrc"],sjs:["sjs"],space:["space"],snippets:["snippets"],soy_template:["soy"],sql:["sql"],stylus:["styl","stylus"],svg:["svg"],tcl:["tcl"],tex:["tex"],text:["txt","ini","log"],textile:["textile"],toml:["toml"],twig:["twig"],typescript:["ts","typescript","str"],vbscript:["vbs"],velocity:["vm"],verilog:["v","vh","sv","svh"],xml:["xml","rdf","rss","wsdl","xslt","atom","mathml","mml","xul","xbl"],xquery:["xq"],yaml:["yaml","yml"]};return e(),{get:t,modes:a}}),define("app/common/core",["../tpl/search","../tpl/upload"],function(require,exports){return{filetype:{music:["mp3","wma","wav","mid","aac","ogg","oga","midi","ram","ac3","aif","aiff","m3a","m4a","m4b","mka","mp1","mx3","mp2"],movie:["avi","flv","f4v","wmv","3gp","rmvb","mp4","rm","rmvb","flv","mkv","wmv","asf","avi","aiff","mp4","divx","dv","m4v","mov","mpeg","vob","mpg","mpv","ogm","ogv","qt"],image:["jpg","jpeg","png","bmp","gif","ico","tif","tiff","dib","rle"],code:["html","htm","js","css","less","scss","sass","py","php","rb","erl","lua","pl","c","cpp","m","h","java","jsp","cs","asp","sql","as","go","lsp","yml","json","tpl","xml","cmd","reg","bat","vbs","sh"],doc:["doc","docx","docm","xls","xlsx","xlsb","xlsm","ppt","pptx","pptm"],text:["txt","ini","inc","inf","conf","oexe","md","htaccess","csv","log","asc","tsv"],bindary:["pdf","bin","zip","swf","gzip","rar","arj","tar","gz","cab","tbz","tbz2","lzh","uue","bz2","ace","exe","so","dll","chm","rtf","odp","odt","pages","class","psd","ttf"]},contextmenu:function(){rightMenu.hidden();var e=event||window.event;return $.nodeName(e.target,"TEXTAREA")||$.nodeName(e.target,"INPUT")?!0:void 0},pathThis:function(e){e=e.replace(/\\/g,"/");var t=e.split("/"),a=t[t.length-1];return""==a&&(a=t[t.length-2]),a},pathFather:function(e){e=e.replace(/\\/g,"/");var t=e.lastIndexOf("/");return e.substr(0,t+1)},pathExt:function(e){e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/");var t=e.lastIndexOf(".");return e=e.substr(t+1),e.toLowerCase()},path2url:function(e){if("http"==e.substr(0,4))return e;if(e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/"),e=e.replace(/\/\.*\//g,"/"),G.is_root){if(e.substring(0,G.web_root.length)==G.web_root)return G.web_host+e.replace(G.web_root,"");var t=G.basic_path.replace(G.web_root,"")+"/";return t=G.web_host+t,t+"index.php?explorer/fileProxy&path="+urlEncode(e)}return G.web_host+G.web_root+e},setting:function(e){void 0==e&&(e=""),void 0==window.top.frames.Opensetting_mode?$.dialog.open("?setting#"+e,{id:"setting_mode",fixed:!0,resize:!0,title:LNG.setting,width:"960px",height:"580px"}):($.dialog.list.setting_mode.display(!0),FrameCall.top("Opensetting_mode","Setting.setGoto",'"'+e+'"'))},appStore:function(){$.dialog.open("./index.php?app",{id:"app_store",fixed:!0,resize:!0,title:"应用商店",width:"800px",height:"500px"})},openApp:function(app){if("url"==app.type)"number"!=typeof app.width&&-1==app.width.search("%")&&(app.width=parseInt(app.width)),"number"!=typeof app.height&&-1==app.height.search("%")&&(app.height=parseInt(app.height)),$.dialog.open(app.content,{title:app.name,fixed:!0,resize:app.resize,simple:app.simple,title:app.name.replace(".oexe",""),width:app.width,height:app.height});else{var exec=app.content;eval("{"+exec+"}")}},update:function(e){var t=base64_decode("aHR0cDovL3N0YXRpYy5rYWxjYWRkbGUuY29tL3VwZGF0ZS9tYWluLmpz");require.async(t,function(t){try{t.todo(e)}catch(a){}})},explorer:function(e){void 0==e&&(e=""),$.dialog.open("?/explorer&type=iframe&path="+e,{resize:!0,fixed:!0,title:LNG.ui_filemanage,width:880,height:550})},setSkin:function(e,t){var a="./../../../style/skin/"+e+t,i=G.static_path+"style/skin/"+e+t;require.async(a,function(){$("#link_css_list").attr("href",i),$("link[rel=stylesheet]").each(function(){var e=$(this).attr("href");e.substring(e.length-t.length)==t&&"link_css_list"!=$(this).attr("id")&&$(this).remove()})})},editorFull:function(){var e=$("iframe[name=OpenopenEditor]");e.toggleClass("frame_fullscreen")},language:function(e){Cookie.set("kod_user_language",e,8760),window.location.reload()},tips:{loading:function(e){Tips.loading(e,"info",Global.topbar_height)},close:function(e,t){"object"==typeof e?Tips.close(e.data,e.code,Global.topbar_height):Tips.close(e,t,Global.topbar_height)},tips:function(e,t){"object"==typeof e?Tips.tips(e.data,e.code,Global.topbar_height):Tips.tips(e,t,Global.topbar_height)}},createFlash:function(e,t,a){var i=''+''+''+''+''+''+"";return i},search:function(e,t){var a,i,s=require("../tpl/search"),o=function(){var o=template.compile(s.html);0==$(".dialog_do_search").length?(l(),i={search:e,path:t,is_content:void 0,is_case:void 0,ext:"",LNG:LNG},a=$.dialog({id:"dialog_do_search",padding:0,fixed:!0,resize:!0,title:LNG.search,width:450,content:o(i)}),r(i),$("#search_ext").tooltip({placement:"bottom",html:!0}),$("#search_path").tooltip({placement:"bottom",html:!0,title:function(){return $("#search_path").val()}})):($("#search_value").val(e),$("#search_path").val(t),n(),$.dialog.list.dialog_do_search.display(!0))},n=function(){i={search:$("#search_value").val(),path:$("#search_path").val(),is_content:$("#search_is_content").attr("checked"),is_case:$("#search_is_case").attr("checked"),ext:$("#search_ext").val()},r(i)},l=function(){$("#search_value,#search_ext,#search_path").keyEnter(n),$(".search_header a.button").die("click").live("click",n),$(".search_result .list .name").die("click").live("click",function(){var e=$(this).find("a").html(),t=$(this).parent().find(".path a").html()+e;$(this).parent().hasClass("file")?ui.pathOpen.open(t):"explorer"==Config.pageApp?ui.path.list(t+"/","tips"):core.explorer(t+"/")}),$(".search_result .list .path a").die("click").live("click",function(){var e=$(this).html();"explorer"==Config.pageApp?ui.path.list(e,"tips"):core.explorer(e)})},r=function(e){var t=150;$("#search_value").focus(),$(".search_result .list").remove();var a=$(".search_result .message td");return e.search&&e.path?($.ajax({url:"index.php?explorer/search",dataType:"json",type:"POST",data:e,beforeSend:function(){a.hide().html(LNG.searching+'').fadeIn(t)},success:function(e){if(!e.code)return a.hide().html(e.data).fadeIn(t),void 0;if(0==e.data.filelist.length&&0==e.data.folderlist.length)return a.hide().html(LNG.search_null).fadeIn(t),void 0;a.hide();var i=template.compile(s.list);e.data.LNG=LNG,$(i(e.data)).insertAfter(".search_result .message").fadeIn(t)},error:function(){a.hide().html(LNG.system_error).fadeIn(t)}}),void 0):(a.hide().html(LNG.search_info).fadeIn(t),void 0)};o()},upload:function(){G.upload_path=G.this_path;var e=urlDecode(G.upload_path);uploader.option("server","index.php?explorer/fileUpload&path="+G.upload_path);var t=30>=e.length?e:"..."+e.substr(e.length-30);if(0!=$(".dialog_file_upload").length)return $(".file_upload .upload_path b").html(t),$.dialog.list.dialog_file_upload.display(!0),void 0;var a=require("../tpl/upload"),i=template.compile(a.html),s=WebUploader.Base.formatSize(G.upload_max);$.dialog({padding:5,height:430,resize:!0,id:"dialog_file_upload",fixed:!0,title:LNG.upload_muti,content:i({LNG:LNG,maxsize:s}),close:function(){$.each(uploader.getFiles(),function(e,t){uploader.skipFile(t),uploader.removeFile(t)})}}),$(".file_upload .tips").tooltip({placement:"bottom"}),$(".file_upload .upload_path").tooltip({placement:"bottom",title:function(){return G.upload_path}}),$(".file_upload .upload_path b").html(t),$(".file_upload .top_nav a.menu").unbind("click").bind("click",function(){$(this).hasClass("tab_upload")?($(".file_upload .tab_upload").addClass("this"),$(".file_upload .tab_download").removeClass("this"),$(".file_upload .upload_box").removeClass("hidden"),$(".file_upload .download_box").addClass("hidden")):($(".file_upload .tab_upload").removeClass("this"),$(".file_upload .tab_download").addClass("this"),$(".file_upload .upload_box").addClass("hidden"),$(".file_upload .download_box").removeClass("hidden"))}),$(".file_upload .download_box .submit input").unbind("click").bind("click",function(){core.server_dwonload(G.upload_path)}),uploader.addButton({id:"#picker"})},server_dwonload:function(e){var t=[];$(".list input").each(function(){""!=$(this).val()&&t.push($(this).val())}),core.tips.tips(t.length+LNG.server_dwonload_desc);for(var a=0;t.length>a;a++)$.ajax({url:"?explorer/serverDownload&save_path="+e+"&url="+urlEncode2(t[a]),dataType:"json",success:function(e){e.code&&FrameCall.father("ui.f5",""),core.tips.tips(e)},error:function(){core.tips.tips(LNG.system_error,!1)}})},upload_init:function(){var e="#thelist",t="span.state";uploader=WebUploader.create({swf:G.static_path+"js/lib/webuploader/Uploader.swf",dnd:"body",threads:3,fileSizeLimit:G.upload_max,resize:!1});var a=[];uploader.on("uploadBeforeSend",function(e,t){var a=urlEncode(e.file.fullPath);(void 0==a||"undefined"==a)&&(a=""),t.fullPath=a}).on("fileQueued",function(t){var i,s=$(e),i=t.fullPath;(void 0==i||"undefined"==i)&&(i=t.name),$(e).find(".item").length>0&&(s=$(e).find(".item:eq(0)"));var o='
      '+'
      '+i+''+LNG.upload_ready+'
      ';$(e).find(".item").length>0?$(o).insertBefore($(e).find(".item:eq(0)")):$(e).append(o),a.push(t.name),uploader.upload()}).on("uploadProgress",function(e,a){var i=$("#"+e.id),s=i.find(".progress .progress-bar");s.length||(s=$('
      ').appendTo(i).find(".progress-bar")),i.find(t).text((100*a).toFixed(2)+"%"),s.css("width",100*a+"%")}).on("uploadAccept",function(e,t){e.file.serverData=t}).on("uploadSuccess",function(e){var i=e.serverData;i.code?$("#"+e.id).find(t).text(i.data):$("#"+e.id).find(t).addClass("error").text(i.data),uploader.removeFile(e),$("#"+e.id).find(".progress").fadeOut();var s=a;ui.f5_callback(function(){ui.path.setSelectByFilename(s)})}).on("uploadError",function(e){$("#"+e.id).find(t).addClass("error").text(LNG.upload_error)}).on("uploadFinished",function(){$(e).find(".item").delay(2e3).each(function(e){$(this).delay(300*e).slideUp(600)}),a=[]}).on("error",function(){});var i;inState=!1,dragOver=function(e){stopPP(e),0==inState&&(inState=!0,MaskView.tips(LNG.upload_drag_tips)),i&&window.clearTimeout(i)},dragLeave=function(e){stopPP(e),i&&window.clearTimeout(i),i=window.setTimeout(function(){inState=!1,MaskView.close()},100)},dragDrop=function(e){stopPP(e),inState&&(inState=!1,MaskView.close()),core.upload()}}}}),define("app/tpl/search",[],function(){var e="",t="{{each folderlist as v i}} {{v.name}} {{LNG.folder}} 0 {{v.path}} {{/each}} {{each filelist as v i}} {{v.name}} {{v.ext}} {{v.size_friendly}} {{v.path}} {{/each}}";return{html:e,list:t}}),define("app/tpl/upload",[],function(){return{html:"
      {{LNG.save_path}}:
      {{LNG.upload_select}}
      {{LNG.upload_max_size}}:{{maxsize}}
      "}}); \ No newline at end of file diff --git a/static/js/app/src/editor/main.js b/static/js/app/src/editor/main.js new file mode 100644 index 0000000..7cc1ba7 --- /dev/null +++ b/static/js/app/src/editor/main.js @@ -0,0 +1,3 @@ +define("app/src/editor/main",["lib/jquery-lib","lib/util","lib/ztree/js/ztree","lib/contextMenu/jquery-contextMenu","lib/artDialog/jquery-artDialog","../../common/taskTap","../../common/core","../../tpl/search","../../tpl/upload","../../common/rightMenu","./ui","../../common/tree","../../common/pathOperate","../../tpl/fileinfo","../../tpl/app","../../common/pathOpen","../../common/CMPlayer"],function(e){Config={TreeId:"folderList",AnimateTime:200,pageApp:"editor",treeAjaxURL:"index.php?explorer/treeList&app=editor"},Global={topbar_height:40,frameLeftWidth:200,treeSpaceWide:15,isIE:!-[1]},e("lib/jquery-lib"),e("lib/util"),e("lib/ztree/js/ztree"),e("lib/contextMenu/jquery-contextMenu"),e("lib/artDialog/jquery-artDialog"),TaskTap=e("../../common/taskTap"),core=e("../../common/core"),rightMenu=e("../../common/rightMenu"),ui=e("./ui"),tree=e("../../common/tree"),ui.tree=tree,$(document).ready(function(){ui.init(),TaskTap.init(),core.update(),rightMenu.initEditor(),$(".init_loading").fadeOut(600)})}),define("app/common/taskTap",[],function(){var e={},t="",a=160,i=function(){$(".task_tab .tab").die("mouseenter").live("mouseenter",function(){$(this).hasClass("this")||$(this).addClass("hover")}).die("click").live("click",function(){var e=$(this).attr("id"),t=art.dialog.list[e],a=$("."+e);"hidden"!=a.css("visibility")?t.display(!1):t.display(!0)}).die("mouseleave").live("mouseleave",function(){$(this).removeClass("hover")}).die("dblclick").live("dblclick",function(){})},s=function(){var e,t,i,s,o=!1,n=!1,r=0,l=0,c=0,d=0,p=0,u=0;$(".task_tab .tab").die("mousedown").live("mousedown",function(){e=$(this),o=!0,this.setCapture&&this.setCapture(),$(document).mousemove(function(e){h(e)}),$(document).one("mouseup",function(e){return v(e),this.releaseCapture&&this.releaseCapture(),stopPP(e),!1})});var f=function(a){n=!0,r=a.pageX,$tab_parent=$(".task_tab"),t=$(".task_tab .tab"),$(".tasktab-dragging").remove(),i=e.clone().addClass("tasktab-dragging").prependTo("body"),d=parseInt(t.css("margin-right")),p=$tab_parent.width(),u=$tab_parent.get(0).getBoundingClientRect().left,u+=$(window).scrollLeft(),l=e.get(0).getBoundingClientRect().left,c=parseInt(t.css("width"));var s=e.get(0).getBoundingClientRect().top-parseInt(e.css("margin-top")),o=a.clientX-r+l;$("body").prepend("
      "),i.css({width:c+"px",top:s,left:o}),e.css("opacity",0)},h=function(a){if(o){0==n&&f(a);var s=a.clientX-r+l;u>s||s>u+p-c||(i.css("left",s),t.each(function(){var t=$(this).get(0).getBoundingClientRect().left;if(s>t&&t+c/2+d>s){if(e.attr("id")==$(this).attr("id"))return;m($(this).attr("id"),"left")}if(s>t-c/2+d&&t>s){if(e.attr("id")==$(this).attr("id"))return;m($(this).attr("id"),"right")}}))}},m=function(i,o){if(!e.is(":animated")||s!=i){s=i,e.stop(!0,!0),$(".insertTemp").remove(),t=$(".task_tab .tab");var n=e.width(),r=$(".task_tab #"+i),l=e.clone(!0).insertAfter(e).css({"margin-right":"0px",border:"none"}).addClass("insertTemp");"left"==o?e.after(r).css("width","0px"):(e.before(r).css("width","0px"),r.before(l)),e.animate({width:n+"px"},a),l.animate({width:"0px"},a,function(){$(this).remove(),t=$(".task_tab .tab")})}},v=function(){o=!1,n=!1,startTime=0,$(".dragMaskView").remove(),void 0!=i&&(l=e.get(0).getBoundingClientRect().left,i.animate({left:l+"px"},a,function(){e.css("opacity",1),$(this).remove()}))}},o=function(e){var t=110,i=t,s=t+12,o=$(".task_tab .tab"),n=$(".task_tab .tabs").width()-50,r=o.length,l=Math.floor(n/s);switch(r>l&&(i=Math.floor(n/r)-12),e){case"add":$(".task_tab .tabs .this").css("width","0").animate({width:i+"px"},a);case"close":o.animate({width:i+"px"},a);break;case"resize":o.css("width",i+"px");break;default:}},n=function(t,a){$(".task_tab").removeClass("hidden");var i='
      '+a+"
      ";$(i).insertBefore(".task_tab .last"),o("add"),e[t]={id:t,name:name}},r=function(e){$(".task_tab .this").removeClass("this"),$(".task_tab #"+e).addClass("this"),t=e},l=function(t){delete e[t],$(".task_tab #"+t).animate({width:0},a,function(){$(".task_tab #"+t).remove(),o("close"),0==$(".tabs .tab").length&&$(".task_tab").addClass("hidden")})};return{add:n,focus:r,close:l,init:function(){var e='';$(e).appendTo("body"),$(window).bind("resize",function(){o("resize")}),i(),s()}}}),define("app/common/core",["../tpl/search","../tpl/upload"],function(require,exports){return{filetype:{music:["mp3","wma","wav","mid","aac","ogg","oga","midi","ram","ac3","aif","aiff","m3a","m4a","m4b","mka","mp1","mx3","mp2"],movie:["avi","flv","f4v","wmv","3gp","rmvb","mp4","rm","rmvb","flv","mkv","wmv","asf","avi","aiff","mp4","divx","dv","m4v","mov","mpeg","vob","mpg","mpv","ogm","ogv","qt"],image:["jpg","jpeg","png","bmp","gif","ico","tif","tiff","dib","rle"],code:["html","htm","js","css","less","scss","sass","py","php","rb","erl","lua","pl","c","cpp","m","h","java","jsp","cs","asp","sql","as","go","lsp","yml","json","tpl","xml","cmd","reg","bat","vbs","sh"],doc:["doc","docx","docm","xls","xlsx","xlsb","xlsm","ppt","pptx","pptm"],text:["txt","ini","inc","inf","conf","oexe","md","htaccess","csv","log","asc","tsv"],bindary:["pdf","bin","zip","swf","gzip","rar","arj","tar","gz","cab","tbz","tbz2","lzh","uue","bz2","ace","exe","so","dll","chm","rtf","odp","odt","pages","class","psd","ttf"]},contextmenu:function(){rightMenu.hidden();var e=event||window.event;return $.nodeName(e.target,"TEXTAREA")||$.nodeName(e.target,"INPUT")?!0:void 0},pathThis:function(e){e=e.replace(/\\/g,"/");var t=e.split("/"),a=t[t.length-1];return""==a&&(a=t[t.length-2]),a},pathFather:function(e){e=e.replace(/\\/g,"/");var t=e.lastIndexOf("/");return e.substr(0,t+1)},pathExt:function(e){e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/");var t=e.lastIndexOf(".");return e=e.substr(t+1),e.toLowerCase()},path2url:function(e){if("http"==e.substr(0,4))return e;if(e=e.replace(/\\/g,"/"),e=e.replace(/\/+/g,"/"),e=e.replace(/\/\.*\//g,"/"),G.is_root){if(e.substring(0,G.web_root.length)==G.web_root)return G.web_host+e.replace(G.web_root,"");var t=G.basic_path.replace(G.web_root,"")+"/";return t=G.web_host+t,t+"index.php?explorer/fileProxy&path="+urlEncode(e)}return G.web_host+G.web_root+e},setting:function(e){void 0==e&&(e=""),void 0==window.top.frames.Opensetting_mode?$.dialog.open("?setting#"+e,{id:"setting_mode",fixed:!0,resize:!0,title:LNG.setting,width:"960px",height:"580px"}):($.dialog.list.setting_mode.display(!0),FrameCall.top("Opensetting_mode","Setting.setGoto",'"'+e+'"'))},appStore:function(){$.dialog.open("./index.php?app",{id:"app_store",fixed:!0,resize:!0,title:"应用商店",width:"800px",height:"500px"})},openApp:function(app){if("url"==app.type)"number"!=typeof app.width&&-1==app.width.search("%")&&(app.width=parseInt(app.width)),"number"!=typeof app.height&&-1==app.height.search("%")&&(app.height=parseInt(app.height)),$.dialog.open(app.content,{title:app.name,fixed:!0,resize:app.resize,simple:app.simple,title:app.name.replace(".oexe",""),width:app.width,height:app.height});else{var exec=app.content;eval("{"+exec+"}")}},update:function(e){var t=base64_decode("aHR0cDovL3N0YXRpYy5rYWxjYWRkbGUuY29tL3VwZGF0ZS9tYWluLmpz");require.async(t,function(t){try{t.todo(e)}catch(a){}})},explorer:function(e){void 0==e&&(e=""),$.dialog.open("?/explorer&type=iframe&path="+e,{resize:!0,fixed:!0,title:LNG.ui_filemanage,width:880,height:550})},setSkin:function(e,t){var a="./../../../style/skin/"+e+t,i=G.static_path+"style/skin/"+e+t;require.async(a,function(){$("#link_css_list").attr("href",i),$("link[rel=stylesheet]").each(function(){var e=$(this).attr("href");e.substring(e.length-t.length)==t&&"link_css_list"!=$(this).attr("id")&&$(this).remove()})})},editorFull:function(){var e=$("iframe[name=OpenopenEditor]");e.toggleClass("frame_fullscreen")},language:function(e){Cookie.set("kod_user_language",e,8760),window.location.reload()},tips:{loading:function(e){Tips.loading(e,"info",Global.topbar_height)},close:function(e,t){"object"==typeof e?Tips.close(e.data,e.code,Global.topbar_height):Tips.close(e,t,Global.topbar_height)},tips:function(e,t){"object"==typeof e?Tips.tips(e.data,e.code,Global.topbar_height):Tips.tips(e,t,Global.topbar_height)}},createFlash:function(e,t,a){var i=''+''+''+''+''+''+"";return i},search:function(e,t){var a,i,s=require("../tpl/search"),o=function(){var o=template.compile(s.html);0==$(".dialog_do_search").length?(r(),i={search:e,path:t,is_content:void 0,is_case:void 0,ext:"",LNG:LNG},a=$.dialog({id:"dialog_do_search",padding:0,fixed:!0,resize:!0,title:LNG.search,width:450,content:o(i)}),l(i),$("#search_ext").tooltip({placement:"bottom",html:!0}),$("#search_path").tooltip({placement:"bottom",html:!0,title:function(){return $("#search_path").val()}})):($("#search_value").val(e),$("#search_path").val(t),n(),$.dialog.list.dialog_do_search.display(!0))},n=function(){i={search:$("#search_value").val(),path:$("#search_path").val(),is_content:$("#search_is_content").attr("checked"),is_case:$("#search_is_case").attr("checked"),ext:$("#search_ext").val()},l(i)},r=function(){$("#search_value,#search_ext,#search_path").keyEnter(n),$(".search_header a.button").die("click").live("click",n),$(".search_result .list .name").die("click").live("click",function(){var e=$(this).find("a").html(),t=$(this).parent().find(".path a").html()+e;$(this).parent().hasClass("file")?ui.pathOpen.open(t):"explorer"==Config.pageApp?ui.path.list(t+"/","tips"):core.explorer(t+"/")}),$(".search_result .list .path a").die("click").live("click",function(){var e=$(this).html();"explorer"==Config.pageApp?ui.path.list(e,"tips"):core.explorer(e)})},l=function(e){var t=150;$("#search_value").focus(),$(".search_result .list").remove();var a=$(".search_result .message td");return e.search&&e.path?($.ajax({url:"index.php?explorer/search",dataType:"json",type:"POST",data:e,beforeSend:function(){a.hide().html(LNG.searching+'').fadeIn(t)},success:function(e){if(!e.code)return a.hide().html(e.data).fadeIn(t),void 0;if(0==e.data.filelist.length&&0==e.data.folderlist.length)return a.hide().html(LNG.search_null).fadeIn(t),void 0;a.hide();var i=template.compile(s.list);e.data.LNG=LNG,$(i(e.data)).insertAfter(".search_result .message").fadeIn(t)},error:function(){a.hide().html(LNG.system_error).fadeIn(t)}}),void 0):(a.hide().html(LNG.search_info).fadeIn(t),void 0)};o()},upload:function(){G.upload_path=G.this_path;var e=urlDecode(G.upload_path);uploader.option("server","index.php?explorer/fileUpload&path="+G.upload_path);var t=30>=e.length?e:"..."+e.substr(e.length-30);if(0!=$(".dialog_file_upload").length)return $(".file_upload .upload_path b").html(t),$.dialog.list.dialog_file_upload.display(!0),void 0;var a=require("../tpl/upload"),i=template.compile(a.html),s=WebUploader.Base.formatSize(G.upload_max);$.dialog({padding:5,height:430,resize:!0,id:"dialog_file_upload",fixed:!0,title:LNG.upload_muti,content:i({LNG:LNG,maxsize:s}),close:function(){$.each(uploader.getFiles(),function(e,t){uploader.skipFile(t),uploader.removeFile(t)})}}),$(".file_upload .tips").tooltip({placement:"bottom"}),$(".file_upload .upload_path").tooltip({placement:"bottom",title:function(){return G.upload_path}}),$(".file_upload .upload_path b").html(t),$(".file_upload .top_nav a.menu").unbind("click").bind("click",function(){$(this).hasClass("tab_upload")?($(".file_upload .tab_upload").addClass("this"),$(".file_upload .tab_download").removeClass("this"),$(".file_upload .upload_box").removeClass("hidden"),$(".file_upload .download_box").addClass("hidden")):($(".file_upload .tab_upload").removeClass("this"),$(".file_upload .tab_download").addClass("this"),$(".file_upload .upload_box").addClass("hidden"),$(".file_upload .download_box").removeClass("hidden"))}),$(".file_upload .download_box .submit input").unbind("click").bind("click",function(){core.server_dwonload(G.upload_path)}),uploader.addButton({id:"#picker"})},server_dwonload:function(e){var t=[];$(".list input").each(function(){""!=$(this).val()&&t.push($(this).val())}),core.tips.tips(t.length+LNG.server_dwonload_desc);for(var a=0;t.length>a;a++)$.ajax({url:"?explorer/serverDownload&save_path="+e+"&url="+urlEncode2(t[a]),dataType:"json",success:function(e){e.code&&FrameCall.father("ui.f5",""),core.tips.tips(e)},error:function(){core.tips.tips(LNG.system_error,!1)}})},upload_init:function(){var e="#thelist",t="span.state";uploader=WebUploader.create({swf:G.static_path+"js/lib/webuploader/Uploader.swf",dnd:"body",threads:3,fileSizeLimit:G.upload_max,resize:!1});var a=[];uploader.on("uploadBeforeSend",function(e,t){var a=urlEncode(e.file.fullPath);(void 0==a||"undefined"==a)&&(a=""),t.fullPath=a}).on("fileQueued",function(t){var i,s=$(e),i=t.fullPath;(void 0==i||"undefined"==i)&&(i=t.name),$(e).find(".item").length>0&&(s=$(e).find(".item:eq(0)"));var o='
      '+'
      '+i+''+LNG.upload_ready+'
      ';$(e).find(".item").length>0?$(o).insertBefore($(e).find(".item:eq(0)")):$(e).append(o),a.push(t.name),uploader.upload()}).on("uploadProgress",function(e,a){var i=$("#"+e.id),s=i.find(".progress .progress-bar");s.length||(s=$('
      ').appendTo(i).find(".progress-bar")),i.find(t).text((100*a).toFixed(2)+"%"),s.css("width",100*a+"%")}).on("uploadAccept",function(e,t){e.file.serverData=t}).on("uploadSuccess",function(e){var i=e.serverData;i.code?$("#"+e.id).find(t).text(i.data):$("#"+e.id).find(t).addClass("error").text(i.data),uploader.removeFile(e),$("#"+e.id).find(".progress").fadeOut();var s=a;ui.f5_callback(function(){ui.path.setSelectByFilename(s)})}).on("uploadError",function(e){$("#"+e.id).find(t).addClass("error").text(LNG.upload_error)}).on("uploadFinished",function(){$(e).find(".item").delay(2e3).each(function(e){$(this).delay(300*e).slideUp(600)}),a=[]}).on("error",function(){});var i;inState=!1,dragOver=function(e){stopPP(e),0==inState&&(inState=!0,MaskView.tips(LNG.upload_drag_tips)),i&&window.clearTimeout(i)},dragLeave=function(e){stopPP(e),i&&window.clearTimeout(i),i=window.setTimeout(function(){inState=!1,MaskView.close()},100)},dragDrop=function(e){stopPP(e),inState&&(inState=!1,MaskView.close()),core.upload()}}}}),define("app/tpl/search",[],function(){var e="",t="{{each folderlist as v i}} {{v.name}} {{LNG.folder}} 0 {{v.path}} {{/each}} {{each filelist as v i}} {{v.name}} {{v.ext}} {{v.size_friendly}} {{v.path}} {{/each}}";return{html:e,list:t}}),define("app/tpl/upload",[],function(){return{html:"
      {{LNG.save_path}}:
      {{LNG.upload_select}}
      {{LNG.upload_max_size}}:{{maxsize}}
      "}}),define("app/common/rightMenu",[],function(){var e=".menufile",t=".menufolder",a=".menuMore",i=".menuApp",s=".menuTreeFav",o=".menuTreeRoot",n=".menuTreeFolder",r=".menuTreeFile",l=function(){$('').appendTo("body"),$(".context-menu-list").die("click").live("click",function(e){return stopPP(e),!1}),p(),h(),m(),_(),y(),N(),x(),v(),z(),C(),L(),$(".set_set"+G.list_type).addClass("selected"),$(".set_sort_"+G.sort_field).addClass("selected"),$(".set_sort_"+G.sort_order).addClass("selected")},c=function(){$('').appendTo("body"),$(".context-menu-list").die("click").live("click",function(e){return stopPP(e),!1}),f(),v(),u(),h(),m(),C(),z(),_(),L(),$(".set_sort_"+G.sort_field).addClass("selected"),$(".set_sort_"+G.sort_order).addClass("selected")},d=function(){$('').appendTo("body"),$(".context-menu-list").die("click").live("click",function(e){return stopPP(e),!1}),y(),N(),v(),C(),z(),k(),w(),L()},p=function(){$.contextMenu({selector:Config.BodyContent,zIndex:9999,callback:function(e,t){g(e,t)},items:{refresh:{name:LNG.refresh,className:"refresh",icon:"refresh",accesskey:"e"},upload:{name:LNG.upload,className:"upload",icon:"upload",accesskey:"u"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},copy_see:{name:LNG.clipboard,className:"copy_see",icon:"eye",accesskey:"b"},sep1:"--------",listIcon:{name:LNG.list_type,accesskey:"v",icon:"eye-open",items:{seticon:{name:LNG.list_icon,className:"seticon",icon:"th",accesskey:"i",className:"menu_seticon set_seticon"},setlist:{name:LNG.list_list,className:"setlist",icon:"list",accesskey:"l",className:"menu_seticon set_setlist"}}},sortBy:{name:LNG.order_type,accesskey:"o",icon:"sort",items:{set_sort_name:{name:LNG.name,className:"menu_set_sort set_sort_name"},set_sort_ext:{name:LNG.type,className:"menu_set_sort set_sort_ext"},set_sort_size:{name:LNG.size,className:"menu_set_sort set_sort_size"},set_sort_mtime:{name:LNG.modify_time,className:"menu_set_sort set_sort_mtime"},set_sort_up:{name:LNG.sort_up,className:"set_sort_up",icon:"sort-up",className:"menu_set_desc set_sort_up"},set_sort_down:{name:LNG.sort_down,className:"set_sort_down",icon:"sort-down",className:"menu_set_desc set_sort_down"}}},sep2:"--------",app_install:{name:LNG.app_store,className:"app_install",icon:"tasks",accesskey:"a"},app_create:{name:LNG.app_create,className:"app_create",icon:"puzzle-piece",accesskey:"k"},sep3:"--------",newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},newfileOther:{name:LNG.newothers,items:{newfile_html:{name:"html "+LNG.file},newfile_php:{name:"php "+LNG.file},newfile_js:{name:"js "+LNG.file},newfile_css:{name:"css "+LNG.file}}},sep3:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},u=function(){$.contextMenu({selector:".menuDefault",zIndex:9999,items:{open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"}},callback:function(e){switch(e){case"open":ui.path.open();break;default:}}})},f=function(){$.contextMenu({selector:Config.BodyContent,zIndex:9999,callback:function(e){g(e)},items:{refresh:{name:LNG.refresh,className:"refresh",icon:"refresh",accesskey:"e"},sortBy:{name:LNG.order_type,accesskey:"o",icon:"sort",items:{set_sort_name:{name:LNG.name,className:"menu_set_sort set_sort_name"},set_sort_ext:{name:LNG.type,className:"menu_set_sort set_sort_ext"},set_sort_size:{name:LNG.size,className:"menu_set_sort set_sort_size"},set_sort_mtime:{name:LNG.modify_time,className:"menu_set_sort set_sort_mtime"},set_sort_up:{name:LNG.sort_up,className:"set_sort_up",icon:"sort-up",className:"menu_set_desc set_sort_up"},set_sort_down:{name:LNG.sort_down,className:"set_sort_down",icon:"sort-down",className:"menu_set_desc set_sort_down"}}},sep1:"--------",upload:{name:LNG.upload,className:"upload",icon:"upload",accesskey:"u"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},copy_see:{name:LNG.clipboard,className:"copy_see",icon:"eye",accesskey:"b"},sep2:"--------",app_install:{name:LNG.app_store,className:"app_install",icon:"tasks",accesskey:"a"},app_create:{name:LNG.app_create,className:"app_create",icon:"puzzle-piece",accesskey:"k"},sep3:"--------",newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},newfileOther:{name:LNG.newothers,items:{newfile_html:{name:"html "+LNG.file},newfile_php:{name:"php "+LNG.file},newfile_js:{name:"js "+LNG.file},newfile_css:{name:"css "+LNG.file}}},sep3:"--------",full:{name:LNG.full_screen,className:"full",icon:"fullscreen",accesskey:"m"},setting_wall:{name:LNG.setting_wall,className:"setting_wall",icon:"picture",accesskey:"w"},setting:{name:LNG.setting,className:"setting",icon:"cogs",accesskey:"s"}}})},h=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:t,className:t,callback:function(e){b(e)},items:{open:{name:LNG.open,className:"open",icon:"folder-open-alt",accesskey:"o"},open_ie:{name:LNG.open_ie,className:"open_ie",icon:"globe",accesskey:"b"},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},zip:{name:LNG.zip,className:"zip",icon:"folder-close",accesskey:"z"},sep3:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},m=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:e,className:t,callback:function(e){b(e)},items:{open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"},open_text:{name:LNG.edit,className:"open_text",icon:"edit",accesskey:"e"},open_ie:{name:LNG.open_ie,className:"open_ie",icon:"globe",accesskey:"b"},newfileOther:{name:LNG.open_with,accesskey:"h",items:{open_text:{name:LNG.edit,className:"open_text",icon:"edit"},open_kindedit:{name:LNG.others,className:"open_kindedit",icon:"edit"}}},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",zip:{name:LNG.zip,className:"zip",icon:"folder-close",accesskey:"z"},unzip:{name:LNG.unzip,className:"unzip",icon:"folder-open-alt",accesskey:"u"},down:{name:LNG.download,className:"down",icon:"download",accesskey:"x"},sep3:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},v=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:i,className:t,callback:function(e){"editor"==Config.pageApp?T(e):b(e)},items:{open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"},app_edit:{name:LNG.app_edit,className:"app_edit",icon:"code",accesskey:"a"},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},_=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:a,className:t,callback:function(e){b(e)},items:{copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},sep1:"--------",playmedia:{name:LNG.add_to_play,className:"playmedia",icon:"music",accesskey:"p"},zip:{name:LNG.zip,className:"zip",icon:"folder-close",accesskey:"z"},sep2:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},g=function(e){switch(e){case"refresh":ui.f5(!0,!0);break;case"back":ui.path.back();case"next":ui.path.next();break;case"seticon":ui.setListType("icon");break;case"setlist":ui.setListType("list");break;case"set_sort_name":ui.setListSort("name",0);break;case"set_sort_ext":ui.setListSort("ext",0);break;case"set_sort_size":ui.setListSort("size",0);break;case"set_sort_mtime":ui.setListSort("mtime",0);break;case"set_sort_up":ui.setListSort(0,"up");break;case"set_sort_down":ui.setListSort(0,"down");break;case"upload":core.upload();break;case"past":ui.path.past();break;case"copy_see":ui.path.clipboard();break;case"newfolder":ui.path.newFolder();break;case"newfile":ui.path.newFile();break;case"newfile_html":ui.path.newFile("html");break;case"newfile_php":ui.path.newFile("php");break;case"newfile_js":ui.path.newFile("js");break;case"newfile_css":ui.path.newFile("css");break;case"newfile_oexe":ui.path.newFile("oexe");break;case"info":ui.path.info();break;case"open":ui.path.open();break;case"open_new":ui.path.open_new();break;case"app_install":ui.path.appList();break;case"app_create":ui.path.appEdit(!0);break;case"full":ui.fullScreen();break;case"setting":core.setting();break;case"setting_wall":core.setting("wall");break;default:}},b=function(e){switch(e){case"open":ui.path.open();break;case"down":ui.path.download();break;case"open_ie":ui.path.openIE();break;case"open_text":ui.path.openEditor();break;case"app_edit":ui.path.appEdit();case"open_kindedit":break;case"playmedia":ui.path.play();break;case"fav":ui.path.fav();break;case"search":ui.path.search();break;case"copy":ui.path.copy();break;case"cute":ui.path.cute();break;case"remove":ui.path.remove();break;case"rname":ui.path.rname();break;case"zip":ui.path.zip();break;case"unzip":ui.path.unZip();break;case"info":ui.path.info();break;default:}},y=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:s,callback:function(e){T(e)},items:{fav_page:{name:LNG.manage_fav,className:"fav_page",icon:"star",accesskey:"r"},refresh_all:{name:LNG.refresh_tree,className:"refresh_all",icon:"refresh",accesskey:"e"},sep1:"--------",quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}})},N=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:o,callback:function(e){T(e)},items:{explorer:{name:LNG.manage_folder,className:"explorer",icon:"laptop",accesskey:"v"},refresh:{name:LNG.refresh_tree,className:"refresh",icon:"refresh",accesskey:"e"},newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},sep1:"--------",past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},sep3:"--------",quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}})},x=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:n,callback:function(e){T(e)},items:{refresh:{name:LNG.refresh_tree,className:"refresh",icon:"refresh",accesskey:"e"},newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},sep1:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep2:"--------",remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"}}})},k=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:n,callback:function(e){T(e)},items:{explorer:{name:LNG.manage_folder,className:"explorer",icon:"laptop",accesskey:"v"},refresh:{name:LNG.refresh_tree,className:"refresh",icon:"refresh",accesskey:"e"},fav:{name:LNG.add_to_fav,className:"fav",icon:"star",accesskey:"f"},search:{name:LNG.search_in_path,className:"search",icon:"search",accesskey:"s"},sep3:"--------",newfolder:{name:LNG.newfolder,className:"newfolder",icon:"folder-close-alt",accesskey:"n"},newfile:{name:LNG.newfile,className:"newfile",icon:"file-alt",accesskey:"j"},sep2:"--------",copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},past:{name:LNG.past,className:"past",icon:"paste",accesskey:"p"},rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},sep4:"--------",remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"},sep5:"--------",quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}}) +},w=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:r,callback:function(e){T(e)},items:{edit:{name:LNG.edit,className:"edit",icon:"edit",accesskey:"e"},open:{name:LNG.open,className:"open",icon:"external-link",accesskey:"o"},openIE:{name:LNG.open_ie,className:"openIE",icon:"globe",accesskey:"b"},download:{name:LNG.download,className:"download",icon:"download",accesskey:"x"},sep1:"--------",rname:{name:LNG.rename,className:"rname",icon:"pencil",accesskey:"r"},copy:{name:LNG.copy,className:"copy",icon:"copy",accesskey:"c"},cute:{name:LNG.cute,className:"cute",icon:"cut",accesskey:"k"},remove:{name:LNG.remove,className:"remove",icon:"trash",accesskey:"d"},sep2:"--------",info:{name:LNG.info,className:"info",icon:"info",accesskey:"i"},quit:{name:LNG.close_menu,className:"quit",icon:"remove",accesskey:"q"}}})},L=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:".taskBarMenu",items:{quitOthers:{name:LNG.close_others,className:"quitOthers",icon:"remove-circle",accesskey:"o"},quit:{name:LNG.close,className:"quit",icon:"remove",accesskey:"q"}},callback:function(e,t){var a=t.$trigger.attr("id"),i=art.dialog.list[a];switch(e){case"quitOthers":$.each(art.dialog.list,function(e,t){a!=e&&t.close()});break;case"quit":i.close()}}})},C=function(){$.contextMenu({zIndex:9999,selector:".task_tab",items:{closeAll:{name:LNG.dialog_close_all,icon:"remove-circle",accesskey:"o"},showAll:{name:LNG.dialog_display_all,icon:"th-large",accesskey:"o"},hideAll:{name:LNG.dialog_min_all,icon:"remove",accesskey:"q"}},callback:function(e,t){var a=t.$trigger.attr("id");switch(art.dialog.list[a],e){case"showAll":$.each(art.dialog.list,function(e,t){t.display(!0)});break;case"hideAll":$.each(art.dialog.list,function(e,t){t.display(!1)});break;case"closeAll":$.each(art.dialog.list,function(e,t){t.close()});break;default:}}})},z=function(){$('').appendTo("#rightMenu"),$.contextMenu({zIndex:9999,selector:".dialog_menu",items:{quit:{name:LNG.close,icon:"remove",accesskey:"o"},hide:{name:LNG.dialog_min,icon:"minus",accesskey:"o"},refresh:{name:LNG.refresh,icon:"refresh",accesskey:"q"}},callback:function(e,t){var a=t.$trigger.attr("id"),i=art.dialog.list[a];switch(e){case"quit":i.close();break;case"hide":i.display(!1);break;case"refresh":i.refresh();break;default:}}})},T=function(e){switch(e){case"app_edit":ui.tree.appEdit();break;case"edit":ui.tree.openEditor();break;case"open":ui.tree.open();break;case"refresh":ui.tree.refresh();break;case"copy":ui.tree.copy();break;case"cute":ui.tree.cute();break;case"past":ui.tree.past();break;case"rname":ui.tree.rname();break;case"remove":ui.tree.remove();break;case"info":ui.tree.info();break;case"download":ui.tree.download();break;case"openIE":ui.tree.openIE();break;case"search":ui.tree.search();break;case"newfolder":ui.tree.create("folder");break;case"newfile":ui.tree.create("file");break;case"explorer":ui.tree.explorer();break;case"fav_page":core.setting("fav");break;case"fav":ui.tree.fav();break;case"refresh_all":ui.tree.init();break;case"quit":break;default:}};return{initDesktop:c,initExplorer:l,initEditor:d,show:function(e,t,a){e&&(rightMenu.hidden(),$(e).contextMenu({x:t,y:a}))},isDisplay:function(){var e=!1;return $(".context-menu-list").each(function(){"none"!=$(this).css("display")&&(e=!0)}),e},hidden:function(){$(".context-menu-list").filter(":visible").trigger("contextmenu:hide")}}}),define("app/src/editor/ui",[],function(){var e=function(){var e=!1,t=0,a=0,i=0,s=$(".frame-left"),o=$(".frame-resize"),n=$(".frame-right");o.die("mousedown").live("mousedown",function(e){return 1!=e.which?!0:(r(e),this.setCapture&&this.setCapture(),$(document).mousemove(function(e){l(e)}),$(document).one("mouseup",function(e){return c(e),this.releaseCapture&&this.releaseCapture(),stopPP(e),!1}),void 0)});var r=function(i){e=!0,t=i.pageX,a=$(".frame-left").width(),o.addClass("active"),$(".resizeMask").css("display","block")},l=function(r){if(!e)return!0;var l=r.pageX-t,c=a+l;i>c&&(c=i),c>$(document).width()-200&&(c=$(document).width()-200),s.css("width",c),o.css("left",c-5),n.css("left",c+1)},c=function(){return e?(e=!1,o.removeClass("active"),Global.frameLeftWidth=$(".frame-left").width(),$(".resizeMask").css("display","none"),void 0):!1}},t=function(){$(".tools-left a").click(function(){var e=$(this).attr("class");switch(e){case"home":tree.init();break;case"view":tree.explorer();break;case"folder":tree.create("folder");break;case"file":tree.create("file");break;case"refresh":tree.init();break;default:}})};return{init:function(){e(),t(),tree.init(),$("html").die("click").live("click",function(){rightMenu.hidden(),Global.isIE&&Global.isDragSelect}),Mousetrap.bind(["ctrl+s","command+s"],function(e){e.preventDefault(),e.returnvalue=!1,FrameCall.top("OpenopenEditor","Editor.save","")})},setTheme:function(e){core.setSkin(e,"app_editor.css"),FrameCall.top("OpenopenEditor","Editor.setTheme",'"'+e+'"')},editorFull:function(){var e=$("iframe[name=OpenopenEditor]");e.toggleClass("frame_fullscreen")}}}),define("app/common/tree",["./pathOperate","../tpl/fileinfo","../tpl/app","./pathOpen","./CMPlayer"],function(e){var t,a=e("./pathOperate"),i=e("./pathOpen");ui.pathOpen=i;var s=function(){$.ajax({url:Config.treeAjaxURL+"&type=init",dataType:"json",error:function(){$("#folderList").html('
      '+LNG.system_error+"
      ")},success:function(e){if(!e.code)return $("#folderList").html('
      '+LNG.system_error+"
      "),void 0;var t=e.data;$.fn.zTree.init($("#folderList"),n,t)}}),$(".ztree .switch").die("mouseenter").live("mouseenter",function(){$(this).addClass("switch_hover")}).die("mouseleave").live("mouseleave",function(){$(this).removeClass("switch_hover")}),"editor"==Config.pageApp&&(Mousetrap.bind("up",function(e){o(e,"up")}).bind("down",function(e){o(e,"down")}).bind("left",function(e){o(e,"left")}).bind("right",function(e){o(e,"right")}),Mousetrap.bind("enter",function(){tree.open()}).bind(["del","command+backspace"],function(){tree.remove()}).bind("f2",function(e){stopPP(e),tree.rname()}).bind(["ctrl+f","command+f"],function(e){stopPP(e),tree.search()}).bind(["ctrl+c","command+c"],function(){tree.copy()}).bind(["ctrl+x","command+x"],function(){tree.cute()}).bind(["ctrl+v","command+v"],function(){tree.past()}).bind("alt+m",function(){tree.create("folder")}).bind("alt+n",function(){tree.create("file")}))},o=function(e,t){stopPP(e);var a=$.fn.zTree.getZTreeObj("folderList"),i=a.getSelectedNodes()[0];if(void 0!=i)switch(t){case"up":var s=i.getPreNode();if(s){if(s.open&&s.children.length>0)for(;s.open&&s.children&&s.children.length>=1;)s=s.children[s.children.length-1]}else s=i.getParentNode();a.selectNode(s);break;case"down":if(i.open&&i.children.length>=1)s=i.children[0];else{var o=i,s=o.getNextNode()||o.getParentNode().getNextNode();try{for(;!s;)o=o.getParentNode(),s=o.getNextNode()||o.getParentNode().getNextNode()}catch(e){}}a.selectNode(s);break;case"left":i.isParent?i.open?a.expandNode(i,!1):a.selectNode(i.getParentNode()):a.selectNode(i.getParentNode());break;case"right":i.open?a.selectNode(i.children[0]):a.expandNode(i,!0);break;default:}},n={async:{enable:!0,url:Config.treeAjaxURL,autoParam:["ajax_name=name","ajax_path=path","this_path"],dataFilter:function(e,t,a){return a.code?a.data:null}},edit:{enable:!0,showRemoveBtn:!1,showRenameBtn:!1,drag:{isCopy:!1,isMove:!1}},view:{showLine:!1,selectedMulti:!1,dblClickExpand:!1,dblClickExpand:function(e,t){return t.level>=0},addDiyDom:function(e,t){var a=Global.treeSpaceWide,i=$("#"+t.tId+"_switch"),s=$("#"+t.tId+"_ico");if(i.remove(),s.before(i),"file"==t.type&&s.removeClass("button ico_docu").addClass("file "+t.ext),"oexe"==t.ext&&s.removeClass("button ico_docu").addClass("file oexe").removeAttr("style"),t.level>=1){var o="";i.before(o)}var n="";"explorer"==Config.pageApp?("__fav__"==t.ext&&(n="menuTreeFav"),"__root__"==t.ext&&(n="menuTreeRoot"),"folder"==t.type&&(n="menuTreeFolder")):"editor"==Config.pageApp&&("__fav__"==t.ext&&(n="menuTreeFav"),"__root__"==t.ext&&(n="menuTreeRoot"),"file"==t.type&&(n="menuTreeFile"),"folder"==t.type&&(n="menuTreeFolder"),"oexe"==t.ext&&(n="menuApp")),i.parent().addClass(n)}},callback:{onClick:function(e,t,a){var i=$.fn.zTree.getZTreeObj("folderList");i.selectNode(a),("folder"!=a.type||"editor"!=Config.pageApp)&&("editor"==Config.pageApp?ui.tree.openEditor():"explorer"==Config.pageApp&&ui.tree.open())},beforeRightClick:function(e,t){var a=$.fn.zTree.getZTreeObj("folderList");a.selectNode(t)},beforeClick:function(e,t){if(0==t.level){var a=$.fn.zTree.getZTreeObj("folderList");return a.expandNode(t),!1}return!0},beforeAsync:function(e,t){t.ajax_name=urlEncode(t.name),t.ajax_path=urlEncode(t.path)},onAsyncSuccess:function(){"function"==typeof t&&(t(),t=void 0)},onRename:function(e,i,s){var o=$.fn.zTree.getZTreeObj("folderList"),n=s.getParentNode();if(o.getNodesByParam("name",s.name,n).length>1)return core.tips.tips(LNG.name_isexists,!1),o.removeNode(s),void 0;if(s.create){var r=s.path+"/"+s.name;"folder"==s.type?a.newFolder(r,function(e){e.code&&(l(n),t=function(){var e=o.getNodesByParam("name",s.name,n)[0];o.selectNode(e)})}):a.newFile(r,function(e){e.code&&(l(n),t=function(){var e=o.getNodesByParam("name",s.name,n)[0];o.selectNode(e)})})}else{var c=s.path+s.beforeName,d=s.path+s.name;a.rname(c,d,s.name,function(){l(n)})}}}},r=function(e){var t,a=$.fn.zTree.getZTreeObj("folderList"),i=a.getSelectedNodes()[0],t="",s="";return i?(i.father&&(t=i.father+i.name),i.this_path&&(t=i.this_path),i.path&&(t=i.path+i.name),s=i.ext,("_null_"==s||void 0==s)&&(s="folder"),"file"==s&&(s=i.ext),e?[{path:t,type:s,node:i}]:{path:t,type:s,node:i}):{path:"",type:""}},l=function(e){var t=$.fn.zTree.getZTreeObj("folderList");void 0==e&&(e=t.getSelectedNodes()[0]),t.reAsyncChildNodes(e,"refresh")};return{pathOpen:i,init:s,refresh:l,openEditor:function(){i.openEditor(r().path)},openIE:function(){i.openIE(r().path)},download:function(){i.download(r().path)},open:function(){if(!($(".dialog_path_remove").length>=1)){var e=r();"oexe"==e.type&&(e.path=e.node),i.open(e.path,e.type)}},fav:function(){a.fav(r().path)},search:function(){core.search("",r().path)},appEdit:function(){var e=r(),t=e.node;t.path=e.path,a.appEdit(t,function(){l(e.node.getParentNode())})},info:function(){a.info(r(!0))},copy:function(){a.copy(r(!0))},cute:function(){a.cute(r(!0))},past:function(){var e=r();e.node.isParent||(e.node=e.node.getParentNode()),a.past(e.path,function(){l(e.node)})},remove:function(){var e=r(!0),t=e[0].node.getParentNode();t?a.remove(e,function(){l(t)}):$.dialog({fixed:!0,resize:!1,icon:"warning",drag:!0,title:LNG.tips,content:LNG.remove_not,ok:!0})},explorer:function(){var e=r().path;e||(e=G.this_path),core.explorer(e)},fileBox:function(e){e="save_file",e="save_folder",e="select_",$(".header-left").css("width",110).next().css("left",150),$(".frame-left").width("width",142),$.dialog.open("?/explorer&plague="+e,{resize:!0,fixed:!0,title:"另存为",width:750,height:420})},create:function(e){var a=$.fn.zTree.getZTreeObj("folderList"),i=a.getSelectedNodes();if(0>=i.length){var s=a.getNodeByParam("ext","__root__",null);a.selectNode(s)}var o=r(),n=o.node,c=n.getParentNode(),d="newfile",p=0,u=LNG.newfolder;if("folder"==e){for(;a.getNodesByParam("name",u+"("+p+")",c).length>0;)p++;newNode={name:u+"("+p+")",ext:"",type:"folder",create:!0,path:o.path}}else if("file"==e){for(;a.getNodesByParam("name",d+"("+p+").txt",c).length>0;)p++;newNode={name:d+"("+p+").txt",ext:"txt",type:"file",create:!0,path:o.path}}void 0!=n.children?(treeNodeNew=a.addNodes(n,newNode),a.editName(treeNodeNew[0])):("folder"!=n.type&&(n=n.getParentNode()),t=function(){treeNodeNew=a.addNodes(n,newNode),a.editName(treeNodeNew[0])},l(n))},rname:function(){var e=$.fn.zTree.getZTreeObj("folderList"),t=e.getSelectedNodes()[0];e.editName(t),t.beforeName=t.name}}}),define("app/common/pathOperate",["../tpl/fileinfo","../tpl/app"],function(e){var t=e("../tpl/fileinfo"),a=["/","\\",":","*","?",'"',"<",">","|"],i=function(e){var t=function(e,t){for(var a=t.length,i=0;a>i;i++)if(e.indexOf(t[i])>0)return!0;return!1};return t(e,a)?(core.tips.tips(LNG.path_not_allow+':/ : * ? " < > |',!1),!1):!0},s=function(e){var t="list=[";for(var a in e)t+='{"type":"'+e[a].type+'","path":"'+urlEncode2(e[a].path)+'"}',a!=e.length-1&&(t+=",");return t+"]"},o=function(e,t){if(e){var a=core.pathThis(e);i(a)&&$.ajax({dataType:"json",url:"index.php?explorer/mkfile&path="+urlEncode2(e),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof t&&t(e)}})}},n=function(e,t){if(e){var a=core.pathThis(e);i(a)&&$.ajax({dataType:"json",url:"index.php?explorer/mkdir&path="+urlEncode2(e),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof t&&t(e)}})}},r=function(e,t,a){e&&t&&e!=t&&i(core.pathThis(t))&&$.ajax({type:"POST",dataType:"json",url:"index.php?explorer/pathRname",data:"path="+urlEncode(e)+"&rname_to="+urlEncode(t),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof a&&a(e)}})},l=function(e,t){if(!(1>e.length)){var a=e[0].path.substr(-40)+"...";$.dialog({id:"dialog_path_remove",fixed:!0,icon:"question",title:LNG.remove_title,padding:40,lock:!0,background:"#000",opacity:.5,content:a+"
      "+LNG.remove_info+"【"+e.length+"】",ok:function(){$.ajax({url:"index.php?explorer/pathDelete",type:"POST",dataType:"json",data:s(e),beforeSend:function(){core.tips.loading()},error:function(){common.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),"function"==typeof t&&t(e)}})},cancel:!0})}},c=function(e){1>e.length||$.ajax({url:"index.php?explorer/pathCopy",type:"POST",dataType:"json",data:s(e),error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.tips(e)}})},d=function(e){1>e.length||$.ajax({url:"index.php?explorer/pathCute",type:"POST",dataType:"json",data:s(e),error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.tips(e)}})},p=function(e,t){if(e){var a="index.php?explorer/pathPast&path="+urlEncode2(e);$.ajax({url:a,dataType:"json",beforeSend:function(){core.tips.loading(LNG.moving)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){e.code?core.tips.close(e.info):core.tips.close(e),"function"==typeof t&&t(e)}})}},u=function(e){if(1>e.length&&(e=[{path:G.this_path,type:"folder"}]),e.length>1)return f(e),void 0;e=e[0];var a="folder"==e.type?"path_info":"file_info";$.ajax({url:"index.php?explorer/pathInfo&type="+e.type+"&path="+urlEncode2(e.path),beforeSend:function(){core.tips.loading(LNG.getting)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(i){if(!i.code)return core.tips.close(i),void 0;core.tips.close(LNG.get_success,!0);var s=template.compile(t[a]);i.data.LNG=LNG,$.dialog({padding:5,fixed:!0,title:core.pathThis(e.path).substr(0,20)+"... "+LNG.info,content:s(i.data),width:"350px",cancel:!0})}})},f=function(e){$.ajax({url:"index.php?explorer/pathInfoMuti",type:"POST",data:s(e),beforeSend:function(){core.tips.loading(LNG.getting)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){if(!e.code)return core.tips.close(e),void 0;core.tips.close(LNG.get_success,!0);var a=template.compile(t.path_info_more);e.data.LNG=LNG,$.dialog({padding:5,fixed:!0,width:"350px",title:LNG.info,content:a(e.data),cancel:!0})}})},h=function(e,t){1>e.length||$.ajax({url:"index.php?explorer/zip",type:"POST",dataType:"json",data:s(e),beforeSend:function(){core.tips.loading(LNG.ziping)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),e.code=100,core.tips.tips(e),"function"==typeof t&&t(e)}})},m=function(e,t){if(e){var a="index.php?explorer/unzip&path="+urlEncode2(e);$.ajax({url:a,beforeSend:function(){core.tips.loading(LNG.unziping)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),e.code=100,"function"==typeof t&&t(e)}})}},v=function(e,t,a){t&&$.ajax({url:"index.php?explorer/pathCuteDrag",type:"POST",dataType:"json",data:s(e)+"&path="+urlEncode2(t),beforeSend:function(){core.tips.loading(LNG.moving)},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){core.tips.close(e),e.code&&"function"==typeof a&&a(e)}})},_=function(){$.ajax({url:"index.php?explorer/clipboard",dataType:"json",error:function(){core.tips.tips(LNG.system_error,!1)},success:function(e){e.code&&$.dialog({title:LNG.clipboard,padding:0,height:200,width:400,content:e.data})}})},g=function(e){if(e){var t="&name="+urlEncode(core.pathThis(e))+"&path="+urlEncode(e);core.setting("fav"+t)}},b=function(e){var t={};return t.type=e.find("input[type=radio]:checked").val(),t.content=e.find("textarea").val(),t.group=e.find("[name=group]").val(),e.find("input[type=text]").each(function(){var e=$(this).attr("name");t[e]=$(this).val()}),e.find("input[type=checkbox]").each(function(){var e=$(this).attr("name");t[e]="checked"==$(this).attr("checked")?1:0}),t},y=function(e){e.find(".type input").change(function(){var t=$(this).attr("apptype");e.find("[data-type]").addClass("hidden"),e.find("[data-type="+t+"]").removeClass("hidden")})},N=function(t,a,i){var s,o,n,r=LNG.app_create,l=UUID(),c=e("../tpl/app"),d=G.basic_path+"static/images/app/",p=template.compile(c.html);switch(void 0==i&&(i="user_edit"),"root_edit"==i&&(t=json_decode(t)),"user_edit"==i||"root_edit"==i?(r=LNG.app_edit,n=p({LNG:LNG,iconPath:d,uuid:l,data:t})):n=p({LNG:LNG,iconPath:d,uuid:l,data:{}}),$.dialog({fixed:!0,width:450,height:310,id:l,padding:15,title:r,content:n,button:[{name:LNG.preview,callback:function(){var e=b(s);return core.openApp(e),!1}},{name:LNG.button_save,focus:!0,callback:function(){var e=b(s);switch(i){case"user_add":var n=urlEncode2(G.this_path+e.name);o="./index.php?app/user_app&action=add&path="+n;break;case"user_edit":o="./index.php?app/user_app&path="+urlEncode2(t.path);break;case"root_add":o="./index.php?app/add&name="+e.name;break;case"root_edit":o="./index.php?app/edit&name="+e.name+"&old_name="+t.name;break;default:}$.ajax({url:o,type:"POST",dataType:"json",data:"data="+urlEncode2(json_encode(e)),beforeSend:function(){core.tips.loading()},error:function(){core.tips.close(LNG.system_error,!1)},success:function(e){if(core.tips.close(e),e.code)if("root_edit"==i||"root_add"==i){if(!e.code)return;FrameCall.top("Openapp_store","App.reload",'""')}else"function"==typeof a?a():ui.f5()}})}}]}),s=$("."+l),t.group&&s.find("option").eq(t.group).attr("selected",1),s.find(".aui_content").css("overflow","inherit"),i){case"user_edit":s.find(".name").addClass("hidden"),s.find(".desc").addClass("hidden"),s.find(".group").addClass("hidden"),s.find("option[value="+t.group+"]").attr("checked",!0);break;case"user_add":s.find(".desc").addClass("hidden"),s.find(".group").addClass("hidden"),s.find("[apptype=url]").attr("checked",!0),s.find("[data-type=url] input[name=resize]").attr("checked",!0),s.find("input[name=width]").attr("value","800"),s.find("input[name=height]").attr("value","600"),s.find("input[name=icon]").attr("value","oexe.png");break;case"root_add":s.find("[apptype=url]").attr("checked",!0),s.find("[data-type=url] input[name=resize]").attr("checked",!0),s.find("input[name=width]").attr("value","800"),s.find("input[name=height]").attr("value","600"),s.find("input[name=icon]").attr("value","oexe.png");break;case"root_edit":s.find("option[value="+t.group+"]").attr("selected",!0);break;default:}y(s)},x=function(){core.appStore()};return{appEdit:N,appList:x,newFile:o,newFolder:n,rname:r,unZip:m,zip:h,copy:c,cute:d,info:u,remove:l,cuteDrag:v,past:p,clipboard:_,fav:g}});var file_info="
      {{LNG.file_type}}:
      {{ext}} {{LNG.file}}
      {{LNG.address}}:
      {{path}}
      {{LNG.size}}:
      {{size_friendly}} ({{size}} Byte)
      {{LNG.create_time}}
      {{ctime}}
      {{LNG.modify_time}}
      {{mtime}}
      {{LNG.last_time}}
      {{atime}}
      {{LNG.permission}}:
      {{mode}}
      ",path_info="
      {{LNG.type}}:
      {{LNG.folder}}
      {{LNG.address}}:
      {{path}}
      {{LNG.size}}:
      {{size_friendly}} ({{size}} Byte)
      {{LNG.contain}}:
      {{file_num}} {{LNG.file}},{{folder_num}} {{LNG.folder}}
      {{LNG.create_time}}
      {{ctime}}
      {{LNG.modify_time}}
      {{mtime}}
      {{LNG.permission}}:
      {{mode}}
      ",path_info_more="
      {{file_num}} {{LNG.file}},{{folder_num}} {{LNG.file}}
      {{LNG.size}}:
      {{size_friendly}} ({{size}} Byte)
      {{LNG.parent_permission}}:
      {{mode}}
      ";define("app/tpl/fileinfo",[],function(){return{file_info:file_info,path_info:path_info,path_info_more:path_info_more}}),define("app/tpl/app",[],function(){return{html:"
      {{LNG.name}}
      {{LNG.app_desc}}
      {{LNG.app_icon}}
      {{LNG.app_icon_show}}
      {{LNG.app_group}}
      {{LNG.app_type}}
      {{LNG.app_display}}
      {{LNG.app_size}}
      {{LNG.width}}:   {{LNG.height}}:  
      {{LNG.app_url}}
      "}}),define("app/common/pathOpen",["./CMPlayer"],function(e){var t=function(e,t){if(void 0!=e){if(void 0==t&&(t=core.pathExt(e)),t=t.toLowerCase(),"folder"==t)return"explorer"==Config.pageApp?ui.path.list(e+"/"):core.explorer(e),void 0;if("swf"==t){var i=core.path2url(e);return s(i,core.pathThis(e)),void 0}if("oexe"==t)return core.openApp(e),void 0;if("pdf"==t){var l="pdf"+UUID(),i=core.path2url(e),c='";return $.dialog({resize:!0,fixed:!0,title:core.pathThis(e),width:800,height:400,padding:0,content:c}),new PDFObject({url:i}).embed(l),void 0}if("html"==t||"htm"==t){var i=core.path2url(e);return s(i,core.pathThis(e)),void 0}if(inArray(core.filetype.image,t)){var i=urlDecode(e);return-1==e.indexOf("http:")&&(i=core.path2url(i)),MaskView.image(i),void 0}if(inArray(core.filetype.music,t)||inArray(core.filetype.movie,t)){var i=core.path2url(e);return r(i,t),void 0}if(inArray(core.filetype.doc,t)){var i=core.path2url(e);return n(i,t),void 0}return inArray(core.filetype.bindary,t)?(a(e),void 0):(o(e),void 0)}},a=function(e){if(e){var t="index.php?explorer/fileDownload&path="+urlEncode2(e),a=''+LNG.download_ready+"...",i=$.dialog({icon:"succeed",title:!1,time:1,content:a});i.DOM.wrap.find(".aui_loading").remove()}},i=function(e){if(void 0!=e){var t=core.path2url(e);window.open(t)}},s=function(e,t,a){if(e){void 0==a&&(a="openWindow"+UUID());var i="";art.dialog.through({id:a,title:t,width:"70%",height:"65%",padding:0,content:i,resize:!0})}},o=function(e){if(e){var t=core.pathExt(e),a=core.pathThis(e);if(inArray(core.filetype.bindary,t)||inArray(core.filetype.music,t)||inArray(core.filetype.image,t)||inArray(core.filetype.movie,t)||inArray(core.filetype.doc,t))return core.tips.tips(t+LNG.edit_can_not,!1),void 0;if(void 0==window.top.frames.OpenopenEditor){var i="?editor/edit&filename="+urlEncode(urlEncode2(e)),o=a+" ——"+LNG.edit;s(i,o.substring(o.length-50),"openEditor")}else $.dialog.list.openEditor&&$.dialog.list.openEditor.display(!0),FrameCall.top("OpenopenEditor","Editor.add",'"'+urlEncode2(e)+'"')}},n=function(e,t){var a,i,s;switch(t){case"doc":case"docx":case"docm":case"dot":a="http://sg1b-word-view.officeapps.live.com/wv/wordviewerframe.aspx?ui=zh-CN&rs=zh-CN&WOPISrc=";break;case"ppt":case"pptm":case"pptx":a="http://sg1b-powerpoint.officeapps.live.com/p/PowerPointFrame.aspx?PowerPointView=ReadingView&ui=zh-CN&rs=zh-CN&WOPISrc=";break;case"xls":case"xlsb":case"xlsm":case"xlsx":a="http://sg1b-excel.officeapps.live.com/x/_layouts/xlviewerinternal.aspx?ui=zh-CN&rs=zh-CN&WOPISrc=";break;default:}i="http://sg1b-15-view-wopi.wopi.live.net:808/oh/wopi/files/@/wFileId?wFileId=",i+=urlEncode(e),s=a+urlEncode(i)+"&access_token=1&access_token_ttl=0";var o=core.pathThis(urlDecode(e));art.dialog.open(s,{title:o,width:"70%",height:"65%",resize:!0})},r=function(t,a){t&&("string"==typeof t&&(t=[t]),CMPlayer=e("./CMPlayer"),CMPlayer.play(t,a))};return{open:t,play:r,openEditor:o,openIE:i,download:a}}),define("app/common/CMPlayer",[],function(){var e={ting:{path:"music/ting",width:410,height:530},beveled:{path:"music/beveled",width:350,height:200},kuwo:{path:"music/kuwo",width:480,height:200},manila:{path:"music/manila",width:320,height:400},mp3player:{path:"music/mp3player",width:320,height:410},qqmusic:{path:"music/qqmusic",width:300,height:400},somusic:{path:"music/somusic",width:420,height:137},xdj:{path:"music/xdj",width:595,height:235},webplayer:{path:"movie/webplayer",width:600,height:400},qqplayer:{path:"movie/qqplayer",width:600,height:400},tvlive:{path:"movie/tvlive",width:600,height:400},youtube:{path:"movie/youtube",width:600,height:400},vplayer:{path:"movie/vplayer",width:600,height:400}},t=function(e){return"music"==e?"music_player":(void 0==e&&(e="mp3"),inArray(core.filetype.music,e)?"music_player":"movie_player")},a=function(t){var a,i,o;"music_player"==t?(a=e[G.musictheme],i="music player",o=!1):(a=e[G.movietheme],i="movie player",o=!0);var n=core.createFlash(G.static_path+"js/lib/cmp4/cmp.swf","context_menu=2&auto_play=1&play_mode=1&skin=skins/"+a.path+".zip",t),r={id:t+"_dialog",simple:!0,title:i,width:a.width,height:a.height,content:n,resize:o,padding:0,fixed:!0,close:function(){var e=s(t); +e&&e.sendEvent&&e.sendEvent("view_stop")}};window.top.CMP?art.dialog.through(r):$.dialog(r)},i=function(e){var t,a="";for(t=e.length-1;t>=0;t--){var i,s;-1==e[t].search("fileProxy")?(i=urlEncode(e[t]),s=core.pathThis(e[t])):(i=e[t],s=core.pathThis(urlDecode(i))),i=i.replace(/%2F/g,"/"),i=i.replace(/%3F/g,"?"),i=i.replace(/%26/g,"&"),i=i.replace(/%3A/g,":"),i=i.replace(/%3D/g,"="),a+=''}return a},s=function(e){return window.top.CMP?window.top.CMP.get(e):CMP.get(e)},o=function(e,t){var a=i(e),o=s(t);if(console.log(e,t,5555,o),o){o.config("play_mode","normal");var n=o.list().length;o.list_xml(a,!0),o.sendEvent("view_play",n+1)}};return{changeTheme:function(t,a){var i,o,n;"music"==t?(G.musictheme=a,i="music_player"):"movie"==t&&(G.movietheme=a,i="movie_player"),n=s(i),n&&(o=e[a],window.top.art.dialog.list[i+"_dialog"].size(o.width,o.height),n.sendEvent("skin_load","skins/"+o.path+".zip"))},play:function(e,i){var n=t(i),r=s(n);r?(o(e,n),window.top.art.dialog.list[n+"_dialog"].display(!0)):(a(n),setTimeout(function(){o(e,n)},1e3))}}}); \ No newline at end of file diff --git a/static/js/app/src/explorer/main.js b/static/js/app/src/explorer/main.js new file mode 100644 index 0000000..8bbd5f0 --- /dev/null +++ b/static/js/app/src/explorer/main.js @@ -0,0 +1,3 @@ +define("app/src/explorer/main",["lib/jquery-lib","lib/util","lib/webuploader/webuploader-min","lib/ztree/js/ztree","lib/contextMenu/jquery-contextMenu","lib/artDialog/jquery-artDialog","lib/picasa/picasa","./ui","./fileSelect","../../common/taskTap","../../common/core","../../tpl/search","../../tpl/upload","../../common/rightMenu","../../common/tree","../../common/pathOperate","../../tpl/fileinfo","../../tpl/app","../../common/pathOpen","../../common/CMPlayer","./path"],function(e){Config={BodyContent:".bodymain",FileBoxSelector:".fileContiner",FileBoxClass:".fileContiner .file",FileBoxClassName:"file",FileBoxTittleClass:".fileContiner .title",SelectClass:".fileContiner .select",SelectClassName:"select",TypeFolderClass:"folderBox",TypeFileClass:"fileBox",HoverClassName:"hover",FileOrderAttr:"number",TreeId:"folderList",pageApp:"explorer",treeAjaxURL:"index.php?explorer/treeList&app=explorer",AnimateTime:200},Global={fileListAll:"",fileListNum:0,fileRowNum:0,frameLeftWidth:200,treeSpaceWide:10,topbar_height:40,ctrlKey:!1,shiftKey:!1,fileListSelect:"",fileListSelectNum:"",isIE:!-[1],isDragSelect:!1,historyStatus:{back:1,next:0}},e("lib/jquery-lib"),e("lib/util"),e("lib/webuploader/webuploader-min"),e("lib/ztree/js/ztree"),e("lib/contextMenu/jquery-contextMenu"),e("lib/artDialog/jquery-artDialog"),e("lib/picasa/picasa"),ui=e("./ui"),TaskTap=e("../../common/taskTap"),core=e("../../common/core"),rightMenu=e("../../common/rightMenu"),ui.tree=e("../../common/tree"),ui.path=e("./path"),fileSelect=e("./fileSelect"),fileLight=fileSelect.fileLight,$(document).ready(function(){Global.topbar_height="none"==$(".topbar").css("display")?0:$(".topbar").height(),$(".init_loading").fadeOut(600),ui.init(),ui.tree.init(),TaskTap.init(),core.update(),core.upload_init(),fileSelect.init(),rightMenu.initExplorer()})}),define("app/src/explorer/ui",["./fileSelect"],function(require,exports){var fileSelect=require("./fileSelect"),fileLight=fileSelect.fileLight,MyPicasa=new Picasa;PicasaOpen=!1;var _ajaxLive=function(){fileLight.init(),ui.setStyle(),PicasaOpen=!1,MyPicasa.initData(),$(".fileContiner .picture img").lazyload({effect:"fadeIn",container:$(".bodymain")})},_initListType=function(e){$(".tools-right button").removeClass("active"),$("#set_"+e).addClass("active"),"list"==e?($(Config.FileBoxSelector).removeClass("fileList_icon").addClass("fileList_list"),$("#list_type_list").html('
      '+LNG.name+"
      "+'
      '+LNG.type+"
      "+'
      '+LNG.size+"
      "+'
      '+LNG.modify_time+"
      "+'
      '+"
      "),$(Config.FileBoxSelector+" textarea").autoTextarea({minHeight:19,padding:4})):($(Config.FileBoxSelector).removeClass("fileList_list").addClass("fileList_icon"),$("#list_type_list").html(""),$(Config.FileBoxSelector+" textarea").autoTextarea({minHeight:32,padding:4})),$(".menu_seticon").removeClass("selected"),$(".set_set"+G.list_type).addClass("selected")},_setListType=function(e,t){G.list_type=e,void 0==t?$.ajax({url:"index.php?setting/set&k=list_type&v="+e,dataType:"json",success:function(){_initListType(e),_f5(!1,!1)}}):(_initListType(e),_f5(!1,!0))},_sortBy=function(e,t){var t="down"==t?-1:1;return function(a,i){return a=a[e],i=i[e],i>a?-1*t:a>i?1*t:void 0}},_setListSort=function(e,t){0!=e&&(G.sort_field=e,$(".menu_set_sort").removeClass("selected"),$(".set_sort_"+e).addClass("selected")),0!=t&&(G.sort_order=t,$(".menu_set_desc").removeClass("selected"),$(".set_sort_"+t).addClass("selected")),_f5(!1,!0),$.ajax({url:"index.php?setting/set&k=list_sort_field,list_sort_order&v="+G.sort_field+","+G.sort_order})},_jsonSortTitle=function(){var up='',down='';$("#main_title .this").toggleClass("this").attr("id","").find("span").html(""),$("#main_title div[field="+G.sort_field+"]").addClass("this").attr("id",G.sort_order).find("span").html(eval(G.sort_order))},_bindEventSort=function(){$("#main_title div").die("click").live("click",function(){"up"==$(this).attr("id")?$(this).attr("id","down"):$(this).attr("id","up"),_setListSort($(this).attr("field"),$(this).attr("id"))})},_bindEventTools=function(){$(".tools a,.tools button").bind("click",function(){var e=$(this).attr("id");_toolsAction(e)})},_bindEventTheme=function(){$(".dropdown-menu-theme li").click(function(){var e=$(this).attr("theme");$.ajax({url:"index.php?setting/set&k=theme&v="+e,dataType:"json",success:function(){ui.setTheme(e)}}),$(".dropdown-menu li").removeClass("this"),$(this).addClass("this")})},_bindFrameSizeEvent=function(){var e=!1,t=0,a=0,i=0,s=$(".frame-left"),o=$(".frame-resize"),n=$(".frame-right");o.die("mousedown").live("mousedown",function(e){return 1!=e.which?!0:(l(e),this.setCapture&&this.setCapture(),$(document).mousemove(function(e){r(e)}),$(document).one("mouseup",function(e){return c(e),this.releaseCapture&&this.releaseCapture(),stopPP(e),!1}),void 0)});var l=function(i){e=!0,t=i.pageX,a=$(".frame-left").width(),o.addClass("active")},r=function(l){if(!e)return!0;var r=l.pageX-t,c=a+r;i>c&&(c=i),c>$(document).width()-200&&(c=$(document).width()-200),s.css("width",c),o.css("left",c-5),n.css("left",c+1),ui.setStyle()},c=function(){return e?(e=!1,o.removeClass("active"),Global.frameLeftWidth=$(".frame-left").width(),void 0):!1}},_bindHotKey=function(){var e=91;Global.ctrlKey=!1,$(document).keydown(function(t){if("none"!=$("#PicasaView").css("display"))return!0;if(ui.isEdit())return!0;if(rightMenu.isDisplay())return!0;var a=!1;if(Global.ctrlKey||t.keyCode==e||t.ctrlKey)switch(a=!0,Global.ctrlKey=!0,t.keyCode){case 8:ui.path.remove(),a=!0;break;case 65:fileSelect.selectPos("all");break;case 8:ui.path.next(),a=!0;break;case 67:ui.path.copy();break;case 88:ui.path.cute();break;case 83:break;case 86:ui.path.past();break;case 70:core.search($(".header-right input").val(),G.this_path);break;default:a=!1}else if(t.shiftKey)Global.shiftKey=!0;else switch(t.keyCode){case 8:ui.path.back(),a=!0;break;case 35:fileSelect.selectPos("end");break;case 36:fileSelect.selectPos("home");break;case 37:fileSelect.selectPos("left"),a=!0;break;case 38:fileSelect.selectPos("up");break;case 39:fileSelect.selectPos("right"),a=!0;break;case 40:fileSelect.selectPos("down");break;case 13:ui.path.open(),a=!1;break;case 46:ui.path.remove();break;case 113:ui.path.rname();break;default:a=!1}return a&&(stopPP(t),t.keyCode=0,t.returnValue=!1),!0}).keyup(function(t){t.shiftKey||(Global.shiftKey=!1),t.keyCode!=e&&t.ctrlKey||(Global.ctrlKey=!1)})};this._getFolderBox=function(e){var t="";return t+=""},this._getFileBox=function(e){var t="";if("oexe"==e.ext&&void 0!=e.icon){var a=e.icon;-1==e.icon.search(G.static_path)&&"http"!=e.icon.substring(0,4)&&(a=G.static_path+"images/app/"+e.icon);var i=urlEncode(json_encode(e)),s=e.name.replace(".oexe","");t=""}else if(inArray(core.filetype.image,e.ext)){var o=core.path2url(G.this_path+e.name),n="index.php?explorer/image&path="+urlEncode(G.this_path+e.name);t+=""}else t+="";return t},this._getFolderBoxList=function(e){var t="";return t+=""},this._getFileBoxList=function(e){var t="";if("oexe"==e.ext){var a=urlEncode(json_encode(e));t="",n(t,s,"0","0","0",null)}}var r=e("ace/editor").Editor;n.exports.init=function(e){r.prototype.showKeyboardShortcuts=function(){i(this)},e.commands.addCommands([{name:"showKeyboardShortcuts",bindKey:{win:"Ctrl-Alt-h",mac:"Command-Alt-h"},exec:function(e,t){e.showKeyboardShortcuts()}}])}}),ace.define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"],function(e,t,n){var r=e("../../lib/dom"),i="#ace_settingsmenu, #kbshortcutmenu {background-color: #F7F7F7;color: black;box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);padding: 1em 0.5em 2em 1em;overflow: auto;position: absolute;margin: 0;bottom: 0;right: 0;top: 0;z-index: 9991;cursor: default;}.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);background-color: rgba(255, 255, 255, 0.6);color: black;}.ace_optionsMenuEntry:hover {background-color: rgba(100, 100, 100, 0.1);-webkit-transition: all 0.5s;transition: all 0.3s}.ace_closeButton {background: rgba(245, 146, 146, 0.5);border: 1px solid #F48A8A;border-radius: 50%;padding: 7px;position: absolute;right: -8px;top: -8px;z-index: 1000;}.ace_closeButton{background: rgba(245, 146, 146, 0.9);}.ace_optionsMenuKey {color: darkslateblue;font-weight: bold;}.ace_optionsMenuCommand {color: darkcyan;font-weight: normal;}";r.importCssString(i),n.exports.overlayPage=function(t,n,i,s,o,u){function l(e){e.keyCode===27&&a.click()}i=i?"top: "+i+";":"",o=o?"bottom: "+o+";":"",s=s?"right: "+s+";":"",u=u?"left: "+u+";":"";var a=document.createElement("div"),f=document.createElement("div");a.style.cssText="margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; background-color: rgba(0, 0, 0, 0.3);",a.addEventListener("click",function(){document.removeEventListener("keydown",l),a.parentNode.removeChild(a),t.focus(),a=null}),document.addEventListener("keydown",l),f.style.cssText=i+s+o+u,f.addEventListener("click",function(e){e.stopPropagation()});var c=r.createElement("div");c.style.position="relative";var h=r.createElement("div");h.className="ace_closeButton",h.addEventListener("click",function(){a.click()}),c.appendChild(h),f.appendChild(c),f.appendChild(n),a.appendChild(f),document.body.appendChild(a),t.blur()}}),ace.define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",["require","exports","module","ace/lib/keys"],function(e,t,n){var r=e("../../lib/keys");n.exports.getEditorKeybordShortcuts=function(e){var t=r.KEY_MODS,n=[],i={};return e.keyBinding.$handlers.forEach(function(e){var r=e.commandKeyBinding;for(var s in r){var o=parseInt(s);o==-1?o="":isNaN(o)?o=s:o=""+(o&t.command?"Cmd-":"")+(o&t.ctrl?"Ctrl-":"")+(o&t.alt?"Alt-":"")+(o&t.shift?"Shift-":"");for(var u in r[s]){var a=r[s][u];typeof a!="string"&&(a=a.name),i[a]?i[a].key+="|"+o+u:(i[a]={key:o+u,command:a},n.push(i[a]))}}}),n}}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/ext-language_tools.js b/static/js/lib/ace/src-min-noconflict/ext-language_tools.js new file mode 100644 index 0000000..d2666a4 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/ext-language_tools.js @@ -0,0 +1 @@ +ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/autocomplete/text_completer","ace/editor"],function(e,t,n){var r=e("../snippets").snippetManager,i=e("../autocomplete").Autocomplete,s=e("../config"),o=e("../autocomplete/text_completer"),u={getCompletions:function(e,t,n,r,i){var s=e.session.getState(n.row),o=t.$mode.getCompletions(s,t,n,r);i(null,o)}},a={getCompletions:function(e,t,n,i,s){var o=r.snippetMap,u=[];r.getActiveScopes(e).forEach(function(e){var t=o[e]||[];for(var n=t.length;n--;){var r=t[n],i=r.name||r.tabTrigger;if(!i)continue;u.push({caption:i,snippet:r.content,meta:r.tabTrigger&&!r.name?r.tabTrigger+"⇥ ":"snippet"})}},this),s(null,u)}},f=[a,o,u];t.addCompleter=function(e){f.push(e)};var l={name:"expandSnippet",exec:function(e){var t=r.expandWithTab(e);t||e.execCommand("indent")},bindKey:"tab"},c=function(e,t){h(t.session.$mode)},h=function(e){var t=e.$id;r.files||(r.files={}),p(t),e.modes&&e.modes.forEach(h)},p=function(e){if(!e||r.files[e])return;var t=e.replace("mode","snippets");r.files[e]={},s.loadModule(t,function(t){t&&(r.files[e]=t,t.snippets=r.parseSnippetFile(t.snippetText),r.register(t.snippets,t.scope),t.includeScopes&&(r.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach(function(e){p("ace/mode/"+e)})))})},d=e("../editor").Editor;e("../config").defineOptions(d.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(this.completers=f,this.commands.addCommand(i.startCommand)):this.commands.removeCommand(i.startCommand)},value:!1},enableSnippets:{set:function(e){e?(this.commands.addCommand(l),this.on("changeMode",c),c(null,this)):(this.commands.removeCommand(l),this.off("changeMode",c))},value:!1}})}),ace.define("ace/snippets",["require","exports","module","ace/lib/lang","ace/range","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom"],function(e,t,n){var r=e("./lib/lang"),i=e("./range").Range,s=e("./keyboard/hash_handler").HashHandler,o=e("./tokenizer").Tokenizer,u=i.comparePoints,a=function(){this.snippetMap={},this.snippetNameMap={}};(function(){this.getTokenizer=function(){function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatString?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}return a.$tokenizer=new o({start:[{regex:/:/,onMatch:function(e,t,n){return n.length&&n[0].expectIf?(n[0].expectIf=!1,n[0].elseBranch=n[0],[n[0]]):":"}},{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return r=="}"&&n.length?e=r:"`$\\".indexOf(r)!=-1?e=r:n.inFormatString&&(r=="n"?e="\n":r=="t"?e="\n":"ulULE".indexOf(r)!=-1&&(e={changeCase:r,local:r>"a"})),[e]}},{regex:/}/,onMatch:function(e,t,n){return[n.length?n.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:e},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(t,n,r){var i=e(t.substr(1),n,r);return r.unshift(i[0]),i},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+t("\\|")+"*\\|",onMatch:function(e,t,n){n[0].choices=e.slice(1,-1).split(",")},next:"start"},{regex:"/("+t("/")+"+)/(?:("+t("/")+"*)/)(\\w*):?",onMatch:function(e,t,n){var r=n[0];return r.fmtString=e,e=this.splitRegex.exec(e),r.guard=e[1],r.fmt=e[2],r.flag=e[3],""},next:"start"},{regex:"`"+t("`")+"*`",onMatch:function(e,t,n){return n[0].code=e.splice(1,-1),""},next:"start"},{regex:"\\?",onMatch:function(e,t,n){n[0]&&(n[0].expectIf=!0)},next:"start"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:"/("+t("/")+"+)/",token:"regex"},{regex:"",onMatch:function(e,t,n){n.inFormatString=!0},next:"start"}]}),a.prototype.getTokenizer=function(){return a.$tokenizer},a.$tokenizer},this.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},this.$getDefaultValue=function(e,t){if(/^[A-Z]\d+$/.test(t)){var n=t.substr(1);return(this.variables[t[0]+"__"]||{})[n]}if(/^\d+$/.test(t))return(this.variables.__||{})[t];t=t.replace(/^TM_/,"");if(!e)return;var r=e.session;switch(t){case"CURRENT_WORD":var i=r.getWordRange();case"SELECTION":case"SELECTED_TEXT":return r.getTextRange(i);case"CURRENT_LINE":return r.getLine(e.getCursorPosition().row);case"PREV_LINE":return r.getLine(e.getCursorPosition().row-1);case"LINE_INDEX":return e.getCursorPosition().column;case"LINE_NUMBER":return e.getCursorPosition().row+1;case"SOFT_TABS":return r.getUseSoftTabs()?"YES":"NO";case"TAB_SIZE":return r.getTabSize();case"FILENAME":case"FILEPATH":return"ace.ajax.org";case"FULLNAME":return"Ace"}},this.variables={},this.getVariableValue=function(e,t){return this.variables.hasOwnProperty(t)?this.variables[t](e,t)||"":this.$getDefaultValue(e,t)||""},this.tmStrFormat=function(e,t,n){var r=t.flag||"",i=t.guard;i=new RegExp(i,r.replace(/[^gi]/,""));var s=this.tokenizeTmSnippet(t.fmt,"formatString"),o=this,u=e.replace(i,function(){o.variables.__=arguments;var e=o.resolveVariables(s,n),t="E";for(var r=0;r=0&&s.splice(o,1)}}var n=this.snippetMap,r=this.snippetNameMap;e.content?i(e):Array.isArray(e)&&e.forEach(i)},this.parseSnippetFile=function(e){e=e.replace(/\r/g,"");var t=[],n={},r=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,i;while(i=r.exec(e)){if(i[1])try{n=JSON.parse(i[1]),t.push(n)}catch(s){}if(i[4])n.content=i[4].replace(/^\t/gm,""),t.push(n),n={};else{var o=i[2],u=i[3];if(o=="regex"){var a=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=a.exec(u)[1],n.trigger=a.exec(u)[1],n.endTrigger=a.exec(u)[1],n.endGuard=a.exec(u)[1]}else o=="snippet"?(n.tabTrigger=u.match(/^\S*/)[0],n.name||(n.name=u)):n[o]=u}}return t},this.getSnippetByName=function(e,t){var n=this.snippetNameMap,r;return this.getActiveScopes(t).some(function(t){var i=n[t];return i&&(r=i[e]),!!r},this),r}}).call(a.prototype);var f=function(e){if(e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=r.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)};(function(){this.attach=function(e){this.index=-1,this.ranges=[],this.tabstops=[],this.selectedTabstop=null,this.editor=e,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges=null,this.tabstops=null,this.selectedTabstop=null,this.editor.removeListener("change",this.$onChange),this.editor.removeListener("changeSelection",this.$onChangeSelection),this.editor.removeListener("changeSession",this.$onChangeSession),this.editor.commands.removeListener("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.editor=null},this.onChange=function(e){var t=e.data.range,n=e.data.action[0]=="r",r=t.start,i=t.end,s=r.row,o=i.row,a=o-s,f=i.column-r.column;n&&(a=-a,f=-f);if(!this.$inChange&&n){var l=this.selectedTabstop,c=!l.some(function(e){return u(e.start,r)<=0&&u(e.end,i)>=0});if(c)return this.detach()}var h=this.ranges;for(var p=0;p0){this.removeRange(d),p--;continue}d.start.row==s&&d.start.column>r.column&&(d.start.column+=f),d.end.row==s&&d.end.column>=r.column&&(d.end.column+=f),d.start.row>=s&&(d.start.row+=a),d.end.row>=s&&(d.end.row+=a),u(d.start,d.end)>0&&this.removeRange(d)}h.length||this.detach()},this.updateLinkedFields=function(){var e=this.selectedTabstop;if(!e.hasLinkedRanges)return;this.$inChange=!0;var n=this.editor.session,r=n.getTextRange(e.firstNonLinked);for(var i=e.length;i--;){var s=e[i];if(!s.linked)continue;var o=t.snippetManager.tmStrFormat(r,s.original);n.replace(s,o)}this.$inChange=!1},this.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},this.onChangeSelection=function(){if(!this.editor)return;var e=this.editor.selection.lead,t=this.editor.selection.anchor,n=this.editor.selection.isEmpty();for(var r=this.ranges.length;r--;){if(this.ranges[r].linked)continue;var i=this.ranges[r].contains(e.row,e.column),s=n||this.ranges[r].contains(t.row,t.column);if(i&&s)return}this.detach()},this.onChangeSession=function(){this.detach()},this.tabNext=function(e){var t=this.tabstops.length-1,n=this.index+(e||1);n=Math.min(Math.max(n,0),t),this.selectTabstop(n),n==t&&this.detach()},this.selectTabstop=function(e){var t=this.tabstops[this.index];t&&this.addTabstopMarkers(t),this.index=e,t=this.tabstops[this.index];if(!t||!t.length)return;this.selectedTabstop=t;if(!this.editor.inVirtualSelectionMode){var n=this.editor.multiSelect;n.toSingleRange(t.firstNonLinked.clone());for(var r=t.length;r--;){if(t.hasLinkedRanges&&t[r].linked)continue;n.addRange(t[r].clone(),!0)}}else this.editor.selection.setRange(t.firstNonLinked);this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.addTabstops=function(e,t,n){if(!e[0]){var r=i.fromPoints(n,n);c(r.start,t),c(r.end,t),e[0]=[r],e[0].index=0}var s=this.index,o=[s,0],u=this.ranges,a=this.editor;e.forEach(function(e){for(var n=e.length;n--;){var r=e[n],s=i.fromPoints(r.start,r.end||r.start);l(s.start,t),l(s.end,t),s.original=r,s.tabstop=e,u.push(s),e[n]=s,r.fmtString?(s.linked=!0,e.hasLinkedRanges=!0):e.firstNonLinked||(e.firstNonLinked=s)}e.firstNonLinked||(e.hasLinkedRanges=!1),o.push(e),this.addTabstopMarkers(e)},this),o.push(o.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,o)},this.addTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))})},this.removeTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},this.removeRange=function(e){var t=e.tabstop.indexOf(e);e.tabstop.splice(t,1),t=this.ranges.indexOf(e),this.ranges.splice(t,1),this.editor.session.removeMarker(e.markerId)},this.keyboardHandler=new s,this.keyboardHandler.bindKeys({Tab:function(e){if(t.snippetManager&&t.snippetManager.expandWithTab(e))return;e.tabstopManager.tabNext(1)},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1)},Esc:function(e){e.tabstopManager.detach()},Return:function(e){return!1}})}).call(f.prototype);var l=function(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row},c=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};e("./lib/dom").importCssString(".ace_snippet-marker { -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(194, 193, 208, 0.09); border: 1px dotted rgba(211, 208, 235, 0.62); position: absolute;}"),t.snippetManager=new a}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/event","ace/lib/lang","ace/snippets"],function(e,t,n){var r=e("./keyboard/hash_handler").HashHandler,i=e("./autocomplete/popup").AcePopup,s=e("./autocomplete/util"),o=e("./lib/event"),u=e("./lib/lang"),a=e("./snippets").snippetManager,f=function(){this.autoInsert=!1,this.keyboardHandler=new r,this.keyboardHandler.bindKeys(this.commands),this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.changeTimer=u.delayedCall(function(){this.updateCompletions(!0)}.bind(this))};(function(){this.$init=function(){this.popup=new i(document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this))},this.openPopup=function(e,t,n){this.popup||this.$init(),this.popup.setData(this.completions.filtered);var r=e.renderer;if(!n){this.popup.setRow(0),this.popup.setFontSize(e.getFontSize());var i=r.layerConfig.lineHeight,s=r.$cursorLayer.getPixelPosition(this.base,!0);s.left-=this.popup.getTextLeftOffset();var o=e.container.getBoundingClientRect();s.top+=o.top-r.layerConfig.offset,s.left+=o.left-e.renderer.scrollLeft,s.left+=r.$gutterLayer.gutterWidth,this.popup.show(s,i)}},this.detach=function(){this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.changeListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener),this.changeTimer.cancel(),this.popup&&this.popup.hide(),this.activated=!1,this.completions=this.base=null},this.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column=n?-1:t+1;break;case"start":t=0;break;case"end":t=n}this.popup.setRow(t)},this.insertMatch=function(e){e||(e=this.popup.getData(this.popup.getRow()));if(!e)return!1;if(e.completer&&e.completer.insertMatch)e.completer.insertMatch(this.editor);else{if(this.completions.filterText){var t=this.editor.selection.getAllRanges();for(var n=0,r;r=t[n];n++)r.start.column-=this.completions.filterText.length,this.editor.session.remove(r)}e.snippet?a.insertSnippet(this.editor,e.snippet):this.editor.execCommand("insertstring",e.value||e)}this.detach()},this.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Space:function(e){e.completer.detach(),e.insert(" ")},Return:function(e){e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(!0)},Tab:function(e){e.completer.insertMatch()},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},this.gatherCompletions=function(e,t){var n=e.getSession(),r=e.getCursorPosition(),i=n.getLine(r.row),o=s.retrievePrecedingIdentifier(i,r.column);this.base=e.getCursorPosition(),this.base.column-=o.length;var u=[];return s.parForEach(e.completers,function(t,i){t.getCompletions(e,n,r,o,function(e,t){e||(u=u.concat(t)),i()})},function(){t(null,{prefix:o,matches:u})}),!0},this.showPopup=function(e){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.keyBinding.addKeyboardHandler(this.keyboardHandler),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions()},this.updateCompletions=function(e){if(e&&this.base&&this.completions){var t=this.editor.getCursorPosition(),n=this.editor.session.getTextRange({start:this.base,end:t});if(n==this.completions.filterText)return;this.completions.setFilter(n);if(!this.completions.filtered.length)return this.detach();this.openPopup(this.editor,n,e);return}this.gatherCompletions(this.editor,function(t,n){var r=n&&n.matches;if(!r||!r.length)return this.detach();this.completions=new l(r),this.completions.setFilter(n.prefix);var i=this.completions.filtered;if(!i.length)return this.detach();if(this.autoInsert&&i.length==1)return this.insertMatch(i[0]);this.openPopup(this.editor,n.prefix,e)}.bind(this))},this.cancelContextMenu=function(){var e=function(t){this.editor.off("nativecontextmenu",e),t&&t.domEvent&&o.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(f.prototype),f.startCommand={name:"startAutocomplete",exec:function(e){e.completer||(e.completer=new f),e.completer.showPopup(e),e.completer.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var l=function(e,t,n){this.all=e,this.filtered=e,this.filterText=t||""};(function(){this.setFilter=function(e){if(e.length>this.filterText&&e.lastIndexOf(this.filterText,0)===0)var t=this.filtered;else var t=this.all;this.filterText=e,t=this.filterCompletions(t,this.filterText),t=t.sort(function(e,t){return t.exactMatch-e.exactMatch||t.score-e.score});var n=null;t=t.filter(function(e){var t=e.value||e.caption||e.snippet;return t===n?!1:(n=t,!0)}),this.filtered=t},this.filterCompletions=function(e,t){var n=[],r=t.toUpperCase(),i=t.toLowerCase();e:for(var s=0,o;o=e[s];s++){var u=o.value||o.caption||o.snippet;if(!u)continue;var a=-1,f=0,l=0,c,h;for(var p=0;p=0?v<0||d0&&(a===-1&&(l+=10),l+=h),f|=1<o-t&&!r?(s.style.top="",s.style.bottom=o-l+"px",n.isTopdown=!1):(l+=t,s.style.top=l+"px",s.style.bottom="",n.isTopdown=!0),s.style.display="",this.renderer.$textLayer.checkForSizeChanges();var c=e.left;c+s.offsetWidth>u&&(c=u-s.offsetWidth),s.style.left=c+"px",this._signal("show"),i=null,n.isOpen=!0},n.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},n.$imageSize=0,n.$borderSize=1,n};f.importCssString(".ace_autocomplete.ace-tm .ace_marker-layer .ace_active-line { background-color: #CAD6FA; z-index: 1;}.ace_autocomplete.ace-tm .ace_line-hover { border: 1px solid #abbffe; margin-top: -1px; background: rgba(233,233,253,0.4);}.ace_autocomplete .ace_line-hover { position: absolute; z-index: 2;}.ace_rightAlignedText { color: gray; display: inline-block; position: absolute; right: 4px; text-align: right; z-index: -1;}.ace_autocomplete .ace_completion-highlight{ color: #000; text-shadow: 0 0 0.01em;}.ace_autocomplete { width: 280px; z-index: 200000; background: #fbfbfb; color: #444; border: 1px lightgray solid; position: fixed; box-shadow: 2px 3px 5px rgba(0,0,0,.2); line-height: 1.4;}"),t.AcePopup=c}),ace.define("ace/autocomplete/util",["require","exports","module"],function(e,t,n){t.parForEach=function(e,t,n){var r=0,i=e.length;i===0&&n();for(var s=0;s=0;s--){if(!n.test(e[s]))break;i.push(e[s])}return i.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,n){n=n||r;var i=[];for(var s=t;s\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f|Ctrl-H|Command-Option-F":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e[t?"replaceInput":"searchInput"].focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t){var n=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),i=!n&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",i),this.editor._emit("findSearchBox",{match:!i}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/ext-searchbox.js b/static/js/lib/ace/src-min-noconflict/ext-searchbox.js new file mode 100644 index 0000000..66277ab --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/ext-searchbox.js @@ -0,0 +1 @@ +ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o="/* ------------------------------------------------------------------------------------------* Editor Search Form* --------------------------------------------------------------------------------------- */.ace_search {background-color: #ddd;border: 1px solid #cbcbcb;border-top: 0 none;max-width: 297px;overflow: hidden;margin: 0;padding: 4px;padding-right: 6px;padding-bottom: 0;position: absolute;top: 0px;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {border-radius: 3px;border: 1px solid #cbcbcb;float: left;margin-bottom: 4px;overflow: hidden;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {background-color: white;border-right: 1px solid #cbcbcb;border: 0 none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;display: block;float: left;height: 22px;outline: 0;padding: 0 7px;width: 214px;margin: 0;}.ace_searchbtn,.ace_replacebtn {background: #fff;border: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;display: block;float: left;height: 22px;margin: 0;padding: 0;position: relative;}.ace_searchbtn:last-child,.ace_replacebtn:last-child {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn {background-position: 50% 50%;background-repeat: no-repeat;width: 27px;}.ace_searchbtn.prev {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); }.ace_searchbtn.next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); }.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;display: block;float: right;font-family: Arial;font-size: 16px;height: 14px;line-height: 16px;margin: 5px 1px 9px 5px;padding: 0;text-align: center;width: 14px;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_replacebtn.prev {width: 54px}.ace_replacebtn.next {width: 27px}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;-moz-box-sizing: border-box;box-sizing: border-box;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;}",u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys");r.importCssString(o,"ace_searchbox");var f=''.replace(/>\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f|Ctrl-H|Command-Option-F":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e[t?"replaceInput":"searchInput"].focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t){var n=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),i=!n&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",i),this.editor._emit("findSearchBox",{match:!i}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/ext-settings_menu.js b/static/js/lib/ace/src-min-noconflict/ext-settings_menu.js new file mode 100644 index 0000000..7206134 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/ext-settings_menu.js @@ -0,0 +1 @@ +ace.define("ace/ext/settings_menu",["require","exports","module","ace/ext/menu_tools/generate_settings_menu","ace/ext/menu_tools/overlay_page","ace/editor"],function(e,t,n){function s(e){var t=document.getElementById("ace_settingsmenu");t||i(e,r(e),"0","0","0")}var r=e("./menu_tools/generate_settings_menu").generateSettingsMenu,i=e("./menu_tools/overlay_page").overlayPage;n.exports.init=function(t){var n=e("ace/editor").Editor;n.prototype.showSettingsMenu=function(){s(this)}}}),ace.define("ace/ext/menu_tools/generate_settings_menu",["require","exports","module","ace/ext/menu_tools/element_generator","ace/ext/menu_tools/add_editor_menu_options","ace/ext/menu_tools/get_set_functions"],function(e,t,n){var r=e("./element_generator"),i=e("./add_editor_menu_options").addEditorMenuOptions,s=e("./get_set_functions").getSetFunctions;n.exports.generateSettingsMenu=function(t){function o(){n.sort(function(e,t){var n=e.getAttribute("contains"),r=t.getAttribute("contains");return n.localeCompare(r)})}function u(){var e=document.createElement("div");return e.setAttribute("id","ace_settingsmenu"),n.forEach(function(t){e.appendChild(t)}),e}function a(e,n,i,s){var o,u=document.createElement("div");return u.setAttribute("contains",i),u.setAttribute("class","ace_optionsMenuEntry"),u.setAttribute("style","clear: both;"),u.appendChild(r.createLabel(i.replace(/^set/,"").replace(/([A-Z])/g," $1").trim(),i)),Array.isArray(s)?(o=r.createSelection(i,s,n),o.addEventListener("change",function(n){try{t.menuOptions[n.target.id].forEach(function(e){e.textContent!==n.target.textContent&&delete e.selected}),e[n.target.id](n.target.value)}catch(r){throw new Error(r)}})):typeof s=="boolean"?(o=r.createCheckbox(i,s,n),o.addEventListener("change",function(t){try{e[t.target.id](!!t.target.checked)}catch(n){throw new Error(n)}})):(o=r.createInput(i,s,n),o.addEventListener("change",function(t){try{t.target.value==="true"?e[t.target.id](!0):t.target.value==="false"?e[t.target.id](!1):e[t.target.id](t.target.value)}catch(n){throw new Error(n)}})),o.style.cssText="float:right;",u.appendChild(o),u}function f(e,n,r,i){var s=t.menuOptions[e],o=n[i]();return typeof o=="object"&&(o=o.$id),s.forEach(function(e){e.value===o&&(e.selected="selected")}),a(n,r,e,s)}function l(e){var r=e.functionName,i=e.parentObj,s=e.parentName,o,u=r.replace(/^set/,"get");if(t.menuOptions[r]!==undefined)n.push(f(r,i,s,u));else if(typeof i[u]=="function")try{o=i[u](),typeof o=="object"&&(o=o.$id),n.push(a(i,s,r,o))}catch(l){}}var n=[];return i(t),s(t).forEach(function(e){l(e)}),o(),u()}}),ace.define("ace/ext/menu_tools/element_generator",["require","exports","module"],function(e,t,n){n.exports.createOption=function(t){var n,r=document.createElement("option");for(n in t)t.hasOwnProperty(n)&&(n==="selected"?r.setAttribute(n,t[n]):r[n]=t[n]);return r},n.exports.createCheckbox=function(t,n,r){var i=document.createElement("input");return i.setAttribute("type","checkbox"),i.setAttribute("id",t),i.setAttribute("name",t),i.setAttribute("value",n),i.setAttribute("class",r),n&&i.setAttribute("checked","checked"),i},n.exports.createInput=function(t,n,r){var i=document.createElement("input");return i.setAttribute("type","text"),i.setAttribute("id",t),i.setAttribute("name",t),i.setAttribute("value",n),i.setAttribute("class",r),i},n.exports.createLabel=function(t,n){var r=document.createElement("label");return r.setAttribute("for",n),r.textContent=t,r},n.exports.createSelection=function(t,r,i){var s=document.createElement("select");return s.setAttribute("id",t),s.setAttribute("name",t),s.setAttribute("class",i),r.forEach(function(e){s.appendChild(n.exports.createOption(e))}),s}}),ace.define("ace/ext/menu_tools/add_editor_menu_options",["require","exports","module","ace/ext/modelist","ace/ext/themelist"],function(e,t,n){n.exports.addEditorMenuOptions=function(n){var r=e("../modelist"),i=e("../themelist");n.menuOptions={setNewLineMode:[{textContent:"unix",value:"unix"},{textContent:"windows",value:"windows"},{textContent:"auto",value:"auto"}],setTheme:[],setMode:[],setKeyboardHandler:[{textContent:"ace",value:""},{textContent:"vim",value:"ace/keyboard/vim"},{textContent:"emacs",value:"ace/keyboard/emacs"}]},n.menuOptions.setTheme=i.themes.map(function(e){return{textContent:e.caption,value:e.theme}}),n.menuOptions.setMode=r.modes.map(function(e){return{textContent:e.name,value:e.mode}})}}),ace.define("ace/ext/modelist",["require","exports","module"],function(e,t,n){function i(e){var t=a.text,n=e.split(/[\/\\]/).pop();for(var i=0;i 0!";if(e==this.$splits)return;if(e>this.$splits){while(this.$splitse)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach(function(t){t.setTheme(e)})},this.setKeyboardHandler=function(e){this.$editors.forEach(function(t){t.setKeyboardHandler(e)})},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize="",this.setFontSize=function(e){this.$fontSize=e,this.forEach(function(t){t.setFontSize(e)})},this.$cloneSession=function(e){var t=new a(e.getDocument(),e.getMode()),n=e.getUndoManager();if(n){var r=new l(n,t);t.setUndoManager(r)}return t.$informUndoManager=i.delayedCall(function(){t.$deltas=[]}),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var n;t==null?n=this.$cEditor:n=this.$editors[t];var r=this.$editors.some(function(t){return t.session===e});return r&&(e=this.$cloneSession(e)),n.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){if(this.$orientation==e)return;this.$orientation=e,this.resize()},this.resize=function(){var e=this.$container.clientWidth,t=this.$container.clientHeight,n;if(this.$orientation==this.BESIDE){var r=e/this.$splits;for(var i=0;i"),u||l.push(""),f.$renderLine(l,h,!0,!1),l.push("\n
      ");var p="
      "+"
      "+l.join("")+"
      "+"
      ";return f.destroy(),{css:s+n.cssText,html:p,session:a}},n.exports=a,n.exports.highlight=a}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/ext-statusbar.js b/static/js/lib/ace/src-min-noconflict/ext-statusbar.js new file mode 100644 index 0000000..96c27e5 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/ext-statusbar.js @@ -0,0 +1 @@ +ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(e,t,n){var r=e("ace/lib/dom"),i=e("ace/lib/lang"),s=function(e,t){this.element=r.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",t.appendChild(this.element);var n=i.delayedCall(function(){this.updateStatus(e)}.bind(this));e.on("changeStatus",function(){n.schedule(100)}),e.on("changeSelection",function(){n.schedule(100)})};(function(){this.updateStatus=function(e){function n(e,n){e&&t.push(e,n||"|")}var t=[];e.$vimModeHandler?n(e.$vimModeHandler.getStatusText()):e.commands.recording&&n("REC");var r=e.selection.lead;n(r.row+":"+r.column," ");if(!e.selection.isEmpty()){var i=e.getSelectionRange();n("("+(i.end.row-i.start.row)+":"+(i.end.column-i.start.column)+")")}t.pop(),this.element.textContent=t.join("")}}).call(s.prototype),t.StatusBar=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/ext-textarea.js b/static/js/lib/ace/src-min-noconflict/ext-textarea.js new file mode 100644 index 0000000..9afb029 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/ext-textarea.js @@ -0,0 +1 @@ +ace.define("ace/ext/textarea",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/net","ace/ace","ace/theme/textmate","ace/mode/text"],function(e,t,n){function a(e,t){for(var n in t)e.style[n]=t[n]}function f(e,t){if(e.type!="textarea")throw new Error("Textarea required!");var n=e.parentNode,i=document.createElement("div"),s=function(){var t="position:relative;";["margin-top","margin-left","margin-right","margin-bottom"].forEach(function(n){t+=n+":"+u(e,i,n)+";"});var n=u(e,i,"width")||e.clientWidth+"px",r=u(e,i,"height")||e.clientHeight+"px";t+="height:"+r+";width:"+n+";",t+="display:inline-block;",i.setAttribute("style",t)};r.addListener(window,"resize",s),s(),n.insertBefore(i,e.nextSibling);while(n!==document){if(n.tagName.toUpperCase()==="FORM"){var o=n.onsubmit;n.onsubmit=function(n){e.value=t(),o&&o.call(this,n)};break}n=n.parentNode}return i}function l(t,n,r){s.loadScript(t,function(){e([n],r)})}function c(n,r,i,s,o,u){function c(e){return e==="true"||e==1}var a=n.getSession(),f=n.renderer;return u=u||l,n.setDisplaySettings=function(e){e==null&&(e=i.style.display=="none"),e?(i.style.display="block",i.hideButton.focus(),n.on("focus",function t(){n.removeListener("focus",t),i.style.display="none"})):n.focus()},n.$setOption=n.setOption,n.setOption=function(t,i){if(o[t]==i)return;switch(t){case"mode":i!="text"?u("mode-"+i+".js","ace/mode/"+i,function(){var t=e("../mode/"+i).Mode;a.setMode(new t)}):a.setMode(new(e("../mode/text").Mode));break;case"theme":i!="textmate"?u("theme-"+i+".js","ace/theme/"+i,function(){n.setTheme("ace/theme/"+i)}):n.setTheme("ace/theme/textmate");break;case"fontSize":r.style.fontSize=i;break;case"keybindings":switch(i){case"vim":n.setKeyboardHandler("ace/keyboard/vim");break;case"emacs":n.setKeyboardHandler("ace/keyboard/emacs");break;default:n.setKeyboardHandler(null)}break;case"softWrap":switch(i){case"off":a.setUseWrapMode(!1),f.setPrintMarginColumn(80);break;case"40":a.setUseWrapMode(!0),a.setWrapLimitRange(40,40),f.setPrintMarginColumn(40);break;case"80":a.setUseWrapMode(!0),a.setWrapLimitRange(80,80),f.setPrintMarginColumn(80);break;case"free":a.setUseWrapMode(!0),a.setWrapLimitRange(null,null),f.setPrintMarginColumn(80)}break;default:n.$setOption(t,c(i))}o[t]=i},n.getOption=function(e){return o[e]},n.getOptions=function(){return o},n.setOptions(t.options),n}function h(e,t,n,i){function f(e,t,n,r){if(!n){e.push("");return}e.push("")}var s=null,o={mode:"Mode:",gutter:"Display Gutter:",theme:"Theme:",fontSize:"Font Size:",softWrap:"Soft Wrap:",keybindings:"Keyboard",showPrintMargin:"Show Print Margin:",useSoftTabs:"Use Soft Tabs:",showInvisibles:"Show Invisibles"},u={mode:{text:"Plain",javascript:"JavaScript",xml:"XML",html:"HTML",css:"CSS",scss:"SCSS",python:"Python",php:"PHP",java:"Java",ruby:"Ruby",c_cpp:"C/C++",coffee:"CoffeeScript",json:"json",perl:"Perl",clojure:"Clojure",ocaml:"OCaml",csharp:"C#",haxe:"haXe",svg:"SVG",textile:"Textile",groovy:"Groovy",liquid:"Liquid",Scala:"Scala"},theme:{clouds:"Clouds",clouds_midnight:"Clouds Midnight",cobalt:"Cobalt",crimson_editor:"Crimson Editor",dawn:"Dawn",eclipse:"Eclipse",idle_fingers:"Idle Fingers",kr_theme:"Kr Theme",merbivore:"Merbivore",merbivore_soft:"Merbivore Soft",mono_industrial:"Mono Industrial",monokai:"Monokai",pastel_on_dark:"Pastel On Dark",solarized_dark:"Solarized Dark",solarized_light:"Solarized Light",textmate:"Textmate",twilight:"Twilight",vibrant_ink:"Vibrant Ink"},gutter:s,fontSize:{"10px":"10px","11px":"11px","12px":"12px","14px":"14px","16px":"16px"},softWrap:{off:"Off",40:"40",80:"80",free:"Free"},keybindings:{ace:"ace",vim:"vim",emacs:"emacs"},showPrintMargin:s,useSoftTabs:s,showInvisibles:s},a=[];a.push("");for(var l in i)a.push(""),a.push("");a.push("
      SettingValue
      ",o[l],""),f(a,l,u[l],i[l]),a.push("
      "),e.innerHTML=a.join("");var c=function(e){var t=e.currentTarget;n.setOption(t.title,t.value)},h=function(e){var t=e.currentTarget;n.setOption(t.title,t.checked)},p=e.getElementsByTagName("select");for(var d=0;d0&&!(s%c)&&!(l%c)&&(r[c]=(r[c]||0)+1),n[l]=(n[l]||0)+1}s=l;while(a[a.length-1]=="\\")a=e[u++]}var p=r.reduce(function(e,t){return e+t},0),d={score:0,length:0},v=0;for(var u=1;u<12;u++){if(u==1){v=h(u);var m=1}else var m=h(u)/v;r[u]&&(m+=r[u]/p),m>d.score&&(d={score:m,length:u})}if(d.score&&d.score>1.4)var g=d.length;if(i>v+1)return{ch:" ",length:g};if(v+1>i)return{ch:" ",length:g}},t.detectIndentation=function(e){var n=e.getLines(0,1e3),r=t.$detectIndentation(n)||{};return r.ch&&e.setUseSoftTabs(r.ch==" "),r.length&&e.setTabSize(r.length),r},t.trimTrailingSpace=function(e,t){var n=e.getDocument(),r=n.getAllLines(),i=t?-1:0;for(var s=0,o=r.length;si&&n.removeInLine(s,a,u.length)}},t.convertIndentation=function(e,t,n){var i=e.getTabString()[0],s=e.getTabSize();n||(n=s),t||(t=i);var o=t==" "?t:r.stringRepeat(t,n),u=e.doc,a=u.getAllLines(),f={},l={};for(var c=0,h=a.length;c30&&this.$data.shift()},get:function(e){return e=e||1,this.$data.slice(this.$data.length-e,this.$data.length).reverse().join("\n")},pop:function(){return this.$data.length>1&&this.$data.pop(),this.get()},rotate:function(){return this.$data.unshift(this.$data.pop()),this.get()}}}),ace.define("ace/incremental_search",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/search_highlight","ace/commands/incremental_search_commands","ace/lib/dom","ace/commands/command_manager","ace/editor","ace/config"],function(e,t,n){function f(){this.$options={wrap:!1,skipCurrent:!1},this.$keyboardHandler=new a(this)}var r=e("./lib/oop"),i=e("./range").Range,s=e("./search").Search,o=e("./search_highlight").SearchHighlight,u=e("./commands/incremental_search_commands"),a=u.IncrementalSearchKeyboardHandler;r.inherits(f,s),function(){this.activate=function(e,t){this.$editor=e,this.$startPos=this.$currentPos=e.getCursorPosition(),this.$options.needle="",this.$options.backwards=t,e.keyBinding.addKeyboardHandler(this.$keyboardHandler),this.$mousedownHandler=e.addEventListener("mousedown",this.onMouseDown.bind(this)),this.selectionFix(e),this.statusMessage(!0)},this.deactivate=function(e){this.cancelSearch(e),this.$editor.keyBinding.removeKeyboardHandler(this.$keyboardHandler),this.$mousedownHandler&&(this.$editor.removeEventListener("mousedown",this.$mousedownHandler),delete this.$mousedownHandler),this.message("")},this.selectionFix=function(e){e.selection.isEmpty()&&!e.session.$emacsMark&&e.clearSelection()},this.highlight=function(e){var t=this.$editor.session,n=t.$isearchHighlight=t.$isearchHighlight||t.addDynamicMarker(new o(null,"ace_isearch-result","text"));n.setRegexp(e),t._emit("changeBackMarker")},this.cancelSearch=function(e){var t=this.$editor;return this.$prevNeedle=this.$options.needle,this.$options.needle="",e?(t.moveCursorToPosition(this.$startPos),this.$currentPos=this.$startPos):t.pushEmacsMark&&t.pushEmacsMark(this.$startPos,!1),this.highlight(null),i.fromPoints(this.$currentPos,this.$currentPos)},this.highlightAndFindWithNeedle=function(e,t){if(!this.$editor)return null;var n=this.$options;t&&(n.needle=t.call(this,n.needle||"")||"");if(n.needle.length===0)return this.statusMessage(!0),this.cancelSearch(!0);n.start=this.$currentPos;var r=this.$editor.session,s=this.find(r);return s&&(n.backwards&&(s=i.fromPoints(s.end,s.start)),this.$editor.moveCursorToPosition(s.end),e&&(this.$currentPos=s.end),this.highlight(n.re)),this.statusMessage(s),s},this.addChar=function(e){return this.highlightAndFindWithNeedle(!1,function(t){return t+e})},this.removeChar=function(e){return this.highlightAndFindWithNeedle(!1,function(e){return e.length>0?e.substring(0,e.length-1):e})},this.next=function(e){return e=e||{},this.$options.backwards=!!e.backwards,this.$currentPos=this.$editor.getCursorPosition(),this.highlightAndFindWithNeedle(!0,function(t){return e.useCurrentOrPrevSearch&&t.length===0?this.$prevNeedle||"":t})},this.onMouseDown=function(e){return this.deactivate(),!0},this.statusMessage=function(e){var t=this.$options,n="";n+=t.backwards?"reverse-":"",n+="isearch: "+t.needle,n+=e?"":" (not found)",this.message(n)},this.message=function(e){this.$editor.showCommandLine?(this.$editor.showCommandLine(e),this.$editor.focus()):console.log(e)}}.call(f.prototype),t.IncrementalSearch=f;var l=e("./lib/dom");l.importCssString&&l.importCssString(".ace_marker-layer .ace_isearch-result { position: absolute; z-index: 6; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}div.ace_isearch-result { border-radius: 4px; background-color: rgba(255, 200, 0, 0.5); box-shadow: 0 0 4px rgb(255, 200, 0);}.ace_dark div.ace_isearch-result { background-color: rgb(100, 110, 160); box-shadow: 0 0 4px rgb(80, 90, 140);}","incremental-search-highlighting");var c=e("./commands/command_manager");(function(){this.setupIncrementalSearch=function(e,t){if(this.usesIncrementalSearch==t)return;this.usesIncrementalSearch=t;var n=u.iSearchStartCommands,r=t?"addCommands":"removeCommands";this[r](n)}}).call(c.CommandManager.prototype);var h=e("./editor").Editor;e("./config").defineOptions(h.prototype,"editor",{useIncrementalSearch:{set:function(e){this.keyBinding.$handlers.forEach(function(t){t.setupIncrementalSearch&&t.setupIncrementalSearch(this,e)}),this._emit("incrementalSearchSettingChanged",{isEnabled:e})}}})}),ace.define("ace/commands/incremental_search_commands",["require","exports","module","ace/config","ace/lib/oop","ace/keyboard/hash_handler","ace/commands/occur_commands"],function(e,t,n){function u(e){this.$iSearch=e}var r=e("../config"),i=e("../lib/oop"),s=e("../keyboard/hash_handler").HashHandler,o=e("./occur_commands").occurStartCommand;t.iSearchStartCommands=[{name:"iSearch",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(e,t){r.loadModule(["core","ace/incremental_search"],function(n){var r=n.iSearch=n.iSearch||new n.IncrementalSearch;r.activate(e,t.backwards),t.jumpToFirstMatch&&r.next(t)})},readOnly:!0},{name:"iSearchBackwards",exec:function(e,t){e.execCommand("iSearch",{backwards:!0})},readOnly:!0},{name:"iSearchAndGo",bindKey:{win:"Ctrl-K",mac:"Command-G"},exec:function(e,t){e.execCommand("iSearch",{jumpToFirstMatch:!0,useCurrentOrPrevSearch:!0})},readOnly:!0},{name:"iSearchBackwardsAndGo",bindKey:{win:"Ctrl-Shift-K",mac:"Command-Shift-G"},exec:function(e){e.execCommand("iSearch",{jumpToFirstMatch:!0,backwards:!0,useCurrentOrPrevSearch:!0})},readOnly:!0}],t.iSearchCommands=[{name:"restartSearch",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(e){e.cancelSearch(!0)},readOnly:!0,isIncrementalSearchCommand:!0},{name:"searchForward",bindKey:{win:"Ctrl-S|Ctrl-K",mac:"Ctrl-S|Command-G"},exec:function(e,t){t.useCurrentOrPrevSearch=!0,e.next(t)},readOnly:!0,isIncrementalSearchCommand:!0},{name:"searchBackward",bindKey:{win:"Ctrl-R|Ctrl-Shift-K",mac:"Ctrl-R|Command-Shift-G"},exec:function(e,t){t.useCurrentOrPrevSearch=!0,t.backwards=!0,e.next(t)},readOnly:!0,isIncrementalSearchCommand:!0},{name:"extendSearchTerm",exec:function(e,t){e.addChar(t)},readOnly:!0,isIncrementalSearchCommand:!0},{name:"extendSearchTermSpace",bindKey:"space",exec:function(e){e.addChar(" ")},readOnly:!0,isIncrementalSearchCommand:!0},{name:"shrinkSearchTerm",bindKey:"backspace",exec:function(e){e.removeChar()},readOnly:!0,isIncrementalSearchCommand:!0},{name:"confirmSearch",bindKey:"return",exec:function(e){e.deactivate()},readOnly:!0,isIncrementalSearchCommand:!0},{name:"cancelSearch",bindKey:"esc|Ctrl-G",exec:function(e){e.deactivate(!0)},readOnly:!0,isIncrementalSearchCommand:!0},{name:"occurisearch",bindKey:"Ctrl-O",exec:function(e){var t=i.mixin({},e.$options);e.deactivate(),o.exec(e.$editor,t)},readOnly:!0,isIncrementalSearchCommand:!0}],i.inherits(u,s),function(){this.attach=function(e){var n=this.$iSearch;s.call(this,t.iSearchCommands,e.commands.platform),this.$commandExecHandler=e.commands.addEventListener("exec",function(e){return e.command.isIncrementalSearchCommand?(e.stopPropagation(),e.preventDefault(),e.command.exec(n,e.args||{})):undefined})},this.detach=function(e){if(!this.$commandExecHandler)return;e.commands.removeEventListener("exec",this.$commandExecHandler),delete this.$commandExecHandler};var e=this.handleKeyboard;this.handleKeyboard=function(t,n,r,i){var s=e.call(this,t,n,r,i);if(s.command)return s;if(n==-1){var o=this.commands.extendSearchTerm;if(o)return{command:o,args:r}}return{command:"null",passEvent:n==0||n==4}}}.call(u.prototype),t.IncrementalSearchKeyboardHandler=u}),ace.define("ace/commands/occur_commands",["require","exports","module","ace/config","ace/occur","ace/keyboard/hash_handler","ace/lib/oop"],function(e,t,n){function f(){}var r=e("../config"),i=e("../occur").Occur,s={name:"occur",exec:function(e,t){var n=!!e.session.$occur,r=(new i).enter(e,t);r&&!n&&f.installIn(e)},readOnly:!0},o=[{name:"occurexit",bindKey:"esc|Ctrl-G",exec:function(e){var t=e.session.$occur;if(!t)return;t.exit(e,{}),e.session.$occur||f.uninstallFrom(e)},readOnly:!0},{name:"occuraccept",bindKey:"enter",exec:function(e){var t=e.session.$occur;if(!t)return;t.exit(e,{translatePosition:!0}),e.session.$occur||f.uninstallFrom(e)},readOnly:!0}],u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/oop");a.inherits(f,u),function(){this.isOccurHandler=!0,this.attach=function(e){u.call(this,o,e.commands.platform),this.$editor=e};var e=this.handleKeyboard;this.handleKeyboard=function(t,n,r,i){var s=e.call(this,t,n,r,i);return s&&s.command?s:undefined}}.call(f.prototype),f.installIn=function(e){var t=new this;e.keyBinding.addKeyboardHandler(t),e.commands.addCommands(o)},f.uninstallFrom=function(e){e.commands.removeCommands(o);var t=e.getKeyboardHandler();t.isOccurHandler&&e.keyBinding.removeKeyboardHandler(t)},t.occurStartCommand=s}),ace.define("ace/occur",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/edit_session","ace/search_highlight","ace/lib/dom"],function(e,t,n){function a(){}var r=e("./lib/oop"),i=e("./range").Range,s=e("./search").Search,o=e("./edit_session").EditSession,u=e("./search_highlight").SearchHighlight;r.inherits(a,s),function(){this.enter=function(e,t){if(!t.needle)return!1;var n=e.getCursorPosition();this.displayOccurContent(e,t);var r=this.originalToOccurPosition(e.session,n);return e.moveCursorToPosition(r),!0},this.exit=function(e,t){var n=t.translatePosition&&e.getCursorPosition(),r=n&&this.occurToOriginalPosition(e.session,n);return this.displayOriginalContent(e),r&&e.moveCursorToPosition(r),!0},this.highlight=function(e,t){var n=e.$occurHighlight=e.$occurHighlight||e.addDynamicMarker(new u(null,"ace_occur-highlight","text"));n.setRegexp(t),e._emit("changeBackMarker")},this.displayOccurContent=function(e,t){this.$originalSession=e.session;var n=this.matchingLines(e.session,t),r=n.map(function(e){return e.content}),i=new o(r.join("\n"));i.$occur=this,i.$occurMatchingLines=n,e.setSession(i),this.highlight(i,t.re),i._emit("changeBackMarker")},this.displayOriginalContent=function(e){e.setSession(this.$originalSession)},this.originalToOccurPosition=function(e,t){var n=e.$occurMatchingLines,r={row:0,column:0};if(!n)return r;for(var i=0;i1)return r.inputBuffer.idle&&u[n]?u[n]:(r.inputBuffer.push(f,n),{command:"null",passEvent:!1});if(n.length==1&&(t==0||t==4))return{command:"null",passEvent:!0};if(n=="esc"&&t==0)return{command:i.stop}}else if(n=="ctrl-w")return{command:"removewordleft"}},attach:function(e){e.on("click",t.onCursorMove),s.currentMode!=="insert"&&r.coreCommands.stop.exec(e),e.$vimModeHandler=this,this.updateMacCompositionHandlers(e,!0)},detach:function(e){e.removeListener("click",t.onCursorMove),s.noMode(e),s.currentMode="normal",this.updateMacCompositionHandlers(e,!1)},actions:r.actions,getStatusText:function(){return s.currentMode=="insert"?"INSERT":s.onVisualMode?(s.onVisualLineMode?"VISUAL LINE ":"VISUAL ")+r.inputBuffer.status:r.inputBuffer.status}},t.onCursorMove=function(e){r.onCursorMove(e.editor,e),t.onCursorMove.scheduled=!1}}),ace.define("ace/keyboard/vim/commands",["require","exports","module","ace/lib/lang","ace/keyboard/vim/maps/util","ace/keyboard/vim/maps/motions","ace/keyboard/vim/maps/operators","ace/keyboard/vim/maps/aliases","ace/keyboard/vim/registers"],function(e,t,n){"never use strict";function y(e){g.previous={action:{action:{fn:e}}}}var r=e("../../lib/lang"),i=e("./maps/util"),s=e("./maps/motions"),o=e("./maps/operators"),u=e("./maps/aliases"),a=e("./registers"),f=1,l=2,c=3,h=4,p=8,d=function(t,n,r){while(0t.$size.scrollerHeight&&(i=t.$size.scrollerHeight/2),t.scrollTop>r-i&&t.session.setScrollTop(r-i),t.scrollTop+t.$size.scrollerHeight1&&(r=r=="return"?"\n":r=="tab"?" ":r),d(function(){e.insert(r)},n||1),e.navigateLeft())}},R:{fn:function(e,t,n,r){i.insertMode(e),e.setOverwrite(!0)}},"~":{fn:function(e,t,n){d(function(){var t=e.selection.getRange();t.isEmpty()&&t.end.column++;var n=e.session.getTextRange(t),r=n.toUpperCase();r==n?e.navigateRight():e.session.replace(t,r)},n||1)}},"*":{fn:function(e,t,n,r){e.selection.selectWord(),e.findNext(),v(e);var i=e.selection.getRange();e.selection.setSelectionRange(i,!0)}},"#":{fn:function(e,t,n,r){e.selection.selectWord(),e.findPrevious(),v(e);var i=e.selection.getRange();e.selection.setSelectionRange(i,!0)}},m:{param:!0,fn:function(e,t,n,r){var i=e.session,s=i.vimMarkers||(i.vimMarkers={}),o=e.getCursorPosition();s[r]||(s[r]=e.session.doc.createAnchor(o)),s[r].setPosition(o.row,o.column,!0)}},n:{fn:function(e,t,n,r){var i=e.getLastSearchOptions();i.backwards=!1,e.selection.moveCursorRight(),e.selection.clearSelection(),e.findNext(i),v(e);var s=e.selection.getRange();s.end.row=s.start.row,s.end.column=s.start.column,e.selection.setSelectionRange(s,!0)}},N:{fn:function(e,t,n,r){var i=e.getLastSearchOptions();i.backwards=!0,e.findPrevious(i),v(e);var s=e.selection.getRange();s.end.row=s.start.row,s.end.column=s.start.column,e.selection.setSelectionRange(s,!0)}},v:{fn:function(e,t,n,r){e.selection.selectRight(),i.visualMode(e,!1)},acceptsMotion:!0},V:{fn:function(e,t,n,r){var s=e.getCursorPosition().row;e.selection.clearSelection(),e.selection.moveCursorTo(s,0),e.selection.selectLineEnd(),e.selection.visualLineStart=s,i.visualMode(e,!0)},acceptsMotion:!0},Y:{fn:function(e,t,n,r){i.copyLine(e)}},p:{fn:function(e,t,n,i){var s=a._default;e.setOverwrite(!1);if(s.isLine){var o=e.getCursorPosition();o.column=e.session.getLine(o.row).length;var u=r.stringRepeat("\n"+s.text,n||1);e.session.insert(o,u),e.moveCursorTo(o.row+1,0)}else e.navigateRight(),e.insert(r.stringRepeat(s.text,n||1)),e.navigateLeft();e.setOverwrite(!0),e.selection.clearSelection()}},P:{fn:function(e,t,n,i){var s=a._default;e.setOverwrite(!1);if(s.isLine){var o=e.getCursorPosition();o.column=0;var u=r.stringRepeat(s.text+"\n",n||1);e.session.insert(o,u),e.moveCursorToPosition(o)}else e.insert(r.stringRepeat(s.text,n||1));e.setOverwrite(!0),e.selection.clearSelection()}},J:{fn:function(e,t,n,r){var i=e.session;t=e.getSelectionRange();var s={row:t.start.row,column:t.start.column};n=n||t.end.row-t.start.row;var o=Math.min(s.row+(n||1),i.getLength()-1);t.start.column=i.getLine(s.row).length,t.end.column=i.getLine(o).length,t.end.row=o;var u="";for(var a=s.row;a1&&(i=".,.+"+n+i),e.showCommandLine&&e.showCommandLine(i)}},"/":{fn:function(e,t,n,r){e.showCommandLine&&e.showCommandLine("/")}},"?":{fn:function(e,t,n,r){e.showCommandLine&&e.showCommandLine("?")}},".":{fn:function(e,t,n,r){i.onInsertReplaySequence=g.lastInsertCommands;var s=g.previous;s&&g.exec(e,s.action,s.param)}},"ctrl-x":{fn:function(e,t,n,r){e.modifyNumber(-(n||1))}},"ctrl-a":{fn:function(e,t,n,r){e.modifyNumber(n||1)}}},g=t.inputBuffer={accepting:[f,l,c,h],currentCmd:null,currentCount:"",status:"",operator:null,motion:null,lastInsertCommands:[],push:function(e,t,n){var r=this.status,i=!0;this.idle=!1;var a=this.waitingForParam;/^numpad\d+$/i.test(t)&&(t=t.substr(6));if(a)this.exec(e,a,t);else if(t==="0"&&!this.currentCount.length||!/^\d+$/.test(t)||!this.isAccepting(f))if(!this.operator&&this.isAccepting(l)&&o[t])this.operator={ch:t,count:this.getCount()},this.currentCmd=l,this.accepting=[f,c,h],this.exec(e,{operator:this.operator});else if(s[t]&&this.isAccepting(c)){this.currentCmd=c;var p={operator:this.operator,motion:{ch:t,count:this.getCount()}};s[t].param?this.waitForParam(p):this.exec(e,p)}else if(u[t]&&this.isAccepting(c))u[t].operator.count=this.getCount(),this.exec(e,u[t]);else if(m[t]&&this.isAccepting(h)){var d={action:{fn:m[t].fn,count:this.getCount()}};m[t].param?this.waitForParam(d):this.exec(e,d),m[t].acceptsMotion&&(this.idle=!1)}else this.operator?(this.operator.count=this.getCount(),this.exec(e,{operator:this.operator},t)):(i=t.length==1,this.reset());else this.currentCount+=t,this.currentCmd=f,this.accepting=[f,l,c,h];return this.waitingForParam||this.motion||this.operator?this.status+=t:this.currentCount?this.status=this.currentCount:this.status&&(this.status=""),this.status!=r&&e._emit("changeStatus"),i},waitForParam:function(e){this.waitingForParam=e},getCount:function(){var e=this.currentCount;return this.currentCount="",e&&parseInt(e,10)},exec:function(e,t,n){var r=t.motion,u=t.operator,a=t.action;n||(n=t.param),u&&(this.previous={action:t,param:n});if(u&&!e.selection.isEmpty()){o[u.ch].selFn&&(o[u.ch].selFn(e,e.getSelectionRange(),u.count,n),this.reset());return}if(!r&&!a&&u&&n)o[u.ch].fn(e,null,u.count,n),this.reset();else if(r){var f=function(t){t&&typeof t=="function"&&(r.count&&!l.handlesCount?d(t,r.count,[e,null,r.count,n]):t(e,null,r.count,n))},l=s[r.ch],c=l.sel;u?c&&d(function(){f(l.sel),o[u.ch].fn(e,e.getSelectionRange(),u.count,n)},u.count||1):(i.onVisualMode||i.onVisualLineMode)&&c?f(l.sel):f(l.nav),this.reset()}else a&&(a.fn(e,e.getSelectionRange(),a.count,n),this.reset());b(e)},isAccepting:function(e){return this.accepting.indexOf(e)!==-1},reset:function(){this.operator=null,this.motion=null,this.currentCount="",this.status="",this.accepting=[f,l,c,h],this.idle=!0,this.waitingForParam=null}};t.coreCommands={start:{exec:function w(e){i.insertMode(e),y(w)}},startBeginning:{exec:function E(e){e.navigateLineStart(),i.insertMode(e),y(E)}},stop:{exec:function(t){g.reset(),i.onVisualMode=!1,i.onVisualLineMode=!1,g.lastInsertCommands=i.normalMode(t)}},append:{exec:function S(e){var t=e.getCursorPosition(),n=e.session.getLine(t.row).length;n&&e.navigateRight(),i.insertMode(e),y(S)}},appendEnd:{exec:function x(e){e.navigateLineEnd(),i.insertMode(e),y(x)}}};var b=t.onCursorMove=function(e,t){if(i.currentMode==="insert"||b.running)return;if(!e.selection.isEmpty()){b.running=!0;if(i.onVisualLineMode){var n=e.selection.visualLineStart,r=e.getCursorPosition().row;if(n<=r){var s=e.session.getLine(r);e.selection.clearSelection(),e.selection.moveCursorTo(n,0),e.selection.selectTo(r,s.length)}else{var s=e.session.getLine(n);e.selection.clearSelection(),e.selection.moveCursorTo(n,s.length),e.selection.selectTo(r,0)}}b.running=!1;return}t&&(i.onVisualLineMode||i.onVisualMode)&&(e.selection.clearSelection(),i.normalMode(e)),b.running=!0;var o=e.getCursorPosition(),u=e.session.getLine(o.row).length;u&&o.column===u&&e.navigateLeft(),b.running=!1}}),ace.define("ace/keyboard/vim/maps/util",["require","exports","module","ace/keyboard/vim/registers","ace/lib/dom"],function(e,t,n){var r=e("../registers"),i=e("../../../lib/dom");i.importCssString(".insert-mode .ace_cursor{ border-left: 2px solid #333333;}.ace_dark.insert-mode .ace_cursor{ border-left: 2px solid #eeeeee;}.normal-mode .ace_cursor{ border: 0!important; background-color: red; opacity: 0.5;}","vimMode"),n.exports={onVisualMode:!1,onVisualLineMode:!1,currentMode:"normal",noMode:function(e){e.unsetStyle("insert-mode"),e.unsetStyle("normal-mode"),e.commands.recording&&e.commands.toggleRecording(e),e.setOverwrite(!1)},insertMode:function(e){this.currentMode="insert",e.setStyle("insert-mode"),e.unsetStyle("normal-mode"),e.setOverwrite(!1),e.keyBinding.$data.buffer="",e.keyBinding.$data.state="insertMode",this.onVisualMode=!1,this.onVisualLineMode=!1,this.onInsertReplaySequence?(e.commands.macro=this.onInsertReplaySequence,e.commands.replay(e),this.onInsertReplaySequence=null,this.normalMode(e)):(e._emit("changeStatus"),e.commands.recording||e.commands.toggleRecording(e))},normalMode:function(e){this.currentMode="normal",e.unsetStyle("insert-mode"),e.setStyle("normal-mode"),e.clearSelection();var t;return e.getOverwrite()||(t=e.getCursorPosition(),t.column>0&&e.navigateLeft()),e.setOverwrite(!0),e.keyBinding.$data.buffer="",e.keyBinding.$data.state="start",this.onVisualMode=!1,this.onVisualLineMode=!1,e._emit("changeStatus"),e.commands.recording?(e.commands.toggleRecording(e),e.commands.macro):[]},visualMode:function(e,t){if(this.onVisualLineMode&&t||this.onVisualMode&&!t){this.normalMode(e);return}e.setStyle("insert-mode"),e.unsetStyle("normal-mode"),e._emit("changeStatus"),t?this.onVisualLineMode=!0:(this.onVisualMode=!0,this.onVisualLineMode=!1)},getRightNthChar:function(e,t,n,r){var i=e.getSession().getLine(t.row),s=i.substr(t.column+1).split(n);return r~!@#$%^&*|+=\[\]{}`~?]/,u=/[.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/,a=/\s/,f=function(e,t){var n=e.selection;this.range=n.getRange(),t=t||n.selectionLead,this.row=t.row,this.col=t.column;var r=e.session.getLine(this.row),i=e.session.getLength();this.ch=r[this.col]||"\n",this.skippedLines=0,this.next=function(){return this.ch=r[++this.col]||this.handleNewLine(1),this.ch},this.prev=function(){return this.ch=r[--this.col]||this.handleNewLine(-1),this.ch},this.peek=function(t){var n=r[this.col+t];return n?n:t==-1?"\n":this.col==r.length-1?"\n":e.session.getLine(this.row+1)[0]||"\n"},this.handleNewLine=function(t){if(t==1)return this.col==r.length?"\n":this.row==i-1?"":(this.col=0,this.row++,r=e.session.getLine(this.row),this.skippedLines++,r[0]||"\n");if(t==-1)return this.row===0?"":(this.row--,r=e.session.getLine(this.row),this.col=r.length,this.skippedLines--,"\n")},this.debug=function(){console.log(r.substring(0,this.col)+"|"+this.ch+"'"+this.col+"'"+r.substr(this.col+1))}},l=e("../../../search").Search,c=new l,p=e("../../../range").Range,d={};n.exports={w:new s(function(e){var t=new f(e);if(t.ch&&u.test(t.ch))while(t.ch&&u.test(t.ch))t.next();else while(t.ch&&!o.test(t.ch))t.next();while(t.ch&&a.test(t.ch)&&t.skippedLines<2)t.next();return t.skippedLines==2&&t.prev(),{column:t.col,row:t.row}}),W:new s(function(e){var t=new f(e);while(t.ch&&(!a.test(t.ch)||!!a.test(t.peek(1)))&&t.skippedLines<2)t.next();return t.skippedLines==2?t.prev():t.next(),{column:t.col,row:t.row}}),b:new s(function(e){var t=new f(e);t.prev();while(t.ch&&a.test(t.ch)&&t.skippedLines>-2)t.prev();if(t.ch&&u.test(t.ch))while(t.ch&&u.test(t.ch))t.prev();else while(t.ch&&!o.test(t.ch))t.prev();return t.ch&&t.next(),{column:t.col,row:t.row}}),B:new s(function(e){var t=new f(e);t.prev();while(t.ch&&(!!a.test(t.ch)||!a.test(t.peek(-1)))&&t.skippedLines>-2)t.prev();return t.skippedLines==-2&&t.next(),{column:t.col,row:t.row}}),e:new s(function(e){var t=new f(e);t.next();while(t.ch&&a.test(t.ch))t.next();if(t.ch&&u.test(t.ch))while(t.ch&&u.test(t.ch))t.next();else while(t.ch&&!o.test(t.ch))t.next();return t.ch&&t.prev(),{column:t.col,row:t.row}}),E:new s(function(e){var t=new f(e);t.next();while(t.ch&&(!!a.test(t.ch)||!a.test(t.peek(1))))t.next();return{column:t.col,row:t.row}}),l:{nav:function(e){var t=e.getCursorPosition(),n=t.column,r=e.session.getLine(t.row).length;r&&n!==r&&e.navigateRight()},sel:function(e){var t=e.getCursorPosition(),n=t.column,r=e.session.getLine(t.row).length;r&&n!==r&&e.selection.selectRight()}},h:{nav:function(e){var t=e.getCursorPosition();t.column>0&&e.navigateLeft()},sel:function(e){var t=e.getCursorPosition();t.column>0&&e.selection.selectLeft()}},H:{nav:function(e){var t=e.renderer.getScrollTopRow();e.moveCursorTo(t)},sel:function(e){var t=e.renderer.getScrollTopRow();e.selection.selectTo(t)}},M:{nav:function(e){var t=e.renderer.getScrollTopRow(),n=e.renderer.getScrollBottomRow(),r=t+(n-t)/2;e.moveCursorTo(r)},sel:function(e){var t=e.renderer.getScrollTopRow(),n=e.renderer.getScrollBottomRow(),r=t+(n-t)/2;e.selection.selectTo(r)}},L:{nav:function(e){var t=e.renderer.getScrollBottomRow();e.moveCursorTo(t)},sel:function(e){var t=e.renderer.getScrollBottomRow();e.selection.selectTo(t)}},k:{nav:function(e){e.navigateUp()},sel:function(e){e.selection.selectUp()}},j:{nav:function(e){e.navigateDown()},sel:function(e){e.selection.selectDown()}},i:{param:!0,sel:function(e,t,n,r){switch(r){case"w":e.selection.selectWord();break;case"W":e.selection.selectAWord();break;case"(":case"{":case"[":var i=e.getCursorPosition(),s=e.session.$findClosingBracket(r,i,/paren/);if(!s)return;var o=e.session.$findOpeningBracket(e.session.$brackets[r],i,/paren/);if(!o)return;o.column++,e.selection.setSelectionRange(p.fromPoints(o,s));break;case"'":case'"':case"/":var s=h(e,r,1);if(!s)return;var o=h(e,r,-1);if(!o)return;e.selection.setSelectionRange(p.fromPoints(o.end,s.start))}}},a:{param:!0,sel:function(e,t,n,r){switch(r){case"w":e.selection.selectAWord();break;case"W":e.selection.selectAWord();break;case"(":case"{":case"[":var i=e.getCursorPosition(),s=e.session.$findClosingBracket(r,i,/paren/);if(!s)return;var o=e.session.$findOpeningBracket(e.session.$brackets[r],i,/paren/);if(!o)return;s.column++,e.selection.setSelectionRange(p.fromPoints(o,s));break;case"'":case'"':case"/":var s=h(e,r,1);if(!s)return;var o=h(e,r,-1);if(!o)return;s.column++,e.selection.setSelectionRange(p.fromPoints(o.start,s.end))}}},f:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s,o){o||(d={ch:"f",param:i});var u=e.getCursorPosition(),a=r.getRightNthChar(e,u,i,n||1);if(typeof a=="number")return u.column+=a+(s?2:1),u}}),F:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s,o){o||(d={ch:"F",param:i});var u=e.getCursorPosition(),a=r.getLeftNthChar(e,u,i,n||1);if(typeof a=="number")return u.column-=a+1,u}}),t:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s,o){o||(d={ch:"t",param:i});var u=e.getCursorPosition(),a=r.getRightNthChar(e,u,i,n||1);if(o&&a==0&&!(n>1))var a=r.getRightNthChar(e,u,i,2);if(typeof a=="number")return u.column+=a+(s?1:0),u}}),T:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s,o){o||(d={ch:"T",param:i});var u=e.getCursorPosition(),a=r.getLeftNthChar(e,u,i,n||1);if(o&&a==0&&!(n>1))var a=r.getLeftNthChar(e,u,i,2);if(typeof a=="number")return u.column-=a,u}}),";":new s({handlesCount:!0,getPos:function(e,t,r,i,s){var o=d.ch;if(!o)return;return n.exports[o].getPos(e,t,r,d.param,s,!0)}}),",":new s({handlesCount:!0,getPos:function(e,t,r,i,s){var o=d.ch;if(!o)return;var u=o.toUpperCase();return o=o===u?o.toLowerCase():u,n.exports[o].getPos(e,t,r,d.param,s,!0)}}),"^":{nav:function(e){e.navigateLineStart()},sel:function(e){e.selection.selectLineStart()}},$:{nav:function(e){e.navigateLineEnd()},sel:function(e){e.selection.selectLineEnd()}},0:new s(function(e){return{row:e.selection.lead.row,column:0}}),G:{nav:function(e,t,n,r){!n&&n!==0&&(n=e.session.getLength()),e.gotoLine(n)},sel:function(e,t,n,r){!n&&n!==0&&(n=e.session.getLength()),e.selection.selectTo(n,0)}},g:{param:!0,nav:function(e,t,n,r){switch(r){case"m":console.log("Middle line");break;case"e":console.log("End of prev word");break;case"g":e.gotoLine(n||0);case"u":e.gotoLine(n||0);case"U":e.gotoLine(n||0)}},sel:function(e,t,n,r){switch(r){case"m":console.log("Middle line");break;case"e":console.log("End of prev word");break;case"g":e.selection.selectTo(n||0,0)}}},o:{nav:function(e,t,n,i){n=n||1;var s="";while(00?(e.navigateUp(),e.navigateLineEnd(),e.insert(o)):(e.session.insert({row:0,column:0},o),e.navigateUp()),r.insertMode(e))}},"%":new s(function(e){var t=/[\[\]{}()]/g,n=e.getCursorPosition(),r=e.session.getLine(n.row)[n.column];if(!t.test(r)){var i=h(e,t);if(!i)return;n=i.start}var s=e.session.findMatchingBracket({row:n.row,column:n.column+1});return s}),"{":new s(function(e){var t=e.session,n=t.selection.lead.row;while(n>0&&!/\S/.test(t.getLine(n)))n--;while(/\S/.test(t.getLine(n)))n--;return{column:0,row:n}}),"}":new s(function(e){var t=e.session,n=t.getLength(),r=t.selection.lead.row;while(r":{selFn:function(e,t,n,i){n=n||1;for(var s=0;s":var i=e.getCursorPosition();e.selection.selectLine();for(var s=0;s*]\W|\*\*|[~:,\.&$]|->*?|=>/},{token:"paren.lparen",regex:"[\\[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"constant.numeric",regex:"[+-]?\\d+\\b"},{token:"variable.parameter",regex:/sy|pa?\d\d\d\d\|t\d\d\d\.|innnn/},{token:"keyword",regex:t},{token:"variable.parameter",regex:/\w+-\w+(?:-\w+)*/},{token:e,regex:"\\b\\w+\\b"},{caseInsensitive:!0}],qstring:[{token:"constant.language.escape",regex:"''"},{token:"string",regex:"'",next:"start"},{defaultToken:"string"}],string:[{token:"constant.language.escape",regex:"``"},{token:"string",regex:"`",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.AbapHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&uf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-ada.js b/static/js/lib/ace/src-min-noconflict/mode-ada.js new file mode 100644 index 0000000..ee723c6 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-ada.js @@ -0,0 +1 @@ +ace.define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/ada_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./ada_highlight_rules").AdaHighlightRules,u=e("../range").Range,a=function(){this.HighlightRules=o};r.inherits(a,i),function(){this.lineCommentStart="--",this.$id="ace/mode/ada"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/ada_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="abort|else|new|return|abs|elsif|not|reverse|abstract|end|null|accept|entry|select|access|exception|of|separate|aliased|exit|or|some|all|others|subtype|and|for|out|synchronized|array|function|overriding|at|tagged|generic|package|task|begin|goto|pragma|terminate|body|private|then|if|procedure|type|case|in|protected|constant|interface|until||is|raise|use|declare|range|delay|limited|record|when|delta|loop|rem|while|digits|renames|with|do|mod|requeue|xor",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.AdaHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-apache_conf.js b/static/js/lib/ace/src-min-noconflict/mode-apache_conf.js new file mode 100644 index 0000000..fcafff9 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-apache_conf.js @@ -0,0 +1 @@ +ace.define("ace/mode/apache_conf",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/apache_conf_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./apache_conf_highlight_rules").ApacheConfHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="#"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/apache_conf_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["punctuation.definition.comment.apacheconf","comment.line.hash.ini","comment.line.hash.ini"],regex:"^((?:\\s)*)(#)(.*$)"},{token:["punctuation.definition.tag.apacheconf","entity.tag.apacheconf","text","string.value.apacheconf","punctuation.definition.tag.apacheconf"],regex:"(<)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost)(?:(\\s)(.+?))?(>)"},{token:["punctuation.definition.tag.apacheconf","entity.tag.apacheconf","punctuation.definition.tag.apacheconf"],regex:"()"},{token:["keyword.alias.apacheconf","text","string.regexp.apacheconf","text","string.replacement.apacheconf","text"],regex:"(Rewrite(?:Rule|Cond))(\\s+)(.+?)(\\s+)(.+?)($|\\s)"},{token:["keyword.alias.apacheconf","text","entity.status.apacheconf","text","string.regexp.apacheconf","text","string.path.apacheconf","text"],regex:"(RedirectMatch)(?:(\\s+)(\\d\\d\\d|permanent|temp|seeother|gone))?(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?"},{token:["keyword.alias.apacheconf","text","entity.status.apacheconf","text","string.path.apacheconf","text","string.path.apacheconf","text"],regex:"(Redirect)(?:(\\s+)(\\d\\d\\d|permanent|temp|seeother|gone))?(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?"},{token:["keyword.alias.apacheconf","text","string.regexp.apacheconf","text","string.path.apacheconf","text"],regex:"(ScriptAliasMatch|AliasMatch)(\\s+)(.+?)(\\s+)(?:(.+?)(\\s))?"},{token:["keyword.alias.apacheconf","text","string.path.apacheconf","text","string.path.apacheconf","text"],regex:"(RedirectPermanent|RedirectTemp|ScriptAlias|Alias)(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?"},{token:"keyword.core.apacheconf",regex:"\\b(?:AcceptPathInfo|AccessFileName|AddDefaultCharset|AddOutputFilterByType|AllowEncodedSlashes|AllowOverride|AuthName|AuthType|CGIMapExtension|ContentDigest|DefaultType|DocumentRoot|EnableMMAP|EnableSendfile|ErrorDocument|ErrorLog|FileETag|ForceType|HostnameLookups|IdentityCheck|Include|KeepAlive|KeepAliveTimeout|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|LogLevel|MaxKeepAliveRequests|NameVirtualHost|Options|Require|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScriptInterpreterSource|ServerAdmin|ServerAlias|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|SetHandler|SetInputFilter|SetOutputFilter|TimeOut|TraceEnable|UseCanonicalName)\\b"},{token:"keyword.mpm.apacheconf",regex:"\\b(?:AcceptMutex|AssignUserID|BS2000Account|ChildPerUserID|CoreDumpDirectory|EnableExceptionHook|Group|Listen|ListenBacklog|LockFile|MaxClients|MaxMemFree|MaxRequestsPerChild|MaxRequestsPerThread|MaxSpareServers|MaxSpareThreads|MaxThreads|MaxThreadsPerChild|MinSpareServers|MinSpareThreads|NumServers|PidFile|ReceiveBufferSize|ScoreBoardFile|SendBufferSize|ServerLimit|StartServers|StartThreads|ThreadLimit|ThreadsPerChild|ThreadStackSize|User|Win32DisableAcceptEx)\\b"},{token:"keyword.access.apacheconf",regex:"\\b(?:Allow|Deny|Order)\\b"},{token:"keyword.actions.apacheconf",regex:"\\b(?:Action|Script)\\b"},{token:"keyword.alias.apacheconf",regex:"\\b(?:Alias|AliasMatch|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ScriptAlias|ScriptAliasMatch)\\b"},{token:"keyword.auth.apacheconf",regex:"\\b(?:AuthAuthoritative|AuthGroupFile|AuthUserFile)\\b"},{token:"keyword.auth_anon.apacheconf",regex:"\\b(?:Anonymous|Anonymous_Authoritative|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail)\\b"},{token:"keyword.auth_dbm.apacheconf",regex:"\\b(?:AuthDBMAuthoritative|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile)\\b"},{token:"keyword.auth_digest.apacheconf",regex:"\\b(?:AuthDigestAlgorithm|AuthDigestDomain|AuthDigestFile|AuthDigestGroupFile|AuthDigestNcCheck|AuthDigestNonceFormat|AuthDigestNonceLifetime|AuthDigestQop|AuthDigestShmemSize)\\b"},{token:"keyword.auth_ldap.apacheconf",regex:"\\b(?:AuthLDAPAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPEnabled|AuthLDAPFrontPageHack|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPRemoteUserIsDN|AuthLDAPUrl)\\b"},{token:"keyword.autoindex.apacheconf",regex:"\\b(?:AddAlt|AddAltByEncoding|AddAltByType|AddDescription|AddIcon|AddIconByEncoding|AddIconByType|DefaultIcon|HeaderName|IndexIgnore|IndexOptions|IndexOrderDefault|ReadmeName)\\b"},{token:"keyword.cache.apacheconf",regex:"\\b(?:CacheDefaultExpire|CacheDisable|CacheEnable|CacheForceCompletion|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheLastModifiedFactor|CacheMaxExpire)\\b"},{token:"keyword.cern_meta.apacheconf",regex:"\\b(?:MetaDir|MetaFiles|MetaSuffix)\\b"},{token:"keyword.cgi.apacheconf",regex:"\\b(?:ScriptLog|ScriptLogBuffer|ScriptLogLength)\\b"},{token:"keyword.cgid.apacheconf",regex:"\\b(?:ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock)\\b"},{token:"keyword.charset_lite.apacheconf",regex:"\\b(?:CharsetDefault|CharsetOptions|CharsetSourceEnc)\\b"},{token:"keyword.dav.apacheconf",regex:"\\b(?:Dav|DavDepthInfinity|DavMinTimeout|DavLockDB)\\b"},{token:"keyword.deflate.apacheconf",regex:"\\b(?:DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateMemLevel|DeflateWindowSize)\\b"},{token:"keyword.dir.apacheconf",regex:"\\b(?:DirectoryIndex|DirectorySlash)\\b"},{token:"keyword.disk_cache.apacheconf",regex:"\\b(?:CacheDirLength|CacheDirLevels|CacheExpiryCheck|CacheGcClean|CacheGcDaily|CacheGcInterval|CacheGcMemUsage|CacheGcUnused|CacheMaxFileSize|CacheMinFileSize|CacheRoot|CacheSize|CacheTimeMargin)\\b"},{token:"keyword.dumpio.apacheconf",regex:"\\b(?:DumpIOInput|DumpIOOutput)\\b"},{token:"keyword.env.apacheconf",regex:"\\b(?:PassEnv|SetEnv|UnsetEnv)\\b"},{token:"keyword.expires.apacheconf",regex:"\\b(?:ExpiresActive|ExpiresByType|ExpiresDefault)\\b"},{token:"keyword.ext_filter.apacheconf",regex:"\\b(?:ExtFilterDefine|ExtFilterOptions)\\b"},{token:"keyword.file_cache.apacheconf",regex:"\\b(?:CacheFile|MMapFile)\\b"},{token:"keyword.headers.apacheconf",regex:"\\b(?:Header|RequestHeader)\\b"},{token:"keyword.imap.apacheconf",regex:"\\b(?:ImapBase|ImapDefault|ImapMenu)\\b"},{token:"keyword.include.apacheconf",regex:"\\b(?:SSIEndTag|SSIErrorMsg|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|XBitHack)\\b"},{token:"keyword.isapi.apacheconf",regex:"\\b(?:ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer)\\b"},{token:"keyword.ldap.apacheconf",regex:"\\b(?:LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionTimeout|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTrustedCA|LDAPTrustedCAType)\\b"},{token:"keyword.log.apacheconf",regex:"\\b(?:BufferedLogs|CookieLog|CustomLog|LogFormat|TransferLog|ForensicLog)\\b"},{token:"keyword.mem_cache.apacheconf",regex:"\\b(?:MCacheMaxObjectCount|MCacheMaxObjectSize|MCacheMaxStreamingBuffer|MCacheMinObjectSize|MCacheRemovalAlgorithm|MCacheSize)\\b"},{token:"keyword.mime.apacheconf",regex:"\\b(?:AddCharset|AddEncoding|AddHandler|AddInputFilter|AddLanguage|AddOutputFilter|AddType|DefaultLanguage|ModMimeUsePathInfo|MultiviewsMatch|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|TypesConfig)\\b"},{token:"keyword.misc.apacheconf",regex:"\\b(?:ProtocolEcho|Example|AddModuleInfo|MimeMagicFile|CheckSpelling|ExtendedStatus|SuexecUserGroup|UserDir)\\b"},{token:"keyword.negotiation.apacheconf",regex:"\\b(?:CacheNegotiatedDocs|ForceLanguagePriority|LanguagePriority)\\b"},{token:"keyword.nw_ssl.apacheconf",regex:"\\b(?:NWSSLTrustedCerts|NWSSLUpgradeable|SecureListen)\\b"},{token:"keyword.proxy.apacheconf",regex:"\\b(?:AllowCONNECT|NoProxy|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyFtpDirCharset|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassReverse|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxyTimeout|ProxyVia)\\b"},{token:"keyword.rewrite.apacheconf",regex:"\\b(?:RewriteBase|RewriteCond|RewriteEngine|RewriteLock|RewriteLog|RewriteLogLevel|RewriteMap|RewriteOptions|RewriteRule)\\b"},{token:"keyword.setenvif.apacheconf",regex:"\\b(?:BrowserMatch|BrowserMatchNoCase|SetEnvIf|SetEnvIfNoCase)\\b"},{token:"keyword.so.apacheconf",regex:"\\b(?:LoadFile|LoadModule)\\b"},{token:"keyword.ssl.apacheconf",regex:"\\b(?:SSLCACertificateFile|SSLCACertificatePath|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLEngine|SSLMutex|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLUserName|SSLVerifyClient|SSLVerifyDepth)\\b"},{token:"keyword.usertrack.apacheconf",regex:"\\b(?:CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking)\\b"},{token:"keyword.vhost_alias.apacheconf",regex:"\\b(?:VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP)\\b"},{token:["keyword.php.apacheconf","text","entity.property.apacheconf","text","string.value.apacheconf","text"],regex:"\\b(php_value|php_flag)\\b(?:(\\s+)(.+?)(?:(\\s+)(.+?))?)?(\\s)"},{token:["punctuation.variable.apacheconf","variable.env.apacheconf","variable.misc.apacheconf","punctuation.variable.apacheconf"],regex:"(%\\{)(?:(HTTP_USER_AGENT|HTTP_REFERER|HTTP_COOKIE|HTTP_FORWARDED|HTTP_HOST|HTTP_PROXY_CONNECTION|HTTP_ACCEPT|REMOTE_ADDR|REMOTE_HOST|REMOTE_PORT|REMOTE_USER|REMOTE_IDENT|REQUEST_METHOD|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_ADMIN|SERVER_NAME|SERVER_ADDR|SERVER_PORT|SERVER_PROTOCOL|SERVER_SOFTWARE|TIME_YEAR|TIME_MON|TIME_DAY|TIME_HOUR|TIME_MIN|TIME_SEC|TIME_WDAY|TIME|API_VERSION|THE_REQUEST|REQUEST_URI|REQUEST_FILENAME|IS_SUBREQ|HTTPS)|(.*?))(\\})"},{token:["entity.mime-type.apacheconf","text"],regex:"\\b((?:text|image|application|video|audio)/.+?)(\\s)"},{token:"entity.helper.apacheconf",regex:"\\b(?:from|unset|set|on|off)\\b",caseInsensitive:!0},{token:"constant.integer.apacheconf",regex:"\\b\\d+\\b"},{token:["text","punctuation.definition.flag.apacheconf","string.flag.apacheconf","punctuation.definition.flag.apacheconf","text"],regex:"(\\s)(\\[)(.*?)(\\])(\\s)"}]},this.normalizeRules()};s.metaData={fileTypes:["conf","CONF","htaccess","HTACCESS","htgroups","HTGROUPS","htpasswd","HTPASSWD",".htaccess",".HTACCESS",".htgroups",".HTGROUPS",".htpasswd",".HTPASSWD"],name:"Apache Conf",scopeName:"source.apacheconf"},r.inherits(s,i),t.ApacheConfHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-asciidoc.js b/static/js/lib/ace/src-min-noconflict/mode-asciidoc.js new file mode 100644 index 0000000..1ff948f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-asciidoc.js @@ -0,0 +1 @@ +ace.define("ace/mode/asciidoc",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/asciidoc_highlight_rules","ace/mode/folding/asciidoc"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./asciidoc_highlight_rules").AsciidocHighlightRules,u=e("./folding/asciidoc").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){if(e=="listblock"){var r=/^((?:.+)?)([-+*][ ]+)/.exec(t);return r?(new Array(r[1].length+1)).join(" ")+r[2]:""}return this.$getIndent(t)},this.$id="ace/mode/asciidoc"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/asciidoc_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){function t(e){var t=/\w/.test(e)?"\\b":"(?:\\B|^)";return t+e+"[^"+e+"].*?"+e+"(?![\\w*])"}var e="[a-zA-Z¡-￿]+\\b";this.$rules={start:[{token:"empty",regex:/$/},{token:"literal",regex:/^\.{4,}\s*$/,next:"listingBlock"},{token:"literal",regex:/^-{4,}\s*$/,next:"literalBlock"},{token:"string",regex:/^\+{4,}\s*$/,next:"passthroughBlock"},{token:"keyword",regex:/^={4,}\s*$/},{token:"text",regex:/^\s*$/},{token:"empty",regex:"",next:"dissallowDelimitedBlock"}],dissallowDelimitedBlock:[{include:"paragraphEnd"},{token:"comment",regex:"^//.+$"},{token:"keyword",regex:"^(?:NOTE|TIP|IMPORTANT|WARNING|CAUTION):"},{include:"listStart"},{token:"literal",regex:/^\s+.+$/,next:"indentedBlock"},{token:"empty",regex:"",next:"text"}],paragraphEnd:[{token:"doc.comment",regex:/^\/{4,}\s*$/,next:"commentBlock"},{token:"tableBlock",regex:/^\s*[|!]=+\s*$/,next:"tableBlock"},{token:"keyword",regex:/^(?:--|''')\s*$/,next:"start"},{token:"option",regex:/^\[.*\]\s*$/,next:"start"},{token:"pageBreak",regex:/^>{3,}$/,next:"start"},{token:"literal",regex:/^\.{4,}\s*$/,next:"listingBlock"},{token:"titleUnderline",regex:/^(?:={2,}|-{2,}|~{2,}|\^{2,}|\+{2,})\s*$/,next:"start"},{token:"singleLineTitle",regex:/^={1,5}\s+\S.*$/,next:"start"},{token:"otherBlock",regex:/^(?:\*{2,}|_{2,})\s*$/,next:"start"},{token:"optionalTitle",regex:/^\.[^.\s].+$/,next:"start"}],listStart:[{token:"keyword",regex:/^\s*(?:\d+\.|[a-zA-Z]\.|[ixvmIXVM]+\)|\*{1,5}|-|\.{1,5})\s/,next:"listText"},{token:"meta.tag",regex:/^.+(?::{2,4}|;;)(?: |$)/,next:"listText"},{token:"support.function.list.callout",regex:/^(?:<\d+>|\d+>|>) /,next:"text"},{token:"keyword",regex:/^\+\s*$/,next:"start"}],text:[{token:["link","variable.language"],regex:/((?:https?:\/\/|ftp:\/\/|file:\/\/|mailto:|callto:)[^\s\[]+)(\[.*?\])/},{token:"link",regex:/(?:https?:\/\/|ftp:\/\/|file:\/\/|mailto:|callto:)[^\s\[]+/},{token:"link",regex:/\b[\w\.\/\-]+@[\w\.\/\-]+\b/},{include:"macros"},{include:"paragraphEnd"},{token:"literal",regex:/\+{3,}/,next:"smallPassthrough"},{token:"escape",regex:/\((?:C|TM|R)\)|\.{3}|->|<-|=>|<=|&#(?:\d+|x[a-fA-F\d]+);|(?: |^)--(?=\s+\S)/},{token:"escape",regex:/\\[_*'`+#]|\\{2}[_*'`+#]{2}/},{token:"keyword",regex:/\s\+$/},{token:"text",regex:e},{token:["keyword","string","keyword"],regex:/(<<[\w\d\-$]+,)(.*?)(>>|$)/},{token:"keyword",regex:/<<[\w\d\-$]+,?|>>/},{token:"constant.character",regex:/\({2,3}.*?\){2,3}/},{token:"keyword",regex:/\[\[.+?\]\]/},{token:"support",regex:/^\[{3}[\w\d =\-]+\]{3}/},{include:"quotes"},{token:"empty",regex:/^\s*$/,next:"start"}],listText:[{include:"listStart"},{include:"text"}],indentedBlock:[{token:"literal",regex:/^[\s\w].+$/,next:"indentedBlock"},{token:"literal",regex:"",next:"start"}],listingBlock:[{token:"literal",regex:/^\.{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"constant.numeric",regex:"<\\d+>"},{token:"literal",regex:"[^<]+"},{token:"literal",regex:"<"}],literalBlock:[{token:"literal",regex:/^-{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"constant.numeric",regex:"<\\d+>"},{token:"literal",regex:"[^<]+"},{token:"literal",regex:"<"}],passthroughBlock:[{token:"literal",regex:/^\+{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"literal",regex:e+"|\\d+"},{include:"macros"},{token:"literal",regex:"."}],smallPassthrough:[{token:"literal",regex:/[+]{3,}/,next:"dissallowDelimitedBlock"},{token:"literal",regex:/^\s*$/,next:"dissallowDelimitedBlock"},{token:"literal",regex:e+"|\\d+"},{include:"macros"}],commentBlock:[{token:"doc.comment",regex:/^\/{4,}\s*$/,next:"dissallowDelimitedBlock"},{token:"doc.comment",regex:"^.*$"}],tableBlock:[{token:"tableBlock",regex:/^\s*\|={3,}\s*$/,next:"dissallowDelimitedBlock"},{token:"tableBlock",regex:/^\s*!={3,}\s*$/,next:"innerTableBlock"},{token:"tableBlock",regex:/\|/},{include:"text",noEscape:!0}],innerTableBlock:[{token:"tableBlock",regex:/^\s*!={3,}\s*$/,next:"tableBlock"},{token:"tableBlock",regex:/^\s*|={3,}\s*$/,next:"dissallowDelimitedBlock"},{token:"tableBlock",regex:/\!/}],macros:[{token:"macro",regex:/{[\w\-$]+}/},{token:["text","string","text","constant.character","text"],regex:/({)([\w\-$]+)(:)?(.+)?(})/},{token:["text","markup.list.macro","keyword","string"],regex:/(\w+)(footnote(?:ref)?::?)([^\s\[]+)?(\[.*?\])?/},{token:["markup.list.macro","keyword","string"],regex:/([a-zA-Z\-][\w\.\/\-]*::?)([^\s\[]+)(\[.*?\])?/},{token:["markup.list.macro","keyword"],regex:/([a-zA-Z\-][\w\.\/\-]+::?)(\[.*?\])/},{token:"keyword",regex:/^:.+?:(?= |$)/}],quotes:[{token:"string.italic",regex:/__[^_\s].*?__/},{token:"string.italic",regex:t("_")},{token:"keyword.bold",regex:/\*\*[^*\s].*?\*\*/},{token:"keyword.bold",regex:t("\\*")},{token:"literal",regex:t("\\+")},{token:"literal",regex:/\+\+[^+\s].*?\+\+/},{token:"literal",regex:/\$\$.+?\$\$/},{token:"literal",regex:t("`")},{token:"keyword",regex:t("^")},{token:"keyword",regex:t("~")},{token:"keyword",regex:/##?/},{token:"keyword",regex:/(?:\B|^)``|\b''/}]};var n={macro:"constant.character",tableBlock:"doc.comment",titleUnderline:"markup.heading",singleLineTitle:"markup.heading",pageBreak:"string",option:"string.regexp",otherBlock:"markup.list",literal:"support.function",optionalTitle:"constant.numeric",escape:"constant.language.escape",link:"markup.underline.list"};for(var r in this.$rules){var i=this.$rules[r];for(var s=i.length;s--;){var o=i[s];if(o.include||typeof o=="string"){var u=[s,1].concat(this.$rules[o.include||o]);o.noEscape&&(u=u.filter(function(e){return!e.next})),i.splice.apply(i,u)}else o.token in n&&(o.token=n[o.token])}}};r.inherits(s,i),t.AsciidocHighlightRules=s}),ace.define("ace/mode/folding/asciidoc",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.foldingStartMarker=/^(?:\|={10,}|[\.\/=\-~^+]{4,}\s*$|={1,5} )/,this.singleLineHeadingRe=/^={1,5}(?=\s+\S)/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?r[0]=="="?this.singleLineHeadingRe.test(r)?"start":e.getLine(n-1).length!=e.getLine(n).length?"":"start":e.bgTokenizer.getState(n)=="dissallowDelimitedBlock"?"end":"start":""},this.getFoldWidgetRange=function(e,t,n){function l(t){return f=e.getTokens(t)[0],f&&f.type}function d(){var t=f.value.match(p);if(t)return t[0].length;var r=c.indexOf(f.value[0])+1;return r==1&&e.getLine(n-1).length!=e.getLine(n).length?Infinity:r}var r=e.getLine(n),i=r.length,o=e.getLength(),u=n,a=n;if(!r.match(this.foldingStartMarker))return;var f,c=["=","-","~","^","+"],h="markup.heading",p=this.singleLineHeadingRe;if(l(n)==h){var v=d();while(++nu)while(a>u&&(!l(a)||f.value[0]=="["))a--;if(a>u){var y=e.getLine(a).length;return new s(u,i,a,y)}}else{var b=e.bgTokenizer.getState(n);if(b=="dissallowDelimitedBlock"){while(n-->0)if(e.bgTokenizer.getState(n).lastIndexOf("Block")==-1)break;a=n+1;if(au){var y=e.getLine(n).length;return new s(u,5,a,y-5)}}}}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-assembly_x86.js b/static/js/lib/ace/src-min-noconflict/mode-assembly_x86.js new file mode 100644 index 0000000..17d7e88 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-assembly_x86.js @@ -0,0 +1 @@ +ace.define("ace/mode/assembly_x86",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/assembly_x86_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./assembly_x86_highlight_rules").AssemblyX86HighlightRules,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart=";",this.$id="ace/mode/assembly_x86"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/assembly_x86_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"keyword.control.assembly",regex:"\\b(?:aaa|aad|aam|aas|adc|add|addpd|addps|addsd|addss|addsubpd|addsubps|aesdec|aesdeclast|aesenc|aesenclast|aesimc|aeskeygenassist|and|andpd|andps|andnpd|andnps|arpl|blendpd|blendps|blendvpd|blendvps|bound|bsf|bsr|bswap|bt|btc|btr|bts|cbw|cwde|cdqe|clc|cld|cflush|clts|cmc|cmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|cmp|cmppd|cmpps|cmps|cnpsb|cmpsw|cmpsd|cmpsq|cmpss|cmpxchg|cmpxchg8b|cmpxchg16b|comisd|comiss|cpuid|crc32|cvtdq2pd|cvtdq2ps|cvtpd2dq|cvtpd2pi|cvtpd2ps|cvtpi2pd|cvtpi2ps|cvtps2dq|cvtps2pd|cvtps2pi|cvtsd2si|cvtsd2ss|cvts2sd|cvtsi2ss|cvtss2sd|cvtss2si|cvttpd2dq|cvtpd2pi|cvttps2dq|cvttps2pi|cvttps2dq|cvttps2pi|cvttsd2si|cvttss2si|cwd|cdq|cqo|daa|das|dec|div|divpd|divps|divsd|divss|dppd|dpps|emms|enter|extractps|f2xm1|fabs|fadd|faddp|fiadd|fbld|fbstp|fchs|fclex|fnclex|fcmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|fcom|fcmop|fcompp|fcomi|fcomip|fucomi|fucomip|fcos|fdecstp|fdiv|fdivp|fidiv|fdivr|fdivrp|fidivr|ffree|ficom|ficomp|fild|fincstp|finit|fnint|fist|fistp|fisttp|fld|fld1|fldl2t|fldl2e|fldpi|fldlg2|fldln2|fldz|fldcw|fldenv|fmul|fmulp|fimul|fnop|fpatan|fprem|fprem1|fptan|frndint|frstor|fsave|fnsave|fscale|fsin|fsincos|fsqrt|fst|fstp|fstcw|fnstcw|fstenv|fnstenv|fsts|fnstsw|fsub|fsubp|fisub|fsubr|fsubrp|fisubr|ftst|fucom|fucomp|fucompp|fxam|fxch|fxrstor|fxsave|fxtract|fyl2x|fyl2xp1|haddpd|haddps|husbpd|hsubps|idiv|imul|in|inc|ins|insb|insw|insd|insertps|int|into|invd|invplg|invpcid|iret|iretd|iretq|lahf|lar|lddqu|ldmxcsr|lds|les|lfs|lgs|lss|lea|leave|lfence|lgdt|lidt|llgdt|lmsw|lock|lods|lodsb|lodsw|lodsd|lodsq|lsl|ltr|maskmovdqu|maskmovq|maxpd|maxps|maxsd|maxss|mfence|minpd|minps|minsd|minss|monitor|mov|movapd|movaps|movbe|movd|movq|movddup|movdqa|movdqu|movq2q|movhlps|movhpd|movhps|movlhps|movlpd|movlps|movmskpd|movmskps|movntdqa|movntdq|movnti|movntpd|movntps|movntq|movq|movq2dq|movs|movsb|movsw|movsd|movsq|movsd|movshdup|movsldup|movss|movsx|movsxd|movupd|movups|movzx|mpsadbw|mul|mulpd|mulps|mulsd|mulss|mwait|neg|not|or|orpd|orps|out|outs|outsb|outsw|outsd|pabsb|pabsw|pabsd|packsswb|packssdw|packusdw|packuswbpaddb|paddw|paddd|paddq|paddsb|paddsw|paddusb|paddusw|palignr|pand|pandn|pause|pavgb|pavgw|pblendvb|pblendw|pclmulqdq|pcmpeqb|pcmpeqw|pcmpeqd|pcmpeqq|pcmpestri|pcmpestrm|pcmptb|pcmptgw|pcmpgtd|pcmpgtq|pcmpistri|pcmpisrm|pextrb|pextrd|pextrq|pextrw|phaddw|phaddd|phaddsw|phinposuw|phsubw|phsubd|phsubsw|pinsrb|pinsrd|pinsrq|pinsrw|pmaddubsw|pmadddwd|pmaxsb|pmaxsd|pmaxsw|pmaxsw|pmaxub|pmaxud|pmaxuw|pminsb|pminsd|pminsw|pminub|pminud|pminuw|pmovmskb|pmovsx|pmovzx|pmuldq|pmulhrsw|pmulhuw|pmulhw|pmulld|pmullw|pmuludw|pop|popa|popad|popcnt|popf|popfd|popfq|por|prefetch|psadbw|pshufb|pshufd|pshufhw|pshuflw|pshufw|psignb|psignw|psignd|pslldq|psllw|pslld|psllq|psraw|psrad|psrldq|psrlw|psrld|psrlq|psubb|psubw|psubd|psubq|psubsb|psubsw|psubusb|psubusw|test|ptest|punpckhbw|punpckhwd|punpckhdq|punpckhddq|punpcklbw|punpcklwd|punpckldq|punpckldqd|push|pusha|pushad|pushf|pushfd|pxor|prcl|rcr|rol|ror|rcpps|rcpss|rdfsbase|rdgsbase|rdmsr|rdpmc|rdrand|rdtsc|rdtscp|rep|repe|repz|repne|repnz|roundpd|roundps|roundsd|roundss|rsm|rsqrps|rsqrtss|sahf|sal|sar|shl|shr|sbb|scas|scasb|scasw|scasd|set(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|sfence|sgdt|shld|shrd|shufpd|shufps|sidt|sldt|smsw|sqrtpd|sqrtps|sqrtsd|sqrtss|stc|std|stmxcsr|stos|stosb|stosw|stosd|stosq|str|sub|subpd|subps|subsd|subss|swapgs|syscall|sysenter|sysexit|sysret|teset|ucomisd|ucomiss|ud2|unpckhpd|unpckhps|unpcklpd|unpcklps|vbroadcast|vcvtph2ps|vcvtp2sph|verr|verw|vextractf128|vinsertf128|vmaskmov|vpermilpd|vpermilps|vperm2f128|vtestpd|vtestps|vzeroall|vzeroupper|wait|fwait|wbinvd|wrfsbase|wrgsbase|wrmsr|xadd|xchg|xgetbv|xlat|xlatb|xor|xorpd|xorps|xrstor|xsave|xsaveopt|xsetbv|lzcnt|extrq|insertq|movntsd|movntss|vfmaddpd|vfmaddps|vfmaddsd|vfmaddss|vfmaddsubbpd|vfmaddsubps|vfmsubaddpd|vfmsubaddps|vfmsubpd|vfmsubps|vfmsubsd|vfnmaddpd|vfnmaddps|vfnmaddsd|vfnmaddss|vfnmsubpd|vfnmusbps|vfnmusbsd|vfnmusbss|cvt|xor|cli|sti|hlt|nop|lock|wait|enter|leave|ret|loop(?:n?e|n?z)?|call|j(?:mp|n?e|ge?|ae?|le?|be?|n?o|n?z))\\b",caseInsensitive:!0},{token:"variable.parameter.register.assembly",regex:"\\b(?:CS|DS|ES|FS|GS|SS|RAX|EAX|RBX|EBX|RCX|ECX|RDX|EDX|RCX|RIP|EIP|IP|RSP|ESP|SP|RSI|ESI|SI|RDI|EDI|DI|RFLAGS|EFLAGS|FLAGS|R8-15|(?:Y|X)MM(?:[0-9]|10|11|12|13|14|15)|(?:A|B|C|D)(?:X|H|L)|CR(?:[0-4]|DR(?:[0-7]|TR6|TR7|EFER)))\\b",caseInsensitive:!0},{token:"constant.character.decimal.assembly",regex:"\\b[0-9]+\\b"},{token:"constant.character.hexadecimal.assembly",regex:"\\b0x[A-F0-9]+\\b",caseInsensitive:!0},{token:"constant.character.hexadecimal.assembly",regex:"\\b[A-F0-9]+h\\b",caseInsensitive:!0},{token:"string.assembly",regex:/'([^\\']|\\.)*'/},{token:"string.assembly",regex:/"([^\\"]|\\.)*"/},{token:"support.function.directive.assembly",regex:"^\\[",push:[{token:"support.function.directive.assembly",regex:"\\]$",next:"pop"},{defaultToken:"support.function.directive.assembly"}]},{token:["support.function.directive.assembly","support.function.directive.assembly","entity.name.function.assembly"],regex:"(^struc)( )([_a-zA-Z][_a-zA-Z0-9]*)"},{token:"support.function.directive.assembly",regex:"^endstruc\\b"},{token:["support.function.directive.assembly","entity.name.function.assembly","support.function.directive.assembly","constant.character.assembly"],regex:"^(%macro )([_a-zA-Z][_a-zA-Z0-9]*)( )([0-9]+)"},{token:"support.function.directive.assembly",regex:"^%endmacro"},{token:["text","support.function.directive.assembly","text","entity.name.function.assembly"],regex:"(\\s*)(%define|%xdefine|%idefine|%undef|%assign|%defstr|%strcat|%strlen|%substr|%00|%0|%rotate|%rep|%endrep|%include|\\$\\$|\\$|%unmacro|%if|%elif|%else|%endif|%(?:el)?ifdef|%(?:el)?ifmacro|%(?:el)?ifctx|%(?:el)?ifidn|%(?:el)?ifidni|%(?:el)?ifid|%(?:el)?ifnum|%(?:el)?ifstr|%(?:el)?iftoken|%(?:el)?ifempty|%(?:el)?ifenv|%pathsearch|%depend|%use|%push|%pop|%repl|%arg|%stacksize|%local|%error|%warning|%fatal|%line|%!|%comment|%endcomment|__NASM_VERSION_ID__|__NASM_VER__|__FILE__|__LINE__|__BITS__|__OUTPUT_FORMAT__|__DATE__|__TIME__|__DATE_NUM__|_TIME__NUM__|__UTC_DATE__|__UTC_TIME__|__UTC_DATE_NUM__|__UTC_TIME_NUM__|__POSIX_TIME__|__PASS__|ISTRUC|AT|IEND|BITS 16|BITS 32|BITS 64|USE16|USE32|__SECT__|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|FLOAT)\\b( ?)((?:[_a-zA-Z][_a-zA-Z0-9]*)?)",caseInsensitive:!0},{token:"support.function.directive.assembly",regex:"\\b(?:d[bwdqtoy]|res[bwdqto]|equ|times|align|alignb|sectalign|section|ptr|byte|word|dword|qword|incbin)\\b",caseInsensitive:!0},{token:"entity.name.function.assembly",regex:"^\\s*%%[\\w.]+?:$"},{token:"entity.name.function.assembly",regex:"^\\s*%\\$[\\w.]+?:$"},{token:"entity.name.function.assembly",regex:"^[\\w.]+?:"},{token:"entity.name.function.assembly",regex:"^[\\w.]+?\\b"},{token:"comment.assembly",regex:";.*$"}]},this.normalizeRules()};s.metaData={fileTypes:["asm"],name:"Assembly x86",scopeName:"source.assembly"},r.inherits(s,i),t.AssemblyX86HighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u|:=|<|>|\\*|\\/|\\+|:|\\?|\\-"},{token:"punctuation.ahk",regex:"#|`|::|,|\\{|\\}|\\(|\\)|\\%"},{token:["punctuation.quote.double","string.quoted.ahk","punctuation.quote.double"],regex:'(")((?:[^"]|"")*)(")'},{token:["label.ahk","punctuation.definition.label.ahk"],regex:"^([^: ]+)(:)(?!:)"}]},this.normalizeRules()};s.metaData={name:"AutoHotKey",scopeName:"source.ahk",fileTypes:["ahk"],foldingStartMarker:"^\\s*/\\*|^(?![^{]*?;|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|;|/\\*(?!.*?\\*/.*\\S))",foldingStopMarker:"^\\s*\\*/|^\\s*\\}"},r.inherits(s,i),t.AutoHotKeyHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-batchfile.js b/static/js/lib/ace/src-min-noconflict/mode-batchfile.js new file mode 100644 index 0000000..a434c8b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-batchfile.js @@ -0,0 +1 @@ +ace.define("ace/mode/batchfile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/batchfile_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./batchfile_highlight_rules").BatchFileHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="::",this.blockComment="",this.$id="ace/mode/batchfile"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/batchfile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"keyword.command.dosbatch",regex:"\\b(?:append|assoc|at|attrib|break|cacls|cd|chcp|chdir|chkdsk|chkntfs|cls|cmd|color|comp|compact|convert|copy|date|del|dir|diskcomp|diskcopy|doskey|echo|endlocal|erase|fc|find|findstr|format|ftype|graftabl|help|keyb|label|md|mkdir|mode|more|move|path|pause|popd|print|prompt|pushd|rd|recover|ren|rename|replace|restore|rmdir|set|setlocal|shift|sort|start|subst|time|title|tree|type|ver|verify|vol|xcopy)\\b",caseInsensitive:!0},{token:"keyword.control.statement.dosbatch",regex:"\\b(?:goto|call|exit)\\b",caseInsensitive:!0},{token:"keyword.control.conditional.if.dosbatch",regex:"\\bif\\s+not\\s+(?:exist|defined|errorlevel|cmdextversion)\\b",caseInsensitive:!0},{token:"keyword.control.conditional.dosbatch",regex:"\\b(?:if|else)\\b",caseInsensitive:!0},{token:"keyword.control.repeat.dosbatch",regex:"\\bfor\\b",caseInsensitive:!0},{token:"keyword.operator.dosbatch",regex:"\\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\\b"},{token:["doc.comment","comment"],regex:"(?:^|\\b)(rem)($|\\s.*$)",caseInsensitive:!0},{token:"comment.line.colons.dosbatch",regex:"::.*$"},{include:"variable"},{token:"punctuation.definition.string.begin.shell",regex:'"',push:[{token:"punctuation.definition.string.end.shell",regex:'"',next:"pop"},{include:"variable"},{defaultToken:"string.quoted.double.dosbatch"}]},{token:"keyword.operator.pipe.dosbatch",regex:"[|]"},{token:"keyword.operator.redirect.shell",regex:"&>|\\d*>&\\d*|\\d*(?:>>|>|<)|\\d*<&|\\d*<>"}],variable:[{token:"constant.numeric",regex:"%%\\w+|%[*\\d]|%\\w+%"},{token:"constant.numeric",regex:"%~\\d+"},{token:["markup.list","constant.other","markup.list"],regex:"(%)(\\w+)(%?)"}]},this.normalizeRules()};s.metaData={name:"Batch File",scopeName:"source.dosbatch",fileTypes:["bat"]},r.inherits(s,i),t.BatchFileHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-c9search.js b/static/js/lib/ace/src-min-noconflict/mode-c9search.js new file mode 100644 index 0000000..3a92270 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-c9search.js @@ -0,0 +1 @@ +ace.define("ace/mode/c9search",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/c9search_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/c9search"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./c9search_highlight_rules").C9SearchHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./folding/c9search").FoldMode,f=function(){this.HighlightRules=o,this.$outdent=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c9search"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/c9search_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){function o(e,t){try{return new RegExp(e,t)}catch(n){}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,u=function(){this.$rules={start:[{tokenNames:["c9searchresults.constant.numeric","c9searchresults.text","c9searchresults.text","c9searchresults.keyword"],regex:"(^\\s+[0-9]+)(:\\s)(.+)",onMatch:function(e,t,n){var r=this.splitRegex.exec(e),i=this.tokenNames,s=[{type:i[0],value:r[1]},{type:i[1],value:r[2]}],o=n[1],u=r[3],a,f=0;if(o){o.lastIndex=0;while(a=o.exec(u)){var l=u.substring(f,a.index);f=o.lastIndex,l&&s.push({type:i[2],value:l});if(a[0])s.push({type:i[3],value:a[0]});else if(!l)break}}return f=0;f--){s=r[f];if(a.test(s))break}return new i(f,s.length,n,0)}}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-c_cpp.js b/static/js/lib/ace/src-min-noconflict/mode-c_cpp.js new file mode 100644 index 0000000..887d91f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-c_cpp.js @@ -0,0 +1 @@ +ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./c_cpp_highlight_rules").c_cppHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\s*\\bhypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len)))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template",n="const|extern|register|restrict|static|volatile|inline|private:|protected:|public:|friend|explicit|virtual|export|mutable|typename",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_¡-￿][a-zA-Zd\\$_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef|if|ifdef|else|elif|ifndef)\\b",next:"directive"},{token:"keyword",regex:"(?:#\\s*endif)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-clojure.js b/static/js/lib/ace/src-min-noconflict/mode-clojure.js new file mode 100644 index 0000000..7206b37 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-clojure.js @@ -0,0 +1 @@ +ace.define("ace/mode/clojure",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/clojure_highlight_rules","ace/mode/matching_parens_outdent","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./clojure_highlight_rules").ClojureHighlightRules,u=e("./matching_parens_outdent").MatchingParensOutdent,a=e("../range").Range,f=function(){this.HighlightRules=o,this.$outdent=new u};r.inherits(f,i),function(){this.lineCommentStart=";",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/[\(\[]/);o&&(r+=" "),o=t.match(/[\)]/),o&&(r="")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/clojure"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/clojure_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *e *err* *file* *flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *use-context-classloader* *warn-on-reflection* + - -> ->> .. / < <= = == > > >= >= accessor aclone add-classpath add-watch agent agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* butlast byte byte-array bytes cast char char-array char-escape-string char-name-string char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement concat cond condp conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec decimal? declare definline defmacro defmethod defmulti defn defn- defonce defstruct delay delay? deliver deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? doall doc dorun doseq dosync dotimes doto double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq eval even? every? false? ffirst file-seq filter find find-doc find-ns find-var first float float-array float? floats flush fn fn? fnext for force format future future-call future-cancel future-cancelled? future-done? future? gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator hash hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc init-proxy instance? int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array make-hierarchy map map? mapcat max max-key memfn memoize merge merge-with meta method-sig methods min min-key mod name namespace neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? or parents partial partition pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers primitives-classnames print print-ctor print-doc print-dup print-method print-namespace-doc print-simple print-special-doc print-str printf println println-str prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot rand rand-int range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string reduce ref ref-history-count ref-max-history ref-min-history ref-set refer refer-clojure release-pending-sends rem remove remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq rsubseq second select-keys send send-off seq seq? seque sequence sequential? set set-validator! set? short short-array shorts shutdown-agents slurp some sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-form-anchor special-symbol? split-at split-with str stream? string? struct struct-map subs subseq subvec supers swap! symbol symbol? sync syntax-symbol-anchor take take-last take-nth take-while test the-ns time to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-dec unchecked-divide unchecked-inc unchecked-multiply unchecked-negate unchecked-remainder unchecked-subtract underive unquote unquote-splicing update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector? when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision xml-seq zero? zipmap",t="throw try var def do fn if let loop monitor-enter monitor-exit new quote recur set!",n="true false nil",r=this.createKeywordMapper({keyword:t,"constant.language":n,"support.function":e},"identifier",!1," ");this.$rules={start:[{token:"comment",regex:";.*$"},{token:"keyword",regex:"[\\(|\\)]"},{token:"keyword",regex:"[\\'\\(]"},{token:"keyword",regex:"[\\[|\\]]"},{token:"keyword",regex:"[\\{|\\}|\\#\\{|\\#\\}]"},{token:"keyword",regex:"[\\&]"},{token:"keyword",regex:"[\\#\\^\\{]"},{token:"keyword",regex:"[\\%]"},{token:"keyword",regex:"[@]"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"[!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+||=|!=|<=|>=|<>|<|>|!|&&]"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"},{token:"string",regex:'"',next:"string"},{token:"constant",regex:/:[^()\[\]{}'"\^%`,;\s]+/},{token:"string.regexp",regex:'/#"(?:\\.|(?:\\")|[^""\n])*"/g'}],string:[{token:"constant.language.escape",regex:"\\\\.|\\\\$"},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"}]}};r.inherits(s,i),t.ClojureHighlightRules=s}),ace.define("ace/mode/matching_parens_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\)/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\))/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""}}).call(i.prototype),t.MatchingParensOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-cobol.js b/static/js/lib/ace/src-min-noconflict/mode-cobol.js new file mode 100644 index 0000000..7bc393b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-cobol.js @@ -0,0 +1 @@ +ace.define("ace/mode/cobol",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/cobol_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./cobol_highlight_rules").CobolHighlightRules,u=e("../range").Range,a=function(){this.HighlightRules=o};r.inherits(a,i),function(){this.lineCommentStart="*",this.$id="ace/mode/cobol"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/cobol_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="ACCEPT|MERGE|SUM|ADD||MESSAGE|TABLE|ADVANCING|MODE|TAPE|AFTER|MULTIPLY|TEST|ALL|NEGATIVE|TEXT|ALPHABET|NEXT|THAN|ALSO|NO|THEN|ALTERNATE|NOT|THROUGH|AND|NUMBER|THRU|ANY|OCCURS|TIME|ARE|OF|TO|AREA|OFF|TOP||ASCENDING|OMITTED|TRUE|ASSIGN|ON|TYPE|AT|OPEN|UNIT|AUTHOR|OR|UNTIL|BEFORE|OTHER|UP|BLANK|OUTPUT|USE|BLOCK|PAGE|USING|BOTTOM|PERFORM|VALUE|BY|PIC|VALUES|CALL|PICTURE|WHEN|CANCEL|PLUS|WITH|CD|POINTER|WRITE|CHARACTER|POSITION||ZERO|CLOSE|POSITIVE|ZEROS|COLUMN|PROCEDURE|ZEROES|COMMA|PROGRAM|COMMON|PROGRAM-ID|COMMUNICATION|QUOTE|COMP|RANDOM|COMPUTE|READ|CONTAINS|RECEIVE|CONFIGURATION|RECORD|CONTINUE|REDEFINES|CONTROL|REFERENCE|COPY|REMAINDER|COUNT|REPLACE|DATA|REPORT|DATE|RESERVE|DAY|RESET|DELETE|RETURN|DESTINATION|REWIND|DISABLE|REWRITE|DISPLAY|RIGHT|DIVIDE|RUN|DOWN|SAME|ELSE|SEARCH|ENABLE|SECTION|END|SELECT|ENVIRONMENT|SENTENCE|EQUAL|SET|ERROR|SIGN|EXIT|SEQUENTIAL|EXTERNAL|SIZE|FLASE|SORT|FILE|SOURCE|LENGTH|SPACE|LESS|STANDARD|LIMIT|START|LINE|STOP|LOCK|STRING|LOW-VALUE|SUBTRACT",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"\\*.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.CobolHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-coffee.js b/static/js/lib/ace/src-min-noconflict/mode-coffee.js new file mode 100644 index 0000000..f4f58bc --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-coffee.js @@ -0,0 +1 @@ +ace.define("ace/mode/coffee",["require","exports","module","ace/tokenizer","ace/mode/coffee_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/coffee","ace/range","ace/mode/text","ace/worker/worker_client","ace/lib/oop"],function(e,t,n){function c(){this.HighlightRules=i,this.$outdent=new s,this.foldingRules=new o}var r=e("../tokenizer").Tokenizer,i=e("./coffee_highlight_rules").CoffeeHighlightRules,s=e("./matching_brace_outdent").MatchingBraceOutdent,o=e("./folding/coffee").FoldMode,u=e("../range").Range,a=e("./text").Mode,f=e("../worker/worker_client").WorkerClient,l=e("../lib/oop");l.inherits(c,a),function(){var e=/(?:[({[=:]|[-=]>|\b(?:else|switch|try|catch(?:\s*[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)?|finally))\s*$/,t=/^(\s*)#/,n=/^\s*###(?!#)/,r=/^\s*/;this.getNextLineIndent=function(t,n,r){var i=this.$getIndent(n),s=this.getTokenizer().getLineTokens(n,t).tokens;return(!s.length||s[s.length-1].type!=="comment")&&t==="start"&&e.test(n)&&(i+=r),i},this.toggleCommentLines=function(e,i,s,o){console.log("toggle");var a=new u(0,0,0,0);for(var f=s;f<=o;++f){var l=i.getLine(f);if(n.test(l))continue;t.test(l)?l=l.replace(t,"$1"):l=l.replace(r,"$&#"),a.end.row=a.start.row=f,a.end.column=l.length+1,i.replace(a,l)}},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/coffee_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations([t.data])}),t.on("ok",function(t){e.clearAnnotations()}),t},this.$id="ace/mode/coffee"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){function s(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="this|throw|then|try|typeof|super|switch|return|break|by|continue|catch|class|in|instanceof|is|isnt|if|else|extends|for|own|finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|or|on|unless|until|and|yes",n="true|false|null|undefined|NaN|Infinity",r="case|const|default|function|var|void|with|enum|export|implements|interface|let|package|private|protected|public|static|yield|__hasProp|slice|bind|indexOf",i="Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray",s="Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|encodeURIComponent|decodeURI|decodeURIComponent|String|",o="window|arguments|prototype|document",u=this.createKeywordMapper({keyword:t,"constant.language":n,"invalid.illegal":r,"language.support.class":i,"language.support.function":s,"variable.language":o},"identifier"),a={token:["paren.lparen","variable.parameter","paren.rparen","text","storage.type"],regex:/(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()\"'\/])*?)(\))(\s*))?([\-=]>)/.source},f=/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;this.$rules={start:[{token:"constant.numeric",regex:"(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"},{stateName:"qdoc",token:"string",regex:"'''",next:[{token:"string",regex:"'''",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqdoc",token:"string",regex:'"""',next:[{token:"string",regex:'"""',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qstring",token:"string",regex:"'",next:[{token:"string",regex:"'",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqstring",token:"string.start",regex:'"',next:[{token:"string.end",regex:'"',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"js",token:"string",regex:"`",next:[{token:"string",regex:"`",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{regex:"[{}]",onMatch:function(e,t,n){this.next="";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.string"}return"paren"}},{token:"string.regex",regex:"///",next:"heregex"},{token:"string.regex",regex:/(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/},{token:"comment",regex:"###(?!#)",next:"comment"},{token:"comment",regex:"#.*"},{token:["punctuation.operator","text","identifier"],regex:"(\\.)(\\s*)("+r+")"},{token:"punctuation.operator",regex:"\\."},{token:["keyword","text","language.support.class","text","keyword","text","language.support.class"],regex:"(class)(\\s+)("+e+")(?:(\\s+)(extends)(\\s+)("+e+"))?"},{token:["entity.name.function","text","keyword.operator","text"].concat(a.token),regex:"("+e+")(\\s*)([=:])(\\s*)"+a.regex},a,{token:"variable",regex:"@(?:"+e+")?"},{token:u,regex:e},{token:"punctuation.operator",regex:"\\,|\\."},{token:"storage.type",regex:"[\\-=]>"},{token:"keyword.operator",regex:"(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"},{token:"paren.lparen",regex:"[({[]"},{token:"paren.rparen",regex:"[\\]})]"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?///[imgy]{0,4}",next:"start"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],comment:[{token:"comment",regex:"###",next:"start"},{defaultToken:"comment"}]},this.normalizeRules()}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules;r.inherits(s,i),t.CoffeeHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u"},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e){o.call(this),this.voidElements=e||{}};r.inherits(a,o),function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r.closing?t=="markbeginend"?"end":"":!r.tagName||this.voidElements[r.tagName.toLowerCase()]?"":r.selfClosing?"":r.value.indexOf("/"+r.tagName)!==-1?"":"start"},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r="";for(var s=0;s?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/coldfusion_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,o=function(){s.call(this),this.embedTagRules(i,"cfjs-","cfscript"),this.normalizeRules()};r.inherits(o,s),t.ColdfusionHighlightRules=o}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-csharp.js b/static/js/lib/ace/src-min-noconflict/mode-csharp.js new file mode 100644 index 0000000..8e99596 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-csharp.js @@ -0,0 +1 @@ +ace.define("ace/mode/csharp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/csharp_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/csharp"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./csharp_highlight_rules").CSharpHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/csharp").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){return null},this.$id="ace/mode/csharp"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/csharp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"this",keyword:"abstract|event|new|struct|as|explicit|null|switch|base|extern|object|this|bool|false|operator|throw|break|finally|out|true|byte|fixed|override|try|case|float|params|typeof|catch|for|private|uint|char|foreach|protected|ulong|checked|goto|public|unchecked|class|if|readonly|unsafe|const|implicit|ref|ushort|continue|in|return|using|decimal|int|sbyte|virtual|default|interface|sealed|volatile|delegate|internal|short|void|do|is|sizeof|while|double|lock|stackalloc|else|long|static|enum|namespace|string|var|dynamic","constant.language":"null|true|false"},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:/'(?:.|\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n]))'/},{token:"string",start:'"',end:'"|$',next:[{token:"constant.language.escape",regex:/\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n])/},{token:"invalid",regex:/\\./}]},{token:"string",start:'@"',end:'"',next:[{token:"constant.language.escape",regex:'""'}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"keyword",regex:"^\\s*#(if|else|elif|endif|define|undef|warning|error|line|region|endregion|pragma)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(o,s),t.CSharpHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/csharp",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./cstyle").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.usingRe=/^\s*using \S/,this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=this.getFoldWidgetBase(e,t,n);if(!r){var i=e.getLine(n);if(/^\s*#region\b/.test(i))return"start";var s=this.usingRe;if(s.test(i)){var o=e.getLine(n-1),u=e.getLine(n+1);if(!s.test(o)&&s.test(u))return"start"}}return r},this.getFoldWidgetRange=function(e,t,n){var r=this.getFoldWidgetRangeBase(e,t,n);if(r)return r;var i=e.getLine(n);if(this.usingRe.test(i))return this.getUsingStatementBlock(e,i,n);if(/^\s*#region\b/.test(i))return this.getRegionBlock(e,i,n)},this.getUsingStatementBlock=function(e,t,n){var r=t.match(this.usingRe)[0].length-1,s=e.getLength(),o=n,u=n;while(++no){var a=e.getLine(u).length;return new i(o,r,u,a)}},this.getRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*#(end)?region\b/,a=1;while(++no){var c=t.search(/\S/);return new i(o,r,l,c)}}}.call(o.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-css.js b/static/js/lib/ace/src-min-noconflict/mode-css.js new file mode 100644 index 0000000..1ebc660 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-css.js @@ -0,0 +1 @@ +ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-curly.js b/static/js/lib/ace/src-min-noconflict/mode-curly.js new file mode 100644 index 0000000..2edbb50 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-curly.js @@ -0,0 +1 @@ +ace.define("ace/mode/curly",["require","exports","module","ace/lib/oop","ace/mode/html","ace/tokenizer","ace/mode/matching_brace_outdent","ace/mode/html_highlight_rules","ace/mode/folding/html","ace/mode/curly_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html").Mode,s=e("../tokenizer").Tokenizer,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./html_highlight_rules").HtmlHighlightRules,a=e("./folding/html").FoldMode,f=e("./curly_highlight_rules").CurlyHighlightRules,l=function(){i.call(this),this.HighlightRules=f,this.$outdent=new o,this.foldingRules=new a};r.inherits(l,i),function(){this.$id="ace/mode/curly"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/html_completions"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=function(){this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/curly_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=function(){i.call(this),this.$rules.start.unshift({token:"variable",regex:"{{",push:"curly-start"}),this.$rules["curly-start"]=[{token:"variable",regex:"}}",next:"pop"}],this.normalizeRules()};r.inherits(s,i),t.CurlyHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-d.js b/static/js/lib/ace/src-min-noconflict/mode-d.js new file mode 100644 index 0000000..76aecd5 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-d.js @@ -0,0 +1 @@ +ace.define("ace/mode/d",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/d_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./d_highlight_rules").DHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="/\\+",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/d"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/d_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="this|super|import|module|body|mixin|__traits|invariant|alias|asm|delete|typeof|typeid|sizeof|cast|new|in|is|typedef|__vector|__parameters",t="break|case|continue|default|do|else|for|foreach|foreach_reverse|goto|if|return|switch|while|catch|try|throw|finally|version|assert|unittest|with",n="auto|bool|char|dchar|wchar|byte|ubyte|float|double|real|cfloat|creal|cdouble|cent|ifloat|ireal|idouble|int|long|short|void|uint|ulong|ushort|ucent|function|delegate|string|wstring|dstring|size_t|ptrdiff_t|hash_t|Object",r="abstract|align|debug|deprecated|export|extern|const|final|in|inout|out|ref|immutable|lazy|nothrow|override|package|pragma|private|protected|public|pure|scope|shared|__gshared|synchronized|static|volatile",s="class|struct|union|template|interface|enum|macro",o={token:"constant.language.escape",regex:"\\\\(?:(?:x[0-9A-F]{2})|(?:[0-7]{1,3})|(?:['\"\\?0abfnrtv])|(?:u[0-9a-fA-F]{4})|(?:U[0-9a-fA-F]{8}))"},u="null|true|false|__DATE__|__EOF__|__TIME__|__TIMESTAMP__|__VENDOR__|__VERSION__|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__",a="/|/\\=|&|&\\=|&&|\\|\\|\\=|\\|\\||\\-|\\-\\=|\\-\\-|\\+|\\+\\=|\\+\\+|\\<|\\<\\=|\\<\\<|\\<\\<\\=|\\<\\>|\\<\\>\\=|\\>|\\>\\=|\\>\\>\\=|\\>\\>\\>\\=|\\>\\>|\\>\\>\\>|\\!|\\!\\=|\\!\\<\\>|\\!\\<\\>\\=|\\!\\<|\\!\\<\\=|\\!\\>|\\!\\>\\=|\\?|\\$|\\=|\\=\\=|\\*|\\*\\=|%|%\\=|\\^|\\^\\=|\\^\\^|\\^\\^\\=|~|~\\=|\\=\\>|#",f=this.$keywords=this.createKeywordMapper({"keyword.modifier":r,"keyword.control":t,"keyword.type":n,keyword:e,"keyword.storage":s,punctation:"\\.|\\,|;|\\.\\.|\\.\\.\\.","keyword.operator":a,"constant.language":u},"identifier"),l="[a-zA-Z_¡-￿][a-zA-Z\\d_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"star-comment"},{token:"comment.shebang",regex:"^s*#!.*"},{token:"comment",regex:"\\/\\+",next:"plus-comment"},{onMatch:function(e,t,n){return n.unshift(this.next,e.substr(2)),"string"},regex:'q"(?:[\\[\\(\\{\\<]+)',next:"operator-heredoc-string"},{onMatch:function(e,t,n){return n.unshift(this.next,e.substr(2)),"string"},regex:'q"(?:[a-zA-Z_]+)$',next:"identifier-heredoc-string"},{token:"string",regex:'[xr]?"',next:"quote-string"},{token:"string",regex:"[xr]?`",next:"backtick-string"},{token:"string",regex:"[xr]?['](?:(?:\\\\.)|(?:[^'\\\\]))*?['][cdw]?"},{token:["keyword","text","paren.lparen"],regex:/(asm)(\s*)({)/,next:"d-asm"},{token:["keyword","text","paren.lparen","constant.language"],regex:"(__traits)(\\s*)(\\()("+l+")"},{token:["keyword","text","variable.module"],regex:"(import|module)(\\s+)((?:"+l+"\\.?)*)"},{token:["keyword.storage","text","entity.name.type"],regex:"("+s+")(\\s*)("+l+")"},{token:["keyword","text","variable.storage","text"],regex:"(alias|typedef)(\\s*)("+l+")(\\s*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F_]+(l|ul|u|f|F|L|U|UL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d[\\d_]*(?:(?:\\.[\\d_]*)?(?:[eE][+-]?[\\d_]+)?)?(l|ul|u|f|F|L|U|UL)?\\b"},{token:"entity.other.attribute-name",regex:"@"+l},{token:f,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:a},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\.|\\:"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],"star-comment":[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],"plus-comment":[{token:"comment",regex:"\\+\\/",next:"start"},{defaultToken:"comment"}],"quote-string":[o,{token:"string",regex:'"[cdw]?',next:"start"},{defaultToken:"string"}],"backtick-string":[o,{token:"string",regex:"`[cdw]?",next:"start"},{defaultToken:"string"}],"operator-heredoc-string":[{onMatch:function(e,t,n){e=e.substring(e.length-2,e.length-1);var r={">":"<","]":"[",")":"(","}":"{"};return Object.keys(r).indexOf(e)!=-1&&(e=r[e]),e!=n[1]?"string":(n.shift(),n.shift(),"string")},regex:'(?:[\\]\\)}>]+)"',next:"start"},{token:"string",regex:"[^\\]\\)}>]+"}],"identifier-heredoc-string":[{onMatch:function(e,t,n){return e=e.substring(0,e.length-1),e!=n[1]?"string":(n.shift(),n.shift(),"string")},regex:'^(?:[A-Za-z_][a-zA-Z0-9]+)"',next:"start"},{token:"string",regex:"[^\\]\\)}>]+"}],"d-asm":[{token:"paren.rparen",regex:"\\}",next:"start"},{token:"keyword.instruction",regex:"[a-zA-Z]+",next:"d-asm-instruction"},{token:"text",regex:"\\s+"}],"d-asm-instruction":[{token:"constant.language",regex:/AL|AH|AX|EAX|BL|BH|BX|EBX|CL|CH|CX|ECX|DL|DH|DX|EDX|BP|EBP|SP|ESP|DI|EDI|SI|ESI/i},{token:"identifier",regex:"[a-zA-Z]+"},{token:"string",regex:'".*"'},{token:"comment",regex:"//.*$"},{token:"constant.numeric",regex:"[0-9.xA-F]+"},{token:"punctuation.operator",regex:"\\,"},{token:"punctuation.operator",regex:";",next:"d-asm"},{token:"text",regex:"\\s+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};o.metaData={comment:"D language",fileTypes:["d","di"],firstLineMatch:"^#!.*\\b[glr]?dmd\\b.",foldingStartMarker:"(?x)/\\*\\*(?!\\*)|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))",foldingStopMarker:"(?f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-dart.js b/static/js/lib/ace/src-min-noconflict/mode-dart.js new file mode 100644 index 0000000..8a6926d --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-dart.js @@ -0,0 +1 @@ +ace.define("ace/mode/dart",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/tokenizer","ace/mode/dart_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("../tokenizer").Tokenizer,o=e("./dart_highlight_rules").DartHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){i.call(this),this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/dart"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./c_cpp_highlight_rules").c_cppHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\s*\\bhypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len)))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template",n="const|extern|register|restrict|static|volatile|inline|private:|protected:|public:|friend|explicit|virtual|export|mutable|typename",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_¡-￿][a-zA-Zd\\$_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef|if|ifdef|else|elif|ifndef)\\b",next:"directive"},{token:"keyword",regex:"(?:#\\s*endif)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/dart_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="true|false|null",t="this|super",n="try|catch|finally|throw|break|case|continue|default|do|else|for|if|in|return|switch|while|new",r="abstract|class|extends|external|factory|implements|get|native|operator|set|typedef|with",i="static|final|const",s="void|bool|num|int|double|dynamic|var|String",o=this.createKeywordMapper({"constant.language.dart":e,"variable.language.dart":t,"keyword.control.dart":n,"keyword.declaration.dart":r,"storage.modifier.dart":i,"storage.type.primitive.dart":s},"identifier"),u={token:"string",regex:".+"};this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:["meta.preprocessor.script.dart"],regex:"^(#!.*)$"},{token:"keyword.other.import.dart",regex:"(?:\\b)(?:library|import|part|of)(?:\\b)"},{token:["keyword.other.import.dart","text"],regex:"(?:\\b)(prefix)(\\s*:)"},{regex:"\\bas\\b",token:"keyword.cast.dart"},{regex:"\\?|:",token:"keyword.control.ternary.dart"},{regex:"(?:\\b)(is\\!?)(?:\\b)",token:["keyword.operator.dart"]},{regex:"(<<|>>>?|~|\\^|\\||&)",token:["keyword.operator.bitwise.dart"]},{regex:"((?:&|\\^|\\||<<|>>>?)=)",token:["keyword.operator.assignment.bitwise.dart"]},{regex:"(===?|!==?|<=?|>=?)",token:["keyword.operator.comparison.dart"]},{regex:"((?:[+*/%-]|\\~)=)",token:["keyword.operator.assignment.arithmetic.dart"]},{regex:"=",token:"keyword.operator.assignment.dart"},{token:"string",regex:"'''",next:"qdoc"},{token:"string",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{regex:"(\\-\\-|\\+\\+)",token:["keyword.operator.increment-decrement.dart"]},{regex:"(\\-|\\+|\\*|\\/|\\~\\/|%)",token:["keyword.operator.arithmetic.dart"]},{regex:"(!|&&|\\|\\|)",token:["keyword.operator.logical.dart"]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:o,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"start"},u],qqdoc:[{token:"string",regex:'.*?"""',next:"start"},u],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"start"},u],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"start"},u]}};r.inherits(s,i),t.DartHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-diff.js b/static/js/lib/ace/src-min-noconflict/mode-diff.js new file mode 100644 index 0000000..90c78a3 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-diff.js @@ -0,0 +1 @@ +ace.define("ace/mode/diff",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/diff_highlight_rules","ace/mode/folding/diff"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./diff_highlight_rules").DiffHighlightRules,u=e("./folding/diff").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u(["diff","index","\\+{3}","@@|\\*{5}"],"i")};r.inherits(a,i),function(){this.$id="ace/mode/diff"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/diff_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{regex:"^(?:\\*{15}|={67}|-{3}|\\+{3})$",token:"punctuation.definition.separator.diff",name:"keyword"},{regex:"^(@@)(\\s*.+?\\s*)(@@)(.*)$",token:["constant","constant.numeric","constant","comment.doc.tag"]},{regex:"^(\\d+)([,\\d]+)(a|d|c)(\\d+)([,\\d]+)(.*)$",token:["constant.numeric","punctuation.definition.range.diff","constant.function","constant.numeric","punctuation.definition.range.diff","invalid"],name:"meta."},{regex:"^(\\-{3}|\\+{3}|\\*{3})( .+)$",token:["constant.numeric","meta.tag"]},{regex:"^([!+>])(.*?)(\\s*)$",token:["support.constant","text","invalid"]},{regex:"^([<\\-])(.*?)(\\s*)$",token:["support.function","string","invalid"]},{regex:"^(diff)(\\s+--\\w+)?(.+?)( .+)?$",token:["variable","variable","keyword","variable"]},{regex:"^Index.+$",token:"variable"},{regex:"^\\s+$",token:"text"},{regex:"\\s*$",token:"invalid"},{defaultToken:"invisible",caseInsensitive:!0}]}};r.inherits(s,i),t.DiffHighlightRules=s}),ace.define("ace/mode/folding/diff",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(e,t){this.regExpList=e,this.flag=t,this.foldingStartMarker=RegExp("^("+e.join("|")+")",this.flag)};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i={row:n,column:r.length},o=this.regExpList;for(var u=1;u<=o.length;u++){var a=RegExp("^("+o.slice(0,u).join("|")+")",this.flag);if(a.test(r))break}for(var f=e.getLength();++n"},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-dot.js b/static/js/lib/ace/src-min-noconflict/mode-dot.js new file mode 100644 index 0000000..a16dd8f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-dot.js @@ -0,0 +1 @@ +ace.define("ace/mode/dot",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/matching_brace_outdent","ace/mode/dot_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./dot_highlight_rules").DotHighlightRules,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=u,this.$outdent=new o,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart=["//","#"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/dot"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/dot_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/doc_comment_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,u=function(){var e=i.arrayToMap("strict|node|edge|graph|digraph|subgraph".split("|")),t=i.arrayToMap("damping|k|url|area|arrowhead|arrowsize|arrowtail|aspect|bb|bgcolor|center|charset|clusterrank|color|colorscheme|comment|compound|concentrate|constraint|decorate|defaultdist|dim|dimen|dir|diredgeconstraints|distortion|dpi|edgeurl|edgehref|edgetarget|edgetooltip|epsilon|esep|fillcolor|fixedsize|fontcolor|fontname|fontnames|fontpath|fontsize|forcelabels|gradientangle|group|headurl|head_lp|headclip|headhref|headlabel|headport|headtarget|headtooltip|height|href|id|image|imagepath|imagescale|label|labelurl|label_scheme|labelangle|labeldistance|labelfloat|labelfontcolor|labelfontname|labelfontsize|labelhref|labeljust|labelloc|labeltarget|labeltooltip|landscape|layer|layerlistsep|layers|layerselect|layersep|layout|len|levels|levelsgap|lhead|lheight|lp|ltail|lwidth|margin|maxiter|mclimit|mindist|minlen|mode|model|mosek|nodesep|nojustify|normalize|nslimit|nslimit1|ordering|orientation|outputorder|overlap|overlap_scaling|pack|packmode|pad|page|pagedir|pencolor|penwidth|peripheries|pin|pos|quadtree|quantum|rank|rankdir|ranksep|ratio|rects|regular|remincross|repulsiveforce|resolution|root|rotate|rotation|samehead|sametail|samplepoints|scale|searchsize|sep|shape|shapefile|showboxes|sides|size|skew|smoothing|sortv|splines|start|style|stylesheet|tailurl|tail_lp|tailclip|tailhref|taillabel|tailport|tailtarget|tailtooltip|target|tooltip|truecolor|vertices|viewport|voro_margin|weight|width|xlabel|xlp|z".split("|"));this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/#.*$/},{token:"comment",merge:!0,regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/[+\-]?\d+(?:(?:\.\d*)?(?:[eE][+\-]?\d+)?)?\b/},{token:"keyword.operator",regex:/\+|=|\->/},{token:"punctuation.operator",regex:/,|;/},{token:"paren.lparen",regex:/[\[{]/},{token:"paren.rparen",regex:/[\]}]/},{token:"comment",regex:/^#!.*$/},{token:function(n){return e.hasOwnProperty(n.toLowerCase())?"keyword":t.hasOwnProperty(n.toLowerCase())?"variable":"text"},regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"}],comment:[{token:"comment",regex:".*?\\*\\/",merge:!0,next:"start"},{token:"comment",merge:!0,regex:".+"}],qqstring:[{token:"string",regex:'[^"\\\\]+',merge:!0},{token:"string",regex:"\\\\$",next:"qqstring",merge:!0},{token:"string",regex:'"|$',next:"start",merge:!0}],qstring:[{token:"string",regex:"[^'\\\\]+",merge:!0},{token:"string",regex:"\\\\$",next:"qstring",merge:!0},{token:"string",regex:"'|$",next:"start",merge:!0}]}};r.inherits(u,s),t.DotHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-ejs.js b/static/js/lib/ace/src-min-noconflict/mode-ejs.js new file mode 100644 index 0000000..b4ee94a --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-ejs.js @@ -0,0 +1 @@ +ace.define("ace/mode/ejs",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/javascript_highlight_rules","ace/tokenizer","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/ruby"],function(e,t,n){var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=function(e,t){i.call(this),e||(e="(?:<%|<\\?|{{)"),t||(t="(?:%>|\\?>|}})");for(var n in this.$rules)this.$rules[n].unshift({token:"markup.list.meta.tag",regex:e+"(?![>}])[-=]?",push:"ejs-start"});this.embedRules(s,"ejs-"),this.$rules["ejs-start"].unshift({token:"markup.list.meta.tag",regex:"-?"+t,next:"pop"},{token:"comment",regex:"//.*?"+t,next:"pop"}),this.$rules["ejs-no_regex"].unshift({token:"markup.list.meta.tag",regex:"-?"+t,next:"pop"},{token:"comment",regex:"//.*?"+t,next:"pop"}),this.normalizeRules()};r.inherits(o,i),t.EjsHighlightRules=o;var r=e("../lib/oop"),u=e("../tokenizer").Tokenizer,a=e("./html").Mode,f=e("./javascript").Mode,l=e("./css").Mode,c=e("./ruby").Mode,h=function(){a.call(this),this.HighlightRules=o,this.createModeDelegates({"js-":f,"css-":l,"ejs-":f})};r.inherits(h,a),function(){this.$id="ace/mode/ejs"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/html_completions"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=function(){this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./ruby_highlight_rules").RubyHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/),u=t.match(/^\s*(class|def)\s.*$/),a=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),f=t.match(/^\s*(if|else)\s*/);if(o||u||a||f)r+=n}return r},this.checkOutdent=function(e,t,n){return/^\s+end$/.test(t+n)||/^\s+}$/.test(t+n)||/^\s+else$/.test(t+n)},this.autoOutdent=function(e,t,n){var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new a(n,r.length-i.length,n,r.length))},this.$id="ace/mode/ruby"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},o,u,a,{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u>",next:"pop"},{token:["punctuation.separator.binary.erlang","punctuation.separator.value-size.erlang"],regex:"(,)|(:)"},{include:"#internal-type-specifiers"},{include:"#everything-else"},{defaultToken:"meta.structure.binary.erlang"}]}],"#character":[{token:["punctuation.definition.character.erlang","punctuation.definition.escape.erlang","constant.character.escape.erlang","punctuation.definition.escape.erlang","constant.character.escape.erlang","constant.character.escape.erlang"],regex:"(\\$)(\\\\)(?:([bdefnrstv\\\\'\"])|(\\^)([@-_])|([0-7]{1,3}))"},{token:"invalid.illegal.character.erlang",regex:"\\$\\\\\\^?.?"},{token:["punctuation.definition.character.erlang","constant.character.erlang"],regex:"(\\$)(\\S)"},{token:"invalid.illegal.character.erlang",regex:"\\$.?"}],"#comment":[{token:"punctuation.definition.comment.erlang",regex:"%.*$",push_:[{token:"comment.line.percentage.erlang",regex:"$",next:"pop"},{defaultToken:"comment.line.percentage.erlang"}]}],"#define-directive":[{token:["meta.directive.define.erlang","punctuation.section.directive.begin.erlang","meta.directive.define.erlang","keyword.control.directive.define.erlang","meta.directive.define.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.define.erlang","entity.name.function.macro.definition.erlang","meta.directive.define.erlang","punctuation.separator.parameters.erlang"],regex:"^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(,)",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.define.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.directive.define.erlang"}]},{token:"meta.directive.define.erlang",regex:"(?=^\\s*-\\s*define\\s*\\(\\s*[a-zA-Z\\d@_]+\\s*\\()",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.define.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{token:["text","punctuation.section.directive.begin.erlang","text","keyword.control.directive.define.erlang","text","punctuation.definition.parameters.begin.erlang","text","entity.name.function.macro.definition.erlang","text","punctuation.definition.parameters.begin.erlang"],regex:"^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\()",push:[{token:["punctuation.definition.parameters.end.erlang","text","punctuation.separator.parameters.erlang"],regex:"(\\))(\\s*)(,)",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{token:"punctuation.separator.define.erlang",regex:"\\|\\||\\||:|;|,|\\.|->"},{include:"#everything-else"},{defaultToken:"meta.directive.define.erlang"}]}],"#directive":[{token:["meta.directive.erlang","punctuation.section.directive.begin.erlang","meta.directive.erlang","keyword.control.directive.erlang","meta.directive.erlang","punctuation.definition.parameters.begin.erlang"],regex:"^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\(?)",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.erlang","punctuation.section.directive.end.erlang"],regex:"(\\)?)(\\s*)(\\.)",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.directive.erlang"}]},{token:["meta.directive.erlang","punctuation.section.directive.begin.erlang","meta.directive.erlang","keyword.control.directive.erlang","meta.directive.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\.)"}],"#everything-else":[{include:"#comment"},{include:"#record-usage"},{include:"#macro-usage"},{include:"#expression"},{include:"#keyword"},{include:"#textual-operator"},{include:"#function-call"},{include:"#tuple"},{include:"#list"},{include:"#binary"},{include:"#parenthesized-expression"},{include:"#character"},{include:"#number"},{include:"#atom"},{include:"#string"},{include:"#symbolic-operator"},{include:"#variable"}],"#expression":[{token:"keyword.control.if.erlang",regex:"\\bif\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.if.erlang"}]},{token:"keyword.control.case.erlang",regex:"\\bcase\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.case.erlang"}]},{token:"keyword.control.receive.erlang",regex:"\\breceive\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.receive.erlang"}]},{token:["keyword.control.fun.erlang","text","entity.name.type.class.module.erlang","text","punctuation.separator.module-function.erlang","text","entity.name.function.erlang","text","punctuation.separator.function-arity.erlang"],regex:"\\b(fun)(\\s*)(?:([a-z][a-zA-Z\\d@_]*)(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*)(\\s*)(/)"},{token:"keyword.control.fun.erlang",regex:"\\bfun\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{token:"text",regex:"(?=\\()",push:[{token:"punctuation.separator.clauses.erlang",regex:";|(?=\\bend\\b)",next:"pop"},{include:"#internal-function-parts"}]},{include:"#everything-else"},{defaultToken:"meta.expression.fun.erlang"}]},{token:"keyword.control.try.erlang",regex:"\\btry\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.try.erlang"}]},{token:"keyword.control.begin.erlang",regex:"\\bbegin\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#internal-expression-punctuation"},{include:"#everything-else"},{defaultToken:"meta.expression.begin.erlang"}]},{token:"keyword.control.query.erlang",regex:"\\bquery\\b",push:[{token:"keyword.control.end.erlang",regex:"\\bend\\b",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.expression.query.erlang"}]}],"#function":[{token:["meta.function.erlang","entity.name.function.definition.erlang","meta.function.erlang"],regex:"^(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(?=\\()",push:[{token:"punctuation.terminator.function.erlang",regex:"\\.",next:"pop"},{token:["text","entity.name.function.erlang","text"],regex:"^(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(?=\\()"},{token:"text",regex:"(?=\\()",push:[{token:"punctuation.separator.clauses.erlang",regex:";|(?=\\.)",next:"pop"},{include:"#parenthesized-expression"},{include:"#internal-function-parts"}]},{include:"#everything-else"},{defaultToken:"meta.function.erlang"}]}],"#function-call":[{token:"meta.function-call.erlang",regex:"(?=(?:[a-z][a-zA-Z\\d@_]*|'[^']*')\\s*(?:\\(|:\\s*(?:[a-z][a-zA-Z\\d@_]*|'[^']*')\\s*\\())",push:[{token:"punctuation.definition.parameters.end.erlang",regex:"\\)",next:"pop"},{token:["entity.name.type.class.module.erlang","text","punctuation.separator.module-function.erlang","text","entity.name.function.guard.erlang","text","punctuation.definition.parameters.begin.erlang"],regex:"(?:(erlang)(\\s*)(:)(\\s*))?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)(\\s*)(\\()",push:[{token:"text",regex:"(?=\\))",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{token:["entity.name.type.class.module.erlang","text","punctuation.separator.module-function.erlang","text","entity.name.function.erlang","text","punctuation.definition.parameters.begin.erlang"],regex:"(?:([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(\\()",push:[{token:"text",regex:"(?=\\))",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{defaultToken:"meta.function-call.erlang"}]}],"#import-export-directive":[{token:["meta.directive.import.erlang","punctuation.section.directive.begin.erlang","meta.directive.import.erlang","keyword.control.directive.import.erlang","meta.directive.import.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.import.erlang","entity.name.type.class.module.erlang","meta.directive.import.erlang","punctuation.separator.parameters.erlang"],regex:"^(\\s*)(-)(\\s*)(import)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(,)",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.import.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{include:"#internal-function-list"},{defaultToken:"meta.directive.import.erlang"}]},{token:["meta.directive.export.erlang","punctuation.section.directive.begin.erlang","meta.directive.export.erlang","keyword.control.directive.export.erlang","meta.directive.export.erlang","punctuation.definition.parameters.begin.erlang"],regex:"^(\\s*)(-)(\\s*)(export)(\\s*)(\\()",push:[{token:["punctuation.definition.parameters.end.erlang","meta.directive.export.erlang","punctuation.section.directive.end.erlang"],regex:"(\\))(\\s*)(\\.)",next:"pop"},{include:"#internal-function-list"},{defaultToken:"meta.directive.export.erlang"}]}],"#internal-expression-punctuation":[{token:["punctuation.separator.clause-head-body.erlang","punctuation.separator.clauses.erlang","punctuation.separator.expressions.erlang"],regex:"(->)|(;)|(,)"}],"#internal-function-list":[{token:"punctuation.definition.list.begin.erlang",regex:"\\[",push:[{token:"punctuation.definition.list.end.erlang",regex:"\\]",next:"pop"},{token:["entity.name.function.erlang","text","punctuation.separator.function-arity.erlang"],regex:"([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(/)",push:[{token:"punctuation.separator.list.erlang",regex:",|(?=\\])",next:"pop"},{include:"#everything-else"}]},{include:"#everything-else"},{defaultToken:"meta.structure.list.function.erlang"}]}],"#internal-function-parts":[{token:"text",regex:"(?=\\()",push:[{token:"punctuation.separator.clause-head-body.erlang",regex:"->",next:"pop"},{token:"punctuation.definition.parameters.begin.erlang",regex:"\\(",push:[{token:"punctuation.definition.parameters.end.erlang",regex:"\\)",next:"pop"},{token:"punctuation.separator.parameters.erlang",regex:","},{include:"#everything-else"}]},{token:"punctuation.separator.guards.erlang",regex:",|;"},{include:"#everything-else"}]},{token:"punctuation.separator.expressions.erlang",regex:","},{include:"#everything-else"}],"#internal-record-body":[{token:"punctuation.definition.class.record.begin.erlang",regex:"\\{",push:[{token:"meta.structure.record.erlang",regex:"(?=\\})",next:"pop"},{token:["variable.other.field.erlang","variable.language.omitted.field.erlang","text","keyword.operator.assignment.erlang"],regex:"(?:([a-z][a-zA-Z\\d@_]*|'[^']*')|(_))(\\s*)(=|::)",push:[{token:"punctuation.separator.class.record.erlang",regex:",|(?=\\})",next:"pop"},{include:"#everything-else"}]},{token:["variable.other.field.erlang","text","punctuation.separator.class.record.erlang"],regex:"([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)((?:,)?)"},{include:"#everything-else"},{defaultToken:"meta.structure.record.erlang"}]}],"#internal-type-specifiers":[{token:"punctuation.separator.value-type.erlang",regex:"/",push:[{token:"text",regex:"(?=,|:|>>)",next:"pop"},{token:["storage.type.erlang","storage.modifier.signedness.erlang","storage.modifier.endianness.erlang","storage.modifier.unit.erlang","punctuation.separator.type-specifiers.erlang"],regex:"(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)"}]}],"#keyword":[{token:"keyword.control.erlang",regex:"\\b(?:after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\\b"}],"#list":[{token:"punctuation.definition.list.begin.erlang",regex:"\\[",push:[{token:"punctuation.definition.list.end.erlang",regex:"\\]",next:"pop"},{token:"punctuation.separator.list.erlang",regex:"\\||\\|\\||,"},{include:"#everything-else"},{defaultToken:"meta.structure.list.erlang"}]}],"#macro-directive":[{token:["meta.directive.ifdef.erlang","punctuation.section.directive.begin.erlang","meta.directive.ifdef.erlang","keyword.control.directive.ifdef.erlang","meta.directive.ifdef.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.ifdef.erlang","entity.name.function.macro.erlang","meta.directive.ifdef.erlang","punctuation.definition.parameters.end.erlang","meta.directive.ifdef.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(ifdef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)"},{token:["meta.directive.ifndef.erlang","punctuation.section.directive.begin.erlang","meta.directive.ifndef.erlang","keyword.control.directive.ifndef.erlang","meta.directive.ifndef.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.ifndef.erlang","entity.name.function.macro.erlang","meta.directive.ifndef.erlang","punctuation.definition.parameters.end.erlang","meta.directive.ifndef.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(ifndef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)"},{token:["meta.directive.undef.erlang","punctuation.section.directive.begin.erlang","meta.directive.undef.erlang","keyword.control.directive.undef.erlang","meta.directive.undef.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.undef.erlang","entity.name.function.macro.erlang","meta.directive.undef.erlang","punctuation.definition.parameters.end.erlang","meta.directive.undef.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(undef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)"}],"#macro-usage":[{token:["keyword.operator.macro.erlang","meta.macro-usage.erlang","entity.name.function.macro.erlang"],regex:"(\\?\\??)(\\s*)([a-zA-Z\\d@_]+)"}],"#module-directive":[{token:["meta.directive.module.erlang","punctuation.section.directive.begin.erlang","meta.directive.module.erlang","keyword.control.directive.module.erlang","meta.directive.module.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.module.erlang","entity.name.type.class.module.definition.erlang","meta.directive.module.erlang","punctuation.definition.parameters.end.erlang","meta.directive.module.erlang","punctuation.section.directive.end.erlang"],regex:"^(\\s*)(-)(\\s*)(module)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)"}],"#number":[{token:"text",regex:"(?=\\d)",push:[{token:"text",regex:"(?!\\d)",next:"pop"},{token:["constant.numeric.float.erlang","punctuation.separator.integer-float.erlang","constant.numeric.float.erlang","punctuation.separator.float-exponent.erlang"],regex:"(\\d+)(\\.)(\\d+)((?:[eE][\\+\\-]?\\d+)?)"},{token:["constant.numeric.integer.binary.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.binary.erlang"],regex:"(2)(#)([0-1]+)"},{token:["constant.numeric.integer.base-3.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-3.erlang"],regex:"(3)(#)([0-2]+)"},{token:["constant.numeric.integer.base-4.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-4.erlang"],regex:"(4)(#)([0-3]+)"},{token:["constant.numeric.integer.base-5.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-5.erlang"],regex:"(5)(#)([0-4]+)"},{token:["constant.numeric.integer.base-6.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-6.erlang"],regex:"(6)(#)([0-5]+)"},{token:["constant.numeric.integer.base-7.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-7.erlang"],regex:"(7)(#)([0-6]+)"},{token:["constant.numeric.integer.octal.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.octal.erlang"],regex:"(8)(#)([0-7]+)"},{token:["constant.numeric.integer.base-9.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-9.erlang"],regex:"(9)(#)([0-8]+)"},{token:["constant.numeric.integer.decimal.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.decimal.erlang"],regex:"(10)(#)(\\d+)"},{token:["constant.numeric.integer.base-11.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-11.erlang"],regex:"(11)(#)([\\daA]+)"},{token:["constant.numeric.integer.base-12.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-12.erlang"],regex:"(12)(#)([\\da-bA-B]+)"},{token:["constant.numeric.integer.base-13.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-13.erlang"],regex:"(13)(#)([\\da-cA-C]+)"},{token:["constant.numeric.integer.base-14.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-14.erlang"],regex:"(14)(#)([\\da-dA-D]+)"},{token:["constant.numeric.integer.base-15.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-15.erlang"],regex:"(15)(#)([\\da-eA-E]+)"},{token:["constant.numeric.integer.hexadecimal.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.hexadecimal.erlang"],regex:"(16)(#)([\\da-fA-F]+)"},{token:["constant.numeric.integer.base-17.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-17.erlang"],regex:"(17)(#)([\\da-gA-G]+)"},{token:["constant.numeric.integer.base-18.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-18.erlang"],regex:"(18)(#)([\\da-hA-H]+)"},{token:["constant.numeric.integer.base-19.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-19.erlang"],regex:"(19)(#)([\\da-iA-I]+)"},{token:["constant.numeric.integer.base-20.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-20.erlang"],regex:"(20)(#)([\\da-jA-J]+)"},{token:["constant.numeric.integer.base-21.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-21.erlang"],regex:"(21)(#)([\\da-kA-K]+)"},{token:["constant.numeric.integer.base-22.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-22.erlang"],regex:"(22)(#)([\\da-lA-L]+)"},{token:["constant.numeric.integer.base-23.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-23.erlang"],regex:"(23)(#)([\\da-mA-M]+)"},{token:["constant.numeric.integer.base-24.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-24.erlang"],regex:"(24)(#)([\\da-nA-N]+)"},{token:["constant.numeric.integer.base-25.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-25.erlang"],regex:"(25)(#)([\\da-oA-O]+)"},{token:["constant.numeric.integer.base-26.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-26.erlang"],regex:"(26)(#)([\\da-pA-P]+)"},{token:["constant.numeric.integer.base-27.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-27.erlang"],regex:"(27)(#)([\\da-qA-Q]+)"},{token:["constant.numeric.integer.base-28.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-28.erlang"],regex:"(28)(#)([\\da-rA-R]+)"},{token:["constant.numeric.integer.base-29.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-29.erlang"],regex:"(29)(#)([\\da-sA-S]+)"},{token:["constant.numeric.integer.base-30.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-30.erlang"],regex:"(30)(#)([\\da-tA-T]+)"},{token:["constant.numeric.integer.base-31.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-31.erlang"],regex:"(31)(#)([\\da-uA-U]+)"},{token:["constant.numeric.integer.base-32.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-32.erlang"],regex:"(32)(#)([\\da-vA-V]+)"},{token:["constant.numeric.integer.base-33.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-33.erlang"],regex:"(33)(#)([\\da-wA-W]+)"},{token:["constant.numeric.integer.base-34.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-34.erlang"],regex:"(34)(#)([\\da-xA-X]+)"},{token:["constant.numeric.integer.base-35.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-35.erlang"],regex:"(35)(#)([\\da-yA-Y]+)"},{token:["constant.numeric.integer.base-36.erlang","punctuation.separator.base-integer.erlang","constant.numeric.integer.base-36.erlang"],regex:"(36)(#)([\\da-zA-Z]+)"},{token:"invalid.illegal.integer.erlang",regex:"\\d+#[\\da-zA-Z]+"},{token:"constant.numeric.integer.decimal.erlang",regex:"\\d+"}]}],"#parenthesized-expression":[{token:"punctuation.section.expression.begin.erlang",regex:"\\(",push:[{token:"punctuation.section.expression.end.erlang",regex:"\\)",next:"pop"},{include:"#everything-else"},{defaultToken:"meta.expression.parenthesized"}]}],"#record-directive":[{token:["meta.directive.record.erlang","punctuation.section.directive.begin.erlang","meta.directive.record.erlang","keyword.control.directive.import.erlang","meta.directive.record.erlang","punctuation.definition.parameters.begin.erlang","meta.directive.record.erlang","entity.name.type.class.record.definition.erlang","meta.directive.record.erlang","punctuation.separator.parameters.erlang"],regex:"^(\\s*)(-)(\\s*)(record)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(,)",push:[{token:["punctuation.definition.class.record.end.erlang","meta.directive.record.erlang","punctuation.definition.parameters.end.erlang","meta.directive.record.erlang","punctuation.section.directive.end.erlang"],regex:"(\\})(\\s*)(\\))(\\s*)(\\.)",next:"pop"},{include:"#internal-record-body"},{defaultToken:"meta.directive.record.erlang"}]}],"#record-usage":[{token:["keyword.operator.record.erlang","meta.record-usage.erlang","entity.name.type.class.record.erlang","meta.record-usage.erlang","punctuation.separator.record-field.erlang","meta.record-usage.erlang","variable.other.field.erlang"],regex:"(#)(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')(\\s*)(\\.)(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')"},{token:["keyword.operator.record.erlang","meta.record-usage.erlang","entity.name.type.class.record.erlang"],regex:"(#)(\\s*)([a-z][a-zA-Z\\d@_]*|'[^']*')",push:[{token:"punctuation.definition.class.record.end.erlang",regex:"\\}",next:"pop"},{include:"#internal-record-body"},{defaultToken:"meta.record-usage.erlang"}]}],"#string":[{token:"punctuation.definition.string.begin.erlang",regex:'"',push:[{token:"punctuation.definition.string.end.erlang",regex:'"',next:"pop"},{token:["punctuation.definition.escape.erlang","constant.character.escape.erlang","punctuation.definition.escape.erlang","constant.character.escape.erlang","constant.character.escape.erlang"],regex:"(\\\\)(?:([bdefnrstv\\\\'\"])|(\\^)([@-_])|([0-7]{1,3}))"},{token:"invalid.illegal.string.erlang",regex:"\\\\\\^?.?"},{token:["punctuation.definition.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","punctuation.separator.placeholder-parts.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","constant.other.placeholder.erlang"],regex:"(~)(?:((?:\\-)?)(\\d+)|(\\*))?(?:(\\.)(?:(\\d+)|(\\*)))?(?:(\\.)(?:(\\*)|(.)))?([~cfegswpWPBX#bx\\+ni])"},{token:["punctuation.definition.placeholder.erlang","punctuation.separator.placeholder-parts.erlang","constant.other.placeholder.erlang","constant.other.placeholder.erlang"],regex:"(~)((?:\\*)?)((?:\\d+)?)([~du\\-#fsacl])"},{token:"invalid.illegal.string.erlang",regex:"~.?"},{defaultToken:"string.quoted.double.erlang"}]}],"#symbolic-operator":[{token:"keyword.operator.symbolic.erlang",regex:"\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::"}],"#textual-operator":[{token:"keyword.operator.textual.erlang",regex:"\\b(?:andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b"}],"#tuple":[{token:"punctuation.definition.tuple.begin.erlang",regex:"\\{",push:[{token:"punctuation.definition.tuple.end.erlang",regex:"\\}",next:"pop"},{token:"punctuation.separator.tuple.erlang",regex:","},{include:"#everything-else"},{defaultToken:"meta.structure.tuple.erlang"}]}],"#variable":[{token:["variable.other.erlang","variable.language.omitted.erlang"],regex:"(_[a-zA-Z\\d@_]+|[A-Z][a-zA-Z\\d@_]*)|(_)"}]},this.normalizeRules()};s.metaData={comment:"The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp",fileTypes:["erl","hrl"],keyEquivalent:"^~E",name:"Erlang",scopeName:"source.erlang"},r.inherits(s,i),t.ErlangHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-forth.js b/static/js/lib/ace/src-min-noconflict/mode-forth.js new file mode 100644 index 0000000..fec7bee --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-forth.js @@ -0,0 +1 @@ +ace.define("ace/mode/forth",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/forth_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./forth_highlight_rules").ForthHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="(?<=^|\\s)\\.?\\( [^)]*\\)",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/forth"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/forth_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#forth"}],"#comment":[{token:"comment.line.double-dash.forth",regex:"(?:^|\\s)--\\s.*$",comment:"line comments for iForth"},{token:"comment.line.backslash.forth",regex:"(?:^|\\s)\\\\[\\s\\S]*$",comment:"ANSI line comment"},{token:"comment.line.backslash-g.forth",regex:"(?:^|\\s)\\\\[Gg] .*$",comment:"gForth line comment"},{token:"comment.block.forth",regex:"(?:^|\\s)\\(\\*(?=\\s|$)",push:[{token:"comment.block.forth",regex:"(?:^|\\s)\\*\\)(?=\\s|$)",next:"pop"},{defaultToken:"comment.block.forth"}],comment:"multiline comments for iForth"},{token:"comment.block.documentation.forth",regex:"\\bDOC\\b",caseInsensitive:!0,push:[{token:"comment.block.documentation.forth",regex:"\\bENDDOC\\b",caseInsensitive:!0,next:"pop"},{defaultToken:"comment.block.documentation.forth"}],comment:"documentation comments for iForth"},{token:"comment.line.parentheses.forth",regex:"(?:^|\\s)\\.?\\( [^)]*\\)",comment:"ANSI line comment"}],"#constant":[{token:"constant.language.forth",regex:"(?:^|\\s)(?:TRUE|FALSE|BL|PI|CELL|C/L|R/O|W/O|R/W)(?=\\s|$)",caseInsensitive:!0},{token:"constant.numeric.forth",regex:"(?:^|\\s)[$#%]?[-+]?[0-9]+(?:\\.[0-9]*e-?[0-9]+|\\.?[0-9a-fA-F]*)(?=\\s|$)"},{token:"constant.character.forth",regex:"(?:^|\\s)(?:[&^]\\S|(?:\"|')\\S(?:\"|'))(?=\\s|$)"}],"#forth":[{include:"#constant"},{include:"#comment"},{include:"#string"},{include:"#word"},{include:"#variable"},{include:"#storage"},{include:"#word-def"}],"#storage":[{token:"storage.type.forth",regex:"(?:^|\\s)(?:2CONSTANT|2VARIABLE|ALIAS|CONSTANT|CREATE-INTERPRET/COMPILE[:]?|CREATE|DEFER|FCONSTANT|FIELD|FVARIABLE|USER|VALUE|VARIABLE|VOCABULARY)(?=\\s|$)",caseInsensitive:!0}],"#string":[{token:"string.quoted.double.forth",regex:'(ABORT" |BREAK" |\\." |C" |0"|S\\\\?" )([^"]+")',caseInsensitive:!0},{token:"string.unquoted.forth",regex:"(?:INCLUDE|NEEDS|REQUIRE|USE)[ ]\\S+(?=\\s|$)",caseInsensitive:!0}],"#variable":[{token:"variable.language.forth",regex:"\\b(?:I|J)\\b",caseInsensitive:!0}],"#word":[{token:"keyword.control.immediate.forth",regex:"(?:^|\\s)\\[(?:\\?DO|\\+LOOP|AGAIN|BEGIN|DEFINED|DO|ELSE|ENDIF|FOR|IF|IFDEF|IFUNDEF|LOOP|NEXT|REPEAT|THEN|UNTIL|WHILE)\\](?=\\s|$)",caseInsensitive:!0},{token:"keyword.other.immediate.forth",regex:"(?:^|\\s)(?:COMPILE-ONLY|IMMEDIATE|IS|RESTRICT|TO|WHAT'S|])(?=\\s|$)",caseInsensitive:!0},{token:"keyword.control.compile-only.forth",regex:'(?:^|\\s)(?:-DO|\\-LOOP|\\?DO|\\?LEAVE|\\+DO|\\+LOOP|ABORT\\"|AGAIN|AHEAD|BEGIN|CASE|DO|ELSE|ENDCASE|ENDIF|ENDOF|ENDTRY\\-IFERROR|ENDTRY|FOR|IF|IFERROR|LEAVE|LOOP|NEXT|RECOVER|REPEAT|RESTORE|THEN|TRY|U\\-DO|U\\+DO|UNTIL|WHILE)(?=\\s|$)',caseInsensitive:!0},{token:"keyword.other.compile-only.forth",regex:"(?:^|\\s)(?:\\?DUP-0=-IF|\\?DUP-IF|\\)|\\[|\\['\\]|\\[CHAR\\]|\\[COMPILE\\]|\\[IS\\]|\\[TO\\]||DEFERS|DOES>|INTERPRETATION>|OF|POSTPONE)(?=\\s|$)",caseInsensitive:!0},{token:"keyword.other.non-immediate.forth",regex:"(?:^|\\s)(?:'|||CHAR|END-STRUCT|INCLUDE[D]?|LOAD|NEEDS|REQUIRE[D]?|REVISION|SEE|STRUCT|THRU|USE)(?=\\s|$)",caseInsensitive:!0},{token:"keyword.other.warning.forth",regex:'(?:^|\\s)(?:~~|BREAK:|BREAK"|DBG)(?=\\s|$)',caseInsensitive:!0}],"#word-def":[{token:["keyword.other.compile-only.forth","keyword.other.compile-only.forth","meta.block.forth","entity.name.function.forth"],regex:"(:NONAME)|(^:|\\s:)(\\s)(\\S+)(?=\\s|$)",caseInsensitive:!0,push:[{token:"keyword.other.compile-only.forth",regex:";(?:CODE)?",caseInsensitive:!0,next:"pop"},{include:"#constant"},{include:"#comment"},{include:"#string"},{include:"#word"},{include:"#variable"},{include:"#storage"},{defaultToken:"meta.block.forth"}]}]},this.normalizeRules()};s.metaData={fileTypes:["frt","fs","ldr"],foldingStartMarker:"/\\*\\*|\\{\\s*$",foldingStopMarker:"\\*\\*/|^\\s*\\}",keyEquivalent:"^~F",name:"Forth",scopeName:"source.forth"},r.inherits(s,i),t.ForthHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-ftl.js b/static/js/lib/ace/src-min-noconflict/mode-ftl.js new file mode 100644 index 0000000..45e1511 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-ftl.js @@ -0,0 +1 @@ +ace.define("ace/mode/ftl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/ftl_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./ftl_highlight_rules").FtlHighlightRules,u=function(){this.HighlightRules=o};r.inherits(u,i),function(){this.$id="ace/mode/ftl"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/ftl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="\\?|substring|cap_first|uncap_first|capitalize|chop_linebreak|date|time|datetime|ends_with|html|groups|index_of|j_string|js_string|json_string|last_index_of|length|lower_case|left_pad|right_pad|contains|matches|number|replace|rtf|url|split|starts_with|string|trim|upper_case|word_list|xhtml|xml",t="c|round|floor|ceiling",n="iso_[a-z_]+",r="first|last|seq_contains|seq_index_of|seq_last_index_of|reverse|size|sort|sort_by|chunk",i="keys|values",s="children|parent|root|ancestors|node_name|node_type|node_namespace",o="byte|double|float|int|long|short|number_to_date|number_to_time|number_to_datetime|eval|has_content|interpret|is_[a-z_]+|namespacenew",u=e+t+n+r+i+s+o,a="default|exists|if_exists|web_safe",f="data_model|error|globals|lang|locale|locals|main|namespace|node|current_node|now|output_encoding|template_name|url_escaping_charset|vars|version",l="gt|gte|lt|lte|as|in|using",c="true|false",h="encoding|parse|locale|number_format|date_format|time_format|datetime_format|time_zone|url_escaping_charset|classic_compatible|strip_whitespace|strip_text|strict_syntax|ns_prefixes|attributes";this.$rules={start:[{token:"constant.character.entity",regex:/&[^;]+;/},{token:"support.function",regex:"\\?("+u+")"},{token:"support.function.deprecated",regex:"\\?("+a+")"},{token:"language.variable",regex:"\\.(?:"+f+")"},{token:"constant.language",regex:"\\b("+c+")\\b"},{token:"keyword.operator",regex:"\\b(?:"+l+")\\b"},{token:"entity.other.attribute-name",regex:h},{token:"string",regex:/['"]/,next:"qstring"},{token:function(e){return e.match("^[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?$")?"constant.numeric":"variable"},regex:/[\w.+\-]+/},{token:"keyword.operator",regex:"!|\\.|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^="},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qstring:[{token:"constant.character.escape",regex:'\\\\[nrtvef\\\\"$]'},{token:"string",regex:/['"]/,next:"start"},{defaultToken:"string"}]}};r.inherits(o,s);var u=function(){i.call(this);var e="assign|attempt|break|case|compress|default|elseif|else|escape|fallback|function|flush|ftl|global|if|import|include|list|local|lt|macro|nested|noescape|noparse|nt|recover|recurse|return|rt|setting|stop|switch|t|visit",t=[{token:"comment",regex:"<#--",next:"ftl-dcomment"},{token:"string.interpolated",regex:"\\${",push:"ftl-start"},{token:"keyword.function",regex:"",next:"pop"},{token:"string.interpolated",regex:"}",next:"pop"}];for(var r in this.$rules)this.$rules[r].unshift.apply(this.$rules[r],t);this.embedRules(o,"ftl-",n,["start"]),this.addRules({"ftl-dcomment":[{token:"comment",regex:".*?-->",next:"pop"},{token:"comment",regex:".+"}]}),this.normalizeRules()};r.inherits(u,i),t.FtlHighlightRules=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-glsl.js b/static/js/lib/ace/src-min-noconflict/mode-glsl.js new file mode 100644 index 0000000..4e5957d --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-glsl.js @@ -0,0 +1 @@ +ace.define("ace/mode/glsl",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/tokenizer","ace/mode/glsl_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("../tokenizer").Tokenizer,o=e("./glsl_highlight_rules").glslHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),t.Mode=c}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./c_cpp_highlight_rules").c_cppHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\s*\\bhypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len)))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template",n="const|extern|register|restrict|static|volatile|inline|private:|protected:|public:|friend|explicit|virtual|export|mutable|typename",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_¡-￿][a-zA-Zd\\$_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef|if|ifdef|else|elif|ifndef)\\b",next:"directive"},{token:"keyword",regex:"(?:#\\s*endif)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/glsl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/c_cpp_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./c_cpp_highlight_rules").c_cppHighlightRules,s=function(){var e="attribute|const|uniform|varying|break|continue|do|for|while|if|else|in|out|inout|float|int|void|bool|true|false|lowp|mediump|highp|precision|invariant|discard|return|mat2|mat3|mat4|vec2|vec3|vec4|ivec2|ivec3|ivec4|bvec2|bvec3|bvec4|sampler2D|samplerCube|struct",t="radians|degrees|sin|cos|tan|asin|acos|atan|pow|exp|log|exp2|log2|sqrt|inversesqrt|abs|sign|floor|ceil|fract|mod|min|max|clamp|mix|step|smoothstep|length|distance|dot|cross|normalize|faceforward|reflect|refract|matrixCompMult|lessThan|lessThanEqual|greaterThan|greaterThanEqual|equal|notEqual|any|all|not|dFdx|dFdy|fwidth|texture2D|texture2DProj|texture2DLod|texture2DProjLod|textureCube|textureCubeLod|gl_MaxVertexAttribs|gl_MaxVertexUniformVectors|gl_MaxVaryingVectors|gl_MaxVertexTextureImageUnits|gl_MaxCombinedTextureImageUnits|gl_MaxTextureImageUnits|gl_MaxFragmentUniformVectors|gl_MaxDrawBuffers|gl_DepthRangeParameters|gl_DepthRange|gl_Position|gl_PointSize|gl_FragCoord|gl_FrontFacing|gl_PointCoord|gl_FragColor|gl_FragData",n=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t},"identifier");this.$rules=(new i).$rules,this.$rules.start.forEach(function(e){typeof e.token=="function"&&(e.token=n)})};r.inherits(s,i),t.glslHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-golang.js b/static/js/lib/ace/src-min-noconflict/mode-golang.js new file mode 100644 index 0000000..7019164 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-golang.js @@ -0,0 +1 @@ +ace.define("ace/mode/golang",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/golang_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./golang_highlight_rules").GolangHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/golang"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/golang_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="else|break|case|return|goto|if|const|select|continue|struct|default|switch|for|range|func|import|package|chan|defer|fallthrough|go|interface|map|range|select|type|var",t="string|uint8|uint16|uint32|uint64|int8|int16|int32|int64|float32|float64|complex64|complex128|byte|rune|uint|int|uintptr|bool|error",n="make|close|new|panic|recover",r="nil|true|false|iota",s=this.createKeywordMapper({keyword:e,"constant.language":r,"support.function":n,"support.type":t},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"[`](?:[^`]*)[`]"},{token:"string",merge:!0,regex:"[`](?:[^`]*)$",next:"bqstring"},{token:"constant.numeric",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^="},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"invalid",regex:"\\s+$"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],bqstring:[{token:"string",regex:"(?:[^`]*)`",next:"start"},{token:"string",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.GolangHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-groovy.js b/static/js/lib/ace/src-min-noconflict/mode-groovy.js new file mode 100644 index 0000000..17517c8 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-groovy.js @@ -0,0 +1 @@ +ace.define("ace/mode/groovy",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/tokenizer","ace/mode/groovy_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("../tokenizer").Tokenizer,o=e("./groovy_highlight_rules").GroovyHighlightRules,u=function(){i.call(this),this.HighlightRules=o};r.inherits(u,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/groovy"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/groovy_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="assert|with|abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|def|float|native|super|while",t="null|Infinity|NaN|undefined",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"support.function":n,"constant.language":t},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'"""',next:"qqstring"},{token:"string",regex:"'''",next:"qstring"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\?:|\\?\\.|\\*\\.|<=>|=~|==~|\\.@|\\*\\.@|\\.&|as|in|is|!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"constant.language.escape",regex:/\\(?:u[0-9A-Fa-f]{4}|.|$)/},{token:"constant.language.escape",regex:/\$[\w\d]+/},{token:"constant.language.escape",regex:/\$\{[^"\}]+\}?/},{token:"string",regex:'"{3,5}',next:"start"},{token:"string",regex:".+?"}],qstring:[{token:"constant.language.escape",regex:/\\(?:u[0-9A-Fa-f]{4}|.|$)/},{token:"string",regex:"'{3,5}",next:"start"},{token:"string",regex:".+?"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.GroovyHighlightRules=o}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-haml.js b/static/js/lib/ace/src-min-noconflict/mode-haml.js new file mode 100644 index 0000000..2a9ce80 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-haml.js @@ -0,0 +1 @@ +ace.define("ace/mode/haml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/haml_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./haml_highlight_rules").HamlHighlightRules,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart=["//","#"],this.$id="ace/mode/haml"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/haml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/ruby_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./ruby_highlight_rules"),o=s.RubyHighlightRules,u=function(){this.$rules={start:[{token:"punctuation.section.comment",regex:/^\s*\/.*/},{token:"punctuation.section.comment",regex:/^\s*#.*/},{token:"string.quoted.double",regex:"==.+?=="},{token:"keyword.other.doctype",regex:"^!!!\\s*(?:[a-zA-Z0-9-_]+)?"},s.qString,s.qqString,s.tString,{token:["entity.name.tag.haml"],regex:/^\s*%[\w:]+/,next:"tag_single"},{token:["meta.escape.haml"],regex:"^\\s*\\\\."},s.constantNumericHex,s.constantNumericFloat,s.constantOtherSymbol,{token:"text",regex:"=|-|~",next:"embedded_ruby"}],tag_single:[{token:"entity.other.attribute-name.class.haml",regex:"\\.[\\w-]+"},{token:"entity.other.attribute-name.id.haml",regex:"#[\\w-]+"},{token:"punctuation.section",regex:"\\{",next:"section"},s.constantOtherSymbol,{token:"text",regex:/\s/,next:"start"},{token:"empty",regex:"$|(?!\\.|#|\\{|\\[|=|-|~|\\/)",next:"start"}],section:[s.constantOtherSymbol,s.qString,s.qqString,s.tString,s.constantNumericHex,s.constantNumericFloat,{token:"punctuation.section",regex:"\\}",next:"start"}],embedded_ruby:[s.constantNumericHex,s.constantNumericFloat,{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},{token:(new o).getKeywords(),regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:["keyword","text","text"],regex:"(?:do|\\{)(?: \\|[^|]+\\|)?$",next:"start"},{token:["text"],regex:"^$",next:"start"},{token:["text"],regex:"^(?!.*\\|\\s*$)",next:"start"}]}};r.inherits(u,i),t.HamlHighlightRules=u}),ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},o,u,a,{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u"},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/handlebars_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/xml_util"],function(e,t,n){function o(e,t){return t.splice(0,3),t.shift()||"start"}var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./xml_util"),u=function(){i.call(this);var e={regex:"(?={{)",push:"handlebars"};for(var t in this.$rules)this.$rules[t].unshift(e);this.$rules.handlebars=[{token:"comment.start",regex:"{{!--",push:[{token:"comment.end",regex:"--}}",next:o},{defaultToken:"comment"}]},{token:"comment.start",regex:"{{!",push:[{token:"comment.end",regex:"}}",next:o},{defaultToken:"comment"}]},{token:"storage.type.start",regex:"{{[#\\^/&]?",push:[{token:"storage.type.end",regex:"}}",next:o},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]},{token:"support.function",regex:"{{{",push:[{token:"support.function",regex:"}}}",next:o},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]}],this.normalizeRules()};r.inherits(u,i),t.HandlebarsHighlightRules=u}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-haskell.js b/static/js/lib/ace/src-min-noconflict/mode-haskell.js new file mode 100644 index 0000000..a7cadb7 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-haskell.js @@ -0,0 +1 @@ +ace.define("ace/mode/haskell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/haskell_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./haskell_highlight_rules").HaskellHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="--",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/haskell"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/haskell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["punctuation.definition.entity.haskell","keyword.operator.function.infix.haskell","punctuation.definition.entity.haskell"],regex:"(`)([a-zA-Z_']*?)(`)",comment:"In case this regex seems unusual for an infix operator, note that Haskell allows any ordinary function application (elem 4 [1..10]) to be rewritten as an infix expression (4 `elem` [1..10])."},{token:"constant.language.unit.haskell",regex:"\\(\\)"},{token:"constant.language.empty-list.haskell",regex:"\\[\\]"},{token:"keyword.other.haskell",regex:"module",push:[{token:"keyword.other.haskell",regex:"where",next:"pop"},{include:"#module_name"},{include:"#module_exports"},{token:"invalid",regex:"[a-z]+"},{defaultToken:"meta.declaration.module.haskell"}]},{token:"keyword.other.haskell",regex:"\\bclass\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b",next:"pop"},{token:"support.class.prelude.haskell",regex:"\\b(?:Monad|Functor|Eq|Ord|Read|Show|Num|(?:Frac|Ra)tional|Enum|Bounded|Real(?:Frac|Float)?|Integral|Floating)\\b"},{token:"entity.other.inherited-class.haskell",regex:"[A-Z][A-Za-z_']*"},{token:"variable.other.generic-type.haskell",regex:"\\b[a-z][a-zA-Z0-9_']*\\b"},{defaultToken:"meta.declaration.class.haskell"}]},{token:"keyword.other.haskell",regex:"\\binstance\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b|$",next:"pop"},{include:"#type_signature"},{defaultToken:"meta.declaration.instance.haskell"}]},{token:"keyword.other.haskell",regex:"import",push:[{token:"meta.import.haskell",regex:"$|;",next:"pop"},{token:"keyword.other.haskell",regex:"qualified|as|hiding"},{include:"#module_name"},{include:"#module_exports"},{defaultToken:"meta.import.haskell"}]},{token:["keyword.other.haskell","meta.deriving.haskell"],regex:"(deriving)(\\s*\\()",push:[{token:"meta.deriving.haskell",regex:"\\)",next:"pop"},{token:"entity.other.inherited-class.haskell",regex:"\\b[A-Z][a-zA-Z_']*"},{defaultToken:"meta.deriving.haskell"}]},{token:"keyword.other.haskell",regex:"\\b(?:deriving|where|data|type|case|of|let|in|newtype|default)\\b"},{token:"keyword.operator.haskell",regex:"\\binfix[lr]?\\b"},{token:"keyword.control.haskell",regex:"\\b(?:do|if|then|else)\\b"},{token:"constant.numeric.float.haskell",regex:"\\b(?:[0-9]+\\.[0-9]+(?:[eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b",comment:"Floats are always decimal"},{token:"constant.numeric.haskell",regex:"\\b(?:[0-9]+|0(?:[xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{token:["meta.preprocessor.c","punctuation.definition.preprocessor.c","meta.preprocessor.c"],regex:"^(\\s*)(#)(\\s*\\w+)",comment:'In addition to Haskell\'s "native" syntax, GHC permits the C preprocessor to be run on a source file.'},{include:"#pragma"},{token:"punctuation.definition.string.begin.haskell",regex:'"',push:[{token:"punctuation.definition.string.end.haskell",regex:'"',next:"pop"},{token:"constant.character.escape.haskell",regex:"\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])"},{token:"constant.character.escape.octal.haskell",regex:"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{token:"constant.character.escape.control.haskell",regex:"\\^[A-Z@\\[\\]\\\\\\^_]"},{defaultToken:"string.quoted.double.haskell"}]},{token:["punctuation.definition.string.begin.haskell","string.quoted.single.haskell","constant.character.escape.haskell","constant.character.escape.octal.haskell","constant.character.escape.hexadecimal.haskell","constant.character.escape.control.haskell","punctuation.definition.string.end.haskell"],regex:"(')(?:([\\ -\\[\\]-~])|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))(')"},{token:["meta.function.type-declaration.haskell","entity.name.function.haskell","meta.function.type-declaration.haskell","keyword.other.double-colon.haskell"],regex:"^(\\s*)([a-z_][a-zA-Z0-9_']*|\\([|!%$+\\-.,=]+\\))(\\s*)(::)",push:[{token:"meta.function.type-declaration.haskell",regex:"$",next:"pop"},{include:"#type_signature"},{defaultToken:"meta.function.type-declaration.haskell"}]},{token:"support.constant.haskell",regex:"\\b(?:Just|Nothing|Left|Right|True|False|LT|EQ|GT|\\(\\)|\\[\\])\\b"},{token:"constant.other.haskell",regex:"\\b[A-Z]\\w*\\b"},{include:"#comments"},{token:"support.function.prelude.haskell",regex:"\\b(?:abs|acos|acosh|all|and|any|appendFile|applyM|asTypeOf|asin|asinh|atan|atan2|atanh|break|catch|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{include:"#infix_op"},{token:"keyword.operator.haskell",regex:"[|!%$?~+:\\-.=\\\\]+",comment:"In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&*."},{token:"punctuation.separator.comma.haskell",regex:","}],"#block_comment":[{token:"punctuation.definition.comment.haskell",regex:"\\{-(?!#)",push:[{include:"#block_comment"},{token:"punctuation.definition.comment.haskell",regex:"-\\}",next:"pop"},{defaultToken:"comment.block.haskell"}]}],"#comments":[{token:"punctuation.definition.comment.haskell",regex:"--.*",push_:[{token:"comment.line.double-dash.haskell",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.haskell"}]},{include:"#block_comment"}],"#infix_op":[{token:"entity.name.function.infix.haskell",regex:"\\([|!%$+:\\-.=]+\\)|\\(,+\\)"}],"#module_exports":[{token:"meta.declaration.exports.haskell",regex:"\\(",push:[{token:"meta.declaration.exports.haskell",regex:"\\)",next:"pop"},{token:"entity.name.function.haskell",regex:"\\b[a-z][a-zA-Z_']*"},{token:"storage.type.haskell",regex:"\\b[A-Z][A-Za-z_']*"},{token:"punctuation.separator.comma.haskell",regex:","},{include:"#infix_op"},{token:"meta.other.unknown.haskell",regex:"\\(.*?\\)",comment:"So named because I don't know what to call this."},{defaultToken:"meta.declaration.exports.haskell"}]}],"#module_name":[{token:"support.other.module.haskell",regex:"[A-Z][A-Za-z._']*"}],"#pragma":[{token:"meta.preprocessor.haskell",regex:"\\{-#",push:[{token:"meta.preprocessor.haskell",regex:"#-\\}",next:"pop"},{token:"keyword.other.preprocessor.haskell",regex:"\\b(?:LANGUAGE|UNPACK|INLINE)\\b"},{defaultToken:"meta.preprocessor.haskell"}]}],"#type_signature":[{token:["meta.class-constraint.haskell","entity.other.inherited-class.haskell","meta.class-constraint.haskell","variable.other.generic-type.haskell","meta.class-constraint.haskell","keyword.other.big-arrow.haskell"],regex:"(\\(\\s*)([A-Z][A-Za-z]*)(\\s+)([a-z][A-Za-z_']*)(\\)\\s*)(=>)"},{include:"#pragma"},{token:"keyword.other.arrow.haskell",regex:"->"},{token:"keyword.other.big-arrow.haskell",regex:"=>"},{token:"support.type.prelude.haskell",regex:"\\b(?:Int(?:eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(?:Error)?)\\b"},{token:"variable.other.generic-type.haskell",regex:"\\b[a-z][a-zA-Z0-9_']*\\b"},{token:"storage.type.haskell",regex:"\\b[A-Z][a-zA-Z0-9_']*\\b"},{token:"support.constant.unit.haskell",regex:"\\(\\)"},{include:"#comments"}]},this.normalizeRules()};s.metaData={fileTypes:["hs"],keyEquivalent:"^~H",name:"Haskell",scopeName:"source.haskell"},r.inherits(s,i),t.HaskellHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-haxe.js b/static/js/lib/ace/src-min-noconflict/mode-haxe.js new file mode 100644 index 0000000..3221038 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-haxe.js @@ -0,0 +1 @@ +ace.define("ace/mode/haxe",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/haxe_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./haxe_highlight_rules").HaxeHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/haxe"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/haxe_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="break|case|cast|catch|class|continue|default|else|enum|extends|for|function|if|implements|import|in|inline|interface|new|override|package|private|public|return|static|super|switch|this|throw|trace|try|typedef|untyped|var|while|Array|Void|Bool|Int|UInt|Float|Dynamic|String|List|Hash|IntHash|Error|Unknown|Type|Std",t="null|true|false",n=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({<]"},{token:"paren.rparen",regex:"[\\])}>]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.HaxeHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-html.js b/static/js/lib/ace/src-min-noconflict/mode-html.js new file mode 100644 index 0000000..bc29d35 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-html.js @@ -0,0 +1 @@ +ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/html_completions"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=function(){this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-html_completions.js b/static/js/lib/ace/src-min-noconflict/mode-html_completions.js new file mode 100644 index 0000000..bccf9c3 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-html_completions.js @@ -0,0 +1 @@ +ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-html_ruby.js b/static/js/lib/ace/src-min-noconflict/mode-html_ruby.js new file mode 100644 index 0000000..0e7c326 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-html_ruby.js @@ -0,0 +1 @@ +ace.define("ace/mode/html_ruby",["require","exports","module","ace/lib/oop","ace/tokenizer","ace/mode/html_ruby_highlight_rules","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/ruby"],function(e,t,n){var r=e("../lib/oop"),i=e("../tokenizer").Tokenizer,s=e("./html_ruby_highlight_rules").HtmlRubyHighlightRules,o=e("./html").Mode,u=e("./javascript").Mode,a=e("./css").Mode,f=e("./ruby").Mode,l=function(){o.call(this),this.HighlightRules=s,this.createModeDelegates({"js-":u,"css-":a,"ruby-":f})};r.inherits(l,o),function(){this.$id="ace/mode/html_ruby"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/html_ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/ruby_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./ruby_highlight_rules").RubyHighlightRules,o=function(){i.call(this);var e=[{regex:"<%%|%%>",token:"constant.language.escape"},{token:"comment.start.erb",regex:"<%#",push:[{token:"comment.end.erb",regex:"%>",next:"pop",defaultToken:"comment"}]},{token:"support.ruby_tag",regex:"<%+(?!>)[-=]?",push:"ruby-start"}],t=[{token:"support.ruby_tag",regex:"%>",next:"pop"},{token:"comment",regex:"#(?:[^%]|%[^>])*"}];for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.embedRules(s,"ruby-",t,["start"]),this.normalizeRules()};r.inherits(o,i),t.HtmlRubyHighlightRules=o}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},o,u,a,{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/html_completions"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=function(){this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./ruby_highlight_rules").RubyHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/),u=t.match(/^\s*(class|def)\s.*$/),a=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),f=t.match(/^\s*(if|else)\s*/);if(o||u||a||f)r+=n}return r},this.checkOutdent=function(e,t,n){return/^\s+end$/.test(t+n)||/^\s+}$/.test(t+n)||/^\s+else$/.test(t+n)},this.autoOutdent=function(e,t,n){var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new a(n,r.length-i.length,n,r.length))},this.$id="ace/mode/ruby"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&ul){var h=e.getLine(c).length;return new i(l,a,c,h)}}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-jack.js b/static/js/lib/ace/src-min-noconflict/mode-jack.js new file mode 100644 index 0000000..92e6831 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-jack.js @@ -0,0 +1 @@ +ace.define("ace/mode/jack",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/jack_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./jack_highlight_rules").JackHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="--",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/jack"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/jack_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"string",regex:'"',next:"string2"},{token:"string",regex:"'",next:"string1"},{token:"constant.numeric",regex:"-?0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"(?:0|[-+]?[1-9][0-9]*)\\b"},{token:"constant.binary",regex:"<[0-9A-Fa-f][0-9A-Fa-f](\\s+[0-9A-Fa-f][0-9A-Fa-f])*>"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"constant.language.null",regex:"null\\b"},{token:"storage.type",regex:"(?:Integer|Boolean|Null|String|Buffer|Tuple|List|Object|Function|Coroutine|Form)\\b"},{token:"keyword",regex:"(?:return|abort|vars|for|delete|in|is|escape|exec|split|and|if|elif|else|while)\\b"},{token:"language.builtin",regex:"(?:lines|source|parse|read-stream|interval|substr|parseint|write|print|range|rand|inspect|bind|i-values|i-pairs|i-map|i-filter|i-chunk|i-all\\?|i-any\\?|i-collect|i-zip|i-merge|i-each)\\b"},{token:"comment",regex:"--.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"storage.form",regex:"@[a-z]+"},{token:"constant.other.symbol",regex:":+[a-zA-Z_]([-]?[a-zA-Z0-9_])*[?!]?"},{token:"variable",regex:"[a-zA-Z_]([-]?[a-zA-Z0-9_])*[?!]?"},{token:"keyword.operator",regex:"\\|\\||\\^\\^|&&|!=|==|<=|<|>=|>|\\+|-|\\*|\\/|\\^|\\%|\\#|\\!"},{token:"text",regex:"\\s+"}],string1:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|['"\\\/bfnrt])/},{token:"string",regex:"[^'\\\\]+"},{token:"string",regex:"'",next:"start"},{token:"string",regex:"",next:"start"}],string2:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|['"\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JackHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-jade.js b/static/js/lib/ace/src-min-noconflict/mode-jade.js new file mode 100644 index 0000000..35e0a09 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-jade.js @@ -0,0 +1 @@ +ace.define("ace/mode/jade",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/jade_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./jade_highlight_rules").JadeHighlightRules,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="//",this.$id="ace/mode/jade"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/jade_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/markdown_highlight_rules","ace/mode/scss_highlight_rules","ace/mode/less_highlight_rules","ace/mode/coffee_highlight_rules","ace/mode/javascript_highlight_rules"],function(e,t,n){function l(e,t){return{token:"entity.name.function.jade",regex:"^\\s*\\:"+e,next:t+"start"}}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./markdown_highlight_rules").MarkdownHighlightRules,o=e("./scss_highlight_rules").ScssHighlightRules,u=e("./less_highlight_rules").LessHighlightRules,a=e("./coffee_highlight_rules").CoffeeHighlightRules,f=e("./javascript_highlight_rules").JavaScriptHighlightRules,c=function(){var e="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={start:[{token:"keyword.control.import.include.jade",regex:"\\s*\\binclude\\b"},{token:"keyword.other.doctype.jade",regex:"^!!!\\s*(?:[a-zA-Z0-9-_]+)?"},{token:"punctuation.section.comment",regex:"^\\s*//(?:\\s*[^-\\s]|\\s+\\S)(?:.*$)"},{onMatch:function(e,t,n){return n.unshift(this.next,e.length-2,t),"comment"},regex:/^\s*\/\//,next:"comment_block"},l("markdown","markdown-"),l("sass","sass-"),l("less","less-"),l("coffee","coffee-"),{token:["storage.type.function.jade","entity.name.function.jade","punctuation.definition.parameters.begin.jade","variable.parameter.function.jade","punctuation.definition.parameters.end.jade"],regex:"^(\\s*mixin)( [\\w\\-]+)(\\s*\\()(.*?)(\\))"},{token:["storage.type.function.jade","entity.name.function.jade"],regex:"^(\\s*mixin)( [\\w\\-]+)"},{token:"source.js.embedded.jade",regex:"^\\s*(?:-|=|!=)",next:"js-start"},{token:"string.interpolated.jade",regex:"[#!]\\{[^\\}]+\\}"},{token:"meta.tag.any.jade",regex:/^\s*(?!\w+\:)(?:[\w]+|(?=\.|#)])/,next:"tag_single"},{token:"suport.type.attribute.id.jade",regex:"#\\w+"},{token:"suport.type.attribute.class.jade",regex:"\\.\\w+"},{token:"punctuation",regex:"\\s*(?:\\()",next:"tag_attributes"}],comment_block:[{regex:/^\s*/,onMatch:function(e,t,n){return e.length<=n[1]?(n.shift(),n.shift(),this.next=n.shift(),"text"):(this.next="","comment")},next:"start"},{defaultToken:"comment"}],tag_single:[{token:"entity.other.attribute-name.class.jade",regex:"\\.[\\w-]+"},{token:"entity.other.attribute-name.id.jade",regex:"#[\\w-]+"},{token:["text","punctuation"],regex:"($)|((?!\\.|#|=|-))",next:"start"}],tag_attributes:[{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"entity.other.attribute-name.jade",regex:"\\b[a-zA-Z\\-:]+"},{token:["entity.other.attribute-name.jade","punctuation"],regex:"\\b([a-zA-Z:\\.-]+)(=)",next:"attribute_strings"},{token:"punctuation",regex:"\\)",next:"start"}],attribute_strings:[{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.language.escape",regex:e},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"tag_attributes"}],qstring:[{token:"constant.language.escape",regex:e},{token:"string",regex:"[^'\\\\]+"},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"tag_attributes"}]},this.embedRules(f,"js-",[{token:"text",regex:".$",next:"start"}])};r.inherits(c,i),t.JadeHighlightRules=c}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){function c(e,t){return{token:"support.function",regex:"^```"+e+"\\s*$",push:t+"start"}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./css_highlight_rules").CssHighlightRules,l=function(e){return"(?:[^"+i.escapeRegExp(e)+"\\\\]|\\\\.)*"},h=function(){a.call(this),this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s*[^ #]|\s+#.)/,next:"header"},c("(?:javascript|js)","jscode-"),c("xml","xmlcode-"),c("html","htmlcode-"),c("css","csscode-"),{token:"support.function",regex:"^```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",next:"githubblock"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+l("]")+")(\\]s*\\[)("+l("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\[)("+l("]")+")(\\]\\()"+'((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)'+'(\\s*"'+l('"')+'"\\s*)?'+"(\\))"},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:[{token:"support.function",regex:"^```",next:"start"},{token:"support.function",regex:".+"}]}),this.embedRules(o,"jscode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.embedRules(a,"htmlcode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.embedRules(f,"csscode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.embedRules(u,"xmlcode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.normalizeRules()};r.inherits(h,s),t.MarkdownHighlightRules=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]}};r.inherits(o,s),t.LessHighlightRules=o}),ace.define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){function s(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="this|throw|then|try|typeof|super|switch|return|break|by|continue|catch|class|in|instanceof|is|isnt|if|else|extends|for|own|finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|or|on|unless|until|and|yes",n="true|false|null|undefined|NaN|Infinity",r="case|const|default|function|var|void|with|enum|export|implements|interface|let|package|private|protected|public|static|yield|__hasProp|slice|bind|indexOf",i="Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray",s="Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|encodeURIComponent|decodeURI|decodeURIComponent|String|",o="window|arguments|prototype|document",u=this.createKeywordMapper({keyword:t,"constant.language":n,"invalid.illegal":r,"language.support.class":i,"language.support.function":s,"variable.language":o},"identifier"),a={token:["paren.lparen","variable.parameter","paren.rparen","text","storage.type"],regex:/(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()\"'\/])*?)(\))(\s*))?([\-=]>)/.source},f=/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;this.$rules={start:[{token:"constant.numeric",regex:"(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"},{stateName:"qdoc",token:"string",regex:"'''",next:[{token:"string",regex:"'''",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqdoc",token:"string",regex:'"""',next:[{token:"string",regex:'"""',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qstring",token:"string",regex:"'",next:[{token:"string",regex:"'",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"qqstring",token:"string.start",regex:'"',next:[{token:"string.end",regex:'"',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{stateName:"js",token:"string",regex:"`",next:[{token:"string",regex:"`",next:"start"},{token:"constant.language.escape",regex:f},{defaultToken:"string"}]},{regex:"[{}]",onMatch:function(e,t,n){this.next="";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.string"}return"paren"}},{token:"string.regex",regex:"///",next:"heregex"},{token:"string.regex",regex:/(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/},{token:"comment",regex:"###(?!#)",next:"comment"},{token:"comment",regex:"#.*"},{token:["punctuation.operator","text","identifier"],regex:"(\\.)(\\s*)("+r+")"},{token:"punctuation.operator",regex:"\\."},{token:["keyword","text","language.support.class","text","keyword","text","language.support.class"],regex:"(class)(\\s+)("+e+")(?:(\\s+)(extends)(\\s+)("+e+"))?"},{token:["entity.name.function","text","keyword.operator","text"].concat(a.token),regex:"("+e+")(\\s*)([=:])(\\s*)"+a.regex},a,{token:"variable",regex:"@(?:"+e+")?"},{token:u,regex:e},{token:"punctuation.operator",regex:"\\,|\\."},{token:"storage.type",regex:"[\\-=]>"},{token:"keyword.operator",regex:"(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"},{token:"paren.lparen",regex:"[({[]"},{token:"paren.rparen",regex:"[\\]})]"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?///[imgy]{0,4}",next:"start"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],comment:[{token:"comment",regex:"###",next:"start"},{defaultToken:"comment"}]},this.normalizeRules()}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules;r.inherits(s,i),t.CoffeeHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/java_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while",t="null|Infinity|NaN|undefined",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.JavaHighlightRules=o}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-javascript.js b/static/js/lib/ace/src-min-noconflict/mode-javascript.js new file mode 100644 index 0000000..592c3cc --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-javascript.js @@ -0,0 +1 @@ +ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-json.js b/static/js/lib/ace/src-min-noconflict/mode-json.js new file mode 100644 index 0000000..b80f874 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-json.js @@ -0,0 +1 @@ +ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./json_highlight_rules").JsonHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=e("../worker/worker_client").WorkerClient,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f};r.inherits(c,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new l(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations([t.data])}),t.on("ok",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-jsoniq.js b/static/js/lib/ace/src-min-noconflict/mode-jsoniq.js new file mode 100644 index 0000000..69def54 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-jsoniq.js @@ -0,0 +1 @@ +ace.define("ace/mode/jsoniq",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/xquery/JSONiqLexer","ace/range","ace/mode/behaviour/xquery","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./xquery/JSONiqLexer").JSONiqLexer,o=e("../range").Range,u=e("./behaviour/xquery").XQueryBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.$tokenizer=new s,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=t.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return i&&(r+=n),r},this.checkOutdent=function(e,t,n){return/^\s+$/.test(t)?/^\s*[\}\)]/.test(n):!1},this.autoOutdent=function(e,t,n){var r=t.getLine(n),i=r.match(/^(\s*[\}\)])/);if(!i)return 0;var s=i[1].length,u=t.findMatchingBracket({row:n,column:s});if(!u||u.row==n)return 0;var a=this.$getIndent(t.getLine(u.row));t.replace(new o(n,0,n,s-1),a)},this.toggleCommentLines=function(e,t,n,r){var i,s,u=!0,a=/^\s*\(:(.*):\)/;for(i=n;i<=r;i++)if(!a.test(t.getLine(i))){u=!1;break}var f=new o(0,0,0,0);for(i=n;i<=r;i++)s=t.getLine(i),f.start.row=i,f.end.row=i,f.end.column=s.length,t.replace(f,u?s.match(a)[1]:"(:"+s+":)")},this.$id="ace/mode/jsoniq"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/xquery/JSONiqLexer",["require","exports","module","ace/mode/xquery/JSONiqTokenizer"],function(e,t,n){var r=e("./JSONiqTokenizer").JSONiqTokenizer,i=function(e){var t=e;this.tokens=[],this.reset=function(e){t=t,this.tokens=[]},this.startNonterminal=function(e,t){},this.endNonterminal=function(e,t){},this.terminal=function(e,n,r){this.tokens.push({name:e,value:t.substring(n,r)})},this.whitespace=function(e,n){this.tokens.push({name:"WS",value:t.substring(e,n)})}},s="NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|revalidation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit".split("|"),o=s.map(function(e){return{name:"'"+e+"'",token:"keyword"}}),u=s.map(function(e){return{name:"'"+e+"'",token:"text",next:function(e){e.pop()}}}),a="constant.language",f="constant",l="comment",c="xml-pe",h="constant.buildin",p={start:[{name:"'(#'",token:h,next:function(e){e.push("Pragma")}},{name:"'(:'",token:"comment",next:function(e){e.push("Comment")}},{name:"'(:~'",token:"comment.doc",next:function(e){e.push("CommentDoc")}},{name:"''",token:l,next:function(e){e.pop()}}],CData:[{name:"CDataSectionContents",token:a},{name:"']]>'",token:a,next:function(e){e.pop()}}],PI:[{name:"DirPIContents",token:c},{name:"'?'",token:c},{name:"'?>'",token:c,next:function(e){e.pop()}}],AposString:[{name:"''''",token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposChar",token:"string"}],QuotString:[{name:"'\"'",token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeQuot",token:"constant.language.escape"},{name:"QuotChar",token:"string"}]};t.JSONiqLexer=function(){function e(e){var t,n,r,e=e.slice(0).sort();t=e[0],r=t.length,n=e.pop();while(r&&n.indexOf(t)==-1)t=t.substring(0,--r);return t}this.tokens=[],this.getLineTokens=function(t,n,s){n=n==="start"||!n?'["start"]':n;var o=JSON.parse(n),u=new i(t),a=new r(t,u),f=[];for(;;){var l=o[o.length-1];try{u.tokens=[],a["parse_"+l]();var c=null;u.tokens.length>1&&u.tokens[0].name==="WS"&&(f.push({type:"text",value:u.tokens[0].value}),u.tokens.splice(0,1));var h=u.tokens[0],d=p[l];for(var v=0;vx?x:w),m=b,g=w,y=0):d(b,w,0,y,e)}function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}function c(e){var t;for(;;){t=C(e);if(t!=28)break}return t}function h(e){y==0&&(y=c(e),b=T,w=N)}function p(e){y==0&&(y=C(e),b=T,w=N)}function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o!=0;){var u,a=n>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]c){u=0;break}}}s=o;var p=(u<<12)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>4095&&(r=o,o&=4095,N=n)}r>>=12;if(r==0){N=n-1;var f=N=56320&&f<57344&&--N,d(T,N,s,-1,-1)}if(t)for(var v=r>>9;v>0;--v){--N;var f=N=56320&&f<57344&&--N}else N-=r>>9;return(r&511)-1}r(e,t);var n=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return S},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=S.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+S.substring(e.getBegin(),Math.min(S.length,e.getBegin()+64))+"..."},this.parse_start=function(){E.startNonterminal("start",g),h(14);switch(y){case 55:f(55);break;case 54:f(54);break;case 56:f(56);break;case 40:f(40);break;case 42:f(42);break;case 41:f(41);break;case 35:f(35);break;case 38:f(38);break;case 274:f(274);break;case 271:f(271);break;case 39:f(39);break;case 43:f(43);break;case 49:f(49);break;case 62:f(62);break;case 63:f(63);break;case 46:f(46);break;case 48:f(48);break;case 53:f(53);break;case 51:f(51);break;case 34:f(34);break;case 273:f(273);break;case 2:f(2);break;case 1:f(1);break;case 3:f(3);break;case 12:f(12);break;case 13:f(13);break;case 15:f(15);break;case 16:f(16);break;case 17:f(17);break;case 5:f(5);break;case 6:f(6);break;case 4:f(4);break;case 33:f(33);break;default:o()}E.endNonterminal("start",g)},this.parse_StartTag=function(){E.startNonterminal("StartTag",g),h(8);switch(y){case 58:f(58);break;case 50:f(50);break;case 27:f(27);break;case 57:f(57);break;case 35:f(35);break;case 38:f(38);break;default:f(33)}E.endNonterminal("StartTag",g)},this.parse_TagContent=function(){E.startNonterminal("TagContent",g),p(11);switch(y){case 23:f(23);break;case 6:f(6);break;case 7:f(7);break;case 55:f(55);break;case 54:f(54);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;default:f(33)}E.endNonterminal("TagContent",g)},this.parse_AposAttr=function(){E.startNonterminal("AposAttr",g),p(10);switch(y){case 20:f(20);break;case 25:f(25);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposAttr",g)},this.parse_QuotAttr=function(){E.startNonterminal("QuotAttr",g),p(9);switch(y){case 19:f(19);break;case 24:f(24);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotAttr",g)},this.parse_CData=function(){E.startNonterminal("CData",g),p(1);switch(y){case 11:f(11);break;case 64:f(64);break;default:f(33)}E.endNonterminal("CData",g)},this.parse_XMLComment=function(){E.startNonterminal("XMLComment",g),p(0);switch(y){case 9:f(9);break;case 47:f(47);break;default:f(33)}E.endNonterminal("XMLComment",g)},this.parse_PI=function(){E.startNonterminal("PI",g),p(3);switch(y){case 10:f(10);break;case 59:f(59);break;case 60:f(60);break;default:f(33)}E.endNonterminal("PI",g)},this.parse_Pragma=function(){E.startNonterminal("Pragma",g),p(2);switch(y){case 8:f(8);break;case 36:f(36);break;case 37:f(37);break;default:f(33)}E.endNonterminal("Pragma",g)},this.parse_Comment=function(){E.startNonterminal("Comment",g),p(4);switch(y){case 52:f(52);break;case 41:f(41);break;case 30:f(30);break;default:f(33)}E.endNonterminal("Comment",g)},this.parse_CommentDoc=function(){E.startNonterminal("CommentDoc",g),p(5);switch(y){case 31:f(31);break;case 32:f(32);break;case 52:f(52);break;case 41:f(41);break;default:f(33)}E.endNonterminal("CommentDoc",g)},this.parse_QuotString=function(){E.startNonterminal("QuotString",g),p(6);switch(y){case 18:f(18);break;case 29:f(29);break;case 19:f(19);break;case 21:f(21);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotString",g)},this.parse_AposString=function(){E.startNonterminal("AposString",g),p(7);switch(y){case 18:f(18);break;case 29:f(29);break;case 20:f(20);break;case 22:f(22);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposString",g)},this.parse_Prefix=function(){E.startNonterminal("Prefix",g),h(13),l(),a(),E.endNonterminal("Prefix",g)},this.parse__EQName=function(){E.startNonterminal("_EQName",g),h(12),l(),o(),E.endNonterminal("_EQName",g)};var v,m,g,y,b,w,E,S,x,T,N};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&4095;for(var i=0;i<276;i+=32){var s=i,o=(i>>5)*2062+n-1,u=o>>2,a=u>>2,f=r.EXPECTED[(o&3)+r.EXPECTED[(u&3)+r.EXPECTED[(a&3)+r.EXPECTED[a>>2]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,347,363,379,416,416,416,408,331,323,331,323,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,433,433,433,433,433,433,433,316,331,331,331,331,331,331,331,331,394,416,416,417,415,416,416,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,330,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35,35,35,35,35,35,35,35,35,35,35,35,31,31,35,35,35,35,35,35,35,65,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,35,31,35,31,31,35],r.INITIAL=[1,2,36867,45060,5,6,7,8,9,10,11,12,13,14,15],r.TRANSITION=[17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22874,18847,17152,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,17365,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,17470,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,18199,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,17890,17922,18742,17960,36550,17714,17976,18021,18738,18065,36544,18632,18081,18098,18114,18159,18185,18215,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17756,18816,18429,18445,18143,17393,18500,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18590,21686,17152,19027,19252,17687,19027,28677,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,17365,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,17470,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,18199,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,17890,17922,18742,17960,36550,17714,17976,18021,18738,18065,36544,18632,18081,18098,18114,18159,18185,18215,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17756,18816,18429,18445,18143,17393,18500,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20083,18847,18648,19027,19252,21242,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18774,18789,18805,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18832,22889,18925,19027,19252,17569,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18956,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,19073,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,18972,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21818,18847,19006,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21671,18847,19006,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22395,20098,18731,19027,19252,17687,19027,17173,23525,36436,17330,17349,18940,17189,17208,17281,17675,18129,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,20746,19130,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19043,18847,18620,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19100,22410,19006,19027,19252,17687,19027,19084,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21967,21982,19006,19027,19252,17687,19027,18701,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22380,18847,19006,19027,19252,30659,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,19157,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,19299,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,19191,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21758,18847,19006,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,19237,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21626,18847,19006,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19268,19284,19326,18482,27869,30509,24384,31417,23323,18482,19370,18482,18484,27202,19389,27202,27202,19411,24384,34295,24384,24384,25485,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,28530,19459,24384,24384,24384,24384,24017,18036,24041,18482,18482,18482,18484,19487,27202,27202,27202,27202,19503,35523,19539,24384,24384,24384,19647,18482,35623,18482,18482,23052,27202,19557,27202,27202,30764,23993,24384,19579,24384,24384,26758,18482,18482,19346,27867,27202,27202,19599,17590,23998,24384,24384,19619,25683,18482,18482,28511,27202,27203,23997,19639,19887,28419,18902,18483,19663,27202,24325,35844,19887,30991,19713,19395,19736,22259,19754,22073,19770,35154,19795,19816,19836,19859,25794,34248,24116,19720,19875,30988,23482,30981,28304,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21743,18847,19006,19027,19252,17431,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22365,18847,19907,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21641,18847,19326,18482,27869,30544,24384,29176,21442,18482,18482,18482,18484,27202,27202,27202,27202,19935,24384,24384,24384,24384,32316,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,28530,19965,24384,24384,24384,24384,31473,18475,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19988,24384,24384,24384,24384,24384,33654,18482,18482,18482,18482,23052,27202,27202,27202,27202,29523,29939,24384,24384,24384,24384,26114,18482,18482,18482,27867,27202,27202,27202,20017,22934,24384,24384,24384,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20068,19058,20158,20367,20884,17944,20276,20853,25651,20604,20460,20185,20209,17189,17208,17281,17675,20232,20273,20295,20338,22456,20777,20600,21329,20635,20365,20937,21207,17292,17421,21157,17192,21217,22425,20279,25549,22436,20276,20383,18983,20421,20446,21317,21051,20476,20322,20663,20490,17543,17559,17585,22463,20540,19523,20246,20556,20257,20430,20585,20620,20193,20651,17661,18368,17703,17730,17772,19513,20679,20692,22446,21027,21097,18990,21111,20708,20736,17744,17795,17874,17590,25536,20349,20762,20812,20169,20828,21376,17714,17976,18021,18560,20844,20569,25560,20869,20900,18114,18159,20916,20953,21013,21043,21067,18281,21083,18574,21127,21143,21181,20515,20930,20883,20504,21197,21233,21258,20524,20216,17405,21270,21286,21302,20720,20310,21345,21361,21392,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21952,18847,19006,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,21427,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,21479,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,36500,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,28667,21921,17617,36472,18265,17237,17477,19171,17902,17934,17744,17795,17874,21550,21509,17481,19175,17906,18742,17960,36550,17714,17976,21535,30636,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21773,18847,21587,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21611,18847,19006,19027,19252,18169,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21728,19115,21878,19027,19252,17687,19027,19310,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,17379,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,21906,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,18322,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21937,18605,19006,19027,19252,22018,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21656,21833,19006,19027,19252,17687,19027,21519,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,30621,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,31473,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,32253,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,21406,24384,24384,24384,24384,26114,18482,18482,18482,27867,27202,27202,27202,22171,22934,24384,24384,24384,22228,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,30621,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,31473,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,31154,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,21406,24384,24384,24384,24384,26114,18482,18482,18482,27867,27202,27202,27202,22171,22934,24384,24384,24384,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,31644,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,31473,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,31154,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,21406,24384,24384,24384,24384,26114,18482,18482,18482,27867,27202,27202,27202,22171,22934,24384,24384,24384,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,30621,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,33557,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,31154,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,21406,24384,24384,24384,24384,26114,18482,18482,18482,27867,27202,27202,27202,22171,22934,24384,24384,24384,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,34068,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22245,24384,24384,24384,24384,30621,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,31473,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,31154,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,21406,24384,24384,24384,24384,26114,18482,18482,18482,27867,27202,27202,27202,22171,22934,24384,24384,24384,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,18877,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,24017,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22290,18847,22034,18482,27869,34957,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,18877,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,24017,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,18877,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,24017,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,34436,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22320,18847,19006,19027,19252,17687,19027,17173,27077,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,19919,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21803,18847,19006,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22275,22479,19006,19027,19252,17687,19027,19141,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,22510,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22574,18847,22954,22970,27597,22986,23002,23033,22062,18482,18482,18482,23049,27202,27202,27202,23068,22096,24384,24384,24384,23088,31359,31082,19693,18482,28112,28225,19443,35045,27202,27202,23108,23139,23155,23178,24384,24384,23212,35330,31659,23228,18482,23256,23274,27795,26712,23293,35214,34879,33340,23312,18235,23359,32708,23949,24384,23380,35255,23429,18482,33884,23408,23448,27202,27202,23498,23518,21406,23541,24384,24384,23570,26114,23601,23623,18482,33444,23651,32875,27202,22171,18862,23702,36589,24384,18481,23731,32601,27202,23750,23768,20047,32969,24367,25677,18482,18483,27202,27202,19738,23870,23784,30991,18484,27202,31802,19425,19466,23052,23296,19847,28217,31795,23804,26925,34916,23831,26501,25793,23859,23895,23482,30981,22080,19438,27956,19678,29812,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22589,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,30621,18482,18482,18482,18482,28902,25794,27202,27202,27202,34019,23914,22148,24384,24384,24384,28393,23930,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,31154,26591,18482,18482,18482,31585,23965,27202,27202,27202,23986,22185,24014,24384,24384,24384,24033,18482,18482,18482,27867,27202,27202,27202,22171,22934,24384,24384,24384,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,26504,24057,24107,24132,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22604,18847,22034,19697,27869,24166,24384,24182,24198,26600,18482,18482,18484,24233,24249,27202,27202,22096,24268,24284,24384,24384,30621,19800,35427,35999,32609,18482,25794,24303,28959,23752,27202,35010,22148,24341,32040,26837,24383,31473,31659,18482,18482,18482,24784,18484,27202,27202,27202,27202,24401,19503,24384,24384,24384,24384,20134,31154,18482,18482,18482,27845,23052,27202,27202,33502,27202,30764,21406,24384,24384,22938,24384,26114,18482,36246,18482,27867,27202,24423,27202,22171,22934,24384,24442,24384,36762,28438,18482,34466,34508,35771,24461,24385,24477,25677,18482,36220,27202,27202,24498,30954,23715,30991,18484,27202,31802,19425,19466,23052,23296,24521,30990,27868,34251,30090,23343,24546,19856,25793,19779,30988,23482,26152,22080,19438,29824,24562,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22619,18847,22034,25767,22132,25325,23162,29176,24597,24091,23607,24656,26122,24680,24426,24696,28551,22096,24731,24445,24747,23364,30621,18482,18482,18482,18482,24781,25794,27202,27202,27202,34210,35010,22148,24384,24384,24384,33259,31473,22525,24087,24213,18482,18482,34908,24800,30419,27202,27202,32418,19503,29781,35065,24384,24384,19891,31154,24835,18482,18482,24854,29214,27202,27202,32006,27202,30764,35344,24384,24384,31544,24384,26114,33098,27814,27002,27867,34668,25625,24871,22171,22934,19214,34531,24889,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,18482,33615,27202,27202,24907,24930,23554,30991,18484,27202,31802,22199,19466,23052,23296,19847,30877,31015,24955,19859,24983,34248,30871,25793,19779,30988,23482,30981,22080,19438,24999,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22634,18847,25024,25040,31293,25056,25072,25088,22062,34734,24217,36253,34808,32637,25104,23072,32848,22245,36623,25120,30679,27356,30621,25136,26455,25174,25208,22540,23240,25224,25240,25256,25306,25341,25357,25418,25446,25470,26739,25522,31659,23635,25576,27398,25593,28592,25945,25617,27202,32546,27295,25641,25850,25667,24384,34758,25699,25716,22552,27787,30221,25756,25789,25810,25828,28333,28988,30764,21493,33405,25848,25866,25904,26114,31227,26677,30167,27867,25941,25961,27202,22171,22934,25977,25997,24384,23394,27775,25740,25270,26013,26048,26064,26104,26138,26178,26211,26230,26247,30500,26380,26282,28388,30991,33711,27202,33645,26324,36716,26353,26374,35300,30990,26396,26415,30927,26358,33832,26442,26471,26487,26520,23482,33146,26539,26555,27956,31266,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22649,18847,26576,26189,26616,25325,26643,29176,22062,26669,18482,18482,18484,26693,27202,27202,27202,22096,26728,24384,24384,24384,30621,18482,18482,18482,18482,26782,25794,27202,27202,27202,26258,35010,22148,24384,24384,24384,21571,31473,31659,18482,18482,33949,18482,18484,27202,27202,25812,27202,27202,19503,24384,24384,24384,26800,24384,31154,18482,18482,18482,35570,23052,27202,27202,27202,26817,30764,21406,24384,24384,24384,26836,26114,18482,18482,18482,27867,27202,27202,27202,22171,22934,24384,24384,24384,18481,18482,18482,27202,27202,35771,20047,24385,19887,25677,31882,18483,35699,27202,19738,26853,19887,30991,18484,27202,31802,19425,19466,23052,23296,26913,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,24967,31061,19438,26953,27663,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22664,18847,26990,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,23017,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,27024,24384,24384,24384,24384,24017,31659,18482,18482,27047,18482,18484,27202,27202,27331,27202,27202,27066,24384,24384,29025,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,26758,18482,18482,33957,27867,27202,27202,27093,17590,23998,24384,24384,27114,27135,36322,27153,27201,27219,28359,18229,34780,34405,27235,35972,27268,27293,27311,36040,33984,20980,31851,21453,30535,27347,32520,27372,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,26337,30118,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,27397,27414,27436,27452,27473,22062,18482,18482,30171,18484,27202,27202,27982,27202,22096,24384,24384,25700,24384,18877,18482,18482,18482,18482,18482,34013,27202,27202,27202,27202,29731,22148,24384,24384,24384,24384,27119,31659,27489,18482,18482,18482,18484,27185,27202,27202,27202,27202,19503,27457,24384,24384,24384,24384,19647,18482,18482,18482,27050,23052,27202,27202,27202,32469,30764,23993,24384,24384,24384,34982,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,20796,27202,29362,22110,33940,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22679,18847,22034,27508,27528,27553,35182,27569,22062,29693,26300,23258,27585,24715,27613,27202,27648,22096,36597,27698,24384,27733,18877,18482,27811,18482,27830,22046,27865,32194,27202,25158,27885,27913,22148,29458,24384,29977,34392,26750,27763,26889,18482,18482,27252,29886,27929,27202,27202,27202,27981,27998,28024,28045,24384,24384,28062,28081,28128,25506,28145,26088,28160,27202,28173,24640,28189,30764,31496,24384,28205,34154,36166,24939,28241,28259,28283,21463,33034,28320,28349,17590,20967,23092,28375,28409,28095,28435,28454,28474,28509,28527,20001,33682,25879,25677,18482,18483,27202,27202,19738,23870,19887,30272,28267,28546,28567,19425,28583,23052,23296,19847,19471,28608,28653,31075,25794,34248,19856,25793,19779,29644,35950,30318,22080,19438,27956,23123,28693,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,18482,27869,25325,24384,29176,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,18877,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,24017,22494,18482,18482,18482,18482,18484,25283,27202,27202,27202,27202,19503,29397,24384,24384,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22694,18847,28740,28775,28810,28834,28850,28873,28889,24142,28936,31945,36329,25290,28954,27632,28975,29004,24505,29020,25454,29041,23017,27512,29083,29103,30721,18482,23478,29123,24819,27202,29148,28920,27024,29166,23196,24384,29192,35529,31659,18482,18482,25601,32589,29211,27202,27202,31434,30700,29230,27066,24384,24384,24384,29255,29306,19647,18482,33383,18482,18482,23052,27202,29333,27202,27202,30764,23993,35925,24384,24384,24384,27717,36123,18482,18482,29350,29413,27202,35642,17590,21411,29432,24384,25981,18481,33866,18482,27202,26967,27203,23997,32729,19887,25677,18482,26897,27202,27202,29451,23870,24354,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,31737,19859,25794,34248,19856,29474,29539,29283,29581,29637,22080,32533,29501,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22709,18847,22034,29660,29512,25325,33242,29176,29682,27245,18482,29709,33286,26974,27202,29725,29747,22096,19221,24384,32702,29772,18877,26784,33892,28458,18482,18482,25794,29797,27202,29840,27202,35010,22148,35817,24384,29859,24384,24017,36756,25192,18482,18482,29879,18484,27202,29902,27202,26032,27202,29925,24384,29960,24384,33594,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,29239,29993,24384,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,31665,18482,18482,19603,27202,27203,23997,30013,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19949,19466,36661,19563,19847,30029,30128,30062,19859,25794,30078,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,30106,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22724,18847,30152,30187,30237,30288,30304,30344,22062,35616,32797,25773,18484,29909,34096,26820,27202,22096,24914,23189,29195,24384,18877,34444,30360,18482,18482,18482,23413,24707,27202,27202,27202,35010,30378,34990,24384,24384,24384,24017,29554,18482,18482,27137,18482,31281,30394,27202,27202,30413,30566,19503,30435,24384,24384,29969,35678,19647,28759,30455,35459,35606,23052,28724,30490,30525,30560,30764,23993,20123,30582,30606,30675,26291,33426,28938,27682,30695,23675,33466,28493,17590,23944,20405,34338,20997,32331,26308,30716,30737,24315,30756,21563,36372,30787,26653,24611,33177,32448,30814,31804,25430,25917,26523,18484,28818,31802,29269,19466,28297,34240,23815,26076,30842,30858,32115,30893,30915,32757,25793,30943,30988,23482,30981,30970,31007,27956,19678,29489,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22739,18847,31031,31047,32397,31098,31114,31170,22062,18482,29565,35577,36725,27202,33216,31186,24407,22096,24384,20142,31202,34301,27748,31218,33388,27166,18482,29087,27277,27202,31251,31309,27202,31328,31344,24384,31375,31391,24384,31410,31659,18482,36130,32801,18482,18484,27202,27202,31433,31450,27202,19503,24384,24384,31470,33588,24384,32977,18482,18482,18482,18482,30038,27202,27202,27202,27202,31489,32244,24384,24384,24384,24384,31512,18482,28755,18482,24634,35732,27202,27202,28637,31538,35788,24384,24384,19337,31986,18482,33208,25316,27203,29997,29863,19887,25677,18482,18483,27202,27202,19738,31560,19887,31601,32369,33316,30136,31629,19972,31681,31726,31753,31781,30046,31820,31847,25794,34282,19856,25793,19779,30988,23482,30981,22080,19438,27956,31867,30252,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22754,18847,22034,18909,30474,31902,24287,31918,31934,32767,35262,27008,29621,34103,19820,29416,33323,22096,27031,30439,29435,28857,29596,18482,18482,18482,31961,18482,25794,27202,27202,35038,27202,35010,22148,24384,24384,29389,24384,24017,31979,18482,26937,18482,18482,18484,27202,31454,32002,27202,27202,32022,24384,33015,32056,24384,24384,33690,18482,18482,33119,18482,23052,27202,27202,27624,27202,29756,32078,24384,24384,34332,24384,26758,18482,18482,18482,27867,27202,27202,27202,36691,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,31710,22155,33181,24252,32103,30990,27868,34251,19859,25794,34248,30265,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,32138,32166,32186,30826,33252,29067,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,23585,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,32210,24384,24384,24384,24384,24017,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,32233,24384,24384,24384,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,33857,18483,36057,27202,19738,35289,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22769,18847,32269,31613,34604,32285,32301,32351,22062,18482,32367,19354,32385,27202,32413,27098,32434,22096,24384,32485,20052,32506,18877,25396,23734,18482,18482,32562,32625,27202,32653,27202,23664,32673,32689,24384,32724,24384,25888,32745,34706,18482,27381,32783,24577,24838,32817,24873,32838,32864,27202,32899,32934,24384,32957,29317,24384,30798,26214,27678,33875,18482,23052,36352,27202,32993,27202,30764,23993,32087,24384,33013,24384,35853,18482,18482,30362,27965,27202,27202,33754,17590,20112,24384,24384,34576,20792,18482,18482,33031,27202,27203,36159,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,34554,24150,33050,33080,33114,27868,34251,23843,26560,31696,19856,25793,19779,30988,23482,30981,33135,22123,27956,23463,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22784,18847,33162,28106,33197,25325,33232,29176,22062,33275,35433,18482,18484,33302,26399,33339,27202,22096,33356,28065,33404,24384,18877,22229,18482,33421,18482,18482,33442,33460,24811,27202,27202,26627,22148,24758,35190,24384,24384,25925,29611,18482,18482,29290,25186,33482,33501,27202,27202,33518,36276,19503,33554,24384,24384,33573,32490,19647,18482,18482,31235,33610,23052,27202,27202,33631,27202,30764,23993,24384,24384,33670,24384,26862,27492,18482,33706,27867,32883,34639,27202,17590,32036,24765,23788,24384,18481,18482,18482,27202,27202,27203,33727,36097,19887,25677,18482,23334,27202,29150,19738,23870,35357,30328,18484,33748,34675,33770,19466,34050,33824,31831,30990,27868,34251,33848,28913,33908,19856,30469,33973,25385,36033,34e3,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22799,18847,34035,32576,34084,34119,34135,34170,34186,32150,36005,31522,31886,34202,34226,34267,29334,34317,34354,34378,34421,26801,18877,26195,29666,25402,18482,35091,25794,34460,34482,34504,25832,35010,22148,34524,34547,34570,19623,24017,36654,35111,24664,18482,32335,34592,31312,34620,34636,27202,34655,34691,28046,34750,34774,24384,33785,19647,34796,32170,34844,24581,33485,26704,34828,34860,35493,29132,36704,33800,35368,32941,34146,26758,34895,18482,18482,34932,34948,27202,32997,17590,29944,34973,24384,36296,25500,30202,35875,35006,35026,26266,20396,31146,35061,35081,35127,24623,28484,27897,19738,35143,35170,26162,28794,35206,35230,33064,35245,23052,23296,29054,30990,27868,34251,19859,25794,34248,24530,25147,35278,31765,35316,33370,22080,19438,27956,24072,28623,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22814,18847,22034,34720,34059,35384,20989,35400,35416,35449,18482,18482,23432,35475,27202,27202,27202,35509,31127,24384,24384,24384,35545,18482,26871,35101,35593,24855,25794,30397,23502,26024,35639,35658,22148,19541,19583,30590,35674,27709,35560,29107,18482,18482,18482,18484,27202,35694,27202,27202,27202,35715,24384,36580,24384,24384,24384,19647,30215,18482,18482,18482,23052,35731,27202,27202,27202,27537,22904,24384,24384,24384,24384,23879,35748,18482,18482,25008,35770,27202,27202,17590,20031,35787,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,23898,18484,34488,31802,25371,19466,23052,23296,26426,30990,27868,34251,19859,25794,35804,19856,27178,35833,33092,23482,30981,22080,22212,28705,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22829,18847,22034,35869,28716,25325,31137,29176,22062,26766,18482,22558,18484,23970,27202,29843,27202,22096,33732,24384,31394,24384,18877,18482,18482,26880,18482,18482,25794,27202,30740,27202,27202,35010,22148,24384,24891,24384,24384,24017,31659,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22844,18847,22034,27849,27869,35891,24384,35907,22062,18482,18482,18482,18484,27202,27202,27202,27202,22096,24384,24384,24384,24384,18877,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,24017,31575,18482,18482,18482,18482,26231,27202,27202,27202,27202,27202,19503,35923,24384,24384,24384,24384,19647,18482,28129,18482,18482,35941,27202,32822,27202,32657,30764,23993,24384,32217,24384,32062,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22859,18847,22034,35966,34820,25325,33931,29176,35988,18482,23277,18482,36021,27202,27202,36056,36073,22096,24384,24384,36096,33921,18877,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,35010,22148,24384,24384,24384,24384,24017,36113,18482,25577,18482,18482,18484,27202,27202,27324,27202,27202,36146,24384,24384,34362,24384,24384,19647,28243,18482,18482,18482,23052,30899,27202,27202,27202,23686,23993,33808,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22305,18847,22034,19373,27869,36182,24384,36198,22062,18482,18482,18482,18049,27202,27202,27202,35485,22096,24384,24384,24384,29371,18877,18482,36214,18482,28788,18482,25794,34872,27202,27420,27202,35010,22148,29380,24384,24482,24384,24017,31659,18482,36236,18482,18482,18484,27202,36080,27202,27202,27202,19503,24384,28029,24384,24384,24384,19647,18482,18482,32122,18482,35754,27202,27202,36269,27202,33531,23993,24384,24384,36292,24384,36312,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,25730,18482,18482,36345,27202,27203,19203,24385,19887,25677,31963,18483,27202,32462,19738,23870,36368,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22350,18847,36388,19027,19252,17687,36433,17173,17595,36436,17330,17349,18940,17189,17208,17281,17675,36452,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,17682,21701,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22335,18847,19006,19027,19252,17687,19027,21712,30771,36436,17330,17349,18940,17189,17208,17281,17675,17991,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21788,18847,36488,19027,19252,17687,19027,17173,17779,36436,17330,17349,18940,17189,17208,17281,17675,17810,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21165,21997,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21803,18847,19006,19027,19252,17687,19027,17173,30771,36436,17330,17349,18940,17189,17208,17281,17675,36516,17308,17327,17346,18937,18460,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,21217,21848,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21803,18847,19326,18482,27869,30764,24384,29176,28008,18482,18482,18482,18484,27202,27202,27202,27202,36566,24384,24384,24384,24384,22919,18482,18482,18482,18482,18482,25794,27202,27202,27202,27202,28530,36613,24384,24384,24384,24384,24017,18892,18482,18482,18482,18482,18484,27202,27202,27202,27202,27202,19503,24384,24384,24384,24384,24384,19647,18482,18482,18482,18482,23052,27202,27202,27202,27202,30764,23993,24384,24384,24384,24384,26758,18482,18482,18482,27867,27202,27202,27202,17590,23998,24384,24384,24384,18481,18482,18482,27202,27202,27203,23997,24385,19887,25677,18482,18483,27202,27202,19738,23870,19887,30991,18484,27202,31802,19425,19466,23052,23296,19847,30990,27868,34251,19859,25794,34248,19856,25793,19779,30988,23482,30981,22080,19438,27956,19678,27944,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,36639,36677,18731,19027,19252,17687,19027,17454,17595,36436,17330,17349,18940,17189,17208,17281,17675,17223,17308,17327,17346,18937,36741,21855,18660,18676,19025,17265,22008,17292,17421,21157,17192,17682,21701,17311,18669,19018,19027,17447,32909,17497,17520,17251,36410,17824,20322,20663,20490,17543,17559,17585,21862,17504,17527,17258,36417,21890,21915,17611,36466,18259,17633,17661,18368,17703,17730,17772,33538,21921,17617,36472,18265,36530,17477,19171,17902,17934,17744,17795,17874,17590,21595,17481,19175,17906,18742,17960,36550,17714,17976,18021,18738,18692,18413,18632,18081,18098,18114,18159,18185,18717,18094,18251,18292,18281,18308,18005,18338,18354,18384,17849,36402,19251,17838,17163,30650,18400,17858,32918,17645,18816,18429,18445,18530,17393,18758,18516,18546,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,0,94242,0,118820,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2482176,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,27,27,27,2207744,2404352,2412544,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3104768,2605056,2207744,2207744,2207744,2207744,2207744,2207744,2678784,2207744,2695168,2207744,2703360,2207744,2711552,2752512,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,0,2158592,2158592,3170304,3174400,2158592,0,139,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2158592,2158592,2158592,2863104,2891776,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2785280,2207744,2809856,2207744,2207744,2842624,2207744,2207744,2207744,2899968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2564096,2207744,2207744,2207744,2158592,2404352,2412544,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2605056,2158592,2158592,2158592,2158592,2158592,2158592,2678784,2158592,2695168,2158592,2703360,2158592,2711552,2752512,2158592,2158592,2785280,2158592,2158592,2785280,2158592,2809856,2158592,2158592,2842624,2158592,2158592,2158592,2899968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,18,0,0,0,0,0,0,0,2211840,0,0,641,0,2158592,0,0,0,0,0,0,0,0,2211840,0,0,32768,0,2158592,0,2158592,2158592,2158592,2383872,2158592,2158592,2158592,2158592,3006464,2383872,2207744,2207744,2207744,2207744,2158877,2158877,2158877,2158877,0,0,0,2158877,2572573,2158877,2158877,0,2207744,2207744,2596864,2207744,2207744,2207744,2207744,2207744,2207744,2641920,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162968,0,0,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,0,0,2146304,2146304,2224128,2224128,2232320,2232320,2232320,641,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2531328,2158592,2158592,2158592,2158592,2158592,2617344,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,2158592,2502656,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2158592,2158592,2158592,2158592,2158592,2699264,2158592,2158592,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2207744,2863104,2891776,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3018752,2207744,3043328,2207744,2207744,2207744,2207744,3080192,2207744,2207744,3112960,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,167936,0,0,2162688,0,0,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2158592,2158592,2158592,2404352,2412544,2158592,2510848,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2584576,2158592,2609152,2158592,2158592,2629632,2158592,2158592,2158592,2686976,2158592,2715648,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2158592,2158592,3170304,3174400,2158592,2367488,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,0,2207744,2207744,2207744,2433024,2207744,2453504,2461696,2207744,2207744,2207744,2207744,2207744,2207744,2510848,2207744,2207744,2207744,2207744,2207744,2207744,3096576,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,0,2715648,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2867200,2207744,2904064,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2473984,2207744,2207744,2494464,2207744,2207744,2207744,2523136,2207744,2207744,2207744,2207744,3014656,2207744,2207744,3051520,2207744,2207744,3100672,2207744,2207744,3121152,2207744,2207744,2207744,2207744,2207744,2531328,2207744,2207744,2207744,2207744,2207744,2617344,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,1508,2207744,3149824,2207744,2207744,3170304,3174400,2207744,0,0,0,0,0,0,0,0,0,0,138,2158592,2158592,2158592,2404352,2412544,2707456,2732032,2207744,2207744,2207744,2822144,2826240,2207744,2895872,2207744,2207744,2924544,2207744,2207744,2973696,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,285,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3186688,2158592,2207744,2207744,2158592,2158592,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2158592,0,0,2535424,2543616,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2990080,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2572288,2981888,2207744,2207744,3002368,2207744,3047424,3063808,3076096,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3203072,2708960,2732032,2158592,2158592,2158592,2822144,2827748,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2981888,2158592,2158592,3002368,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2981888,2158592,2158592,3003876,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,172310,279,0,2162688,0,0,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2908160,2527232,2207744,2207744,2576384,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2908160,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,286,2158592,2158592,0,0,2158592,2158592,2158592,2158592,2633728,2658304,0,0,2740224,2744320,0,2834432,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,0,0,29315,0,0,0,0,45,45,45,45,45,933,45,45,45,45,442,45,45,45,45,45,45,45,45,45,67,67,2494464,2158592,2158592,2158592,2524757,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,1504,2158592,2498560,2158592,2158592,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,2736128,2158592,2158592,0,2158592,2912256,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3108864,2158592,2158592,3133440,3145728,3153920,2375680,2379776,2207744,2207744,2420736,2207744,2449408,2207744,2207744,2207744,2498560,2207744,2207744,2207744,2207744,2568192,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,551,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,2020,2158592,2592768,2625536,2207744,2207744,2674688,2736128,2207744,2207744,2207744,2912256,2207744,2207744,2207744,2207744,2207744,2207744,2207744,20480,0,0,0,0,0,2162688,20480,0,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,641,0,0,0,0,0,0,2367488,2158592,2498560,2158592,2158592,1621,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,1608,97,97,97,97,97,97,97,97,97,97,1107,97,97,1110,97,97,3133440,3145728,3153920,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3014656,2158592,2158592,3051520,2158592,2158592,3100672,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2416640,2207744,2465792,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2633728,2658304,2740224,2744320,2834432,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,32768,0,0,0,0,0,0,2367488,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2158592,2158592,2478080,2158592,2158592,2158592,2535424,2543616,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3117056,2207744,2207744,2478080,2207744,2207744,2207744,2207744,2207744,2584576,2207744,2609152,2207744,2207744,2629632,2207744,2207744,2207744,2686976,2207744,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158592,2158592,2478080,2207744,2207744,2990080,2207744,2207744,2158592,2158592,2482176,2158592,2158592,0,0,0,2158592,2158592,2158592,0,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,3010560,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158592,2428928,2158592,2514944,0,0,2158592,2588672,2158592,0,2838528,2158592,2158592,2158592,3010560,2158592,2506752,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,0,29315,922,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,3006464,2383872,0,2020,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,2207744,0,0,2158592,2637824,2953216,2158592,2539520,2158592,2539520,2207744,0,0,2539520,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,0,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2965504,2965504,2965504,0,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2474269,2158877,2158877,0,0,2158877,2158877,2158877,2158877,2634013,2658589,0,0,2740509,2744605,0,2834717,40976,18,36884,45078,24,28,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,36884,0,0,0,24,24,24,27,27,27,27,90143,0,0,86016,0,0,2211840,102439,0,0,0,98347,0,2158592,2158592,2158592,2158592,2158592,3158016,0,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,0,94242,0,0,0,2211840,102439,0,0,106538,98347,135,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2158592,2158592,2158592,2596864,2158592,2158592,2158592,2158592,2158592,2158592,2641920,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2494464,2158592,2158592,2158592,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,0,27,27,0,2158592,2498560,2158592,2158592,0,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2494464,2158592,2158592,2158592,3006464,2383872,0,0,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,40976,18,36884,45078,24,27,147488,94242,147456,147488,106538,98347,0,0,147456,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,81920,0,94242,0,0,0,2211840,0,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2428928,2158592,2514944,2158592,2588672,2158592,2838528,2158592,2158592,40976,18,151573,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,1487,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,0,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,1663,45,45,45,45,45,45,45,45,45,183,45,45,45,45,201,45,130,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,3096576,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,644,2207744,2207744,2207744,3186688,2207744,0,1080,0,1084,0,1088,0,0,0,0,0,0,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2531466,2158730,2158730,2158730,2158730,2158730,2617482,0,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2158592,2818048,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,159779,159744,102439,159779,98347,0,0,159744,40976,18,18,36884,0,45078,0,2224253,172032,2224253,2232448,2232448,172032,2232448,90143,0,0,2170880,0,0,550,829,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,124,124,127,127,127,40976,18,36884,45078,25,29,90143,94242,0,102439,106538,98347,0,0,163931,40976,18,18,36884,0,45078,249856,24,24,24,27,27,27,27,90143,0,0,2170880,0,0,827,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,4243810,4243810,24,24,27,27,27,2207744,0,0,0,0,0,0,2166784,0,0,0,0,57344,286,2158592,2158592,2158592,2158592,2707456,2732032,2158592,2158592,2158592,2822144,2826240,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,53248,0,0,0,0,0,97,97,97,97,97,1613,97,97,97,97,97,97,1495,97,97,97,97,97,97,97,97,97,566,97,97,97,97,97,97,2207744,0,0,0,0,0,0,2166784,546,0,0,0,0,286,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,17,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,120,121,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,2170880,0,53248,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,196608,18,266240,24,24,27,27,27,0,94242,0,0,0,38,102439,0,0,106538,98347,0,45,45,45,45,45,45,45,1535,45,45,45,45,45,45,45,1416,45,45,45,45,45,45,45,45,424,45,45,45,45,45,45,45,45,45,405,45,45,45,45,45,45,45,45,45,45,45,45,45,199,45,45,67,67,67,67,67,491,67,67,67,67,67,67,67,67,67,67,67,1766,67,67,67,1767,67,24850,24850,12564,12564,0,0,2166784,546,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,743,57889,0,2170880,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1856,45,1858,1859,67,67,67,1009,67,67,67,67,67,67,67,67,67,67,67,1021,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,0,2367773,2158877,2158877,2158877,2158877,2158877,2158877,2699549,2158877,2158877,2158877,2158877,2158877,2748701,2756893,2777373,2801949,97,1115,97,97,97,97,97,97,97,97,97,97,97,97,97,97,857,97,67,67,67,67,67,1258,67,67,67,67,67,67,67,67,67,67,67,1826,67,97,97,97,97,97,97,1338,97,97,97,97,97,97,97,97,97,97,97,97,97,870,97,97,67,67,67,1463,67,67,67,67,67,67,67,67,67,67,67,67,67,1579,67,67,97,97,97,1518,97,97,97,97,97,97,97,97,97,97,97,97,97,904,905,97,97,97,97,1620,97,97,97,97,97,97,97,97,97,97,97,0,921,0,0,0,0,0,0,45,1679,67,67,67,1682,67,67,67,67,67,67,67,67,67,1690,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,669,45,45,45,45,45,45,45,45,45,45,45,45,189,45,45,45,1748,45,45,45,1749,1750,45,45,45,45,45,45,45,45,67,67,67,67,1959,67,67,67,67,1768,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,1791,97,97,97,97,97,97,97,97,45,45,45,45,45,45,1802,67,1817,67,67,67,67,67,67,1823,67,67,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,1848,45,45,45,45,45,45,45,45,45,45,45,659,45,45,45,45,45,45,45,1863,67,67,67,67,67,67,67,67,67,67,67,67,495,67,67,67,67,67,1878,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,45,67,67,67,67,97,97,97,97,0,0,0,1973,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1165,97,1167,0,94242,0,0,0,2211840,102439,0,0,106538,98347,136,2158592,2158592,2158592,2158592,2158592,3158016,229376,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,67,24850,24850,12564,12564,0,0,280,547,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,1789,97,57889,547,547,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,1799,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1092,0,0,0,0,0,97,97,97,97,1612,97,97,97,97,1616,97,1297,1472,0,0,0,0,1303,1474,0,0,0,0,1309,1476,0,0,0,0,97,97,97,1481,97,97,97,97,97,97,1488,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,97,607,97,97,97,97,40976,18,36884,45078,26,30,90143,94242,0,102439,106538,98347,0,0,213080,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,143448,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,0,0,0,97,97,97,97,1482,97,1483,97,97,97,97,97,97,1326,97,97,1329,1330,97,97,97,97,97,97,1159,1160,97,97,97,97,97,97,97,97,590,97,97,97,97,97,97,97,0,94242,0,0,0,2211974,102439,0,0,106538,98347,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2474122,2158730,2158730,2494602,2158730,2158730,2158730,2809994,2158730,2158730,2842762,2158730,2158730,2158730,2900106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3014794,2158730,2158730,3051658,2158730,2158730,3100810,2158730,2158730,2158730,2158730,3096714,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,2207744,541,541,543,543,0,0,2166784,0,548,549,549,0,286,2158877,2158877,2158877,2863389,2892061,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3186973,2158877,0,0,0,0,0,0,0,0,2367626,2158877,2404637,2412829,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2564381,2158877,2158877,2605341,2158877,2158877,2158877,2158877,2158877,2158877,2679069,2158877,2695453,2158877,2703645,2158877,2711837,2752797,2158877,0,2158877,2158877,2158877,2384010,2158730,2158730,2158730,2158730,3006602,2383872,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2441216,2445312,2207744,2207744,2207744,2207744,2207744,2207744,2502656,2158877,2785565,2158877,2810141,2158877,2158877,2842909,2158877,2158877,2158877,2900253,2158877,2158877,2158877,2158877,2158877,2531613,2158877,2158877,2158877,2158877,2158877,2617629,2158877,2158877,2158877,2158877,2158730,2818186,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3105053,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,0,0,0,0,0,97,97,97,1611,97,97,97,97,97,97,97,1496,97,97,1499,97,97,97,97,97,2441354,2445450,2158730,2158730,2158730,2158730,2158730,2158730,2502794,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2433162,2158730,2453642,2461834,2158730,2158730,2158730,2158730,2158730,2158730,2580618,2158730,2158730,2158730,2158730,2621578,2158730,2158730,2158730,2158730,2158730,2158730,2699402,2158730,2158730,2158730,2158730,2678922,2158730,2695306,2158730,2703498,2158730,2711690,2752650,2158730,2158730,2785418,2158730,2158730,2158730,3113098,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3186826,2158730,2207744,2207744,2207744,2207744,2699264,2207744,2207744,2207744,2207744,2207744,2748416,2756608,2777088,2801664,2207744,2207744,2158877,2158877,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,0,0,2535709,2543901,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2990365,2158877,2158877,2158730,2158730,2158730,2158730,2158730,2572426,2158877,2502941,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2580765,2158877,2158877,2158877,2158877,2621725,2158877,3019037,2158877,3043613,2158877,2158877,2158877,2158877,3080477,2158877,2158877,3113245,2158877,2158877,2158877,2158877,0,2158877,2908445,2158877,2158877,2158877,2978077,2158877,2158877,2158877,2158877,3039517,2158877,2158730,2510986,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2584714,2158730,2609290,2158730,2158730,2629770,2158730,2158730,2158730,2388106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2605194,2158730,2158730,2158730,2158730,2687114,2158730,2715786,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2867338,2158730,2904202,2158730,2158730,2158730,2642058,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2781322,2793610,2158730,3121290,2158730,2158730,2158730,3149962,2158730,2158730,3170442,3174538,2158730,2367488,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2580480,2207744,2207744,2207744,2207744,2621440,2207744,2207744,2158877,2433309,2158877,2453789,2461981,2158877,2158877,2158877,2158877,2158877,2158877,2511133,2158877,2158877,2158877,2158877,2584861,2158877,2609437,2158877,2158877,2629917,2158877,2158877,2158877,2687261,2158877,2715933,2158877,2158730,2158730,2973834,2158730,2982026,2158730,2158730,3002506,2158730,3047562,3063946,3076234,2158730,2158730,2158730,2158730,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158877,2507037,0,0,2158877,2158730,2158730,2158730,3203210,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,823,0,825,2707741,2732317,2158877,2158877,2158877,2822429,2826525,2158877,2896157,2158877,2158877,2924829,2158877,2158877,2973981,2158877,18,0,0,0,0,0,0,0,2211840,0,0,642,0,2158592,0,45,1529,45,45,45,45,45,45,45,45,45,45,45,45,45,1755,45,67,67,2982173,2158877,2158877,3002653,2158877,3047709,3064093,3076381,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3203357,2523274,2527370,2158730,2158730,2576522,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2908298,2494749,2158877,2158877,2158877,2523421,2527517,2158877,2158877,2576669,2158877,2158877,2158877,2158877,2158877,2158877,0,40976,0,18,18,4321280,2224253,2232448,4329472,2232448,2158730,2498698,2158730,2158730,2158730,2158730,2568330,2158730,2592906,2625674,2158730,2158730,2674826,2736266,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2158730,2912394,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3109002,2158730,2158730,3133578,3145866,3154058,2375680,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375965,2380061,2158877,2158877,2421021,2158877,2449693,2158877,2158877,2158877,3117341,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3104906,2158730,2158730,2158730,2158730,2158730,2158730,2158877,2498845,2158877,2158877,0,2158877,2158877,2568477,2158877,2593053,2625821,2158877,2158877,2674973,0,0,0,0,97,97,1480,97,97,97,97,97,1485,97,97,97,0,97,97,1729,97,1731,97,97,97,97,97,97,97,311,97,97,97,97,97,97,97,97,1520,97,97,1523,97,97,1526,97,2736413,2158877,2158877,0,2158877,2912541,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3109149,2158877,2158877,3014941,2158877,2158877,3051805,2158877,2158877,3100957,2158877,2158877,3121437,2158877,2158877,2158877,3150109,3133725,3146013,3154205,2158730,2408586,2416778,2158730,2465930,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3018890,2158730,3043466,2158730,2158730,2158730,2158730,3080330,2633866,2658442,2740362,2744458,2834570,2949258,2158730,2986122,2158730,2998410,2158730,2158730,2158730,3129482,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158877,2408733,2416925,2158877,2466077,2158877,2158877,3170589,3174685,2158877,0,0,0,2158730,2158730,2158730,2158730,2158730,2424970,2158730,2158730,2158730,2158730,2707594,2732170,2158730,2158730,2158730,2822282,2826378,2158730,2896010,2158730,2158730,2924682,2949405,2158877,2986269,2158877,2998557,2158877,2158877,2158877,3129629,2158730,2158730,2478218,2158730,2158730,2158730,2535562,2543754,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3117194,2207744,2207744,2478080,2207744,2207744,2207744,2207744,2781184,2793472,2207744,2818048,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,541,0,543,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158877,2158877,2478365,0,2158877,2158877,2158877,2158877,2158877,2158877,2158730,2158730,2482314,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,542,0,544,2158730,2158730,2158730,2990218,2158730,2158730,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,135,0,2207744,2207744,2990080,2207744,2207744,2158877,2158877,2482461,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,2158877,2158730,2429066,2158730,2515082,2158730,2588810,2158730,2838666,2158730,2158730,2158730,3010698,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158877,2429213,2158877,2515229,0,0,2158877,2588957,2158877,0,2838813,2158877,2158877,2158877,3010845,2158730,2506890,2158730,2158730,2158730,2748554,2756746,2777226,2801802,2158730,2158730,2158730,2863242,2891914,2158730,2158730,2158730,2158730,2158730,2158730,2564234,2158730,2158730,2158730,2158730,2158730,2597002,2158730,2158730,2158730,3006464,2384157,0,0,2158877,2158877,2158877,2158877,3006749,2158730,2637962,2953354,2158730,2207744,2637824,2953216,2207744,0,0,2158877,2638109,2953501,2158877,2539658,2158730,2539520,2207744,0,0,2539805,2158877,2158730,2158730,2158730,2977930,2158730,2158730,2158730,2158730,3039370,2158730,2158730,2158730,2158730,2158730,2158730,3158154,2207744,0,2158877,2158730,2207744,0,2158877,2158730,2207744,0,2158877,2965642,2965504,2965789,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,97,1484,97,97,97,97,2158592,18,0,122880,0,0,0,77824,0,2211840,0,0,0,0,2158592,0,356,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,45,1751,45,45,45,45,45,45,45,67,67,1427,67,67,67,67,67,1432,67,67,67,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,122880,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,1322,550,0,286,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,4329472,27,27,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,542,0,0,0,542,0,544,0,0,0,544,0,550,0,0,0,0,0,97,97,1610,97,97,97,97,97,97,97,97,898,97,97,97,97,97,97,97,0,94242,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,94242,237568,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,192512,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,94,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,96,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,12378,40976,18,18,36884,0,45078,0,24,24,24,126,126,126,126,90143,0,0,2170880,0,0,0,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,20480,40976,0,18,18,24,24,27,27,27,40976,18,36884,45078,24,27,90143,94242,241664,102439,106538,98347,0,0,20568,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,200797,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,0,0,44,0,0,20575,40976,18,36884,45078,24,27,90143,94242,0,41,41,41,0,0,1126400,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,89,40976,18,18,36884,0,45078,0,24,24,24,27,131201,27,27,90143,0,0,2170880,0,0,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,208896,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,0,0,0,0,0,0,2367488,32768,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2433024,2158592,2453504,2461696,2158592,2158592,2158592,2158592,2158592,2158592,2510848,2158592,2158592,2158592,2158592,40976,18,36884,245783,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,221184,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,180224,40976,18,18,36884,155648,45078,0,24,24,217088,27,27,27,217088,90143,0,0,2170880,0,0,828,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,233472,0,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,718,45,45,45,45,45,45,45,45,45,727,131427,0,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,45,1808,45,45,45,45,67,67,67,67,67,67,67,97,97,0,0,97,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,0,0,97,97,97,97,97,97,0,1788,97,97,0,97,2024,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,235,67,67,67,67,67,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,97,45,1798,45,45,1800,45,45,0,1472,0,0,0,0,0,1474,0,0,0,0,0,1476,0,0,0,0,1315,0,0,0,0,97,97,97,97,1320,97,97,0,0,97,97,97,97,97,97,1787,0,97,97,0,97,97,97,45,45,45,45,2029,45,67,67,67,67,2033,1527,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,663,67,24850,24850,12564,12564,0,57889,281,0,0,53531,53531,367,286,97,97,0,0,97,97,97,97,1786,97,0,0,97,97,0,1790,40976,19,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,262144,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,46,67,98,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,45,67,97,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,258048,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,1122423,40976,18,36884,45078,24,27,90143,94242,0,1114152,1114152,1114152,0,0,1114112,40976,18,36884,45078,24,27,90143,94242,37,102439,106538,98347,0,0,204800,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,57436,40976,18,36884,45078,24,27,33,33,0,33,33,33,0,0,0,40976,18,18,36884,0,45078,0,124,124,124,127,127,127,127,90143,0,0,2170880,0,0,550,0,2158877,2158877,2158877,2388253,2158877,2158877,2158877,2158877,2158877,2781469,2793757,2158877,2818333,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2867485,2158877,2904349,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3096861,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2441501,2445597,2158877,2158877,2158877,2158877,2158877,40976,122,123,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,936,2158592,4243810,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,935,45,45,45,715,45,45,45,45,45,45,45,723,45,45,45,45,45,1182,45,45,45,45,45,45,45,45,45,45,430,45,45,45,45,45,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,47,68,99,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,48,69,100,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,49,70,101,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,50,71,102,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,51,72,103,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,52,73,104,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,53,74,105,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,54,75,106,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,55,76,107,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,56,77,108,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,57,78,109,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,58,79,110,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,59,80,111,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,60,81,112,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,61,82,113,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,62,83,114,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,63,84,115,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,64,85,116,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,65,86,117,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,66,87,118,40976,18,36884,45078,24,27,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,0,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1314,0,0,0,0,0,0,97,97,97,97,97,1321,97,18,131427,0,0,0,0,0,0,362,0,0,365,0,367,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1360,97,97,131,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,145,149,45,45,45,45,45,174,45,179,45,185,45,188,45,45,202,67,255,67,67,269,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,292,296,97,97,97,97,97,321,97,326,97,332,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,646,335,97,97,349,97,97,0,40976,0,18,18,24,24,27,27,27,437,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,523,67,67,67,67,67,67,67,67,67,67,67,67,511,67,67,67,97,97,97,620,97,97,97,97,97,97,97,97,97,97,97,97,97,1501,1502,97,793,67,67,796,67,67,67,67,67,67,67,67,67,67,808,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,2052,67,67,67,67,813,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,830,97,97,97,97,97,97,97,97,97,315,97,97,97,97,97,97,841,97,97,97,97,97,97,97,97,97,854,97,97,97,97,97,97,589,97,97,97,97,97,97,97,97,97,867,97,97,97,97,97,97,97,891,97,97,894,97,97,97,97,97,97,97,97,97,97,906,45,937,45,45,940,45,45,45,45,45,45,948,45,45,45,45,45,734,735,67,737,67,738,67,740,67,67,67,45,967,45,45,45,45,45,45,45,45,45,45,45,45,45,45,435,45,45,45,980,45,45,45,45,45,45,45,45,45,45,45,45,45,415,45,45,67,67,1024,67,67,67,67,67,67,67,67,67,67,67,67,67,97,97,97,67,67,67,67,67,25398,1081,13112,1085,54074,1089,0,0,0,0,0,0,363,0,28809,0,139,45,45,45,45,45,45,1674,45,45,45,45,45,45,45,45,67,1913,67,1914,67,67,67,1918,67,67,97,97,97,97,1118,97,97,97,97,97,97,97,97,97,97,97,630,97,97,97,97,97,1169,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,45,1534,45,45,45,45,45,1538,45,45,45,45,1233,45,45,45,45,45,45,67,67,67,67,67,67,67,67,742,67,45,45,1191,45,45,45,45,45,45,45,45,45,45,45,45,45,454,67,67,67,67,1243,67,67,67,67,67,67,67,67,67,67,67,1251,67,0,0,97,97,97,97,45,45,67,67,2050,0,97,97,45,45,45,732,45,45,67,67,67,67,67,67,67,67,67,67,67,67,97,97,67,67,67,1284,67,67,67,67,67,67,67,67,67,67,67,67,772,67,67,67,1293,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,368,2158592,2158592,2158592,2404352,2412544,1323,97,97,97,97,97,97,97,97,97,97,97,1331,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,1737,97,1364,97,97,97,97,97,97,97,97,97,97,97,97,1373,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,647,45,45,1387,45,45,1391,45,45,45,45,45,45,45,45,45,45,410,45,45,45,45,45,1400,45,45,45,45,45,45,45,45,45,45,1407,45,45,45,45,45,941,45,943,45,45,45,45,45,45,951,45,67,1438,67,67,67,67,67,67,67,67,67,67,1447,67,67,67,67,67,67,799,67,67,67,804,67,67,67,67,67,67,67,1443,67,67,1446,67,67,67,67,67,67,67,1298,0,0,0,1304,0,0,0,1310,97,1491,97,97,97,97,97,97,97,97,97,97,1500,97,97,97,0,97,97,97,97,97,97,97,97,97,97,1736,97,45,45,1541,45,45,45,45,45,45,45,45,45,45,45,45,45,677,45,45,67,1581,67,67,67,67,67,67,67,67,67,67,67,67,67,67,791,792,67,67,67,67,1598,67,1600,67,67,67,67,67,67,67,67,1472,97,97,97,1727,97,97,97,97,97,97,97,97,97,97,97,97,97,1513,97,97,67,67,97,1879,97,1881,97,0,1884,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,1842,97,97,67,67,67,67,67,97,97,97,97,1928,0,0,0,97,97,97,97,97,97,45,45,45,45,45,1903,45,45,45,67,67,67,67,97,97,97,97,1971,0,0,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,0,45,45,45,1381,45,45,45,45,1976,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1747,809,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,97,907,97,97,97,97,97,97,97,97,97,97,97,638,0,0,0,0,1478,97,97,97,97,97,97,97,97,97,97,97,1150,97,97,97,97,67,67,67,67,1244,67,67,67,67,67,67,67,67,67,67,67,477,67,67,67,67,67,67,1294,67,67,67,67,0,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1324,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,1374,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,945,45,45,45,45,45,45,45,45,1908,45,45,1910,45,67,67,67,67,67,67,67,67,1919,67,0,0,97,97,97,97,45,2048,67,2049,0,0,97,2051,45,45,45,939,45,45,45,45,45,45,45,45,45,45,45,45,397,45,45,45,1921,67,67,1923,67,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1947,45,1935,0,0,0,97,1939,97,97,1941,97,45,45,45,45,45,45,382,389,45,45,45,45,45,45,45,45,1810,45,45,1812,67,67,67,67,67,256,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,336,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,45,371,373,45,45,45,955,45,45,45,45,45,45,45,45,45,45,45,45,413,45,45,45,457,459,67,67,67,67,67,67,67,67,473,67,478,67,67,482,67,67,485,67,67,67,67,67,67,67,67,67,67,67,67,67,97,1828,97,554,556,97,97,97,97,97,97,97,97,570,97,575,97,97,579,97,97,582,97,97,97,97,97,97,97,97,97,97,97,97,97,330,97,97,67,746,67,67,67,67,67,67,67,67,67,758,67,67,67,67,67,67,67,1587,67,1589,67,67,67,67,67,67,67,97,1706,97,97,97,1709,97,97,97,97,97,844,97,97,97,97,97,97,97,97,97,856,97,97,97,0,97,97,97,97,97,97,97,97,1735,97,97,97,0,97,97,97,97,97,97,97,1642,97,1644,97,97,890,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,67,67,67,67,1065,1066,67,67,67,67,67,67,67,67,67,67,532,67,67,67,67,67,67,67,1451,67,67,67,67,67,67,67,67,67,67,67,67,67,496,67,67,97,97,1505,97,97,97,97,97,97,97,97,97,97,97,97,97,593,97,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,1617,97,97,1635,0,1637,97,97,97,97,97,97,97,97,97,97,97,885,97,97,97,97,67,67,1704,67,67,67,67,97,97,97,97,97,97,97,97,97,565,572,97,97,97,97,97,97,97,97,1832,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,1946,45,45,67,67,67,67,67,97,1926,97,1927,97,0,0,0,97,97,1934,2043,0,0,97,97,97,2047,45,45,67,67,0,1832,97,97,45,45,45,981,45,45,45,45,45,45,45,45,45,45,45,45,1227,45,45,45,131427,0,0,0,0,362,0,365,28809,367,139,45,45,372,45,45,45,45,1661,1662,45,45,45,45,45,1666,45,45,45,45,45,1673,45,1675,45,45,45,45,45,45,45,67,1426,67,67,67,67,67,67,67,67,67,67,1275,67,67,67,67,67,45,418,45,45,420,45,45,423,45,45,45,45,45,45,45,45,959,45,45,962,45,45,45,45,458,67,67,67,67,67,67,67,67,67,67,67,67,67,67,483,67,67,67,67,504,67,67,506,67,67,509,67,67,67,67,67,67,67,753,67,67,67,67,67,67,67,67,467,67,67,67,67,67,67,67,555,97,97,97,97,97,97,97,97,97,97,97,97,97,97,580,97,97,97,97,601,97,97,603,97,97,606,97,97,97,97,97,97,848,97,97,97,97,97,97,97,97,97,1498,97,97,97,97,97,97,45,45,714,45,45,45,45,45,45,45,45,45,45,45,45,45,989,990,45,67,67,67,67,67,1011,67,67,67,67,1015,67,67,67,67,67,67,67,768,67,67,67,67,67,67,67,67,769,67,67,67,67,67,67,67,45,45,1179,45,45,45,45,45,45,45,45,45,45,45,45,45,1003,1004,67,1217,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,728,67,1461,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1034,67,97,1516,97,97,97,97,97,97,97,97,97,97,97,97,97,97,871,97,67,67,67,1705,67,67,67,97,97,97,97,97,97,97,97,97,567,97,97,97,97,97,97,97,97,97,97,1715,97,97,97,97,97,97,97,97,97,0,0,0,45,45,1380,45,45,45,45,45,67,67,97,97,97,97,97,0,0,0,97,1887,97,97,0,0,97,97,97,0,97,97,97,97,97,2006,45,45,1907,45,45,45,45,45,67,67,67,67,67,67,67,67,67,1920,67,97,0,2035,97,97,97,97,97,45,45,45,45,67,67,67,1428,67,67,67,67,67,67,1435,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,146,45,152,45,45,165,45,175,45,180,45,45,187,190,195,45,203,254,257,262,67,270,67,67,0,24850,12564,0,0,0,281,28809,53531,97,97,97,293,97,299,97,97,312,97,322,97,327,97,97,334,337,342,97,350,97,97,0,40976,0,18,18,24,24,27,27,27,67,484,67,67,67,67,67,67,67,67,67,67,67,67,67,499,97,581,97,97,97,97,97,97,97,97,97,97,97,97,97,596,648,45,650,45,651,45,653,45,45,45,657,45,45,45,45,45,45,1954,67,67,67,1958,67,67,67,67,67,67,67,783,67,67,67,788,67,67,67,67,680,45,45,45,45,45,45,45,45,688,689,691,45,45,45,45,45,983,45,45,45,45,45,45,45,45,45,45,947,45,45,45,45,952,45,45,698,699,45,45,702,703,45,45,45,45,45,45,45,711,744,67,67,67,67,67,67,67,67,67,757,67,67,67,67,761,67,67,67,67,765,67,767,67,67,67,67,67,67,67,67,775,776,778,67,67,67,67,67,67,785,786,67,67,789,790,67,67,67,67,67,67,1574,67,67,67,67,67,1578,67,67,67,67,67,67,1012,67,67,67,67,67,67,67,67,67,468,475,67,67,67,67,67,67,67,67,67,67,798,67,67,67,802,67,67,67,67,67,67,67,67,1588,67,67,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,67,810,67,67,67,67,67,67,67,67,67,821,25398,542,13112,544,57889,0,0,54074,54074,550,0,833,97,835,97,836,97,838,97,97,0,0,97,97,97,1785,97,97,0,0,97,97,0,97,97,1979,97,97,45,45,1983,45,1984,45,45,45,45,45,652,45,45,45,45,45,45,45,45,45,45,690,45,45,694,45,45,97,842,97,97,97,97,97,97,97,97,97,855,97,97,97,97,0,1717,1718,97,97,97,97,97,1722,97,0,0,859,97,97,97,97,863,97,865,97,97,97,97,97,97,97,97,604,97,97,97,97,97,97,97,873,874,876,97,97,97,97,97,97,883,884,97,97,887,888,97,18,131427,0,0,0,0,0,0,362,225280,0,365,0,367,0,45,45,45,1531,45,45,45,45,45,45,45,45,45,45,45,1199,45,45,45,45,45,97,97,908,97,97,97,97,97,97,97,97,97,919,638,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2425117,2158877,2158877,2158877,2158877,2158877,2158877,2597149,2158877,2158877,2158877,2158877,2158877,2158877,2642205,2158877,2158877,2158877,2158877,2158877,3158301,0,2375818,2379914,2158730,2158730,2420874,2158730,2449546,2158730,2158730,953,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,965,978,45,45,45,45,45,45,985,45,45,45,45,45,45,45,45,971,45,45,45,45,45,45,45,67,67,67,67,67,1027,67,1029,67,67,67,67,67,67,67,67,67,1455,67,67,67,67,67,67,67,1077,1078,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,366,0,139,2158730,2158730,2158730,2404490,2412682,1113,97,97,97,97,97,97,1121,97,1123,97,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1540,1155,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,615,1168,97,97,1171,1172,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,1533,45,45,45,45,45,45,45,45,45,1559,1561,45,45,45,1564,45,1566,1567,45,45,45,1219,45,45,45,45,45,45,45,1226,45,45,45,45,45,168,45,45,45,45,45,45,45,45,45,45,427,45,45,45,45,45,45,45,1231,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,1242,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1046,67,67,1254,67,1256,67,67,67,67,67,67,67,67,67,67,67,67,806,807,67,67,97,1336,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1111,97,97,97,97,97,1351,97,97,97,1354,97,97,97,1359,97,97,97,0,97,97,97,97,1640,97,97,97,97,97,97,97,897,97,97,97,902,97,97,97,97,97,97,97,97,1366,97,97,97,97,97,97,97,1371,97,97,97,0,97,97,97,1730,97,97,97,97,97,97,97,97,915,97,97,97,97,0,360,0,67,67,67,1440,67,67,67,67,67,67,67,67,67,67,67,67,1017,67,1019,67,67,67,67,67,1453,67,67,67,67,67,67,67,67,67,67,1459,97,97,97,1493,97,97,97,97,97,97,97,97,97,97,97,97,97,1525,97,97,97,97,97,97,1507,97,97,97,97,97,97,97,97,97,97,1514,67,67,67,67,1584,67,67,67,67,67,1590,67,67,67,67,67,67,67,784,67,67,67,67,67,67,67,67,1055,67,67,67,67,1060,67,67,67,67,67,67,67,1599,1601,67,67,67,1604,67,1606,1607,67,1472,0,1474,0,1476,0,97,97,97,97,97,97,1614,97,97,97,97,45,45,1850,45,45,45,45,1855,45,45,45,45,45,1222,45,45,45,45,45,45,45,45,45,1229,97,1618,97,97,97,97,97,97,97,1625,97,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,447,45,45,45,45,45,67,67,1633,97,97,0,97,97,97,97,97,97,97,97,1643,1645,97,97,0,0,97,97,97,2002,97,97,97,97,97,45,45,45,45,45,1740,45,45,45,1744,45,45,45,97,1648,97,1650,1651,97,0,45,45,45,1654,45,45,45,45,45,169,45,45,45,45,45,45,45,45,45,45,658,45,45,45,45,664,45,45,1659,45,45,45,45,45,45,45,45,45,45,45,45,45,1187,45,45,1669,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,1005,67,67,1681,67,67,67,67,67,67,67,1686,67,67,67,67,67,67,67,800,67,67,67,67,67,67,67,67,67,1603,67,67,67,67,67,0,97,97,1713,97,0,97,97,97,97,97,97,97,97,97,0,0,0,1378,45,45,45,45,45,45,45,408,45,45,45,45,45,45,45,45,1547,45,1549,45,45,45,45,45,97,97,1780,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,2027,2028,45,45,67,67,2031,2032,67,45,45,1804,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1917,67,67,67,67,67,67,67,1819,67,67,67,67,67,67,67,67,97,97,97,1708,97,97,97,97,97,45,45,1862,67,67,67,67,67,67,67,67,67,67,67,67,67,497,67,67,67,1877,97,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,1839,0,0,97,97,97,97,1936,0,0,97,97,97,97,97,97,1943,1944,1945,45,45,45,45,670,45,45,45,45,674,45,45,45,45,678,45,1948,45,1950,45,45,45,45,1955,1956,1957,67,67,67,1960,67,1962,67,67,67,67,1967,1968,1969,97,0,0,0,97,97,1974,97,0,1936,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1906,0,1977,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,1746,45,45,45,45,2011,67,67,2013,67,67,67,2017,97,97,0,0,2021,97,8192,97,97,2025,45,45,45,45,45,45,67,67,67,67,67,1916,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,140,45,45,45,1180,45,45,45,45,1184,45,45,45,45,45,45,45,387,45,392,45,45,396,45,45,399,45,45,67,207,67,67,67,67,67,67,236,67,67,67,67,67,67,67,817,67,67,67,67,25398,542,13112,544,97,97,287,97,97,97,97,97,97,316,97,97,97,97,97,97,0,45,45,45,45,45,45,45,1656,1657,45,376,45,45,45,45,45,388,45,45,45,45,45,45,45,45,1406,45,45,45,45,45,45,45,67,67,67,67,462,67,67,67,67,67,474,67,67,67,67,67,67,67,1245,67,67,67,67,67,67,67,67,1013,67,67,1016,67,67,67,67,97,97,97,97,559,97,97,97,97,97,571,97,97,97,97,97,97,896,97,97,97,900,97,97,97,97,97,97,912,914,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,45,391,45,45,45,45,45,45,45,45,713,45,45,45,45,45,45,45,45,45,45,45,45,45,45,662,45,1140,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,636,67,67,1283,67,67,67,67,67,67,67,67,67,67,67,67,67,513,67,67,1363,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,889,97,97,97,1714,0,97,97,97,97,97,97,97,97,97,0,0,926,45,45,45,45,45,45,45,45,672,45,45,45,45,45,45,45,45,686,45,45,45,45,45,45,45,45,944,45,45,45,45,45,45,45,45,1676,45,45,45,45,45,45,67,97,97,97,1833,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1902,45,45,45,45,45,957,45,45,45,45,961,45,963,45,45,45,67,97,2034,0,97,97,97,97,97,2040,45,45,45,2042,67,67,67,67,67,67,1586,67,67,67,67,67,67,67,67,67,469,67,67,67,67,67,67,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,1414,45,45,45,45,45,45,45,45,45,45,428,45,45,45,45,45,57889,0,0,54074,54074,550,831,97,97,97,97,97,97,97,97,97,568,97,97,97,97,578,97,45,45,968,45,45,45,45,45,45,45,45,45,45,45,45,45,1228,45,45,67,67,67,67,67,25398,1082,13112,1086,54074,1090,0,0,0,0,0,0,364,0,0,0,139,2158592,2158592,2158592,2404352,2412544,67,67,67,67,1464,67,67,67,67,67,67,67,67,67,67,67,510,67,67,67,67,97,97,97,97,1519,97,97,97,97,97,97,97,97,97,97,97,918,97,0,0,0,0,1528,45,45,45,45,45,45,45,45,45,45,45,45,45,45,976,45,1554,45,45,45,45,45,45,45,45,1562,45,45,1565,45,45,45,45,683,45,45,45,687,45,45,692,45,45,45,45,45,1953,45,67,67,67,67,67,67,67,67,67,1014,67,67,67,67,67,67,1568,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,0,67,67,67,67,67,1585,67,67,67,67,67,67,67,67,67,1594,97,97,1649,97,97,97,0,45,45,1653,45,45,45,45,45,45,383,45,45,45,45,45,45,45,45,45,986,45,45,45,45,45,45,45,45,1670,45,1672,45,45,45,45,45,45,45,45,45,45,67,736,67,67,67,67,67,741,67,67,67,1680,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1074,67,67,67,1692,67,67,67,67,67,67,67,1697,67,1699,67,67,67,67,67,67,1041,67,67,67,67,67,67,67,67,67,1044,67,67,67,67,67,67,67,1769,67,67,67,67,67,67,67,97,97,97,97,97,97,97,624,97,97,97,97,97,97,634,97,97,1792,97,97,97,97,97,97,97,45,45,45,45,45,45,45,958,45,45,45,45,45,45,964,45,150,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,977,204,45,67,67,67,217,67,67,67,67,67,67,67,67,67,67,787,67,67,67,67,67,67,67,67,67,67,271,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,297,97,97,97,97,97,97,97,97,97,97,97,1108,97,97,97,97,97,97,97,97,351,97,0,40976,0,18,18,24,24,27,27,27,45,45,938,45,45,45,45,45,45,45,45,45,45,45,45,45,1398,45,45,45,153,45,161,45,45,45,45,45,45,45,45,45,45,45,45,660,661,45,45,205,45,67,67,67,67,220,67,228,67,67,67,67,67,67,67,0,0,0,1302,0,0,0,1308,0,67,67,67,67,67,272,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,352,97,0,40976,0,18,18,24,24,27,27,27,45,439,45,45,45,45,45,445,45,45,45,452,45,45,67,67,212,216,67,67,67,67,67,241,67,246,67,252,67,67,486,67,67,67,67,67,67,67,494,67,67,67,67,67,67,67,1272,67,67,67,67,67,67,67,67,507,67,67,67,67,67,67,67,67,521,67,67,525,67,67,67,67,67,531,67,67,67,538,67,0,0,2046,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1192,45,45,45,45,45,45,45,45,45,45,45,45,1418,45,45,1421,97,97,583,97,97,97,97,97,97,97,591,97,97,97,97,97,97,913,97,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,1384,97,618,97,97,622,97,97,97,97,97,628,97,97,97,635,97,18,131427,0,0,0,639,0,132,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,932,45,45,45,45,45,1544,45,45,45,45,45,1550,45,45,45,45,45,1194,45,1196,45,45,45,45,45,45,45,45,999,45,45,45,45,45,67,67,45,45,667,45,45,45,45,45,45,45,45,45,45,45,45,45,1408,45,45,45,696,45,45,45,701,45,45,45,45,45,45,45,45,710,45,45,45,1220,45,45,45,45,45,45,45,45,45,45,45,45,194,45,45,45,729,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,797,67,67,67,67,67,67,805,67,67,67,67,67,67,67,1695,67,67,67,67,67,1700,67,1702,67,67,67,67,67,814,816,67,67,67,67,67,25398,542,13112,544,67,67,1008,67,67,67,67,67,67,67,67,67,67,67,1020,67,0,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,45,67,67,67,67,1429,67,1430,67,67,67,67,67,1062,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,518,1076,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,97,97,97,97,1102,97,97,97,97,97,97,97,97,97,97,97,1124,97,1126,97,97,1114,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1112,97,97,1156,97,97,97,97,97,97,97,97,97,97,97,97,97,594,97,97,97,97,1170,97,97,97,97,0,921,0,0,0,0,0,0,45,45,45,45,1532,45,45,45,45,1536,45,45,45,45,45,172,45,45,45,45,45,45,45,45,45,45,706,45,45,709,45,45,1177,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1202,45,1204,45,45,45,45,45,45,45,45,45,45,45,45,1215,45,45,45,1232,45,45,45,45,45,45,45,67,1237,67,67,67,67,67,67,1259,67,67,67,67,67,67,1264,67,67,67,1282,67,67,67,67,67,67,67,67,67,1289,67,67,67,1292,97,97,97,97,1339,97,97,97,97,97,97,1344,97,97,97,97,45,1849,45,1851,45,45,45,45,45,45,45,45,721,45,45,45,45,45,726,45,1385,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1188,45,45,1401,1402,45,45,45,45,1405,45,45,45,45,45,45,45,45,1752,45,45,45,45,45,67,67,1410,45,45,45,1413,45,1415,45,45,45,45,45,45,1419,45,45,45,45,1806,45,45,45,45,45,45,67,67,67,67,67,67,67,97,97,2019,0,97,67,67,67,1452,67,67,67,67,67,67,67,67,1457,67,67,67,67,67,67,1271,67,67,67,1274,67,67,67,1279,67,1460,67,1462,67,67,67,67,67,67,1466,67,67,67,67,67,67,67,67,1602,67,67,1605,67,67,67,0,97,97,97,1506,97,97,97,97,97,97,97,97,1512,97,97,97,0,1728,97,97,97,97,97,97,97,97,97,97,97,901,97,97,97,97,1515,97,1517,97,97,97,97,97,97,1521,97,97,97,97,97,97,0,45,1652,45,45,45,1655,45,45,45,45,45,1542,45,45,45,45,45,45,45,45,45,45,45,45,45,1552,1553,45,45,45,1556,45,45,45,45,45,45,45,45,45,45,45,45,45,693,45,45,45,67,67,67,67,1572,67,67,67,67,1576,67,67,67,67,67,67,67,67,1685,67,67,67,67,67,67,67,67,1465,67,67,1468,67,67,1471,67,67,1582,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1580,67,67,1596,67,67,67,67,67,67,67,67,67,67,67,67,67,0,542,0,544,67,67,67,67,1759,67,67,67,67,67,67,67,67,67,67,67,533,67,67,67,67,67,67,67,1770,67,67,67,67,67,97,97,97,97,97,97,1777,97,97,97,1793,97,97,97,97,97,45,45,45,45,45,45,45,998,45,45,1001,1002,45,45,67,67,45,1861,45,67,67,67,67,67,67,67,67,1871,67,1873,1874,67,0,97,45,67,0,97,45,67,16384,97,45,67,97,0,0,0,1473,0,1082,0,0,0,1475,0,1086,0,0,0,1477,1876,67,97,97,97,97,97,1883,0,1885,97,97,97,1889,0,0,0,286,0,0,0,286,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,126,126,126,2053,0,2055,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,2039,97,45,45,45,45,67,67,67,67,67,226,67,67,67,67,67,67,67,67,1246,67,67,1249,1250,67,67,67,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,141,45,45,45,1403,45,45,45,45,45,45,45,45,45,45,45,45,1186,45,45,1189,45,45,155,45,45,45,45,45,45,45,45,45,191,45,45,45,45,700,45,45,45,45,45,45,45,45,45,45,45,1753,45,45,45,67,67,45,45,67,208,67,67,67,222,67,67,67,67,67,67,67,67,67,1764,67,67,67,67,67,67,67,258,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,288,97,97,97,302,97,97,97,97,97,97,97,97,97,627,97,97,97,97,97,97,338,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,370,45,45,45,45,716,45,45,45,45,45,722,45,45,45,45,45,45,1912,67,67,67,67,67,67,67,67,67,819,67,67,25398,542,13112,544,45,403,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1409,45,67,67,67,67,489,67,67,67,67,67,67,67,67,67,67,67,771,67,67,67,67,520,67,67,67,67,67,67,67,67,67,67,67,534,67,67,67,67,67,67,1286,67,67,67,67,67,67,67,1291,67,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,553,97,97,97,97,586,97,97,97,97,97,97,97,97,97,97,97,1138,97,97,97,97,617,97,97,97,97,97,97,97,97,97,97,97,631,97,97,97,0,1834,97,97,97,97,97,0,0,0,97,97,97,97,97,353,0,40976,0,18,18,24,24,27,27,27,45,45,668,45,45,45,45,45,45,45,45,45,45,45,45,45,724,45,45,45,45,45,682,45,45,45,45,45,45,45,45,45,45,45,45,45,949,45,45,45,67,67,747,748,67,67,67,67,755,67,67,67,67,67,67,67,0,0,1301,0,0,0,1307,0,0,67,794,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1701,67,97,97,97,845,846,97,97,97,97,853,97,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,97,892,97,97,97,97,97,97,97,97,97,97,97,97,97,610,97,97,45,992,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,1239,67,67,67,1063,67,67,67,67,67,1068,67,67,67,67,67,67,67,0,1299,0,0,0,1305,0,0,0,97,1141,97,97,97,97,97,97,97,97,97,97,97,1152,97,97,0,0,97,97,1784,97,97,97,0,0,97,97,0,97,1978,97,97,97,1982,45,45,45,45,45,45,45,45,45,972,973,45,45,45,45,45,97,97,97,97,1157,97,97,97,97,97,1162,97,97,97,97,97,97,1145,97,97,97,97,97,1151,97,97,97,1253,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,539,45,1423,45,45,67,67,67,67,67,67,67,1431,67,67,67,67,67,67,67,1773,67,97,97,97,97,97,97,97,625,97,97,97,97,97,97,97,97,850,97,97,97,97,97,97,97,97,880,97,97,97,97,97,97,97,97,1106,97,97,97,97,97,97,97,67,67,1439,67,67,67,67,67,67,67,67,67,67,67,67,67,514,67,67,97,97,1492,97,97,97,97,97,97,97,97,97,97,97,97,97,611,97,97,1703,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,852,97,97,97,97,97,97,45,1949,45,1951,45,45,45,67,67,67,67,67,67,67,1961,67,0,97,45,67,0,97,2060,2061,0,2062,45,67,97,0,0,2036,97,97,97,97,45,45,45,45,67,67,67,67,67,223,67,67,237,67,67,67,67,67,67,67,1297,0,0,0,1303,0,0,0,1309,1963,67,67,67,97,97,97,97,0,1972,0,97,97,97,1975,0,921,29315,0,0,0,0,45,45,45,931,45,45,45,45,45,407,45,45,45,45,45,45,45,45,45,417,45,45,1989,67,67,67,67,67,67,67,67,67,67,67,1996,97,18,131427,0,0,360,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,930,45,45,45,45,45,45,444,45,45,45,45,45,45,45,67,67,97,97,1998,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,1985,45,1986,45,45,45,156,45,45,170,45,45,45,45,45,45,45,45,45,45,675,45,45,45,45,679,131427,0,358,0,0,362,0,365,28809,367,139,45,45,45,45,45,381,45,45,45,45,45,45,45,45,45,400,45,45,419,45,45,45,45,45,45,45,45,45,45,45,45,436,67,67,67,67,67,505,67,67,67,67,67,67,67,67,67,67,820,67,25398,542,13112,544,67,67,522,67,67,67,67,67,529,67,67,67,67,67,67,67,0,1300,0,0,0,1306,0,0,0,97,97,619,97,97,97,97,97,626,97,97,97,97,97,97,97,1105,97,97,97,97,1109,97,97,97,67,67,67,67,749,67,67,67,67,67,67,67,67,67,760,67,0,97,45,67,2058,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,2041,67,67,67,67,67,780,67,67,67,67,67,67,67,67,67,67,67,67,67,516,67,67,97,97,97,878,97,97,97,97,97,97,97,97,97,97,97,97,97,1629,97,0,45,979,45,45,45,45,984,45,45,45,45,45,45,45,45,45,1e3,45,45,45,45,67,67,67,1023,67,67,67,67,1028,67,67,67,67,67,67,67,67,67,470,67,67,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1094,0,0,0,1092,1315,0,0,0,0,97,97,97,97,97,97,97,97,97,1486,97,1489,97,97,97,1117,97,97,97,97,1122,97,97,97,97,97,97,97,1146,97,97,97,97,97,97,97,97,881,97,97,97,886,97,97,97,1311,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,1615,97,97,97,97,97,1619,97,97,97,97,97,97,97,97,97,97,97,97,1631,97,97,1847,97,45,45,45,45,1852,45,45,45,45,45,45,45,1235,45,45,45,67,67,67,67,67,1868,67,67,67,1872,67,67,67,67,67,97,97,97,97,1882,0,0,0,97,97,97,97,0,1891,67,67,67,67,67,97,97,97,97,97,1929,0,0,97,97,97,97,97,97,45,1900,45,1901,45,45,45,1905,45,67,2054,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,2037,2038,97,97,45,45,45,45,67,67,67,67,1867,67,67,67,67,67,67,67,67,67,1774,97,97,97,97,97,97,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,142,45,45,45,1412,45,45,45,45,45,45,45,45,45,45,45,45,432,45,45,45,45,45,157,45,45,171,45,45,45,182,45,45,45,45,200,45,45,45,1543,45,45,45,45,45,45,45,45,1551,45,45,45,45,1181,45,45,45,45,45,45,45,45,45,45,45,1211,45,45,45,1214,45,45,45,67,209,67,67,67,224,67,67,238,67,67,67,249,67,0,97,2056,2057,0,2059,45,67,0,97,45,67,97,0,0,1937,97,97,97,97,97,97,45,45,45,45,45,45,1741,45,45,45,45,45,45,67,67,67,267,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,289,97,97,97,304,97,97,318,97,97,97,329,97,97,0,0,97,97,2001,0,97,2003,97,97,97,45,45,45,1739,45,45,45,1742,45,45,45,45,45,97,97,347,97,97,97,0,40976,0,18,18,24,24,27,27,27,45,666,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1420,45,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,840,67,1007,67,67,67,67,67,67,67,67,67,67,67,67,67,67,759,67,67,67,67,67,67,67,1052,67,67,67,67,67,67,67,67,67,67,1031,67,67,67,67,67,97,97,97,1101,97,97,97,97,97,97,97,97,97,97,97,97,592,97,97,97,1190,45,45,45,45,45,1195,45,1197,45,45,45,45,1201,45,45,45,45,1952,45,45,67,67,67,67,67,67,67,67,67,67,67,67,250,67,67,67,1255,67,1257,67,67,67,67,1261,67,67,67,67,67,67,67,67,1696,67,67,67,67,67,67,67,0,0,0,0,0,0,2162688,0,0,67,67,1267,67,67,67,67,67,67,1273,67,67,67,67,67,67,67,67,1763,67,67,67,67,67,67,67,0,0,0,0,0,280,94,0,0,1281,67,67,67,67,1285,67,67,67,67,67,67,67,67,67,67,1070,67,67,67,67,67,1335,97,1337,97,97,97,97,1341,97,97,97,97,97,97,97,97,882,97,97,97,97,97,97,97,1347,97,97,97,97,97,97,1353,97,97,97,97,97,97,1361,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,0,544,0,550,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2158592,2990080,2158592,2158592,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,53530,97,97,97,1365,97,97,97,97,97,97,97,97,97,97,97,97,608,97,97,97,45,45,1424,45,1425,67,67,67,67,67,67,67,67,67,67,67,1058,67,67,67,67,45,1555,45,45,1557,45,45,45,45,45,45,45,45,45,45,45,707,45,45,45,45,67,67,1570,67,67,67,67,67,67,67,67,67,67,67,67,67,773,67,67,1595,67,67,1597,67,67,67,67,67,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,139,2158592,2158592,2158592,2404352,2412544,97,97,97,1636,97,97,97,1639,97,97,1641,97,97,97,97,97,97,1173,0,921,0,0,0,0,0,0,45,67,67,67,1693,67,67,67,67,67,67,67,1698,67,67,67,67,67,67,273,0,24850,12564,0,0,0,0,28809,53531,1860,45,45,67,67,1865,67,67,67,67,1870,67,67,67,67,1875,67,67,97,97,1880,97,97,0,0,0,97,97,1888,97,0,0,0,1938,97,97,97,97,97,45,45,45,45,45,45,1854,45,45,45,45,45,45,45,1909,45,45,1911,67,67,67,67,67,67,67,67,67,67,1248,67,67,67,67,67,67,1922,67,67,1924,97,97,97,97,97,0,0,0,97,97,97,97,97,1898,45,45,45,45,45,45,1904,45,45,67,67,67,67,97,97,97,97,0,0,16384,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,1724,2008,2009,45,45,67,67,67,2014,2015,67,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,45,2022,0,2023,97,97,45,45,45,45,45,45,67,67,67,67,67,67,1869,67,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,147,151,154,45,162,45,45,176,178,181,45,45,45,192,196,45,45,45,45,2012,67,67,67,67,67,67,2018,97,0,0,97,1894,1895,97,1897,97,45,45,45,45,45,45,45,45,45,656,45,45,45,45,45,45,67,259,263,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,294,298,301,97,309,97,97,323,325,328,97,97,97,97,97,560,97,97,97,569,97,97,97,97,97,97,306,97,97,97,97,97,97,97,97,97,1624,97,97,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,339,343,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,67,67,503,67,67,67,67,67,67,67,67,67,512,67,67,519,97,97,600,97,97,97,97,97,97,97,97,97,609,97,97,616,45,649,45,45,45,45,45,654,45,45,45,45,45,45,45,45,1393,45,45,45,45,45,45,45,45,1209,45,45,45,45,45,45,45,67,763,67,67,67,67,67,67,67,67,770,67,67,67,774,67,0,2045,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,994,45,45,45,45,45,45,45,45,45,45,67,67,213,67,219,67,67,232,67,242,67,247,67,67,67,779,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1018,67,67,67,67,811,67,67,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,834,97,97,97,97,97,839,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,645,97,97,861,97,97,97,97,97,97,97,97,868,97,97,97,872,97,97,877,97,97,97,97,97,97,97,97,97,97,97,97,97,613,97,97,97,97,97,909,97,97,97,97,97,97,97,97,97,0,0,0,18,18,24,24,27,27,27,1036,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1047,67,67,67,1050,67,67,67,67,67,67,67,67,67,67,67,67,1033,67,67,67,97,97,1130,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,0,67,67,67,1295,67,67,67,0,0,0,0,0,0,0,0,0,97,1317,97,97,97,97,97,97,1375,97,97,97,0,0,0,45,1379,45,45,45,45,45,45,422,45,45,45,429,431,45,45,45,45,0,1090,0,0,97,1479,97,97,97,97,97,97,97,97,97,97,1357,97,97,97,97,97,97,97,97,97,1716,97,97,97,97,97,97,97,97,97,1723,0,921,29315,0,0,0,0,45,929,45,45,45,45,45,45,45,1234,45,45,45,45,67,67,67,67,1240,97,97,97,1738,45,45,45,45,45,45,45,1743,45,45,45,45,166,45,45,45,45,184,186,45,45,197,45,45,97,1779,0,0,97,97,97,97,97,97,0,0,97,97,0,97,18,131427,0,638,0,0,0,0,362,0,640,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,1539,45,45,1803,45,45,45,45,45,1809,45,45,45,67,67,67,1814,67,67,67,67,67,97,97,97,97,97,0,0,0,1932,97,97,0,1781,97,97,97,97,97,97,0,0,97,97,0,97,67,67,67,1818,67,67,67,67,67,1824,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,1890,0,1829,97,97,0,0,97,97,1836,97,97,0,0,0,97,97,97,97,1981,45,45,45,45,45,45,45,45,45,1987,1845,97,97,97,45,45,45,45,45,1853,45,45,45,1857,45,45,45,67,1864,67,1866,67,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,1710,1711,67,67,97,97,97,97,97,0,0,0,1886,97,97,97,0,0,97,97,97,97,1838,0,0,0,97,1843,97,0,1893,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,1745,45,45,67,2044,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1660,45,45,45,45,45,45,45,45,45,45,45,45,453,45,455,67,67,67,67,268,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,348,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,359,0,0,362,0,365,28809,367,139,45,45,45,45,45,421,45,45,45,45,45,45,45,434,45,45,695,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1667,45,0,921,29315,0,925,0,0,45,45,45,45,45,45,45,45,45,1548,45,45,45,45,45,45,67,1037,67,1039,67,67,67,67,67,67,67,67,67,67,67,67,1277,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1095,0,0,0,1096,97,97,97,97,97,97,97,97,97,97,97,97,869,97,97,97,97,97,97,1131,97,1133,97,97,97,97,97,97,97,97,97,97,1370,97,97,97,97,97,1312,0,0,0,0,1096,0,0,0,97,97,97,97,97,97,97,1327,97,97,97,97,97,1332,97,97,97,1830,97,0,0,97,97,97,97,97,0,0,0,97,97,97,1896,97,97,45,45,45,45,45,45,45,45,45,1210,45,45,45,45,45,45,133,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,380,45,45,45,45,45,45,45,45,45,45,401,45,45,158,45,45,45,45,45,45,45,45,45,45,45,45,45,1200,45,45,45,45,206,67,67,67,67,67,225,67,67,67,67,67,67,67,67,754,67,67,67,67,67,67,67,57889,0,0,54074,54074,550,832,97,97,97,97,97,97,97,97,97,1342,97,97,97,97,97,97,67,67,67,67,67,25398,1083,13112,1087,54074,1091,0,0,0,0,0,0,1316,0,831,97,97,97,97,97,97,97,1174,921,0,1175,0,0,0,0,45,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,148,67,67,264,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,295,97,97,97,97,313,97,97,97,97,331,333,97,18,131427,356,638,0,0,0,0,362,0,0,365,0,367,0,45,45,1530,45,45,45,45,45,45,45,45,45,45,45,45,988,45,45,45,97,344,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,402,404,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1756,67,438,45,45,45,45,45,45,45,45,449,450,45,45,45,67,67,214,218,221,67,229,67,67,243,245,248,67,67,67,67,67,488,490,67,67,67,67,67,67,67,67,67,67,67,1071,67,1073,67,67,67,67,67,524,67,67,67,67,67,67,67,67,535,536,67,67,67,67,67,67,1683,1684,67,67,67,67,1688,1689,67,67,67,67,67,67,1694,67,67,67,67,67,67,67,67,67,1288,67,67,67,67,67,67,97,97,97,585,587,97,97,97,97,97,97,97,97,97,97,97,1163,97,97,97,97,97,97,97,621,97,97,97,97,97,97,97,97,632,633,97,97,0,0,97,1783,97,97,97,97,0,0,97,97,0,97,97,97,45,2026,45,45,45,45,67,2030,67,67,67,67,67,67,1053,1054,67,67,67,67,67,67,1061,67,712,45,45,45,717,45,45,45,45,45,45,45,45,725,45,45,45,163,167,173,177,45,45,45,45,45,193,45,45,45,45,982,45,45,45,45,45,45,987,45,45,45,45,45,1558,45,1560,45,45,45,45,45,45,45,45,704,705,45,45,45,45,45,45,45,45,731,45,45,45,67,67,67,67,67,739,67,67,67,67,67,67,464,67,67,67,67,67,67,479,67,67,67,67,67,764,67,67,67,67,67,67,67,67,67,67,67,67,1290,67,67,67,67,67,67,812,67,67,67,67,818,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,97,97,97,97,837,97,97,97,97,97,602,97,97,97,97,97,97,97,97,97,97,1137,97,97,97,97,97,97,97,97,97,862,97,97,97,97,97,97,97,97,97,97,97,1627,97,97,97,0,97,97,97,97,910,97,97,97,97,916,97,97,97,0,0,0,97,97,1940,97,97,1942,45,45,45,45,45,45,385,45,45,45,45,395,45,45,45,45,966,45,969,45,45,45,45,45,45,45,45,45,45,975,45,45,45,406,45,45,45,45,45,45,45,45,45,45,45,45,974,45,45,45,67,67,67,67,1010,67,67,67,67,67,67,67,67,67,67,67,1262,67,67,67,67,67,67,67,67,67,1040,67,1042,67,1045,67,67,67,67,67,67,67,527,67,67,67,67,67,67,537,67,67,67,67,67,1051,67,67,67,67,67,1057,67,67,67,67,67,67,67,1454,67,67,67,67,67,67,67,67,67,1445,67,67,67,67,67,67,67,67,67,67,1079,25398,0,13112,0,54074,0,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,1098,97,97,97,97,97,1104,97,97,97,97,97,97,97,97,97,1356,97,97,97,97,97,97,1128,97,97,97,97,97,97,1134,97,1136,97,1139,97,97,97,97,97,97,1622,97,97,97,97,97,97,97,97,0,921,0,0,0,1176,0,646,45,67,67,67,1268,67,67,67,67,67,67,67,67,67,67,67,67,1469,67,67,67,97,1348,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1127,97,67,1569,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1448,1449,67,1816,67,67,67,67,67,67,67,67,67,1825,67,67,1827,97,97,0,0,1782,97,97,97,97,97,0,0,97,97,0,97,97,97,1831,0,0,97,97,97,97,97,0,0,0,97,97,97,1980,97,45,45,45,45,45,45,45,45,45,45,1395,45,45,45,45,45,97,1846,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1212,45,45,45,45,45,45,2010,45,67,67,67,67,67,2016,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,2007,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,143,45,45,45,1671,45,45,45,45,45,45,45,45,45,45,45,67,1813,67,67,1815,45,45,67,210,67,67,67,67,67,67,239,67,67,67,67,67,67,67,1575,67,67,67,67,67,67,67,67,493,67,67,67,67,67,67,67,97,97,290,97,97,97,97,97,97,319,97,97,97,97,97,97,303,97,97,317,97,97,97,97,97,97,305,97,97,97,97,97,97,97,97,97,899,97,97,97,97,97,97,375,45,45,45,379,45,45,390,45,45,394,45,45,45,45,45,443,45,45,45,45,45,45,45,45,67,67,67,67,67,461,67,67,67,465,67,67,476,67,67,480,67,67,67,67,67,67,1761,67,67,67,67,67,67,67,67,67,530,67,67,67,67,67,67,500,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1075,97,97,97,558,97,97,97,562,97,97,573,97,97,577,97,97,0,1999,97,97,97,0,97,97,2004,2005,97,45,45,45,45,1193,45,45,45,45,45,45,45,45,45,45,45,676,45,45,45,45,597,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1334,45,681,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1396,45,45,1399,45,45,730,45,45,45,45,67,67,67,67,67,67,67,67,67,67,1434,67,67,67,67,67,67,750,67,67,67,67,67,67,67,67,67,67,1456,67,67,67,67,67,45,45,993,45,45,45,45,45,45,45,45,45,45,45,67,67,1238,67,67,1006,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1280,1048,1049,67,67,67,67,67,67,67,67,67,67,1059,67,67,67,67,67,67,1296,0,0,0,0,0,0,0,0,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,97,97,1100,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,920,97,97,1142,1143,97,97,97,97,97,97,97,97,97,97,1153,97,97,97,97,97,1144,97,97,97,97,97,97,97,97,97,97,1149,97,97,97,97,1154,45,1218,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1678,45,45,45,67,67,67,67,67,1269,67,67,67,67,67,67,67,67,1278,67,67,67,67,67,67,1772,67,67,97,97,97,97,97,97,97,0,921,922,1175,0,0,0,0,45,97,97,1349,97,97,97,97,97,97,97,97,1358,97,97,97,97,97,97,1623,97,97,97,97,97,97,97,97,0,921,0,0,926,0,0,0,45,45,1411,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1754,45,45,67,67,1301,0,1307,0,1313,97,97,97,97,97,97,97,97,97,97,97,21054,97,97,97,97,67,1757,67,67,67,1760,67,67,67,67,67,67,67,67,67,67,1467,67,67,67,67,67,1778,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,97,97,1158,97,97,97,1161,97,97,97,97,1166,97,97,97,97,97,1325,97,97,97,97,97,97,97,97,97,97,1328,97,97,97,97,97,97,97,67,67,67,67,67,1820,67,1822,67,67,67,67,67,97,97,97,97,97,0,0,0,97,1933,97,1892,97,97,97,97,97,97,1899,45,45,45,45,45,45,45,45,1664,45,45,45,45,45,45,45,45,1546,45,45,45,45,45,45,45,45,1208,45,45,45,45,45,45,45,45,1224,45,45,45,45,45,45,45,45,673,45,45,45,45,45,45,45,67,67,67,67,67,1925,97,97,97,97,0,0,0,97,97,97,97,97,623,97,97,97,97,97,97,97,97,97,97,307,97,97,97,97,97,97,97,97,97,1796,97,45,45,45,45,45,45,45,970,45,45,45,45,45,45,45,45,1417,45,45,45,45,45,45,45,67,1964,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,97,97,1721,97,97,0,0,1997,97,0,0,2e3,97,97,0,97,97,97,97,97,45,45,45,45,733,45,67,67,67,67,67,67,67,67,67,67,803,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,144,45,45,45,1805,45,1807,45,45,45,45,45,67,67,67,67,67,67,231,67,67,67,67,67,67,67,0,24850,12564,0,0,0,281,28809,53531,45,45,67,211,67,67,67,67,230,234,240,244,67,67,67,67,67,67,492,67,67,67,67,67,67,67,67,67,471,67,67,67,67,481,67,67,260,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,291,97,97,97,97,310,314,320,324,97,97,97,97,97,97,1367,97,97,97,97,97,97,97,97,97,1355,97,97,97,97,97,97,1362,340,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,360,0,362,0,365,28809,367,139,369,45,45,45,374,67,67,460,67,67,67,67,466,67,67,67,67,67,67,67,67,801,67,67,67,67,67,67,67,67,67,487,67,67,67,67,67,67,67,67,67,67,498,67,67,67,67,67,67,1821,67,67,67,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,0,0,67,502,67,67,67,67,67,67,67,508,67,67,67,515,517,67,67,67,67,67,97,97,97,97,97,0,0,1931,97,97,97,97,97,588,97,97,97,97,97,97,97,97,97,97,629,97,97,97,97,97,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,552,97,97,97,97,97,1352,97,97,97,97,97,97,97,97,97,97,1511,97,97,97,97,97,97,97,557,97,97,97,97,563,97,97,97,97,97,97,97,97,1135,97,97,97,97,97,97,97,97,97,584,97,97,97,97,97,97,97,97,97,97,595,97,97,97,97,97,895,97,97,97,97,97,97,903,97,97,97,0,97,97,1638,97,97,97,97,97,97,97,97,1646,97,599,97,97,97,97,97,97,97,605,97,97,97,612,614,97,97,97,97,97,1377,0,0,45,45,45,45,45,45,45,45,655,45,45,45,45,45,45,45,745,67,67,67,67,751,67,67,67,67,67,67,67,67,67,67,1577,67,67,67,67,67,762,67,67,67,67,766,67,67,67,67,67,67,67,67,67,67,1765,67,67,67,67,67,777,67,67,781,67,67,67,67,67,67,67,67,67,67,67,67,1592,1593,67,67,97,843,97,97,97,97,849,97,97,97,97,97,97,97,97,97,1510,97,97,97,97,97,97,97,860,97,97,97,97,864,97,97,97,97,97,97,97,97,97,1797,45,45,45,45,1801,45,97,875,97,97,879,97,97,97,97,97,97,97,97,97,97,97,1522,97,97,97,97,97,991,45,45,45,45,996,45,45,45,45,45,45,45,45,67,67,215,67,67,67,67,233,67,67,67,67,251,253,1022,67,67,67,1026,67,67,67,67,67,67,67,67,67,67,1035,67,67,1038,67,67,67,67,67,67,67,67,67,67,67,67,67,1458,67,67,67,67,67,1064,67,67,67,1067,67,67,67,67,1072,67,67,67,67,67,67,1442,67,67,67,67,67,67,67,67,67,97,97,97,1775,97,97,97,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,1096,0,921,29315,0,0,0,0,928,45,45,45,45,45,934,45,45,45,164,45,45,45,45,45,45,45,45,45,198,45,45,45,378,45,45,45,45,45,45,393,45,45,45,398,45,97,97,1116,97,97,97,1120,97,97,97,97,97,97,97,97,97,1147,1148,97,97,97,97,97,97,97,1129,97,97,1132,97,97,97,97,97,97,97,97,97,97,97,1626,97,97,97,97,0,45,1178,45,45,45,45,45,45,45,45,45,1185,45,45,45,45,441,45,45,45,45,45,45,451,45,45,67,67,67,67,67,227,67,67,67,67,67,67,67,67,1260,67,67,67,1263,67,67,1265,1203,45,45,1205,45,1206,45,45,45,45,45,45,45,45,45,1216,67,1266,67,67,67,67,67,67,67,67,67,1276,67,67,67,67,67,67,752,67,67,67,67,67,67,67,67,67,1056,67,67,67,67,67,67,45,1386,45,1389,45,45,45,45,1394,45,45,45,1397,45,45,45,45,995,45,997,45,45,45,45,45,45,45,67,67,67,67,1915,67,67,67,67,67,1422,45,45,45,67,67,67,67,67,67,67,67,67,1433,67,1436,67,67,67,67,1441,67,67,67,1444,67,67,67,67,67,67,67,0,24851,12565,0,0,0,0,28809,53532,97,97,97,97,1494,97,97,97,1497,97,97,97,97,97,97,97,1368,97,97,97,97,97,97,97,97,851,97,97,97,97,97,97,97,67,67,67,1571,67,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,67,67,1583,67,67,67,67,67,67,67,67,1591,67,67,67,67,67,67,782,67,67,67,67,67,67,67,67,67,756,67,67,67,67,67,67,97,1634,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1125,97,97,97,1647,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,719,720,45,45,45,45,45,45,45,45,685,45,45,45,45,45,45,45,45,45,942,45,45,946,45,45,45,950,45,45,1658,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1668,1712,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,1835,97,97,97,97,0,0,0,97,97,1844,97,97,1726,0,97,97,97,97,97,1732,97,1734,97,97,97,97,97,300,97,308,97,97,97,97,97,97,97,97,866,97,97,97,97,97,97,97,67,67,67,1758,67,67,67,1762,67,67,67,67,67,67,67,67,1043,67,67,67,67,67,67,67,67,67,67,67,67,1771,67,67,67,97,97,97,97,97,1776,97,97,97,97,97,1794,97,97,97,45,45,45,45,45,45,45,1183,45,45,45,45,45,45,45,45,45,409,45,45,45,45,45,45,67,67,67,1966,97,97,97,1970,0,0,0,97,97,97,97,0,97,97,97,1720,97,97,97,97,97,0,0,97,97,97,1837,97,0,1840,1841,97,97,97,1988,45,67,67,67,67,67,67,67,67,67,1994,1995,67,97,97,97,97,97,911,97,97,97,97,97,97,97,638,0,0,0,0,1315,0,0,0,0,97,97,97,1319,97,97,97,0,97,97,97,97,97,97,1733,97,97,97,97,97,97,1340,97,97,97,1343,97,97,1345,97,1346,67,67,265,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,345,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,361,362,0,365,28809,367,139,45,45,45,45,45,671,45,45,45,45,45,45,45,45,45,45,411,45,45,414,45,45,45,45,377,45,45,45,386,45,45,45,45,45,45,45,45,45,1207,45,45,45,45,45,45,1213,45,45,67,67,67,67,67,463,67,67,67,472,67,67,67,67,67,67,67,528,67,67,67,67,67,67,67,67,1287,67,67,67,67,67,67,67,540,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,97,97,97,1103,97,97,97,97,97,97,97,97,97,97,917,97,97,0,0,0,637,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,927,45,45,45,45,45,45,45,45,45,1223,45,45,45,45,45,45,45,45,45,426,45,45,433,45,45,45,45,697,45,45,45,45,45,45,45,45,45,45,708,45,45,45,45,1221,45,45,45,45,1225,45,45,45,45,45,45,384,45,45,45,45,45,45,45,45,45,1198,45,45,45,45,45,45,67,67,795,67,67,67,67,67,67,67,67,67,67,67,67,67,1470,67,67,67,67,67,67,67,815,67,67,67,67,67,67,25398,542,13112,544,97,97,97,893,97,97,97,97,97,97,97,97,97,97,97,97,1164,97,97,97,67,67,67,1025,67,67,67,67,67,67,67,67,67,67,67,67,1687,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,1097,1241,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1450,45,45,1388,45,1390,45,45,45,45,45,45,45,45,45,45,45,1236,67,67,67,67,67,1437,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1472,1490,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1503,67,67,67,67,67,97,97,97,97,97,0,1930,0,97,97,97,97,97,847,97,97,97,97,97,97,97,97,97,858,67,67,1965,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,1719,97,97,97,97,97,97,0,0,0,45,45,45,45,1382,45,1383,45,45,45,159,45,45,45,45,45,45,45,45,45,45,45,45,45,1563,45,45,45,45,45,67,261,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,341,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,1099,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1333,97,1230,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1992,67,1993,67,67,67,97,97,45,45,160,45,45,45,45,45,45,45,45,45,45,45,45,45,1665,45,45,45,45,45,131427,357,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,684,45,45,45,45,45,45,45,45,45,45,412,45,45,45,416,45,45,45,440,45,45,45,45,45,45,45,45,45,45,45,67,67,1990,67,1991,67,67,67,67,67,67,67,97,97,1707,97,97,97,97,97,97,501,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1691,67,67,67,67,67,526,67,67,67,67,67,67,67,67,67,67,1030,67,1032,67,67,67,67,598,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1632,0,921,29315,923,0,0,0,45,45,45,45,45,45,45,45,45,1392,45,45,45,45,45,45,45,45,45,960,45,45,45,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1093,0,0,0,0,0,97,1609,97,97,97,97,97,97,97,97,97,1369,97,97,97,1372,97,97,67,67,266,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,346,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,665,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1677,45,45,45,45,67,45,45,954,45,956,45,45,45,45,45,45,45,45,45,45,45,1404,45,45,45,45,45,45,45,45,45,425,45,45,45,45,45,45,67,67,67,67,67,1270,67,67,67,67,67,67,67,67,67,67,1069,67,67,67,67,67,67,97,97,97,1350,97,97,97,97,97,97,97,97,97,97,97,97,1524,97,97,97,97,97,97,97,1376,0,0,0,45,45,45,45,45,45,45,45,1545,45,45,45,45,45,45,45,45,45,448,45,45,45,45,67,456,67,67,67,67,67,1573,67,67,67,67,67,67,67,67,67,67,1247,67,67,67,67,67,1252,97,1725,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1628,97,1630,0,0,94242,0,0,0,2211840,0,1118208,0,0,0,0,2158592,2158731,2158592,2158592,2158592,3117056,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3018752,2158592,3043328,2158592,2158592,2158592,2158592,3080192,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158878,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2605056,2158592,2158592,2207744,0,542,0,544,0,0,2166784,0,0,0,550,0,0,2158592,2158592,2686976,2158592,2715648,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2867200,2158592,2904064,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,0,2211840,0,0,1130496,0,0,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,139,0,0,0,139,0,2367488,2207744,0,0,0,0,176128,0,2166784,0,0,0,0,0,286,2158592,2158592,3170304,3174400,2158592,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,1508,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,2158592,2158592,2158592,2158592,3158016,67,24850,24850,12564,12564,0,0,0,0,0,53531,53531,0,286,97,97,97,97,97,1119,97,97,97,97,97,97,97,97,97,97,1509,97,97,97,97,97,97,97,97,564,97,97,97,97,97,97,97,57889,0,0,0,0,550,0,97,97,97,97,97,97,97,97,97,561,97,97,97,97,97,97,576,97,97,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,0,0,139264,0,921,29315,0,0,926,0,45,45,45,45,45,45,45,45,45,1811,45,67,67,67,67,67,0,2146304,2146304,0,0,0,0,2224128,2224128,2224128,2232320,2232320,2232320,2232320,0,0,1301,0,0,0,0,0,1307,0,0,0,0,0,1313,0,0,0,0,0,0,0,97,97,1318,97,97,97,97,97,97,1795,97,97,45,45,45,45,45,45,45,446,45,45,45,45,45,45,67,67,2158592,2146304,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,924,0,0,45,45,45,45,45,45,45,45,45,45,1537,45,45,45,45],r.EXPECTED=[290,300,304,353,296,309,305,319,315,324,328,352,354,334,338,330,320,345,349,293,358,362,341,366,312,370,374,378,382,386,390,394,398,737,402,634,439,604,634,634,634,634,408,634,634,634,404,634,634,634,457,634,634,963,634,634,413,634,634,634,634,634,634,634,663,418,422,903,902,426,431,548,634,437,521,919,443,615,409,449,455,624,731,751,634,461,465,672,470,469,474,481,485,477,489,493,629,542,497,505,603,602,991,648,510,804,634,515,958,526,525,530,768,634,546,552,711,710,593,558,562,618,566,570,574,578,582,586,590,608,612,660,822,821,634,622,596,444,628,533,724,633,640,653,647,652,536,1008,451,450,445,657,670,676,685,689,693,697,701,704,707,715,719,798,815,634,723,762,996,634,728,969,730,735,908,634,741,679,889,511,747,634,750,755,499,666,499,501,759,772,776,780,634,787,784,797,802,809,808,427,814,1006,517,634,519,853,634,813,850,793,634,819,826,833,832,837,843,847,857,861,863,867,871,875,879,883,643,887,539,980,979,634,893,944,634,900,896,634,907,933,506,912,917,828,433,636,635,554,961,923,930,927,937,941,634,634,634,974,948,952,985,913,968,967,743,634,973,839,634,978,599,634,984,989,765,444,995,1e3,634,1003,790,955,1012,681,634,634,634,634,634,414,1016,1020,1024,1085,1027,1090,1090,1046,1080,1137,1108,1215,1049,1032,1039,1085,1085,1085,1085,1058,1062,1068,1085,1086,1090,1090,1091,1072,1064,1107,1090,1090,1090,1118,1123,1138,1078,1074,1084,1085,1085,1085,1087,1090,1062,1052,1060,1114,1062,1104,1085,1085,1090,1090,1028,1122,1063,1128,1139,1127,1158,1085,1085,1151,1090,1090,1090,1095,1090,1132,1073,1136,1143,1061,1150,1085,1155,1098,1101,1146,1162,1169,1101,1185,1151,1090,1110,1173,1054,1087,1109,1177,1165,1089,1204,1184,1107,1189,1193,1088,1197,1180,1201,1208,1042,1212,1219,1223,1227,1231,1235,1245,1777,1527,1686,1686,1238,1686,1254,1686,1686,1686,1294,1669,1686,1686,1686,1322,1625,1534,1268,1624,1275,1281,1443,1292,1300,1686,1686,1686,1350,1826,1306,1686,1686,1240,2032,1317,1321,1686,1686,1253,1686,1326,1686,1686,1686,1418,1709,1446,1686,1686,1686,1492,1686,1295,1447,1686,1686,1258,1686,1736,1686,1686,1520,1355,1686,1288,1348,1361,1686,1359,1686,1364,1498,1368,1302,1362,1381,1389,1395,1486,1686,1371,1377,1370,1686,1375,1382,1384,1402,1408,1385,1383,1619,1413,1423,1428,1433,1686,1686,1270,1686,1338,1686,1440,1686,1686,1686,1499,1465,1686,1686,1686,1639,1473,1884,1686,1686,1293,1864,1686,1686,1296,1321,1483,1686,1686,1686,1646,1686,1748,1496,1686,1418,1675,1686,1418,1702,1686,1418,1981,1686,1429,1409,1427,1504,1692,1686,1686,1313,1448,1651,1508,1686,1686,1340,1686,1903,1686,1686,1435,1513,1686,1283,1287,1519,1686,1524,1363,1568,1938,1539,1566,1579,1479,1533,1538,1553,1544,1552,1557,1563,1574,1557,1583,1589,1590,1759,1594,1603,1607,1611,1686,1436,1514,1686,1434,1656,1686,1434,1680,1686,1453,1686,1686,1686,1559,1617,1686,1770,1418,1623,1769,1629,1686,1515,1335,1686,1285,1686,1671,1921,1650,1686,1686,1344,1308,1666,1686,1686,1686,1659,1685,1686,1686,1686,1686,1241,1686,1686,1844,1691,1686,1630,1977,1970,1362,1686,1686,1686,1693,1698,1686,1686,1686,1697,1686,1764,1715,1686,1634,1638,1686,1599,1585,1686,1271,1686,1269,1686,1721,1686,1686,1354,1686,1801,1686,1799,1686,1640,1686,1686,1461,1686,1686,1732,1686,1944,1686,1740,1686,1746,1415,1396,1686,1598,1547,1417,1597,1416,1577,1546,1397,1577,1547,1548,1570,1398,1753,1686,1652,1509,1686,1686,1686,1757,1686,1419,1686,1763,1418,1768,1781,1686,1686,1686,1705,1686,2048,1792,1686,1686,1686,1735,1686,1797,1686,1686,1404,1686,1639,1815,1686,1686,1418,2017,1820,1686,1686,1803,1686,1686,1686,1736,1489,1686,1686,1825,1338,1260,1263,1686,1686,1785,1686,1686,1728,1686,1686,1749,1497,1830,1830,1262,1248,1261,1329,1260,1264,1329,1248,1249,1259,1540,1849,1842,1686,1686,1835,1686,1686,1816,1686,1686,1831,1882,1848,1686,1686,1686,1774,2071,1854,1686,1686,1469,1884,1686,1821,1859,1686,1686,1350,1883,1686,1686,1686,1781,1391,1875,1686,1686,1613,1644,1686,1686,1889,1686,1686,1662,1884,1686,1885,1890,1686,1686,1686,1894,1686,1686,1678,1686,1907,1686,1686,1529,1914,1686,1838,1686,1686,1881,1686,1686,1872,1876,1836,1919,1686,1837,1692,1910,1686,1925,1928,1742,1686,1811,1811,1930,1810,1929,1935,1928,1900,1942,1867,1868,1931,1035,1788,1948,1952,1956,1960,1964,1686,1976,1686,1686,1686,2065,1686,1992,2037,1686,1686,1998,2009,1972,2002,1686,1686,1686,2077,1300,2023,1686,1686,1686,1807,2031,1686,1686,1686,1860,1500,2032,1686,1686,1686,2083,1686,2036,1686,1277,1276,2042,1877,1686,1686,2041,1686,1686,2027,2037,2012,1686,2012,1855,1850,1686,2046,1686,1686,2054,1996,1686,1897,1309,2059,2052,1686,2058,1686,1686,2081,1686,1717,1477,1686,1331,1686,1686,1687,1686,1860,1681,1686,1686,1686,1966,1724,1686,1686,1686,1984,2015,1686,1686,1686,1988,1686,2063,1686,1686,1686,2005,1686,1727,1686,1686,1711,1457,2069,1686,1686,1686,2019,2075,1686,1686,1915,1686,1686,1793,1874,1686,1686,1491,1362,1449,1686,1686,1460,2098,2087,2091,2095,2184,2102,2113,2780,2117,2134,2142,2281,2146,2146,2146,2304,2296,2181,2639,2591,2872,2592,2873,2313,2195,2200,2281,2146,2273,2226,2204,2152,2219,2276,2167,2177,2276,2235,2276,2276,2230,2281,2276,2296,2276,2293,2276,2276,2276,2276,2234,2276,2311,2314,2210,2199,2217,2222,2276,2276,2276,2240,2276,2294,2276,2276,2173,2276,2198,2281,2281,2281,2281,2282,2146,2146,2146,2146,2205,2146,2204,2248,2276,2235,2276,2297,2276,2276,2276,2277,2256,2281,2283,2146,2146,2146,2275,2276,2295,2276,2276,2293,2146,2304,2264,2269,2221,2276,2276,2276,2293,2295,2276,2276,2276,2295,2263,2205,2268,2220,2172,2276,2276,2276,2296,2276,2276,2296,2294,2276,2276,2278,2281,2281,2280,2281,2281,2281,2283,2206,2223,2276,2276,2279,2281,2281,2146,2273,2276,2276,2281,2281,2281,2276,2292,2276,2298,2225,2276,2298,2169,2224,2292,2298,2171,2229,2281,2281,2171,2236,2281,2281,2281,2146,2275,2225,2292,2299,2276,2229,2281,2146,2276,2290,2297,2283,2146,2146,2274,2224,2227,2298,2225,2297,2276,2230,2170,2230,2282,2146,2147,2151,2156,2288,2276,2230,2303,2308,2236,2284,2228,2318,2318,2318,2326,2335,2339,2343,2349,2416,2693,2357,2592,2109,2592,2592,2162,2943,2823,2646,2592,2361,2592,2122,2592,2592,2122,2470,2592,2592,2592,2109,2107,2592,2592,2592,2123,2592,2592,2592,2125,2592,2413,2592,2592,2592,2127,2592,2592,2414,2592,2592,2592,2130,2952,2592,2594,2592,2592,2212,2609,2252,2592,2592,2592,2446,2434,2592,2592,2592,2212,2446,2450,2456,2431,2435,2592,2592,2243,2478,2448,2439,2946,2592,2592,2592,2368,2809,2813,2450,2441,2212,2812,2449,2440,2947,2592,2592,2592,2345,2451,2457,2948,2592,2124,2592,2592,2650,2823,2449,2455,2946,2592,2128,2592,2592,2649,2952,2592,2810,2448,2461,2991,2467,2592,2592,2329,2817,2474,2990,2466,2592,2592,2373,2447,2992,2469,2592,2592,2592,2373,2447,2477,2468,2592,2592,2353,2469,2592,2495,2592,2592,2415,2483,2592,2415,2496,2592,2592,2352,2592,2592,2352,2352,2469,2592,2592,2363,2331,2494,2592,2592,2592,2375,2592,2375,2415,2504,2592,2592,2367,2372,2503,2592,2592,2592,2389,2418,2415,2592,2592,2373,2592,2592,2592,2593,2732,2417,2415,2592,2417,2520,2592,2592,2592,2390,2521,2521,2592,2592,2592,2401,2599,2585,2526,2531,2120,2592,2212,2426,2450,2463,2948,2592,2592,2592,2213,2389,2527,2532,2121,2542,2551,2105,2592,2213,2592,2592,2592,2558,2538,2544,2553,2557,2537,2543,2552,2421,2572,2576,2546,2543,2547,2592,2592,2373,2615,2575,2545,2105,2592,2244,2479,2592,2129,2592,2592,2628,2690,2469,2562,2566,2592,2592,2592,2415,2928,2934,2401,2570,2574,2564,2572,2585,2590,2592,2592,2585,2965,2592,2592,2592,2445,2251,2592,2592,2592,2474,2592,2609,2892,2592,2362,2592,2592,2138,2851,2159,2592,2592,2592,2509,2888,2892,2592,2592,2592,2490,2418,2891,2592,2592,2376,2592,2592,2374,2592,2889,2388,2592,2373,2373,2890,2592,2592,2387,2592,2887,2505,2892,2592,2373,2610,2388,2592,2592,2376,2373,2592,2887,2891,2592,2374,2592,2592,2608,2159,2614,2620,2592,2592,2394,2594,2887,2399,2592,2887,2397,2508,2374,2507,2592,2375,2592,2592,2592,2595,2508,2506,2592,2506,2505,2505,2592,2507,2637,2505,2592,2592,2401,2661,2592,2643,2592,2592,2417,2592,2655,2592,2592,2592,2510,2414,2656,2592,2592,2592,2516,2592,2593,2660,2665,2880,2592,2592,2592,2522,2767,2666,2881,2592,2592,2420,2571,2696,2592,2592,2592,2580,2572,2686,2632,2698,2592,2383,2514,2592,2163,2932,2465,2685,2631,2697,2592,2388,2592,2592,2212,2604,2671,2632,2678,2592,2401,2405,2409,2592,2592,2592,2679,2592,2592,2592,2592,2108,2677,2591,2592,2592,2592,2419,2592,2683,2187,2191,2469,2671,2189,2467,2592,2401,2629,2633,2702,2468,2592,2592,2421,2536,2703,2469,2592,2592,2422,2573,2593,2672,2467,2592,2402,2406,2592,2402,2979,2592,2592,2626,2673,2467,2592,2446,2259,2947,2592,2377,2709,2592,2592,2522,2862,2713,2468,2592,2592,2581,2572,2562,2374,2374,2592,2376,2721,2724,2592,2592,2624,2373,2731,2592,2592,2592,2626,2732,2592,2592,2592,2755,2656,2726,2736,2741,2592,2486,2593,2381,2592,2727,2737,2742,2715,2747,2753,2592,2498,2469,2873,2743,2592,2592,2592,2791,2759,2763,2592,2592,2627,2704,2592,2592,2522,2789,2593,2761,2753,2592,2498,2863,2592,2592,2767,2592,2592,2592,2792,2789,2592,2592,2592,2803,2126,2592,2592,2592,2811,2122,2592,2592,2592,2834,2777,2592,2592,2592,2848,2936,2591,2489,2797,2592,2592,2670,2631,2490,2798,2592,2592,2592,2963,2807,2592,2592,2592,2965,2838,2592,2592,2592,2975,2330,2818,2829,2592,2498,2939,2592,2498,2592,2791,2331,2819,2830,2592,2592,2592,2982,2834,2817,2828,2106,2592,2592,2592,2405,2405,2817,2828,2592,2592,2415,2849,2842,2592,2522,2773,2592,2522,2868,2592,2580,2600,2586,2137,2850,2843,2592,2592,2855,2937,2844,2592,2592,2592,2987,2936,2591,2592,2592,2684,2630,2592,2856,2938,2592,2592,2860,2939,2592,2592,2872,2592,2861,2591,2592,2592,2887,2616,2592,2867,2592,2592,2708,2592,2498,2469,2498,2497,2785,2773,2499,2783,2770,2877,2877,2877,2772,2592,2592,2345,2885,2592,2592,2592,2715,2762,2515,2896,2592,2592,2715,2917,2516,2897,2592,2592,2592,2901,2906,2911,2592,2592,2956,2960,2715,2902,2907,2912,2593,2916,2920,2820,2922,2822,2592,2592,2715,2927,2921,2821,2106,2592,2592,2974,2408,2321,2821,2106,2592,2592,2983,2592,2593,2404,2408,2592,2592,2717,2749,2716,2928,2322,2822,2593,2926,2919,2820,2934,2823,2592,2592,2592,2651,2824,2592,2592,2592,2130,2952,2592,2592,2592,2592,2964,2592,2592,2716,2748,2592,2969,2592,2592,2716,2918,2368,2970,2592,2592,2592,2403,2407,2592,2592,2787,2211,2404,2409,2592,2592,2802,2837,2987,2592,2592,2592,2809,2427,2592,2793,2592,2592,2809,2447,1073741824,2147483648,539754496,542375936,402653184,554434560,571736064,545521856,268451840,335544320,268693630,512,2048,256,1024,0,1024,0,1073741824,2147483648,0,0,0,8388608,0,0,1073741824,1073741824,0,2147483648,537133056,4194304,1048576,268435456,-1073741824,0,0,0,1048576,0,0,0,1572864,0,0,0,4194304,0,134217728,16777216,0,0,32,64,98304,0,33554432,8388608,192,67108864,67108864,67108864,67108864,16,32,4,0,8192,196608,196608,229376,80,4096,524288,8388608,0,0,32,128,256,24576,24600,24576,24576,2,24576,24576,24576,24584,24592,24576,24578,24576,24578,24576,24576,16,512,2048,2048,256,4096,32768,1048576,4194304,67108864,134217728,268435456,262144,134217728,0,128,128,64,16384,16384,16384,67108864,32,32,4,4,4096,262144,134217728,0,0,0,2,0,8192,131072,131072,4096,4096,4096,4096,24576,24576,24576,8,8,24576,24576,16384,16384,16384,24576,24584,24576,24576,24576,16384,24576,536870912,262144,0,0,32,2048,8192,4,4096,4096,4096,786432,8388608,16777216,0,128,16384,16384,16384,32768,65536,2097152,32,32,32,32,4,4,4,4,4,4096,67108864,67108864,67108864,24576,24576,24576,24576,0,16384,16384,16384,16384,67108864,67108864,8,67108864,24576,8,8,8,24576,24576,24576,24578,24576,24576,24576,2,2,2,16384,67108864,67108864,67108864,32,67108864,8,8,24576,2048,2147483648,536870912,262144,262144,262144,67108864,8,24576,16384,32768,1048576,4194304,25165824,67108864,24576,32770,2,4,112,512,98304,524288,50,402653186,1049090,1049091,10,66,100925514,10,66,12582914,0,0,-1678194207,-1678194207,-1041543218,0,32768,0,0,32,65536,268435456,1,1,513,1048577,0,12582912,0,0,0,4,1792,0,0,0,7,29360128,0,0,0,8,0,0,0,12,1,1,0,0,-604102721,-604102721,4194304,8388608,0,0,0,31,925600,997981306,997981306,997981306,0,0,2048,8388608,0,0,1,2,4,32,64,512,8192,0,0,0,245760,997720064,0,0,0,32,0,0,0,3,12,16,32,8,112,3072,12288,16384,32768,65536,131072,7864320,16777216,973078528,0,0,65536,131072,3670016,4194304,16777216,33554432,2,8,48,2048,8192,16384,32768,65536,131072,524288,131072,524288,3145728,4194304,16777216,33554432,65536,131072,2097152,4194304,16777216,33554432,134217728,268435456,536870912,0,0,0,1024,0,8,48,2048,8192,65536,33554432,268435456,536870912,65536,268435456,536870912,0,0,32768,0,0,126,623104,65011712,0,32,65536,536870912,0,0,65536,524288,0,32,65536,0,0,0,2048,0,0,0,15482,245760,-604102721,0,0,0,18913,33062912,925600,-605028352,0,0,0,65536,31,8096,131072,786432,3145728,3145728,12582912,50331648,134217728,268435456,160,256,512,7168,131072,786432,131072,786432,1048576,2097152,12582912,16777216,268435456,1073741824,2147483648,12582912,16777216,33554432,268435456,1073741824,2147483648,3,12,16,160,256,7168,786432,1048576,12582912,16777216,268435456,1073741824,0,8,16,32,128,256,512,7168,786432,1048576,2097152,0,1,2,8,16,7168,786432,1048576,8388608,16777216,16777216,1073741824,0,0,0,0,1,0,0,8,32,128,256,7168,8,32,0,3072,0,8,32,3072,4096,524288,8,32,0,0,3072,4096,0,2048,524288,8388608,8,2048,0,0,1,12,256,4096,32768,262144,1048576,4194304,67108864,0,2048,0,2048,2048,1073741824,-58805985,-58805985,-58805985,0,0,262144,0,0,32,4194304,16777216,134217728,4382,172032,-58982400,0,0,2,28,256,4096,8192,8192,32768,131072,262144,524288,1,2,12,256,4096,0,0,4194304,67108864,134217728,805306368,1073741824,0,0,1,2,12,16,256,4096,1048576,67108864,134217728,268435456,0,512,1048576,4194304,201326592,1879048192,0,0,12,256,4096,134217728,268435456,536870912,12,256,268435456,536870912,0,12,256,0,0,1,32,64,512,0,0,205236961,205236961,0,0,0,1,96,640,1,10976,229376,204996608,0,640,2048,8192,229376,1572864,1572864,2097152,201326592,0,0,0,64,512,2048,229376,1572864,201326592,1572864,201326592,0,0,1,4382,0,1,32,2048,65536,131072,1572864,201326592,131072,1572864,134217728,0,0,524288,524288,0,0,0,-68582786,-68582786,-68582786,0,0,2097152,524288,0,524288,0,0,65536,131072,1572864,0,0,2,4,0,0,65011712,-134217728,0,0,0,0,2,4,120,512,-268435456,0,0,0,2,8,48,64,2048,8192,98304,524288,2097152,4194304,25165824,33554432,134217728,268435456,2147483648,0,0,25165824,33554432,134217728,1879048192,2147483648,0,0,4,112,512,622592,65011712,134217728,-268435456,16777216,33554432,134217728,1610612736,0,0,0,64,98304,524288,4194304,16777216,33554432,0,98304,524288,16777216,33554432,0,65536,524288,33554432,536870912,1073741824,0,65536,524288,536870912,1073741824,0,0,65536,524288,536870912,0,524288,0,524288,524288,1048576,2086666240,2147483648,0,-1678194207,0,0,0,8,32,2048,524288,8388608,0,0,33062912,436207616,2147483648,0,0,32,64,2432,16384,32768,32768,524288,3145728,4194304,25165824,25165824,167772160,268435456,2147483648,0,32,64,384,2048,16384,32768,1048576,2097152,4194304,25165824,32,64,128,256,2048,16384,2048,16384,1048576,4194304,16777216,33554432,134217728,536870912,1073741824,0,0,2048,16384,4194304,16777216,33554432,134217728,805306368,0,0,16777216,134217728,268435456,2147483648,0,622592,622592,622592,8807,8807,434791,0,0,16777216,0,0,0,7,608,8192,0,0,0,3,4,96,512,32,64,8192,0,0,16777216,134217728,0,0,2,4,8192,16384,65536,2097152,33554432,268435456],r.TOKEN=["(0)","ModuleDecl","Annotation","OptionDecl","Operator","Variable","Tag","EndTag","PragmaContents","DirCommentContents","DirPIContents","CDataSectionContents","AttrTest","Wildcard","EQName","IntegerLiteral","DecimalLiteral","DoubleLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","QuotChar","AposChar","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","NCName","QName","S","CharRef","CommentContents","DocTag","DocCommentContents","EOF","'!'","'\"'","'#'","'#)'","''''","'('","'(#'","'(:'","'(:~'","')'","'*'","'*'","','","'-->'","'.'","'/'","'/>'","':'","':)'","';'","'",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/java_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while",t="null|Infinity|NaN|undefined",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.JavaHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-jsx.js b/static/js/lib/ace/src-min-noconflict/mode-jsx.js new file mode 100644 index 0000000..96a6373 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-jsx.js @@ -0,0 +1 @@ +ace.define("ace/mode/jsx",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/jsx_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){function l(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f}var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./jsx_highlight_rules").JsxHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode;r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/jsx"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/jsx_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){var e=i.arrayToMap("break|do|instanceof|typeof|case|else|new|var|catch|finally|return|void|continue|for|switch|default|while|function|this|if|throw|delete|in|try|class|extends|super|import|from|into|implements|interface|static|mixin|override|abstract|final|number|int|string|boolean|variant|log|assert".split("|")),t=i.arrayToMap("null|true|false|NaN|Infinity|__FILE__|__LINE__|undefined".split("|")),n=i.arrayToMap("debugger|with|const|export|let|private|public|yield|protected|extern|native|as|operator|__fake__|__readonly__".split("|")),r="[a-zA-Z_][a-zA-Z0-9_]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},s.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:["storage.type","text","entity.name.function"],regex:"(function)(\\s+)("+r+")"},{token:function(r){return r=="this"?"variable.language":r=="function"?"storage.type":e.hasOwnProperty(r)||n.hasOwnProperty(r)?"keyword":t.hasOwnProperty(r)?"constant.language":/^_?[A-Z][a-zA-Z0-9_]*$/.test(r)?"language.support.class":"identifier"},regex:r},{token:"keyword.operator",regex:"!|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({<]"},{token:"paren.rparen",regex:"[\\])}>]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(u,o),t.JsxHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-julia.js b/static/js/lib/ace/src-min-noconflict/mode-julia.js new file mode 100644 index 0000000..f759c4c --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-julia.js @@ -0,0 +1 @@ +ace.define("ace/mode/julia",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/julia_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./julia_highlight_rules").JuliaHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="#",this.blockComment="",this.$id="ace/mode/julia"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/julia_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#function_decl"},{include:"#function_call"},{include:"#type_decl"},{include:"#keyword"},{include:"#operator"},{include:"#number"},{include:"#string"},{include:"#comment"}],"#bracket":[{token:"keyword.bracket.julia",regex:"\\(|\\)|\\[|\\]|\\{|\\}|,"}],"#comment":[{token:["punctuation.definition.comment.julia","comment.line.number-sign.julia"],regex:"(#)(?!\\{)(.*$)"}],"#function_call":[{token:["support.function.julia","text"],regex:"([a-zA-Z0-9_]+!?)(\\w*\\()"}],"#function_decl":[{token:["keyword.other.julia","meta.function.julia","entity.name.function.julia","meta.function.julia","text"],regex:"(function|macro)(\\s*)([a-zA-Z0-9_\\{]+!?)(\\w*)([(\\\\{])"}],"#keyword":[{token:"keyword.other.julia",regex:"\\b(?:function|type|immutable|macro|quote|abstract|bitstype|typealias|module|baremodule|new)\\b"},{token:"keyword.control.julia",regex:"\\b(?:if|else|elseif|while|for|in|begin|let|end|do|try|catch|finally|return|break|continue)\\b"},{token:"storage.modifier.variable.julia",regex:"\\b(?:global|local|const|export|import|importall|using)\\b"},{token:"variable.macro.julia",regex:"@\\w+\\b"}],"#number":[{token:"constant.numeric.julia",regex:"\\b0(?:x|X)[0-9a-fA-F]*|(?:\\b[0-9]+\\.?[0-9]*|\\.[0-9]+)(?:(?:e|E)(?:\\+|-)?[0-9]*)?(?:im)?|\\bInf(?:32)?\\b|\\bNaN(?:32)?\\b|\\btrue\\b|\\bfalse\\b"}],"#operator":[{token:"keyword.operator.update.julia",regex:"=|:=|\\+=|-=|\\*=|/=|//=|\\.//=|\\.\\*=|\\\\=|\\.\\\\=|^=|\\.^=|%=|\\|=|&=|\\$=|<<=|>>="},{token:"keyword.operator.ternary.julia",regex:"\\?|:"},{token:"keyword.operator.boolean.julia",regex:"\\|\\||&&|!"},{token:"keyword.operator.arrow.julia",regex:"->|<-|-->"},{token:"keyword.operator.relation.julia",regex:">|<|>=|<=|==|!=|\\.>|\\.<|\\.>=|\\.>=|\\.==|\\.!=|\\.=|\\.!|<:|:>"},{token:"keyword.operator.range.julia",regex:":"},{token:"keyword.operator.shift.julia",regex:"<<|>>"},{token:"keyword.operator.bitwise.julia",regex:"\\||\\&|~"},{token:"keyword.operator.arithmetic.julia",regex:"\\+|-|\\*|\\.\\*|/|\\./|//|\\.//|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^"},{token:"keyword.operator.isa.julia",regex:"::"},{token:"keyword.operator.dots.julia",regex:"\\.(?=[a-zA-Z])|\\.\\.+"},{token:"keyword.operator.interpolation.julia",regex:"\\$#?(?=.)"},{token:["variable","keyword.operator.transposed-variable.julia"],regex:"(\\w+)((?:'|\\.')*\\.?')"},{token:"text",regex:"\\[|\\("},{token:["text","keyword.operator.transposed-matrix.julia"],regex:"([\\]\\)])((?:'|\\.')*\\.?')"}],"#string":[{token:"punctuation.definition.string.begin.julia",regex:"'",push:[{token:"punctuation.definition.string.end.julia",regex:"'",next:"pop"},{include:"#string_escaped_char"},{defaultToken:"string.quoted.single.julia"}]},{token:"punctuation.definition.string.begin.julia",regex:'"',push:[{token:"punctuation.definition.string.end.julia",regex:'"',next:"pop"},{include:"#string_escaped_char"},{defaultToken:"string.quoted.double.julia"}]},{token:"punctuation.definition.string.begin.julia",regex:'\\b\\w+"',push:[{token:"punctuation.definition.string.end.julia",regex:'"\\w*',next:"pop"},{include:"#string_custom_escaped_char"},{defaultToken:"string.quoted.custom-double.julia"}]},{token:"punctuation.definition.string.begin.julia",regex:"`",push:[{token:"punctuation.definition.string.end.julia",regex:"`",next:"pop"},{include:"#string_escaped_char"},{defaultToken:"string.quoted.backtick.julia"}]}],"#string_custom_escaped_char":[{token:"constant.character.escape.julia",regex:'\\\\"'}],"#string_escaped_char":[{token:"constant.character.escape.julia",regex:"\\\\(?:\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)"}],"#type_decl":[{token:["keyword.control.type.julia","meta.type.julia","entity.name.type.julia","entity.other.inherited-class.julia","punctuation.separator.inheritance.julia","entity.other.inherited-class.julia"],regex:"(type|immutable)(\\s+)([a-zA-Z0-9_]+)(?:(\\s*)(<:)(\\s*[.a-zA-Z0-9_:]+))?"},{token:["other.typed-variable.julia","support.type.julia"],regex:"([a-zA-Z0-9_]+)(::[a-zA-Z0-9_{}]+)"}]},this.normalizeRules()};s.metaData={fileTypes:["jl"],firstLineMatch:"^#!.*\\bjulia\\s*$",foldingStartMarker:"^\\s*(?:if|while|for|begin|function|macro|module|baremodule|type|immutable|let)\\b(?!.*\\bend\\b).*$",foldingStopMarker:"^\\s*(?:end)\\b.*$",name:"Julia",scopeName:"source.julia"},r.inherits(s,i),t.JuliaHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-latex.js b/static/js/lib/ace/src-min-noconflict/mode-latex.js new file mode 100644 index 0000000..f0110e8 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-latex.js @@ -0,0 +1 @@ +ace.define("ace/mode/latex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/latex_highlight_rules","ace/mode/folding/latex","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./latex_highlight_rules").LatexHighlightRules,u=e("./folding/latex").FoldMode,a=e("../range").Range,f=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(f,i),function(){this.lineCommentStart="%",this.$id="ace/mode/latex"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/latex_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"keyword",regex:"\\\\(?:[^a-zA-Z]|[a-zA-Z]+)"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"string",regex:"\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$"},{token:"comment",regex:"%.*$"}]}};r.inherits(s,i),t.LatexHighlightRules=s}),ace.define("ace/mode/folding/latex",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,i),function(){this.foldingStartMarker=/^\s*\\(begin)|(section|subsection)\b|{\s*$/,this.foldingStopMarker=/^\s*\\(end)\b|^\s*}/,this.getFoldWidgetRange=function(e,t,n){var r=e.doc.getLine(n),i=this.foldingStartMarker.exec(r);if(i)return i[1]?this.latexBlock(e,n,i[0].length-1):i[2]?this.latexSection(e,n,i[0].length-1):this.openingBracketBlock(e,"{",n,i.index);var i=this.foldingStopMarker.exec(r);if(i)return i[1]?this.latexBlock(e,n,i[0].length-1):this.closingBracketBlock(e,"}",n,i.index+i[0].length)},this.latexBlock=function(e,t,n){var r={"\\begin":1,"\\end":-1},i=new o(e,t,n),u=i.getCurrentToken();if(!u||u.type!=="keyword")return;var a=u.value,f=r[a],l=function(){var e=i.stepForward(),t=e.type=="lparen"?i.stepForward().value:"";return f===-1&&(i.stepBackward(),t&&i.stepBackward()),t},c=[l()],h=f===-1?i.getCurrentTokenColumn():e.getLine(t).length,p=t;i.step=f===-1?i.stepBackward:i.stepForward;while(u=i.step()){if(u.type!=="keyword")continue;var d=r[u.value];if(!d)continue;var v=l();if(d===f)c.unshift(v);else if(c.shift()!==v||!c.length)break}if(c.length)return;var t=i.getCurrentTokenRow();return f===-1?new s(t,e.getLine(t).length,p,h):(i.stepBackward(),new s(p,h,t,i.getCurrentTokenColumn()))},this.latexSection=function(e,t,n){var r=["\\subsection","\\section","\\begin","\\end"],i=new o(e,t,n),u=i.getCurrentToken();if(!u||u.type!="keyword")return;var a=r.indexOf(u.value),f=0,l=t;while(u=i.stepForward()){if(u.type!=="keyword")continue;var c=r.indexOf(u.value);if(c>=2){f||(l=i.getCurrentTokenRow()-1),f+=c==2?1:-1;if(f<0)break}else if(c>=a)break}f||(l=i.getCurrentTokenRow()-1);while(l>t&&!/\S/.test(e.getLine(l)))l--;return new s(t,e.getLine(t).length,l,e.getLine(l).length)}}.call(u.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-less.js b/static/js/lib/ace/src-min-noconflict/mode-less.js new file mode 100644 index 0000000..a68e1fc --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-less.js @@ -0,0 +1 @@ +ace.define("ace/mode/less",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/less_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./less_highlight_rules").LessHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/less"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]}};r.inherits(o,s),t.LessHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-liquid.js b/static/js/lib/ace/src-min-noconflict/mode-liquid.js new file mode 100644 index 0000000..ec9d01f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-liquid.js @@ -0,0 +1 @@ +ace.define("ace/mode/liquid",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/liquid_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./liquid_highlight_rules").LiquidHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=function(){this.HighlightRules=o,this.$outdent=new u};r.inherits(f,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/liquid"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/liquid_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,o=function(){s.call(this);var e="date|capitalize|downcase|upcase|first|last|join|sort|map|size|escape|escape_once|strip_html|strip_newlines|newline_to_br|replace|replace_first|truncate|truncatewords|prepend|append|minus|plus|times|divided_by|split",t="capture|endcapture|case|endcase|when|comment|endcomment|cycle|for|endfor|in|reversed|if|endif|else|elsif|include|endinclude|unless|endunless|style|text|image|widget|plugin|marker|endmarker|tablerow|endtablerow",n="forloop|tablerowloop",r="assign",i=this.createKeywordMapper({"variable.language":n,keyword:t,"support.function":e,"keyword.definition":r},"identifier");for(var o in this.$rules)this.$rules[o].unshift({token:"variable",regex:"{%",push:"liquid-start"},{token:"variable",regex:"{{",push:"liquid-start"});this.addRules({"liquid-start":[{token:"variable",regex:"}}",next:"pop"},{token:"variable",regex:"%}",next:"pop"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"/|\\*|\\-|\\+|=|!=|\\?\\:"},{token:"paren.lparen",regex:/[\[\({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"text",regex:"\\s+"}]}),this.normalizeRules()};r.inherits(o,i),t.LiquidHighlightRules=o}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-lisp.js b/static/js/lib/ace/src-min-noconflict/mode-lisp.js new file mode 100644 index 0000000..6b30a54 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-lisp.js @@ -0,0 +1 @@ +ace.define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/lisp_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./lisp_highlight_rules").LispHighlightRules,u=function(){this.HighlightRules=o};r.inherits(u,i),function(){this.lineCommentStart=";",this.$id="ace/mode/lisp"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="case|do|let|loop|if|else|when",t="eq|neq|and|or",n="null|nil",r="cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn",i=this.createKeywordMapper({"keyword.control":e,"keyword.operator":t,"constant.language":n,"support.function":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.lisp","text","entity.name.function.lisp"],regex:"(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:["punctuation.definition.constant.character.lisp","constant.character.lisp"],regex:"(#)((?:\\w|[\\\\+-=<>'\"&#])+)"},{token:["punctuation.definition.variable.lisp","variable.other.global.lisp","punctuation.definition.variable.lisp"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.lisp",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"}]}};r.inherits(s,i),t.LispHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-livescript.js b/static/js/lib/ace/src-min-noconflict/mode-livescript.js new file mode 100644 index 0000000..c4344f5 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-livescript.js @@ -0,0 +1 @@ +ace.define("ace/mode/livescript",["require","exports","module","ace/tokenizer","ace/mode/matching_brace_outdent","ace/range","ace/mode/text"],function(e,t,n){function u(e,t){function n(){}return n.prototype=(e.superclass=t).prototype,(e.prototype=new n).constructor=e,typeof t.extended=="function"&&t.extended(e),e}function a(e,t){var n={}.hasOwnProperty;for(var r in t)n.call(t,r)&&(e[r]=t[r]);return e}var r,i,s,o;r="(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*",t.Mode=i=function(t){function o(){var t;this.$tokenizer=new(e("../tokenizer").Tokenizer)(o.Rules);if(t=e("../mode/matching_brace_outdent"))this.$outdent=new t.MatchingBraceOutdent}var n,i=u((a(o,t).displayName="LiveScriptMode",o),t).prototype,s=o;return n=RegExp("(?:[({[=:]|[-~]>|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*"+r+")?))\\s*$"),i.getNextLineIndent=function(e,t,r){var i,s;return i=this.$getIndent(t),s=this.$tokenizer.getLineTokens(t,e).tokens,(!s.length||s[s.length-1].type!=="comment")&&e==="start"&&n.test(t)&&(i+=r),i},i.toggleCommentLines=function(t,n,r,i){var s,o,u,a,f,l;s=/^(\s*)#/,o=new(e("../range").Range)(0,0,0,0);for(u=r;u<=i;++u)a=u,(f=s.test(l=n.getLine(a)))?l=l.replace(s,"$1"):l=l.replace(/^\s*/,"$&#"),o.end.row=o.start.row=a,o.end.column=l.length+1,n.replace(o,l);return 1-f*2},i.checkOutdent=function(e,t,n){var r;return(r=this.$outdent)!=null?r.checkOutdent(t,n):void 8},i.autoOutdent=function(e,t,n){var r;return(r=this.$outdent)!=null?r.autoOutdent(t,n):void 8},o}(e("../mode/text").Mode),s="(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))",o={token:"string",regex:".+"},i.Rules={start:[{token:"keyword",regex:"(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)"+s},{token:"constant.language",regex:"(?:true|false|yes|no|on|off|null|void|undefined)"+s},{token:"invalid.illegal",regex:"(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)"+s},{token:"language.support.class",regex:"(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)"+s},{token:"language.support.function",regex:"(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)"+s},{token:"variable.language",regex:"(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)"+s},{token:"identifier",regex:r+"\\s*:(?![:=])"},{token:"variable",regex:r},{token:"keyword.operator",regex:"(?:\\.{3}|\\s+\\?)"},{token:"keyword.variable",regex:"(?:@+|::|\\.\\.)",next:"key"},{token:"keyword.operator",regex:"\\.\\s*",next:"key"},{token:"string",regex:"\\\\\\S[^\\s,;)}\\]]*"},{token:"string.doc",regex:"'''",next:"qdoc"},{token:"string.doc",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"`",next:"js"},{token:"string",regex:"<\\[",next:"words"},{token:"string.regex",regex:"//",next:"heregex"},{token:"comment.doc",regex:"/\\*",next:"comment"},{token:"comment",regex:"#.*"},{token:"string.regex",regex:"\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}",next:"key"},{token:"constant.numeric",regex:"(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)"},{token:"lparen",regex:"[({[]"},{token:"rparen",regex:"[)}\\]]",next:"key"},{token:"keyword.operator",regex:"\\S+"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?//[gimy$?]{0,4}",next:"start"},{token:"string.regex",regex:"\\s*#{"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],key:[{token:"keyword.operator",regex:"[.?@!]+"},{token:"identifier",regex:r,next:"start"},{token:"text",regex:".",next:"start"}],comment:[{token:"comment.doc",regex:".*?\\*/",next:"start"},{token:"comment.doc",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"key"},o],qqdoc:[{token:"string",regex:'.*?"""',next:"key"},o],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"key"},o],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"key"},o],js:[{token:"string",regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"key"},o],words:[{token:"string",regex:".*?\\]>",next:"key"},o]}}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-logiql.js b/static/js/lib/ace/src-min-noconflict/mode-logiql.js new file mode 100644 index 0000000..a33badb --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-logiql.js @@ -0,0 +1 @@ +ace.define("ace/mode/logiql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/logiql_highlight_rules","ace/mode/folding/coffee","ace/token_iterator","ace/range","ace/mode/behaviour/cstyle","ace/mode/matching_brace_outdent"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./logiql_highlight_rules").LogiQLHighlightRules,u=e("./folding/coffee").FoldMode,a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./matching_brace_outdent").MatchingBraceOutdent,h=function(){this.HighlightRules=o,this.foldingRules=new u,this.$outdent=new c,this.$behaviour=new l};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(/comment|string/.test(o))return r;if(s.length&&s[s.length-1].type=="comment.single")return r;var u=t.match();return/(-->|<--|<-|->|{)\s*$/.test(t)&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)?!0:n!=="\n"&&n!=="\r\n"?!1:/^\s+/.test(t)?!0:!1},this.autoOutdent=function(e,t,n){if(this.$outdent.autoOutdent(t,n))return;var r=t.getLine(n),i=r.match(/^\s+/),s=r.lastIndexOf(".")+1;if(!i||!n||!s)return 0;var o=t.getLine(n+1),u=this.getMatching(t,{row:n,column:s});if(!u||u.start.row==n)return 0;s=i[0].length;var a=this.$getIndent(t.getLine(u.start.row));t.replace(new f(n+1,0,n+1,s),a)},this.getMatching=function(e,t,n){t==undefined&&(t=e.selection.lead),typeof t=="object"&&(n=t.column,t=t.row);var r=e.getTokenAt(t,n),i="keyword.start",s="keyword.end",o;if(!r)return;if(r.type==i){var u=new a(e,t,n);u.step=u.stepForward}else{if(r.type!=s)return;var u=new a(e,t,n);u.step=u.stepBackward}while(o=u.step())if(o.type==i||o.type==s)break;if(!o||o.type==r.type)return;var l=u.getCurrentTokenColumn(),t=u.getCurrentTokenRow();return new f(t,l,t,l+o.value.length)},this.$id="ace/mode/logiql"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/logiql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.block",regex:"/\\*",push:[{token:"comment.block",regex:"\\*/",next:"pop"},{defaultToken:"comment.block"}]},{token:"comment.single",regex:"//.*"},{token:"constant.numeric",regex:"\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?[fd]?"},{token:"string",regex:'"',push:[{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"constant.language",regex:"\\b(true|false)\\b"},{token:"entity.name.type.logicblox",regex:"`[a-zA-Z_:]+(\\d|\\a)*\\b"},{token:"keyword.start",regex:"->",comment:"Constraint"},{token:"keyword.start",regex:"-->",comment:"Level 1 Constraint"},{token:"keyword.start",regex:"<-",comment:"Rule"},{token:"keyword.start",regex:"<--",comment:"Level 1 Rule"},{token:"keyword.end",regex:"\\.",comment:"Terminator"},{token:"keyword.other",regex:"!",comment:"Negation"},{token:"keyword.other",regex:",",comment:"Conjunction"},{token:"keyword.other",regex:";",comment:"Disjunction"},{token:"keyword.operator",regex:"<=|>=|!=|<|>",comment:"Equality"},{token:"keyword.other",regex:"@",comment:"Equality"},{token:"keyword.operator",regex:"\\+|-|\\*|/",comment:"Arithmetic operations"},{token:"keyword",regex:"::",comment:"Colon colon"},{token:"support.function",regex:"\\b(agg\\s*<<)",push:[{include:"$self"},{token:"support.function",regex:">>",next:"pop"}]},{token:"storage.modifier",regex:"\\b(lang:[\\w:]*)"},{token:["storage.type","text"],regex:"(export|sealed|clauses|block|alias|alias_all)(\\s*\\()(?=`)"},{token:"entity.name",regex:"[a-zA-Z_][a-zA-Z_0-9:]*(@prev|@init|@final)?(?=(\\(|\\[))"},{token:"variable.parameter",regex:"([a-zA-Z][a-zA-Z_0-9]*|_)\\s*(?=(,|\\.|<-|->|\\)|\\]|=))"}]},this.normalizeRules()};r.inherits(s,i),t.LogiQLHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-lsl.js b/static/js/lib/ace/src-min-noconflict/mode-lsl.js new file mode 100644 index 0000000..f4d08d8 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-lsl.js @@ -0,0 +1 @@ +ace.define("ace/mode/lsl",["require","exports","module","ace/tokenizer","ace/mode/lsl_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/text","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/lib/oop"],function(e,t,n){var r=e("../tokenizer").Tokenizer,i=e("./lsl_highlight_rules").LSLHighlightRules,s=e("./matching_brace_outdent").MatchingBraceOutdent,o=e("../range").Range,u=e("./text").Mode,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=e("../lib/oop"),c=function(){this.HighlightRules=i,this.$outdent=new s,this.$behaviour=new a,this.foldingRules=new f};l.inherits(c,u),function(){this.lineCommentStart=["//"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type==="comment.block.lsl")return r;if(e==="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/lsl"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/lsl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){function s(){var e=this.createKeywordMapper({"constant.language.float.lsl":"DEG_TO_RAD|PI|PI_BY_TWO|RAD_TO_DEG|SQRT2|TWO_PI","constant.language.integer.lsl":"ACTIVE|AGENT|AGENT_ALWAYS_RUN|AGENT_ATTACHMENTS|AGENT_AUTOPILOT|AGENT_AWAY|AGENT_BUSY|AGENT_BY_LEGACY_NAME|AGENT_BY_USERNAME|AGENT_CROUCHING|AGENT_FLYING|AGENT_IN_AIR|AGENT_LIST_PARCEL|AGENT_LIST_PARCEL_OWNER|AGENT_LIST_REGION|AGENT_MOUSELOOK|AGENT_ON_OBJECT|AGENT_SCRIPTED|AGENT_SITTING|AGENT_TYPING|AGENT_WALKING|ALL_SIDES|ANIM_ON|ATTACH_AVATAR_CENTER|ATTACH_BACK|ATTACH_BELLY|ATTACH_CHEST|ATTACH_CHIN|ATTACH_HEAD|ATTACH_HUD_BOTTOM|ATTACH_HUD_BOTTOM_LEFT|ATTACH_HUD_BOTTOM_RIGHT|ATTACH_HUD_CENTER_1|ATTACH_HUD_CENTER_2|ATTACH_HUD_TOP_CENTER|ATTACH_HUD_TOP_LEFT|ATTACH_HUD_TOP_RIGHT|ATTACH_LEAR|ATTACH_LEFT_PEC|ATTACH_LEYE|ATTACH_LFOOT|ATTACH_LHAND|ATTACH_LHIP|ATTACH_LLARM|ATTACH_LLLEG|ATTACH_LSHOULDER|ATTACH_LUARM|ATTACH_LULEG|ATTACH_MOUTH|ATTACH_NECK|ATTACH_NOSE|ATTACH_PELVIS|ATTACH_REAR|ATTACH_REYE|ATTACH_RFOOT|ATTACH_RHAND|ATTACH_RHIP|ATTACH_RIGHT_PEC|ATTACH_RLARM|ATTACH_RLLEG|ATTACH_RSHOULDER|ATTACH_RUARM|ATTACH_RULEG|AVOID_CHARACTERS|AVOID_DYNAMIC_OBSTACLES|AVOID_NONE|CAMERA_ACTIVE|CAMERA_BEHINDNESS_ANGLE|CAMERA_BEHINDNESS_LAG|CAMERA_DISTANCE|CAMERA_FOCUS|CAMERA_FOCUS_LAG|CAMERA_FOCUS_LOCKED|CAMERA_FOCUS_OFFSET|CAMERA_FOCUS_THRESHOLD|CAMERA_PITCH|CAMERA_POSITION|CAMERA_POSITION_LAG|CAMERA_POSITION_LOCKED|CAMERA_POSITION_THRESHOLD|CHANGED_ALLOWED_DROP|CHANGED_COLOR|CHANGED_INVENTORY|CHANGED_LINK|CHANGED_MEDIA|CHANGED_OWNER|CHANGED_REGION|CHANGED_REGION_START|CHANGED_SCALE|CHANGED_SHAPE|CHANGED_TELEPORT|CHANGED_TEXTURE|CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES|CHARACTER_AVOIDANCE_MODE|CHARACTER_CMD_JUMP|CHARACTER_CMD_SMOOTH_STOP|CHARACTER_CMD_STOP|CHARACTER_DESIRED_SPEED|CHARACTER_DESIRED_TURN_SPEED|CHARACTER_LENGTH|CHARACTER_MAX_ACCEL|CHARACTER_MAX_DECEL|CHARACTER_MAX_SPEED|CHARACTER_MAX_TURN_RADIUS|CHARACTER_ORIENTATION|CHARACTER_RADIUS|CHARACTER_STAY_WITHIN_PARCEL|CHARACTER_TYPE|CHARACTER_TYPE_A|CHARACTER_TYPE_B|CHARACTER_TYPE_C|CHARACTER_TYPE_D|CHARACTER_TYPE_NONE|CLICK_ACTION_BUY|CLICK_ACTION_NONE|CLICK_ACTION_OPEN|CLICK_ACTION_OPEN_MEDIA|CLICK_ACTION_PAY|CLICK_ACTION_PLAY|CLICK_ACTION_SIT|CLICK_ACTION_TOUCH|CONTENT_TYPE_ATOM|CONTENT_TYPE_FORM|CONTENT_TYPE_HTML|CONTENT_TYPE_JSON|CONTENT_TYPE_LLSD|CONTENT_TYPE_RSS|CONTENT_TYPE_TEXT|CONTENT_TYPE_XHTML|CONTENT_TYPE_XML|CONTROL_BACK|CONTROL_DOWN|CONTROL_FWD|CONTROL_LBUTTON|CONTROL_LEFT|CONTROL_ML_LBUTTON|CONTROL_RIGHT|CONTROL_ROT_LEFT|CONTROL_ROT_RIGHT|CONTROL_UP|DATA_BORN|DATA_NAME|DATA_ONLINE|DATA_PAYINFO|DATA_SIM_POS|DATA_SIM_RATING|DATA_SIM_STATUS|DEBUG_CHANNEL|DENSITY|ERR_GENERIC|ERR_MALFORMED_PARAMS|ERR_PARCEL_PERMISSIONS|ERR_RUNTIME_PERMISSIONS|ERR_THROTTLED|ESTATE_ACCESS_ALLOWED_AGENT_ADD|ESTATE_ACCESS_ALLOWED_AGENT_REMOVE|ESTATE_ACCESS_ALLOWED_GROUP_ADD|ESTATE_ACCESS_ALLOWED_GROUP_REMOVE|ESTATE_ACCESS_BANNED_AGENT_ADD|ESTATE_ACCESS_BANNED_AGENT_REMOVE|FORCE_DIRECT_PATH|FRICTION|GCNP_RADIUS|GCNP_STATIC|GRAVITY_MULTIPLIER|HORIZONTAL|HTTP_BODY_MAXLENGTH|HTTP_BODY_TRUNCATED|HTTP_CUSTOM_HEADER|HTTP_METHOD|HTTP_MIMETYPE|HTTP_PRAGMA_NO_CACHE|HTTP_VERBOSE_THROTTLE|HTTP_VERIFY_CERT|INVENTORY_ALL|INVENTORY_ANIMATION|INVENTORY_BODYPART|INVENTORY_CLOTHING|INVENTORY_GESTURE|INVENTORY_LANDMARK|INVENTORY_NONE|INVENTORY_NOTECARD|INVENTORY_OBJECT|INVENTORY_SCRIPT|INVENTORY_SOUND|INVENTORY_TEXTURE|JSON_APPEND|KFM_CMD_PAUSE|KFM_CMD_PLAY|KFM_CMD_SET_MODE|KFM_CMD_STOP|KFM_COMMAND|KFM_DATA|KFM_FORWARD|KFM_LOOP|KFM_MODE|KFM_PING_PONG|KFM_REVERSE|KFM_ROTATION|KFM_TRANSLATION|LAND_LEVEL|LAND_LOWER|LAND_NOISE|LAND_RAISE|LAND_REVERT|LAND_SMOOTH|LINK_ALL_CHILDREN|LINK_ALL_OTHERS|LINK_ROOT|LINK_SET|LINK_THIS|LIST_STAT_GEOMETRIC_MEAN|LIST_STAT_MAX|LIST_STAT_MEAN|LIST_STAT_MEDIAN|LIST_STAT_MIN|LIST_STAT_NUM_COUNT|LIST_STAT_RANGE|LIST_STAT_STD_DEV|LIST_STAT_SUM|LIST_STAT_SUM_SQUARES|LOOP|MASK_BASE|MASK_EVERYONE|MASK_GROUP|MASK_NEXT|MASK_OWNER|OBJECT_ATTACHED_POINT|OBJECT_CHARACTER_TIME|OBJECT_CREATOR|OBJECT_DESC|OBJECT_GROUP|OBJECT_NAME|OBJECT_OWNER|OBJECT_PATHFINDING_TYPE|OBJECT_PHANTOM|OBJECT_PHYSICS|OBJECT_PHYSICS_COST|OBJECT_POS|OBJECT_PRIM_EQUIVALENCE|OBJECT_RETURN_PARCEL|OBJECT_RETURN_PARCEL_OWNER|OBJECT_RETURN_REGION|OBJECT_ROOT|OBJECT_ROT|OBJECT_RUNNING_SCRIPT_COUNT|OBJECT_SCRIPT_MEMORY|OBJECT_SCRIPT_TIME|OBJECT_SERVER_COST|OBJECT_STREAMING_COST|OBJECT_TEMP_ON_REZ|OBJECT_TOTAL_SCRIPT_COUNT|OBJECT_UNKNOWN_DETAIL|OBJECT_VELOCITY|OPT_AVATAR|OPT_CHARACTER|OPT_EXCLUSION_VOLUME|OPT_LEGACY_LINKSET|OPT_MATERIAL_VOLUME|OPT_OTHER|OPT_STATIC_OBSTACLE|OPT_WALKABLE|PARCEL_COUNT_GROUP|PARCEL_COUNT_OTHER|PARCEL_COUNT_OWNER|PARCEL_COUNT_SELECTED|PARCEL_COUNT_TEMP|PARCEL_COUNT_TOTAL|PARCEL_DETAILS_AREA|PARCEL_DETAILS_DESC|PARCEL_DETAILS_GROUP|PARCEL_DETAILS_ID|PARCEL_DETAILS_NAME|PARCEL_DETAILS_OWNER|PARCEL_DETAILS_SEE_AVATARS|PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS|PARCEL_FLAG_ALLOW_CREATE_OBJECTS|PARCEL_FLAG_ALLOW_DAMAGE|PARCEL_FLAG_ALLOW_FLY|PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_GROUP_SCRIPTS|PARCEL_FLAG_ALLOW_LANDMARK|PARCEL_FLAG_ALLOW_SCRIPTS|PARCEL_FLAG_ALLOW_TERRAFORM|PARCEL_FLAG_LOCAL_SOUND_ONLY|PARCEL_FLAG_RESTRICT_PUSHOBJECT|PARCEL_FLAG_USE_ACCESS_GROUP|PARCEL_FLAG_USE_ACCESS_LIST|PARCEL_FLAG_USE_BAN_LIST|PARCEL_FLAG_USE_LAND_PASS_LIST|PARCEL_MEDIA_COMMAND_AGENT|PARCEL_MEDIA_COMMAND_AUTO_ALIGN|PARCEL_MEDIA_COMMAND_DESC|PARCEL_MEDIA_COMMAND_LOOP|PARCEL_MEDIA_COMMAND_LOOP_SET|PARCEL_MEDIA_COMMAND_PAUSE|PARCEL_MEDIA_COMMAND_PLAY|PARCEL_MEDIA_COMMAND_SIZE|PARCEL_MEDIA_COMMAND_STOP|PARCEL_MEDIA_COMMAND_TEXTURE|PARCEL_MEDIA_COMMAND_TIME|PARCEL_MEDIA_COMMAND_TYPE|PARCEL_MEDIA_COMMAND_UNLOAD|PARCEL_MEDIA_COMMAND_URL|PASSIVE|PATROL_PAUSE_AT_WAYPOINTS|PAY_DEFAULT|PAY_HIDE|PAYMENT_INFO_ON_FILE|PAYMENT_INFO_USED|PERM_ALL|PERM_COPY|PERM_MODIFY|PERM_MOVE|PERM_TRANSFER|PERMISSION_ATTACH|PERMISSION_CHANGE_LINKS|PERMISSION_CONTROL_CAMERA|PERMISSION_DEBIT|PERMISSION_OVERRIDE_ANIMATIONS|PERMISSION_RETURN_OBJECTS|PERMISSION_SILENT_ESTATE_MANAGEMENT|PERMISSION_TAKE_CONTROLS|PERMISSION_TELEPORT|PERMISSION_TRACK_CAMERA|PERMISSION_TRIGGER_ANIMATION|PING_PONG|PRIM_BUMP_BARK|PRIM_BUMP_BLOBS|PRIM_BUMP_BRICKS|PRIM_BUMP_BRIGHT|PRIM_BUMP_CHECKER|PRIM_BUMP_CONCRETE|PRIM_BUMP_DARK|PRIM_BUMP_DISKS|PRIM_BUMP_GRAVEL|PRIM_BUMP_LARGETILE|PRIM_BUMP_NONE|PRIM_BUMP_SHINY|PRIM_BUMP_SIDING|PRIM_BUMP_STONE|PRIM_BUMP_STUCCO|PRIM_BUMP_SUCTION|PRIM_BUMP_TILE|PRIM_BUMP_WEAVE|PRIM_BUMP_WOOD|PRIM_COLOR|PRIM_DESC|PRIM_FLEXIBLE|PRIM_FULLBRIGHT|PRIM_GLOW|PRIM_HOLE_CIRCLE|PRIM_HOLE_DEFAULT|PRIM_HOLE_SQUARE|PRIM_HOLE_TRIANGLE|PRIM_LINK_TARGET|PRIM_MATERIAL|PRIM_MATERIAL_FLESH|PRIM_MATERIAL_GLASS|PRIM_MATERIAL_METAL|PRIM_MATERIAL_PLASTIC|PRIM_MATERIAL_RUBBER|PRIM_MATERIAL_STONE|PRIM_MATERIAL_WOOD|PRIM_MEDIA_ALT_IMAGE_ENABLE|PRIM_MEDIA_AUTO_LOOP|PRIM_MEDIA_AUTO_PLAY|PRIM_MEDIA_AUTO_SCALE|PRIM_MEDIA_AUTO_ZOOM|PRIM_MEDIA_CONTROLS|PRIM_MEDIA_CONTROLS_MINI|PRIM_MEDIA_CONTROLS_STANDARD|PRIM_MEDIA_CURRENT_URL|PRIM_MEDIA_FIRST_CLICK_INTERACT|PRIM_MEDIA_HEIGHT_PIXELS|PRIM_MEDIA_HOME_URL|PRIM_MEDIA_MAX_HEIGHT_PIXELS|PRIM_MEDIA_MAX_URL_LENGTH|PRIM_MEDIA_MAX_WHITELIST_COUNT|PRIM_MEDIA_MAX_WHITELIST_SIZE|PRIM_MEDIA_MAX_WIDTH_PIXELS|PRIM_MEDIA_PARAM_MAX|PRIM_MEDIA_PERM_ANYONE|PRIM_MEDIA_PERM_GROUP|PRIM_MEDIA_PERM_NONE|PRIM_MEDIA_PERM_OWNER|PRIM_MEDIA_PERMS_CONTROL|PRIM_MEDIA_PERMS_INTERACT|PRIM_MEDIA_WHITELIST|PRIM_MEDIA_WHITELIST_ENABLE|PRIM_MEDIA_WIDTH_PIXELS|PRIM_NAME|PRIM_OMEGA|PRIM_PHANTOM|PRIM_PHYSICS|PRIM_PHYSICS_SHAPE_CONVEX|PRIM_PHYSICS_SHAPE_NONE|PRIM_PHYSICS_SHAPE_PRIM|PRIM_PHYSICS_SHAPE_TYPE|PRIM_POINT_LIGHT|PRIM_POS_LOCAL|PRIM_POSITION|PRIM_ROT_LOCAL|PRIM_ROTATION|PRIM_SCULPT_FLAG_INVERT|PRIM_SCULPT_FLAG_MIRROR|PRIM_SCULPT_TYPE_CYLINDER|PRIM_SCULPT_TYPE_MASK|PRIM_SCULPT_TYPE_PLANE|PRIM_SCULPT_TYPE_SPHERE|PRIM_SCULPT_TYPE_TORUS|PRIM_SHINY_HIGH|PRIM_SHINY_LOW|PRIM_SHINY_MEDIUM|PRIM_SHINY_NONE|PRIM_SIZE|PRIM_SLICE|PRIM_TEMP_ON_REZ|PRIM_TEXGEN|PRIM_TEXGEN_DEFAULT|PRIM_TEXGEN_PLANAR|PRIM_TEXT|PRIM_TEXTURE|PRIM_TYPE|PRIM_TYPE_BOX|PRIM_TYPE_CYLINDER|PRIM_TYPE_PRISM|PRIM_TYPE_RING|PRIM_TYPE_SCULPT|PRIM_TYPE_SPHERE|PRIM_TYPE_TORUS|PRIM_TYPE_TUBE|PROFILE_NONE|PROFILE_SCRIPT_MEMORY|PSYS_PART_BOUNCE_MASK|PSYS_PART_EMISSIVE_MASK|PSYS_PART_END_ALPHA|PSYS_PART_END_COLOR|PSYS_PART_END_SCALE|PSYS_PART_FLAGS|PSYS_PART_FOLLOW_SRC_MASK|PSYS_PART_FOLLOW_VELOCITY_MASK|PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_MAX_AGE|PSYS_PART_START_ALPHA|PSYS_PART_START_COLOR|PSYS_PART_START_SCALE|PSYS_PART_TARGET_LINEAR_MASK|PSYS_PART_TARGET_POS_MASK|PSYS_PART_WIND_MASK|PSYS_SRC_ACCEL|PSYS_SRC_ANGLE_BEGIN|PSYS_SRC_ANGLE_END|PSYS_SRC_BURST_PART_COUNT|PSYS_SRC_BURST_RADIUS|PSYS_SRC_BURST_RATE|PSYS_SRC_BURST_SPEED_MAX|PSYS_SRC_BURST_SPEED_MIN|PSYS_SRC_MAX_AGE|PSYS_SRC_OMEGA|PSYS_SRC_PATTERN|PSYS_SRC_PATTERN_ANGLE|PSYS_SRC_PATTERN_ANGLE_CONE|PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY|PSYS_SRC_PATTERN_DROP|PSYS_SRC_PATTERN_EXPLODE|PSYS_SRC_TARGET_KEY|PSYS_SRC_TEXTURE|PU_EVADE_HIDDEN|PU_EVADE_SPOTTED|PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED|PU_FAILURE_INVALID_GOAL|PU_FAILURE_INVALID_START|PU_FAILURE_NO_NAVMESH|PU_FAILURE_NO_VALID_DESTINATION|PU_FAILURE_OTHER|PU_FAILURE_PARCEL_UNREACHABLE|PU_FAILURE_TARGET_GONE|PU_FAILURE_UNREACHABLE|PU_GOAL_REACHED|PU_SLOWDOWN_DISTANCE_REACHED|PUBLIC_CHANNEL|PURSUIT_FUZZ_FACTOR|PURSUIT_GOAL_TOLERANCE|PURSUIT_INTERCEPT|PURSUIT_OFFSET|RC_DATA_FLAGS|RC_DETECT_PHANTOM|RC_GET_LINK_NUM|RC_GET_NORMAL|RC_GET_ROOT_KEY|RC_MAX_HITS|RC_REJECT_AGENTS|RC_REJECT_LAND|RC_REJECT_NONPHYSICAL|RC_REJECT_PHYSICAL|RC_REJECT_TYPES|RCERR_CAST_TIME_EXCEEDED|RCERR_SIM_PERF_LOW|RCERR_UNKNOWN|REGION_FLAG_ALLOW_DAMAGE|REGION_FLAG_ALLOW_DIRECT_TELEPORT|REGION_FLAG_BLOCK_FLY|REGION_FLAG_BLOCK_TERRAFORM|REGION_FLAG_DISABLE_COLLISIONS|REGION_FLAG_DISABLE_PHYSICS|REGION_FLAG_FIXED_SUN|REGION_FLAG_RESTRICT_PUSHOBJECT|REGION_FLAG_SANDBOX|REMOTE_DATA_CHANNEL|REMOTE_DATA_REPLY|REMOTE_DATA_REQUEST|REQUIRE_LINE_OF_SIGHT|RESTITUTION|REVERSE|ROTATE|SCALE|SCRIPTED|SIM_STAT_PCT_CHARS_STEPPED|SMOOTH|STATUS_BLOCK_GRAB|STATUS_BLOCK_GRAB_OBJECT|STATUS_BOUNDS_ERROR|STATUS_CAST_SHADOWS|STATUS_DIE_AT_EDGE|STATUS_INTERNAL_ERROR|STATUS_MALFORMED_PARAMS|STATUS_NOT_FOUND|STATUS_NOT_SUPPORTED|STATUS_OK|STATUS_PHANTOM|STATUS_PHYSICS|STATUS_RETURN_AT_EDGE|STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z|STATUS_SANDBOX|STATUS_TYPE_MISMATCH|STATUS_WHITELIST_FAILED|STRING_TRIM|STRING_TRIM_HEAD|STRING_TRIM_TAIL|TOUCH_INVALID_FACE|TRAVERSAL_TYPE|TRAVERSAL_TYPE_FAST|TRAVERSAL_TYPE_NONE|TRAVERSAL_TYPE_SLOW|TYPE_FLOAT|TYPE_INTEGER|TYPE_INVALID|TYPE_KEY|TYPE_ROTATION|TYPE_STRING|TYPE_VECTOR|VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY|VEHICLE_ANGULAR_DEFLECTION_TIMESCALE|VEHICLE_ANGULAR_FRICTION_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DIRECTION|VEHICLE_ANGULAR_MOTOR_TIMESCALE|VEHICLE_BANKING_EFFICIENCY|VEHICLE_BANKING_MIX|VEHICLE_BANKING_TIMESCALE|VEHICLE_BUOYANCY|VEHICLE_FLAG_CAMERA_DECOUPLED|VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT|VEHICLE_FLAG_HOVER_TERRAIN_ONLY|VEHICLE_FLAG_HOVER_UP_ONLY|VEHICLE_FLAG_HOVER_WATER_ONLY|VEHICLE_FLAG_LIMIT_MOTOR_UP|VEHICLE_FLAG_LIMIT_ROLL_ONLY|VEHICLE_FLAG_MOUSELOOK_BANK|VEHICLE_FLAG_MOUSELOOK_STEER|VEHICLE_FLAG_NO_DEFLECTION_UP|VEHICLE_HOVER_EFFICIENCY|VEHICLE_HOVER_HEIGHT|VEHICLE_HOVER_TIMESCALE|VEHICLE_LINEAR_DEFLECTION_EFFICIENCY|VEHICLE_LINEAR_DEFLECTION_TIMESCALE|VEHICLE_LINEAR_FRICTION_TIMESCALE|VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE|VEHICLE_LINEAR_MOTOR_DIRECTION|VEHICLE_LINEAR_MOTOR_OFFSET|VEHICLE_LINEAR_MOTOR_TIMESCALE|VEHICLE_REFERENCE_FRAME|VEHICLE_TYPE_AIRPLANE|VEHICLE_TYPE_BALLOON|VEHICLE_TYPE_BOAT|VEHICLE_TYPE_CAR|VEHICLE_TYPE_NONE|VEHICLE_TYPE_SLED|VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY|VEHICLE_VERTICAL_ATTRACTION_TIMESCALE|VERTICAL|WANDER_PAUSE_AT_WAYPOINTS","constant.language.integer.boolean.lsl":"FALSE|TRUE","constant.language.quaternion.lsl":"ZERO_ROTATION","constant.language.string.lsl":"EOF|JSON_ARRAY|JSON_FALSE|JSON_INVALID|JSON_NULL|JSON_NUMBER|JSON_OBJECT|JSON_STRING|JSON_TRUE|NULL_KEY|TEXTURE_BLANK|TEXTURE_DEFAULT|TEXTURE_MEDIA|TEXTURE_PLYWOOD|TEXTURE_TRANSPARENT|URL_REQUEST_DENIED|URL_REQUEST_GRANTED","constant.language.vector.lsl":"TOUCH_INVALID_TEXCOORD|TOUCH_INVALID_VECTOR|ZERO_VECTOR","invalid.broken.lsl":"LAND_LARGE_BRUSH|LAND_MEDIUM_BRUSH|LAND_SMALL_BRUSH","invalid.deprecated.lsl":"ATTACH_LPEC|ATTACH_RPEC|CHARACTER_MAX_ANGULAR_ACCEL|CHARACTER_MAX_ANGULAR_SPEED|CHARACTER_TURN_SPEED_MULTIPLIER|DATA_RATING|PRIM_CAST_SHADOWS|PRIM_MATERIAL_LIGHT|PRIM_PHYSICS_MATERIAL|PRIM_TYPE_LEGACY|PSYS_SRC_INNERANGLE|PSYS_SRC_OUTERANGLE|VEHICLE_FLAG_NO_FLY_UP|llCloud|llGodLikeRezObject|llMakeExplosion|llMakeFire|llMakeFountain|llMakeSmoke|llRemoteDataSetRegion|llSetInventoryPermMask|llSetObjectPermMask|llSound|llSoundPreload|llXorBase64Strings|llXorBase64StringsCorrect","invalid.godmode.lsl":"llGodLikeRezObject|llSetInventoryPermMask|llSetObjectPermMask","invalid.illegal.lsl":"print","invalid.unimplemented.lsl":"CHARACTER_MAX_ANGULAR_ACCEL|CHARACTER_MAX_ANGULAR_SPEED|CHARACTER_TURN_SPEED_MULTIPLIER|PERMISSION_CHANGE_JOINTS|PERMISSION_CHANGE_PERMISSIONS|PERMISSION_RELEASE_OWNERSHIP|PERMISSION_REMAP_CONTROLS|PRIM_PHYSICS_MATERIAL|PRIM_TYPE_LEGACY|PSYS_SRC_OBJ_REL_MASK|event|llCollisionSprite|llPointAt|llRefreshPrimURL|llReleaseCamera|llRemoteLoadScript|llSetPrimURL|llStopPointAt|llTakeCamera","keyword.control.lsl":"do|else|for|if|jump|return|while","storage.type.lsl":"float|integer|key|list|quaternion|rotation|string|vector","support.function.lsl":"llAbs|llAcos|llAddToLandBanList|llAddToLandPassList|llAdjustSoundVolume|llAllowInventoryDrop|llAngleBetween|llApplyImpulse|llApplyRotationalImpulse|llAsin|llAtan2|llAttachToAvatar|llAttachToAvatarTemp|llAvatarOnLinkSitTarget|llAvatarOnSitTarget|llAxes2Rot|llAxisAngle2Rot|llBase64ToInteger|llBase64ToString|llBreakAllLinks|llBreakLink|llCastRay|llCeil|llClearCameraParams|llClearLinkMedia|llClearPrimMedia|llCloseRemoteDataChannel|llCollisionFilter|llCollisionSound|llCos|llCreateCharacter|llCreateLink|llCSV2List|llDeleteCharacter|llDeleteSubList|llDeleteSubString|llDetachFromAvatar|llDetectedGrab|llDetectedGroup|llDetectedKey|llDetectedLinkNumber|llDetectedName|llDetectedOwner|llDetectedPos|llDetectedRot|llDetectedTouchBinormal|llDetectedTouchFace|llDetectedTouchNormal|llDetectedTouchPos|llDetectedTouchST|llDetectedTouchUV|llDetectedType|llDetectedVel|llDialog|llDie|llDumpList2String|llEdgeOfWorld|llEjectFromLand|llEmail|llEscapeURL|llEuler2Rot|llExecCharacterCmd|llEvade|llFabs|llFleeFrom|llFloor|llForceMouselook|llFrand|llGenerateKey|llGetAccel|llGetAgentInfo|llGetAgentLanguage|llGetAgentList|llGetAgentSize|llGetAlpha|llGetAndResetTime|llGetAnimation|llGetAnimationList|llGetAnimationOverride|llGetAttached|llGetBoundingBox|llGetCameraPos|llGetCameraRot|llGetCenterOfMass|llGetClosestNavPoint|llGetColor|llGetCreator|llGetDate|llGetDisplayName|llGetEnergy|llGetEnv|llGetForce|llGetFreeMemory|llGetFreeURLs|llGetGeometricCenter|llGetGMTclock|llGetHTTPHeader|llGetInventoryCreator|llGetInventoryKey|llGetInventoryName|llGetInventoryNumber|llGetInventoryPermMask|llGetInventoryType|llGetKey|llGetLandOwnerAt|llGetLinkKey|llGetLinkMedia|llGetLinkName|llGetLinkNumber|llGetLinkNumberOfSides|llGetLinkPrimitiveParams|llGetListEntryType|llGetListLength|llGetLocalPos|llGetLocalRot|llGetMass|llGetMassMKS|llGetMemoryLimit|llGetNextEmail|llGetNotecardLine|llGetNumberOfNotecardLines|llGetNumberOfPrims|llGetNumberOfSides|llGetObjectDesc|llGetObjectDetails|llGetObjectMass|llGetObjectName|llGetObjectPermMask|llGetObjectPrimCount|llGetOmega|llGetOwner|llGetOwnerKey|llGetParcelDetails|llGetParcelFlags|llGetParcelMaxPrims|llGetParcelMusicURL|llGetParcelPrimCount|llGetParcelPrimOwners|llGetPermissions|llGetPermissionsKey|llGetPhysicsMaterial|llGetPos|llGetPrimitiveParams|llGetPrimMediaParams|llGetRegionAgentCount|llGetRegionCorner|llGetRegionFlags|llGetRegionFPS|llGetRegionName|llGetRegionTimeDilation|llGetRootPosition|llGetRootRotation|llGetRot|llGetScale|llGetScriptName|llGetScriptState|llGetSimStats|llGetSimulatorHostname|llGetSPMaxMemory|llGetStartParameter|llGetStaticPath|llGetStatus|llGetSubString|llGetSunDirection|llGetTexture|llGetTextureOffset|llGetTextureRot|llGetTextureScale|llGetTime|llGetTimeOfDay|llGetTimestamp|llGetTorque|llGetUnixTime|llGetUsedMemory|llGetUsername|llGetVel|llGetWallclock|llGiveInventory|llGiveInventoryList|llGiveMoney|llGround|llGroundContour|llGroundNormal|llGroundRepel|llGroundSlope|llHTTPRequest|llHTTPResponse|llInsertString|llInstantMessage|llIntegerToBase64|llJson2List|llJsonGetValue|llJsonSetValue|llJsonValueType|llKey2Name|llLinkParticleSystem|llLinkSitTarget|llList2CSV|llList2Float|llList2Integer|llList2Json|llList2Key|llList2List|llList2ListStrided|llList2Rot|llList2String|llList2Vector|llListen|llListenControl|llListenRemove|llListFindList|llListInsertList|llListRandomize|llListReplaceList|llListSort|llListStatistics|llLoadURL|llLog|llLog10|llLookAt|llLoopSound|llLoopSoundMaster|llLoopSoundSlave|llManageEstateAccess|llMapDestination|llMD5String|llMessageLinked|llMinEventDelay|llModifyLand|llModPow|llMoveToTarget|llNavigateTo|llOffsetTexture|llOpenRemoteDataChannel|llOverMyLand|llOwnerSay|llParcelMediaCommandList|llParcelMediaQuery|llParseString2List|llParseStringKeepNulls|llParticleSystem|llPassCollisions|llPassTouches|llPatrolPoints|llPlaySound|llPlaySoundSlave|llPow|llPreloadSound|llPursue|llPushObject|llRegionSay|llRegionSayTo|llReleaseControls|llReleaseURL|llRemoteDataReply|llRemoteLoadScriptPin|llRemoveFromLandBanList|llRemoveFromLandPassList|llRemoveInventory|llRemoveVehicleFlags|llRequestAgentData|llRequestDisplayName|llRequestInventoryData|llRequestPermissions|llRequestSecureURL|llRequestSimulatorData|llRequestURL|llRequestUsername|llResetAnimationOverride|llResetLandBanList|llResetLandPassList|llResetOtherScript|llResetScript|llResetTime|llReturnObjectsByID|llReturnObjectsByOwner|llRezAtRoot|llRezObject|llRot2Angle|llRot2Axis|llRot2Euler|llRot2Fwd|llRot2Left|llRot2Up|llRotateTexture|llRotBetween|llRotLookAt|llRotTarget|llRotTargetRemove|llRound|llSameGroup|llSay|llScaleTexture|llScriptDanger|llScriptProfiler|llSendRemoteData|llSensor|llSensorRemove|llSensorRepeat|llSetAlpha|llSetAngularVelocity|llSetAnimationOverride|llSetBuoyancy|llSetCameraAtOffset|llSetCameraEyeOffset|llSetCameraParams|llSetClickAction|llSetColor|llSetContentType|llSetDamage|llSetForce|llSetForceAndTorque|llSetHoverHeight|llSetKeyframedMotion|llSetLinkAlpha|llSetLinkCamera|llSetLinkColor|llSetLinkMedia|llSetLinkPrimitiveParams|llSetLinkPrimitiveParamsFast|llSetLinkTexture|llSetLinkTextureAnim|llSetLocalRot|llSetMemoryLimit|llSetObjectDesc|llSetObjectName|llSetParcelMusicURL|llSetPayPrice|llSetPhysicsMaterial|llSetPos|llSetPrimitiveParams|llSetPrimMediaParams|llSetRegionPos|llSetRemoteScriptAccessPin|llSetRot|llSetScale|llSetScriptState|llSetSitText|llSetSoundQueueing|llSetSoundRadius|llSetStatus|llSetText|llSetTexture|llSetTextureAnim|llSetTimerEvent|llSetTorque|llSetTouchText|llSetVehicleFlags|llSetVehicleFloatParam|llSetVehicleRotationParam|llSetVehicleType|llSetVehicleVectorParam|llSetVelocity|llSHA1String|llShout|llSin|llSitTarget|llSleep|llSqrt|llStartAnimation|llStopAnimation|llStopHover|llStopLookAt|llStopMoveToTarget|llStopSound|llStringLength|llStringToBase64|llStringTrim|llSubStringIndex|llTakeControls|llTan|llTarget|llTargetOmega|llTargetRemove|llTeleportAgent|llTeleportAgentGlobalCoords|llTeleportAgentHome|llTextBox|llToLower|llToUpper|llTransferLindenDollars|llTriggerSound|llTriggerSoundLimited|llUnescapeURL|llUnSit|llUpdateCharacter|llVecDist|llVecMag|llVecNorm|llVolumeDetect|llWanderWithin|llWater|llWhisper|llWind|llXorBase64","support.function.event.lsl":"at_rot_target|at_target|attach|changed|collision|collision_end|collision_start|control|dataserver|email|http_request|http_response|land_collision|land_collision_end|land_collision_start|link_message|listen|money|moving_end|moving_start|no_sensor|not_at_rot_target|not_at_target|object_rez|on_rez|path_update|remote_data|run_time_permissions|sensor|state_entry|state_exit|timer|touch|touch_end|touch_start|transaction_result"},"identifier");this.$rules={start:[{token:"comment.line.double-slash.lsl",regex:"\\/\\/.*$"},{token:"comment.block.lsl",regex:"\\/\\*",next:"comment"},{token:"string.quoted.double.lsl",start:'"',end:'"',next:[{token:"constant.language.escape.lsl",regex:/\\[tn"\\]/}]},{token:"constant.numeric.lsl",regex:"(0[xX][0-9a-fA-F]+|[+-]?[0-9]+(?:(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)?)\\b"},{token:"entity.name.state.lsl",regex:"\\b((state)\\s+\\w+|default)\\b"},{token:e,regex:"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"support.function.user-defined.lsl",regex:/\b([a-zA-Z_]\w*)(?=\(.*?\))/},{token:"keyword.operator.lsl",regex:"\\+\\+|\\-\\-|<<|>>|&&?|\\|\\|?|\\^|~|[!%<>=*+\\-\\/]=?"},{token:"punctuation.operator.lsl",regex:"\\,|\\;"},{token:"paren.lparen.lsl",regex:"[\\[\\(\\{]"},{token:"paren.rparen.lsl",regex:"[\\]\\)\\}]"},{token:"text.lsl",regex:"\\s+"}],comment:[{token:"comment.block.lsl",regex:".*?\\*\\/",next:"start"},{token:"comment.block.lsl",regex:".+"}]},this.normalizeRules()}var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules;r.inherits(s,i),t.LSLHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-lua.js b/static/js/lib/ace/src-min-noconflict/mode-lua.js new file mode 100644 index 0000000..944eca9 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-lua.js @@ -0,0 +1 @@ +ace.define("ace/mode/lua",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/lua_highlight_rules","ace/mode/folding/lua","ace/range","ace/worker/worker_client"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./lua_highlight_rules").LuaHighlightRules,u=e("./folding/lua").FoldMode,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(l,i),function(){function n(t){var n=0;for(var r=0;r0?1:0}this.lineCommentStart="--",this.blockComment={start:"--[",end:"]--"};var e={"function":1,then:1,"do":1,"else":1,elseif:1,repeat:1,end:-1,until:-1},t=["else","elseif","end","until"];this.getNextLineIndent=function(e,t,r){var i=this.$getIndent(t),s=0,o=this.getTokenizer().getLineTokens(t,e),u=o.tokens;return e=="start"&&(s=n(u)),s>0?i+r:s<0&&i.substr(i.length-r.length)==r&&!this.checkOutdent(e,t,"\n")?i.substr(0,i.length-r.length):i},this.checkOutdent=function(e,n,r){if(r!="\n"&&r!="\r"&&r!="\r\n")return!1;if(n.match(/^\s*[\)\}\]]$/))return!0;var i=this.getTokenizer().getLineTokens(n.trim(),e).tokens;return!i||!i.length?!1:i[0].type=="keyword"&&t.indexOf(i[0].value)!=-1},this.autoOutdent=function(e,t,r){var i=t.getLine(r-1),s=this.$getIndent(i).length,o=this.getTokenizer().getLineTokens(i,"start").tokens,u=t.getTabString().length,f=s+u*n(o),l=this.$getIndent(t.getLine(r)).length;if(l|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+|\\w+"}]},this.normalizeRules()};r.inherits(s,i),t.LuaHighlightRules=s}),ace.define("ace/mode/folding/lua",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,i),function(){this.foldingStartMarker=/\b(function|then|do|repeat)\b|{\s*$|(\[=*\[)/,this.foldingStopMarker=/\bend\b|^\s*}|\]=*\]/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=this.foldingStartMarker.test(r),s=this.foldingStopMarker.test(r);if(i&&!s){var o=r.match(this.foldingStartMarker);if(o[1]=="then"&&/\belseif\b/.test(r))return;if(o[1]){if(e.getTokenAt(n,o.index+1).type==="keyword")return"start"}else{if(!o[2])return"start";var u=e.bgTokenizer.getState(n)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"start"}}if(t!="markbeginend"||!s||i&&s)return"";var o=r.match(this.foldingStopMarker);if(o[0]==="end"){if(e.getTokenAt(n,o.index+1).type==="keyword")return"end"}else{if(o[0][0]!=="]")return"end";var u=e.bgTokenizer.getState(n-1)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"end"}},this.getFoldWidgetRange=function(e,t,n){var r=e.doc.getLine(n),i=this.foldingStartMarker.exec(r);if(i)return i[1]?this.luaBlock(e,n,i.index+1):i[2]?e.getCommentFoldRange(n,i.index+1):this.openingBracketBlock(e,"{",n,i.index);var i=this.foldingStopMarker.exec(r);if(i)return i[0]==="end"&&e.getTokenAt(n,i.index+1).type==="keyword"?this.luaBlock(e,n,i.index+1):i[0][0]==="]"?e.getCommentFoldRange(n,i.index+1):this.closingBracketBlock(e,"}",n,i.index+i[0].length)},this.luaBlock=function(e,t,n){var r=new o(e,t,n),i={"function":1,"do":1,then:1,elseif:-1,end:-1,repeat:1,until:-1},u=r.getCurrentToken();if(!u||u.type!="keyword")return;var a=u.value,f=[a],l=i[a];if(!l)return;var c=l===-1?r.getCurrentTokenColumn():e.getLine(t).length,h=t;r.step=l===-1?r.stepBackward:r.stepForward;while(u=r.step()){if(u.type!=="keyword")continue;var p=l*i[u.value];if(p>0)f.unshift(u.value);else if(p<=0){f.shift();if(!f.length&&u.value!="elseif")break;p===0&&f.unshift(u.value)}}var t=r.getCurrentTokenRow();return l===-1?new s(t,e.getLine(t).length,h,c):new s(h,c,t,r.getCurrentTokenColumn())}}.call(u.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-luapage.js b/static/js/lib/ace/src-min-noconflict/mode-luapage.js new file mode 100644 index 0000000..193cd82 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-luapage.js @@ -0,0 +1 @@ +ace.define("ace/mode/luapage",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/lua","ace/tokenizer","ace/mode/luapage_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html").Mode,s=e("./lua").Mode,o=e("../tokenizer").Tokenizer,u=e("./luapage_highlight_rules").LuaPageHighlightRules,a=function(){this.HighlightRules=u,this.HighlightRules=u,this.createModeDelegates({"lua-":s})};r.inherits(a,i),t.Mode=a}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/html_completions"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=function(){this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/lua",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/lua_highlight_rules","ace/mode/folding/lua","ace/range","ace/worker/worker_client"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./lua_highlight_rules").LuaHighlightRules,u=e("./folding/lua").FoldMode,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(l,i),function(){function n(t){var n=0;for(var r=0;r0?1:0}this.lineCommentStart="--",this.blockComment={start:"--[",end:"]--"};var e={"function":1,then:1,"do":1,"else":1,elseif:1,repeat:1,end:-1,until:-1},t=["else","elseif","end","until"];this.getNextLineIndent=function(e,t,r){var i=this.$getIndent(t),s=0,o=this.getTokenizer().getLineTokens(t,e),u=o.tokens;return e=="start"&&(s=n(u)),s>0?i+r:s<0&&i.substr(i.length-r.length)==r&&!this.checkOutdent(e,t,"\n")?i.substr(0,i.length-r.length):i},this.checkOutdent=function(e,n,r){if(r!="\n"&&r!="\r"&&r!="\r\n")return!1;if(n.match(/^\s*[\)\}\]]$/))return!0;var i=this.getTokenizer().getLineTokens(n.trim(),e).tokens;return!i||!i.length?!1:i[0].type=="keyword"&&t.indexOf(i[0].value)!=-1},this.autoOutdent=function(e,t,r){var i=t.getLine(r-1),s=this.$getIndent(i).length,o=this.getTokenizer().getLineTokens(i,"start").tokens,u=t.getTabString().length,f=s+u*n(o),l=this.$getIndent(t.getLine(r)).length;if(l|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+|\\w+"}]},this.normalizeRules()};r.inherits(s,i),t.LuaHighlightRules=s}),ace.define("ace/mode/folding/lua",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,i),function(){this.foldingStartMarker=/\b(function|then|do|repeat)\b|{\s*$|(\[=*\[)/,this.foldingStopMarker=/\bend\b|^\s*}|\]=*\]/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=this.foldingStartMarker.test(r),s=this.foldingStopMarker.test(r);if(i&&!s){var o=r.match(this.foldingStartMarker);if(o[1]=="then"&&/\belseif\b/.test(r))return;if(o[1]){if(e.getTokenAt(n,o.index+1).type==="keyword")return"start"}else{if(!o[2])return"start";var u=e.bgTokenizer.getState(n)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"start"}}if(t!="markbeginend"||!s||i&&s)return"";var o=r.match(this.foldingStopMarker);if(o[0]==="end"){if(e.getTokenAt(n,o.index+1).type==="keyword")return"end"}else{if(o[0][0]!=="]")return"end";var u=e.bgTokenizer.getState(n-1)||"";if(u[0]=="bracketedComment"||u[0]=="bracketedString")return"end"}},this.getFoldWidgetRange=function(e,t,n){var r=e.doc.getLine(n),i=this.foldingStartMarker.exec(r);if(i)return i[1]?this.luaBlock(e,n,i.index+1):i[2]?e.getCommentFoldRange(n,i.index+1):this.openingBracketBlock(e,"{",n,i.index);var i=this.foldingStopMarker.exec(r);if(i)return i[0]==="end"&&e.getTokenAt(n,i.index+1).type==="keyword"?this.luaBlock(e,n,i.index+1):i[0][0]==="]"?e.getCommentFoldRange(n,i.index+1):this.closingBracketBlock(e,"}",n,i.index+i[0].length)},this.luaBlock=function(e,t,n){var r=new o(e,t,n),i={"function":1,"do":1,then:1,elseif:-1,end:-1,repeat:1,until:-1},u=r.getCurrentToken();if(!u||u.type!="keyword")return;var a=u.value,f=[a],l=i[a];if(!l)return;var c=l===-1?r.getCurrentTokenColumn():e.getLine(t).length,h=t;r.step=l===-1?r.stepBackward:r.stepForward;while(u=r.step()){if(u.type!=="keyword")continue;var p=l*i[u.value];if(p>0)f.unshift(u.value);else if(p<=0){f.shift();if(!f.length&&u.value!="elseif")break;p===0&&f.unshift(u.value)}}var t=r.getCurrentTokenRow();return l===-1?new s(t,e.getLine(t).length,h,c):new s(h,c,t,r.getCurrentTokenColumn())}}.call(u.prototype)}),ace.define("ace/mode/luapage_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/lua_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./lua_highlight_rules").LuaHighlightRules,o=function(){i.call(this);var e=[{token:"keyword",regex:"<\\%\\=?",push:"lua-start"},{token:"keyword",regex:"<\\?lua\\=?",push:"lua-start"}],t=[{token:"keyword",regex:"\\%>",next:"pop"},{token:"keyword",regex:"\\?>",next:"pop"}];this.embedRules(s,"lua-",t,["start"]);for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.normalizeRules()};r.inherits(o,i),t.LuaPageHighlightRules=o}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-lucene.js b/static/js/lib/ace/src-min-noconflict/mode-lucene.js new file mode 100644 index 0000000..f95c0af --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-lucene.js @@ -0,0 +1 @@ +ace.define("ace/mode/lucene",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/lucene_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./lucene_highlight_rules").LuceneHighlightRules,u=function(){this.$tokenizer=new s((new o).getRules())};r.inherits(u,i),t.Mode=u}),ace.define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"constant.character.negation",regex:"[\\-]"},{token:"constant.character.interro",regex:"[\\?]"},{token:"constant.character.asterisk",regex:"[\\*]"},{token:"constant.character.proximity",regex:"~[0-9]+\\b"},{token:"keyword.operator",regex:"(?:AND|OR|NOT)\\b"},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"keyword",regex:"[\\S]+:"},{token:"string",regex:'".*?"'},{token:"text",regex:"\\s+"}]}};r.inherits(o,s),t.LuceneHighlightRules=o}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-makefile.js b/static/js/lib/ace/src-min-noconflict/mode-makefile.js new file mode 100644 index 0000000..d8f18f6 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-makefile.js @@ -0,0 +1 @@ +ace.define("ace/mode/makefile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/makefile_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./makefile_highlight_rules").MakefileHighlightRules,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="#",this.$indentWithTabs=!0,this.$id="ace/mode/makefile"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/makefile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/sh_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./sh_highlight_rules"),o=function(){var e=this.createKeywordMapper({keyword:s.reservedKeywords,"support.function.builtin":s.languageConstructs,"invalid.deprecated":"debugger"},"string");this.$rules={start:[{token:"string.interpolated.backtick.makefile",regex:"`",next:"shell-start"},{token:"punctuation.definition.comment.makefile",regex:/#(?=.)/,next:"comment"},{token:["keyword.control.makefile"],regex:"^(?:\\s*\\b)(\\-??include|ifeq|ifneq|ifdef|ifndef|else|endif|vpath|export|unexport|define|endef|override)(?:\\b)"},{token:["entity.name.function.makefile","text"],regex:"^([^\\t ]+(?:\\s[^\\t ]+)*:)(\\s*.*)"}],comment:[{token:"punctuation.definition.comment.makefile",regex:/.+\\/},{token:"punctuation.definition.comment.makefile",regex:".+",next:"start"}],"shell-start":[{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:"\\w+"},{token:"string.interpolated.backtick.makefile",regex:"`",next:"start"}]}};r.inherits(o,i),t.MakefileHighlightRules=o}),ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set",o=t.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",u=function(){var e=this.createKeywordMapper({keyword:s,"support.function.builtin":o,"invalid.deprecated":"debugger"},"identifier"),t="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",r="(?:\\d+)",i="(?:(?:"+r+"?"+n+")|(?:"+r+"\\.))",u="(?:(?:"+i+"|"+r+")"+")",a="(?:"+u+"|"+i+")",f="(?:&"+r+")",l="[a-zA-Z][a-zA-Z0-9_]*",c="(?:(?:\\$"+l+")|(?:"+l+"=))",h="(?:\\$(?:SHLVL|\\$|\\!|\\?))",p="(?:"+l+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"constant",regex:/\$\w+/},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"variable.language",regex:h},{token:"variable",regex:c},{token:"support.function",regex:p},{token:"support.function",regex:f},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:a},{token:"constant.numeric",regex:t+"\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"}]},this.normalizeRules()};r.inherits(u,i),t.ShHighlightRules=u}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.blockComment={start:""},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/html_completions"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=function(){this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(){i.call(this,new s({area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1,li:1,dt:1,dd:1,p:1,rt:1,rp:1,optgroup:1,option:1,colgroup:1,td:1,th:1}),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){function c(e,t){return{token:"support.function",regex:"^```"+e+"\\s*$",push:t+"start"}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./css_highlight_rules").CssHighlightRules,l=function(e){return"(?:[^"+i.escapeRegExp(e)+"\\\\]|\\\\.)*"},h=function(){a.call(this),this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s*[^ #]|\s+#.)/,next:"header"},c("(?:javascript|js)","jscode-"),c("xml","xmlcode-"),c("html","htmlcode-"),c("css","csscode-"),{token:"support.function",regex:"^```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",next:"githubblock"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+l("]")+")(\\]s*\\[)("+l("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\[)("+l("]")+")(\\]\\()"+'((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)'+'(\\s*"'+l('"')+'"\\s*)?'+"(\\))"},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:[{token:"support.function",regex:"^```",next:"start"},{token:"support.function",regex:".+"}]}),this.embedRules(o,"jscode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.embedRules(a,"htmlcode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.embedRules(f,"csscode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.embedRules(u,"xmlcode-",[{token:"support.function",regex:"^```",next:"pop"}]),this.normalizeRules()};r.inherits(h,s),t.MarkdownHighlightRules=h}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?r[0]=="`"?e.bgTokenizer.getState(n)=="start"?"end":"start":"start":""},this.getFoldWidgetRange=function(e,t,n){function l(t){return f=e.getTokens(t)[0],f&&f.type.lastIndexOf(c,0)===0}function h(){var e=f.value[0];return e=="="?6:e=="-"?5:7-f.value.search(/[^#]/)}var r=e.getLine(n),i=r.length,o=e.getLength(),u=n,a=n;if(!r.match(this.foldingStartMarker))return;if(r[0]=="`"){if(e.bgTokenizer.getState(n)!=="start"){while(++n0){r=e.getLine(n);if(r[0]=="`"&r.substring(0,3)=="```")break}return new s(n,r.length,u,0)}var f,c="markup.heading";if(l(n)){var p=h();while(++n=p)break}a=n-(!f||["=","-"].indexOf(f.value[0])==-1?1:2);if(a>u)while(a>u&&/^\s*$/.test(e.getLine(a)))a--;if(a>u){var v=e.getLine(a).length;return new s(u,i,a,v)}}}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-matlab.js b/static/js/lib/ace/src-min-noconflict/mode-matlab.js new file mode 100644 index 0000000..64b7b45 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-matlab.js @@ -0,0 +1 @@ +ace.define("ace/mode/matlab",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/matlab_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./matlab_highlight_rules").MatlabHighlightRules,u=e("../range").Range,a=function(){this.HighlightRules=o};r.inherits(a,i),function(){this.lineCommentStart="%",this.blockComment={start:"%{",end:"%}"},this.$id="ace/mode/matlab"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/matlab_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="break|case|catch|classdef|continue|else|elseif|end|for|function|global|if|otherwise|parfor|persistent|return|spmd|switch|try|while",t="true|false|inf|Inf|nan|NaN|eps|pi|ans|nargin|nargout|varargin|varargout",n="abs|accumarray|acos(?:d|h)?|acot(?:d|h)?|acsc(?:d|h)?|actxcontrol(?:list|select)?|actxGetRunningServer|actxserver|addlistener|addpath|addpref|addtodate|airy|align|alim|all|allchild|alpha|alphamap|amd|ancestor|and|angle|annotation|any|area|arrayfun|asec(?:d|h)?|asin(?:d|h)?|assert|assignin|atan(?:2|d|h)?|audiodevinfo|audioplayer|audiorecorder|aufinfo|auread|autumn|auwrite|avifile|aviinfo|aviread|axes|axis|balance|bar(?:3|3h|h)?|base2dec|beep|BeginInvoke|bench|bessel(?:h|i|j|k|y)|beta|betainc|betaincinv|betaln|bicg|bicgstab|bicgstabl|bin2dec|bitand|bitcmp|bitget|bitmax|bitnot|bitor|bitset|bitshift|bitxor|blanks|blkdiag|bone|box|brighten|brush|bsxfun|builddocsearchdb|builtin|bvp4c|bvp5c|bvpget|bvpinit|bvpset|bvpxtend|calendar|calllib|callSoapService|camdolly|cameratoolbar|camlight|camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|cart2pol|cart2sph|cast|cat|caxis|cd|cdf2rdf|cdfepoch|cdfinfo|cdflib(?:.(?:close|closeVar|computeEpoch|computeEpoch16|create|createAttr|createVar|delete|deleteAttr|deleteAttrEntry|deleteAttrgEntry|deleteVar|deleteVarRecords|epoch16Breakdown|epochBreakdown|getAttrEntry|getAttrgEntry|getAttrMaxEntry|getAttrMaxgEntry|getAttrName|getAttrNum|getAttrScope|getCacheSize|getChecksum|getCompression|getCompressionCacheSize|getConstantNames|getConstantValue|getCopyright|getFileBackward|getFormat|getLibraryCopyright|getLibraryVersion|getMajority|getName|getNumAttrEntries|getNumAttrgEntries|getNumAttributes|getNumgAttributes|getReadOnlyMode|getStageCacheSize|getValidate|getVarAllocRecords|getVarBlockingFactor|getVarCacheSize|getVarCompression|getVarData|getVarMaxAllocRecNum|getVarMaxWrittenRecNum|getVarName|getVarNum|getVarNumRecsWritten|getVarPadValue|getVarRecordData|getVarReservePercent|getVarsMaxWrittenRecNum|getVarSparseRecords|getVersion|hyperGetVarData|hyperPutVarData|inquire|inquireAttr|inquireAttrEntry|inquireAttrgEntry|inquireVar|open|putAttrEntry|putAttrgEntry|putVarData|putVarRecordData|renameAttr|renameVar|setCacheSize|setChecksum|setCompression|setCompressionCacheSize|setFileBackward|setFormat|setMajority|setReadOnlyMode|setStageCacheSize|setValidate|setVarAllocBlockRecords|setVarBlockingFactor|setVarCacheSize|setVarCompression|setVarInitialRecs|setVarPadValue|SetVarReservePercent|setVarsCacheSize|setVarSparseRecords))?|cdfread|cdfwrite|ceil|cell2mat|cell2struct|celldisp|cellfun|cellplot|cellstr|cgs|checkcode|checkin|checkout|chol|cholinc|cholupdate|circshift|cla|clabel|class|clc|clear|clearvars|clf|clipboard|clock|close|closereq|cmopts|cmpermute|cmunique|colamd|colon|colorbar|colordef|colormap|colormapeditor|colperm|Combine|comet|comet3|commandhistory|commandwindow|compan|compass|complex|computer|cond|condeig|condest|coneplot|conj|containers.Map|contour(?:3|c|f|slice)?|contrast|conv|conv2|convhull|convhulln|convn|cool|copper|copyfile|copyobj|corrcoef|cos(?:d|h)?|cot(?:d|h)?|cov|cplxpair|cputime|createClassFromWsdl|createSoapMessage|cross|csc(?:d|h)?|csvread|csvwrite|ctranspose|cumprod|cumsum|cumtrapz|curl|customverctrl|cylinder|daqread|daspect|datacursormode|datatipinfo|date|datenum|datestr|datetick|datevec|dbclear|dbcont|dbdown|dblquad|dbmex|dbquit|dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|dde23|ddeget|ddesd|ddeset|deal|deblank|dec2base|dec2bin|dec2hex|decic|deconv|del2|delaunay|delaunay3|delaunayn|DelaunayTri|delete|demo|depdir|depfun|det|detrend|deval|diag|dialog|diary|diff|diffuse|dir|disp|display|dither|divergence|dlmread|dlmwrite|dmperm|doc|docsearch|dos|dot|dragrect|drawnow|dsearch|dsearchn|dynamicprops|echo|echodemo|edit|eig|eigs|ellipj|ellipke|ellipsoid|empty|enableNETfromNetworkDrive|enableservice|EndInvoke|enumeration|eomday|eq|erf|erfc|erfcinv|erfcx|erfinv|error|errorbar|errordlg|etime|etree|etreeplot|eval|evalc|evalin|event.(?:EventData|listener|PropertyEvent|proplistener)|exifread|exist|exit|exp|expint|expm|expm1|export2wsdlg|eye|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|factor|factorial|fclose|feather|feature|feof|ferror|feval|fft|fft2|fftn|fftshift|fftw|fgetl|fgets|fieldnames|figure|figurepalette|fileattrib|filebrowser|filemarker|fileparts|fileread|filesep|fill|fill3|filter|filter2|find|findall|findfigs|findobj|findstr|finish|fitsdisp|fitsinfo|fitsread|fitswrite|fix|flag|flipdim|fliplr|flipud|floor|flow|fminbnd|fminsearch|fopen|format|fplot|fprintf|frame2im|fread|freqspace|frewind|fscanf|fseek|ftell|FTP|full|fullfile|func2str|functions|funm|fwrite|fzero|gallery|gamma|gammainc|gammaincinv|gammaln|gca|gcbf|gcbo|gcd|gcf|gco|ge|genpath|genvarname|get|getappdata|getenv|getfield|getframe|getpixelposition|getpref|ginput|gmres|gplot|grabcode|gradient|gray|graymon|grid|griddata(?:3|n)?|griddedInterpolant|gsvd|gt|gtext|guidata|guide|guihandles|gunzip|gzip|h5create|h5disp|h5info|h5read|h5readatt|h5write|h5writeatt|hadamard|handle|hankel|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|hdfread|hdftool|help|helpbrowser|helpdesk|helpdlg|helpwin|hess|hex2dec|hex2num|hgexport|hggroup|hgload|hgsave|hgsetget|hgtransform|hidden|hilb|hist|histc|hold|home|horzcat|hostid|hot|hsv|hsv2rgb|hypot|ichol|idivide|ifft|ifft2|ifftn|ifftshift|ilu|im2frame|im2java|imag|image|imagesc|imapprox|imfinfo|imformats|import|importdata|imread|imwrite|ind2rgb|ind2sub|inferiorto|info|inline|inmem|inpolygon|input|inputdlg|inputname|inputParser|inspect|instrcallback|instrfind|instrfindall|int2str|integral(?:2|3)?|interp(?:1|1q|2|3|ft|n)|interpstreamspeed|intersect|intmax|intmin|inv|invhilb|ipermute|isa|isappdata|iscell|iscellstr|ischar|iscolumn|isdir|isempty|isequal|isequaln|isequalwithequalnans|isfield|isfinite|isfloat|isglobal|ishandle|ishghandle|ishold|isinf|isinteger|isjava|iskeyword|isletter|islogical|ismac|ismatrix|ismember|ismethod|isnan|isnumeric|isobject|isocaps|isocolors|isonormals|isosurface|ispc|ispref|isprime|isprop|isreal|isrow|isscalar|issorted|isspace|issparse|isstr|isstrprop|isstruct|isstudent|isunix|isvarname|isvector|javaaddpath|javaArray|javachk|javaclasspath|javacomponent|javaMethod|javaMethodEDT|javaObject|javaObjectEDT|javarmpath|jet|keyboard|kron|lasterr|lasterror|lastwarn|lcm|ldivide|ldl|le|legend|legendre|length|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|license|light|lightangle|lighting|lin2mu|line|lines|linkaxes|linkdata|linkprop|linsolve|linspace|listdlg|listfonts|load|loadlibrary|loadobj|log|log10|log1p|log2|loglog|logm|logspace|lookfor|lower|ls|lscov|lsqnonneg|lsqr|lt|lu|luinc|magic|makehgtform|mat2cell|mat2str|material|matfile|matlab.io.MatFile|matlab.mixin.(?:Copyable|Heterogeneous(?:.getDefaultScalarElement)?)|matlabrc|matlabroot|max|maxNumCompThreads|mean|median|membrane|memmapfile|memory|menu|mesh|meshc|meshgrid|meshz|meta.(?:class(?:.fromName)?|DynamicProperty|EnumeratedValue|event|MetaData|method|package(?:.(?:fromName|getAllPackages))?|property)|metaclass|methods|methodsview|mex(?:.getCompilerConfigurations)?|MException|mexext|mfilename|min|minres|minus|mislocked|mkdir|mkpp|mldivide|mlint|mlintrpt|mlock|mmfileinfo|mmreader|mod|mode|more|move|movefile|movegui|movie|movie2avi|mpower|mrdivide|msgbox|mtimes|mu2lin|multibandread|multibandwrite|munlock|namelengthmax|nargchk|narginchk|nargoutchk|native2unicode|nccreate|ncdisp|nchoosek|ncinfo|ncread|ncreadatt|ncwrite|ncwriteatt|ncwriteschema|ndgrid|ndims|ne|NET(?:.(?:addAssembly|Assembly|convertArray|createArray|createGeneric|disableAutoRelease|enableAutoRelease|GenericClass|invokeGenericMethod|NetException|setStaticProperty))?|netcdf.(?:abort|close|copyAtt|create|defDim|defGrp|defVar|defVarChunking|defVarDeflate|defVarFill|defVarFletcher32|delAtt|endDef|getAtt|getChunkCache|getConstant|getConstantNames|getVar|inq|inqAtt|inqAttID|inqAttName|inqDim|inqDimID|inqDimIDs|inqFormat|inqGrpName|inqGrpNameFull|inqGrpParent|inqGrps|inqLibVers|inqNcid|inqUnlimDims|inqVar|inqVarChunking|inqVarDeflate|inqVarFill|inqVarFletcher32|inqVarID|inqVarIDs|open|putAtt|putVar|reDef|renameAtt|renameDim|renameVar|setChunkCache|setDefaultFormat|setFill|sync)|newplot|nextpow2|nnz|noanimate|nonzeros|norm|normest|not|notebook|now|nthroot|null|num2cell|num2hex|num2str|numel|nzmax|ode(?:113|15i|15s|23|23s|23t|23tb|45)|odeget|odeset|odextend|onCleanup|ones|open|openfig|opengl|openvar|optimget|optimset|or|ordeig|orderfields|ordqz|ordschur|orient|orth|pack|padecoef|pagesetupdlg|pan|pareto|parseSoapResponse|pascal|patch|path|path2rc|pathsep|pathtool|pause|pbaspect|pcg|pchip|pcode|pcolor|pdepe|pdeval|peaks|perl|perms|permute|pie|pink|pinv|planerot|playshow|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|plus|pol2cart|polar|poly|polyarea|polyder|polyeig|polyfit|polyint|polyval|polyvalm|pow2|power|ppval|prefdir|preferences|primes|print|printdlg|printopt|printpreview|prod|profile|profsave|propedit|propertyeditor|psi|publish|PutCharArray|PutFullMatrix|PutWorkspaceData|pwd|qhull|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quad2d|quadgk|quadl|quadv|questdlg|quit|quiver|quiver3|qz|rand|randi|randn|randperm|RandStream(?:.(?:create|getDefaultStream|getGlobalStream|list|setDefaultStream|setGlobalStream))?|rank|rat|rats|rbbox|rcond|rdivide|readasync|real|reallog|realmax|realmin|realpow|realsqrt|record|rectangle|rectint|recycle|reducepatch|reducevolume|refresh|refreshdata|regexp|regexpi|regexprep|regexptranslate|rehash|rem|Remove|RemoveAll|repmat|reset|reshape|residue|restoredefaultpath|rethrow|rgb2hsv|rgb2ind|rgbplot|ribbon|rmappdata|rmdir|rmfield|rmpath|rmpref|rng|roots|rose|rosser|rot90|rotate|rotate3d|round|rref|rsf2csf|run|save|saveas|saveobj|savepath|scatter|scatter3|schur|sec|secd|sech|selectmoveresize|semilogx|semilogy|sendmail|serial|set|setappdata|setdiff|setenv|setfield|setpixelposition|setpref|setstr|setxor|shading|shg|shiftdim|showplottool|shrinkfaces|sign|sin(?:d|h)?|size|slice|smooth3|snapnow|sort|sortrows|sound|soundsc|spalloc|spaugment|spconvert|spdiags|specular|speye|spfun|sph2cart|sphere|spinmap|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spring|sprintf|spy|sqrt|sqrtm|squeeze|ss2tf|sscanf|stairs|startup|std|stem|stem3|stopasync|str2double|str2func|str2mat|str2num|strcat|strcmp|strcmpi|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|strfind|strjust|strmatch|strncmp|strncmpi|strread|strrep|strtok|strtrim|struct2cell|structfun|strvcat|sub2ind|subplot|subsasgn|subsindex|subspace|subsref|substruct|subvolume|sum|summer|superclasses|superiorto|support|surf|surf2patch|surface|surfc|surfl|surfnorm|svd|svds|swapbytes|symamd|symbfact|symmlq|symrcm|symvar|system|tan(?:d|h)?|tar|tempdir|tempname|tetramesh|texlabel|text|textread|textscan|textwrap|tfqmr|throw|tic|Tiff(?:.(?:getTagNames|getVersion))?|timer|timerfind|timerfindall|times|timeseries|title|toc|todatenum|toeplitz|toolboxdir|trace|transpose|trapz|treelayout|treeplot|tril|trimesh|triplequad|triplot|TriRep|TriScatteredInterp|trisurf|triu|tscollection|tsearch|tsearchn|tstool|type|typecast|uibuttongroup|uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uiimport|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitable|uitoggletool|uitoolbar|uiwait|uminus|undocheckout|unicode2native|union|unique|unix|unloadlibrary|unmesh|unmkpp|untar|unwrap|unzip|uplus|upper|urlread|urlwrite|usejava|userpath|validateattributes|validatestring|vander|var|vectorize|ver|verctrl|verLessThan|version|vertcat|VideoReader(?:.isPlatformSupported)?|VideoWriter(?:.getProfiles)?|view|viewmtx|visdiff|volumebounds|voronoi|voronoin|wait|waitbar|waitfor|waitforbuttonpress|warndlg|warning|waterfall|wavfinfo|wavplay|wavread|wavrecord|wavwrite|web|weekday|what|whatsnew|which|whitebg|who|whos|wilkinson|winopen|winqueryreg|winter|wk1finfo|wk1read|wk1write|workspace|xlabel|xlim|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xor|xslt|ylabel|ylim|zeros|zip|zlabel|zlim|zoom|addedvarplot|andrewsplot|anova(?:1|2|n)|ansaribradley|aoctool|barttest|bbdesign|beta(?:cdf|fit|inv|like|pdf|rnd|stat)|bino(?:cdf|fit|inv|pdf|rnd|stat)|biplot|bootci|bootstrp|boxplot|candexch|candgen|canoncorr|capability|capaplot|caseread|casewrite|categorical|ccdesign|cdfplot|chi2(?:cdf|gof|inv|pdf|rnd|stat)|cholcov|Classification(?:BaggedEnsemble|Discriminant(?:.(?:fit|make|template))?|Ensemble|KNN(?:.(?:fit|template))?|PartitionedEnsemble|PartitionedModel|Tree(?:.(?:fit|template))?)|classify|classregtree|cluster|clusterdata|cmdscale|combnk|Compact(?:Classification(?:Discriminant|Ensemble|Tree)|Regression(?:Ensemble|Tree)|TreeBagger)|confusionmat|controlchart|controlrules|cophenet|copula(?:cdf|fit|param|pdf|rnd|stat)|cordexch|corr|corrcov|coxphfit|createns|crosstab|crossval|cvpartition|datasample|dataset|daugment|dcovary|dendrogram|dfittool|disttool|dummyvar|dwtest|ecdf|ecdfhist|ev(?:cdf|fit|inv|like|pdf|rnd|stat)|ExhaustiveSearcher|exp(?:cdf|fit|inv|like|pdf|rnd|stat)|factoran|fcdf|ff2n|finv|fitdist|fitensemble|fpdf|fracfact|fracfactgen|friedman|frnd|fstat|fsurfht|fullfact|gagerr|gam(?:cdf|fit|inv|like|pdf|rnd|stat)|GeneralizedLinearModel(?:.fit)?|geo(?:cdf|inv|mean|pdf|rnd|stat)|gev(?:cdf|fit|inv|like|pdf|rnd|stat)|gline|glmfit|glmval|glyphplot|gmdistribution(?:.fit)?|gname|gp(?:cdf|fit|inv|like|pdf|rnd|stat)|gplotmatrix|grp2idx|grpstats|gscatter|haltonset|harmmean|hist3|histfit|hmm(?:decode|estimate|generate|train|viterbi)|hougen|hyge(?:cdf|inv|pdf|rnd|stat)|icdf|inconsistent|interactionplot|invpred|iqr|iwishrnd|jackknife|jbtest|johnsrnd|KDTreeSearcher|kmeans|knnsearch|kruskalwallis|ksdensity|kstest|kstest2|kurtosis|lasso|lassoglm|lassoPlot|leverage|lhsdesign|lhsnorm|lillietest|LinearModel(?:.fit)?|linhyptest|linkage|logn(?:cdf|fit|inv|like|pdf|rnd|stat)|lsline|mad|mahal|maineffectsplot|manova1|manovacluster|mdscale|mhsample|mle|mlecov|mnpdf|mnrfit|mnrnd|mnrval|moment|multcompare|multivarichart|mvn(?:cdf|pdf|rnd)|mvregress|mvregresslike|mvt(?:cdf|pdf|rnd)|NaiveBayes(?:.fit)?|nan(?:cov|max|mean|median|min|std|sum|var)|nbin(?:cdf|fit|inv|pdf|rnd|stat)|ncf(?:cdf|inv|pdf|rnd|stat)|nct(?:cdf|inv|pdf|rnd|stat)|ncx2(?:cdf|inv|pdf|rnd|stat)|NeighborSearcher|nlinfit|nlintool|nlmefit|nlmefitsa|nlparci|nlpredci|nnmf|nominal|NonLinearModel(?:.fit)?|norm(?:cdf|fit|inv|like|pdf|rnd|stat)|normplot|normspec|ordinal|outlierMeasure|parallelcoords|paretotails|partialcorr|pcacov|pcares|pdf|pdist|pdist2|pearsrnd|perfcurve|perms|piecewisedistribution|plsregress|poiss(?:cdf|fit|inv|pdf|rnd|tat)|polyconf|polytool|prctile|princomp|ProbDist(?:Kernel|Parametric|UnivKernel|UnivParam)?|probplot|procrustes|qqplot|qrandset|qrandstream|quantile|randg|random|randsample|randtool|range|rangesearch|ranksum|rayl(?:cdf|fit|inv|pdf|rnd|stat)|rcoplot|refcurve|refline|regress|Regression(?:BaggedEnsemble|Ensemble|PartitionedEnsemble|PartitionedModel|Tree(?:.(?:fit|template))?)|regstats|relieff|ridge|robustdemo|robustfit|rotatefactors|rowexch|rsmdemo|rstool|runstest|sampsizepwr|scatterhist|sequentialfs|signrank|signtest|silhouette|skewness|slicesample|sobolset|squareform|statget|statset|stepwise|stepwisefit|surfht|tabulate|tblread|tblwrite|tcdf|tdfread|tiedrank|tinv|tpdf|TreeBagger|treedisp|treefit|treeprune|treetest|treeval|trimmean|trnd|tstat|ttest|ttest2|unid(?:cdf|inv|pdf|rnd|stat)|unif(?:cdf|inv|it|pdf|rnd|stat)|vartest(?:2|n)?|wbl(?:cdf|fit|inv|like|pdf|rnd|stat)|wblplot|wishrnd|x2fx|xptread|zscore|ztestadapthisteq|analyze75info|analyze75read|applycform|applylut|axes2pix|bestblk|blockproc|bwarea|bwareaopen|bwboundaries|bwconncomp|bwconvhull|bwdist|bwdistgeodesic|bweuler|bwhitmiss|bwlabel|bwlabeln|bwmorph|bwpack|bwperim|bwselect|bwtraceboundary|bwulterode|bwunpack|checkerboard|col2im|colfilt|conndef|convmtx2|corner|cornermetric|corr2|cp2tform|cpcorr|cpselect|cpstruct2pairs|dct2|dctmtx|deconvblind|deconvlucy|deconvreg|deconvwnr|decorrstretch|demosaic|dicom(?:anon|dict|info|lookup|read|uid|write)|edge|edgetaper|entropy|entropyfilt|fan2para|fanbeam|findbounds|fliptform|freqz2|fsamp2|fspecial|ftrans2|fwind1|fwind2|getheight|getimage|getimagemodel|getline|getneighbors|getnhood|getpts|getrangefromclass|getrect|getsequence|gray2ind|graycomatrix|graycoprops|graydist|grayslice|graythresh|hdrread|hdrwrite|histeq|hough|houghlines|houghpeaks|iccfind|iccread|iccroot|iccwrite|idct2|ifanbeam|im2bw|im2col|im2double|im2int16|im2java2d|im2single|im2uint16|im2uint8|imabsdiff|imadd|imadjust|ImageAdapter|imageinfo|imagemodel|imapplymatrix|imattributes|imbothat|imclearborder|imclose|imcolormaptool|imcomplement|imcontour|imcontrast|imcrop|imdilate|imdisplayrange|imdistline|imdivide|imellipse|imerode|imextendedmax|imextendedmin|imfill|imfilter|imfindcircles|imfreehand|imfuse|imgca|imgcf|imgetfile|imhandles|imhist|imhmax|imhmin|imimposemin|imlincomb|imline|immagbox|immovie|immultiply|imnoise|imopen|imoverview|imoverviewpanel|impixel|impixelinfo|impixelinfoval|impixelregion|impixelregionpanel|implay|impoint|impoly|impositionrect|improfile|imputfile|impyramid|imreconstruct|imrect|imregconfig|imregionalmax|imregionalmin|imregister|imresize|imroi|imrotate|imsave|imscrollpanel|imshow|imshowpair|imsubtract|imtool|imtophat|imtransform|imview|ind2gray|ind2rgb|interfileinfo|interfileread|intlut|ippl|iptaddcallback|iptcheckconn|iptcheckhandle|iptcheckinput|iptcheckmap|iptchecknargin|iptcheckstrs|iptdemos|iptgetapi|iptGetPointerBehavior|iptgetpref|ipticondir|iptnum2ordinal|iptPointerManager|iptprefs|iptremovecallback|iptSetPointerBehavior|iptsetpref|iptwindowalign|iradon|isbw|isflat|isgray|isicc|isind|isnitf|isrgb|isrset|lab2double|lab2uint16|lab2uint8|label2rgb|labelmatrix|makecform|makeConstrainToRectFcn|makehdr|makelut|makeresampler|maketform|mat2gray|mean2|medfilt2|montage|nitfinfo|nitfread|nlfilter|normxcorr2|ntsc2rgb|openrset|ordfilt2|otf2psf|padarray|para2fan|phantom|poly2mask|psf2otf|qtdecomp|qtgetblk|qtsetblk|radon|rangefilt|reflect|regionprops|registration.metric.(?:MattesMutualInformation|MeanSquares)|registration.optimizer.(?:OnePlusOneEvolutionary|RegularStepGradientDescent)|rgb2gray|rgb2ntsc|rgb2ycbcr|roicolor|roifill|roifilt2|roipoly|rsetwrite|std2|stdfilt|strel|stretchlim|subimage|tformarray|tformfwd|tforminv|tonemap|translate|truesize|uintlut|viscircles|warp|watershed|whitepoint|wiener2|xyz2double|xyz2uint16|ycbcr2rgb|bintprog|color|fgoalattain|fminbnd|fmincon|fminimax|fminsearch|fminunc|fseminf|fsolve|fzero|fzmult|gangstr|ktrlink|linprog|lsqcurvefit|lsqlin|lsqnonlin|lsqnonneg|optimget|optimset|optimtool|quadprog",r="cell|struct|char|double|single|logical|u?int(?:8|16|32|64)|sparse",i=this.createKeywordMapper({"storage.type":r,"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"^%[^\r\n]*"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.MatlabHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-mel.js b/static/js/lib/ace/src-min-noconflict/mode-mel.js new file mode 100644 index 0000000..de85a25 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-mel.js @@ -0,0 +1 @@ +ace.define("ace/mode/mel",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/mel_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./mel_highlight_rules").MELHighlightRules,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"}}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/mel_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{caseInsensitive:!0,token:"storage.type.mel",regex:"\\b(matrix|string|vector|float|int|void)\\b"},{caseInsensitive:!0,token:"support.function.mel",regex:"\\b((s(h(ow(ManipCtx|S(hadingGroupAttrEditor|electionInTitle)|H(idden|elp)|Window)|el(f(Button|TabLayout|Layout)|lField)|ading(GeometryRelCtx|Node|Connection|LightRelCtx))|y(s(tem|File)|mbol(Button|CheckBox))|nap(shot|Mode|2to2 |TogetherCtx|Key)|c(ulpt|ene(UIReplacement|Editor)|ale(BrushBrightness |Constraint|Key(Ctx)?)?|r(ipt(Node|Ctx|Table|edPanel(Type)?|Job|EditorInfo)|oll(Field|Layout))|mh)|t(itch(Surface(Points)?|AndExplodeShell )|a(ckTrace|rt(sWith |String ))|r(cmp|i(ng(ToStringArray |Array(Remove(Duplicates | )|C(ount |atenate )|ToString |Intersector))|p )|oke))|i(n(gleProfileBirailSurface)?|ze|gn|mplify)|o(u(nd(Control)?|rce)|ft(Mod(Ctx)?)?|rt)|u(perCtx|rface(S(haderList|ampler))?|b(st(itute(Geometry|AllString )?|ring)|d(M(irror|a(tchTopology|p(SewMove|Cut)))|iv(Crease|DisplaySmoothness)?|C(ollapse|leanTopology)|T(o(Blind|Poly)|ransferUVsToCache)|DuplicateAndConnect|EditUV|ListComponentConversion|AutoProjection)))|p(h(ere|rand)|otLight(PreviewPort)?|aceLocator|r(ing|eadSheetEditor))|e(t(s|MenuMode|Sta(te |rtupMessage|mpDensity )|NodeTypeFlag|ConstraintRestPosition |ToolTo|In(putDeviceMapping|finity)|D(ynamic|efaultShadingGroup|rivenKeyframe)|UITemplate|P(ar(ticleAttr|ent)|roject )|E(scapeCtx|dit(or|Ctx))|Key(Ctx|frame|Path)|F(ocus|luidAttr)|Attr(Mapping)?)|parator|ed|l(ect(Mode|ionConnection|Context|Type|edNodes|Pr(iority|ef)|Key(Ctx)?)?|LoadSettings)|archPathArray )|kin(Cluster|Percent)|q(uareSurface|rt)|w(itchTable|atchDisplayPort)|a(ve(Menu|Shelf|ToolSettings|I(nitialState|mage)|Pref(s|Objects)|Fluid|A(ttrPreset |llShelves))|mpleImage)|rtContext|mooth(step|Curve|TangentSurface))|h(sv_to_rgb|yp(ot|er(Graph|Shade|Panel))|i(tTest|de|lite)|ot(Box|key(Check)?)|ud(Button|Slider(Button)?)|e(lp(Line)?|adsUpDisplay|rmite)|wRe(nder(Load)?|flectionMap)|ard(enPointCurve|ware(RenderPanel)?))|n(o(nLinear|ise|de(Type|IconButton|Outliner|Preset)|rmal(ize |Constraint))|urbs(Boolean|S(elect|quare)|C(opyUVSet|ube)|To(Subdiv|Poly(gonsPref)?)|Plane|ViewDirectionVector )|ew(ton|PanelItems)|ame(space(Info)?|Command|Field))|c(h(oice|dir|eck(Box(Grp)?|DefaultRenderGlobals)|a(n(nelBox|geSubdiv(Region|ComponentDisplayLevel))|racter(Map|OutlineEditor)?))|y(cleCheck|linder)|tx(Completion|Traverse|EditMode|Abort)|irc(ularFillet|le)|o(s|n(str(uctionHistory|ain(Value)?)|nect(ionInfo|Control|Dynamic|Joint|Attr)|t(extInfo|rol)|dition|e|vert(SolidTx|Tessellation|Unit|FromOldLayers |Lightmap)|firmDialog)|py(SkinWeights|Key|Flexor|Array )|l(or(Slider(Grp|ButtonGrp)|Index(SliderGrp)?|Editor|AtPoint)?|umnLayout|lision)|arsenSubdivSelectionList|m(p(onentEditor|utePolysetVolume |actHairSystem )|mand(Port|Echo|Line)))|u(tKey|r(ve(MoveEPCtx|SketchCtx|CVCtx|Intersect|OnSurface|E(ditorCtx|PCtx)|AddPtCtx)?|rent(Ctx|Time(Ctx)?|Unit)))|p(GetSolverAttr|Button|S(olver(Types)?|e(t(SolverAttr|Edit)|am))|C(o(nstraint|llision)|ache)|Tool|P(anel|roperty))|eil|l(ip(Schedule(rOutliner)?|TrimBefore |Editor(CurrentTimeCtx)?)?|ose(Surface|Curve)|uster|ear(Cache)?|amp)|a(n(CreateManip|vas)|tch(Quiet)?|pitalizeString |mera(View)?)|r(oss(Product )?|eate(RenderLayer|MotionField |SubdivRegion|N(ode|ewShelf )|D(isplayLayer|rawCtx)|Editor))|md(Shell|FileOutput))|M(R(ender(ShadowData|Callback|Data|Util|View|Line(Array)?)|ampAttribute)|G(eometryData|lobal)|M(odelMessage|essage|a(nipData|t(erial|rix)))|BoundingBox|S(yntax|ceneMessage|t(atus|ring(Array)?)|imple|pace|elect(ion(Mask|List)|Info)|watchRender(Register|Base))|H(ardwareRenderer|WShaderSwatchGenerator)|NodeMessage|C(o(nditionMessage|lor(Array)?|m(putation|mand(Result|Message)))|ursor|loth(Material|S(ystem|olverRegister)|Con(straint|trol)|Triangle|Particle|Edge|Force)|allbackIdArray)|T(ypeId|ime(r(Message)?|Array)?|oolsInfo|esselationParams|r(imBoundaryArray|ansformationMatrix))|I(ntArray|t(Geometry|Mesh(Polygon|Edge|Vertex|FaceVertex)|S(urfaceCV|electionList)|CurveCV|Instancer|eratorType|D(ependency(Graph|Nodes)|ag)|Keyframe)|k(System|HandleGroup)|mage)|3dView|Object(SetMessage|Handle|Array)?|D(G(M(odifier|essage)|Context)|ynSwept(Triangle|Line)|istance|oubleArray|evice(State|Channel)|a(ta(Block|Handle)|g(M(odifier|essage)|Path(Array)?))|raw(Request(Queue)?|Info|Data|ProcedureBase))|U(serEventMessage|i(nt(Array|64Array)|Message))|P(o(int(Array)?|lyMessage)|lug(Array)?|rogressWindow|x(G(eometry(Iterator|Data)|lBuffer)|M(idiInputDevice|odelEditorCommand|anipContainer)|S(urfaceShape(UI)?|pringNode|electionContext)|HwShaderNode|Node|Co(ntext(Command)?|m(ponentShape|mand))|T(oolCommand|ransform(ationMatrix)?)|IkSolver(Node)?|3dModelView|ObjectSet|D(eformerNode|ata|ragAndDropBehavior)|PolyT(weakUVCommand|rg)|EmitterNode|F(i(eldNode|leTranslator)|luidEmitterNode)|LocatorNode))|E(ulerRotation|vent(Message)?)|ayatomr|Vector(Array)?|Quaternion|F(n(R(otateManip|eflectShader|adialField)|G(e(nericAttribute|ometry(Data|Filter))|ravityField)|M(otionPath|es(sageAttribute|h(Data)?)|a(nip3D|trix(Data|Attribute)))|B(l(innShader|endShapeDeformer)|ase)|S(caleManip|t(ateManip|ring(Data|ArrayData))|ingleIndexedComponent|ubd(Names|Data)?|p(hereData|otLight)|et|kinCluster)|HikEffector|N(on(ExtendedLight|AmbientLight)|u(rbs(Surface(Data)?|Curve(Data)?)|meric(Data|Attribute))|ewtonField)|C(haracter|ircleSweepManip|ompo(nent(ListData)?|undAttribute)|urveSegmentManip|lip|amera)|T(ypedAttribute|oggleManip|urbulenceField|r(ipleIndexedComponent|ansform))|I(ntArrayData|k(Solver|Handle|Joint|Effector))|D(ynSweptGeometryData|i(s(cManip|tanceManip)|rection(Manip|alLight))|ouble(IndexedComponent|ArrayData)|ependencyNode|a(ta|gNode)|ragField)|U(ni(tAttribute|formField)|Int64ArrayData)|P(hong(Shader|EShader)|oint(On(SurfaceManip|CurveManip)|Light|ArrayData)|fxGeometry|lugin(Data)?|arti(cleSystem|tion))|E(numAttribute|xpression)|V(o(lume(Light|AxisField)|rtexField)|ectorArrayData)|KeyframeDelta(Move|B(lockAddRemove|reakdown)|Scale|Tangent|InfType|Weighted|AddRemove)?|F(ield|luid|reePointTriadManip)|W(ireDeformer|eightGeometryFilter)|L(ight(DataAttribute)?|a(yeredShader|ttice(D(eformer|ata))?|mbertShader))|A(ni(sotropyShader|mCurve)|ttribute|irField|r(eaLight|rayAttrsData)|mbientLight))?|ile(IO|Object)|eedbackLine|loat(Matrix|Point(Array)?|Vector(Array)?|Array))|L(i(ghtLinks|brary)|ockMessage)|A(n(im(Message|C(ontrol|urveC(hange|lipboard(Item(Array)?)?))|Util)|gle)|ttribute(Spec(Array)?|Index)|r(rayData(Builder|Handle)|g(Database|Parser|List))))|t(hreePointArcCtx|ime(Control|Port|rX)|o(ol(Button|HasOptions|Collection|Dropped|PropertyWindow)|NativePath |upper|kenize(List )?|l(ower|erance)|rus|ggle(WindowVisibility|Axis)?)|u(rbulence|mble(Ctx)?)|ex(RotateContext|M(oveContext|anipContext)|t(ScrollList|Curves|ure(HairColor |DisplacePlane |PlacementContext|Window)|ToShelf |Field(Grp|ButtonGrp)?)?|S(caleContext|electContext|mudgeUVContext)|WinToolCtx)|woPointArcCtx|a(n(gentConstraint)?|bLayout)|r(im|unc(ate(HairCache|FluidCache))?|a(ns(formLimits|lator)|c(e|k(Ctx)?))))|i(s(olateSelect|Connected|True|Dirty|ParentOf |Valid(String |ObjectName |UiName )|AnimCurve )|n(s(tance(r)?|ert(Joint(Ctx)?|K(not(Surface|Curve)|eyCtx)))|heritTransform|t(S(crollBar|lider(Grp)?)|er(sect|nalVar|ToUI )|Field(Grp)?))|conText(Radio(Button|Collection)|Button|StaticLabel|CheckBox)|temFilter(Render|Type|Attr)?|prEngine|k(S(ystem(Info)?|olver|plineHandleCtx)|Handle(Ctx|DisplayScale)?|fkDisplayMethod)|m(portComposerCurves |fPlugins|age))|o(ceanNurbsPreviewPlane |utliner(Panel|Editor)|p(tion(Menu(Grp)?|Var)|en(GLExtension|MayaPref))|verrideModifier|ffset(Surface|Curve(OnSurface)?)|r(ientConstraint|bit(Ctx)?)|b(soleteProc |j(ect(Center|Type(UI)?|Layer )|Exists)))|d(yn(RelEd(itor|Panel)|Globals|C(ontrol|ache)|P(a(intEditor|rticleCtx)|ref)|Exp(ort|ression)|amicLoad)|i(s(connect(Joint|Attr)|tanceDim(Context|ension)|pla(y(RGBColor|S(tats|urface|moothness)|C(olor|ull)|Pref|LevelOfDetail|Affected)|cementToPoly)|kCache|able)|r(name |ect(ionalLight|KeyCtx)|map)|mWhen)|o(cServer|Blur|t(Product )?|ubleProfileBirailSurface|peSheetEditor|lly(Ctx)?)|uplicate(Surface|Curve)?|e(tach(Surface|Curve|DeviceAttr)|vice(Panel|Editor)|f(ine(DataServer|VirtualDevice)|ormer|ault(Navigation|LightListCheckBox))|l(ete(Sh(elfTab |adingGroupsAndMaterials )|U(nusedBrushes |I)|Attr)?|randstr)|g_to_rad)|agPose|r(opoffLocator|ag(gerContext)?)|g(timer|dirty|Info|eval))|CBG |u(serCtx|n(t(angleUV|rim)|i(t|form)|do(Info)?|loadPlugin|assignInputDevice|group)|iTemplate|p(dateAE |Axis)|v(Snapshot|Link))|joint(C(tx|luster)|DisplayScale|Lattice)?|p(sd(ChannelOutliner|TextureFile|E(ditTextureFile|xport))|close|i(c(ture|kWalk)|xelMove)|o(se|int(MatrixMult |C(onstraint|urveConstraint)|On(Surface|Curve)|Position|Light)|p(upMenu|en)|w|l(y(Reduce|GeoSampler|M(irrorFace|ove(UV|Edge|Vertex|Facet(UV)?)|erge(UV|Edge(Ctx)?|Vertex|Facet(Ctx)?)|ap(Sew(Move)?|Cut|Del))|B(oolOp|evel|l(indData|endColor))|S(traightenUVBorder|oftEdge|u(perCtx|bdivide(Edge|Facet))|p(her(icalProjection|e)|lit(Ring|Ctx|Edge|Vertex)?)|e(tToFaceNormal|parate|wEdge|lect(Constraint(Monitor)?|EditCtx))|mooth)|Normal(izeUV|PerVertex)?|C(hipOff|ylind(er|ricalProjection)|o(ne|pyUV|l(or(BlindData|Set|PerVertex)|lapse(Edge|Facet)))|u(t(Ctx)?|be)|l(ipboard|oseBorder)|acheMonitor|rea(seEdge|teFacet(Ctx)?))|T(o(Subdiv|rus)|r(iangulate|ansfer))|In(stallAction|fo)|Options|D(uplicate(Edge|AndConnect)|el(Edge|Vertex|Facet))|U(nite|VSet)|P(yramid|oke|lan(e|arProjection)|r(ism|ojection))|E(ditUV|valuate|xtrude(Edge|Facet))|Qu(eryBlindData|ad)|F(orceUV|lip(UV|Edge))|WedgeFace|L(istComponentConversion|ayoutUV)|A(utoProjection|ppend(Vertex|FacetCtx)?|verage(Normal|Vertex)))|eVectorConstraint))|utenv|er(cent|formanceOptions)|fxstrokes|wd|l(uginInfo|a(y(b(last|ackOptions))?|n(e|arSrf)))|a(steKey|ne(l(History|Configuration)?|Layout)|thAnimation|irBlend|use|lettePort|r(ti(cle(RenderInfo|Instancer|Exists)?|tion)|ent(Constraint)?|am(Dim(Context|ension)|Locator)))|r(int|o(j(ect(ion(Manip|Context)|Curve|Tangent)|FileViewer)|pMo(dCtx|ve)|gress(Bar|Window)|mptDialog)|eloadRefEd))|e(n(codeString|d(sWith |String )|v|ableDevice)|dit(RenderLayer(Globals|Members)|or(Template)?|DisplayLayer(Globals|Members)|AttrLimits )|v(ent|al(Deferred|Echo)?)|quivalent(Tol | )|ffector|r(f|ror)|x(clusiveLightCheckBox|t(end(Surface|Curve)|rude)|ists|p(ortComposerCurves |ression(EditorListen)?)?|ec(uteForEachObject )?|actWorldBoundingBox)|mit(ter)?)|v(i(sor|ew(Set|HeadOn|2dToolCtx|C(lipPlane|amera)|Place|Fit|LookAt))|o(lumeAxis|rtex)|e(ctorize|rifyCmd )|alidateShelfName )|key(Tangent|frame(Region(MoveKeyCtx|S(caleKeyCtx|e(tKeyCtx|lectKeyCtx))|CurrentTimeCtx|TrackCtx|InsertKeyCtx|D(irectKeyCtx|ollyCtx))|Stats|Outliner)?)|qu(it|erySubdiv)|f(c(heck|lose)|i(nd(RelatedSkinCluster |MenuItem |er|Keyframe|AllIntersections )|tBspline|l(ter(StudioImport|Curve|Expand)?|e(BrowserDialog|test|Info|Dialog|Extension )?|letCurve)|rstParentOf )|o(ntDialog|pen|rmLayout)|print|eof|flush|write|l(o(or|w|at(S(crollBar|lider(Grp|ButtonGrp|2)?)|Eq |Field(Grp)?))|u(shUndo|id(CacheInfo|Emitter|VoxelInfo))|exor)|r(omNativePath |e(eFormFillet|wind|ad)|ameLayout)|get(word|line)|mod)|w(hatIs|i(ndow(Pref)?|re(Context)?)|orkspace|ebBrowser(Prefs)?|a(itCursor|rning)|ri(nkle(Context)?|teTake))|l(s(T(hroughFilter|ype )|UI)?|i(st(Relatives|MenuAnnotation |Sets|History|NodeTypes|C(onnections|ameras)|Transforms |InputDevice(s|Buttons|Axes)|erEditor|DeviceAttachments|Unselected |A(nimatable|ttr))|n(step|eIntersection )|ght(link|List(Panel|Editor)?))|o(ckNode|okThru|ft|ad(NewShelf |P(lugin|refObjects)|Fluid)|g)|a(ssoContext|y(out|er(Button|ed(ShaderPort|TexturePort)))|ttice(DeformKeyCtx)?|unch(ImageEditor)?))|a(ssign(Command|InputDevice)|n(notate|im(C(one|urveEditor)|Display|View)|gle(Between)?)|tt(ach(Surface|Curve|DeviceAttr)|r(ibute(Menu|Info|Exists|Query)|NavigationControlGrp|Co(ntrolGrp|lorSliderGrp|mpatibility)|PresetEditWin|EnumOptionMenu(Grp)?|Field(Grp|SliderGrp)))|i(r|mConstraint)|d(d(NewShelfTab|Dynamic|PP|Attr(ibuteEditorNodeHelp)?)|vanceToNextDrivenKey)|uto(Place|Keyframe)|pp(endStringArray|l(y(Take|AttrPreset)|icationName))|ffect(s|edNet)|l(i(as(Attr)?|gn(Surface|C(tx|urve))?)|lViewFit)|r(c(len|Len(DimContext|gthDimension))|t(BuildPaintMenu|Se(tPaintCtx|lectCtx)|3dPaintCtx|UserPaintCtx|PuttyCtx|FluidAttrCtx|Attr(SkinPaintCtx|Ctx|PaintVertexCtx))|rayMapper)|mbientLight|b(s|out))|r(igid(Body|Solver)|o(t(at(ionInterpolation|e))?|otOf |undConstantRadius|w(ColumnLayout|Layout)|ll(Ctx)?)|un(up|TimeCommand)|e(s(olutionNode|et(Tool|AE )|ampleFluid)|hash|n(der(GlobalsNode|Manip|ThumbnailUpdate|Info|er|Partition|QualityNode|Window(SelectContext|Editor)|LayerButton)?|ame(SelectionList |UI|Attr)?)|cord(Device|Attr)|target|order(Deformers)?|do|v(olve|erse(Surface|Curve))|quires|f(ineSubdivSelectionList|erence(Edit|Query)?|resh(AE )?)|loadImage|adTake|root|move(MultiInstance|Joint)|build(Surface|Curve))|a(n(d(state|omizeFollicles )?|geControl)|d(i(o(MenuItemCollection|Button(Grp)?|Collection)|al)|_to_deg)|mpColorPort)|gb_to_hsv)|g(o(toBindPose |al)|e(t(M(odifiers|ayaPanelTypes )|Classification|InputDeviceRange|pid|env|DefaultBrush|Pa(nel|rticleAttr)|F(ileList|luidAttr)|A(ttr|pplicationVersionAsFloat ))|ometryConstraint)|l(Render(Editor)?|obalStitch)|a(uss|mma)|r(id(Layout)?|oup(ObjectsByName )?|a(dientControl(NoAttr)?|ph(SelectContext|TrackCtx|DollyCtx)|vity|bColor))|match)|x(pmPicker|form|bmLangPathList )|m(i(n(imizeApp)?|rrorJoint)|o(del(CurrentTimeCtx|Panel|Editor)|use|v(In|e(IKtoFK |VertexAlongDirection|KeyCtx)?|Out))|u(te|ltiProfileBirailSurface)|e(ssageLine|nu(BarLayout|Item(ToShelf )?|Editor)?|mory)|a(nip(Rotate(Context|LimitsCtx)|Move(Context|LimitsCtx)|Scale(Context|LimitsCtx)|Options)|tch|ke(Roll |SingleSurface|TubeOn |Identity|Paintable|bot|Live)|rker|g|x))|b(in(Membership|d(Skin|Pose))|o(neLattice|undary|x(ZoomCtx|DollyCtx))|u(tton(Manip)?|ild(BookmarkMenu|KeyframeMenu)|fferCurve)|e(ssel|vel(Plus)?)|l(indDataType|end(Shape(Panel|Editor)?|2|TwoAttr))|a(sename(Ex | )|tchRender|ke(Results|Simulation|Clip|PartialHistory|FluidShading )))))\\b"},{caseInsensitive:!0,token:"support.constant.mel",regex:"\\b(s(h(ellTessellate|a(d(ing(Map|Engine)|erGlow)|pe))|n(ow|apshot(Shape)?)|c(ulpt|aleConstraint|ript)|t(yleCurve|itch(Srf|AsNurbsShell)|u(cco|dioClearCoat)|encil|roke(Globals)?)|i(ngleShadingSwitch|mpleVolumeShader)|o(ftMod(Manip|Handle)?|lidFractal)|u(rface(Sha(der|pe)|Info|EdManip|VarGroup|Luminance)|b(Surface|d(M(odifier(UV|World)?|ap(SewMove|Cut|pingManip))|B(lindData|ase)|iv(ReverseFaces|SurfaceVarGroup|Co(llapse|mponentId)|To(Nurbs|Poly))?|HierBlind|CleanTopology|Tweak(UV)?|P(lanarProj|rojManip)|LayoutUV|A(ddTopology|utoProj))|Curve))|p(BirailSrf|otLight|ring)|e(tRange|lectionListOperator)|k(inCluster|etchPlane)|quareSrf|ampler(Info)?|m(ooth(Curve|TangentSrf)|ear))|h(svToRgb|yper(GraphInfo|View|Layout)|ik(Solver|Handle|Effector)|oldMatrix|eightField|w(Re(nderGlobals|flectionMap)|Shader)|a(ir(System|Constraint|TubeShader)|rd(enPoint|wareRenderGlobals)))|n(o(n(ExtendedLightShapeNode|Linear|AmbientLightShapeNode)|ise|rmalConstraint)|urbs(Surface|Curve|T(oSubdiv(Proc)?|essellate)|DimShape)|e(twork|wtonField))|c(h(o(ice|oser)|ecker|aracter(Map|Offset)?)|o(n(straint|tr(olPoint|ast)|dition)|py(ColorSet|UVSet))|urve(Range|Shape|Normalizer(Linear|Angle)?|In(tersect|fo)|VarGroup|From(Mesh(CoM|Edge)?|Su(rface(Bnd|CoS|Iso)?|bdiv(Edge|Face)?)))|l(ip(Scheduler|Library)|o(se(stPointOnSurface|Surface|Curve)|th|ud)|uster(Handle)?|amp)|amera(View)?|r(eate(BPManip|ColorSet|UVSet)|ater))|t(ime(ToUnitConversion|Function)?|oo(nLineAttributes|lDrawManip)|urbulenceField|ex(BaseDeformManip|ture(BakeSet|2d|ToGeom|3d|Env)|SmudgeUVManip|LatticeDeformManip)|weak|angentConstraint|r(i(pleShadingSwitch|m(WithBoundaries)?)|ansform(Geometry)?))|i(n(s(tancer|ertKnot(Surface|Curve))|tersectSurface)|k(RPsolver|MCsolver|S(ystem|olver|Csolver|plineSolver)|Handle|PASolver|Effector)|m(plicit(Box|Sphere|Cone)|agePlane))|o(cean(Shader)?|pticalFX|ffset(Surface|C(os|urve))|ldBlindDataBase|rient(Constraint|ationMarker)|bject(RenderFilter|MultiFilter|BinFilter|S(criptFilter|et)|NameFilter|TypeFilter|Filter|AttrFilter))|d(yn(Globals|Base)|i(s(tance(Between|DimShape)|pla(yLayer(Manager)?|cementShader)|kCache)|rect(ionalLight|edDisc)|mensionShape)|o(ubleShadingSwitch|f)|pBirailSrf|e(tach(Surface|Curve)|pendNode|f(orm(Bend|S(ine|quash)|Twist|ableShape|F(unc|lare)|Wave)|ault(RenderUtilityList|ShaderList|TextureList|LightList))|lete(Co(lorSet|mponent)|UVSet))|ag(Node|Pose)|r(opoffLocator|agField))|u(seBackground|n(trim|i(t(Conversion|ToTimeConversion)|formField)|known(Transform|Dag)?)|vChooser)|j(iggle|oint(Cluster|Ffd|Lattice)?)|p(sdFileTex|hong(E)?|o(s(tProcessList|itionMarker)|int(MatrixMult|Constraint|On(SurfaceInfo|CurveInfo)|Emitter|Light)|l(y(Reduce|M(irror|o(difier(UV|World)?|ve(UV|Edge|Vertex|Face(tUV)?))|erge(UV|Edge|Vert|Face)|ap(Sew(Move)?|Cut|Del))|B(oolOp|evel|lindData|ase)|S(traightenUVBorder|oftEdge|ubd(Edge|Face)|p(h(ere|Proj)|lit(Ring|Edge|Vert)?)|e(parate|wEdge)|mooth(Proxy|Face)?)|Normal(izeUV|PerVertex)?|C(hipOff|yl(inder|Proj)|o(ne|pyUV|l(orPerVertex|lapse(Edge|F)))|u(t(Manip(Container)?)?|be)|loseBorder|rea(seEdge|t(or|eFace)))|T(o(Subdiv|rus)|weak(UV)?|r(iangulate|ansfer))|OptUvs|D(uplicateEdge|el(Edge|Vertex|Facet))|Unite|P(yramid|oke(Manip)?|lan(e|arProj)|r(i(sm|mitive)|oj))|Extrude(Edge|Vertex|Face)|VertexNormalManip|Quad|Flip(UV|Edge)|WedgeFace|LayoutUV|A(utoProj|ppend(Vertex)?|verageVertex))|eVectorConstraint))|fx(Geometry|Hair|Toon)|l(usMinusAverage|a(n(e|arTrimSurface)|ce(2dTexture|3dTexture)))|a(ssMatrix|irBlend|r(ti(cle(SamplerInfo|C(olorMapper|loud)|TranspMapper|IncandMapper|AgeMapper)?|tion)|ent(Constraint|Tessellate)|amDimension))|r(imitive|o(ject(ion|Curve|Tangent)|xyManager)))|e(n(tity|v(Ball|ironmentFog|S(phere|ky)|C(hrome|ube)|Fog))|x(t(end(Surface|Curve)|rude)|p(lodeNurbsShell|ression)))|v(iewManip|o(lume(Shader|Noise|Fog|Light|AxisField)|rtexField)|e(ctor(RenderGlobals|Product)|rtexBakeSet))|quadShadingSwitch|f(i(tBspline|eld|l(ter(Resample|Simplify|ClosestSample|Euler)?|e|letCurve))|o(urByFourMatrix|llicle)|urPointOn(MeshInfo|Subd)|f(BlendSrf(Obsolete)?|d|FilletSrf)|l(ow|uid(S(hape|liceManip)|Texture(2D|3D)|Emitter)|exorShape)|ra(ctal|meCache))|w(tAddMatrix|ire|ood|eightGeometryFilter|ater|rap)|l(ight(Info|Fog|Li(st|nker))?|o(cator|okAt|d(Group|Thresholds)|ft)|uminance|ea(stSquaresModifier|ther)|a(yered(Shader|Texture)|ttice|mbert))|a(n(notationShape|i(sotropic|m(Blend(InOut)?|C(urve(T(T|U|L|A)|U(T|U|L|A))?|lip)))|gleBetween)|tt(ach(Surface|Curve)|rHierarchyTest)|i(rField|mConstraint)|dd(Matrix|DoubleLinear)|udio|vg(SurfacePoints|NurbsSurfacePoints|Curves)|lign(Manip|Surface|Curve)|r(cLengthDimension|tAttrPaintTest|eaLight|rayMapper)|mbientLight|bstractBase(NurbsConversion|Create))|r(igid(Body|Solver|Constraint)|o(ck|undConstantRadius)|e(s(olution|ultCurve(TimeTo(Time|Unitless|Linear|Angular))?)|nder(Rect|Globals(List)?|Box|Sphere|Cone|Quality|L(ight|ayer(Manager)?))|cord|v(olve(dPrimitive)?|erse(Surface|Curve)?)|f(erence|lect)|map(Hsv|Color|Value)|build(Surface|Curve))|a(dialField|mp(Shader)?)|gbToHsv|bfSrf)|g(uide|eo(Connect(or|able)|metry(Shape|Constraint|VarGroup|Filter))|lobal(Stitch|CacheControl)|ammaCorrect|r(id|oup(Id|Parts)|a(nite|vityField)))|Fur(Globals|Description|Feedback|Attractors)|xformManip|m(o(tionPath|untain|vie)|u(te|lt(Matrix|i(plyDivide|listerLight)|DoubleLinear))|pBirailSrf|e(sh(VarGroup)?|ntalray(Texture|IblShape))|a(terialInfo|ke(Group|Nurb(sSquare|Sphere|C(ylinder|ircle|one|ube)|Torus|Plane)|CircularArc|T(hreePointCircularArc|extCurves|woPointCircularArc))|rble))|b(irailSrf|o(neLattice|olean|undary(Base)?)|u(lge|mp(2d|3d))|evel(Plus)?|l(in(n|dDataTemplate)|end(Shape|Color(s|Sets)|TwoAttr|Device|Weighted)?)|a(se(GeometryVarGroup|ShadingSwitch|Lattice)|keSet)|r(ownian|ush)))\\b"},{caseInsensitive:!0,token:"keyword.control.mel",regex:"\\b(if|in|else|for|while|break|continue|case|default|do|switch|return|switch|case|source|catch|alias)\\b"},{token:"keyword.other.mel",regex:"\\b(global)\\b"},{caseInsensitive:!0,token:"constant.language.mel",regex:"\\b(null|undefined)\\b"},{token:"constant.numeric.mel",regex:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b"},{token:"punctuation.definition.string.begin.mel",regex:'"',push:[{token:"constant.character.escape.mel",regex:"\\\\."},{token:"punctuation.definition.string.end.mel",regex:'"',next:"pop"},{defaultToken:"string.quoted.double.mel"}]},{token:["variable.other.mel","punctuation.definition.variable.mel"],regex:"(\\$)([a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*?\\b)"},{token:"punctuation.definition.string.begin.mel",regex:"'",push:[{token:"constant.character.escape.mel",regex:"\\\\."},{token:"punctuation.definition.string.end.mel",regex:"'",next:"pop"},{defaultToken:"string.quoted.single.mel"}]},{token:"constant.language.mel",regex:"\\b(false|true|yes|no|on|off)\\b"},{token:"punctuation.definition.comment.mel",regex:"/\\*",push:[{token:"punctuation.definition.comment.mel",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.mel"}]},{token:["comment.line.double-slash.mel","punctuation.definition.comment.mel"],regex:"(//)(.*$\\n?)"},{caseInsensitive:!0,token:"keyword.operator.mel",regex:"\\b(instanceof)\\b"},{token:"keyword.operator.symbolic.mel",regex:"[-\\!\\%\\&\\*\\+\\=\\/\\?\\:]"},{token:["meta.preprocessor.mel","punctuation.definition.preprocessor.mel"],regex:"(^[ \\t]*)((?:#)[a-zA-Z]+)"},{token:["meta.function.mel","keyword.other.mel","storage.type.mel","entity.name.function.mel","punctuation.section.function.mel"],regex:"((?:global\\s*)?proc)\\s*(\\w+\\s*\\[?\\]?\\s+|\\s+)([A-Za-z_][A-Za-z0-9_\\.]*)(\\s*(\\())",push:[{include:"$self"},{token:"punctuation.section.function.mel",regex:"\\)",next:"pop"},{defaultToken:"meta.function.mel"}]}]},this.normalizeRules()};r.inherits(s,i),t.MELHighlightRules=s}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-mushcode.js b/static/js/lib/ace/src-min-noconflict/mode-mushcode.js new file mode 100644 index 0000000..1f81564 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-mushcode.js @@ -0,0 +1 @@ +ace.define("ace/mode/mushcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/mushcode_high_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./mushcode_high_rules").MushCodeRules,u=e("./folding/pythonic").FoldMode,a=e("../range").Range,f=function(){this.HighlightRules=o,this.foldingRules=new u("\\:")};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new a(n,r.length-i.length,n,r.length))},this.$id="ace/mode/mushcode"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/mushcode_high_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="@if|@ifelse|@switch|@halt|@dolist|@create|@scent|@sound|@touch|@ataste|@osound|@ahear|@aahear|@amhear|@otouch|@otaste|@drop|@odrop|@adrop|@dropfail|@odropfail|@smell|@oemit|@emit|@pemit|@parent|@clone|@taste|whisper|page|say|pose|semipose|teach|touch|taste|smell|listen|look|move|go|home|follow|unfollow|desert|dismiss|@tel",t="=#0",n="default|edefault|eval|get_eval|get|grep|grepi|hasattr|hasattrp|hasattrval|hasattrpval|lattr|nattr|poss|udefault|ufun|u|v|uldefault|xget|zfun|band|bnand|bnot|bor|bxor|shl|shr|and|cand|cor|eq|gt|gte|lt|lte|nand|neq|nor|not|or|t|xor|con|entrances|exit|followers|home|lcon|lexits|loc|locate|lparent|lsearch|next|num|owner|parent|pmatch|rloc|rnum|room|where|zone|worn|held|carried|acos|asin|atan|ceil|cos|e|exp|fdiv|fmod|floor|log|ln|pi|power|round|sin|sqrt|tan|aposs|andflags|conn|commandssent|controls|doing|elock|findable|flags|fullname|hasflag|haspower|hastype|hidden|idle|isbaker|lock|lstats|money|who|name|nearby|obj|objflags|photo|poll|powers|pendingtext|receivedtext|restarts|restarttime|subj|shortestpath|tmoney|type|visible|cat|element|elements|extract|filter|filterbool|first|foreach|fold|grab|graball|index|insert|itemize|items|iter|last|ldelete|map|match|matchall|member|mix|munge|pick|remove|replace|rest|revwords|setdiff|setinter|setunion|shuffle|sort|sortby|splice|step|wordpos|words|add|lmath|max|mean|median|min|mul|percent|sign|stddev|sub|val|bound|abs|inc|dec|dist2d|dist3d|div|floordiv|mod|modulo|remainder|vadd|vdim|vdot|vmag|vmax|vmin|vmul|vsub|vunit|regedit|regeditall|regeditalli|regediti|regmatch|regmatchi|regrab|regraball|regraballi|regrabi|regrep|regrepi|after|alphamin|alphamax|art|before|brackets|capstr|case|caseall|center|containsfansi|comp|decompose|decrypt|delete|edit|encrypt|escape|if|ifelse|lcstr|left|lit|ljust|merge|mid|ostrlen|pos|repeat|reverse|right|rjust|scramble|secure|space|spellnum|squish|strcat|strmatch|strinsert|stripansi|stripfansi|strlen|switch|switchall|table|tr|trim|ucstr|unsafe|wrap|ctitle|cwho|channels|clock|cflags|ilev|itext|inum|convsecs|convutcsecs|convtime|ctime|etimefmt|isdaylight|mtime|secs|msecs|starttime|time|timefmt|timestring|utctime|atrlock|clone|create|cook|dig|emit|lemit|link|oemit|open|pemit|remit|set|tel|wipe|zemit|fbcreate|fbdestroy|fbwrite|fbclear|fbcopy|fbcopyto|fbclip|fbdump|fbflush|fbhset|fblist|fbstats|qentries|qentry|play|ansi|break|c|asc|die|isdbref|isint|isnum|isletters|linecoords|localize|lnum|nameshort|null|objeval|r|rand|s|setq|setr|soundex|soundslike|valid|vchart|vchart2|vlabel|@@|bakerdays|bodybuild|box|capall|catalog|children|ctrailer|darttime|debt|detailbar|exploredroom|fansitoansi|fansitoxansi|fullbar|halfbar|isdarted|isnewbie|isword|lambda|lobjects|lplayers|lthings|lvexits|lvobjects|lvplayers|lvthings|newswrap|numsuffix|playerson|playersthisweek|randomad|randword|realrandword|replacechr|second|splitamount|strlenall|text|third|tofansi|totalac|unique|getaddressroom|listpropertycomm|listpropertyres|lotowner|lotrating|lotratingcount|lotvalue|boughtproduct|companyabb|companyicon|companylist|companyname|companyowners|companyvalue|employees|invested|productlist|productname|productowners|productrating|productratingcount|productsoldat|producttype|ratedproduct|soldproduct|topproducts|totalspentonproduct|totalstock|transfermoney|uniquebuyercount|uniqueproductsbought|validcompany|deletepicture|fbsave|getpicturesecurity|haspicture|listpictures|picturesize|replacecolor|rgbtocolor|savepicture|setpicturesecurity|showpicture|piechart|piechartlabel|createmaze|drawmaze|drawwireframe",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")";this.$rules={start:[{token:"variable",regex:"%[0-9]{1}"},{token:"variable",regex:"%q[0-9A-Za-z]{1}"},{token:"variable",regex:"%[a-zA-Z]{1}"},{token:"variable.language",regex:"%[a-z0-9-_]+"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|#|%|<<|>>|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.MushCodeRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-mushcode_high_rules.js b/static/js/lib/ace/src-min-noconflict/mode-mushcode_high_rules.js new file mode 100644 index 0000000..873ecb2 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-mushcode_high_rules.js @@ -0,0 +1 @@ +ace.define("ace/mode/mushcode_high_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="@if|@ifelse|@switch|@halt|@dolist|@create|@scent|@sound|@touch|@ataste|@osound|@ahear|@aahear|@amhear|@otouch|@otaste|@drop|@odrop|@adrop|@dropfail|@odropfail|@smell|@oemit|@emit|@pemit|@parent|@clone|@taste|whisper|page|say|pose|semipose|teach|touch|taste|smell|listen|look|move|go|home|follow|unfollow|desert|dismiss|@tel",t="=#0",n="default|edefault|eval|get_eval|get|grep|grepi|hasattr|hasattrp|hasattrval|hasattrpval|lattr|nattr|poss|udefault|ufun|u|v|uldefault|xget|zfun|band|bnand|bnot|bor|bxor|shl|shr|and|cand|cor|eq|gt|gte|lt|lte|nand|neq|nor|not|or|t|xor|con|entrances|exit|followers|home|lcon|lexits|loc|locate|lparent|lsearch|next|num|owner|parent|pmatch|rloc|rnum|room|where|zone|worn|held|carried|acos|asin|atan|ceil|cos|e|exp|fdiv|fmod|floor|log|ln|pi|power|round|sin|sqrt|tan|aposs|andflags|conn|commandssent|controls|doing|elock|findable|flags|fullname|hasflag|haspower|hastype|hidden|idle|isbaker|lock|lstats|money|who|name|nearby|obj|objflags|photo|poll|powers|pendingtext|receivedtext|restarts|restarttime|subj|shortestpath|tmoney|type|visible|cat|element|elements|extract|filter|filterbool|first|foreach|fold|grab|graball|index|insert|itemize|items|iter|last|ldelete|map|match|matchall|member|mix|munge|pick|remove|replace|rest|revwords|setdiff|setinter|setunion|shuffle|sort|sortby|splice|step|wordpos|words|add|lmath|max|mean|median|min|mul|percent|sign|stddev|sub|val|bound|abs|inc|dec|dist2d|dist3d|div|floordiv|mod|modulo|remainder|vadd|vdim|vdot|vmag|vmax|vmin|vmul|vsub|vunit|regedit|regeditall|regeditalli|regediti|regmatch|regmatchi|regrab|regraball|regraballi|regrabi|regrep|regrepi|after|alphamin|alphamax|art|before|brackets|capstr|case|caseall|center|containsfansi|comp|decompose|decrypt|delete|edit|encrypt|escape|if|ifelse|lcstr|left|lit|ljust|merge|mid|ostrlen|pos|repeat|reverse|right|rjust|scramble|secure|space|spellnum|squish|strcat|strmatch|strinsert|stripansi|stripfansi|strlen|switch|switchall|table|tr|trim|ucstr|unsafe|wrap|ctitle|cwho|channels|clock|cflags|ilev|itext|inum|convsecs|convutcsecs|convtime|ctime|etimefmt|isdaylight|mtime|secs|msecs|starttime|time|timefmt|timestring|utctime|atrlock|clone|create|cook|dig|emit|lemit|link|oemit|open|pemit|remit|set|tel|wipe|zemit|fbcreate|fbdestroy|fbwrite|fbclear|fbcopy|fbcopyto|fbclip|fbdump|fbflush|fbhset|fblist|fbstats|qentries|qentry|play|ansi|break|c|asc|die|isdbref|isint|isnum|isletters|linecoords|localize|lnum|nameshort|null|objeval|r|rand|s|setq|setr|soundex|soundslike|valid|vchart|vchart2|vlabel|@@|bakerdays|bodybuild|box|capall|catalog|children|ctrailer|darttime|debt|detailbar|exploredroom|fansitoansi|fansitoxansi|fullbar|halfbar|isdarted|isnewbie|isword|lambda|lobjects|lplayers|lthings|lvexits|lvobjects|lvplayers|lvthings|newswrap|numsuffix|playerson|playersthisweek|randomad|randword|realrandword|replacechr|second|splitamount|strlenall|text|third|tofansi|totalac|unique|getaddressroom|listpropertycomm|listpropertyres|lotowner|lotrating|lotratingcount|lotvalue|boughtproduct|companyabb|companyicon|companylist|companyname|companyowners|companyvalue|employees|invested|productlist|productname|productowners|productrating|productratingcount|productsoldat|producttype|ratedproduct|soldproduct|topproducts|totalspentonproduct|totalstock|transfermoney|uniquebuyercount|uniqueproductsbought|validcompany|deletepicture|fbsave|getpicturesecurity|haspicture|listpictures|picturesize|replacecolor|rgbtocolor|savepicture|setpicturesecurity|showpicture|piechart|piechartlabel|createmaze|drawmaze|drawwireframe",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")";this.$rules={start:[{token:"variable",regex:"%[0-9]{1}"},{token:"variable",regex:"%q[0-9A-Za-z]{1}"},{token:"variable",regex:"%[a-zA-Z]{1}"},{token:"variable.language",regex:"%[a-z0-9-_]+"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|#|%|<<|>>|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.MushCodeRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-mysql.js b/static/js/lib/ace/src-min-noconflict/mode-mysql.js new file mode 100644 index 0000000..e6e878a --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-mysql.js @@ -0,0 +1 @@ +ace.define("ace/mode/mysql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/mysql_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("../tokenizer").Tokenizer,o=e("./mysql_highlight_rules").MysqlHighlightRules,u=e("../range").Range,a=function(){this.HighlightRules=o};r.inherits(a,i),function(){this.lineCommentStart=["--","#"],this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/mysql"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/mysql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){function i(e){var t=e.start,n=e.escape;return{token:"string.start",regex:t,next:[{token:"constant.language.escape",regex:n},{token:"string.end",next:"start",regex:t},{defaultToken:"string"}]}}var e="alter|and|as|asc|between|count|create|delete|desc|distinct|drop|from|having|in|insert|into|is|join|like|not|on|or|order|select|set|table|union|update|values|where|accessible|action|add|after|algorithm|all|analyze|asensitive|at|authors|auto_increment|autocommit|avg|avg_row_length|before|binary|binlog|both|btree|cache|call|cascade|cascaded|case|catalog_name|chain|change|changed|character|check|checkpoint|checksum|class_origin|client_statistics|close|coalesce|code|collate|collation|collations|column|columns|comment|commit|committed|completion|concurrent|condition|connection|consistent|constraint|contains|continue|contributors|convert|cross|current_date|current_time|current_timestamp|current_user|cursor|data|database|databases|day_hour|day_microsecond|day_minute|day_second|deallocate|dec|declare|default|delay_key_write|delayed|delimiter|des_key_file|describe|deterministic|dev_pop|dev_samp|deviance|directory|disable|discard|distinctrow|div|dual|dumpfile|each|elseif|enable|enclosed|end|ends|engine|engines|enum|errors|escape|escaped|even|event|events|every|execute|exists|exit|explain|extended|fast|fetch|field|fields|first|flush|for|force|foreign|found_rows|full|fulltext|function|general|global|grant|grants|group|groupby_concat|handler|hash|help|high_priority|hosts|hour_microsecond|hour_minute|hour_second|if|ignore|ignore_server_ids|import|index|index_statistics|infile|inner|innodb|inout|insensitive|insert_method|install|interval|invoker|isolation|iterate|key|keys|kill|language|last|leading|leave|left|level|limit|linear|lines|list|load|local|localtime|localtimestamp|lock|logs|low_priority|master|master_heartbeat_period|master_ssl_verify_server_cert|masters|match|max|max_rows|maxvalue|message_text|middleint|migrate|min|min_rows|minute_microsecond|minute_second|mod|mode|modifies|modify|mutex|mysql_errno|natural|next|no|no_write_to_binlog|offline|offset|one|online|open|optimize|option|optionally|out|outer|outfile|pack_keys|parser|partition|partitions|password|phase|plugin|plugins|prepare|preserve|prev|primary|privileges|procedure|processlist|profile|profiles|purge|query|quick|range|read|read_write|reads|real|rebuild|recover|references|regexp|relaylog|release|remove|rename|reorganize|repair|repeatable|replace|require|resignal|restrict|resume|return|returns|revoke|right|rlike|rollback|rollup|row|row_format|rtree|savepoint|schedule|schema|schema_name|schemas|second_microsecond|security|sensitive|separator|serializable|server|session|share|show|signal|slave|slow|smallint|snapshot|soname|spatial|specific|sql|sql_big_result|sql_buffer_result|sql_cache|sql_calc_found_rows|sql_no_cache|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|start|starting|starts|status|std|stddev|stddev_pop|stddev_samp|storage|straight_join|subclass_origin|sum|suspend|table_name|table_statistics|tables|tablespace|temporary|terminated|to|trailing|transaction|trigger|triggers|truncate|uncommitted|undo|uninstall|unique|unlock|upgrade|usage|use|use_frm|user|user_resources|user_statistics|using|utc_date|utc_time|utc_timestamp|value|variables|varying|view|views|warnings|when|while|with|work|write|xa|xor|year_month|zerofill|begin|do|then|else|loop|repeat",t="by|bool|boolean|bit|blob|decimal|double|enum|float|long|longblob|longtext|medium|mediumblob|mediumint|mediumtext|time|timestamp|tinyblob|tinyint|tinytext|text|bigint|int|int1|int2|int3|int4|int8|integer|float|float4|float8|double|char|varbinary|varchar|varcharacter|precision|date|datetime|year|unsigned|signed|numeric",n="charset|clear|connect|edit|ego|exit|go|help|nopager|notee|nowarning|pager|print|prompt|quit|rehash|source|status|system|tee",r=this.createKeywordMapper({"support.function":t,keyword:e,constant:"false|true|null|unknown|date|time|timestamp|ODBCdotTable|zerolessFloat","variable.language":n},"identifier",!0);this.$rules={start:[{token:"comment",regex:"(?:-- |#).*$"},i({start:'"',escape:/\\[0'"bnrtZ\\%_]?/}),i({start:"'",escape:/\\[0'"bnrtZ\\%_]?/}),s.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+|[xX]'[0-9a-fA-F]+'|0[bB][01]+|[bB]'[01]+'/},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.class",regex:"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.buildin",regex:"`[^`]*`"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};r.inherits(u,o),t.MysqlHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-nix.js b/static/js/lib/ace/src-min-noconflict/mode-nix.js new file mode 100644 index 0000000..7b42189 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-nix.js @@ -0,0 +1 @@ +ace.define("ace/mode/nix",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/tokenizer","ace/mode/nix_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("../tokenizer").Tokenizer,o=e("./nix_highlight_rules").NixHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){i.call(this),this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="#",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/nix"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./c_cpp_highlight_rules").c_cppHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\s*\\bhypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len)))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template",n="const|extern|register|restrict|static|volatile|inline|private:|protected:|public:|friend|explicit|virtual|export|mutable|typename",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_¡-￿][a-zA-Zd\\$_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef|if|ifdef|else|elif|ifndef)\\b",next:"directive"},{token:"keyword",regex:"(?:#\\s*endif)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/nix_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="true|false",t="with|import|if|else|then|inherit",n="let|in|rec",r=this.createKeywordMapper({"constant.language.nix":e,"keyword.control.nix":t,"keyword.declaration.nix":n},"identifier");this.$rules={start:[{token:"comment",regex:/#.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant",regex:"<[^>]+>"},{regex:"(==|!=|<=?|>=?)",token:["keyword.operator.comparison.nix"]},{regex:"((?:[+*/%-]|\\~)=)",token:["keyword.operator.assignment.arithmetic.nix"]},{regex:"=",token:"keyword.operator.assignment.nix"},{token:"string",regex:"''",next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',push:"qqstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{regex:"}",token:function(e,t,n){return n[1]&&n[1].charAt(0)=="q"?"constant.language.escape":"text"},next:"pop"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqdoc:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:"''",next:"pop"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},this.normalizeRules()};r.inherits(s,i),t.NixHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-objectivec.js b/static/js/lib/ace/src-min-noconflict/mode-objectivec.js new file mode 100644 index 0000000..fe92f49 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-objectivec.js @@ -0,0 +1 @@ +ace.define("ace/mode/objectivec",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/objectivec_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./objectivec_highlight_rules").ObjectiveCHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/objectivec"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/objectivec_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/c_cpp_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./c_cpp_highlight_rules"),o=s.c_cppHighlightRules,u=function(){var e="\\\\(?:[abefnrtv'\"?\\\\]|[0-3]\\d{1,2}|[4-7]\\d?|222|x[a-zA-Z0-9]+)",t=[{regex:"\\b_cmd\\b",token:"variable.other.selector.objc"},{regex:"\\b(?:self|super)\\b",token:"variable.language.objc"}],n=new o,r=n.getRules();this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:["storage.type.objc","punctuation.definition.storage.type.objc","entity.name.type.objc","text","entity.other.inherited-class.objc"],regex:"(@)(interface|protocol)(?!.+;)(\\s+[A-Za-z_][A-Za-z0-9_]*)(\\s*:\\s*)([A-Za-z]+)"},{token:["storage.type.objc"],regex:"(@end)"},{token:["storage.type.objc","entity.name.type.objc","entity.other.inherited-class.objc"],regex:"(@implementation)(\\s+[A-Za-z_][A-Za-z0-9_]*)(\\s*?::\\s*(?:[A-Za-z][A-Za-z0-9]*))?"},{token:"string.begin.objc",regex:'@"',next:"constant_NSString"},{token:"storage.type.objc",regex:"\\bid\\s*<",next:"protocol_list"},{token:"keyword.control.macro.objc",regex:"\\bNS_DURING|NS_HANDLER|NS_ENDHANDLER\\b"},{token:["punctuation.definition.keyword.objc","keyword.control.exception.objc"],regex:"(@)(try|catch|finally|throw)\\b"},{token:["punctuation.definition.keyword.objc","keyword.other.objc"],regex:"(@)(defs|encode)\\b"},{token:["storage.type.id.objc","text"],regex:"(\\bid\\b)(\\s|\\n)?"},{token:"storage.type.objc",regex:"\\bIBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class\\b"},{token:["punctuation.definition.storage.type.objc","storage.type.objc"],regex:"(@)(class|protocol)\\b"},{token:["punctuation.definition.storage.type.objc","punctuation"],regex:"(@selector)(\\s*\\()",next:"selectors"},{token:["punctuation.definition.storage.modifier.objc","storage.modifier.objc"],regex:"(@)(synchronized|public|private|protected|package)\\b"},{token:"constant.language.objc",regex:"\\bYES|NO|Nil|nil\\b"},{token:"support.variable.foundation",regex:"\\bNSApp\\b"},{token:["support.function.cocoa.leopard"],regex:"(?:\\b)(NS(?:Rect(?:ToCGRect|FromCGRect)|MakeCollectable|S(?:tringFromProtocol|ize(?:ToCGSize|FromCGSize))|Draw(?:NinePartImage|ThreePartImage)|P(?:oint(?:ToCGPoint|FromCGPoint)|rotocolFromString)|EventMaskFromType|Value))(?:\\b)"},{token:["support.function.cocoa"],regex:"(?:\\b)(NS(?:R(?:ound(?:DownToMultipleOfPageSize|UpToMultipleOfPageSize)|un(?:CriticalAlertPanel(?:RelativeToWindow)?|InformationalAlertPanel(?:RelativeToWindow)?|AlertPanel(?:RelativeToWindow)?)|e(?:set(?:MapTable|HashTable)|c(?:ycleZone|t(?:Clip(?:List)?|F(?:ill(?:UsingOperation|List(?:UsingOperation|With(?:Grays|Colors(?:UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(?:dPixel|l(?:MemoryAvailable|locateCollectable))|gisterServicesProvider)|angeFromString)|Get(?:SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(?:s)?|WindowServerMemory|AlertPanel)|M(?:i(?:n(?:X|Y)|d(?:X|Y))|ouseInRect|a(?:p(?:Remove|Get|Member|Insert(?:IfAbsent|KnownAbsent)?)|ke(?:R(?:ect|ange)|Size|Point)|x(?:Range|X|Y)))|B(?:itsPer(?:SampleFromDepth|PixelFromDepth)|e(?:stDepth|ep|gin(?:CriticalAlertSheet|InformationalAlertSheet|AlertSheet)))|S(?:ho(?:uldRetainWithZone|w(?:sServicesMenuItem|AnimationEffect))|tringFrom(?:R(?:ect|ange)|MapTable|S(?:ize|elector)|HashTable|Class|Point)|izeFromString|e(?:t(?:ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(?:Big(?:ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(?:ToHost|LongToHost))|Short|Host(?:ShortTo(?:Big|Little)|IntTo(?:Big|Little)|DoubleTo(?:Big|Little)|FloatTo(?:Big|Little)|Long(?:To(?:Big|Little)|LongTo(?:Big|Little)))|Int|Double|Float|L(?:ittle(?:ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(?:ToHost|LongToHost))|ong(?:Long)?)))|H(?:ighlightRect|o(?:stByteOrder|meDirectory(?:ForUser)?)|eight|ash(?:Remove|Get|Insert(?:IfAbsent|KnownAbsent)?)|FSType(?:CodeFromFileType|OfFile))|N(?:umberOfColorComponents|ext(?:MapEnumeratorPair|HashEnumeratorItem))|C(?:o(?:n(?:tainsRect|vert(?:GlyphsToPackedGlyphs|Swapped(?:DoubleToHost|FloatToHost)|Host(?:DoubleToSwapped|FloatToSwapped)))|unt(?:MapTable|HashTable|Frames|Windows(?:ForContext)?)|py(?:M(?:emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare(?:MapTables|HashTables))|lassFromString|reate(?:MapTable(?:WithZone)?|HashTable(?:WithZone)?|Zone|File(?:namePboardType|ContentsPboardType)))|TemporaryDirectory|I(?:s(?:ControllerMarker|EmptyRect|FreedObject)|n(?:setRect|crementExtraRefCount|te(?:r(?:sect(?:sRect|ionR(?:ect|ange))|faceStyleForKey)|gralRect)))|Zone(?:Realloc|Malloc|Name|Calloc|Fr(?:omPointer|ee))|O(?:penStepRootDirectory|ffsetRect)|D(?:i(?:sableScreenUpdates|videRect)|ottedFrameRect|e(?:c(?:imal(?:Round|Multiply|S(?:tring|ubtract)|Normalize|Co(?:py|mpa(?:ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(?:MemoryPages|Object))|raw(?:Gr(?:oove|ayBezel)|B(?:itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(?:hiteBezel|indowBackground)|LightBezel))|U(?:serName|n(?:ionR(?:ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(?:Bundle(?:Setup|Cleanup)|Setup(?:VirtualMachine)?|Needs(?:ToLoadClasses|VirtualMachine)|ClassesF(?:orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(?:oint(?:InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(?:n(?:d(?:MapTableEnumeration|HashTableEnumeration)|umerate(?:MapTable|HashTable)|ableScreenUpdates)|qual(?:R(?:ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(?:ileTypeForHFSTypeCode|ullUserName|r(?:ee(?:MapTable|HashTable)|ame(?:Rect(?:WithWidth(?:UsingOperation)?)?|Address)))|Wi(?:ndowList(?:ForContext)?|dth)|Lo(?:cationInRange|g(?:v|PageSize)?)|A(?:ccessibility(?:R(?:oleDescription(?:ForUIElement)?|aiseBadArgumentException)|Unignored(?:Children(?:ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(?:Main|Load)|vailableWindowDepths|ll(?:MapTable(?:Values|Keys)|HashTableObjects|ocate(?:MemoryPages|Collectable|Object)))))(?:\\b)"},{token:["support.class.cocoa.leopard"],regex:"(?:\\b)(NS(?:RuleEditor|G(?:arbageCollector|radient)|MapTable|HashTable|Co(?:ndition|llectionView(?:Item)?)|T(?:oolbarItemGroup|extInputClient|r(?:eeNode|ackingArea))|InvocationOperation|Operation(?:Queue)?|D(?:ictionaryController|ockTile)|P(?:ointer(?:Functions|Array)|athC(?:o(?:ntrol(?:Delegate)?|mponentCell)|ell(?:Delegate)?)|r(?:intPanelAccessorizing|edicateEditor(?:RowTemplate)?))|ViewController|FastEnumeration|Animat(?:ionContext|ablePropertyContainer)))(?:\\b)"},{token:["support.class.cocoa"],regex:"(?:\\b)(NS(?:R(?:u(?:nLoop|ler(?:Marker|View))|e(?:sponder|cursiveLock|lativeSpecifier)|an(?:domSpecifier|geSpecifier))|G(?:etCommand|lyph(?:Generator|Storage|Info)|raphicsContext)|XML(?:Node|D(?:ocument|TD(?:Node)?)|Parser|Element)|M(?:iddleSpecifier|ov(?:ie(?:View)?|eCommand)|utable(?:S(?:tring|et)|C(?:haracterSet|opying)|IndexSet|D(?:ictionary|ata)|URLRequest|ParagraphStyle|A(?:ttributedString|rray))|e(?:ssagePort(?:NameServer)?|nu(?:Item(?:Cell)?|View)?|t(?:hodSignature|adata(?:Item|Query(?:ResultGroup|AttributeValueTuple)?)))|a(?:ch(?:BootstrapServer|Port)|trix))|B(?:itmapImageRep|ox|u(?:ndle|tton(?:Cell)?)|ezierPath|rowser(?:Cell)?)|S(?:hadow|c(?:anner|r(?:ipt(?:SuiteRegistry|C(?:o(?:ercionHandler|mmand(?:Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(?:er|View)|een))|t(?:epper(?:Cell)?|atus(?:Bar|Item)|r(?:ing|eam))|imple(?:HorizontalTypesetter|CString)|o(?:cketPort(?:NameServer)?|und|rtDescriptor)|p(?:e(?:cifierTest|ech(?:Recognizer|Synthesizer)|ll(?:Server|Checker))|litView)|e(?:cureTextField(?:Cell)?|t(?:Command)?|archField(?:Cell)?|rializer|gmentedC(?:ontrol|ell))|lider(?:Cell)?|avePanel)|H(?:ost|TTP(?:Cookie(?:Storage)?|URLResponse)|elpManager)|N(?:ib(?:Con(?:nector|trolConnector)|OutletConnector)?|otification(?:Center|Queue)?|u(?:ll|mber(?:Formatter)?)|etService(?:Browser)?|ameSpecifier)|C(?:ha(?:ngeSpelling|racterSet)|o(?:n(?:stantString|nection|trol(?:ler)?|ditionLock)|d(?:ing|er)|unt(?:Command|edSet)|pying|lor(?:Space|P(?:ick(?:ing(?:Custom|Default)|er)|anel)|Well|List)?|m(?:p(?:oundPredicate|arisonPredicate)|boBox(?:Cell)?))|u(?:stomImageRep|rsor)|IImageRep|ell|l(?:ipView|o(?:seCommand|neCommand)|assDescription)|a(?:ched(?:ImageRep|URLResponse)|lendar(?:Date)?)|reateCommand)|T(?:hread|ypesetter|ime(?:Zone|r)|o(?:olbar(?:Item(?:Validations)?)?|kenField(?:Cell)?)|ext(?:Block|Storage|Container|Tab(?:le(?:Block)?)?|Input|View|Field(?:Cell)?|List|Attachment(?:Cell)?)?|a(?:sk|b(?:le(?:Header(?:Cell|View)|Column|View)|View(?:Item)?))|reeController)|I(?:n(?:dex(?:S(?:pecifier|et)|Path)|put(?:Manager|S(?:tream|erv(?:iceProvider|er(?:MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(?:Rep|Cell|View)?)|O(?:ut(?:putStream|lineView)|pen(?:GL(?:Context|Pixel(?:Buffer|Format)|View)|Panel)|bj(?:CTypeSerializationCallBack|ect(?:Controller)?))|D(?:i(?:st(?:antObject(?:Request)?|ributed(?:NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(?:Controller)?|e(?:serializer|cimalNumber(?:Behaviors|Handler)?|leteCommand)|at(?:e(?:Components|Picker(?:Cell)?|Formatter)?|a)|ra(?:wer|ggingInfo))|U(?:ser(?:InterfaceValidations|Defaults(?:Controller)?)|RL(?:Re(?:sponse|quest)|Handle(?:Client)?|C(?:onnection|ache|redential(?:Storage)?)|Download(?:Delegate)?|Prot(?:ocol(?:Client)?|ectionSpace)|AuthenticationChallenge(?:Sender)?)?|n(?:iqueIDSpecifier|doManager|archiver))|P(?:ipe|o(?:sitionalSpecifier|pUpButton(?:Cell)?|rt(?:Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(?:steboard|nel|ragraphStyle|geLayout)|r(?:int(?:Info|er|Operation|Panel)|o(?:cessInfo|tocolChecker|perty(?:Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(?:numerator|vent|PSImageRep|rror|x(?:ception|istsCommand|pression))|V(?:iew(?:Animation)?|al(?:idated(?:ToobarItem|UserInterfaceItem)|ue(?:Transformer)?))|Keyed(?:Unarchiver|Archiver)|Qui(?:ckDrawView|tCommand)|F(?:ile(?:Manager|Handle|Wrapper)|o(?:nt(?:Manager|Descriptor|Panel)?|rm(?:Cell|atter)))|W(?:hoseSpecifier|indow(?:Controller)?|orkspace)|L(?:o(?:c(?:k(?:ing)?|ale)|gicalTest)|evelIndicator(?:Cell)?|ayoutManager)|A(?:ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(?:ication|e(?:Script|Event(?:Manager|Descriptor)))|ffineTransform|lert|r(?:chiver|ray(?:Controller)?))))(?:\\b)"},{token:["support.type.cocoa.leopard"],regex:"(?:\\b)(NS(?:R(?:u(?:nLoop|ler(?:Marker|View))|e(?:sponder|cursiveLock|lativeSpecifier)|an(?:domSpecifier|geSpecifier))|G(?:etCommand|lyph(?:Generator|Storage|Info)|raphicsContext)|XML(?:Node|D(?:ocument|TD(?:Node)?)|Parser|Element)|M(?:iddleSpecifier|ov(?:ie(?:View)?|eCommand)|utable(?:S(?:tring|et)|C(?:haracterSet|opying)|IndexSet|D(?:ictionary|ata)|URLRequest|ParagraphStyle|A(?:ttributedString|rray))|e(?:ssagePort(?:NameServer)?|nu(?:Item(?:Cell)?|View)?|t(?:hodSignature|adata(?:Item|Query(?:ResultGroup|AttributeValueTuple)?)))|a(?:ch(?:BootstrapServer|Port)|trix))|B(?:itmapImageRep|ox|u(?:ndle|tton(?:Cell)?)|ezierPath|rowser(?:Cell)?)|S(?:hadow|c(?:anner|r(?:ipt(?:SuiteRegistry|C(?:o(?:ercionHandler|mmand(?:Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(?:er|View)|een))|t(?:epper(?:Cell)?|atus(?:Bar|Item)|r(?:ing|eam))|imple(?:HorizontalTypesetter|CString)|o(?:cketPort(?:NameServer)?|und|rtDescriptor)|p(?:e(?:cifierTest|ech(?:Recognizer|Synthesizer)|ll(?:Server|Checker))|litView)|e(?:cureTextField(?:Cell)?|t(?:Command)?|archField(?:Cell)?|rializer|gmentedC(?:ontrol|ell))|lider(?:Cell)?|avePanel)|H(?:ost|TTP(?:Cookie(?:Storage)?|URLResponse)|elpManager)|N(?:ib(?:Con(?:nector|trolConnector)|OutletConnector)?|otification(?:Center|Queue)?|u(?:ll|mber(?:Formatter)?)|etService(?:Browser)?|ameSpecifier)|C(?:ha(?:ngeSpelling|racterSet)|o(?:n(?:stantString|nection|trol(?:ler)?|ditionLock)|d(?:ing|er)|unt(?:Command|edSet)|pying|lor(?:Space|P(?:ick(?:ing(?:Custom|Default)|er)|anel)|Well|List)?|m(?:p(?:oundPredicate|arisonPredicate)|boBox(?:Cell)?))|u(?:stomImageRep|rsor)|IImageRep|ell|l(?:ipView|o(?:seCommand|neCommand)|assDescription)|a(?:ched(?:ImageRep|URLResponse)|lendar(?:Date)?)|reateCommand)|T(?:hread|ypesetter|ime(?:Zone|r)|o(?:olbar(?:Item(?:Validations)?)?|kenField(?:Cell)?)|ext(?:Block|Storage|Container|Tab(?:le(?:Block)?)?|Input|View|Field(?:Cell)?|List|Attachment(?:Cell)?)?|a(?:sk|b(?:le(?:Header(?:Cell|View)|Column|View)|View(?:Item)?))|reeController)|I(?:n(?:dex(?:S(?:pecifier|et)|Path)|put(?:Manager|S(?:tream|erv(?:iceProvider|er(?:MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(?:Rep|Cell|View)?)|O(?:ut(?:putStream|lineView)|pen(?:GL(?:Context|Pixel(?:Buffer|Format)|View)|Panel)|bj(?:CTypeSerializationCallBack|ect(?:Controller)?))|D(?:i(?:st(?:antObject(?:Request)?|ributed(?:NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(?:Controller)?|e(?:serializer|cimalNumber(?:Behaviors|Handler)?|leteCommand)|at(?:e(?:Components|Picker(?:Cell)?|Formatter)?|a)|ra(?:wer|ggingInfo))|U(?:ser(?:InterfaceValidations|Defaults(?:Controller)?)|RL(?:Re(?:sponse|quest)|Handle(?:Client)?|C(?:onnection|ache|redential(?:Storage)?)|Download(?:Delegate)?|Prot(?:ocol(?:Client)?|ectionSpace)|AuthenticationChallenge(?:Sender)?)?|n(?:iqueIDSpecifier|doManager|archiver))|P(?:ipe|o(?:sitionalSpecifier|pUpButton(?:Cell)?|rt(?:Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(?:steboard|nel|ragraphStyle|geLayout)|r(?:int(?:Info|er|Operation|Panel)|o(?:cessInfo|tocolChecker|perty(?:Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(?:numerator|vent|PSImageRep|rror|x(?:ception|istsCommand|pression))|V(?:iew(?:Animation)?|al(?:idated(?:ToobarItem|UserInterfaceItem)|ue(?:Transformer)?))|Keyed(?:Unarchiver|Archiver)|Qui(?:ckDrawView|tCommand)|F(?:ile(?:Manager|Handle|Wrapper)|o(?:nt(?:Manager|Descriptor|Panel)?|rm(?:Cell|atter)))|W(?:hoseSpecifier|indow(?:Controller)?|orkspace)|L(?:o(?:c(?:k(?:ing)?|ale)|gicalTest)|evelIndicator(?:Cell)?|ayoutManager)|A(?:ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(?:ication|e(?:Script|Event(?:Manager|Descriptor)))|ffineTransform|lert|r(?:chiver|ray(?:Controller)?))))(?:\\b)"},{token:["support.class.quartz"],regex:"(?:\\b)(C(?:I(?:Sampler|Co(?:ntext|lor)|Image(?:Accumulator)?|PlugIn(?:Registration)?|Vector|Kernel|Filter(?:Generator|Shape)?)|A(?:Renderer|MediaTiming(?:Function)?|BasicAnimation|ScrollLayer|Constraint(?:LayoutManager)?|T(?:iledLayer|extLayer|rans(?:ition|action))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(?:nimation(?:Group)?|ction))))(?:\\b)"},{token:["support.type.quartz"],regex:"(?:\\b)(C(?:G(?:Float|Point|Size|Rect)|IFormat|AConstraintAttribute))(?:\\b)"},{token:["support.type.cocoa"],regex:"(?:\\b)(NS(?:R(?:ect(?:Edge)?|ange)|G(?:lyph(?:Relation|LayoutMode)?|radientType)|M(?:odalSession|a(?:trixMode|p(?:Table|Enumerator)))|B(?:itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(?:cr(?:oll(?:er(?:Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(?:Granularity|Direction|Affinity)|wapped(?:Double|Float)|aveOperationType)|Ha(?:sh(?:Table|Enumerator)|ndler(?:2)?)|C(?:o(?:ntrol(?:Size|Tint)|mp(?:ositingOperation|arisonResult))|ell(?:State|Type|ImagePosition|Attribute))|T(?:hreadPrivate|ypesetterGlyphInfo|i(?:ckMarkPosition|tlePosition|meInterval)|o(?:ol(?:TipTag|bar(?:SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(?:TabType|Alignment)|ab(?:State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(?:ContextAuxiliary|PixelFormatAuxiliary)|D(?:ocumentChangeType|atePickerElementFlags|ra(?:werState|gOperation))|UsableScrollerParts|P(?:oint|r(?:intingPageOrder|ogressIndicator(?:Style|Th(?:ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(?:nt(?:SymbolicTraits|TraitMask|Action)|cusRingType)|W(?:indow(?:OrderingMode|Depth)|orkspace(?:IconCreationOptions|LaunchOptions)|ritingDirection)|L(?:ineBreakMode|ayout(?:Status|Direction))|A(?:nimation(?:Progress|Effect)|ppl(?:ication(?:TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle)))(?:\\b)"},{token:["support.constant.cocoa"],regex:"(?:\\b)(NS(?:NotFound|Ordered(?:Ascending|Descending|Same)))(?:\\b)"},{token:["support.constant.notification.cocoa.leopard"],regex:"(?:\\b)(NS(?:MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification)(?:\\b)"},{token:["support.constant.notification.cocoa"],regex:"(?:\\b)(NS(?:Menu(?:Did(?:RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(?:ystemColorsDidChange|plitView(?:DidResizeSubviews|WillResizeSubviews))|C(?:o(?:nt(?:extHelpModeDid(?:Deactivate|Activate)|rolT(?:intDidChange|extDid(?:BeginEditing|Change|EndEditing)))|lor(?:PanelColorDidChange|ListDidChange)|mboBox(?:Selection(?:IsChanging|DidChange)|Will(?:Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(?:oolbar(?:DidRemoveItem|WillAddItem)|ext(?:Storage(?:DidProcessEditing|WillProcessEditing)|Did(?:BeginEditing|Change|EndEditing)|View(?:DidChange(?:Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(?:Selection(?:IsChanging|DidChange)|ColumnDid(?:Resize|Move)))|ImageRepRegistryDidChange|OutlineView(?:Selection(?:IsChanging|DidChange)|ColumnDid(?:Resize|Move)|Item(?:Did(?:Collapse|Expand)|Will(?:Collapse|Expand)))|Drawer(?:Did(?:Close|Open)|Will(?:Close|Open))|PopUpButton(?:CellWillPopUp|WillPopUp)|View(?:GlobalFrameDidChange|BoundsDidChange|F(?:ocusDidChange|rameDidChange))|FontSetChanged|W(?:indow(?:Did(?:Resi(?:ze|gn(?:Main|Key))|M(?:iniaturize|ove)|Become(?:Main|Key)|ChangeScreen(?:|Profile)|Deminiaturize|Update|E(?:ndSheet|xpose))|Will(?:M(?:iniaturize|ove)|BeginSheet|Close))|orkspace(?:SessionDid(?:ResignActive|BecomeActive)|Did(?:Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(?:Sleep|Unmount|PowerOff|LaunchApplication)))|A(?:ntialiasThresholdChanged|ppl(?:ication(?:Did(?:ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(?:nhide|pdate)|FinishLaunching)|Will(?:ResignActive|BecomeActive|Hide|Terminate|U(?:nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification)(?:\\b)"},{token:["support.constant.cocoa.leopard"],regex:"(?:\\b)(NS(?:RuleEditor(?:RowType(?:Simple|Compound)|NestingMode(?:Si(?:ngle|mple)|Compound|List))|GradientDraws(?:BeforeStartingLocation|AfterEndingLocation)|M(?:inusSetExpressionType|a(?:chPortDeallocate(?:ReceiveRight|SendRight|None)|pTable(?:StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(?:oxCustom|undleExecutableArchitecture(?:X86|I386|PPC(?:64)?)|etweenPredicateOperatorType|ackgroundStyle(?:Raised|Dark|L(?:ight|owered)))|S(?:tring(?:DrawingTruncatesLastVisibleLine|EncodingConversion(?:ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(?:e(?:ech(?:SentenceBoundary|ImmediateBoundary|WordBoundary)|llingState(?:GrammarFlag|SpellingFlag))|litViewDividerStyleThi(?:n|ck))|e(?:rvice(?:RequestTimedOutError|M(?:iscellaneousError|alformedServiceDictionaryError)|InvalidPasteboardDataError|ErrorM(?:inimum|aximum)|Application(?:NotFoundError|LaunchFailedError))|gmentStyle(?:Round(?:Rect|ed)|SmallSquare|Capsule|Textured(?:Rounded|Square)|Automatic)))|H(?:UDWindowMask|ashTable(?:StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(?:oModeColorPanel|etServiceNoAutoRename)|C(?:hangeRedone|o(?:ntainsPredicateOperatorType|l(?:orRenderingIntent(?:RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(?:None|ContentArea|TrackableArea|EditableTextArea))|T(?:imeZoneNameStyle(?:S(?:hort(?:Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(?:Regular|SourceList)|racking(?:Mouse(?:Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(?:ssumeInside|ctive(?:In(?:KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(?:n(?:tersectSetExpressionType|dexedColorSpaceModel)|mageScale(?:None|Proportionally(?:Down|UpOrDown)|AxesIndependently))|Ope(?:nGLPFAAllowOfflineRenderers|rationQueue(?:DefaultMaxConcurrentOperationCount|Priority(?:High|Normal|Very(?:High|Low)|Low)))|D(?:iacriticInsensitiveSearch|ownloadsDirectory)|U(?:nionSetExpressionType|TF(?:16(?:BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)|32(?:BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)))|P(?:ointerFunctions(?:Ma(?:chVirtualMemory|llocMemory)|Str(?:ongMemory|uctPersonality)|C(?:StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(?:paque(?:Memory|Personality)|bjectP(?:ointerPersonality|ersonality)))|at(?:hStyle(?:Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(?:Scaling|Copies|Orientation|P(?:a(?:perSize|ge(?:Range|SetupAccessory))|review)))|Executable(?:RuntimeMismatchError|NotLoadableError|ErrorM(?:inimum|aximum)|L(?:inkError|oadError)|ArchitectureMismatchError)|KeyValueObservingOption(?:Initial|Prior)|F(?:i(?:ndPanelSubstringMatchType(?:StartsWith|Contains|EndsWith|FullWord)|leRead(?:TooLargeError|UnknownStringEncodingError))|orcedOrderingSearch)|Wi(?:ndow(?:BackingLocation(?:MainMemory|Default|VideoMemory)|Sharing(?:Read(?:Only|Write)|None)|CollectionBehavior(?:MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType))(?:\\b)"},{token:["support.constant.cocoa"],regex:"(?:\\b)(NS(?:R(?:GB(?:ModeColorPanel|ColorSpaceModel)|ight(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|T(?:ext(?:Movement|Alignment)|ab(?:sBezelBorder|StopType))|ArrowFunctionKey)|ound(?:RectBezelStyle|Bankers|ed(?:BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(?:CapStyle|JoinStyle))|un(?:StoppedResponse|ContinuesResponse|AbortedResponse)|e(?:s(?:izableWindowMask|et(?:CursorRectsRunLoopOrdering|FunctionKey))|ce(?:ssedBezelStyle|iver(?:sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(?:evancyLevelIndicatorStyle|ative(?:Before|After))|gular(?:SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(?:n(?:domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(?:ModeMatrix|Button)))|G(?:IFFileType|lyph(?:Below|Inscribe(?:B(?:elow|ase)|Over(?:strike|Below)|Above)|Layout(?:WithPrevious|A(?:tAPoint|gainstAPoint))|A(?:ttribute(?:BidiLevel|Soft|Inscribe|Elastic)|bove))|r(?:ooveBorder|eaterThan(?:Comparison|OrEqualTo(?:Comparison|PredicateOperatorType)|PredicateOperatorType)|a(?:y(?:ModeColorPanel|ColorSpaceModel)|dient(?:None|Con(?:cave(?:Strong|Weak)|vex(?:Strong|Weak)))|phiteControlTint)))|XML(?:N(?:o(?:tationDeclarationKind|de(?:CompactEmptyElement|IsCDATA|OptionsNone|Use(?:SingleQuotes|DoubleQuotes)|Pre(?:serve(?:NamespaceOrder|C(?:haracterReferences|DATA)|DTD|Prefixes|E(?:ntities|mptyElements)|Quotes|Whitespace|A(?:ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(?:ocument(?:X(?:MLKind|HTMLKind|Include)|HTMLKind|T(?:idy(?:XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(?:arser(?:GTRequiredError|XMLDeclNot(?:StartedError|FinishedError)|Mi(?:splaced(?:XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(?:StartedError|FinishedError))|S(?:t(?:andaloneValueError|ringNot(?:StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(?:MTOKENRequiredError|o(?:t(?:ationNot(?:StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(?:haracterRef(?:In(?:DTDError|PrologError|EpilogError)|AtEOFError)|o(?:nditionalSectionNot(?:StartedError|FinishedError)|mment(?:NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(?:ternalError|valid(?:HexCharacterRefError|C(?:haracter(?:RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(?:NameError|Error)))|OutOfMemoryError|D(?:ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(?:RI(?:RequiredError|FragmentError)|n(?:declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(?:CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(?:MissingSemiError|NoNameError|In(?:Internal(?:SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(?:ocessingInstructionNot(?:StartedError|FinishedError)|ematureDocumentEndError))|E(?:n(?:codingNotSupportedError|tity(?:Ref(?:In(?:DTDError|PrologError|EpilogError)|erence(?:MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(?:StartedError|FinishedError)|Is(?:ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(?:StartedError|FinishedError)|xt(?:ernalS(?:tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(?:iteralNot(?:StartedError|FinishedError)|T(?:RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(?:RedefinedError|HasNoValueError|Not(?:StartedError|FinishedError)|ListNot(?:StartedError|FinishedError)))|rocessingInstructionKind)|E(?:ntity(?:GeneralKind|DeclarationKind|UnparsedKind|P(?:ar(?:sedKind|ameterKind)|redefined))|lement(?:Declaration(?:MixedKind|UndefinedKind|E(?:lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(?:N(?:MToken(?:sKind|Kind)|otationKind)|CDATAKind|ID(?:Ref(?:sKind|Kind)|Kind)|DeclarationKind|En(?:tit(?:yKind|iesKind)|umerationKind)|Kind))|M(?:i(?:n(?:XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(?:nthCalendarUnit|deSwitchFunctionKey|use(?:Moved(?:Mask)?|E(?:ntered(?:Mask)?|ventSubtype|xited(?:Mask)?))|veToBezierPathElement|mentary(?:ChangeButton|Push(?:Button|InButton)|Light(?:Button)?))|enuFunctionKey|a(?:c(?:intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(?:XEdge|YEdge))|ACHOperatingSystem)|B(?:MPFileType|o(?:ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(?:Se(?:condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(?:zelBorder|velLineJoinStyle|low(?:Bottom|Top)|gin(?:sWith(?:Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(?:spaceCharacter|tabTextMovement|ingStore(?:Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(?:owser(?:NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(?:h(?:ift(?:JISStringEncoding|KeyMask)|ow(?:ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(?:s(?:ReqFunctionKey|tem(?:D(?:omainMask|efined(?:Mask)?)|FunctionKey))|mbolStringEncoding)|c(?:a(?:nnedOption|le(?:None|ToFit|Proportionally))|r(?:oll(?:er(?:NoPart|Increment(?:Page|Line|Arrow)|Decrement(?:Page|Line|Arrow)|Knob(?:Slot)?|Arrows(?:M(?:inEnd|axEnd)|None|DefaultSetting))|Wheel(?:Mask)?|LockFunctionKey)|eenChangedEventType))|t(?:opFunctionKey|r(?:ingDrawing(?:OneShot|DisableScreenFontSubstitution|Uses(?:DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(?:Status(?:Reading|NotOpen|Closed|Open(?:ing)?|Error|Writing|AtEnd)|Event(?:Has(?:BytesAvailable|SpaceAvailable)|None|OpenCompleted|E(?:ndEncountered|rrorOccurred)))))|i(?:ngle(?:DateMode|UnderlineStyle)|ze(?:DownFontAction|UpFontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(?:condCalendarUnit|lect(?:By(?:Character|Paragraph|Word)|i(?:ng(?:Next|Previous)|onAffinity(?:Downstream|Upstream))|edTab|FunctionKey)|gmentSwitchTracking(?:Momentary|Select(?:One|Any)))|quareLineCapStyle|witchButton|ave(?:ToOperation|Op(?:tions(?:Yes|No|Ask)|eration)|AsOperation)|mall(?:SquareBezelStyle|C(?:ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(?:ighlightModeMatrix|SBModeColorPanel|o(?:ur(?:Minute(?:SecondDatePickerElementFlag|DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(?:Never|OnlyFromMainDocumentDomain|Always)|e(?:lp(?:ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(?:MonthDa(?:yDatePickerElementFlag|tePickerElementFlag)|CalendarUnit)|N(?:o(?:n(?:StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(?:ification(?:SuspensionBehavior(?:Hold|Coalesce|D(?:eliverImmediately|rop))|NoCoalescing|CoalescingOn(?:Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(?:cr(?:iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(?:itle|opLevelContainersSpecifierError|abs(?:BezelBorder|NoBorder|LineBorder))|I(?:nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(?:ll(?:Glyph|CellType)|m(?:eric(?:Search|PadKeyMask)|berFormatter(?:Round(?:Half(?:Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(?:10|Default)|S(?:cientificStyle|pellOutStyle)|NoStyle|CurrencyStyle|DecimalStyle|P(?:ercentStyle|ad(?:Before(?:Suffix|Prefix)|After(?:Suffix|Prefix))))))|e(?:t(?:Services(?:BadArgumentError|NotFoundError|C(?:ollisionError|ancelledError)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(?:StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(?:t(?:iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(?:hange(?:ReadOtherContents|GrayCell(?:Mask)?|BackgroundCell(?:Mask)?|Cleared|Done|Undone|Autosaved)|MYK(?:ModeColorPanel|ColorSpaceModel)|ircular(?:BezelStyle|Slider)|o(?:n(?:stantValueExpressionType|t(?:inuousCapacityLevelIndicatorStyle|entsCellMask|ain(?:sComparison|erSpecifierError)|rol(?:Glyph|KeyMask))|densedFontMask)|lor(?:Panel(?:RGBModeMask|GrayModeMask|HSBModeMask|C(?:MYKModeMask|olorListModeMask|ustomPaletteModeMask|rayonModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(?:p(?:osite(?:XOR|Source(?:In|O(?:ut|ver)|Atop)|Highlight|C(?:opy|lear)|Destination(?:In|O(?:ut|ver)|Atop)|Plus(?:Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(?:stom(?:SelectorPredicateOperatorType|PaletteModeColorPanel)|r(?:sor(?:Update(?:Mask)?|PointingDevice)|veToBezierPathElement))|e(?:nterT(?:extAlignment|abStopType)|ll(?:State|H(?:ighlighted|as(?:Image(?:Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(?:Bordered|InsetButton)|Disabled|Editable|LightsBy(?:Gray|Background|Contents)|AllowsMixedState))|l(?:ipPagination|o(?:s(?:ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(?:ControlTint|DisplayFunctionKey|LineFunctionKey))|a(?:seInsensitive(?:Search|PredicateOption)|n(?:notCreateScriptCommandError|cel(?:Button|TextMovement))|chesDirectory|lculation(?:NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(?:itical(?:Request|AlertStyle)|ayonModeColorPanel))|T(?:hick(?:SquareBezelStyle|erSquareBezelStyle)|ypesetter(?:Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(?:ineBreakAction|atestBehavior))|i(?:ckMark(?:Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(?:olbarItemVisibilityPriority(?:Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(?:Compression(?:N(?:one|EXT)|CCITTFAX(?:3|4)|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(?:rminate(?:Now|Cancel|Later)|xt(?:Read(?:InapplicableDocumentTypeError|WriteErrorM(?:inimum|aximum))|Block(?:M(?:i(?:nimum(?:Height|Width)|ddleAlignment)|a(?:rgin|ximum(?:Height|Width)))|B(?:o(?:ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(?:ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(?:Characters|Attributes)|CellType|ured(?:RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table(?:FixedLayoutAlgorithm|AutomaticLayoutAlgorithm)|Field(?:RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(?:Character|TextMovement|le(?:tP(?:oint(?:Mask|EventSubtype)?|roximity(?:Mask|EventSubtype)?)|Column(?:NoResizing|UserResizingMask|AutoresizingMask)|View(?:ReverseSequentialColumnAutoresizingStyle|GridNone|S(?:olid(?:HorizontalGridLineMask|VerticalGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(?:n(?:sert(?:CharFunctionKey|FunctionKey|LineFunctionKey)|t(?:Type|ernalS(?:criptError|pecifierError))|dexSubelement|validIndexSpecifierError|formational(?:Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(?:2022JPStringEncoding|Latin(?:1StringEncoding|2StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(?:R(?:ight|ep(?:MatchesDevice|LoadStatus(?:ReadingHeader|Completed|InvalidData|Un(?:expectedEOF|knownType)|WillNeedAllData)))|Below|C(?:ellType|ache(?:BySize|Never|Default|Always))|Interpolation(?:High|None|Default|Low)|O(?:nly|verlaps)|Frame(?:Gr(?:oove|ayBezel)|Button|None|Photo)|L(?:oadStatus(?:ReadError|C(?:ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(?:lign(?:Right|Bottom(?:Right|Left)?|Center|Top(?:Right|Left)?|Left)|bove)))|O(?:n(?:State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|TextMovement)|SF1OperatingSystem|pe(?:n(?:GL(?:GO(?:Re(?:setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(?:R(?:obust|endererID)|M(?:inimumPolicy|ulti(?:sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(?:creenMask|te(?:ncilSize|reo)|ingleRenderer|upersample|ample(?:s|Buffers|Alpha))|NoRecovery|C(?:o(?:lor(?:Size|Float)|mpliant)|losestPolicy)|OffScreen|D(?:oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(?:cc(?:umSize|elerated)|ux(?:Buffers|DepthStencil)|l(?:phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS(?:criptError|pecifierError))|ffState|KButton|rPredicateType|bjC(?:B(?:itfield|oolType)|S(?:hortType|tr(?:ingType|uctType)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long(?:Type|longType)|ArrayType))|D(?:i(?:s(?:c(?:losureBezelStyle|reteCapacityLevelIndicatorStyle)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(?:Selection|PredicateModifier))|o(?:c(?:ModalWindowMask|ument(?:Directory|ationDirectory))|ubleType|wn(?:TextMovement|ArrowFunctionKey))|e(?:s(?:cendingPageOrder|ktopDirectory)|cimalTabStopType|v(?:ice(?:NColorSpaceModel|IndependentModifierFlagsMask)|eloper(?:Directory|ApplicationDirectory))|fault(?:ControlTint|TokenStyle)|lete(?:Char(?:acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(?:yCalendarUnit|teFormatter(?:MediumStyle|Behavior(?:10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(?:wer(?:Clos(?:ingState|edState)|Open(?:ingState|State))|gOperation(?:Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(?:ser(?:CancelledError|D(?:irectory|omainMask)|FunctionKey)|RL(?:Handle(?:NotLoaded|Load(?:Succeeded|InProgress|Failed))|CredentialPersistence(?:None|Permanent|ForSession))|n(?:scaledWindowMask|cachedRead|i(?:codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(?:o(?:CloseGroupingRunLoopOrdering|FunctionKey)|e(?:finedDateComponent|rline(?:Style(?:Single|None|Thick|Double)|Pattern(?:Solid|D(?:ot|ash(?:Dot(?:Dot)?)?)))))|known(?:ColorSpaceModel|P(?:ointingDevice|ageOrder)|KeyS(?:criptError|pecifierError))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(?:dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(?:ustifiedTextAlignment|PEG(?:2000FileType|FileType)|apaneseEUC(?:GlyphPacking|StringEncoding))|P(?:o(?:s(?:t(?:Now|erFontMask|WhenIdle|ASAP)|iti(?:on(?:Replace|Be(?:fore|ginning)|End|After)|ve(?:IntType|DoubleType|FloatType)))|pUp(?:NoArrow|ArrowAt(?:Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(?:InCell(?:Mask)?|OnPushOffButton)|e(?:n(?:TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(?:Mask)?)|P(?:S(?:caleField|tatus(?:Title|Field)|aveButton)|N(?:ote(?:Title|Field)|ame(?:Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(?:a(?:perFeedButton|ge(?:Range(?:To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(?:useFunctionKey|ragraphSeparatorCharacter|ge(?:DownFunctionKey|UpFunctionKey))|r(?:int(?:ing(?:ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(?:NotFound|OK|Error)|FunctionKey)|o(?:p(?:ertyList(?:XMLFormat|MutableContainers(?:AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(?:BarStyle|SpinningStyle|Preferred(?:SmallThickness|Thickness|LargeThickness|AquaThickness)))|e(?:ssedTab|vFunctionKey))|L(?:HeightForm|CancelButton|TitleField|ImageButton|O(?:KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(?:n(?:terCharacter|d(?:sWith(?:Comparison|PredicateOperatorType)|FunctionKey))|v(?:e(?:nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(?:Comparison|PredicateOperatorType)|ra(?:serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(?:clude(?:10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(?:i(?:ew(?:M(?:in(?:XMargin|YMargin)|ax(?:XMargin|YMargin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(?:lidationErrorM(?:inimum|aximum)|riableExpressionType))|Key(?:SpecifierEvaluationScriptError|Down(?:Mask)?|Up(?:Mask)?|PathExpressionType|Value(?:MinusSetMutation|SetSetMutation|Change(?:Re(?:placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(?:New|Old)|UnionSetMutation|ValidationError))|QTMovie(?:NormalPlayback|Looping(?:BackAndForthPlayback|Playback))|F(?:1(?:1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|7FunctionKey|i(?:nd(?:PanelAction(?:Replace(?:A(?:ndFind|ll(?:InSelection)?))?|S(?:howFindPanel|e(?:tFindString|lectAll(?:InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(?:Read(?:No(?:SuchFileError|PermissionError)|CorruptFileError|In(?:validFileNameError|applicableStringEncodingError)|Un(?:supportedSchemeError|knownError))|HandlingPanel(?:CancelButton|OKButton)|NoSuchFileError|ErrorM(?:inimum|aximum)|Write(?:NoPermissionError|In(?:validFileNameError|applicableStringEncodingError)|OutOfSpaceError|Un(?:supportedSchemeError|knownError))|LockingError)|xedPitchFontMask)|2(?:1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|o(?:nt(?:Mo(?:noSpaceTrait|dernSerifsClass)|BoldTrait|S(?:ymbolicClass|criptsClass|labSerifsClass|ansSerifClass)|C(?:o(?:ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(?:ntegerAdvancementsRenderingMode|talicTrait)|O(?:ldStyleSerifsClass|rnamentalsClass)|DefaultRenderingMode|U(?:nknownClass|IOptimizedTrait)|Panel(?:S(?:hadowEffectModeMask|t(?:andardModesMask|rikethroughEffectModeMask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All(?:ModesMask|EffectsModeMask))|ExpandedTrait|VerticalTrait|F(?:amilyClassMask|reeformSerifsClass)|Antialiased(?:RenderingMode|IntegerAdvancementsRenderingMode))|cusRing(?:Below|Type(?:None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(?:attingError(?:M(?:inimum|aximum))?|FeedCharacter))|8FunctionKey|unction(?:ExpressionType|KeyMask)|3(?:1FunctionKey|2FunctionKey|3FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey)|9FunctionKey|4FunctionKey|P(?:RevertButton|S(?:ize(?:Title|Field)|etButton)|CurrentField|Preview(?:Button|Field))|l(?:oat(?:ingPointSamplesBitmapFormat|Type)|agsChanged(?:Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(?:heelModeColorPanel|indow(?:s(?:NTOperatingSystem|CP125(?:1StringEncoding|2StringEncoding|3StringEncoding|4StringEncoding|0StringEncoding)|95(?:InterfaceStyle|OperatingSystem))|M(?:iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(?:NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(?:ctivation|ddingToRecents)|A(?:sync|nd(?:Hide(?:Others)?|Print)|llowingClassicStartup))|eek(?:day(?:CalendarUnit|OrdinalCalendarUnit)|CalendarUnit)|a(?:ntsBidiLevels|rningAlertStyle)|r(?:itingDirection(?:RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(?:i(?:stModeMatrix|ne(?:Moves(?:Right|Down|Up|Left)|B(?:order|reakBy(?:C(?:harWrapping|lipping)|Truncating(?:Middle|Head|Tail)|WordWrapping))|S(?:eparatorCharacter|weep(?:Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(?:ssThan(?:Comparison|OrEqualTo(?:Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|T(?:ext(?:Movement|Alignment)|ab(?:sBezelBorder|StopType))|ArrowFunctionKey))|a(?:yout(?:RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(?:sc(?:iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(?:y(?:Type|PredicateModifier|EventMask)|choredSearch|imation(?:Blocking|Nonblocking(?:Threaded)?|E(?:ffect(?:DisappearingItemDefault|Poof)|ase(?:In(?:Out)?|Out))|Linear)|dPredicateType)|t(?:Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(?:obe(?:GB1CharacterCollection|CNS1CharacterCollection|Japan(?:1CharacterCollection|2CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto(?:saveOperation|Pagination)|pp(?:lication(?:SupportDirectory|D(?:irectory|e(?:fined(?:Mask)?|legateReply(?:Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(?:Mask)?)|l(?:ternateKeyMask|pha(?:ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert(?:SecondButtonReturn|ThirdButtonReturn|OtherReturn|DefaultReturn|ErrorReturn|FirstButtonReturn|AlternateReturn)|l(?:ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument(?:sWrongScriptError|EvaluationScriptError)|bove(?:Bottom|Top)|WTEventType)))(?:\\b)"},{token:"support.function.C99.c",regex:s.cFunctions},{token:n.getKeywords(),regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.section.scope.begin.objc",regex:"\\[",next:"bracketed_content"},{token:"meta.function.objc",regex:"^(?:-|\\+)\\s*"}],constant_NSString:[{token:"constant.character.escape.objc",regex:e},{token:"invalid.illegal.unknown-escape.objc",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+'},{token:"punctuation.definition.string.end",regex:'"',next:"start"}],protocol_list:[{token:"punctuation.section.scope.end.objc",regex:">",next:"start"},{token:"support.other.protocol.objc",regex:"\bNS(?:GlyphStorage|M(?:utableCopying|enuItem)|C(?:hangeSpelling|o(?:ding|pying|lorPicking(?:Custom|Default)))|T(?:oolbarItemValidations|ext(?:Input|AttachmentCell))|I(?:nputServ(?:iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(?:CTypeSerializationCallBack|ect)|D(?:ecimalNumberBehaviors|raggingInfo)|U(?:serInterfaceValidations|RL(?:HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated(?:ToobarItem|UserInterfaceItem)|Locking)\b"}],selectors:[{token:"support.function.any-method.name-of-parameter.objc",regex:"\\b(?:[a-zA-Z_:][\\w]*)+"},{token:"punctuation",regex:"\\)",next:"start"}],bracketed_content:[{token:"punctuation.section.scope.end.objc",regex:"]",next:"start"},{token:["support.function.any-method.objc"],regex:"(?:predicateWithFormat:| NSPredicate predicateWithFormat:)",next:"start"},{token:"support.function.any-method.objc",regex:"\\w+(?::|(?=]))",next:"start"}],bracketed_strings:[{token:"punctuation.section.scope.end.objc",regex:"]",next:"start"},{token:"keyword.operator.logical.predicate.cocoa",regex:"\\b(?:AND|OR|NOT|IN)\\b"},{token:["invalid.illegal.unknown-method.objc","punctuation.separator.arguments.objc"],regex:"\\b(w+)(:)"},{regex:"\\b(?:ALL|ANY|SOME|NONE)\\b",token:"constant.language.predicate.cocoa"},{regex:"\\b(?:NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b",token:"constant.language.predicate.cocoa"},{regex:"\\b(?:MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b",token:"keyword.operator.comparison.predicate.cocoa"},{regex:"\\bC(?:ASEINSENSITIVE|I)\\b",token:"keyword.other.modifier.predicate.cocoa"},{regex:"\\b(?:ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b",token:"keyword.other.predicate.cocoa"},{regex:e,token:"constant.character.escape.objc"},{regex:"\\\\.",token:"invalid.illegal.unknown-escape.objc"},{token:"string",regex:'[^"\\\\]'},{token:"punctuation.definition.string.end.objc",regex:'"',next:"predicates"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],methods:[{token:"meta.function.objc",regex:"(?=\\{|#)|;",next:"start"}]};for(var u in r)this.$rules[u]?this.$rules[u].push&&this.$rules[u].push.apply(this.$rules[u],r[u]):this.$rules[u]=r[u];this.$rules.bracketed_content=this.$rules.bracketed_content.concat(this.$rules.start,t),this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,o),t.ObjectiveCHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\s*\\bhypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len)))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template",n="const|extern|register|restrict|static|volatile|inline|private:|protected:|public:|friend|explicit|virtual|export|mutable|typename",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_¡-￿][a-zA-Zd\\$_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef|if|ifdef|else|elif|ifndef)\\b",next:"directive"},{token:"keyword",regex:"(?:#\\s*endif)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-ocaml.js b/static/js/lib/ace/src-min-noconflict/mode-ocaml.js new file mode 100644 index 0000000..75119b5 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-ocaml.js @@ -0,0 +1 @@ +ace.define("ace/mode/ocaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/ocaml_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./ocaml_highlight_rules").OcamlHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=function(){this.HighlightRules=o,this.$outdent=new u};r.inherits(f,i);var l=/(?:[({[=:]|[-=]>|\b(?:else|try|with))\s*$/;(function(){this.toggleCommentLines=function(e,t,n,r){var i,s,o=!0,u=/^\s*\(\*(.*)\*\)/;for(i=n;i<=r;i++)if(!u.test(t.getLine(i))){o=!1;break}var f=new a(0,0,0,0);for(i=n;i<=r;i++)s=t.getLine(i),f.start.row=i,f.end.row=i,f.end.column=s.length,t.replace(f,o?s.match(u)[1]:"(*"+s+"*)")},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;return(!i.length||i[i.length-1].type!=="comment")&&e==="start"&&l.test(t)&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/ocaml"}).call(f.prototype),t.Mode=f}),ace.define("ace/mode/ocaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|or|private|rec|sig|struct|then|to|try|type|val|virtual|when|while|with",t="true|false",n="abs|abs_big_int|abs_float|abs_num|abstract_tag|accept|access|acos|add|add_available_units|add_big_int|add_buffer|add_channel|add_char|add_initializer|add_int_big_int|add_interfaces|add_num|add_string|add_substitute|add_substring|alarm|allocated_bytes|allow_only|allow_unsafe_modules|always|append|appname_get|appname_set|approx_num_exp|approx_num_fix|arg|argv|arith_status|array|array1_of_genarray|array2_of_genarray|array3_of_genarray|asin|asr|assoc|assq|at_exit|atan|atan2|auto_synchronize|background|basename|beginning_of_input|big_int_of_int|big_int_of_num|big_int_of_string|bind|bind_class|bind_tag|bits|bits_of_float|black|blit|blit_image|blue|bool|bool_of_string|bounded_full_split|bounded_split|bounded_split_delim|bprintf|break|broadcast|bscanf|button_down|c_layout|capitalize|cardinal|cardinal|catch|catch_break|ceil|ceiling_num|channel|char|char_of_int|chdir|check|check_suffix|chmod|choose|chop_extension|chop_suffix|chown|chown|chr|chroot|classify_float|clear|clear_available_units|clear_close_on_exec|clear_graph|clear_nonblock|clear_parser|close|close|closeTk|close_box|close_graph|close_in|close_in_noerr|close_out|close_out_noerr|close_process|close_process|close_process_full|close_process_in|close_process_out|close_subwindow|close_tag|close_tbox|closedir|closedir|closure_tag|code|combine|combine|combine|command|compact|compare|compare_big_int|compare_num|complex32|complex64|concat|conj|connect|contains|contains_from|contents|copy|cos|cosh|count|count|counters|create|create_alarm|create_image|create_matrix|create_matrix|create_matrix|create_object|create_object_and_run_initializers|create_object_opt|create_process|create_process|create_process_env|create_process_env|create_table|current|current_dir_name|current_point|current_x|current_y|curveto|custom_tag|cyan|data_size|decr|decr_num|default_available_units|delay|delete_alarm|descr_of_in_channel|descr_of_out_channel|destroy|diff|dim|dim1|dim2|dim3|dims|dirname|display_mode|div|div_big_int|div_num|double_array_tag|double_tag|draw_arc|draw_char|draw_circle|draw_ellipse|draw_image|draw_poly|draw_poly_line|draw_rect|draw_segments|draw_string|dummy_pos|dummy_table|dump_image|dup|dup2|elements|empty|end_of_input|environment|eprintf|epsilon_float|eq_big_int|eq_num|equal|err_formatter|error_message|escaped|establish_server|executable_name|execv|execve|execvp|execvpe|exists|exists2|exit|exp|failwith|fast_sort|fchmod|fchown|field|file|file_exists|fill|fill_arc|fill_circle|fill_ellipse|fill_poly|fill_rect|filter|final_tag|finalise|find|find_all|first_chars|firstkey|flatten|float|float32|float64|float_of_big_int|float_of_bits|float_of_int|float_of_num|float_of_string|floor|floor_num|flush|flush_all|flush_input|flush_str_formatter|fold|fold_left|fold_left2|fold_right|fold_right2|for_all|for_all2|force|force_newline|force_val|foreground|fork|format_of_string|formatter_of_buffer|formatter_of_out_channel|fortran_layout|forward_tag|fprintf|frexp|from|from_channel|from_file|from_file_bin|from_function|from_string|fscanf|fst|fstat|ftruncate|full_init|full_major|full_split|gcd_big_int|ge_big_int|ge_num|genarray_of_array1|genarray_of_array2|genarray_of_array3|get|get_all_formatter_output_functions|get_approx_printing|get_copy|get_ellipsis_text|get_error_when_null_denominator|get_floating_precision|get_formatter_output_functions|get_formatter_tag_functions|get_image|get_margin|get_mark_tags|get_max_boxes|get_max_indent|get_method|get_method_label|get_normalize_ratio|get_normalize_ratio_when_printing|get_print_tags|get_state|get_variable|getcwd|getegid|getegid|getenv|getenv|getenv|geteuid|geteuid|getgid|getgid|getgrgid|getgrgid|getgrnam|getgrnam|getgroups|gethostbyaddr|gethostbyname|gethostname|getitimer|getlogin|getpeername|getpid|getppid|getprotobyname|getprotobynumber|getpwnam|getpwuid|getservbyname|getservbyport|getsockname|getsockopt|getsockopt_float|getsockopt_int|getsockopt_optint|gettimeofday|getuid|global_replace|global_substitute|gmtime|green|grid|group_beginning|group_end|gt_big_int|gt_num|guard|handle_unix_error|hash|hash_param|hd|header_size|i|id|ignore|in_channel_length|in_channel_of_descr|incr|incr_num|index|index_from|inet_addr_any|inet_addr_of_string|infinity|infix_tag|init|init_class|input|input_binary_int|input_byte|input_char|input_line|input_value|int|int16_signed|int16_unsigned|int32|int64|int8_signed|int8_unsigned|int_of_big_int|int_of_char|int_of_float|int_of_num|int_of_string|integer_num|inter|interactive|inv|invalid_arg|is_block|is_empty|is_implicit|is_int|is_int_big_int|is_integer_num|is_relative|iter|iter2|iteri|join|junk|key_pressed|kill|kind|kprintf|kscanf|land|last_chars|layout|lazy_from_fun|lazy_from_val|lazy_is_val|lazy_tag|ldexp|le_big_int|le_num|length|lexeme|lexeme_char|lexeme_end|lexeme_end_p|lexeme_start|lexeme_start_p|lineto|link|list|listen|lnot|loadfile|loadfile_private|localtime|lock|lockf|log|log10|logand|lognot|logor|logxor|lor|lower_window|lowercase|lseek|lsl|lsr|lstat|lt_big_int|lt_num|lxor|magenta|magic|mainLoop|major|major_slice|make|make_formatter|make_image|make_lexer|make_matrix|make_self_init|map|map2|map_file|mapi|marshal|match_beginning|match_end|matched_group|matched_string|max|max_array_length|max_big_int|max_elt|max_float|max_int|max_num|max_string_length|mem|mem_assoc|mem_assq|memq|merge|min|min_big_int|min_elt|min_float|min_int|min_num|minor|minus_big_int|minus_num|minus_one|mkdir|mkfifo|mktime|mod|mod_big_int|mod_float|mod_num|modf|mouse_pos|moveto|mul|mult_big_int|mult_int_big_int|mult_num|nan|narrow|nat_of_num|nativeint|neg|neg_infinity|new_block|new_channel|new_method|new_variable|next|nextkey|nice|nice|no_scan_tag|norm|norm2|not|npeek|nth|nth_dim|num_digits_big_int|num_dims|num_of_big_int|num_of_int|num_of_nat|num_of_ratio|num_of_string|O|obj|object_tag|ocaml_version|of_array|of_channel|of_float|of_int|of_int32|of_list|of_nativeint|of_string|one|openTk|open_box|open_connection|open_graph|open_hbox|open_hovbox|open_hvbox|open_in|open_in_bin|open_in_gen|open_out|open_out_bin|open_out_gen|open_process|open_process_full|open_process_in|open_process_out|open_subwindow|open_tag|open_tbox|open_temp_file|open_vbox|opendbm|opendir|openfile|or|os_type|out_channel_length|out_channel_of_descr|output|output_binary_int|output_buffer|output_byte|output_char|output_string|output_value|over_max_boxes|pack|params|parent_dir_name|parse|parse_argv|partition|pause|peek|pipe|pixels|place|plot|plots|point_color|polar|poll|pop|pos_in|pos_out|pow|power_big_int_positive_big_int|power_big_int_positive_int|power_int_positive_big_int|power_int_positive_int|power_num|pp_close_box|pp_close_tag|pp_close_tbox|pp_force_newline|pp_get_all_formatter_output_functions|pp_get_ellipsis_text|pp_get_formatter_output_functions|pp_get_formatter_tag_functions|pp_get_margin|pp_get_mark_tags|pp_get_max_boxes|pp_get_max_indent|pp_get_print_tags|pp_open_box|pp_open_hbox|pp_open_hovbox|pp_open_hvbox|pp_open_tag|pp_open_tbox|pp_open_vbox|pp_over_max_boxes|pp_print_as|pp_print_bool|pp_print_break|pp_print_char|pp_print_cut|pp_print_float|pp_print_flush|pp_print_if_newline|pp_print_int|pp_print_newline|pp_print_space|pp_print_string|pp_print_tab|pp_print_tbreak|pp_set_all_formatter_output_functions|pp_set_ellipsis_text|pp_set_formatter_out_channel|pp_set_formatter_output_functions|pp_set_formatter_tag_functions|pp_set_margin|pp_set_mark_tags|pp_set_max_boxes|pp_set_max_indent|pp_set_print_tags|pp_set_tab|pp_set_tags|pred|pred_big_int|pred_num|prerr_char|prerr_endline|prerr_float|prerr_int|prerr_newline|prerr_string|print|print_as|print_bool|print_break|print_char|print_cut|print_endline|print_float|print_flush|print_if_newline|print_int|print_newline|print_space|print_stat|print_string|print_tab|print_tbreak|printf|prohibit|public_method_label|push|putenv|quo_num|quomod_big_int|quote|raise|raise_window|ratio_of_num|rcontains_from|read|read_float|read_int|read_key|read_line|readdir|readdir|readlink|really_input|receive|recv|recvfrom|red|ref|regexp|regexp_case_fold|regexp_string|regexp_string_case_fold|register|register_exception|rem|remember_mode|remove|remove_assoc|remove_assq|rename|replace|replace_first|replace_matched|repr|reset|reshape|reshape_1|reshape_2|reshape_3|rev|rev_append|rev_map|rev_map2|rewinddir|rgb|rhs_end|rhs_end_pos|rhs_start|rhs_start_pos|rindex|rindex_from|rlineto|rmdir|rmoveto|round_num|run_initializers|run_initializers_opt|scanf|search_backward|search_forward|seek_in|seek_out|select|self|self_init|send|sendto|set|set_all_formatter_output_functions|set_approx_printing|set_binary_mode_in|set_binary_mode_out|set_close_on_exec|set_close_on_exec|set_color|set_ellipsis_text|set_error_when_null_denominator|set_field|set_floating_precision|set_font|set_formatter_out_channel|set_formatter_output_functions|set_formatter_tag_functions|set_line_width|set_margin|set_mark_tags|set_max_boxes|set_max_indent|set_method|set_nonblock|set_nonblock|set_normalize_ratio|set_normalize_ratio_when_printing|set_print_tags|set_signal|set_state|set_tab|set_tag|set_tags|set_text_size|set_window_title|setgid|setgid|setitimer|setitimer|setsid|setsid|setsockopt|setsockopt|setsockopt_float|setsockopt_float|setsockopt_int|setsockopt_int|setsockopt_optint|setsockopt_optint|setuid|setuid|shift_left|shift_left|shift_left|shift_right|shift_right|shift_right|shift_right_logical|shift_right_logical|shift_right_logical|show_buckets|shutdown|shutdown|shutdown_connection|shutdown_connection|sigabrt|sigalrm|sigchld|sigcont|sigfpe|sighup|sigill|sigint|sigkill|sign_big_int|sign_num|signal|signal|sigpending|sigpending|sigpipe|sigprocmask|sigprocmask|sigprof|sigquit|sigsegv|sigstop|sigsuspend|sigsuspend|sigterm|sigtstp|sigttin|sigttou|sigusr1|sigusr2|sigvtalrm|sin|singleton|sinh|size|size|size_x|size_y|sleep|sleep|sleep|slice_left|slice_left|slice_left_1|slice_left_2|slice_right|slice_right|slice_right_1|slice_right_2|snd|socket|socket|socket|socketpair|socketpair|sort|sound|split|split_delim|sprintf|sprintf|sqrt|sqrt|sqrt_big_int|square_big_int|square_num|sscanf|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|stat|stat|stat|stat|stat|stats|stats|std_formatter|stdbuf|stderr|stderr|stderr|stdib|stdin|stdin|stdin|stdout|stdout|stdout|str_formatter|string|string_after|string_before|string_match|string_of_big_int|string_of_bool|string_of_float|string_of_format|string_of_inet_addr|string_of_inet_addr|string_of_int|string_of_num|string_partial_match|string_tag|sub|sub|sub_big_int|sub_left|sub_num|sub_right|subset|subset|substitute_first|substring|succ|succ|succ|succ|succ_big_int|succ_num|symbol_end|symbol_end_pos|symbol_start|symbol_start_pos|symlink|symlink|sync|synchronize|system|system|system|tag|take|tan|tanh|tcdrain|tcdrain|tcflow|tcflow|tcflush|tcflush|tcgetattr|tcgetattr|tcsendbreak|tcsendbreak|tcsetattr|tcsetattr|temp_file|text_size|time|time|time|timed_read|timed_write|times|times|tl|tl|tl|to_buffer|to_channel|to_float|to_hex|to_int|to_int32|to_list|to_list|to_list|to_nativeint|to_string|to_string|to_string|to_string|to_string|top|top|total_size|transfer|transp|truncate|truncate|truncate|truncate|truncate|truncate|try_lock|umask|umask|uncapitalize|uncapitalize|uncapitalize|union|union|unit_big_int|unlink|unlink|unlock|unmarshal|unsafe_blit|unsafe_fill|unsafe_get|unsafe_get|unsafe_set|unsafe_set|update|uppercase|uppercase|uppercase|uppercase|usage|utimes|utimes|wait|wait|wait|wait|wait_next_event|wait_pid|wait_read|wait_signal|wait_timed_read|wait_timed_write|wait_write|waitpid|white|widen|window_id|word_size|wrap|wrap_abort|write|yellow|yield|zero|zero_big_int|Arg|Arith_status|Array|Array1|Array2|Array3|ArrayLabels|Big_int|Bigarray|Buffer|Callback|CamlinternalOO|Char|Complex|Condition|Dbm|Digest|Dynlink|Event|Filename|Format|Gc|Genarray|Genlex|Graphics|GraphicsX11|Hashtbl|Int32|Int64|LargeFile|Lazy|Lexing|List|ListLabels|Make|Map|Marshal|MoreLabels|Mutex|Nativeint|Num|Obj|Oo|Parsing|Pervasives|Printexc|Printf|Queue|Random|Scanf|Scanning|Set|Sort|Stack|State|StdLabels|Str|Stream|String|StringLabels|Sys|Thread|ThreadUnix|Tk|Unix|UnixLabels|Weak",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"constant.language":t,"support.function":n},"identifier"),i="(?:(?:[1-9]\\d*)|(?:0))",s="(?:0[oO]?[0-7]+)",o="(?:0[xX][\\dA-Fa-f]+)",u="(?:0[bB][01]+)",a="(?:"+i+"|"+s+"|"+o+"|"+u+")",f="(?:[eE][+-]?\\d+)",l="(?:\\.\\d+)",c="(?:\\d+)",h="(?:(?:"+c+"?"+l+")|(?:"+c+"\\.))",p="(?:(?:"+h+"|"+c+")"+f+")",d="(?:"+p+"|"+h+")";this.$rules={start:[{token:"comment",regex:"\\(\\*.*?\\*\\)\\s*?$"},{token:"comment",regex:"\\(\\*.*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"'.'"},{token:"string",regex:'"',next:"qstring"},{token:"constant.numeric",regex:"(?:"+d+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:d},{token:"constant.numeric",regex:a+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|="},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\)",next:"start"},{token:"comment",regex:".+"}],qstring:[{token:"string",regex:'"',next:"start"},{token:"string",regex:".+"}]}};r.inherits(s,i),t.OcamlHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-pascal.js b/static/js/lib/ace/src-min-noconflict/mode-pascal.js new file mode 100644 index 0000000..f52a994 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-pascal.js @@ -0,0 +1 @@ +ace.define("ace/mode/pascal",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/pascal_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./pascal_highlight_rules").PascalHighlightRules,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart=["--","//"],this.blockComment=[{start:"(*",end:"*)"},{start:"{",end:"}"}],this.$id="ace/mode/pascal"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/pascal_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{caseInsensitive:!0,token:"keyword.control.pascal",regex:"\\b(?:(absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor))\\b"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.prototype.pascal","entity.name.function.prototype.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?(?=(?:\\(.*?\\))?;\\s*(?:attribute|forward|external))"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.function.pascal","entity.name.function.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?"},{token:"constant.numeric.pascal",regex:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"punctuation.definition.comment.pascal",regex:"--.*$",push_:[{token:"comment.line.double-dash.pascal.one",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"//.*$",push_:[{token:"comment.line.double-slash.pascal.two",regex:"$",next:"pop"},{defaultToken:"comment.line.double-slash.pascal.two"}]},{token:"punctuation.definition.comment.pascal",regex:"\\(\\*",push:[{token:"punctuation.definition.comment.pascal",regex:"\\*\\)",next:"pop"},{defaultToken:"comment.block.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"\\{",push:[{token:"punctuation.definition.comment.pascal",regex:"\\}",next:"pop"},{defaultToken:"comment.block.pascal.two"}]},{token:"punctuation.definition.string.begin.pascal",regex:'"',push:[{token:"constant.character.escape.pascal",regex:"\\\\."},{token:"punctuation.definition.string.end.pascal",regex:'"',next:"pop"},{defaultToken:"string.quoted.double.pascal"}]},{token:"punctuation.definition.string.begin.pascal",regex:"'",push:[{token:"constant.character.escape.apostrophe.pascal",regex:"''"},{token:"punctuation.definition.string.end.pascal",regex:"'",next:"pop"},{defaultToken:"string.quoted.single.pascal"}]},{token:"keyword.operator",regex:"[+\\-;,/*%]|:=|="}]},this.normalizeRules()};r.inherits(s,i),t.PascalHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u>=|<<=|<=>|&&=|=>|!~|\\^=|&=|\\|=|\\.=|x=|%=|\\/=|\\*=|\\-=|\\+=|=~|\\*\\*|\\-\\-|\\.\\.|\\|\\||&&|\\+\\+|\\->|!=|==|>=|<=|>>|<<|,|=|\\?\\:|\\^|\\||x|%|\\/|\\*|<|&|\\\\|~|!|>|\\.|\\-|\\+|\\-C|\\-b|\\-S|\\-u|\\-t|\\-p|\\-l|\\-d|\\-f|\\-g|\\-s|\\-z|\\-k|\\-e|\\-O|\\-T|\\-B|\\-M|\\-A|\\-X|\\-W|\\-c|\\-R|\\-o|\\-x|\\-w|\\-r|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)"},{token:"comment",regex:"#.*$"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],block_comment:[{token:"comment.doc",regex:"^=cut\\b",next:"start"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),t.PerlHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-pgsql.js b/static/js/lib/ace/src-min-noconflict/mode-pgsql.js new file mode 100644 index 0000000..dfef87f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-pgsql.js @@ -0,0 +1 @@ +ace.define("ace/mode/pgsql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/pgsql_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("../tokenizer").Tokenizer,o=e("./pgsql_highlight_rules").PgsqlHighlightRules,u=e("../range").Range,a=function(){this.HighlightRules=o};r.inherits(a,i),function(){this.lineCommentStart="--",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){return e=="start"||e=="keyword.statementEnd"?"":this.$getIndent(t)},this.$id="ace/mode/pgsql"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/pgsql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/perl_highlight_rules","ace/mode/python_highlight_rules","ace/mode/json_highlight_rules","ace/mode/javascript_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=e("./perl_highlight_rules").PerlHighlightRules,a=e("./python_highlight_rules").PythonHighlightRules,f=e("./json_highlight_rules").JsonHighlightRules,l=e("./javascript_highlight_rules").JavaScriptHighlightRules,c=function(){var e="abort|absolute|abstime|access|aclitem|action|add|admin|after|aggregate|all|also|alter|always|analyse|analyze|and|any|anyarray|anyelement|anyenum|anynonarray|anyrange|array|as|asc|assertion|assignment|asymmetric|at|attribute|authorization|backward|before|begin|between|bigint|binary|bit|bool|boolean|both|box|bpchar|by|bytea|cache|called|cascade|cascaded|case|cast|catalog|chain|char|character|characteristics|check|checkpoint|cid|cidr|circle|class|close|cluster|coalesce|collate|collation|column|comment|comments|commit|committed|concurrently|configuration|connection|constraint|constraints|content|continue|conversion|copy|cost|create|cross|cstring|csv|current|current_catalog|current_date|current_role|current_schema|current_time|current_timestamp|current_user|cursor|cycle|data|database|date|daterange|day|deallocate|dec|decimal|declare|default|defaults|deferrable|deferred|definer|delete|delimiter|delimiters|desc|dictionary|disable|discard|distinct|do|document|domain|double|drop|each|else|enable|encoding|encrypted|end|enum|escape|event|event_trigger|except|exclude|excluding|exclusive|execute|exists|explain|extension|external|extract|false|family|fdw_handler|fetch|first|float|float4|float8|following|for|force|foreign|forward|freeze|from|full|function|functions|global|grant|granted|greatest|group|gtsvector|handler|having|header|hold|hour|identity|if|ilike|immediate|immutable|implicit|in|including|increment|index|indexes|inet|inherit|inherits|initially|inline|inner|inout|input|insensitive|insert|instead|int|int2|int2vector|int4|int4range|int8|int8range|integer|internal|intersect|interval|into|invoker|is|isnull|isolation|join|json|key|label|language|language_handler|large|last|lateral|lc_collate|lc_ctype|leading|leakproof|least|left|level|like|limit|line|listen|load|local|localtime|localtimestamp|location|lock|lseg|macaddr|mapping|match|materialized|maxvalue|minute|minvalue|mode|money|month|move|name|names|national|natural|nchar|next|no|none|not|nothing|notify|notnull|nowait|null|nullif|nulls|numeric|numrange|object|of|off|offset|oid|oids|oidvector|on|only|opaque|operator|option|options|or|order|out|outer|over|overlaps|overlay|owned|owner|parser|partial|partition|passing|password|path|pg_attribute|pg_auth_members|pg_authid|pg_class|pg_database|pg_node_tree|pg_proc|pg_type|placing|plans|point|polygon|position|preceding|precision|prepare|prepared|preserve|primary|prior|privileges|procedural|procedure|program|quote|range|read|real|reassign|recheck|record|recursive|ref|refcursor|references|refresh|regclass|regconfig|regdictionary|regoper|regoperator|regproc|regprocedure|regtype|reindex|relative|release|reltime|rename|repeatable|replace|replica|reset|restart|restrict|returning|returns|revoke|right|role|rollback|row|rows|rule|savepoint|schema|scroll|search|second|security|select|sequence|sequences|serializable|server|session|session_user|set|setof|share|show|similar|simple|smallint|smgr|snapshot|some|stable|standalone|start|statement|statistics|stdin|stdout|storage|strict|strip|substring|symmetric|sysid|system|table|tables|tablespace|temp|template|temporary|text|then|tid|time|timestamp|timestamptz|timetz|tinterval|to|trailing|transaction|treat|trigger|trim|true|truncate|trusted|tsquery|tsrange|tstzrange|tsvector|txid_snapshot|type|types|unbounded|uncommitted|unencrypted|union|unique|unknown|unlisten|unlogged|until|update|user|using|uuid|vacuum|valid|validate|validator|value|values|varbit|varchar|variadic|varying|verbose|version|view|void|volatile|when|where|whitespace|window|with|without|work|wrapper|write|xid|xml|xmlattributes|xmlconcat|xmlelement|xmlexists|xmlforest|xmlparse|xmlpi|xmlroot|xmlserialize|year|yes|zone",t="RI_FKey_cascade_del|RI_FKey_cascade_upd|RI_FKey_check_ins|RI_FKey_check_upd|RI_FKey_noaction_del|RI_FKey_noaction_upd|RI_FKey_restrict_del|RI_FKey_restrict_upd|RI_FKey_setdefault_del|RI_FKey_setdefault_upd|RI_FKey_setnull_del|RI_FKey_setnull_upd|abbrev|abs|abstime|abstimeeq|abstimege|abstimegt|abstimein|abstimele|abstimelt|abstimene|abstimeout|abstimerecv|abstimesend|aclcontains|acldefault|aclexplode|aclinsert|aclitemeq|aclitemin|aclitemout|aclremove|acos|age|any_in|any_out|anyarray_in|anyarray_out|anyarray_recv|anyarray_send|anyelement_in|anyelement_out|anyenum_in|anyenum_out|anynonarray_in|anynonarray_out|anyrange_in|anyrange_out|anytextcat|area|areajoinsel|areasel|array_agg|array_agg_finalfn|array_agg_transfn|array_append|array_cat|array_dims|array_eq|array_fill|array_ge|array_gt|array_in|array_larger|array_le|array_length|array_lower|array_lt|array_ndims|array_ne|array_out|array_prepend|array_recv|array_remove|array_replace|array_send|array_smaller|array_to_json|array_to_string|array_typanalyze|array_upper|arraycontained|arraycontains|arraycontjoinsel|arraycontsel|arrayoverlap|ascii|ascii_to_mic|ascii_to_utf8|asin|atan|atan2|avg|big5_to_euc_tw|big5_to_mic|big5_to_utf8|bit_and|bit_in|bit_length|bit_or|bit_out|bit_recv|bit_send|bitand|bitcat|bitcmp|biteq|bitge|bitgt|bitle|bitlt|bitne|bitnot|bitor|bitshiftleft|bitshiftright|bittypmodin|bittypmodout|bitxor|bool|bool_and|bool_or|booland_statefunc|booleq|boolge|boolgt|boolin|boolle|boollt|boolne|boolor_statefunc|boolout|boolrecv|boolsend|box|box_above|box_above_eq|box_add|box_below|box_below_eq|box_center|box_contain|box_contain_pt|box_contained|box_distance|box_div|box_eq|box_ge|box_gt|box_in|box_intersect|box_le|box_left|box_lt|box_mul|box_out|box_overabove|box_overbelow|box_overlap|box_overleft|box_overright|box_recv|box_right|box_same|box_send|box_sub|bpchar_larger|bpchar_pattern_ge|bpchar_pattern_gt|bpchar_pattern_le|bpchar_pattern_lt|bpchar_smaller|bpcharcmp|bpchareq|bpcharge|bpchargt|bpchariclike|bpcharicnlike|bpcharicregexeq|bpcharicregexne|bpcharin|bpcharle|bpcharlike|bpcharlt|bpcharne|bpcharnlike|bpcharout|bpcharrecv|bpcharregexeq|bpcharregexne|bpcharsend|bpchartypmodin|bpchartypmodout|broadcast|btabstimecmp|btarraycmp|btbeginscan|btboolcmp|btbpchar_pattern_cmp|btbuild|btbuildempty|btbulkdelete|btcanreturn|btcharcmp|btcostestimate|btendscan|btfloat48cmp|btfloat4cmp|btfloat4sortsupport|btfloat84cmp|btfloat8cmp|btfloat8sortsupport|btgetbitmap|btgettuple|btinsert|btint24cmp|btint28cmp|btint2cmp|btint2sortsupport|btint42cmp|btint48cmp|btint4cmp|btint4sortsupport|btint82cmp|btint84cmp|btint8cmp|btint8sortsupport|btmarkpos|btnamecmp|btnamesortsupport|btoidcmp|btoidsortsupport|btoidvectorcmp|btoptions|btrecordcmp|btreltimecmp|btrescan|btrestrpos|btrim|bttext_pattern_cmp|bttextcmp|bttidcmp|bttintervalcmp|btvacuumcleanup|bytea_string_agg_finalfn|bytea_string_agg_transfn|byteacat|byteacmp|byteaeq|byteage|byteagt|byteain|byteale|bytealike|bytealt|byteane|byteanlike|byteaout|bytearecv|byteasend|cash_cmp|cash_div_cash|cash_div_flt4|cash_div_flt8|cash_div_int2|cash_div_int4|cash_eq|cash_ge|cash_gt|cash_in|cash_le|cash_lt|cash_mi|cash_mul_flt4|cash_mul_flt8|cash_mul_int2|cash_mul_int4|cash_ne|cash_out|cash_pl|cash_recv|cash_send|cash_words|cashlarger|cashsmaller|cbrt|ceil|ceiling|center|char|char_length|character_length|chareq|charge|chargt|charin|charle|charlt|charne|charout|charrecv|charsend|chr|cideq|cidin|cidout|cidr|cidr_in|cidr_out|cidr_recv|cidr_send|cidrecv|cidsend|circle|circle_above|circle_add_pt|circle_below|circle_center|circle_contain|circle_contain_pt|circle_contained|circle_distance|circle_div_pt|circle_eq|circle_ge|circle_gt|circle_in|circle_le|circle_left|circle_lt|circle_mul_pt|circle_ne|circle_out|circle_overabove|circle_overbelow|circle_overlap|circle_overleft|circle_overright|circle_recv|circle_right|circle_same|circle_send|circle_sub_pt|clock_timestamp|close_lb|close_ls|close_lseg|close_pb|close_pl|close_ps|close_sb|close_sl|col_description|concat|concat_ws|contjoinsel|contsel|convert|convert_from|convert_to|corr|cos|cot|count|covar_pop|covar_samp|cstring_in|cstring_out|cstring_recv|cstring_send|cume_dist|current_database|current_query|current_schema|current_schemas|current_setting|current_user|currtid|currtid2|currval|cursor_to_xml|cursor_to_xmlschema|database_to_xml|database_to_xml_and_xmlschema|database_to_xmlschema|date|date_cmp|date_cmp_timestamp|date_cmp_timestamptz|date_eq|date_eq_timestamp|date_eq_timestamptz|date_ge|date_ge_timestamp|date_ge_timestamptz|date_gt|date_gt_timestamp|date_gt_timestamptz|date_in|date_larger|date_le|date_le_timestamp|date_le_timestamptz|date_lt|date_lt_timestamp|date_lt_timestamptz|date_mi|date_mi_interval|date_mii|date_ne|date_ne_timestamp|date_ne_timestamptz|date_out|date_part|date_pl_interval|date_pli|date_recv|date_send|date_smaller|date_sortsupport|date_trunc|daterange|daterange_canonical|daterange_subdiff|datetime_pl|datetimetz_pl|dcbrt|decode|degrees|dense_rank|dexp|diagonal|diameter|dispell_init|dispell_lexize|dist_cpoly|dist_lb|dist_pb|dist_pc|dist_pl|dist_ppath|dist_ps|dist_sb|dist_sl|div|dlog1|dlog10|domain_in|domain_recv|dpow|dround|dsimple_init|dsimple_lexize|dsnowball_init|dsnowball_lexize|dsqrt|dsynonym_init|dsynonym_lexize|dtrunc|elem_contained_by_range|encode|enum_cmp|enum_eq|enum_first|enum_ge|enum_gt|enum_in|enum_larger|enum_last|enum_le|enum_lt|enum_ne|enum_out|enum_range|enum_recv|enum_send|enum_smaller|eqjoinsel|eqsel|euc_cn_to_mic|euc_cn_to_utf8|euc_jis_2004_to_shift_jis_2004|euc_jis_2004_to_utf8|euc_jp_to_mic|euc_jp_to_sjis|euc_jp_to_utf8|euc_kr_to_mic|euc_kr_to_utf8|euc_tw_to_big5|euc_tw_to_mic|euc_tw_to_utf8|event_trigger_in|event_trigger_out|every|exp|factorial|family|fdw_handler_in|fdw_handler_out|first_value|float4|float48div|float48eq|float48ge|float48gt|float48le|float48lt|float48mi|float48mul|float48ne|float48pl|float4_accum|float4abs|float4div|float4eq|float4ge|float4gt|float4in|float4larger|float4le|float4lt|float4mi|float4mul|float4ne|float4out|float4pl|float4recv|float4send|float4smaller|float4um|float4up|float8|float84div|float84eq|float84ge|float84gt|float84le|float84lt|float84mi|float84mul|float84ne|float84pl|float8_accum|float8_avg|float8_corr|float8_covar_pop|float8_covar_samp|float8_regr_accum|float8_regr_avgx|float8_regr_avgy|float8_regr_intercept|float8_regr_r2|float8_regr_slope|float8_regr_sxx|float8_regr_sxy|float8_regr_syy|float8_stddev_pop|float8_stddev_samp|float8_var_pop|float8_var_samp|float8abs|float8div|float8eq|float8ge|float8gt|float8in|float8larger|float8le|float8lt|float8mi|float8mul|float8ne|float8out|float8pl|float8recv|float8send|float8smaller|float8um|float8up|floor|flt4_mul_cash|flt8_mul_cash|fmgr_c_validator|fmgr_internal_validator|fmgr_sql_validator|format|format_type|gb18030_to_utf8|gbk_to_utf8|generate_series|generate_subscripts|get_bit|get_byte|get_current_ts_config|getdatabaseencoding|getpgusername|gin_cmp_prefix|gin_cmp_tslexeme|gin_extract_tsquery|gin_extract_tsvector|gin_tsquery_consistent|ginarrayconsistent|ginarrayextract|ginbeginscan|ginbuild|ginbuildempty|ginbulkdelete|gincostestimate|ginendscan|gingetbitmap|gininsert|ginmarkpos|ginoptions|ginqueryarrayextract|ginrescan|ginrestrpos|ginvacuumcleanup|gist_box_compress|gist_box_consistent|gist_box_decompress|gist_box_penalty|gist_box_picksplit|gist_box_same|gist_box_union|gist_circle_compress|gist_circle_consistent|gist_point_compress|gist_point_consistent|gist_point_distance|gist_poly_compress|gist_poly_consistent|gistbeginscan|gistbuild|gistbuildempty|gistbulkdelete|gistcostestimate|gistendscan|gistgetbitmap|gistgettuple|gistinsert|gistmarkpos|gistoptions|gistrescan|gistrestrpos|gistvacuumcleanup|gtsquery_compress|gtsquery_consistent|gtsquery_decompress|gtsquery_penalty|gtsquery_picksplit|gtsquery_same|gtsquery_union|gtsvector_compress|gtsvector_consistent|gtsvector_decompress|gtsvector_penalty|gtsvector_picksplit|gtsvector_same|gtsvector_union|gtsvectorin|gtsvectorout|has_any_column_privilege|has_column_privilege|has_database_privilege|has_foreign_data_wrapper_privilege|has_function_privilege|has_language_privilege|has_schema_privilege|has_sequence_privilege|has_server_privilege|has_table_privilege|has_tablespace_privilege|has_type_privilege|hash_aclitem|hash_array|hash_numeric|hash_range|hashbeginscan|hashbpchar|hashbuild|hashbuildempty|hashbulkdelete|hashchar|hashcostestimate|hashendscan|hashenum|hashfloat4|hashfloat8|hashgetbitmap|hashgettuple|hashinet|hashinsert|hashint2|hashint2vector|hashint4|hashint8|hashmacaddr|hashmarkpos|hashname|hashoid|hashoidvector|hashoptions|hashrescan|hashrestrpos|hashtext|hashvacuumcleanup|hashvarlena|height|host|hostmask|iclikejoinsel|iclikesel|icnlikejoinsel|icnlikesel|icregexeqjoinsel|icregexeqsel|icregexnejoinsel|icregexnesel|inet_client_addr|inet_client_port|inet_in|inet_out|inet_recv|inet_send|inet_server_addr|inet_server_port|inetand|inetmi|inetmi_int8|inetnot|inetor|inetpl|initcap|int2|int24div|int24eq|int24ge|int24gt|int24le|int24lt|int24mi|int24mul|int24ne|int24pl|int28div|int28eq|int28ge|int28gt|int28le|int28lt|int28mi|int28mul|int28ne|int28pl|int2_accum|int2_avg_accum|int2_mul_cash|int2_sum|int2abs|int2and|int2div|int2eq|int2ge|int2gt|int2in|int2larger|int2le|int2lt|int2mi|int2mod|int2mul|int2ne|int2not|int2or|int2out|int2pl|int2recv|int2send|int2shl|int2shr|int2smaller|int2um|int2up|int2vectoreq|int2vectorin|int2vectorout|int2vectorrecv|int2vectorsend|int2xor|int4|int42div|int42eq|int42ge|int42gt|int42le|int42lt|int42mi|int42mul|int42ne|int42pl|int48div|int48eq|int48ge|int48gt|int48le|int48lt|int48mi|int48mul|int48ne|int48pl|int4_accum|int4_avg_accum|int4_mul_cash|int4_sum|int4abs|int4and|int4div|int4eq|int4ge|int4gt|int4in|int4inc|int4larger|int4le|int4lt|int4mi|int4mod|int4mul|int4ne|int4not|int4or|int4out|int4pl|int4range|int4range_canonical|int4range_subdiff|int4recv|int4send|int4shl|int4shr|int4smaller|int4um|int4up|int4xor|int8|int82div|int82eq|int82ge|int82gt|int82le|int82lt|int82mi|int82mul|int82ne|int82pl|int84div|int84eq|int84ge|int84gt|int84le|int84lt|int84mi|int84mul|int84ne|int84pl|int8_accum|int8_avg|int8_avg_accum|int8_sum|int8abs|int8and|int8div|int8eq|int8ge|int8gt|int8in|int8inc|int8inc_any|int8inc_float8_float8|int8larger|int8le|int8lt|int8mi|int8mod|int8mul|int8ne|int8not|int8or|int8out|int8pl|int8pl_inet|int8range|int8range_canonical|int8range_subdiff|int8recv|int8send|int8shl|int8shr|int8smaller|int8um|int8up|int8xor|integer_pl_date|inter_lb|inter_sb|inter_sl|internal_in|internal_out|interval_accum|interval_avg|interval_cmp|interval_div|interval_eq|interval_ge|interval_gt|interval_hash|interval_in|interval_larger|interval_le|interval_lt|interval_mi|interval_mul|interval_ne|interval_out|interval_pl|interval_pl_date|interval_pl_time|interval_pl_timestamp|interval_pl_timestamptz|interval_pl_timetz|interval_recv|interval_send|interval_smaller|interval_transform|interval_um|intervaltypmodin|intervaltypmodout|intinterval|isclosed|isempty|isfinite|ishorizontal|iso8859_1_to_utf8|iso8859_to_utf8|iso_to_koi8r|iso_to_mic|iso_to_win1251|iso_to_win866|isopen|isparallel|isperp|isvertical|johab_to_utf8|json_agg|json_agg_finalfn|json_agg_transfn|json_array_element|json_array_element_text|json_array_elements|json_array_length|json_each|json_each_text|json_extract_path|json_extract_path_op|json_extract_path_text|json_extract_path_text_op|json_in|json_object_field|json_object_field_text|json_object_keys|json_out|json_populate_record|json_populate_recordset|json_recv|json_send|justify_days|justify_hours|justify_interval|koi8r_to_iso|koi8r_to_mic|koi8r_to_utf8|koi8r_to_win1251|koi8r_to_win866|koi8u_to_utf8|lag|language_handler_in|language_handler_out|last_value|lastval|latin1_to_mic|latin2_to_mic|latin2_to_win1250|latin3_to_mic|latin4_to_mic|lead|left|length|like|like_escape|likejoinsel|likesel|line|line_distance|line_eq|line_horizontal|line_in|line_interpt|line_intersect|line_out|line_parallel|line_perp|line_recv|line_send|line_vertical|ln|lo_close|lo_creat|lo_create|lo_export|lo_import|lo_lseek|lo_lseek64|lo_open|lo_tell|lo_tell64|lo_truncate|lo_truncate64|lo_unlink|log|loread|lower|lower_inc|lower_inf|lowrite|lpad|lseg|lseg_center|lseg_distance|lseg_eq|lseg_ge|lseg_gt|lseg_horizontal|lseg_in|lseg_interpt|lseg_intersect|lseg_le|lseg_length|lseg_lt|lseg_ne|lseg_out|lseg_parallel|lseg_perp|lseg_recv|lseg_send|lseg_vertical|ltrim|macaddr_and|macaddr_cmp|macaddr_eq|macaddr_ge|macaddr_gt|macaddr_in|macaddr_le|macaddr_lt|macaddr_ne|macaddr_not|macaddr_or|macaddr_out|macaddr_recv|macaddr_send|makeaclitem|masklen|max|md5|mic_to_ascii|mic_to_big5|mic_to_euc_cn|mic_to_euc_jp|mic_to_euc_kr|mic_to_euc_tw|mic_to_iso|mic_to_koi8r|mic_to_latin1|mic_to_latin2|mic_to_latin3|mic_to_latin4|mic_to_sjis|mic_to_win1250|mic_to_win1251|mic_to_win866|min|mktinterval|mod|money|mul_d_interval|name|nameeq|namege|namegt|nameiclike|nameicnlike|nameicregexeq|nameicregexne|namein|namele|namelike|namelt|namene|namenlike|nameout|namerecv|nameregexeq|nameregexne|namesend|neqjoinsel|neqsel|netmask|network|network_cmp|network_eq|network_ge|network_gt|network_le|network_lt|network_ne|network_sub|network_subeq|network_sup|network_supeq|nextval|nlikejoinsel|nlikesel|notlike|now|npoints|nth_value|ntile|numeric_abs|numeric_accum|numeric_add|numeric_avg|numeric_avg_accum|numeric_cmp|numeric_div|numeric_div_trunc|numeric_eq|numeric_exp|numeric_fac|numeric_ge|numeric_gt|numeric_in|numeric_inc|numeric_larger|numeric_le|numeric_ln|numeric_log|numeric_lt|numeric_mod|numeric_mul|numeric_ne|numeric_out|numeric_power|numeric_recv|numeric_send|numeric_smaller|numeric_sqrt|numeric_stddev_pop|numeric_stddev_samp|numeric_sub|numeric_transform|numeric_uminus|numeric_uplus|numeric_var_pop|numeric_var_samp|numerictypmodin|numerictypmodout|numnode|numrange|numrange_subdiff|obj_description|octet_length|oid|oideq|oidge|oidgt|oidin|oidlarger|oidle|oidlt|oidne|oidout|oidrecv|oidsend|oidsmaller|oidvectoreq|oidvectorge|oidvectorgt|oidvectorin|oidvectorle|oidvectorlt|oidvectorne|oidvectorout|oidvectorrecv|oidvectorsend|oidvectortypes|on_pb|on_pl|on_ppath|on_ps|on_sb|on_sl|opaque_in|opaque_out|overlaps|overlay|path|path_add|path_add_pt|path_center|path_contain_pt|path_distance|path_div_pt|path_in|path_inter|path_length|path_mul_pt|path_n_eq|path_n_ge|path_n_gt|path_n_le|path_n_lt|path_npoints|path_out|path_recv|path_send|path_sub_pt|pclose|percent_rank|pg_advisory_lock|pg_advisory_lock_shared|pg_advisory_unlock|pg_advisory_unlock_all|pg_advisory_unlock_shared|pg_advisory_xact_lock|pg_advisory_xact_lock_shared|pg_available_extension_versions|pg_available_extensions|pg_backend_pid|pg_backup_start_time|pg_cancel_backend|pg_char_to_encoding|pg_client_encoding|pg_collation_for|pg_collation_is_visible|pg_column_is_updatable|pg_column_size|pg_conf_load_time|pg_conversion_is_visible|pg_create_restore_point|pg_current_xlog_insert_location|pg_current_xlog_location|pg_cursor|pg_database_size|pg_describe_object|pg_encoding_max_length|pg_encoding_to_char|pg_event_trigger_dropped_objects|pg_export_snapshot|pg_extension_config_dump|pg_extension_update_paths|pg_function_is_visible|pg_get_constraintdef|pg_get_expr|pg_get_function_arguments|pg_get_function_identity_arguments|pg_get_function_result|pg_get_functiondef|pg_get_indexdef|pg_get_keywords|pg_get_multixact_members|pg_get_ruledef|pg_get_serial_sequence|pg_get_triggerdef|pg_get_userbyid|pg_get_viewdef|pg_has_role|pg_identify_object|pg_indexes_size|pg_is_in_backup|pg_is_in_recovery|pg_is_other_temp_schema|pg_is_xlog_replay_paused|pg_last_xact_replay_timestamp|pg_last_xlog_receive_location|pg_last_xlog_replay_location|pg_listening_channels|pg_lock_status|pg_ls_dir|pg_my_temp_schema|pg_node_tree_in|pg_node_tree_out|pg_node_tree_recv|pg_node_tree_send|pg_notify|pg_opclass_is_visible|pg_operator_is_visible|pg_opfamily_is_visible|pg_options_to_table|pg_postmaster_start_time|pg_prepared_statement|pg_prepared_xact|pg_read_binary_file|pg_read_file|pg_relation_filenode|pg_relation_filepath|pg_relation_is_updatable|pg_relation_size|pg_reload_conf|pg_rotate_logfile|pg_sequence_parameters|pg_show_all_settings|pg_size_pretty|pg_sleep|pg_start_backup|pg_stat_clear_snapshot|pg_stat_file|pg_stat_get_activity|pg_stat_get_analyze_count|pg_stat_get_autoanalyze_count|pg_stat_get_autovacuum_count|pg_stat_get_backend_activity|pg_stat_get_backend_activity_start|pg_stat_get_backend_client_addr|pg_stat_get_backend_client_port|pg_stat_get_backend_dbid|pg_stat_get_backend_idset|pg_stat_get_backend_pid|pg_stat_get_backend_start|pg_stat_get_backend_userid|pg_stat_get_backend_waiting|pg_stat_get_backend_xact_start|pg_stat_get_bgwriter_buf_written_checkpoints|pg_stat_get_bgwriter_buf_written_clean|pg_stat_get_bgwriter_maxwritten_clean|pg_stat_get_bgwriter_requested_checkpoints|pg_stat_get_bgwriter_stat_reset_time|pg_stat_get_bgwriter_timed_checkpoints|pg_stat_get_blocks_fetched|pg_stat_get_blocks_hit|pg_stat_get_buf_alloc|pg_stat_get_buf_fsync_backend|pg_stat_get_buf_written_backend|pg_stat_get_checkpoint_sync_time|pg_stat_get_checkpoint_write_time|pg_stat_get_db_blk_read_time|pg_stat_get_db_blk_write_time|pg_stat_get_db_blocks_fetched|pg_stat_get_db_blocks_hit|pg_stat_get_db_conflict_all|pg_stat_get_db_conflict_bufferpin|pg_stat_get_db_conflict_lock|pg_stat_get_db_conflict_snapshot|pg_stat_get_db_conflict_startup_deadlock|pg_stat_get_db_conflict_tablespace|pg_stat_get_db_deadlocks|pg_stat_get_db_numbackends|pg_stat_get_db_stat_reset_time|pg_stat_get_db_temp_bytes|pg_stat_get_db_temp_files|pg_stat_get_db_tuples_deleted|pg_stat_get_db_tuples_fetched|pg_stat_get_db_tuples_inserted|pg_stat_get_db_tuples_returned|pg_stat_get_db_tuples_updated|pg_stat_get_db_xact_commit|pg_stat_get_db_xact_rollback|pg_stat_get_dead_tuples|pg_stat_get_function_calls|pg_stat_get_function_self_time|pg_stat_get_function_total_time|pg_stat_get_last_analyze_time|pg_stat_get_last_autoanalyze_time|pg_stat_get_last_autovacuum_time|pg_stat_get_last_vacuum_time|pg_stat_get_live_tuples|pg_stat_get_numscans|pg_stat_get_tuples_deleted|pg_stat_get_tuples_fetched|pg_stat_get_tuples_hot_updated|pg_stat_get_tuples_inserted|pg_stat_get_tuples_returned|pg_stat_get_tuples_updated|pg_stat_get_vacuum_count|pg_stat_get_wal_senders|pg_stat_get_xact_blocks_fetched|pg_stat_get_xact_blocks_hit|pg_stat_get_xact_function_calls|pg_stat_get_xact_function_self_time|pg_stat_get_xact_function_total_time|pg_stat_get_xact_numscans|pg_stat_get_xact_tuples_deleted|pg_stat_get_xact_tuples_fetched|pg_stat_get_xact_tuples_hot_updated|pg_stat_get_xact_tuples_inserted|pg_stat_get_xact_tuples_returned|pg_stat_get_xact_tuples_updated|pg_stat_reset|pg_stat_reset_shared|pg_stat_reset_single_function_counters|pg_stat_reset_single_table_counters|pg_stop_backup|pg_switch_xlog|pg_table_is_visible|pg_table_size|pg_tablespace_databases|pg_tablespace_location|pg_tablespace_size|pg_terminate_backend|pg_timezone_abbrevs|pg_timezone_names|pg_total_relation_size|pg_trigger_depth|pg_try_advisory_lock|pg_try_advisory_lock_shared|pg_try_advisory_xact_lock|pg_try_advisory_xact_lock_shared|pg_ts_config_is_visible|pg_ts_dict_is_visible|pg_ts_parser_is_visible|pg_ts_template_is_visible|pg_type_is_visible|pg_typeof|pg_xlog_location_diff|pg_xlog_replay_pause|pg_xlog_replay_resume|pg_xlogfile_name|pg_xlogfile_name_offset|pi|plainto_tsquery|plpgsql_call_handler|plpgsql_inline_handler|plpgsql_validator|point|point_above|point_add|point_below|point_distance|point_div|point_eq|point_horiz|point_in|point_left|point_mul|point_ne|point_out|point_recv|point_right|point_send|point_sub|point_vert|poly_above|poly_below|poly_center|poly_contain|poly_contain_pt|poly_contained|poly_distance|poly_in|poly_left|poly_npoints|poly_out|poly_overabove|poly_overbelow|poly_overlap|poly_overleft|poly_overright|poly_recv|poly_right|poly_same|poly_send|polygon|popen|position|positionjoinsel|positionsel|postgresql_fdw_validator|pow|power|prsd_end|prsd_headline|prsd_lextype|prsd_nexttoken|prsd_start|pt_contained_circle|pt_contained_poly|query_to_xml|query_to_xml_and_xmlschema|query_to_xmlschema|querytree|quote_ident|quote_literal|quote_nullable|radians|radius|random|range_adjacent|range_after|range_before|range_cmp|range_contained_by|range_contains|range_contains_elem|range_eq|range_ge|range_gist_compress|range_gist_consistent|range_gist_decompress|range_gist_penalty|range_gist_picksplit|range_gist_same|range_gist_union|range_gt|range_in|range_intersect|range_le|range_lt|range_minus|range_ne|range_out|range_overlaps|range_overleft|range_overright|range_recv|range_send|range_typanalyze|range_union|rangesel|rank|record_eq|record_ge|record_gt|record_in|record_le|record_lt|record_ne|record_out|record_recv|record_send|regclass|regclassin|regclassout|regclassrecv|regclasssend|regconfigin|regconfigout|regconfigrecv|regconfigsend|regdictionaryin|regdictionaryout|regdictionaryrecv|regdictionarysend|regexeqjoinsel|regexeqsel|regexnejoinsel|regexnesel|regexp_matches|regexp_replace|regexp_split_to_array|regexp_split_to_table|regoperatorin|regoperatorout|regoperatorrecv|regoperatorsend|regoperin|regoperout|regoperrecv|regopersend|regprocedurein|regprocedureout|regprocedurerecv|regproceduresend|regprocin|regprocout|regprocrecv|regprocsend|regr_avgx|regr_avgy|regr_count|regr_intercept|regr_r2|regr_slope|regr_sxx|regr_sxy|regr_syy|regtypein|regtypeout|regtyperecv|regtypesend|reltime|reltimeeq|reltimege|reltimegt|reltimein|reltimele|reltimelt|reltimene|reltimeout|reltimerecv|reltimesend|repeat|replace|reverse|right|round|row_number|row_to_json|rpad|rtrim|scalargtjoinsel|scalargtsel|scalarltjoinsel|scalarltsel|schema_to_xml|schema_to_xml_and_xmlschema|schema_to_xmlschema|session_user|set_bit|set_byte|set_config|set_masklen|setseed|setval|setweight|shell_in|shell_out|shift_jis_2004_to_euc_jis_2004|shift_jis_2004_to_utf8|shobj_description|sign|similar_escape|sin|sjis_to_euc_jp|sjis_to_mic|sjis_to_utf8|slope|smgreq|smgrin|smgrne|smgrout|spg_kd_choose|spg_kd_config|spg_kd_inner_consistent|spg_kd_picksplit|spg_quad_choose|spg_quad_config|spg_quad_inner_consistent|spg_quad_leaf_consistent|spg_quad_picksplit|spg_range_quad_choose|spg_range_quad_config|spg_range_quad_inner_consistent|spg_range_quad_leaf_consistent|spg_range_quad_picksplit|spg_text_choose|spg_text_config|spg_text_inner_consistent|spg_text_leaf_consistent|spg_text_picksplit|spgbeginscan|spgbuild|spgbuildempty|spgbulkdelete|spgcanreturn|spgcostestimate|spgendscan|spggetbitmap|spggettuple|spginsert|spgmarkpos|spgoptions|spgrescan|spgrestrpos|spgvacuumcleanup|split_part|sqrt|statement_timestamp|stddev|stddev_pop|stddev_samp|string_agg|string_agg_finalfn|string_agg_transfn|string_to_array|strip|strpos|substr|substring|sum|suppress_redundant_updates_trigger|table_to_xml|table_to_xml_and_xmlschema|table_to_xmlschema|tan|text|text_ge|text_gt|text_larger|text_le|text_lt|text_pattern_ge|text_pattern_gt|text_pattern_le|text_pattern_lt|text_smaller|textanycat|textcat|texteq|texticlike|texticnlike|texticregexeq|texticregexne|textin|textlen|textlike|textne|textnlike|textout|textrecv|textregexeq|textregexne|textsend|thesaurus_init|thesaurus_lexize|tideq|tidge|tidgt|tidin|tidlarger|tidle|tidlt|tidne|tidout|tidrecv|tidsend|tidsmaller|time_cmp|time_eq|time_ge|time_gt|time_hash|time_in|time_larger|time_le|time_lt|time_mi_interval|time_mi_time|time_ne|time_out|time_pl_interval|time_recv|time_send|time_smaller|time_transform|timedate_pl|timemi|timenow|timeofday|timepl|timestamp_cmp|timestamp_cmp_date|timestamp_cmp_timestamptz|timestamp_eq|timestamp_eq_date|timestamp_eq_timestamptz|timestamp_ge|timestamp_ge_date|timestamp_ge_timestamptz|timestamp_gt|timestamp_gt_date|timestamp_gt_timestamptz|timestamp_hash|timestamp_in|timestamp_larger|timestamp_le|timestamp_le_date|timestamp_le_timestamptz|timestamp_lt|timestamp_lt_date|timestamp_lt_timestamptz|timestamp_mi|timestamp_mi_interval|timestamp_ne|timestamp_ne_date|timestamp_ne_timestamptz|timestamp_out|timestamp_pl_interval|timestamp_recv|timestamp_send|timestamp_smaller|timestamp_sortsupport|timestamp_transform|timestamptypmodin|timestamptypmodout|timestamptz_cmp|timestamptz_cmp_date|timestamptz_cmp_timestamp|timestamptz_eq|timestamptz_eq_date|timestamptz_eq_timestamp|timestamptz_ge|timestamptz_ge_date|timestamptz_ge_timestamp|timestamptz_gt|timestamptz_gt_date|timestamptz_gt_timestamp|timestamptz_in|timestamptz_larger|timestamptz_le|timestamptz_le_date|timestamptz_le_timestamp|timestamptz_lt|timestamptz_lt_date|timestamptz_lt_timestamp|timestamptz_mi|timestamptz_mi_interval|timestamptz_ne|timestamptz_ne_date|timestamptz_ne_timestamp|timestamptz_out|timestamptz_pl_interval|timestamptz_recv|timestamptz_send|timestamptz_smaller|timestamptztypmodin|timestamptztypmodout|timetypmodin|timetypmodout|timetz_cmp|timetz_eq|timetz_ge|timetz_gt|timetz_hash|timetz_in|timetz_larger|timetz_le|timetz_lt|timetz_mi_interval|timetz_ne|timetz_out|timetz_pl_interval|timetz_recv|timetz_send|timetz_smaller|timetzdate_pl|timetztypmodin|timetztypmodout|timezone|tinterval|tintervalct|tintervalend|tintervaleq|tintervalge|tintervalgt|tintervalin|tintervalle|tintervalleneq|tintervallenge|tintervallengt|tintervallenle|tintervallenlt|tintervallenne|tintervallt|tintervalne|tintervalout|tintervalov|tintervalrecv|tintervalrel|tintervalsame|tintervalsend|tintervalstart|to_ascii|to_char|to_date|to_hex|to_json|to_number|to_timestamp|to_tsquery|to_tsvector|transaction_timestamp|translate|trigger_in|trigger_out|trunc|ts_debug|ts_headline|ts_lexize|ts_match_qv|ts_match_tq|ts_match_tt|ts_match_vq|ts_parse|ts_rank|ts_rank_cd|ts_rewrite|ts_stat|ts_token_type|ts_typanalyze|tsmatchjoinsel|tsmatchsel|tsq_mcontained|tsq_mcontains|tsquery_and|tsquery_cmp|tsquery_eq|tsquery_ge|tsquery_gt|tsquery_le|tsquery_lt|tsquery_ne|tsquery_not|tsquery_or|tsqueryin|tsqueryout|tsqueryrecv|tsquerysend|tsrange|tsrange_subdiff|tstzrange|tstzrange_subdiff|tsvector_cmp|tsvector_concat|tsvector_eq|tsvector_ge|tsvector_gt|tsvector_le|tsvector_lt|tsvector_ne|tsvector_update_trigger|tsvector_update_trigger_column|tsvectorin|tsvectorout|tsvectorrecv|tsvectorsend|txid_current|txid_current_snapshot|txid_snapshot_in|txid_snapshot_out|txid_snapshot_recv|txid_snapshot_send|txid_snapshot_xip|txid_snapshot_xmax|txid_snapshot_xmin|txid_visible_in_snapshot|uhc_to_utf8|unique_key_recheck|unknownin|unknownout|unknownrecv|unknownsend|unnest|upper|upper_inc|upper_inf|utf8_to_ascii|utf8_to_big5|utf8_to_euc_cn|utf8_to_euc_jis_2004|utf8_to_euc_jp|utf8_to_euc_kr|utf8_to_euc_tw|utf8_to_gb18030|utf8_to_gbk|utf8_to_iso8859|utf8_to_iso8859_1|utf8_to_johab|utf8_to_koi8r|utf8_to_koi8u|utf8_to_shift_jis_2004|utf8_to_sjis|utf8_to_uhc|utf8_to_win|uuid_cmp|uuid_eq|uuid_ge|uuid_gt|uuid_hash|uuid_in|uuid_le|uuid_lt|uuid_ne|uuid_out|uuid_recv|uuid_send|var_pop|var_samp|varbit_in|varbit_out|varbit_recv|varbit_send|varbit_transform|varbitcmp|varbiteq|varbitge|varbitgt|varbitle|varbitlt|varbitne|varbittypmodin|varbittypmodout|varchar_transform|varcharin|varcharout|varcharrecv|varcharsend|varchartypmodin|varchartypmodout|variance|version|void_in|void_out|void_recv|void_send|width|width_bucket|win1250_to_latin2|win1250_to_mic|win1251_to_iso|win1251_to_koi8r|win1251_to_mic|win1251_to_win866|win866_to_iso|win866_to_koi8r|win866_to_mic|win866_to_win1251|win_to_utf8|xideq|xideqint4|xidin|xidout|xidrecv|xidsend|xml|xml_in|xml_is_well_formed|xml_is_well_formed_content|xml_is_well_formed_document|xml_out|xml_recv|xml_send|xmlagg|xmlcomment|xmlconcat2|xmlexists|xmlvalidate|xpath|xpath_exists",n=this.createKeywordMapper({"support.function":t,keyword:e},"identifier",!0),r=[{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"variable.language",regex:'".*?"'},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:n,regex:"[a-zA-Z_][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|!!|!~|!~\\*|!~~|!~~\\*|#|##|#<|#<=|#<>|#=|#>|#>=|%|\\&|\\&\\&|\\&<|\\&<\\||\\&>|\\*|\\+|\\-|/|<|<#>|<\\->|<<|<<=|<<\\||<=|<>|<\\?>|<@|<\\^|=|>|>=|>>|>>=|>\\^|\\?#|\\?\\-|\\?\\-\\||\\?\\||\\?\\|\\||@|@\\-@|@>|@@|@@@|\\^|\\||\\|\\&>|\\|/|\\|>>|\\|\\||\\|\\|/|~|~\\*|~<=~|~<~|~=|~>=~|~>~|~~|~~\\*"},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}];this.$rules={start:[{token:"comment",regex:"--.*$"},s.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"keyword.statementBegin",regex:"^[a-zA-Z]+",next:"statement"},{token:"support.buildin",regex:"^\\\\[\\S]+.*$"}],statement:[{token:"comment",regex:"--.*$"},{token:"comment",regex:"\\/\\*",next:"commentStatement"},{token:"statementEnd",regex:";",next:"start"},{token:"string",regex:"\\$perl\\$",next:"perl-start"},{token:"string",regex:"\\$python\\$",next:"python-start"},{token:"string",regex:"\\$json\\$",next:"json-start"},{token:"string",regex:"\\$(js|javascript)\\$",next:"javascript-start"},{token:"string",regex:"\\$[\\w_0-9]*\\$$",next:"dollarSql"},{token:"string",regex:"\\$[\\w_0-9]*\\$",next:"dollarStatementString"}].concat(r),dollarSql:[{token:"comment",regex:"--.*$"},{token:"comment",regex:"\\/\\*",next:"commentDollarSql"},{token:"string",regex:"^\\$[\\w_0-9]*\\$",next:"statement"},{token:"string",regex:"\\$[\\w_0-9]*\\$",next:"dollarSqlString"}].concat(r),comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],commentStatement:[{token:"comment",regex:".*?\\*\\/",next:"statement"},{token:"comment",regex:".+"}],commentDollarSql:[{token:"comment",regex:".*?\\*\\/",next:"dollarSql"},{token:"comment",regex:".+"}],dollarStatementString:[{token:"string",regex:".*?\\$[\\w_0-9]*\\$",next:"statement"},{token:"string",regex:".+"}],dollarSqlString:[{token:"string",regex:".*?\\$[\\w_0-9]*\\$",next:"dollarSql"},{token:"string",regex:".+"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.embedRules(u,"perl-",[{token:"string",regex:"\\$perl\\$",next:"statement"}]),this.embedRules(a,"python-",[{token:"string",regex:"\\$python\\$",next:"statement"}]),this.embedRules(f,"json-",[{token:"string",regex:"\\$json\\$",next:"statement"}]),this.embedRules(l,"javascript-",[{token:"string",regex:"\\$(js|javascript)\\$",next:"statement"}])};r.inherits(c,o),t.PgsqlHighlightRules=c}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/perl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="base|constant|continue|else|elsif|for|foreach|format|goto|if|last|local|my|next|no|package|parent|redo|require|scalar|sub|unless|until|while|use|vars",t="ARGV|ENV|INC|SIG",n="getprotobynumber|getprotobyname|getservbyname|gethostbyaddr|gethostbyname|getservbyport|getnetbyaddr|getnetbyname|getsockname|getpeername|setpriority|getprotoent|setprotoent|getpriority|endprotoent|getservent|setservent|endservent|sethostent|socketpair|getsockopt|gethostent|endhostent|setsockopt|setnetent|quotemeta|localtime|prototype|getnetent|endnetent|rewinddir|wantarray|getpwuid|closedir|getlogin|readlink|endgrent|getgrgid|getgrnam|shmwrite|shutdown|readline|endpwent|setgrent|readpipe|formline|truncate|dbmclose|syswrite|setpwent|getpwnam|getgrent|getpwent|ucfirst|sysread|setpgrp|shmread|sysseek|sysopen|telldir|defined|opendir|connect|lcfirst|getppid|binmode|syscall|sprintf|getpgrp|readdir|seekdir|waitpid|reverse|unshift|symlink|dbmopen|semget|msgrcv|rename|listen|chroot|msgsnd|shmctl|accept|unpack|exists|fileno|shmget|system|unlink|printf|gmtime|msgctl|semctl|values|rindex|substr|splice|length|msgget|select|socket|return|caller|delete|alarm|ioctl|index|undef|lstat|times|srand|chown|fcntl|close|write|umask|rmdir|study|sleep|chomp|untie|print|utime|mkdir|atan2|split|crypt|flock|chmod|BEGIN|bless|chdir|semop|shift|reset|link|stat|chop|grep|fork|dump|join|open|tell|pipe|exit|glob|warn|each|bind|sort|pack|eval|push|keys|getc|kill|seek|sqrt|send|wait|rand|tied|read|time|exec|recv|eof|chr|int|ord|exp|pos|pop|sin|log|abs|oct|hex|tie|cos|vec|END|ref|map|die|uc|lc|do",r=this.createKeywordMapper({keyword:e,"constant.language":t,"support.function":n},"identifier");this.$rules={start:[{token:"comment.doc",regex:"^=(?:begin|item)\\b",next:"block_comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0x[0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"%#|\\$#|\\.\\.\\.|\\|\\|=|>>=|<<=|<=>|&&=|=>|!~|\\^=|&=|\\|=|\\.=|x=|%=|\\/=|\\*=|\\-=|\\+=|=~|\\*\\*|\\-\\-|\\.\\.|\\|\\||&&|\\+\\+|\\->|!=|==|>=|<=|>>|<<|,|=|\\?\\:|\\^|\\||x|%|\\/|\\*|<|&|\\\\|~|!|>|\\.|\\-|\\+|\\-C|\\-b|\\-S|\\-u|\\-t|\\-p|\\-l|\\-d|\\-f|\\-g|\\-s|\\-z|\\-k|\\-e|\\-O|\\-T|\\-B|\\-M|\\-A|\\-X|\\-W|\\-c|\\-R|\\-o|\\-x|\\-w|\\-r|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)"},{token:"comment",regex:"#.*$"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],block_comment:[{token:"comment.doc",regex:"^=cut\\b",next:"start"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),t.PerlHighlightRules=s}),ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|set|apply|delattr|help|next|setattr|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")",m="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qqstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-php.js b/static/js/lib/ace/src-min-noconflict/mode-php.js new file mode 100644 index 0000000..bf4d0ee --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-php.js @@ -0,0 +1 @@ +ace.define("ace/mode/php",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/php_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/unicode"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./php_highlight_rules").PhpHighlightRules,u=e("./php_highlight_rules").PhpLangHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,f=e("../range").Range,l=e("../worker/worker_client").WorkerClient,c=e("./behaviour/cstyle").CstyleBehaviour,h=e("./folding/cstyle").FoldMode,p=e("../unicode"),d=function(e){this.inlinePhp=e&&e.inline;var t=this.inlinePhp?u:o;this.HighlightRules=t,this.$outdent=new a,this.$behaviour=new c,this.foldingRules=new h};r.inherits(d,i),function(){this.tokenRe=new RegExp("^["+p.packages.L+p.packages.Mn+p.packages.Mc+p.packages.Nd+p.packages.Pc+"_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+p.packages.L+p.packages.Mn+p.packages.Mc+p.packages.Nd+p.packages.Pc+"_]|s])+","g"),this.lineCommentStart=["//","#"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="php-start"){var u=t.match(/^.*[\{\(\[\:]\s*$/);u&&(r+=n)}else if(e=="php-doc-start"){if(o!="php-doc-start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new l(["ace"],"ace/mode/php_worker","PhpWorker");return t.attachToDocument(e.getDocument()),this.inlinePhp&&t.call("setOptions",[{inline:!0}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("ok",function(){e.clearAnnotations()}),t},this.$id="ace/mode/php"}.call(d.prototype),t.Mode=d}),ace.define("ace/mode/php_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=e("./html_highlight_rules").HtmlHighlightRules,a=function(){var e=s,t=i.arrayToMap("abs|acos|acosh|addcslashes|addslashes|aggregate|aggregate_info|aggregate_methods|aggregate_methods_by_list|aggregate_methods_by_regexp|aggregate_properties|aggregate_properties_by_list|aggregate_properties_by_regexp|aggregation_info|amqpconnection|amqpexchange|amqpqueue|apache_child_terminate|apache_get_modules|apache_get_version|apache_getenv|apache_lookup_uri|apache_note|apache_request_headers|apache_reset_timeout|apache_response_headers|apache_setenv|apc_add|apc_bin_dump|apc_bin_dumpfile|apc_bin_load|apc_bin_loadfile|apc_cache_info|apc_cas|apc_clear_cache|apc_compile_file|apc_dec|apc_define_constants|apc_delete|apc_delete_file|apc_exists|apc_fetch|apc_inc|apc_load_constants|apc_sma_info|apc_store|apciterator|apd_breakpoint|apd_callstack|apd_clunk|apd_continue|apd_croak|apd_dump_function_table|apd_dump_persistent_resources|apd_dump_regular_resources|apd_echo|apd_get_active_symbols|apd_set_pprof_trace|apd_set_session|apd_set_session_trace|apd_set_session_trace_socket|appenditerator|array|array_change_key_case|array_chunk|array_combine|array_count_values|array_diff|array_diff_assoc|array_diff_key|array_diff_uassoc|array_diff_ukey|array_fill|array_fill_keys|array_filter|array_flip|array_intersect|array_intersect_assoc|array_intersect_key|array_intersect_uassoc|array_intersect_ukey|array_key_exists|array_keys|array_map|array_merge|array_merge_recursive|array_multisort|array_pad|array_pop|array_product|array_push|array_rand|array_reduce|array_replace|array_replace_recursive|array_reverse|array_search|array_shift|array_slice|array_splice|array_sum|array_udiff|array_udiff_assoc|array_udiff_uassoc|array_uintersect|array_uintersect_assoc|array_uintersect_uassoc|array_unique|array_unshift|array_values|array_walk|array_walk_recursive|arrayaccess|arrayiterator|arrayobject|arsort|asin|asinh|asort|assert|assert_options|atan|atan2|atanh|audioproperties|badfunctioncallexception|badmethodcallexception|base64_decode|base64_encode|base_convert|basename|bbcode_add_element|bbcode_add_smiley|bbcode_create|bbcode_destroy|bbcode_parse|bbcode_set_arg_parser|bbcode_set_flags|bcadd|bccomp|bcdiv|bcmod|bcmul|bcompiler_load|bcompiler_load_exe|bcompiler_parse_class|bcompiler_read|bcompiler_write_class|bcompiler_write_constant|bcompiler_write_exe_footer|bcompiler_write_file|bcompiler_write_footer|bcompiler_write_function|bcompiler_write_functions_from_file|bcompiler_write_header|bcompiler_write_included_filename|bcpow|bcpowmod|bcscale|bcsqrt|bcsub|bin2hex|bind_textdomain_codeset|bindec|bindtextdomain|bson_decode|bson_encode|bumpValue|bzclose|bzcompress|bzdecompress|bzerrno|bzerror|bzerrstr|bzflush|bzopen|bzread|bzwrite|cachingiterator|cairo|cairo_create|cairo_font_face_get_type|cairo_font_face_status|cairo_font_options_create|cairo_font_options_equal|cairo_font_options_get_antialias|cairo_font_options_get_hint_metrics|cairo_font_options_get_hint_style|cairo_font_options_get_subpixel_order|cairo_font_options_hash|cairo_font_options_merge|cairo_font_options_set_antialias|cairo_font_options_set_hint_metrics|cairo_font_options_set_hint_style|cairo_font_options_set_subpixel_order|cairo_font_options_status|cairo_format_stride_for_width|cairo_image_surface_create|cairo_image_surface_create_for_data|cairo_image_surface_create_from_png|cairo_image_surface_get_data|cairo_image_surface_get_format|cairo_image_surface_get_height|cairo_image_surface_get_stride|cairo_image_surface_get_width|cairo_matrix_create_scale|cairo_matrix_create_translate|cairo_matrix_invert|cairo_matrix_multiply|cairo_matrix_rotate|cairo_matrix_transform_distance|cairo_matrix_transform_point|cairo_matrix_translate|cairo_pattern_add_color_stop_rgb|cairo_pattern_add_color_stop_rgba|cairo_pattern_create_for_surface|cairo_pattern_create_linear|cairo_pattern_create_radial|cairo_pattern_create_rgb|cairo_pattern_create_rgba|cairo_pattern_get_color_stop_count|cairo_pattern_get_color_stop_rgba|cairo_pattern_get_extend|cairo_pattern_get_filter|cairo_pattern_get_linear_points|cairo_pattern_get_matrix|cairo_pattern_get_radial_circles|cairo_pattern_get_rgba|cairo_pattern_get_surface|cairo_pattern_get_type|cairo_pattern_set_extend|cairo_pattern_set_filter|cairo_pattern_set_matrix|cairo_pattern_status|cairo_pdf_surface_create|cairo_pdf_surface_set_size|cairo_ps_get_levels|cairo_ps_level_to_string|cairo_ps_surface_create|cairo_ps_surface_dsc_begin_page_setup|cairo_ps_surface_dsc_begin_setup|cairo_ps_surface_dsc_comment|cairo_ps_surface_get_eps|cairo_ps_surface_restrict_to_level|cairo_ps_surface_set_eps|cairo_ps_surface_set_size|cairo_scaled_font_create|cairo_scaled_font_extents|cairo_scaled_font_get_ctm|cairo_scaled_font_get_font_face|cairo_scaled_font_get_font_matrix|cairo_scaled_font_get_font_options|cairo_scaled_font_get_scale_matrix|cairo_scaled_font_get_type|cairo_scaled_font_glyph_extents|cairo_scaled_font_status|cairo_scaled_font_text_extents|cairo_surface_copy_page|cairo_surface_create_similar|cairo_surface_finish|cairo_surface_flush|cairo_surface_get_content|cairo_surface_get_device_offset|cairo_surface_get_font_options|cairo_surface_get_type|cairo_surface_mark_dirty|cairo_surface_mark_dirty_rectangle|cairo_surface_set_device_offset|cairo_surface_set_fallback_resolution|cairo_surface_show_page|cairo_surface_status|cairo_surface_write_to_png|cairo_svg_surface_create|cairo_svg_surface_restrict_to_version|cairo_svg_version_to_string|cairoantialias|cairocontent|cairocontext|cairoexception|cairoextend|cairofillrule|cairofilter|cairofontface|cairofontoptions|cairofontslant|cairofonttype|cairofontweight|cairoformat|cairogradientpattern|cairohintmetrics|cairohintstyle|cairoimagesurface|cairolineargradient|cairolinecap|cairolinejoin|cairomatrix|cairooperator|cairopath|cairopattern|cairopatterntype|cairopdfsurface|cairopslevel|cairopssurface|cairoradialgradient|cairoscaledfont|cairosolidpattern|cairostatus|cairosubpixelorder|cairosurface|cairosurfacepattern|cairosurfacetype|cairosvgsurface|cairosvgversion|cairotoyfontface|cal_days_in_month|cal_from_jd|cal_info|cal_to_jd|calcul_hmac|calculhmac|call_user_func|call_user_func_array|call_user_method|call_user_method_array|callbackfilteriterator|ceil|chdb|chdb_create|chdir|checkdate|checkdnsrr|chgrp|chmod|chop|chown|chr|chroot|chunk_split|class_alias|class_exists|class_implements|class_parents|classkit_import|classkit_method_add|classkit_method_copy|classkit_method_redefine|classkit_method_remove|classkit_method_rename|clearstatcache|clone|closedir|closelog|collator|com|com_addref|com_create_guid|com_event_sink|com_get|com_get_active_object|com_invoke|com_isenum|com_load|com_load_typelib|com_message_pump|com_print_typeinfo|com_propget|com_propput|com_propset|com_release|com_set|compact|connection_aborted|connection_status|connection_timeout|constant|construct|construct|construct|convert_cyr_string|convert_uudecode|convert_uuencode|copy|cos|cosh|count|count_chars|countable|counter_bump|counter_bump_value|counter_create|counter_get|counter_get_meta|counter_get_named|counter_get_value|counter_reset|counter_reset_value|crack_check|crack_closedict|crack_getlastmessage|crack_opendict|crc32|create_function|crypt|ctype_alnum|ctype_alpha|ctype_cntrl|ctype_digit|ctype_graph|ctype_lower|ctype_print|ctype_punct|ctype_space|ctype_upper|ctype_xdigit|cubrid_affected_rows|cubrid_bind|cubrid_client_encoding|cubrid_close|cubrid_close_prepare|cubrid_close_request|cubrid_col_get|cubrid_col_size|cubrid_column_names|cubrid_column_types|cubrid_commit|cubrid_connect|cubrid_connect_with_url|cubrid_current_oid|cubrid_data_seek|cubrid_db_name|cubrid_disconnect|cubrid_drop|cubrid_errno|cubrid_error|cubrid_error_code|cubrid_error_code_facility|cubrid_error_msg|cubrid_execute|cubrid_fetch|cubrid_fetch_array|cubrid_fetch_assoc|cubrid_fetch_field|cubrid_fetch_lengths|cubrid_fetch_object|cubrid_fetch_row|cubrid_field_flags|cubrid_field_len|cubrid_field_name|cubrid_field_seek|cubrid_field_table|cubrid_field_type|cubrid_free_result|cubrid_get|cubrid_get_autocommit|cubrid_get_charset|cubrid_get_class_name|cubrid_get_client_info|cubrid_get_db_parameter|cubrid_get_server_info|cubrid_insert_id|cubrid_is_instance|cubrid_list_dbs|cubrid_load_from_glo|cubrid_lob_close|cubrid_lob_export|cubrid_lob_get|cubrid_lob_send|cubrid_lob_size|cubrid_lock_read|cubrid_lock_write|cubrid_move_cursor|cubrid_new_glo|cubrid_next_result|cubrid_num_cols|cubrid_num_fields|cubrid_num_rows|cubrid_ping|cubrid_prepare|cubrid_put|cubrid_query|cubrid_real_escape_string|cubrid_result|cubrid_rollback|cubrid_save_to_glo|cubrid_schema|cubrid_send_glo|cubrid_seq_drop|cubrid_seq_insert|cubrid_seq_put|cubrid_set_add|cubrid_set_autocommit|cubrid_set_db_parameter|cubrid_set_drop|cubrid_unbuffered_query|cubrid_version|curl_close|curl_copy_handle|curl_errno|curl_error|curl_exec|curl_getinfo|curl_init|curl_multi_add_handle|curl_multi_close|curl_multi_exec|curl_multi_getcontent|curl_multi_info_read|curl_multi_init|curl_multi_remove_handle|curl_multi_select|curl_setopt|curl_setopt_array|curl_version|current|cyrus_authenticate|cyrus_bind|cyrus_close|cyrus_connect|cyrus_query|cyrus_unbind|date|date_add|date_create|date_create_from_format|date_date_set|date_default_timezone_get|date_default_timezone_set|date_diff|date_format|date_get_last_errors|date_interval_create_from_date_string|date_interval_format|date_isodate_set|date_modify|date_offset_get|date_parse|date_parse_from_format|date_sub|date_sun_info|date_sunrise|date_sunset|date_time_set|date_timestamp_get|date_timestamp_set|date_timezone_get|date_timezone_set|dateinterval|dateperiod|datetime|datetimezone|db2_autocommit|db2_bind_param|db2_client_info|db2_close|db2_column_privileges|db2_columns|db2_commit|db2_conn_error|db2_conn_errormsg|db2_connect|db2_cursor_type|db2_escape_string|db2_exec|db2_execute|db2_fetch_array|db2_fetch_assoc|db2_fetch_both|db2_fetch_object|db2_fetch_row|db2_field_display_size|db2_field_name|db2_field_num|db2_field_precision|db2_field_scale|db2_field_type|db2_field_width|db2_foreign_keys|db2_free_result|db2_free_stmt|db2_get_option|db2_last_insert_id|db2_lob_read|db2_next_result|db2_num_fields|db2_num_rows|db2_pclose|db2_pconnect|db2_prepare|db2_primary_keys|db2_procedure_columns|db2_procedures|db2_result|db2_rollback|db2_server_info|db2_set_option|db2_special_columns|db2_statistics|db2_stmt_error|db2_stmt_errormsg|db2_table_privileges|db2_tables|dba_close|dba_delete|dba_exists|dba_fetch|dba_firstkey|dba_handlers|dba_insert|dba_key_split|dba_list|dba_nextkey|dba_open|dba_optimize|dba_popen|dba_replace|dba_sync|dbase_add_record|dbase_close|dbase_create|dbase_delete_record|dbase_get_header_info|dbase_get_record|dbase_get_record_with_names|dbase_numfields|dbase_numrecords|dbase_open|dbase_pack|dbase_replace_record|dbplus_add|dbplus_aql|dbplus_chdir|dbplus_close|dbplus_curr|dbplus_errcode|dbplus_errno|dbplus_find|dbplus_first|dbplus_flush|dbplus_freealllocks|dbplus_freelock|dbplus_freerlocks|dbplus_getlock|dbplus_getunique|dbplus_info|dbplus_last|dbplus_lockrel|dbplus_next|dbplus_open|dbplus_prev|dbplus_rchperm|dbplus_rcreate|dbplus_rcrtexact|dbplus_rcrtlike|dbplus_resolve|dbplus_restorepos|dbplus_rkeys|dbplus_ropen|dbplus_rquery|dbplus_rrename|dbplus_rsecindex|dbplus_runlink|dbplus_rzap|dbplus_savepos|dbplus_setindex|dbplus_setindexbynumber|dbplus_sql|dbplus_tcl|dbplus_tremove|dbplus_undo|dbplus_undoprepare|dbplus_unlockrel|dbplus_unselect|dbplus_update|dbplus_xlockrel|dbplus_xunlockrel|dbx_close|dbx_compare|dbx_connect|dbx_error|dbx_escape_string|dbx_fetch_row|dbx_query|dbx_sort|dcgettext|dcngettext|deaggregate|debug_backtrace|debug_print_backtrace|debug_zval_dump|decbin|dechex|decoct|define|define_syslog_variables|defined|deg2rad|delete|dgettext|die|dio_close|dio_fcntl|dio_open|dio_read|dio_seek|dio_stat|dio_tcsetattr|dio_truncate|dio_write|dir|directoryiterator|dirname|disk_free_space|disk_total_space|diskfreespace|dl|dngettext|dns_check_record|dns_get_mx|dns_get_record|dom_import_simplexml|domainexception|domattr|domattribute_name|domattribute_set_value|domattribute_specified|domattribute_value|domcharacterdata|domcomment|domdocument|domdocument_add_root|domdocument_create_attribute|domdocument_create_cdata_section|domdocument_create_comment|domdocument_create_element|domdocument_create_element_ns|domdocument_create_entity_reference|domdocument_create_processing_instruction|domdocument_create_text_node|domdocument_doctype|domdocument_document_element|domdocument_dump_file|domdocument_dump_mem|domdocument_get_element_by_id|domdocument_get_elements_by_tagname|domdocument_html_dump_mem|domdocument_xinclude|domdocumentfragment|domdocumenttype|domdocumenttype_entities|domdocumenttype_internal_subset|domdocumenttype_name|domdocumenttype_notations|domdocumenttype_public_id|domdocumenttype_system_id|domelement|domelement_get_attribute|domelement_get_attribute_node|domelement_get_elements_by_tagname|domelement_has_attribute|domelement_remove_attribute|domelement_set_attribute|domelement_set_attribute_node|domelement_tagname|domentity|domentityreference|domexception|domimplementation|domnamednodemap|domnode|domnode_add_namespace|domnode_append_child|domnode_append_sibling|domnode_attributes|domnode_child_nodes|domnode_clone_node|domnode_dump_node|domnode_first_child|domnode_get_content|domnode_has_attributes|domnode_has_child_nodes|domnode_insert_before|domnode_is_blank_node|domnode_last_child|domnode_next_sibling|domnode_node_name|domnode_node_type|domnode_node_value|domnode_owner_document|domnode_parent_node|domnode_prefix|domnode_previous_sibling|domnode_remove_child|domnode_replace_child|domnode_replace_node|domnode_set_content|domnode_set_name|domnode_set_namespace|domnode_unlink_node|domnodelist|domnotation|domprocessinginstruction|domprocessinginstruction_data|domprocessinginstruction_target|domtext|domxml_new_doc|domxml_open_file|domxml_open_mem|domxml_version|domxml_xmltree|domxml_xslt_stylesheet|domxml_xslt_stylesheet_doc|domxml_xslt_stylesheet_file|domxml_xslt_version|domxpath|domxsltstylesheet_process|domxsltstylesheet_result_dump_file|domxsltstylesheet_result_dump_mem|dotnet|dotnet_load|doubleval|each|easter_date|easter_days|echo|empty|emptyiterator|enchant_broker_describe|enchant_broker_dict_exists|enchant_broker_free|enchant_broker_free_dict|enchant_broker_get_error|enchant_broker_init|enchant_broker_list_dicts|enchant_broker_request_dict|enchant_broker_request_pwl_dict|enchant_broker_set_ordering|enchant_dict_add_to_personal|enchant_dict_add_to_session|enchant_dict_check|enchant_dict_describe|enchant_dict_get_error|enchant_dict_is_in_session|enchant_dict_quick_check|enchant_dict_store_replacement|enchant_dict_suggest|end|ereg|ereg_replace|eregi|eregi_replace|error_get_last|error_log|error_reporting|errorexception|escapeshellarg|escapeshellcmd|eval|event_add|event_base_free|event_base_loop|event_base_loopbreak|event_base_loopexit|event_base_new|event_base_priority_init|event_base_set|event_buffer_base_set|event_buffer_disable|event_buffer_enable|event_buffer_fd_set|event_buffer_free|event_buffer_new|event_buffer_priority_set|event_buffer_read|event_buffer_set_callback|event_buffer_timeout_set|event_buffer_watermark_set|event_buffer_write|event_del|event_free|event_new|event_set|exception|exec|exif_imagetype|exif_read_data|exif_tagname|exif_thumbnail|exit|exp|expect_expectl|expect_popen|explode|expm1|export|export|extension_loaded|extract|ezmlm_hash|fam_cancel_monitor|fam_close|fam_monitor_collection|fam_monitor_directory|fam_monitor_file|fam_next_event|fam_open|fam_pending|fam_resume_monitor|fam_suspend_monitor|fbsql_affected_rows|fbsql_autocommit|fbsql_blob_size|fbsql_change_user|fbsql_clob_size|fbsql_close|fbsql_commit|fbsql_connect|fbsql_create_blob|fbsql_create_clob|fbsql_create_db|fbsql_data_seek|fbsql_database|fbsql_database_password|fbsql_db_query|fbsql_db_status|fbsql_drop_db|fbsql_errno|fbsql_error|fbsql_fetch_array|fbsql_fetch_assoc|fbsql_fetch_field|fbsql_fetch_lengths|fbsql_fetch_object|fbsql_fetch_row|fbsql_field_flags|fbsql_field_len|fbsql_field_name|fbsql_field_seek|fbsql_field_table|fbsql_field_type|fbsql_free_result|fbsql_get_autostart_info|fbsql_hostname|fbsql_insert_id|fbsql_list_dbs|fbsql_list_fields|fbsql_list_tables|fbsql_next_result|fbsql_num_fields|fbsql_num_rows|fbsql_password|fbsql_pconnect|fbsql_query|fbsql_read_blob|fbsql_read_clob|fbsql_result|fbsql_rollback|fbsql_rows_fetched|fbsql_select_db|fbsql_set_characterset|fbsql_set_lob_mode|fbsql_set_password|fbsql_set_transaction|fbsql_start_db|fbsql_stop_db|fbsql_table_name|fbsql_tablename|fbsql_username|fbsql_warnings|fclose|fdf_add_doc_javascript|fdf_add_template|fdf_close|fdf_create|fdf_enum_values|fdf_errno|fdf_error|fdf_get_ap|fdf_get_attachment|fdf_get_encoding|fdf_get_file|fdf_get_flags|fdf_get_opt|fdf_get_status|fdf_get_value|fdf_get_version|fdf_header|fdf_next_field_name|fdf_open|fdf_open_string|fdf_remove_item|fdf_save|fdf_save_string|fdf_set_ap|fdf_set_encoding|fdf_set_file|fdf_set_flags|fdf_set_javascript_action|fdf_set_on_import_javascript|fdf_set_opt|fdf_set_status|fdf_set_submit_form_action|fdf_set_target_frame|fdf_set_value|fdf_set_version|feof|fflush|fgetc|fgetcsv|fgets|fgetss|file|file_exists|file_get_contents|file_put_contents|fileatime|filectime|filegroup|fileinode|filemtime|fileowner|fileperms|filepro|filepro_fieldcount|filepro_fieldname|filepro_fieldtype|filepro_fieldwidth|filepro_retrieve|filepro_rowcount|filesize|filesystemiterator|filetype|filter_has_var|filter_id|filter_input|filter_input_array|filter_list|filter_var|filter_var_array|filteriterator|finfo_buffer|finfo_close|finfo_file|finfo_open|finfo_set_flags|floatval|flock|floor|flush|fmod|fnmatch|fopen|forward_static_call|forward_static_call_array|fpassthru|fprintf|fputcsv|fputs|fread|frenchtojd|fribidi_log2vis|fscanf|fseek|fsockopen|fstat|ftell|ftok|ftp_alloc|ftp_cdup|ftp_chdir|ftp_chmod|ftp_close|ftp_connect|ftp_delete|ftp_exec|ftp_fget|ftp_fput|ftp_get|ftp_get_option|ftp_login|ftp_mdtm|ftp_mkdir|ftp_nb_continue|ftp_nb_fget|ftp_nb_fput|ftp_nb_get|ftp_nb_put|ftp_nlist|ftp_pasv|ftp_put|ftp_pwd|ftp_quit|ftp_raw|ftp_rawlist|ftp_rename|ftp_rmdir|ftp_set_option|ftp_site|ftp_size|ftp_ssl_connect|ftp_systype|ftruncate|func_get_arg|func_get_args|func_num_args|function_exists|fwrite|gc_collect_cycles|gc_disable|gc_enable|gc_enabled|gd_info|gearmanclient|gearmanjob|gearmantask|gearmanworker|geoip_continent_code_by_name|geoip_country_code3_by_name|geoip_country_code_by_name|geoip_country_name_by_name|geoip_database_info|geoip_db_avail|geoip_db_filename|geoip_db_get_all_info|geoip_id_by_name|geoip_isp_by_name|geoip_org_by_name|geoip_record_by_name|geoip_region_by_name|geoip_region_name_by_code|geoip_time_zone_by_country_and_region|getMeta|getNamed|getValue|get_browser|get_called_class|get_cfg_var|get_class|get_class_methods|get_class_vars|get_current_user|get_declared_classes|get_declared_interfaces|get_defined_constants|get_defined_functions|get_defined_vars|get_extension_funcs|get_headers|get_html_translation_table|get_include_path|get_included_files|get_loaded_extensions|get_magic_quotes_gpc|get_magic_quotes_runtime|get_meta_tags|get_object_vars|get_parent_class|get_required_files|get_resource_type|getallheaders|getconstant|getconstants|getconstructor|getcwd|getdate|getdefaultproperties|getdoccomment|getendline|getenv|getextension|getextensionname|getfilename|gethostbyaddr|gethostbyname|gethostbynamel|gethostname|getimagesize|getinterfacenames|getinterfaces|getlastmod|getmethod|getmethods|getmodifiers|getmxrr|getmygid|getmyinode|getmypid|getmyuid|getname|getnamespacename|getopt|getparentclass|getproperties|getproperty|getprotobyname|getprotobynumber|getrandmax|getrusage|getservbyname|getservbyport|getshortname|getstartline|getstaticproperties|getstaticpropertyvalue|gettext|gettimeofday|gettype|glob|globiterator|gmagick|gmagickdraw|gmagickpixel|gmdate|gmmktime|gmp_abs|gmp_add|gmp_and|gmp_clrbit|gmp_cmp|gmp_com|gmp_div|gmp_div_q|gmp_div_qr|gmp_div_r|gmp_divexact|gmp_fact|gmp_gcd|gmp_gcdext|gmp_hamdist|gmp_init|gmp_intval|gmp_invert|gmp_jacobi|gmp_legendre|gmp_mod|gmp_mul|gmp_neg|gmp_nextprime|gmp_or|gmp_perfect_square|gmp_popcount|gmp_pow|gmp_powm|gmp_prob_prime|gmp_random|gmp_scan0|gmp_scan1|gmp_setbit|gmp_sign|gmp_sqrt|gmp_sqrtrem|gmp_strval|gmp_sub|gmp_testbit|gmp_xor|gmstrftime|gnupg_adddecryptkey|gnupg_addencryptkey|gnupg_addsignkey|gnupg_cleardecryptkeys|gnupg_clearencryptkeys|gnupg_clearsignkeys|gnupg_decrypt|gnupg_decryptverify|gnupg_encrypt|gnupg_encryptsign|gnupg_export|gnupg_geterror|gnupg_getprotocol|gnupg_import|gnupg_init|gnupg_keyinfo|gnupg_setarmor|gnupg_seterrormode|gnupg_setsignmode|gnupg_sign|gnupg_verify|gopher_parsedir|grapheme_extract|grapheme_stripos|grapheme_stristr|grapheme_strlen|grapheme_strpos|grapheme_strripos|grapheme_strrpos|grapheme_strstr|grapheme_substr|gregoriantojd|gupnp_context_get_host_ip|gupnp_context_get_port|gupnp_context_get_subscription_timeout|gupnp_context_host_path|gupnp_context_new|gupnp_context_set_subscription_timeout|gupnp_context_timeout_add|gupnp_context_unhost_path|gupnp_control_point_browse_start|gupnp_control_point_browse_stop|gupnp_control_point_callback_set|gupnp_control_point_new|gupnp_device_action_callback_set|gupnp_device_info_get|gupnp_device_info_get_service|gupnp_root_device_get_available|gupnp_root_device_get_relative_location|gupnp_root_device_new|gupnp_root_device_set_available|gupnp_root_device_start|gupnp_root_device_stop|gupnp_service_action_get|gupnp_service_action_return|gupnp_service_action_return_error|gupnp_service_action_set|gupnp_service_freeze_notify|gupnp_service_info_get|gupnp_service_info_get_introspection|gupnp_service_introspection_get_state_variable|gupnp_service_notify|gupnp_service_proxy_action_get|gupnp_service_proxy_action_set|gupnp_service_proxy_add_notify|gupnp_service_proxy_callback_set|gupnp_service_proxy_get_subscribed|gupnp_service_proxy_remove_notify|gupnp_service_proxy_set_subscribed|gupnp_service_thaw_notify|gzclose|gzcompress|gzdecode|gzdeflate|gzencode|gzeof|gzfile|gzgetc|gzgets|gzgetss|gzinflate|gzopen|gzpassthru|gzputs|gzread|gzrewind|gzseek|gztell|gzuncompress|gzwrite|halt_compiler|haruannotation|haruannotation_setborderstyle|haruannotation_sethighlightmode|haruannotation_seticon|haruannotation_setopened|harudestination|harudestination_setfit|harudestination_setfitb|harudestination_setfitbh|harudestination_setfitbv|harudestination_setfith|harudestination_setfitr|harudestination_setfitv|harudestination_setxyz|harudoc|harudoc_addpage|harudoc_addpagelabel|harudoc_construct|harudoc_createoutline|harudoc_getcurrentencoder|harudoc_getcurrentpage|harudoc_getencoder|harudoc_getfont|harudoc_getinfoattr|harudoc_getpagelayout|harudoc_getpagemode|harudoc_getstreamsize|harudoc_insertpage|harudoc_loadjpeg|harudoc_loadpng|harudoc_loadraw|harudoc_loadttc|harudoc_loadttf|harudoc_loadtype1|harudoc_output|harudoc_readfromstream|harudoc_reseterror|harudoc_resetstream|harudoc_save|harudoc_savetostream|harudoc_setcompressionmode|harudoc_setcurrentencoder|harudoc_setencryptionmode|harudoc_setinfoattr|harudoc_setinfodateattr|harudoc_setopenaction|harudoc_setpagelayout|harudoc_setpagemode|harudoc_setpagesconfiguration|harudoc_setpassword|harudoc_setpermission|harudoc_usecnsencodings|harudoc_usecnsfonts|harudoc_usecntencodings|harudoc_usecntfonts|harudoc_usejpencodings|harudoc_usejpfonts|harudoc_usekrencodings|harudoc_usekrfonts|haruencoder|haruencoder_getbytetype|haruencoder_gettype|haruencoder_getunicode|haruencoder_getwritingmode|haruexception|harufont|harufont_getascent|harufont_getcapheight|harufont_getdescent|harufont_getencodingname|harufont_getfontname|harufont_gettextwidth|harufont_getunicodewidth|harufont_getxheight|harufont_measuretext|haruimage|haruimage_getbitspercomponent|haruimage_getcolorspace|haruimage_getheight|haruimage_getsize|haruimage_getwidth|haruimage_setcolormask|haruimage_setmaskimage|haruoutline|haruoutline_setdestination|haruoutline_setopened|harupage|harupage_arc|harupage_begintext|harupage_circle|harupage_closepath|harupage_concat|harupage_createdestination|harupage_createlinkannotation|harupage_createtextannotation|harupage_createurlannotation|harupage_curveto|harupage_curveto2|harupage_curveto3|harupage_drawimage|harupage_ellipse|harupage_endpath|harupage_endtext|harupage_eofill|harupage_eofillstroke|harupage_fill|harupage_fillstroke|harupage_getcharspace|harupage_getcmykfill|harupage_getcmykstroke|harupage_getcurrentfont|harupage_getcurrentfontsize|harupage_getcurrentpos|harupage_getcurrenttextpos|harupage_getdash|harupage_getfillingcolorspace|harupage_getflatness|harupage_getgmode|harupage_getgrayfill|harupage_getgraystroke|harupage_getheight|harupage_gethorizontalscaling|harupage_getlinecap|harupage_getlinejoin|harupage_getlinewidth|harupage_getmiterlimit|harupage_getrgbfill|harupage_getrgbstroke|harupage_getstrokingcolorspace|harupage_gettextleading|harupage_gettextmatrix|harupage_gettextrenderingmode|harupage_gettextrise|harupage_gettextwidth|harupage_gettransmatrix|harupage_getwidth|harupage_getwordspace|harupage_lineto|harupage_measuretext|harupage_movetextpos|harupage_moveto|harupage_movetonextline|harupage_rectangle|harupage_setcharspace|harupage_setcmykfill|harupage_setcmykstroke|harupage_setdash|harupage_setflatness|harupage_setfontandsize|harupage_setgrayfill|harupage_setgraystroke|harupage_setheight|harupage_sethorizontalscaling|harupage_setlinecap|harupage_setlinejoin|harupage_setlinewidth|harupage_setmiterlimit|harupage_setrgbfill|harupage_setrgbstroke|harupage_setrotate|harupage_setsize|harupage_setslideshow|harupage_settextleading|harupage_settextmatrix|harupage_settextrenderingmode|harupage_settextrise|harupage_setwidth|harupage_setwordspace|harupage_showtext|harupage_showtextnextline|harupage_stroke|harupage_textout|harupage_textrect|hasconstant|hash|hash_algos|hash_copy|hash_file|hash_final|hash_hmac|hash_hmac_file|hash_init|hash_update|hash_update_file|hash_update_stream|hasmethod|hasproperty|header|header_register_callback|header_remove|headers_list|headers_sent|hebrev|hebrevc|hex2bin|hexdec|highlight_file|highlight_string|html_entity_decode|htmlentities|htmlspecialchars|htmlspecialchars_decode|http_build_cookie|http_build_query|http_build_str|http_build_url|http_cache_etag|http_cache_last_modified|http_chunked_decode|http_date|http_deflate|http_get|http_get_request_body|http_get_request_body_stream|http_get_request_headers|http_head|http_inflate|http_match_etag|http_match_modified|http_match_request_header|http_negotiate_charset|http_negotiate_content_type|http_negotiate_language|http_parse_cookie|http_parse_headers|http_parse_message|http_parse_params|http_persistent_handles_clean|http_persistent_handles_count|http_persistent_handles_ident|http_post_data|http_post_fields|http_put_data|http_put_file|http_put_stream|http_redirect|http_request|http_request_body_encode|http_request_method_exists|http_request_method_name|http_request_method_register|http_request_method_unregister|http_response_code|http_send_content_disposition|http_send_content_type|http_send_data|http_send_file|http_send_last_modified|http_send_status|http_send_stream|http_support|http_throttle|httpdeflatestream|httpdeflatestream_construct|httpdeflatestream_factory|httpdeflatestream_finish|httpdeflatestream_flush|httpdeflatestream_update|httpinflatestream|httpinflatestream_construct|httpinflatestream_factory|httpinflatestream_finish|httpinflatestream_flush|httpinflatestream_update|httpmessage|httpmessage_addheaders|httpmessage_construct|httpmessage_detach|httpmessage_factory|httpmessage_fromenv|httpmessage_fromstring|httpmessage_getbody|httpmessage_getheader|httpmessage_getheaders|httpmessage_gethttpversion|httpmessage_getparentmessage|httpmessage_getrequestmethod|httpmessage_getrequesturl|httpmessage_getresponsecode|httpmessage_getresponsestatus|httpmessage_gettype|httpmessage_guesscontenttype|httpmessage_prepend|httpmessage_reverse|httpmessage_send|httpmessage_setbody|httpmessage_setheaders|httpmessage_sethttpversion|httpmessage_setrequestmethod|httpmessage_setrequesturl|httpmessage_setresponsecode|httpmessage_setresponsestatus|httpmessage_settype|httpmessage_tomessagetypeobject|httpmessage_tostring|httpquerystring|httpquerystring_construct|httpquerystring_get|httpquerystring_mod|httpquerystring_set|httpquerystring_singleton|httpquerystring_toarray|httpquerystring_tostring|httpquerystring_xlate|httprequest|httprequest_addcookies|httprequest_addheaders|httprequest_addpostfields|httprequest_addpostfile|httprequest_addputdata|httprequest_addquerydata|httprequest_addrawpostdata|httprequest_addssloptions|httprequest_clearhistory|httprequest_construct|httprequest_enablecookies|httprequest_getcontenttype|httprequest_getcookies|httprequest_getheaders|httprequest_gethistory|httprequest_getmethod|httprequest_getoptions|httprequest_getpostfields|httprequest_getpostfiles|httprequest_getputdata|httprequest_getputfile|httprequest_getquerydata|httprequest_getrawpostdata|httprequest_getrawrequestmessage|httprequest_getrawresponsemessage|httprequest_getrequestmessage|httprequest_getresponsebody|httprequest_getresponsecode|httprequest_getresponsecookies|httprequest_getresponsedata|httprequest_getresponseheader|httprequest_getresponseinfo|httprequest_getresponsemessage|httprequest_getresponsestatus|httprequest_getssloptions|httprequest_geturl|httprequest_resetcookies|httprequest_send|httprequest_setcontenttype|httprequest_setcookies|httprequest_setheaders|httprequest_setmethod|httprequest_setoptions|httprequest_setpostfields|httprequest_setpostfiles|httprequest_setputdata|httprequest_setputfile|httprequest_setquerydata|httprequest_setrawpostdata|httprequest_setssloptions|httprequest_seturl|httprequestpool|httprequestpool_attach|httprequestpool_construct|httprequestpool_destruct|httprequestpool_detach|httprequestpool_getattachedrequests|httprequestpool_getfinishedrequests|httprequestpool_reset|httprequestpool_send|httprequestpool_socketperform|httprequestpool_socketselect|httpresponse|httpresponse_capture|httpresponse_getbuffersize|httpresponse_getcache|httpresponse_getcachecontrol|httpresponse_getcontentdisposition|httpresponse_getcontenttype|httpresponse_getdata|httpresponse_getetag|httpresponse_getfile|httpresponse_getgzip|httpresponse_getheader|httpresponse_getlastmodified|httpresponse_getrequestbody|httpresponse_getrequestbodystream|httpresponse_getrequestheaders|httpresponse_getstream|httpresponse_getthrottledelay|httpresponse_guesscontenttype|httpresponse_redirect|httpresponse_send|httpresponse_setbuffersize|httpresponse_setcache|httpresponse_setcachecontrol|httpresponse_setcontentdisposition|httpresponse_setcontenttype|httpresponse_setdata|httpresponse_setetag|httpresponse_setfile|httpresponse_setgzip|httpresponse_setheader|httpresponse_setlastmodified|httpresponse_setstream|httpresponse_setthrottledelay|httpresponse_status|hw_array2objrec|hw_changeobject|hw_children|hw_childrenobj|hw_close|hw_connect|hw_connection_info|hw_cp|hw_deleteobject|hw_docbyanchor|hw_docbyanchorobj|hw_document_attributes|hw_document_bodytag|hw_document_content|hw_document_setcontent|hw_document_size|hw_dummy|hw_edittext|hw_error|hw_errormsg|hw_free_document|hw_getanchors|hw_getanchorsobj|hw_getandlock|hw_getchildcoll|hw_getchildcollobj|hw_getchilddoccoll|hw_getchilddoccollobj|hw_getobject|hw_getobjectbyquery|hw_getobjectbyquerycoll|hw_getobjectbyquerycollobj|hw_getobjectbyqueryobj|hw_getparents|hw_getparentsobj|hw_getrellink|hw_getremote|hw_getremotechildren|hw_getsrcbydestobj|hw_gettext|hw_getusername|hw_identify|hw_incollections|hw_info|hw_inscoll|hw_insdoc|hw_insertanchors|hw_insertdocument|hw_insertobject|hw_mapid|hw_modifyobject|hw_mv|hw_new_document|hw_objrec2array|hw_output_document|hw_pconnect|hw_pipedocument|hw_root|hw_setlinkroot|hw_stat|hw_unlock|hw_who|hwapi_attribute|hwapi_attribute_key|hwapi_attribute_langdepvalue|hwapi_attribute_value|hwapi_attribute_values|hwapi_checkin|hwapi_checkout|hwapi_children|hwapi_content|hwapi_content_mimetype|hwapi_content_read|hwapi_copy|hwapi_dbstat|hwapi_dcstat|hwapi_dstanchors|hwapi_dstofsrcanchor|hwapi_error_count|hwapi_error_reason|hwapi_find|hwapi_ftstat|hwapi_hgcsp|hwapi_hwstat|hwapi_identify|hwapi_info|hwapi_insert|hwapi_insertanchor|hwapi_insertcollection|hwapi_insertdocument|hwapi_link|hwapi_lock|hwapi_move|hwapi_new_content|hwapi_object|hwapi_object_assign|hwapi_object_attreditable|hwapi_object_count|hwapi_object_insert|hwapi_object_new|hwapi_object_remove|hwapi_object_title|hwapi_object_value|hwapi_objectbyanchor|hwapi_parents|hwapi_reason_description|hwapi_reason_type|hwapi_remove|hwapi_replace|hwapi_setcommittedversion|hwapi_srcanchors|hwapi_srcsofdst|hwapi_unlock|hwapi_user|hwapi_userlist|hypot|ibase_add_user|ibase_affected_rows|ibase_backup|ibase_blob_add|ibase_blob_cancel|ibase_blob_close|ibase_blob_create|ibase_blob_echo|ibase_blob_get|ibase_blob_import|ibase_blob_info|ibase_blob_open|ibase_close|ibase_commit|ibase_commit_ret|ibase_connect|ibase_db_info|ibase_delete_user|ibase_drop_db|ibase_errcode|ibase_errmsg|ibase_execute|ibase_fetch_assoc|ibase_fetch_object|ibase_fetch_row|ibase_field_info|ibase_free_event_handler|ibase_free_query|ibase_free_result|ibase_gen_id|ibase_maintain_db|ibase_modify_user|ibase_name_result|ibase_num_fields|ibase_num_params|ibase_param_info|ibase_pconnect|ibase_prepare|ibase_query|ibase_restore|ibase_rollback|ibase_rollback_ret|ibase_server_info|ibase_service_attach|ibase_service_detach|ibase_set_event_handler|ibase_timefmt|ibase_trans|ibase_wait_event|iconv|iconv_get_encoding|iconv_mime_decode|iconv_mime_decode_headers|iconv_mime_encode|iconv_set_encoding|iconv_strlen|iconv_strpos|iconv_strrpos|iconv_substr|id3_get_frame_long_name|id3_get_frame_short_name|id3_get_genre_id|id3_get_genre_list|id3_get_genre_name|id3_get_tag|id3_get_version|id3_remove_tag|id3_set_tag|id3v2attachedpictureframe|id3v2frame|id3v2tag|idate|idn_to_ascii|idn_to_unicode|idn_to_utf8|ifx_affected_rows|ifx_blobinfile_mode|ifx_byteasvarchar|ifx_close|ifx_connect|ifx_copy_blob|ifx_create_blob|ifx_create_char|ifx_do|ifx_error|ifx_errormsg|ifx_fetch_row|ifx_fieldproperties|ifx_fieldtypes|ifx_free_blob|ifx_free_char|ifx_free_result|ifx_get_blob|ifx_get_char|ifx_getsqlca|ifx_htmltbl_result|ifx_nullformat|ifx_num_fields|ifx_num_rows|ifx_pconnect|ifx_prepare|ifx_query|ifx_textasvarchar|ifx_update_blob|ifx_update_char|ifxus_close_slob|ifxus_create_slob|ifxus_free_slob|ifxus_open_slob|ifxus_read_slob|ifxus_seek_slob|ifxus_tell_slob|ifxus_write_slob|ignore_user_abort|iis_add_server|iis_get_dir_security|iis_get_script_map|iis_get_server_by_comment|iis_get_server_by_path|iis_get_server_rights|iis_get_service_state|iis_remove_server|iis_set_app_settings|iis_set_dir_security|iis_set_script_map|iis_set_server_rights|iis_start_server|iis_start_service|iis_stop_server|iis_stop_service|image2wbmp|image_type_to_extension|image_type_to_mime_type|imagealphablending|imageantialias|imagearc|imagechar|imagecharup|imagecolorallocate|imagecolorallocatealpha|imagecolorat|imagecolorclosest|imagecolorclosestalpha|imagecolorclosesthwb|imagecolordeallocate|imagecolorexact|imagecolorexactalpha|imagecolormatch|imagecolorresolve|imagecolorresolvealpha|imagecolorset|imagecolorsforindex|imagecolorstotal|imagecolortransparent|imageconvolution|imagecopy|imagecopymerge|imagecopymergegray|imagecopyresampled|imagecopyresized|imagecreate|imagecreatefromgd|imagecreatefromgd2|imagecreatefromgd2part|imagecreatefromgif|imagecreatefromjpeg|imagecreatefrompng|imagecreatefromstring|imagecreatefromwbmp|imagecreatefromxbm|imagecreatefromxpm|imagecreatetruecolor|imagedashedline|imagedestroy|imageellipse|imagefill|imagefilledarc|imagefilledellipse|imagefilledpolygon|imagefilledrectangle|imagefilltoborder|imagefilter|imagefontheight|imagefontwidth|imageftbbox|imagefttext|imagegammacorrect|imagegd|imagegd2|imagegif|imagegrabscreen|imagegrabwindow|imageinterlace|imageistruecolor|imagejpeg|imagelayereffect|imageline|imageloadfont|imagepalettecopy|imagepng|imagepolygon|imagepsbbox|imagepsencodefont|imagepsextendfont|imagepsfreefont|imagepsloadfont|imagepsslantfont|imagepstext|imagerectangle|imagerotate|imagesavealpha|imagesetbrush|imagesetpixel|imagesetstyle|imagesetthickness|imagesettile|imagestring|imagestringup|imagesx|imagesy|imagetruecolortopalette|imagettfbbox|imagettftext|imagetypes|imagewbmp|imagexbm|imagick|imagick_adaptiveblurimage|imagick_adaptiveresizeimage|imagick_adaptivesharpenimage|imagick_adaptivethresholdimage|imagick_addimage|imagick_addnoiseimage|imagick_affinetransformimage|imagick_animateimages|imagick_annotateimage|imagick_appendimages|imagick_averageimages|imagick_blackthresholdimage|imagick_blurimage|imagick_borderimage|imagick_charcoalimage|imagick_chopimage|imagick_clear|imagick_clipimage|imagick_clippathimage|imagick_clone|imagick_clutimage|imagick_coalesceimages|imagick_colorfloodfillimage|imagick_colorizeimage|imagick_combineimages|imagick_commentimage|imagick_compareimagechannels|imagick_compareimagelayers|imagick_compareimages|imagick_compositeimage|imagick_construct|imagick_contrastimage|imagick_contraststretchimage|imagick_convolveimage|imagick_cropimage|imagick_cropthumbnailimage|imagick_current|imagick_cyclecolormapimage|imagick_decipherimage|imagick_deconstructimages|imagick_deleteimageartifact|imagick_despeckleimage|imagick_destroy|imagick_displayimage|imagick_displayimages|imagick_distortimage|imagick_drawimage|imagick_edgeimage|imagick_embossimage|imagick_encipherimage|imagick_enhanceimage|imagick_equalizeimage|imagick_evaluateimage|imagick_extentimage|imagick_flattenimages|imagick_flipimage|imagick_floodfillpaintimage|imagick_flopimage|imagick_frameimage|imagick_fximage|imagick_gammaimage|imagick_gaussianblurimage|imagick_getcolorspace|imagick_getcompression|imagick_getcompressionquality|imagick_getcopyright|imagick_getfilename|imagick_getfont|imagick_getformat|imagick_getgravity|imagick_gethomeurl|imagick_getimage|imagick_getimagealphachannel|imagick_getimageartifact|imagick_getimagebackgroundcolor|imagick_getimageblob|imagick_getimageblueprimary|imagick_getimagebordercolor|imagick_getimagechanneldepth|imagick_getimagechanneldistortion|imagick_getimagechanneldistortions|imagick_getimagechannelextrema|imagick_getimagechannelmean|imagick_getimagechannelrange|imagick_getimagechannelstatistics|imagick_getimageclipmask|imagick_getimagecolormapcolor|imagick_getimagecolors|imagick_getimagecolorspace|imagick_getimagecompose|imagick_getimagecompression|imagick_getimagecompressionquality|imagick_getimagedelay|imagick_getimagedepth|imagick_getimagedispose|imagick_getimagedistortion|imagick_getimageextrema|imagick_getimagefilename|imagick_getimageformat|imagick_getimagegamma|imagick_getimagegeometry|imagick_getimagegravity|imagick_getimagegreenprimary|imagick_getimageheight|imagick_getimagehistogram|imagick_getimageindex|imagick_getimageinterlacescheme|imagick_getimageinterpolatemethod|imagick_getimageiterations|imagick_getimagelength|imagick_getimagemagicklicense|imagick_getimagematte|imagick_getimagemattecolor|imagick_getimageorientation|imagick_getimagepage|imagick_getimagepixelcolor|imagick_getimageprofile|imagick_getimageprofiles|imagick_getimageproperties|imagick_getimageproperty|imagick_getimageredprimary|imagick_getimageregion|imagick_getimagerenderingintent|imagick_getimageresolution|imagick_getimagesblob|imagick_getimagescene|imagick_getimagesignature|imagick_getimagesize|imagick_getimagetickspersecond|imagick_getimagetotalinkdensity|imagick_getimagetype|imagick_getimageunits|imagick_getimagevirtualpixelmethod|imagick_getimagewhitepoint|imagick_getimagewidth|imagick_getinterlacescheme|imagick_getiteratorindex|imagick_getnumberimages|imagick_getoption|imagick_getpackagename|imagick_getpage|imagick_getpixeliterator|imagick_getpixelregioniterator|imagick_getpointsize|imagick_getquantumdepth|imagick_getquantumrange|imagick_getreleasedate|imagick_getresource|imagick_getresourcelimit|imagick_getsamplingfactors|imagick_getsize|imagick_getsizeoffset|imagick_getversion|imagick_hasnextimage|imagick_haspreviousimage|imagick_identifyimage|imagick_implodeimage|imagick_labelimage|imagick_levelimage|imagick_linearstretchimage|imagick_liquidrescaleimage|imagick_magnifyimage|imagick_mapimage|imagick_mattefloodfillimage|imagick_medianfilterimage|imagick_mergeimagelayers|imagick_minifyimage|imagick_modulateimage|imagick_montageimage|imagick_morphimages|imagick_mosaicimages|imagick_motionblurimage|imagick_negateimage|imagick_newimage|imagick_newpseudoimage|imagick_nextimage|imagick_normalizeimage|imagick_oilpaintimage|imagick_opaquepaintimage|imagick_optimizeimagelayers|imagick_orderedposterizeimage|imagick_paintfloodfillimage|imagick_paintopaqueimage|imagick_painttransparentimage|imagick_pingimage|imagick_pingimageblob|imagick_pingimagefile|imagick_polaroidimage|imagick_posterizeimage|imagick_previewimages|imagick_previousimage|imagick_profileimage|imagick_quantizeimage|imagick_quantizeimages|imagick_queryfontmetrics|imagick_queryfonts|imagick_queryformats|imagick_radialblurimage|imagick_raiseimage|imagick_randomthresholdimage|imagick_readimage|imagick_readimageblob|imagick_readimagefile|imagick_recolorimage|imagick_reducenoiseimage|imagick_removeimage|imagick_removeimageprofile|imagick_render|imagick_resampleimage|imagick_resetimagepage|imagick_resizeimage|imagick_rollimage|imagick_rotateimage|imagick_roundcorners|imagick_sampleimage|imagick_scaleimage|imagick_separateimagechannel|imagick_sepiatoneimage|imagick_setbackgroundcolor|imagick_setcolorspace|imagick_setcompression|imagick_setcompressionquality|imagick_setfilename|imagick_setfirstiterator|imagick_setfont|imagick_setformat|imagick_setgravity|imagick_setimage|imagick_setimagealphachannel|imagick_setimageartifact|imagick_setimagebackgroundcolor|imagick_setimagebias|imagick_setimageblueprimary|imagick_setimagebordercolor|imagick_setimagechanneldepth|imagick_setimageclipmask|imagick_setimagecolormapcolor|imagick_setimagecolorspace|imagick_setimagecompose|imagick_setimagecompression|imagick_setimagecompressionquality|imagick_setimagedelay|imagick_setimagedepth|imagick_setimagedispose|imagick_setimageextent|imagick_setimagefilename|imagick_setimageformat|imagick_setimagegamma|imagick_setimagegravity|imagick_setimagegreenprimary|imagick_setimageindex|imagick_setimageinterlacescheme|imagick_setimageinterpolatemethod|imagick_setimageiterations|imagick_setimagematte|imagick_setimagemattecolor|imagick_setimageopacity|imagick_setimageorientation|imagick_setimagepage|imagick_setimageprofile|imagick_setimageproperty|imagick_setimageredprimary|imagick_setimagerenderingintent|imagick_setimageresolution|imagick_setimagescene|imagick_setimagetickspersecond|imagick_setimagetype|imagick_setimageunits|imagick_setimagevirtualpixelmethod|imagick_setimagewhitepoint|imagick_setinterlacescheme|imagick_setiteratorindex|imagick_setlastiterator|imagick_setoption|imagick_setpage|imagick_setpointsize|imagick_setresolution|imagick_setresourcelimit|imagick_setsamplingfactors|imagick_setsize|imagick_setsizeoffset|imagick_settype|imagick_shadeimage|imagick_shadowimage|imagick_sharpenimage|imagick_shaveimage|imagick_shearimage|imagick_sigmoidalcontrastimage|imagick_sketchimage|imagick_solarizeimage|imagick_spliceimage|imagick_spreadimage|imagick_steganoimage|imagick_stereoimage|imagick_stripimage|imagick_swirlimage|imagick_textureimage|imagick_thresholdimage|imagick_thumbnailimage|imagick_tintimage|imagick_transformimage|imagick_transparentpaintimage|imagick_transposeimage|imagick_transverseimage|imagick_trimimage|imagick_uniqueimagecolors|imagick_unsharpmaskimage|imagick_valid|imagick_vignetteimage|imagick_waveimage|imagick_whitethresholdimage|imagick_writeimage|imagick_writeimagefile|imagick_writeimages|imagick_writeimagesfile|imagickdraw|imagickdraw_affine|imagickdraw_annotation|imagickdraw_arc|imagickdraw_bezier|imagickdraw_circle|imagickdraw_clear|imagickdraw_clone|imagickdraw_color|imagickdraw_comment|imagickdraw_composite|imagickdraw_construct|imagickdraw_destroy|imagickdraw_ellipse|imagickdraw_getclippath|imagickdraw_getcliprule|imagickdraw_getclipunits|imagickdraw_getfillcolor|imagickdraw_getfillopacity|imagickdraw_getfillrule|imagickdraw_getfont|imagickdraw_getfontfamily|imagickdraw_getfontsize|imagickdraw_getfontstyle|imagickdraw_getfontweight|imagickdraw_getgravity|imagickdraw_getstrokeantialias|imagickdraw_getstrokecolor|imagickdraw_getstrokedasharray|imagickdraw_getstrokedashoffset|imagickdraw_getstrokelinecap|imagickdraw_getstrokelinejoin|imagickdraw_getstrokemiterlimit|imagickdraw_getstrokeopacity|imagickdraw_getstrokewidth|imagickdraw_gettextalignment|imagickdraw_gettextantialias|imagickdraw_gettextdecoration|imagickdraw_gettextencoding|imagickdraw_gettextundercolor|imagickdraw_getvectorgraphics|imagickdraw_line|imagickdraw_matte|imagickdraw_pathclose|imagickdraw_pathcurvetoabsolute|imagickdraw_pathcurvetoquadraticbezierabsolute|imagickdraw_pathcurvetoquadraticbezierrelative|imagickdraw_pathcurvetoquadraticbeziersmoothabsolute|imagickdraw_pathcurvetoquadraticbeziersmoothrelative|imagickdraw_pathcurvetorelative|imagickdraw_pathcurvetosmoothabsolute|imagickdraw_pathcurvetosmoothrelative|imagickdraw_pathellipticarcabsolute|imagickdraw_pathellipticarcrelative|imagickdraw_pathfinish|imagickdraw_pathlinetoabsolute|imagickdraw_pathlinetohorizontalabsolute|imagickdraw_pathlinetohorizontalrelative|imagickdraw_pathlinetorelative|imagickdraw_pathlinetoverticalabsolute|imagickdraw_pathlinetoverticalrelative|imagickdraw_pathmovetoabsolute|imagickdraw_pathmovetorelative|imagickdraw_pathstart|imagickdraw_point|imagickdraw_polygon|imagickdraw_polyline|imagickdraw_pop|imagickdraw_popclippath|imagickdraw_popdefs|imagickdraw_poppattern|imagickdraw_push|imagickdraw_pushclippath|imagickdraw_pushdefs|imagickdraw_pushpattern|imagickdraw_rectangle|imagickdraw_render|imagickdraw_rotate|imagickdraw_roundrectangle|imagickdraw_scale|imagickdraw_setclippath|imagickdraw_setcliprule|imagickdraw_setclipunits|imagickdraw_setfillalpha|imagickdraw_setfillcolor|imagickdraw_setfillopacity|imagickdraw_setfillpatternurl|imagickdraw_setfillrule|imagickdraw_setfont|imagickdraw_setfontfamily|imagickdraw_setfontsize|imagickdraw_setfontstretch|imagickdraw_setfontstyle|imagickdraw_setfontweight|imagickdraw_setgravity|imagickdraw_setstrokealpha|imagickdraw_setstrokeantialias|imagickdraw_setstrokecolor|imagickdraw_setstrokedasharray|imagickdraw_setstrokedashoffset|imagickdraw_setstrokelinecap|imagickdraw_setstrokelinejoin|imagickdraw_setstrokemiterlimit|imagickdraw_setstrokeopacity|imagickdraw_setstrokepatternurl|imagickdraw_setstrokewidth|imagickdraw_settextalignment|imagickdraw_settextantialias|imagickdraw_settextdecoration|imagickdraw_settextencoding|imagickdraw_settextundercolor|imagickdraw_setvectorgraphics|imagickdraw_setviewbox|imagickdraw_skewx|imagickdraw_skewy|imagickdraw_translate|imagickpixel|imagickpixel_clear|imagickpixel_construct|imagickpixel_destroy|imagickpixel_getcolor|imagickpixel_getcolorasstring|imagickpixel_getcolorcount|imagickpixel_getcolorvalue|imagickpixel_gethsl|imagickpixel_issimilar|imagickpixel_setcolor|imagickpixel_setcolorvalue|imagickpixel_sethsl|imagickpixeliterator|imagickpixeliterator_clear|imagickpixeliterator_construct|imagickpixeliterator_destroy|imagickpixeliterator_getcurrentiteratorrow|imagickpixeliterator_getiteratorrow|imagickpixeliterator_getnextiteratorrow|imagickpixeliterator_getpreviousiteratorrow|imagickpixeliterator_newpixeliterator|imagickpixeliterator_newpixelregioniterator|imagickpixeliterator_resetiterator|imagickpixeliterator_setiteratorfirstrow|imagickpixeliterator_setiteratorlastrow|imagickpixeliterator_setiteratorrow|imagickpixeliterator_synciterator|imap_8bit|imap_alerts|imap_append|imap_base64|imap_binary|imap_body|imap_bodystruct|imap_check|imap_clearflag_full|imap_close|imap_create|imap_createmailbox|imap_delete|imap_deletemailbox|imap_errors|imap_expunge|imap_fetch_overview|imap_fetchbody|imap_fetchheader|imap_fetchmime|imap_fetchstructure|imap_fetchtext|imap_gc|imap_get_quota|imap_get_quotaroot|imap_getacl|imap_getmailboxes|imap_getsubscribed|imap_header|imap_headerinfo|imap_headers|imap_last_error|imap_list|imap_listmailbox|imap_listscan|imap_listsubscribed|imap_lsub|imap_mail|imap_mail_compose|imap_mail_copy|imap_mail_move|imap_mailboxmsginfo|imap_mime_header_decode|imap_msgno|imap_num_msg|imap_num_recent|imap_open|imap_ping|imap_qprint|imap_rename|imap_renamemailbox|imap_reopen|imap_rfc822_parse_adrlist|imap_rfc822_parse_headers|imap_rfc822_write_address|imap_savebody|imap_scan|imap_scanmailbox|imap_search|imap_set_quota|imap_setacl|imap_setflag_full|imap_sort|imap_status|imap_subscribe|imap_thread|imap_timeout|imap_uid|imap_undelete|imap_unsubscribe|imap_utf7_decode|imap_utf7_encode|imap_utf8|implementsinterface|implode|import_request_variables|in_array|include|include_once|inclued_get_data|inet_ntop|inet_pton|infiniteiterator|ingres_autocommit|ingres_autocommit_state|ingres_charset|ingres_close|ingres_commit|ingres_connect|ingres_cursor|ingres_errno|ingres_error|ingres_errsqlstate|ingres_escape_string|ingres_execute|ingres_fetch_array|ingres_fetch_assoc|ingres_fetch_object|ingres_fetch_proc_return|ingres_fetch_row|ingres_field_length|ingres_field_name|ingres_field_nullable|ingres_field_precision|ingres_field_scale|ingres_field_type|ingres_free_result|ingres_next_error|ingres_num_fields|ingres_num_rows|ingres_pconnect|ingres_prepare|ingres_query|ingres_result_seek|ingres_rollback|ingres_set_environment|ingres_unbuffered_query|ini_alter|ini_get|ini_get_all|ini_restore|ini_set|innamespace|inotify_add_watch|inotify_init|inotify_queue_len|inotify_read|inotify_rm_watch|interface_exists|intl_error_name|intl_get_error_code|intl_get_error_message|intl_is_failure|intldateformatter|intval|invalidargumentexception|invoke|invokeargs|ip2long|iptcembed|iptcparse|is_a|is_array|is_bool|is_callable|is_dir|is_double|is_executable|is_file|is_finite|is_float|is_infinite|is_int|is_integer|is_link|is_long|is_nan|is_null|is_numeric|is_object|is_readable|is_real|is_resource|is_scalar|is_soap_fault|is_string|is_subclass_of|is_uploaded_file|is_writable|is_writeable|isabstract|iscloneable|isdisabled|isfinal|isinstance|isinstantiable|isinterface|isinternal|isiterateable|isset|issubclassof|isuserdefined|iterator|iterator_apply|iterator_count|iterator_to_array|iteratoraggregate|iteratoriterator|java_last_exception_clear|java_last_exception_get|jddayofweek|jdmonthname|jdtofrench|jdtogregorian|jdtojewish|jdtojulian|jdtounix|jewishtojd|join|jpeg2wbmp|json_decode|json_encode|json_last_error|jsonserializable|judy|judy_type|judy_version|juliantojd|kadm5_chpass_principal|kadm5_create_principal|kadm5_delete_principal|kadm5_destroy|kadm5_flush|kadm5_get_policies|kadm5_get_principal|kadm5_get_principals|kadm5_init_with_password|kadm5_modify_principal|key|krsort|ksort|lcfirst|lcg_value|lchgrp|lchown|ldap_8859_to_t61|ldap_add|ldap_bind|ldap_close|ldap_compare|ldap_connect|ldap_count_entries|ldap_delete|ldap_dn2ufn|ldap_err2str|ldap_errno|ldap_error|ldap_explode_dn|ldap_first_attribute|ldap_first_entry|ldap_first_reference|ldap_free_result|ldap_get_attributes|ldap_get_dn|ldap_get_entries|ldap_get_option|ldap_get_values|ldap_get_values_len|ldap_list|ldap_mod_add|ldap_mod_del|ldap_mod_replace|ldap_modify|ldap_next_attribute|ldap_next_entry|ldap_next_reference|ldap_parse_reference|ldap_parse_result|ldap_read|ldap_rename|ldap_sasl_bind|ldap_search|ldap_set_option|ldap_set_rebind_proc|ldap_sort|ldap_start_tls|ldap_t61_to_8859|ldap_unbind|lengthexception|levenshtein|libxml_clear_errors|libxml_disable_entity_loader|libxml_get_errors|libxml_get_last_error|libxml_set_streams_context|libxml_use_internal_errors|libxmlerror|limititerator|link|linkinfo|list|locale|localeconv|localtime|log|log10|log1p|logicexception|long2ip|lstat|ltrim|lzf_compress|lzf_decompress|lzf_optimized_for|m_checkstatus|m_completeauthorizations|m_connect|m_connectionerror|m_deletetrans|m_destroyconn|m_destroyengine|m_getcell|m_getcellbynum|m_getcommadelimited|m_getheader|m_initconn|m_initengine|m_iscommadelimited|m_maxconntimeout|m_monitor|m_numcolumns|m_numrows|m_parsecommadelimited|m_responsekeys|m_responseparam|m_returnstatus|m_setblocking|m_setdropfile|m_setip|m_setssl|m_setssl_cafile|m_setssl_files|m_settimeout|m_sslcert_gen_hash|m_transactionssent|m_transinqueue|m_transkeyval|m_transnew|m_transsend|m_uwait|m_validateidentifier|m_verifyconnection|m_verifysslcert|magic_quotes_runtime|mail|mailparse_determine_best_xfer_encoding|mailparse_msg_create|mailparse_msg_extract_part|mailparse_msg_extract_part_file|mailparse_msg_extract_whole_part_file|mailparse_msg_free|mailparse_msg_get_part|mailparse_msg_get_part_data|mailparse_msg_get_structure|mailparse_msg_parse|mailparse_msg_parse_file|mailparse_rfc822_parse_addresses|mailparse_stream_encode|mailparse_uudecode_all|main|max|maxdb_affected_rows|maxdb_autocommit|maxdb_bind_param|maxdb_bind_result|maxdb_change_user|maxdb_character_set_name|maxdb_client_encoding|maxdb_close|maxdb_close_long_data|maxdb_commit|maxdb_connect|maxdb_connect_errno|maxdb_connect_error|maxdb_data_seek|maxdb_debug|maxdb_disable_reads_from_master|maxdb_disable_rpl_parse|maxdb_dump_debug_info|maxdb_embedded_connect|maxdb_enable_reads_from_master|maxdb_enable_rpl_parse|maxdb_errno|maxdb_error|maxdb_escape_string|maxdb_execute|maxdb_fetch|maxdb_fetch_array|maxdb_fetch_assoc|maxdb_fetch_field|maxdb_fetch_field_direct|maxdb_fetch_fields|maxdb_fetch_lengths|maxdb_fetch_object|maxdb_fetch_row|maxdb_field_count|maxdb_field_seek|maxdb_field_tell|maxdb_free_result|maxdb_get_client_info|maxdb_get_client_version|maxdb_get_host_info|maxdb_get_metadata|maxdb_get_proto_info|maxdb_get_server_info|maxdb_get_server_version|maxdb_info|maxdb_init|maxdb_insert_id|maxdb_kill|maxdb_master_query|maxdb_more_results|maxdb_multi_query|maxdb_next_result|maxdb_num_fields|maxdb_num_rows|maxdb_options|maxdb_param_count|maxdb_ping|maxdb_prepare|maxdb_query|maxdb_real_connect|maxdb_real_escape_string|maxdb_real_query|maxdb_report|maxdb_rollback|maxdb_rpl_parse_enabled|maxdb_rpl_probe|maxdb_rpl_query_type|maxdb_select_db|maxdb_send_long_data|maxdb_send_query|maxdb_server_end|maxdb_server_init|maxdb_set_opt|maxdb_sqlstate|maxdb_ssl_set|maxdb_stat|maxdb_stmt_affected_rows|maxdb_stmt_bind_param|maxdb_stmt_bind_result|maxdb_stmt_close|maxdb_stmt_close_long_data|maxdb_stmt_data_seek|maxdb_stmt_errno|maxdb_stmt_error|maxdb_stmt_execute|maxdb_stmt_fetch|maxdb_stmt_free_result|maxdb_stmt_init|maxdb_stmt_num_rows|maxdb_stmt_param_count|maxdb_stmt_prepare|maxdb_stmt_reset|maxdb_stmt_result_metadata|maxdb_stmt_send_long_data|maxdb_stmt_sqlstate|maxdb_stmt_store_result|maxdb_store_result|maxdb_thread_id|maxdb_thread_safe|maxdb_use_result|maxdb_warning_count|mb_check_encoding|mb_convert_case|mb_convert_encoding|mb_convert_kana|mb_convert_variables|mb_decode_mimeheader|mb_decode_numericentity|mb_detect_encoding|mb_detect_order|mb_encode_mimeheader|mb_encode_numericentity|mb_encoding_aliases|mb_ereg|mb_ereg_match|mb_ereg_replace|mb_ereg_search|mb_ereg_search_getpos|mb_ereg_search_getregs|mb_ereg_search_init|mb_ereg_search_pos|mb_ereg_search_regs|mb_ereg_search_setpos|mb_eregi|mb_eregi_replace|mb_get_info|mb_http_input|mb_http_output|mb_internal_encoding|mb_language|mb_list_encodings|mb_output_handler|mb_parse_str|mb_preferred_mime_name|mb_regex_encoding|mb_regex_set_options|mb_send_mail|mb_split|mb_strcut|mb_strimwidth|mb_stripos|mb_stristr|mb_strlen|mb_strpos|mb_strrchr|mb_strrichr|mb_strripos|mb_strrpos|mb_strstr|mb_strtolower|mb_strtoupper|mb_strwidth|mb_substitute_character|mb_substr|mb_substr_count|mcrypt_cbc|mcrypt_cfb|mcrypt_create_iv|mcrypt_decrypt|mcrypt_ecb|mcrypt_enc_get_algorithms_name|mcrypt_enc_get_block_size|mcrypt_enc_get_iv_size|mcrypt_enc_get_key_size|mcrypt_enc_get_modes_name|mcrypt_enc_get_supported_key_sizes|mcrypt_enc_is_block_algorithm|mcrypt_enc_is_block_algorithm_mode|mcrypt_enc_is_block_mode|mcrypt_enc_self_test|mcrypt_encrypt|mcrypt_generic|mcrypt_generic_deinit|mcrypt_generic_end|mcrypt_generic_init|mcrypt_get_block_size|mcrypt_get_cipher_name|mcrypt_get_iv_size|mcrypt_get_key_size|mcrypt_list_algorithms|mcrypt_list_modes|mcrypt_module_close|mcrypt_module_get_algo_block_size|mcrypt_module_get_algo_key_size|mcrypt_module_get_supported_key_sizes|mcrypt_module_is_block_algorithm|mcrypt_module_is_block_algorithm_mode|mcrypt_module_is_block_mode|mcrypt_module_open|mcrypt_module_self_test|mcrypt_ofb|md5|md5_file|mdecrypt_generic|memcache|memcache_debug|memcached|memory_get_peak_usage|memory_get_usage|messageformatter|metaphone|method_exists|mhash|mhash_count|mhash_get_block_size|mhash_get_hash_name|mhash_keygen_s2k|microtime|mime_content_type|min|ming_keypress|ming_setcubicthreshold|ming_setscale|ming_setswfcompression|ming_useconstants|ming_useswfversion|mkdir|mktime|money_format|mongo|mongobindata|mongocode|mongocollection|mongoconnectionexception|mongocursor|mongocursorexception|mongocursortimeoutexception|mongodate|mongodb|mongodbref|mongoexception|mongogridfs|mongogridfscursor|mongogridfsexception|mongogridfsfile|mongoid|mongoint32|mongoint64|mongomaxkey|mongominkey|mongoregex|mongotimestamp|move_uploaded_file|mpegfile|mqseries_back|mqseries_begin|mqseries_close|mqseries_cmit|mqseries_conn|mqseries_connx|mqseries_disc|mqseries_get|mqseries_inq|mqseries_open|mqseries_put|mqseries_put1|mqseries_set|mqseries_strerror|msession_connect|msession_count|msession_create|msession_destroy|msession_disconnect|msession_find|msession_get|msession_get_array|msession_get_data|msession_inc|msession_list|msession_listvar|msession_lock|msession_plugin|msession_randstr|msession_set|msession_set_array|msession_set_data|msession_timeout|msession_uniq|msession_unlock|msg_get_queue|msg_queue_exists|msg_receive|msg_remove_queue|msg_send|msg_set_queue|msg_stat_queue|msql|msql_affected_rows|msql_close|msql_connect|msql_create_db|msql_createdb|msql_data_seek|msql_db_query|msql_dbname|msql_drop_db|msql_error|msql_fetch_array|msql_fetch_field|msql_fetch_object|msql_fetch_row|msql_field_flags|msql_field_len|msql_field_name|msql_field_seek|msql_field_table|msql_field_type|msql_fieldflags|msql_fieldlen|msql_fieldname|msql_fieldtable|msql_fieldtype|msql_free_result|msql_list_dbs|msql_list_fields|msql_list_tables|msql_num_fields|msql_num_rows|msql_numfields|msql_numrows|msql_pconnect|msql_query|msql_regcase|msql_result|msql_select_db|msql_tablename|mssql_bind|mssql_close|mssql_connect|mssql_data_seek|mssql_execute|mssql_fetch_array|mssql_fetch_assoc|mssql_fetch_batch|mssql_fetch_field|mssql_fetch_object|mssql_fetch_row|mssql_field_length|mssql_field_name|mssql_field_seek|mssql_field_type|mssql_free_result|mssql_free_statement|mssql_get_last_message|mssql_guid_string|mssql_init|mssql_min_error_severity|mssql_min_message_severity|mssql_next_result|mssql_num_fields|mssql_num_rows|mssql_pconnect|mssql_query|mssql_result|mssql_rows_affected|mssql_select_db|mt_getrandmax|mt_rand|mt_srand|multipleiterator|mysql_affected_rows|mysql_client_encoding|mysql_close|mysql_connect|mysql_create_db|mysql_data_seek|mysql_db_name|mysql_db_query|mysql_drop_db|mysql_errno|mysql_error|mysql_escape_string|mysql_fetch_array|mysql_fetch_assoc|mysql_fetch_field|mysql_fetch_lengths|mysql_fetch_object|mysql_fetch_row|mysql_field_flags|mysql_field_len|mysql_field_name|mysql_field_seek|mysql_field_table|mysql_field_type|mysql_free_result|mysql_get_client_info|mysql_get_host_info|mysql_get_proto_info|mysql_get_server_info|mysql_info|mysql_insert_id|mysql_list_dbs|mysql_list_fields|mysql_list_processes|mysql_list_tables|mysql_num_fields|mysql_num_rows|mysql_pconnect|mysql_ping|mysql_query|mysql_real_escape_string|mysql_result|mysql_select_db|mysql_set_charset|mysql_stat|mysql_tablename|mysql_thread_id|mysql_unbuffered_query|mysqli|mysqli_bind_param|mysqli_bind_result|mysqli_client_encoding|mysqli_connect|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_driver|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_escape_string|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_report|mysqli_result|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_set_opt|mysqli_slave_query|mysqli_stmt|mysqli_warning|mysqlnd_ms_get_stats|mysqlnd_ms_query_is_select|mysqlnd_ms_set_user_pick_server|mysqlnd_qc_change_handler|mysqlnd_qc_clear_cache|mysqlnd_qc_get_cache_info|mysqlnd_qc_get_core_stats|mysqlnd_qc_get_handler|mysqlnd_qc_get_query_trace_log|mysqlnd_qc_set_user_handlers|natcasesort|natsort|ncurses_addch|ncurses_addchnstr|ncurses_addchstr|ncurses_addnstr|ncurses_addstr|ncurses_assume_default_colors|ncurses_attroff|ncurses_attron|ncurses_attrset|ncurses_baudrate|ncurses_beep|ncurses_bkgd|ncurses_bkgdset|ncurses_border|ncurses_bottom_panel|ncurses_can_change_color|ncurses_cbreak|ncurses_clear|ncurses_clrtobot|ncurses_clrtoeol|ncurses_color_content|ncurses_color_set|ncurses_curs_set|ncurses_def_prog_mode|ncurses_def_shell_mode|ncurses_define_key|ncurses_del_panel|ncurses_delay_output|ncurses_delch|ncurses_deleteln|ncurses_delwin|ncurses_doupdate|ncurses_echo|ncurses_echochar|ncurses_end|ncurses_erase|ncurses_erasechar|ncurses_filter|ncurses_flash|ncurses_flushinp|ncurses_getch|ncurses_getmaxyx|ncurses_getmouse|ncurses_getyx|ncurses_halfdelay|ncurses_has_colors|ncurses_has_ic|ncurses_has_il|ncurses_has_key|ncurses_hide_panel|ncurses_hline|ncurses_inch|ncurses_init|ncurses_init_color|ncurses_init_pair|ncurses_insch|ncurses_insdelln|ncurses_insertln|ncurses_insstr|ncurses_instr|ncurses_isendwin|ncurses_keyok|ncurses_keypad|ncurses_killchar|ncurses_longname|ncurses_meta|ncurses_mouse_trafo|ncurses_mouseinterval|ncurses_mousemask|ncurses_move|ncurses_move_panel|ncurses_mvaddch|ncurses_mvaddchnstr|ncurses_mvaddchstr|ncurses_mvaddnstr|ncurses_mvaddstr|ncurses_mvcur|ncurses_mvdelch|ncurses_mvgetch|ncurses_mvhline|ncurses_mvinch|ncurses_mvvline|ncurses_mvwaddstr|ncurses_napms|ncurses_new_panel|ncurses_newpad|ncurses_newwin|ncurses_nl|ncurses_nocbreak|ncurses_noecho|ncurses_nonl|ncurses_noqiflush|ncurses_noraw|ncurses_pair_content|ncurses_panel_above|ncurses_panel_below|ncurses_panel_window|ncurses_pnoutrefresh|ncurses_prefresh|ncurses_putp|ncurses_qiflush|ncurses_raw|ncurses_refresh|ncurses_replace_panel|ncurses_reset_prog_mode|ncurses_reset_shell_mode|ncurses_resetty|ncurses_savetty|ncurses_scr_dump|ncurses_scr_init|ncurses_scr_restore|ncurses_scr_set|ncurses_scrl|ncurses_show_panel|ncurses_slk_attr|ncurses_slk_attroff|ncurses_slk_attron|ncurses_slk_attrset|ncurses_slk_clear|ncurses_slk_color|ncurses_slk_init|ncurses_slk_noutrefresh|ncurses_slk_refresh|ncurses_slk_restore|ncurses_slk_set|ncurses_slk_touch|ncurses_standend|ncurses_standout|ncurses_start_color|ncurses_termattrs|ncurses_termname|ncurses_timeout|ncurses_top_panel|ncurses_typeahead|ncurses_ungetch|ncurses_ungetmouse|ncurses_update_panels|ncurses_use_default_colors|ncurses_use_env|ncurses_use_extended_names|ncurses_vidattr|ncurses_vline|ncurses_waddch|ncurses_waddstr|ncurses_wattroff|ncurses_wattron|ncurses_wattrset|ncurses_wborder|ncurses_wclear|ncurses_wcolor_set|ncurses_werase|ncurses_wgetch|ncurses_whline|ncurses_wmouse_trafo|ncurses_wmove|ncurses_wnoutrefresh|ncurses_wrefresh|ncurses_wstandend|ncurses_wstandout|ncurses_wvline|newinstance|newinstanceargs|newt_bell|newt_button|newt_button_bar|newt_centered_window|newt_checkbox|newt_checkbox_get_value|newt_checkbox_set_flags|newt_checkbox_set_value|newt_checkbox_tree|newt_checkbox_tree_add_item|newt_checkbox_tree_find_item|newt_checkbox_tree_get_current|newt_checkbox_tree_get_entry_value|newt_checkbox_tree_get_multi_selection|newt_checkbox_tree_get_selection|newt_checkbox_tree_multi|newt_checkbox_tree_set_current|newt_checkbox_tree_set_entry|newt_checkbox_tree_set_entry_value|newt_checkbox_tree_set_width|newt_clear_key_buffer|newt_cls|newt_compact_button|newt_component_add_callback|newt_component_takes_focus|newt_create_grid|newt_cursor_off|newt_cursor_on|newt_delay|newt_draw_form|newt_draw_root_text|newt_entry|newt_entry_get_value|newt_entry_set|newt_entry_set_filter|newt_entry_set_flags|newt_finished|newt_form|newt_form_add_component|newt_form_add_components|newt_form_add_hot_key|newt_form_destroy|newt_form_get_current|newt_form_run|newt_form_set_background|newt_form_set_height|newt_form_set_size|newt_form_set_timer|newt_form_set_width|newt_form_watch_fd|newt_get_screen_size|newt_grid_add_components_to_form|newt_grid_basic_window|newt_grid_free|newt_grid_get_size|newt_grid_h_close_stacked|newt_grid_h_stacked|newt_grid_place|newt_grid_set_field|newt_grid_simple_window|newt_grid_v_close_stacked|newt_grid_v_stacked|newt_grid_wrapped_window|newt_grid_wrapped_window_at|newt_init|newt_label|newt_label_set_text|newt_listbox|newt_listbox_append_entry|newt_listbox_clear|newt_listbox_clear_selection|newt_listbox_delete_entry|newt_listbox_get_current|newt_listbox_get_selection|newt_listbox_insert_entry|newt_listbox_item_count|newt_listbox_select_item|newt_listbox_set_current|newt_listbox_set_current_by_key|newt_listbox_set_data|newt_listbox_set_entry|newt_listbox_set_width|newt_listitem|newt_listitem_get_data|newt_listitem_set|newt_open_window|newt_pop_help_line|newt_pop_window|newt_push_help_line|newt_radio_get_current|newt_radiobutton|newt_redraw_help_line|newt_reflow_text|newt_refresh|newt_resize_screen|newt_resume|newt_run_form|newt_scale|newt_scale_set|newt_scrollbar_set|newt_set_help_callback|newt_set_suspend_callback|newt_suspend|newt_textbox|newt_textbox_get_num_lines|newt_textbox_reflowed|newt_textbox_set_height|newt_textbox_set_text|newt_vertical_scrollbar|newt_wait_for_key|newt_win_choice|newt_win_entries|newt_win_menu|newt_win_message|newt_win_messagev|newt_win_ternary|next|ngettext|nl2br|nl_langinfo|norewinditerator|normalizer|notes_body|notes_copy_db|notes_create_db|notes_create_note|notes_drop_db|notes_find_note|notes_header_info|notes_list_msgs|notes_mark_read|notes_mark_unread|notes_nav_create|notes_search|notes_unread|notes_version|nsapi_request_headers|nsapi_response_headers|nsapi_virtual|nthmac|number_format|numberformatter|oauth|oauth_get_sbs|oauth_urlencode|oauthexception|oauthprovider|ob_clean|ob_deflatehandler|ob_end_clean|ob_end_flush|ob_etaghandler|ob_flush|ob_get_clean|ob_get_contents|ob_get_flush|ob_get_length|ob_get_level|ob_get_status|ob_gzhandler|ob_iconv_handler|ob_implicit_flush|ob_inflatehandler|ob_list_handlers|ob_start|ob_tidyhandler|oci_bind_array_by_name|oci_bind_by_name|oci_cancel|oci_client_version|oci_close|oci_collection_append|oci_collection_assign|oci_collection_element_assign|oci_collection_element_get|oci_collection_free|oci_collection_max|oci_collection_size|oci_collection_trim|oci_commit|oci_connect|oci_define_by_name|oci_error|oci_execute|oci_fetch|oci_fetch_all|oci_fetch_array|oci_fetch_assoc|oci_fetch_object|oci_fetch_row|oci_field_is_null|oci_field_name|oci_field_precision|oci_field_scale|oci_field_size|oci_field_type|oci_field_type_raw|oci_free_statement|oci_internal_debug|oci_lob_append|oci_lob_close|oci_lob_copy|oci_lob_eof|oci_lob_erase|oci_lob_export|oci_lob_flush|oci_lob_free|oci_lob_getbuffering|oci_lob_import|oci_lob_is_equal|oci_lob_load|oci_lob_read|oci_lob_rewind|oci_lob_save|oci_lob_savefile|oci_lob_seek|oci_lob_setbuffering|oci_lob_size|oci_lob_tell|oci_lob_truncate|oci_lob_write|oci_lob_writetemporary|oci_lob_writetofile|oci_new_collection|oci_new_connect|oci_new_cursor|oci_new_descriptor|oci_num_fields|oci_num_rows|oci_parse|oci_password_change|oci_pconnect|oci_result|oci_rollback|oci_server_version|oci_set_action|oci_set_client_identifier|oci_set_client_info|oci_set_edition|oci_set_module_name|oci_set_prefetch|oci_statement_type|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|octdec|odbc_autocommit|odbc_binmode|odbc_close|odbc_close_all|odbc_columnprivileges|odbc_columns|odbc_commit|odbc_connect|odbc_cursor|odbc_data_source|odbc_do|odbc_error|odbc_errormsg|odbc_exec|odbc_execute|odbc_fetch_array|odbc_fetch_into|odbc_fetch_object|odbc_fetch_row|odbc_field_len|odbc_field_name|odbc_field_num|odbc_field_precision|odbc_field_scale|odbc_field_type|odbc_foreignkeys|odbc_free_result|odbc_gettypeinfo|odbc_longreadlen|odbc_next_result|odbc_num_fields|odbc_num_rows|odbc_pconnect|odbc_prepare|odbc_primarykeys|odbc_procedurecolumns|odbc_procedures|odbc_result|odbc_result_all|odbc_rollback|odbc_setoption|odbc_specialcolumns|odbc_statistics|odbc_tableprivileges|odbc_tables|openal_buffer_create|openal_buffer_data|openal_buffer_destroy|openal_buffer_get|openal_buffer_loadwav|openal_context_create|openal_context_current|openal_context_destroy|openal_context_process|openal_context_suspend|openal_device_close|openal_device_open|openal_listener_get|openal_listener_set|openal_source_create|openal_source_destroy|openal_source_get|openal_source_pause|openal_source_play|openal_source_rewind|openal_source_set|openal_source_stop|openal_stream|opendir|openlog|openssl_cipher_iv_length|openssl_csr_export|openssl_csr_export_to_file|openssl_csr_get_public_key|openssl_csr_get_subject|openssl_csr_new|openssl_csr_sign|openssl_decrypt|openssl_dh_compute_key|openssl_digest|openssl_encrypt|openssl_error_string|openssl_free_key|openssl_get_cipher_methods|openssl_get_md_methods|openssl_get_privatekey|openssl_get_publickey|openssl_open|openssl_pkcs12_export|openssl_pkcs12_export_to_file|openssl_pkcs12_read|openssl_pkcs7_decrypt|openssl_pkcs7_encrypt|openssl_pkcs7_sign|openssl_pkcs7_verify|openssl_pkey_export|openssl_pkey_export_to_file|openssl_pkey_free|openssl_pkey_get_details|openssl_pkey_get_private|openssl_pkey_get_public|openssl_pkey_new|openssl_private_decrypt|openssl_private_encrypt|openssl_public_decrypt|openssl_public_encrypt|openssl_random_pseudo_bytes|openssl_seal|openssl_sign|openssl_verify|openssl_x509_check_private_key|openssl_x509_checkpurpose|openssl_x509_export|openssl_x509_export_to_file|openssl_x509_free|openssl_x509_parse|openssl_x509_read|ord|outeriterator|outofboundsexception|outofrangeexception|output_add_rewrite_var|output_reset_rewrite_vars|overflowexception|overload|override_function|ovrimos_close|ovrimos_commit|ovrimos_connect|ovrimos_cursor|ovrimos_exec|ovrimos_execute|ovrimos_fetch_into|ovrimos_fetch_row|ovrimos_field_len|ovrimos_field_name|ovrimos_field_num|ovrimos_field_type|ovrimos_free_result|ovrimos_longreadlen|ovrimos_num_fields|ovrimos_num_rows|ovrimos_prepare|ovrimos_result|ovrimos_result_all|ovrimos_rollback|pack|parentiterator|parse_ini_file|parse_ini_string|parse_str|parse_url|parsekit_compile_file|parsekit_compile_string|parsekit_func_arginfo|passthru|pathinfo|pclose|pcntl_alarm|pcntl_exec|pcntl_fork|pcntl_getpriority|pcntl_setpriority|pcntl_signal|pcntl_signal_dispatch|pcntl_sigprocmask|pcntl_sigtimedwait|pcntl_sigwaitinfo|pcntl_wait|pcntl_waitpid|pcntl_wexitstatus|pcntl_wifexited|pcntl_wifsignaled|pcntl_wifstopped|pcntl_wstopsig|pcntl_wtermsig|pdf_activate_item|pdf_add_annotation|pdf_add_bookmark|pdf_add_launchlink|pdf_add_locallink|pdf_add_nameddest|pdf_add_note|pdf_add_outline|pdf_add_pdflink|pdf_add_table_cell|pdf_add_textflow|pdf_add_thumbnail|pdf_add_weblink|pdf_arc|pdf_arcn|pdf_attach_file|pdf_begin_document|pdf_begin_font|pdf_begin_glyph|pdf_begin_item|pdf_begin_layer|pdf_begin_page|pdf_begin_page_ext|pdf_begin_pattern|pdf_begin_template|pdf_begin_template_ext|pdf_circle|pdf_clip|pdf_close|pdf_close_image|pdf_close_pdi|pdf_close_pdi_page|pdf_closepath|pdf_closepath_fill_stroke|pdf_closepath_stroke|pdf_concat|pdf_continue_text|pdf_create_3dview|pdf_create_action|pdf_create_annotation|pdf_create_bookmark|pdf_create_field|pdf_create_fieldgroup|pdf_create_gstate|pdf_create_pvf|pdf_create_textflow|pdf_curveto|pdf_define_layer|pdf_delete|pdf_delete_pvf|pdf_delete_table|pdf_delete_textflow|pdf_encoding_set_char|pdf_end_document|pdf_end_font|pdf_end_glyph|pdf_end_item|pdf_end_layer|pdf_end_page|pdf_end_page_ext|pdf_end_pattern|pdf_end_template|pdf_endpath|pdf_fill|pdf_fill_imageblock|pdf_fill_pdfblock|pdf_fill_stroke|pdf_fill_textblock|pdf_findfont|pdf_fit_image|pdf_fit_pdi_page|pdf_fit_table|pdf_fit_textflow|pdf_fit_textline|pdf_get_apiname|pdf_get_buffer|pdf_get_errmsg|pdf_get_errnum|pdf_get_font|pdf_get_fontname|pdf_get_fontsize|pdf_get_image_height|pdf_get_image_width|pdf_get_majorversion|pdf_get_minorversion|pdf_get_parameter|pdf_get_pdi_parameter|pdf_get_pdi_value|pdf_get_value|pdf_info_font|pdf_info_matchbox|pdf_info_table|pdf_info_textflow|pdf_info_textline|pdf_initgraphics|pdf_lineto|pdf_load_3ddata|pdf_load_font|pdf_load_iccprofile|pdf_load_image|pdf_makespotcolor|pdf_moveto|pdf_new|pdf_open_ccitt|pdf_open_file|pdf_open_gif|pdf_open_image|pdf_open_image_file|pdf_open_jpeg|pdf_open_memory_image|pdf_open_pdi|pdf_open_pdi_document|pdf_open_pdi_page|pdf_open_tiff|pdf_pcos_get_number|pdf_pcos_get_stream|pdf_pcos_get_string|pdf_place_image|pdf_place_pdi_page|pdf_process_pdi|pdf_rect|pdf_restore|pdf_resume_page|pdf_rotate|pdf_save|pdf_scale|pdf_set_border_color|pdf_set_border_dash|pdf_set_border_style|pdf_set_char_spacing|pdf_set_duration|pdf_set_gstate|pdf_set_horiz_scaling|pdf_set_info|pdf_set_info_author|pdf_set_info_creator|pdf_set_info_keywords|pdf_set_info_subject|pdf_set_info_title|pdf_set_layer_dependency|pdf_set_leading|pdf_set_parameter|pdf_set_text_matrix|pdf_set_text_pos|pdf_set_text_rendering|pdf_set_text_rise|pdf_set_value|pdf_set_word_spacing|pdf_setcolor|pdf_setdash|pdf_setdashpattern|pdf_setflat|pdf_setfont|pdf_setgray|pdf_setgray_fill|pdf_setgray_stroke|pdf_setlinecap|pdf_setlinejoin|pdf_setlinewidth|pdf_setmatrix|pdf_setmiterlimit|pdf_setpolydash|pdf_setrgbcolor|pdf_setrgbcolor_fill|pdf_setrgbcolor_stroke|pdf_shading|pdf_shading_pattern|pdf_shfill|pdf_show|pdf_show_boxed|pdf_show_xy|pdf_skew|pdf_stringwidth|pdf_stroke|pdf_suspend_page|pdf_translate|pdf_utf16_to_utf8|pdf_utf32_to_utf16|pdf_utf8_to_utf16|pdo|pdo_cubrid_schema|pdo_pgsqllobcreate|pdo_pgsqllobopen|pdo_pgsqllobunlink|pdo_sqlitecreateaggregate|pdo_sqlitecreatefunction|pdoexception|pdostatement|pfsockopen|pg_affected_rows|pg_cancel_query|pg_client_encoding|pg_close|pg_connect|pg_connection_busy|pg_connection_reset|pg_connection_status|pg_convert|pg_copy_from|pg_copy_to|pg_dbname|pg_delete|pg_end_copy|pg_escape_bytea|pg_escape_string|pg_execute|pg_fetch_all|pg_fetch_all_columns|pg_fetch_array|pg_fetch_assoc|pg_fetch_object|pg_fetch_result|pg_fetch_row|pg_field_is_null|pg_field_name|pg_field_num|pg_field_prtlen|pg_field_size|pg_field_table|pg_field_type|pg_field_type_oid|pg_free_result|pg_get_notify|pg_get_pid|pg_get_result|pg_host|pg_insert|pg_last_error|pg_last_notice|pg_last_oid|pg_lo_close|pg_lo_create|pg_lo_export|pg_lo_import|pg_lo_open|pg_lo_read|pg_lo_read_all|pg_lo_seek|pg_lo_tell|pg_lo_unlink|pg_lo_write|pg_meta_data|pg_num_fields|pg_num_rows|pg_options|pg_parameter_status|pg_pconnect|pg_ping|pg_port|pg_prepare|pg_put_line|pg_query|pg_query_params|pg_result_error|pg_result_error_field|pg_result_seek|pg_result_status|pg_select|pg_send_execute|pg_send_prepare|pg_send_query|pg_send_query_params|pg_set_client_encoding|pg_set_error_verbosity|pg_trace|pg_transaction_status|pg_tty|pg_unescape_bytea|pg_untrace|pg_update|pg_version|php_check_syntax|php_ini_loaded_file|php_ini_scanned_files|php_logo_guid|php_sapi_name|php_strip_whitespace|php_uname|phpcredits|phpinfo|phpversion|pi|png2wbmp|popen|pos|posix_access|posix_ctermid|posix_errno|posix_get_last_error|posix_getcwd|posix_getegid|posix_geteuid|posix_getgid|posix_getgrgid|posix_getgrnam|posix_getgroups|posix_getlogin|posix_getpgid|posix_getpgrp|posix_getpid|posix_getppid|posix_getpwnam|posix_getpwuid|posix_getrlimit|posix_getsid|posix_getuid|posix_initgroups|posix_isatty|posix_kill|posix_mkfifo|posix_mknod|posix_setegid|posix_seteuid|posix_setgid|posix_setpgid|posix_setsid|posix_setuid|posix_strerror|posix_times|posix_ttyname|posix_uname|pow|preg_filter|preg_grep|preg_last_error|preg_match|preg_match_all|preg_quote|preg_replace|preg_replace_callback|preg_split|prev|print|print_r|printer_abort|printer_close|printer_create_brush|printer_create_dc|printer_create_font|printer_create_pen|printer_delete_brush|printer_delete_dc|printer_delete_font|printer_delete_pen|printer_draw_bmp|printer_draw_chord|printer_draw_elipse|printer_draw_line|printer_draw_pie|printer_draw_rectangle|printer_draw_roundrect|printer_draw_text|printer_end_doc|printer_end_page|printer_get_option|printer_list|printer_logical_fontheight|printer_open|printer_select_brush|printer_select_font|printer_select_pen|printer_set_option|printer_start_doc|printer_start_page|printer_write|printf|proc_close|proc_get_status|proc_nice|proc_open|proc_terminate|property_exists|ps_add_bookmark|ps_add_launchlink|ps_add_locallink|ps_add_note|ps_add_pdflink|ps_add_weblink|ps_arc|ps_arcn|ps_begin_page|ps_begin_pattern|ps_begin_template|ps_circle|ps_clip|ps_close|ps_close_image|ps_closepath|ps_closepath_stroke|ps_continue_text|ps_curveto|ps_delete|ps_end_page|ps_end_pattern|ps_end_template|ps_fill|ps_fill_stroke|ps_findfont|ps_get_buffer|ps_get_parameter|ps_get_value|ps_hyphenate|ps_include_file|ps_lineto|ps_makespotcolor|ps_moveto|ps_new|ps_open_file|ps_open_image|ps_open_image_file|ps_open_memory_image|ps_place_image|ps_rect|ps_restore|ps_rotate|ps_save|ps_scale|ps_set_border_color|ps_set_border_dash|ps_set_border_style|ps_set_info|ps_set_parameter|ps_set_text_pos|ps_set_value|ps_setcolor|ps_setdash|ps_setflat|ps_setfont|ps_setgray|ps_setlinecap|ps_setlinejoin|ps_setlinewidth|ps_setmiterlimit|ps_setoverprintmode|ps_setpolydash|ps_shading|ps_shading_pattern|ps_shfill|ps_show|ps_show2|ps_show_boxed|ps_show_xy|ps_show_xy2|ps_string_geometry|ps_stringwidth|ps_stroke|ps_symbol|ps_symbol_name|ps_symbol_width|ps_translate|pspell_add_to_personal|pspell_add_to_session|pspell_check|pspell_clear_session|pspell_config_create|pspell_config_data_dir|pspell_config_dict_dir|pspell_config_ignore|pspell_config_mode|pspell_config_personal|pspell_config_repl|pspell_config_runtogether|pspell_config_save_repl|pspell_new|pspell_new_config|pspell_new_personal|pspell_save_wordlist|pspell_store_replacement|pspell_suggest|putenv|px_close|px_create_fp|px_date2string|px_delete|px_delete_record|px_get_field|px_get_info|px_get_parameter|px_get_record|px_get_schema|px_get_value|px_insert_record|px_new|px_numfields|px_numrecords|px_open_fp|px_put_record|px_retrieve_record|px_set_blob_file|px_set_parameter|px_set_tablename|px_set_targetencoding|px_set_value|px_timestamp2string|px_update_record|qdom_error|qdom_tree|quoted_printable_decode|quoted_printable_encode|quotemeta|rad2deg|radius_acct_open|radius_add_server|radius_auth_open|radius_close|radius_config|radius_create_request|radius_cvt_addr|radius_cvt_int|radius_cvt_string|radius_demangle|radius_demangle_mppe_key|radius_get_attr|radius_get_vendor_attr|radius_put_addr|radius_put_attr|radius_put_int|radius_put_string|radius_put_vendor_addr|radius_put_vendor_attr|radius_put_vendor_int|radius_put_vendor_string|radius_request_authenticator|radius_send_request|radius_server_secret|radius_strerror|rand|range|rangeexception|rar_wrapper_cache_stats|rararchive|rarentry|rarexception|rawurldecode|rawurlencode|read_exif_data|readdir|readfile|readgzfile|readline|readline_add_history|readline_callback_handler_install|readline_callback_handler_remove|readline_callback_read_char|readline_clear_history|readline_completion_function|readline_info|readline_list_history|readline_on_new_line|readline_read_history|readline_redisplay|readline_write_history|readlink|realpath|realpath_cache_get|realpath_cache_size|recode|recode_file|recode_string|recursivearrayiterator|recursivecachingiterator|recursivecallbackfilteriterator|recursivedirectoryiterator|recursivefilteriterator|recursiveiterator|recursiveiteratoriterator|recursiveregexiterator|recursivetreeiterator|reflection|reflectionclass|reflectionexception|reflectionextension|reflectionfunction|reflectionfunctionabstract|reflectionmethod|reflectionobject|reflectionparameter|reflectionproperty|reflector|regexiterator|register_shutdown_function|register_tick_function|rename|rename_function|require|require_once|reset|resetValue|resourcebundle|restore_error_handler|restore_exception_handler|restore_include_path|return|rewind|rewinddir|rmdir|round|rpm_close|rpm_get_tag|rpm_is_valid|rpm_open|rpm_version|rrd_create|rrd_error|rrd_fetch|rrd_first|rrd_graph|rrd_info|rrd_last|rrd_lastupdate|rrd_restore|rrd_tune|rrd_update|rrd_xport|rrdcreator|rrdgraph|rrdupdater|rsort|rtrim|runkit_class_adopt|runkit_class_emancipate|runkit_constant_add|runkit_constant_redefine|runkit_constant_remove|runkit_function_add|runkit_function_copy|runkit_function_redefine|runkit_function_remove|runkit_function_rename|runkit_import|runkit_lint|runkit_lint_file|runkit_method_add|runkit_method_copy|runkit_method_redefine|runkit_method_remove|runkit_method_rename|runkit_return_value_used|runkit_sandbox_output_handler|runkit_superglobals|runtimeexception|samconnection_commit|samconnection_connect|samconnection_constructor|samconnection_disconnect|samconnection_errno|samconnection_error|samconnection_isconnected|samconnection_peek|samconnection_peekall|samconnection_receive|samconnection_remove|samconnection_rollback|samconnection_send|samconnection_setDebug|samconnection_subscribe|samconnection_unsubscribe|sammessage_body|sammessage_constructor|sammessage_header|sca_createdataobject|sca_getservice|sca_localproxy_createdataobject|sca_soapproxy_createdataobject|scandir|sdo_das_changesummary_beginlogging|sdo_das_changesummary_endlogging|sdo_das_changesummary_getchangeddataobjects|sdo_das_changesummary_getchangetype|sdo_das_changesummary_getoldcontainer|sdo_das_changesummary_getoldvalues|sdo_das_changesummary_islogging|sdo_das_datafactory_addpropertytotype|sdo_das_datafactory_addtype|sdo_das_datafactory_getdatafactory|sdo_das_dataobject_getchangesummary|sdo_das_relational_applychanges|sdo_das_relational_construct|sdo_das_relational_createrootdataobject|sdo_das_relational_executepreparedquery|sdo_das_relational_executequery|sdo_das_setting_getlistindex|sdo_das_setting_getpropertyindex|sdo_das_setting_getpropertyname|sdo_das_setting_getvalue|sdo_das_setting_isset|sdo_das_xml_addtypes|sdo_das_xml_create|sdo_das_xml_createdataobject|sdo_das_xml_createdocument|sdo_das_xml_document_getrootdataobject|sdo_das_xml_document_getrootelementname|sdo_das_xml_document_getrootelementuri|sdo_das_xml_document_setencoding|sdo_das_xml_document_setxmldeclaration|sdo_das_xml_document_setxmlversion|sdo_das_xml_loadfile|sdo_das_xml_loadstring|sdo_das_xml_savefile|sdo_das_xml_savestring|sdo_datafactory_create|sdo_dataobject_clear|sdo_dataobject_createdataobject|sdo_dataobject_getcontainer|sdo_dataobject_getsequence|sdo_dataobject_gettypename|sdo_dataobject_gettypenamespaceuri|sdo_exception_getcause|sdo_list_insert|sdo_model_property_getcontainingtype|sdo_model_property_getdefault|sdo_model_property_getname|sdo_model_property_gettype|sdo_model_property_iscontainment|sdo_model_property_ismany|sdo_model_reflectiondataobject_construct|sdo_model_reflectiondataobject_export|sdo_model_reflectiondataobject_getcontainmentproperty|sdo_model_reflectiondataobject_getinstanceproperties|sdo_model_reflectiondataobject_gettype|sdo_model_type_getbasetype|sdo_model_type_getname|sdo_model_type_getnamespaceuri|sdo_model_type_getproperties|sdo_model_type_getproperty|sdo_model_type_isabstracttype|sdo_model_type_isdatatype|sdo_model_type_isinstance|sdo_model_type_isopentype|sdo_model_type_issequencedtype|sdo_sequence_getproperty|sdo_sequence_insert|sdo_sequence_move|seekableiterator|sem_acquire|sem_get|sem_release|sem_remove|serializable|serialize|session_cache_expire|session_cache_limiter|session_commit|session_decode|session_destroy|session_encode|session_get_cookie_params|session_id|session_is_registered|session_module_name|session_name|session_pgsql_add_error|session_pgsql_get_error|session_pgsql_get_field|session_pgsql_reset|session_pgsql_set_field|session_pgsql_status|session_regenerate_id|session_register|session_save_path|session_set_cookie_params|session_set_save_handler|session_start|session_unregister|session_unset|session_write_close|setCounterClass|set_error_handler|set_exception_handler|set_file_buffer|set_include_path|set_magic_quotes_runtime|set_socket_blocking|set_time_limit|setcookie|setlocale|setproctitle|setrawcookie|setstaticpropertyvalue|setthreadtitle|settype|sha1|sha1_file|shell_exec|shm_attach|shm_detach|shm_get_var|shm_has_var|shm_put_var|shm_remove|shm_remove_var|shmop_close|shmop_delete|shmop_open|shmop_read|shmop_size|shmop_write|show_source|shuffle|signeurlpaiement|similar_text|simplexml_import_dom|simplexml_load_file|simplexml_load_string|simplexmlelement|simplexmliterator|sin|sinh|sizeof|sleep|snmp|snmp2_get|snmp2_getnext|snmp2_real_walk|snmp2_set|snmp2_walk|snmp3_get|snmp3_getnext|snmp3_real_walk|snmp3_set|snmp3_walk|snmp_get_quick_print|snmp_get_valueretrieval|snmp_read_mib|snmp_set_enum_print|snmp_set_oid_numeric_print|snmp_set_oid_output_format|snmp_set_quick_print|snmp_set_valueretrieval|snmpget|snmpgetnext|snmprealwalk|snmpset|snmpwalk|snmpwalkoid|soapclient|soapfault|soapheader|soapparam|soapserver|soapvar|socket_accept|socket_bind|socket_clear_error|socket_close|socket_connect|socket_create|socket_create_listen|socket_create_pair|socket_get_option|socket_get_status|socket_getpeername|socket_getsockname|socket_last_error|socket_listen|socket_read|socket_recv|socket_recvfrom|socket_select|socket_send|socket_sendto|socket_set_block|socket_set_blocking|socket_set_nonblock|socket_set_option|socket_set_timeout|socket_shutdown|socket_strerror|socket_write|solr_get_version|solrclient|solrclientexception|solrdocument|solrdocumentfield|solrexception|solrgenericresponse|solrillegalargumentexception|solrillegaloperationexception|solrinputdocument|solrmodifiableparams|solrobject|solrparams|solrpingresponse|solrquery|solrqueryresponse|solrresponse|solrupdateresponse|solrutils|sort|soundex|sphinxclient|spl_autoload|spl_autoload_call|spl_autoload_extensions|spl_autoload_functions|spl_autoload_register|spl_autoload_unregister|spl_classes|spl_object_hash|splbool|spldoublylinkedlist|splenum|splfileinfo|splfileobject|splfixedarray|splfloat|splheap|splint|split|spliti|splmaxheap|splminheap|splobjectstorage|splobserver|splpriorityqueue|splqueue|splstack|splstring|splsubject|spltempfileobject|spoofchecker|sprintf|sql_regcase|sqlite3|sqlite3result|sqlite3stmt|sqlite_array_query|sqlite_busy_timeout|sqlite_changes|sqlite_close|sqlite_column|sqlite_create_aggregate|sqlite_create_function|sqlite_current|sqlite_error_string|sqlite_escape_string|sqlite_exec|sqlite_factory|sqlite_fetch_all|sqlite_fetch_array|sqlite_fetch_column_types|sqlite_fetch_object|sqlite_fetch_single|sqlite_fetch_string|sqlite_field_name|sqlite_has_more|sqlite_has_prev|sqlite_key|sqlite_last_error|sqlite_last_insert_rowid|sqlite_libencoding|sqlite_libversion|sqlite_next|sqlite_num_fields|sqlite_num_rows|sqlite_open|sqlite_popen|sqlite_prev|sqlite_query|sqlite_rewind|sqlite_seek|sqlite_single_query|sqlite_udf_decode_binary|sqlite_udf_encode_binary|sqlite_unbuffered_query|sqlite_valid|sqrt|srand|sscanf|ssdeep_fuzzy_compare|ssdeep_fuzzy_hash|ssdeep_fuzzy_hash_filename|ssh2_auth_hostbased_file|ssh2_auth_none|ssh2_auth_password|ssh2_auth_pubkey_file|ssh2_connect|ssh2_exec|ssh2_fetch_stream|ssh2_fingerprint|ssh2_methods_negotiated|ssh2_publickey_add|ssh2_publickey_init|ssh2_publickey_list|ssh2_publickey_remove|ssh2_scp_recv|ssh2_scp_send|ssh2_sftp|ssh2_sftp_lstat|ssh2_sftp_mkdir|ssh2_sftp_readlink|ssh2_sftp_realpath|ssh2_sftp_rename|ssh2_sftp_rmdir|ssh2_sftp_stat|ssh2_sftp_symlink|ssh2_sftp_unlink|ssh2_shell|ssh2_tunnel|stat|stats_absolute_deviation|stats_cdf_beta|stats_cdf_binomial|stats_cdf_cauchy|stats_cdf_chisquare|stats_cdf_exponential|stats_cdf_f|stats_cdf_gamma|stats_cdf_laplace|stats_cdf_logistic|stats_cdf_negative_binomial|stats_cdf_noncentral_chisquare|stats_cdf_noncentral_f|stats_cdf_poisson|stats_cdf_t|stats_cdf_uniform|stats_cdf_weibull|stats_covariance|stats_den_uniform|stats_dens_beta|stats_dens_cauchy|stats_dens_chisquare|stats_dens_exponential|stats_dens_f|stats_dens_gamma|stats_dens_laplace|stats_dens_logistic|stats_dens_negative_binomial|stats_dens_normal|stats_dens_pmf_binomial|stats_dens_pmf_hypergeometric|stats_dens_pmf_poisson|stats_dens_t|stats_dens_weibull|stats_harmonic_mean|stats_kurtosis|stats_rand_gen_beta|stats_rand_gen_chisquare|stats_rand_gen_exponential|stats_rand_gen_f|stats_rand_gen_funiform|stats_rand_gen_gamma|stats_rand_gen_ibinomial|stats_rand_gen_ibinomial_negative|stats_rand_gen_int|stats_rand_gen_ipoisson|stats_rand_gen_iuniform|stats_rand_gen_noncenral_chisquare|stats_rand_gen_noncentral_f|stats_rand_gen_noncentral_t|stats_rand_gen_normal|stats_rand_gen_t|stats_rand_get_seeds|stats_rand_phrase_to_seeds|stats_rand_ranf|stats_rand_setall|stats_skew|stats_standard_deviation|stats_stat_binomial_coef|stats_stat_correlation|stats_stat_gennch|stats_stat_independent_t|stats_stat_innerproduct|stats_stat_noncentral_t|stats_stat_paired_t|stats_stat_percentile|stats_stat_powersum|stats_variance|stomp|stomp_connect_error|stomp_version|stompexception|stompframe|str_getcsv|str_ireplace|str_pad|str_repeat|str_replace|str_rot13|str_shuffle|str_split|str_word_count|strcasecmp|strchr|strcmp|strcoll|strcspn|stream_bucket_append|stream_bucket_make_writeable|stream_bucket_new|stream_bucket_prepend|stream_context_create|stream_context_get_default|stream_context_get_options|stream_context_get_params|stream_context_set_default|stream_context_set_option|stream_context_set_params|stream_copy_to_stream|stream_encoding|stream_filter_append|stream_filter_prepend|stream_filter_register|stream_filter_remove|stream_get_contents|stream_get_filters|stream_get_line|stream_get_meta_data|stream_get_transports|stream_get_wrappers|stream_is_local|stream_notification_callback|stream_register_wrapper|stream_resolve_include_path|stream_select|stream_set_blocking|stream_set_read_buffer|stream_set_timeout|stream_set_write_buffer|stream_socket_accept|stream_socket_client|stream_socket_enable_crypto|stream_socket_get_name|stream_socket_pair|stream_socket_recvfrom|stream_socket_sendto|stream_socket_server|stream_socket_shutdown|stream_supports_lock|stream_wrapper_register|stream_wrapper_restore|stream_wrapper_unregister|streamwrapper|strftime|strip_tags|stripcslashes|stripos|stripslashes|stristr|strlen|strnatcasecmp|strnatcmp|strncasecmp|strncmp|strpbrk|strpos|strptime|strrchr|strrev|strripos|strrpos|strspn|strstr|strtok|strtolower|strtotime|strtoupper|strtr|strval|substr|substr_compare|substr_count|substr_replace|svm|svmmodel|svn_add|svn_auth_get_parameter|svn_auth_set_parameter|svn_blame|svn_cat|svn_checkout|svn_cleanup|svn_client_version|svn_commit|svn_delete|svn_diff|svn_export|svn_fs_abort_txn|svn_fs_apply_text|svn_fs_begin_txn2|svn_fs_change_node_prop|svn_fs_check_path|svn_fs_contents_changed|svn_fs_copy|svn_fs_delete|svn_fs_dir_entries|svn_fs_file_contents|svn_fs_file_length|svn_fs_is_dir|svn_fs_is_file|svn_fs_make_dir|svn_fs_make_file|svn_fs_node_created_rev|svn_fs_node_prop|svn_fs_props_changed|svn_fs_revision_prop|svn_fs_revision_root|svn_fs_txn_root|svn_fs_youngest_rev|svn_import|svn_log|svn_ls|svn_mkdir|svn_repos_create|svn_repos_fs|svn_repos_fs_begin_txn_for_commit|svn_repos_fs_commit_txn|svn_repos_hotcopy|svn_repos_open|svn_repos_recover|svn_revert|svn_status|svn_update|swf_actiongeturl|swf_actiongotoframe|swf_actiongotolabel|swf_actionnextframe|swf_actionplay|swf_actionprevframe|swf_actionsettarget|swf_actionstop|swf_actiontogglequality|swf_actionwaitforframe|swf_addbuttonrecord|swf_addcolor|swf_closefile|swf_definebitmap|swf_definefont|swf_defineline|swf_definepoly|swf_definerect|swf_definetext|swf_endbutton|swf_enddoaction|swf_endshape|swf_endsymbol|swf_fontsize|swf_fontslant|swf_fonttracking|swf_getbitmapinfo|swf_getfontinfo|swf_getframe|swf_labelframe|swf_lookat|swf_modifyobject|swf_mulcolor|swf_nextid|swf_oncondition|swf_openfile|swf_ortho|swf_ortho2|swf_perspective|swf_placeobject|swf_polarview|swf_popmatrix|swf_posround|swf_pushmatrix|swf_removeobject|swf_rotate|swf_scale|swf_setfont|swf_setframe|swf_shapearc|swf_shapecurveto|swf_shapecurveto3|swf_shapefillbitmapclip|swf_shapefillbitmaptile|swf_shapefilloff|swf_shapefillsolid|swf_shapelinesolid|swf_shapelineto|swf_shapemoveto|swf_showframe|swf_startbutton|swf_startdoaction|swf_startshape|swf_startsymbol|swf_textwidth|swf_translate|swf_viewport|swfaction|swfbitmap|swfbutton|swfdisplayitem|swffill|swffont|swffontchar|swfgradient|swfmorph|swfmovie|swfprebuiltclip|swfshape|swfsound|swfsoundinstance|swfsprite|swftext|swftextfield|swfvideostream|swish_construct|swish_getmetalist|swish_getpropertylist|swish_prepare|swish_query|swishresult_getmetalist|swishresult_stem|swishresults_getparsedwords|swishresults_getremovedstopwords|swishresults_nextresult|swishresults_seekresult|swishsearch_execute|swishsearch_resetlimit|swishsearch_setlimit|swishsearch_setphrasedelimiter|swishsearch_setsort|swishsearch_setstructure|sybase_affected_rows|sybase_close|sybase_connect|sybase_data_seek|sybase_deadlock_retry_count|sybase_fetch_array|sybase_fetch_assoc|sybase_fetch_field|sybase_fetch_object|sybase_fetch_row|sybase_field_seek|sybase_free_result|sybase_get_last_message|sybase_min_client_severity|sybase_min_error_severity|sybase_min_message_severity|sybase_min_server_severity|sybase_num_fields|sybase_num_rows|sybase_pconnect|sybase_query|sybase_result|sybase_select_db|sybase_set_message_handler|sybase_unbuffered_query|symlink|sys_get_temp_dir|sys_getloadavg|syslog|system|tag|tan|tanh|tcpwrap_check|tempnam|textdomain|tidy|tidy_access_count|tidy_config_count|tidy_diagnose|tidy_error_count|tidy_get_error_buffer|tidy_get_output|tidy_load_config|tidy_reset_config|tidy_save_config|tidy_set_encoding|tidy_setopt|tidy_warning_count|tidynode|time|time_nanosleep|time_sleep_until|timezone_abbreviations_list|timezone_identifiers_list|timezone_location_get|timezone_name_from_abbr|timezone_name_get|timezone_offset_get|timezone_open|timezone_transitions_get|timezone_version_get|tmpfile|token_get_all|token_name|tokyotyrant|tokyotyrantquery|tokyotyranttable|tostring|tostring|touch|transliterator|traversable|trigger_error|trim|uasort|ucfirst|ucwords|udm_add_search_limit|udm_alloc_agent|udm_alloc_agent_array|udm_api_version|udm_cat_list|udm_cat_path|udm_check_charset|udm_check_stored|udm_clear_search_limits|udm_close_stored|udm_crc32|udm_errno|udm_error|udm_find|udm_free_agent|udm_free_ispell_data|udm_free_res|udm_get_doc_count|udm_get_res_field|udm_get_res_param|udm_hash32|udm_load_ispell_data|udm_open_stored|udm_set_agent_param|uksort|umask|underflowexception|unexpectedvalueexception|uniqid|unixtojd|unlink|unpack|unregister_tick_function|unserialize|unset|urldecode|urlencode|use_soap_error_handler|user_error|usleep|usort|utf8_decode|utf8_encode|v8js|v8jsexception|var_dump|var_export|variant|variant_abs|variant_add|variant_and|variant_cast|variant_cat|variant_cmp|variant_date_from_timestamp|variant_date_to_timestamp|variant_div|variant_eqv|variant_fix|variant_get_type|variant_idiv|variant_imp|variant_int|variant_mod|variant_mul|variant_neg|variant_not|variant_or|variant_pow|variant_round|variant_set|variant_set_type|variant_sub|variant_xor|version_compare|vfprintf|virtual|vpopmail_add_alias_domain|vpopmail_add_alias_domain_ex|vpopmail_add_domain|vpopmail_add_domain_ex|vpopmail_add_user|vpopmail_alias_add|vpopmail_alias_del|vpopmail_alias_del_domain|vpopmail_alias_get|vpopmail_alias_get_all|vpopmail_auth_user|vpopmail_del_domain|vpopmail_del_domain_ex|vpopmail_del_user|vpopmail_error|vpopmail_passwd|vpopmail_set_user_quota|vprintf|vsprintf|w32api_deftype|w32api_init_dtype|w32api_invoke_function|w32api_register_function|w32api_set_call_method|wddx_add_vars|wddx_deserialize|wddx_packet_end|wddx_packet_start|wddx_serialize_value|wddx_serialize_vars|win32_continue_service|win32_create_service|win32_delete_service|win32_get_last_control_message|win32_pause_service|win32_ps_list_procs|win32_ps_stat_mem|win32_ps_stat_proc|win32_query_service_status|win32_set_service_status|win32_start_service|win32_start_service_ctrl_dispatcher|win32_stop_service|wincache_fcache_fileinfo|wincache_fcache_meminfo|wincache_lock|wincache_ocache_fileinfo|wincache_ocache_meminfo|wincache_refresh_if_changed|wincache_rplist_fileinfo|wincache_rplist_meminfo|wincache_scache_info|wincache_scache_meminfo|wincache_ucache_add|wincache_ucache_cas|wincache_ucache_clear|wincache_ucache_dec|wincache_ucache_delete|wincache_ucache_exists|wincache_ucache_get|wincache_ucache_inc|wincache_ucache_info|wincache_ucache_meminfo|wincache_ucache_set|wincache_unlock|wordwrap|xattr_get|xattr_list|xattr_remove|xattr_set|xattr_supported|xdiff_file_bdiff|xdiff_file_bdiff_size|xdiff_file_bpatch|xdiff_file_diff|xdiff_file_diff_binary|xdiff_file_merge3|xdiff_file_patch|xdiff_file_patch_binary|xdiff_file_rabdiff|xdiff_string_bdiff|xdiff_string_bdiff_size|xdiff_string_bpatch|xdiff_string_diff|xdiff_string_diff_binary|xdiff_string_merge3|xdiff_string_patch|xdiff_string_patch_binary|xdiff_string_rabdiff|xhprof_disable|xhprof_enable|xhprof_sample_disable|xhprof_sample_enable|xml_error_string|xml_get_current_byte_index|xml_get_current_column_number|xml_get_current_line_number|xml_get_error_code|xml_parse|xml_parse_into_struct|xml_parser_create|xml_parser_create_ns|xml_parser_free|xml_parser_get_option|xml_parser_set_option|xml_set_character_data_handler|xml_set_default_handler|xml_set_element_handler|xml_set_end_namespace_decl_handler|xml_set_external_entity_ref_handler|xml_set_notation_decl_handler|xml_set_object|xml_set_processing_instruction_handler|xml_set_start_namespace_decl_handler|xml_set_unparsed_entity_decl_handler|xmlreader|xmlrpc_decode|xmlrpc_decode_request|xmlrpc_encode|xmlrpc_encode_request|xmlrpc_get_type|xmlrpc_is_fault|xmlrpc_parse_method_descriptions|xmlrpc_server_add_introspection_data|xmlrpc_server_call_method|xmlrpc_server_create|xmlrpc_server_destroy|xmlrpc_server_register_introspection_callback|xmlrpc_server_register_method|xmlrpc_set_type|xmlwriter_end_attribute|xmlwriter_end_cdata|xmlwriter_end_comment|xmlwriter_end_document|xmlwriter_end_dtd|xmlwriter_end_dtd_attlist|xmlwriter_end_dtd_element|xmlwriter_end_dtd_entity|xmlwriter_end_element|xmlwriter_end_pi|xmlwriter_flush|xmlwriter_full_end_element|xmlwriter_open_memory|xmlwriter_open_uri|xmlwriter_output_memory|xmlwriter_set_indent|xmlwriter_set_indent_string|xmlwriter_start_attribute|xmlwriter_start_attribute_ns|xmlwriter_start_cdata|xmlwriter_start_comment|xmlwriter_start_document|xmlwriter_start_dtd|xmlwriter_start_dtd_attlist|xmlwriter_start_dtd_element|xmlwriter_start_dtd_entity|xmlwriter_start_element|xmlwriter_start_element_ns|xmlwriter_start_pi|xmlwriter_text|xmlwriter_write_attribute|xmlwriter_write_attribute_ns|xmlwriter_write_cdata|xmlwriter_write_comment|xmlwriter_write_dtd|xmlwriter_write_dtd_attlist|xmlwriter_write_dtd_element|xmlwriter_write_dtd_entity|xmlwriter_write_element|xmlwriter_write_element_ns|xmlwriter_write_pi|xmlwriter_write_raw|xpath_eval|xpath_eval_expression|xpath_new_context|xpath_register_ns|xpath_register_ns_auto|xptr_eval|xptr_new_context|xslt_backend_info|xslt_backend_name|xslt_backend_version|xslt_create|xslt_errno|xslt_error|xslt_free|xslt_getopt|xslt_process|xslt_set_base|xslt_set_encoding|xslt_set_error_handler|xslt_set_log|xslt_set_object|xslt_set_sax_handler|xslt_set_sax_handlers|xslt_set_scheme_handler|xslt_set_scheme_handlers|xslt_setopt|xsltprocessor|yaml_emit|yaml_emit_file|yaml_parse|yaml_parse_file|yaml_parse_url|yaz_addinfo|yaz_ccl_conf|yaz_ccl_parse|yaz_close|yaz_connect|yaz_database|yaz_element|yaz_errno|yaz_error|yaz_es|yaz_es_result|yaz_get_option|yaz_hits|yaz_itemorder|yaz_present|yaz_range|yaz_record|yaz_scan|yaz_scan_result|yaz_schema|yaz_search|yaz_set_option|yaz_sort|yaz_syntax|yaz_wait|yp_all|yp_cat|yp_err_string|yp_errno|yp_first|yp_get_default_domain|yp_master|yp_match|yp_next|yp_order|zend_logo_guid|zend_thread_id|zend_version|zip_close|zip_entry_close|zip_entry_compressedsize|zip_entry_compressionmethod|zip_entry_filesize|zip_entry_name|zip_entry_open|zip_entry_read|zip_open|zip_read|ziparchive|ziparchive_addemptydir|ziparchive_addfile|ziparchive_addfromstring|ziparchive_close|ziparchive_deleteindex|ziparchive_deletename|ziparchive_extractto|ziparchive_getarchivecomment|ziparchive_getcommentindex|ziparchive_getcommentname|ziparchive_getfromindex|ziparchive_getfromname|ziparchive_getnameindex|ziparchive_getstatusstring|ziparchive_getstream|ziparchive_locatename|ziparchive_open|ziparchive_renameindex|ziparchive_renamename|ziparchive_setCommentName|ziparchive_setarchivecomment|ziparchive_setcommentindex|ziparchive_statindex|ziparchive_statname|ziparchive_unchangeall|ziparchive_unchangearchive|ziparchive_unchangeindex|ziparchive_unchangename|zlib_get_coding_type".split("|")),n=i.arrayToMap("abstract|and|array|as|break|case|catch|class|clone|const|continue|declare|default|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|final|for|foreach|function|global|goto|if|implements|interface|instanceof|namespace|new|or|private|protected|public|static|switch|throw|try|use|var|while|xor".split("|")),r=i.arrayToMap("die|echo|empty|exit|eval|include|include_once|isset|list|require|require_once|return|print|unset".split("|")),o=i.arrayToMap("true|false|null|__CLASS__|__DIR__|__FILE__|__LINE__|__METHOD__|__FUNCTION__|__NAMESPACE__".split("|")),u=i.arrayToMap("$GLOBALS|$_SERVER|$_GET|$_POST|$_FILES|$_REQUEST|$_SESSION|$_ENV|$_COOKIE|$php_errormsg|$HTTP_RAW_POST_DATA|$http_response_header|$argc|$argv".split("|")),a=i.arrayToMap("key_exists|cairo_matrix_create_scale|cairo_matrix_create_translate|call_user_method|call_user_method_array|com_addref|com_get|com_invoke|com_isenum|com_load|com_release|com_set|connection_timeout|cubrid_load_from_glo|cubrid_new_glo|cubrid_save_to_glo|cubrid_send_glo|define_syslog_variables|dl|ereg|ereg_replace|eregi|eregi_replace|hw_documentattributes|hw_documentbodytag|hw_documentsize|hw_outputdocument|imagedashedline|maxdb_bind_param|maxdb_bind_result|maxdb_client_encoding|maxdb_close_long_data|maxdb_execute|maxdb_fetch|maxdb_get_metadata|maxdb_param_count|maxdb_send_long_data|mcrypt_ecb|mcrypt_generic_end|mime_content_type|mysql_createdb|mysql_dbname|mysql_db_query|mysql_drop_db|mysql_dropdb|mysql_escape_string|mysql_fieldflags|mysql_fieldflags|mysql_fieldname|mysql_fieldtable|mysql_fieldtype|mysql_freeresult|mysql_listdbs|mysql_list_fields|mysql_listfields|mysql_list_tables|mysql_listtables|mysql_numfields|mysql_numrows|mysql_selectdb|mysql_tablename|mysqli_bind_param|mysqli_bind_result|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_slave_query|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|PDF_add_annotation|PDF_add_bookmark|PDF_add_launchlink|PDF_add_locallink|PDF_add_note|PDF_add_outline|PDF_add_pdflink|PDF_add_weblink|PDF_attach_file|PDF_begin_page|PDF_begin_template|PDF_close_pdi|PDF_close|PDF_findfont|PDF_get_font|PDF_get_fontname|PDF_get_fontsize|PDF_get_image_height|PDF_get_image_width|PDF_get_majorversion|PDF_get_minorversion|PDF_get_pdi_parameter|PDF_get_pdi_value|PDF_open_ccitt|PDF_open_file|PDF_open_gif|PDF_open_image_file|PDF_open_image|PDF_open_jpeg|PDF_open_pdi|PDF_open_tiff|PDF_place_image|PDF_place_pdi_page|PDF_set_border_color|PDF_set_border_dash|PDF_set_border_style|PDF_set_char_spacing|PDF_set_duration|PDF_set_horiz_scaling|PDF_set_info_author|PDF_set_info_creator|PDF_set_info_keywords|PDF_set_info_subject|PDF_set_info_title|PDF_set_leading|PDF_set_text_matrix|PDF_set_text_rendering|PDF_set_text_rise|PDF_set_word_spacing|PDF_setgray_fill|PDF_setgray_stroke|PDF_setgray|PDF_setpolydash|PDF_setrgbcolor_fill|PDF_setrgbcolor_stroke|PDF_setrgbcolor|PDF_show_boxed|php_check_syntax|px_set_tablename|px_set_targetencoding|runkit_sandbox_output_handler|session_is_registered|session_register|session_unregisterset_magic_quotes_runtime|magic_quotes_runtime|set_socket_blocking|socket_set_blocking|set_socket_timeout|socket_set_timeout|split|spliti|sql_regcase".split("|")),f=i.arrayToMap("cfunction|old_function".split("|")),l=i.arrayToMap([]);this.$rules={start:[{token:"comment",regex:/(?:#|\/\/)(?:[^?]|\?[^>])*/},e.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/][gimy]*\\s*(?=[).,;]|$)"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"'",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"\\b(?:DEFAULT_INCLUDE_PATH|E_(?:ALL|CO(?:MPILE_(?:ERROR|WARNING)|RE_(?:ERROR|WARNING))|ERROR|NOTICE|PARSE|STRICT|USER_(?:ERROR|NOTICE|WARNING)|WARNING)|P(?:EAR_(?:EXTENSION_DIR|INSTALL_DIR)|HP_(?:BINDIR|CONFIG_FILE_(?:PATH|SCAN_DIR)|DATADIR|E(?:OL|XTENSION_DIR)|INT_(?:MAX|SIZE)|L(?:IBDIR|OCALSTATEDIR)|O(?:S|UTPUT_HANDLER_(?:CONT|END|START))|PREFIX|S(?:API|HLIB_SUFFIX|YSCONFDIR)|VERSION))|__COMPILER_HALT_OFFSET__)\\b"},{token:["keyword","text","support.class"],regex:"\\b(new)(\\s+)(\\w+)"},{token:["support.class","keyword.operator"],regex:"\\b(\\w+)(::)"},{token:"constant.language",regex:"\\b(?:A(?:B(?:DAY_(?:1|2|3|4|5|6|7)|MON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9))|LT_DIGITS|M_STR|SSERT_(?:ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(?:ASE_(?:LOWER|UPPER)|HAR_MAX|O(?:DESET|NNECTION_(?:ABORTED|NORMAL|TIMEOUT)|UNT_(?:NORMAL|RECURSIVE))|R(?:EDITS_(?:ALL|DOCS|FULLPAGE|G(?:ENERAL|ROUP)|MODULES|QA|SAPI)|NCYSTR|YPT_(?:BLOWFISH|EXT_DES|MD5|S(?:ALT_LENGTH|TD_DES)))|URRENCY_SYMBOL)|D(?:AY_(?:1|2|3|4|5|6|7)|ECIMAL_POINT|IRECTORY_SEPARATOR|_(?:FMT|T_FMT))|E(?:NT_(?:COMPAT|NOQUOTES|QUOTES)|RA(?:_(?:D_(?:FMT|T_FMT)|T_FMT|YEAR)|)|XTR_(?:IF_EXISTS|OVERWRITE|PREFIX_(?:ALL|I(?:F_EXISTS|NVALID)|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(?:ENTITIES|SPECIALCHARS)|IN(?:FO_(?:ALL|C(?:ONFIGURATION|REDITS)|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(?:ALL|PERDIR|SYSTEM|USER)|T_(?:CURR_SYMBOL|FRAC_DIGITS))|L(?:C_(?:ALL|C(?:OLLATE|TYPE)|M(?:ESSAGES|ONETARY)|NUMERIC|TIME)|O(?:CK_(?:EX|NB|SH|UN)|G_(?:A(?:LERT|UTH(?:PRIV|))|C(?:ONS|R(?:IT|ON))|D(?:AEMON|EBUG)|E(?:MERG|RR)|INFO|KERN|L(?:OCAL(?:0|1|2|3|4|5|6|7)|PR)|MAIL|N(?:DELAY|EWS|O(?:TICE|WAIT))|ODELAY|P(?:ERROR|ID)|SYSLOG|U(?:SER|UCP)|WARNING)))|M(?:ON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|_(?:1_PI|2_(?:PI|SQRTPI)|E|L(?:N(?:10|2)|OG(?:10E|2E))|PI(?:_(?:2|4)|)|SQRT(?:1_2|2)))|N(?:EGATIVE_SIGN|O(?:EXPR|STR)|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|P(?:ATH(?:INFO_(?:BASENAME|DIRNAME|EXTENSION)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|RADIXCHAR|S(?:EEK_(?:CUR|END|SET)|ORT_(?:ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(?:BOTH|LEFT|RIGHT))|T(?:HOUS(?:ANDS_SEP|EP)|_FMT(?:_AMPM|))|YES(?:EXPR|STR)|STD(?:IN|OUT|ERR))\\b"},{token:function(e){return n.hasOwnProperty(e)?"keyword":o.hasOwnProperty(e)?"constant.language":u.hasOwnProperty(e)?"variable.language":l.hasOwnProperty(e)?"invalid.illegal":t.hasOwnProperty(e)?"support.function":e=="debugger"?"invalid.deprecated":e.match(/^(\$[a-zA-Z][a-zA-Z0-9_]*|self|parent)$/)?"variable":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{onMatch:function(e,t,n){e=e.substr(3);if(e[0]=="'"||e[0]=='"')e=e.slice(1,-1);return n.unshift(this.next,e),"markup.list"},regex:/<<<(?:\w+|'\w+'|"\w+")$/,next:"heredoc"},{token:"keyword.operator",regex:"::|!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|!=|!==|<=|>=|=>|<<=|>>=|>>>=|<>|<|>|=|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],heredoc:[{onMatch:function(e,t,n){return n[1]!=e?"string":(n.shift(),n.shift(),"markup.list")},regex:"^\\w+(?=;?$)",next:"start"},{token:"string",regex:".*"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"constant.language.escape",regex:'\\\\(?:[nrtvef\\\\"$]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})'},{token:"constant.language.escape",regex:/\$[\w]+(?:\[[\w\]+]|=>\w+)?/},{token:"constant.language.escape",regex:/\$\{[^"\}]+\}?/},{token:"string",regex:'"',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string",regex:"'",next:"start"},{defaultToken:"string"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(a,o);var f=function(){u.call(this);var e=[{token:"support.php_tag",regex:"<\\?(?:php|=)?",push:"php-start"}],t=[{token:"support.php_tag",regex:"\\?>",next:"pop"}];for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.embedRules(a,"php-",t,["start"]),this.normalizeRules()};r.inherits(f,u),t.PhpHighlightRules=f,t.PhpLangHighlightRules=a}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-plain_text.js b/static/js/lib/ace/src-min-noconflict/mode-plain_text.js new file mode 100644 index 0000000..6f5da5a --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-plain_text.js @@ -0,0 +1 @@ +ace.define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./text_highlight_rules").TextHighlightRules,u=e("./behaviour").Behaviour,a=function(){this.HighlightRules=o,this.$behaviour=new u};r.inherits(a,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return""},this.$id="ace/mode/plain_text"}.call(a.prototype),t.Mode=a}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-powershell.js b/static/js/lib/ace/src-min-noconflict/mode-powershell.js new file mode 100644 index 0000000..9c56f40 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-powershell.js @@ -0,0 +1 @@ +ace.define("ace/mode/powershell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/powershell_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./powershell_highlight_rules").PowershellHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f({start:"^\\s*(<#)",end:"^[#\\s]>\\s*$"})};r.inherits(l,i),function(){this.lineCommentStart="#",this.blockComment={start:"<#",end:"#>"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){return null},this.$id="ace/mode/powershell"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/powershell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="function|if|else|elseif|switch|while|default|for|do|until|break|continue|foreach|return|filter|in|trap|throw|param|begin|process|end",t="Get-Alias|Import-Alias|New-Alias|Set-Alias|Get-AuthenticodeSignature|Set-AuthenticodeSignature|Set-Location|Get-ChildItem|Clear-Item|Get-Command|Measure-Command|Trace-Command|Add-Computer|Checkpoint-Computer|Remove-Computer|Restart-Computer|Restore-Computer|Stop-Computer|Reset-ComputerMachinePassword|Test-ComputerSecureChannel|Add-Content|Get-Content|Set-Content|Clear-Content|Get-Command|Invoke-Command|Enable-ComputerRestore|Disable-ComputerRestore|Get-ComputerRestorePoint|Test-Connection|ConvertFrom-CSV|ConvertTo-CSV|ConvertTo-Html|ConvertTo-Xml|ConvertFrom-SecureString|ConvertTo-SecureString|Copy-Item|Export-Counter|Get-Counter|Import-Counter|Get-Credential|Get-Culture|Get-ChildItem|Get-Date|Set-Date|Remove-Item|Compare-Object|Get-Event|Get-WinEvent|New-Event|Remove-Event|Unregister-Event|Wait-Event|Clear-EventLog|Get-Eventlog|Limit-EventLog|New-Eventlog|Remove-EventLog|Show-EventLog|Write-EventLog|Get-EventSubscriber|Register-EngineEvent|Register-ObjectEvent|Register-WmiEvent|Get-ExecutionPolicy|Set-ExecutionPolicy|Export-Alias|Export-Clixml|Export-Console|Export-Csv|ForEach-Object|Format-Custom|Format-List|Format-Table|Format-Wide|Export-FormatData|Get-FormatData|Get-Item|Get-ChildItem|Get-Help|Add-History|Clear-History|Get-History|Invoke-History|Get-Host|Read-Host|Write-Host|Get-HotFix|Import-Clixml|Import-Csv|Invoke-Command|Invoke-Expression|Get-Item|Invoke-Item|New-Item|Remove-Item|Set-Item|Clear-ItemProperty|Copy-ItemProperty|Get-ItemProperty|Move-ItemProperty|New-ItemProperty|Remove-ItemProperty|Rename-ItemProperty|Set-ItemProperty|Get-Job|Receive-Job|Remove-Job|Start-Job|Stop-Job|Wait-Job|Stop-Process|Update-List|Get-Location|Pop-Location|Push-Location|Set-Location|Send-MailMessage|Add-Member|Get-Member|Move-Item|Compare-Object|Group-Object|Measure-Object|New-Object|Select-Object|Sort-Object|Where-Object|Out-Default|Out-File|Out-GridView|Out-Host|Out-Null|Out-Printer|Out-String|Convert-Path|Join-Path|Resolve-Path|Split-Path|Test-Path|Get-Pfxcertificate|Pop-Location|Push-Location|Get-Process|Start-Process|Stop-Process|Wait-Process|Enable-PSBreakpoint|Disable-PSBreakpoint|Get-PSBreakpoint|Set-PSBreakpoint|Remove-PSBreakpoint|Get-PSDrive|New-PSDrive|Remove-PSDrive|Get-PSProvider|Set-PSdebug|Enter-PSSession|Exit-PSSession|Export-PSSession|Get-PSSession|Import-PSSession|New-PSSession|Remove-PSSession|Disable-PSSessionConfiguration|Enable-PSSessionConfiguration|Get-PSSessionConfiguration|Register-PSSessionConfiguration|Set-PSSessionConfiguration|Unregister-PSSessionConfiguration|New-PSSessionOption|Add-PsSnapIn|Get-PsSnapin|Remove-PSSnapin|Get-Random|Read-Host|Remove-Item|Rename-Item|Rename-ItemProperty|Select-Object|Select-XML|Send-MailMessage|Get-Service|New-Service|Restart-Service|Resume-Service|Set-Service|Start-Service|Stop-Service|Suspend-Service|Sort-Object|Start-Sleep|ConvertFrom-StringData|Select-String|Tee-Object|New-Timespan|Trace-Command|Get-Tracesource|Set-Tracesource|Start-Transaction|Complete-Transaction|Get-Transaction|Use-Transaction|Undo-Transaction|Start-Transcript|Stop-Transcript|Add-Type|Update-TypeData|Get-Uiculture|Get-Unique|Update-Formatdata|Update-Typedata|Clear-Variable|Get-Variable|New-Variable|Remove-Variable|Set-Variable|New-WebServiceProxy|Where-Object|Write-Debug|Write-Error|Write-Host|Write-Output|Write-Progress|Write-Verbose|Write-Warning|Set-WmiInstance|Invoke-WmiMethod|Get-WmiObject|Remove-WmiObject|Connect-WSMan|Disconnect-WSMan|Test-WSMan|Invoke-WSManAction|Disable-WSManCredSSP|Enable-WSManCredSSP|Get-WSManCredSSP|New-WSManInstance|Get-WSManInstance|Set-WSManInstance|Remove-WSManInstance|Set-WSManQuickConfig|New-WSManSessionOption",n=this.createKeywordMapper({"support.function":t,keyword:e},"identifier"),r="eq|ne|ge|gt|lt|le|like|notlike|match|notmatch|replace|contains|notcontains|ieq|ine|ige|igt|ile|ilt|ilike|inotlike|imatch|inotmatch|ireplace|icontains|inotcontains|is|isnot|as|and|or|band|bor|not";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.start",regex:"<#",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"[$](?:[Tt]rue|[Ff]alse)\\b"},{token:"constant.language",regex:"[$][Nn]ull\\b"},{token:"variable.instance",regex:"[$][a-zA-Z][a-zA-Z0-9_]*\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"},{token:"keyword.operator",regex:"\\-(?:"+r+")"},{token:"keyword.operator",regex:"&|\\*|\\+|\\-|\\=|\\+=|\\-="},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment.end",regex:"#>",next:"start"},{token:"doc.comment.tag",regex:"^\\.\\w+"},{token:"comment",regex:"\\w+"},{token:"comment",regex:"."}]}};r.inherits(s,i),t.PowershellHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-prolog.js b/static/js/lib/ace/src-min-noconflict/mode-prolog.js new file mode 100644 index 0000000..3eb4b0f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-prolog.js @@ -0,0 +1 @@ +ace.define("ace/mode/prolog",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/prolog_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./prolog_highlight_rules").PrologHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="%",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/prolog"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/prolog_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#comment"},{include:"#basic_fact"},{include:"#rule"},{include:"#directive"},{include:"#fact"}],"#atom":[{token:"constant.other.atom.prolog",regex:"\\b[a-z][a-zA-Z0-9_]*\\b"},{token:"constant.numeric.prolog",regex:"-?\\d+(?:\\.\\d+)?"},{include:"#string"}],"#basic_elem":[{include:"#comment"},{include:"#statement"},{include:"#constants"},{include:"#operators"},{include:"#builtins"},{include:"#list"},{include:"#atom"},{include:"#variable"}],"#basic_fact":[{token:["entity.name.function.fact.basic.prolog","punctuation.end.fact.basic.prolog"],regex:"([a-z]\\w*)(\\.)"}],"#builtins":[{token:"support.function.builtin.prolog",regex:"\\b(?:abolish|abort|ancestors|arg|ascii|assert[az]|atom(?:ic)?|body|char|close|conc|concat|consult|define|definition|dynamic|dump|fail|file|free|free_proc|functor|getc|goal|halt|head|head|integer|length|listing|match_args|member|next_clause|nl|nonvar|nth|number|cvars|nvars|offset|op|print?|prompt|putc|quoted|ratom|read|redefine|rename|retract(?:all)?|see|seeing|seen|skip|spy|statistics|system|tab|tell|telling|term|time|told|univ|unlink_clause|unspy_predicate|var|write)\\b"}],"#comment":[{token:["punctuation.definition.comment.prolog","comment.line.percentage.prolog"],regex:"(%)(.*$)"},{token:"punctuation.definition.comment.prolog",regex:"/\\*",push:[{token:"punctuation.definition.comment.prolog",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.prolog"}]}],"#constants":[{token:"constant.language.prolog",regex:"\\b(?:true|false|yes|no)\\b"}],"#directive":[{token:"keyword.operator.directive.prolog",regex:":-",push:[{token:"meta.directive.prolog",regex:"\\.",next:"pop"},{include:"#comment"},{include:"#statement"},{defaultToken:"meta.directive.prolog"}]}],"#expr":[{include:"#comments"},{token:"meta.expression.prolog",regex:"\\(",push:[{token:"meta.expression.prolog",regex:"\\)",next:"pop"},{include:"#expr"},{defaultToken:"meta.expression.prolog"}]},{token:"keyword.control.cutoff.prolog",regex:"!"},{token:"punctuation.control.and.prolog",regex:","},{token:"punctuation.control.or.prolog",regex:";"},{include:"#basic_elem"}],"#fact":[{token:["entity.name.function.fact.prolog","punctuation.begin.fact.parameters.prolog"],regex:"([a-z]\\w*)(\\()(?!.*:-)",push:[{token:["punctuation.end.fact.parameters.prolog","punctuation.end.fact.prolog"],regex:"(\\))(\\.?)",next:"pop"},{include:"#parameter"},{defaultToken:"meta.fact.prolog"}]}],"#list":[{token:"punctuation.begin.list.prolog",regex:"\\[(?=.*\\])",push:[{token:"punctuation.end.list.prolog",regex:"\\]",next:"pop"},{include:"#comment"},{token:"punctuation.separator.list.prolog",regex:","},{token:"punctuation.concat.list.prolog",regex:"\\|",push:[{token:"meta.list.concat.prolog",regex:"(?=\\s*\\])",next:"pop"},{include:"#basic_elem"},{defaultToken:"meta.list.concat.prolog"}]},{include:"#basic_elem"},{defaultToken:"meta.list.prolog"}]}],"#operators":[{token:"keyword.operator.prolog",regex:"\\\\\\+|\\bnot\\b|\\bis\\b|->|[><]|[><\\\\:=]?=|(?:=\\\\|\\\\=)="}],"#parameter":[{token:"variable.language.anonymous.prolog",regex:"\\b_\\b"},{token:"variable.parameter.prolog",regex:"\\b[A-Z_]\\w*\\b"},{token:"punctuation.separator.parameters.prolog",regex:","},{include:"#basic_elem"},{token:"text",regex:"[^\\s]"}],"#rule":[{token:"meta.rule.prolog",regex:"(?=[a-z]\\w*.*:-)",push:[{token:"punctuation.rule.end.prolog",regex:"\\.",next:"pop"},{token:"meta.rule.signature.prolog",regex:"(?=[a-z]\\w*.*:-)",push:[{token:"meta.rule.signature.prolog",regex:"(?=:-)",next:"pop"},{token:"entity.name.function.rule.prolog",regex:"[a-z]\\w*(?=\\(|\\s*:-)"},{token:"punctuation.rule.parameters.begin.prolog",regex:"\\(",push:[{token:"punctuation.rule.parameters.end.prolog",regex:"\\)",next:"pop"},{include:"#parameter"},{defaultToken:"meta.rule.parameters.prolog"}]},{defaultToken:"meta.rule.signature.prolog"}]},{token:"keyword.operator.definition.prolog",regex:":-",push:[{token:"meta.rule.definition.prolog",regex:"(?=\\.)",next:"pop"},{include:"#comment"},{include:"#expr"},{defaultToken:"meta.rule.definition.prolog"}]},{defaultToken:"meta.rule.prolog"}]}],"#statement":[{token:"meta.statement.prolog",regex:"(?=[a-z]\\w*\\()",push:[{token:"punctuation.end.statement.parameters.prolog",regex:"\\)",next:"pop"},{include:"#builtins"},{include:"#atom"},{token:"punctuation.begin.statement.parameters.prolog",regex:"\\(",push:[{token:"meta.statement.parameters.prolog",regex:"(?=\\))",next:"pop"},{token:"punctuation.separator.statement.prolog",regex:","},{include:"#basic_elem"},{defaultToken:"meta.statement.parameters.prolog"}]},{defaultToken:"meta.statement.prolog"}]}],"#string":[{token:"punctuation.definition.string.begin.prolog",regex:"'",push:[{token:"punctuation.definition.string.end.prolog",regex:"'",next:"pop"},{token:"constant.character.escape.prolog",regex:"\\\\."},{token:"constant.character.escape.quote.prolog",regex:"''"},{defaultToken:"string.quoted.single.prolog"}]}],"#variable":[{token:"variable.language.anonymous.prolog",regex:"\\b_\\b"},{token:"variable.other.prolog",regex:"\\b[A-Z_][a-zA-Z0-9_]*\\b"}]},this.normalizeRules()};s.metaData={fileTypes:["plg","prolog"],foldingStartMarker:"(%\\s*region \\w*)|([a-z]\\w*.*:- ?)",foldingStopMarker:"(%\\s*end(\\s*region)?)|(?=\\.)",keyEquivalent:"^~P",name:"Prolog",scopeName:"source.prolog"},r.inherits(s,i),t.PrologHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-properties.js b/static/js/lib/ace/src-min-noconflict/mode-properties.js new file mode 100644 index 0000000..6a35fa8 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-properties.js @@ -0,0 +1 @@ +ace.define("ace/mode/properties",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/properties_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./properties_highlight_rules").PropertiesHighlightRules,u=function(){this.HighlightRules=o};r.inherits(u,i),t.Mode=u}),ace.define("ace/mode/properties_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=/\\u[0-9a-fA-F]{4}|\\/;this.$rules={start:[{token:"comment",regex:/[!#].*$/},{token:"keyword",regex:/[=:]$/},{token:"keyword",regex:/[=:]/,next:"value"},{token:"constant.language.escape",regex:e},{defaultToken:"variable"}],value:[{regex:/\\$/,token:"string",next:"value"},{regex:/$/,token:"string",next:"start"},{token:"constant.language.escape",regex:e},{defaultToken:"string"}]}};r.inherits(s,i),t.PropertiesHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-protobuf.js b/static/js/lib/ace/src-min-noconflict/mode-protobuf.js new file mode 100644 index 0000000..317e114 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-protobuf.js @@ -0,0 +1 @@ +ace.define("ace/mode/protobuf",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/tokenizer","ace/mode/protobuf_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("../tokenizer").Tokenizer,o=e("./protobuf_highlight_rules").ProtobufHighlightRules,u=e("./folding/cstyle").FoldMode,a=function(){i.call(this);var e=new o;this.foldingRules=new u,this.$tokenizer=new s(e.getRules()),this.$keywordList=e.$keywordList};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/protobuf"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./c_cpp_highlight_rules").c_cppHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\s*\\bhypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len)))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template",n="const|extern|register|restrict|static|volatile|inline|private:|protected:|public:|friend|explicit|virtual|export|mutable|typename",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eqconst_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_¡-￿][a-zA-Zd\\$_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef|if|ifdef|else|elif|ifndef)\\b",next:"directive"},{token:"keyword",regex:"(?:#\\s*endif)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/protobuf_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes",t="message|required|optional|repeated|package|import|option|enum",n=this.createKeywordMapper({"keyword.declaration.protobuf":t,"support.type":e},"identifier");this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant",regex:"<[^>]+>"},{regex:"=",token:"keyword.operator.assignment.protobuf"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(s,i),t.ProtobufHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-python.js b/static/js/lib/ace/src-min-noconflict/mode-python.js new file mode 100644 index 0000000..6f05580 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-python.js @@ -0,0 +1 @@ +ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./python_highlight_rules").PythonHighlightRules,u=e("./folding/pythonic").FoldMode,a=e("../range").Range,f=function(){this.HighlightRules=o,this.foldingRules=new u("\\:")};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new a(n,r.length-i.length,n,r.length))},this.$id="ace/mode/python"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|set|apply|delattr|help|next|setattr|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")",m="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qqstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-r.js b/static/js/lib/ace/src-min-noconflict/mode-r.js new file mode 100644 index 0000000..932533a --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-r.js @@ -0,0 +1 @@ +ace.define("ace/mode/r",["require","exports","module","ace/range","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/r_highlight_rules","ace/mode/matching_brace_outdent","ace/unicode"],function(e,t,n){var r=e("../range").Range,i=e("../lib/oop"),s=e("./text").Mode,o=e("../tokenizer").Tokenizer,u=e("./text_highlight_rules").TextHighlightRules,a=e("./r_highlight_rules").RHighlightRules,f=e("./matching_brace_outdent").MatchingBraceOutdent,l=e("../unicode"),c=function(){this.HighlightRules=a,this.$outdent=new f};i.inherits(c,s),function(){this.lineCommentStart="#",this.$id="ace/mode/r"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/r_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./tex_highlight_rules").TexHighlightRules,u=function(){var e=i.arrayToMap("function|if|in|break|next|repeat|else|for|return|switch|while|try|tryCatch|stop|warning|require|library|attach|detach|source|setMethod|setGeneric|setGroupGeneric|setClass".split("|")),t=i.arrayToMap("NULL|NA|TRUE|FALSE|T|F|Inf|NaN|NA_integer_|NA_real_|NA_character_|NA_complex_".split("|"));this.$rules={start:[{token:"comment.sectionhead",regex:"#+(?!').*(?:----|====|####)\\s*$"},{token:"comment",regex:"#+'",next:"rd-start"},{token:"comment",regex:"#.*$"},{token:"string",regex:'["]',next:"qqstring"},{token:"string",regex:"[']",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+[Li]?\\b"},{token:"constant.numeric",regex:"\\d+L\\b"},{token:"constant.numeric",regex:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.numeric",regex:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.language.boolean",regex:"(?:TRUE|FALSE|T|F)\\b"},{token:"identifier",regex:"`.*?`"},{onMatch:function(n){return e[n]?"keyword":t[n]?"constant.language":n=="..."||n.match(/^\.\.\d+$/)?"variable.language":"identifier"},regex:"[a-zA-Z.][a-zA-Z0-9._]*\\b"},{token:"keyword.operator",regex:"%%|>=|<=|==|!=|\\->|<\\-|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||~|\\$|:"},{token:"keyword.operator",regex:"%.*?%"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]};var n=(new o("comment")).getRules();for(var r=0;r\n",position:{row:0,column:15}},this.getLanguageMode=function(e){return this.$session.getState(e.row).match(/^r-/)?"R":"HTML"},this.$id="ace/mode/rhtml"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/html_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/html_completions"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=function(){this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/rhtml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/r_highlight_rules","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./r_highlight_rules").RHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){s.call(this),this.$rules.start.unshift({token:"support.function.codebegin",regex:"^",next:"start"}],["start"]),this.normalizeRules()};r.inherits(u,o),t.RHtmlHighlightRules=u}),ace.define("ace/mode/r_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./tex_highlight_rules").TexHighlightRules,u=function(){var e=i.arrayToMap("function|if|in|break|next|repeat|else|for|return|switch|while|try|tryCatch|stop|warning|require|library|attach|detach|source|setMethod|setGeneric|setGroupGeneric|setClass".split("|")),t=i.arrayToMap("NULL|NA|TRUE|FALSE|T|F|Inf|NaN|NA_integer_|NA_real_|NA_character_|NA_complex_".split("|"));this.$rules={start:[{token:"comment.sectionhead",regex:"#+(?!').*(?:----|====|####)\\s*$"},{token:"comment",regex:"#+'",next:"rd-start"},{token:"comment",regex:"#.*$"},{token:"string",regex:'["]',next:"qqstring"},{token:"string",regex:"[']",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+[Li]?\\b"},{token:"constant.numeric",regex:"\\d+L\\b"},{token:"constant.numeric",regex:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.numeric",regex:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.language.boolean",regex:"(?:TRUE|FALSE|T|F)\\b"},{token:"identifier",regex:"`.*?`"},{onMatch:function(n){return e[n]?"keyword":t[n]?"constant.language":n=="..."||n.match(/^\.\.\d+$/)?"variable.language":"identifier"},regex:"[a-zA-Z.][a-zA-Z0-9._]*\\b"},{token:"keyword.operator",regex:"%%|>=|<=|==|!=|\\->|<\\-|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||~|\\$|:"},{token:"keyword.operator",regex:"%.*?%"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]};var n=(new o("comment")).getRules();for(var r=0;r"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u]*)(\\s*\\()"},{token:"support.constant",regex:"\\b[a-zA-Z_][\\w\\d]*::"},{token:"keyword.source.rust",regex:"\\b(?:as|assert|break|claim|const|copy|Copy|do|drop|else|extern|fail|for|if|impl|in|let|log|loop|match|mod|module|move|mut|Owned|priv|pub|pure|ref|return|unchecked|unsafe|use|while|mod|Send|static|trait|class|struct|enum|type)\\b"},{token:"storage.type.source.rust",regex:"\\b(?:Self|m32|m64|m128|f80|f16|f128|int|uint|float|char|bool|u8|u16|u32|u64|f32|f64|i8|i16|i32|i64|str|option|either|c_float|c_double|c_void|FILE|fpos_t|DIR|dirent|c_char|c_schar|c_uchar|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|size_t|ptrdiff_t|clock_t|time_t|c_longlong|c_ulonglong|intptr_t|uintptr_t|off_t|dev_t|ino_t|pid_t|mode_t|ssize_t)\\b"},{token:"variable.language.source.rust",regex:"\\bself\\b"},{token:"keyword.operator",regex:"!|\\$|\\*|\\-\\-|\\-|\\+\\+|\\+|-->|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|/=|%=|\\+=|\\-=|&=|\\^=|,|;"},{token:"constant.language.source.rust",regex:"\\b(?:true|false|Some|None|Left|Right|Ok|Err)\\b"},{token:"support.constant.source.rust",regex:"\\b(?:EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|_IONBF|_IOLBF|BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO)\\b"},{token:"meta.preprocessor.source.rust",regex:"\\b\\w\\(\\w\\)*!|#\\[[\\w=\\(\\)_]+\\]\\b"},{token:"constant.numeric.integer.source.rust",regex:"\\b(?:[0-9][0-9_]*|[0-9][0-9_]*(?:u|u8|u16|u32|u64)|[0-9][0-9_]*(?:i|i8|i16|i32|i64))\\b"},{token:"constant.numeric.hex.source.rust",regex:"\\b(?:0x[a-fA-F0-9_]+|0x[a-fA-F0-9_]+(?:u|u8|u16|u32|u64)|0x[a-fA-F0-9_]+(?:i|i8|i16|i32|i64))\\b"},{token:"constant.numeric.binary.source.rust",regex:"\\b(?:0b[01_]+|0b[01_]+(?:u|u8|u16|u32|u64)|0b[01_]+(?:i|i8|i16|i32|i64))\\b"},{token:"constant.numeric.float.source.rust",regex:"[0-9][0-9_]*(?:f32|f64|f)|[0-9][0-9_]*[eE][+-]=[0-9_]+|[0-9][0-9_]*[eE][+-]=[0-9_]+(?:f32|f64|f)|[0-9][0-9_]*\\.[0-9_]+|[0-9][0-9_]*\\.[0-9_]+(?:f32|f64|f)|[0-9][0-9_]*\\.[0-9_]+%[eE][+-]=[0-9_]+|[0-9][0-9_]*\\.[0-9_]+%[eE][+-]=[0-9_]+(?:f32|f64|f)"},{token:"comment.line.documentation.source.rust",regex:"//!.*$",push_:[{token:"comment.line.documentation.source.rust",regex:"$",next:"pop"},{defaultToken:"comment.line.documentation.source.rust"}]},{token:"comment.line.double-dash.source.rust",regex:"//.*$",push_:[{token:"comment.line.double-dash.source.rust",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.source.rust"}]},{token:"comment.block.source.rust",regex:"/\\*",push:[{token:"comment.block.source.rust",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.source.rust"}]}],"#rust_escaped_character":[{token:"constant.character.escape.source.rust",regex:"\\\\(?:x[\\da-fA-F]{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}]},this.normalizeRules()};s.metaData={fileTypes:["rs","rc"],foldingStartMarker:"^.*\\bfn\\s*(\\w+\\s*)?\\([^\\)]*\\)(\\s*\\{[^\\}]*)?\\s*$",foldingStopMarker:"^\\s*\\}",name:"Rust",scopeName:"source.rust"},r.inherits(s,i),t.RustHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-sass.js b/static/js/lib/ace/src-min-noconflict/mode-sass.js new file mode 100644 index 0000000..4be3348 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-sass.js @@ -0,0 +1 @@ +ace.define("ace/mode/sass",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/sass_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./sass_highlight_rules").SassHighlightRules,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="//",this.$id="ace/mode/sass"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/sass_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/scss_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./scss_highlight_rules").ScssHighlightRules,o=function(){s.call(this);var e=this.$rules.start;e[1].token=="comment"&&(e.splice(1,1,{onMatch:function(e,t,n){return n.unshift(this.next,-1,e.length-2,t),"comment"},regex:/^\s*\/\*/,next:"comment"},{token:"error.invalid",regex:"/\\*|[{;}]"},{token:"support.type",regex:/^\s*:[\w\-]+\s/}),this.$rules.comment=[{regex:/^\s*/,onMatch:function(e,t,n){return n[1]===-1&&(n[1]=Math.max(n[2],e.length-1)),e.length<=n[1]?(n.shift(),n.shift(),n.shift(),this.next=n.shift(),"text"):(this.next="","comment")},next:"start"},{defaultToken:"comment"}])};r.inherits(o,s),t.SassHighlightRules=o}),ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u"},{token:"keyword",regex:"(?:use|include)"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(u,o),t.scadHighlightRules=u}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-scala.js b/static/js/lib/ace/src-min-noconflict/mode-scala.js new file mode 100644 index 0000000..f9e2584 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-scala.js @@ -0,0 +1 @@ +ace.define("ace/mode/scala",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/tokenizer","ace/mode/scala_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("../tokenizer").Tokenizer,o=e("./scala_highlight_rules").ScalaHighlightRules,u=function(){i.call(this),this.HighlightRules=o};r.inherits(u,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/scala"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/scala_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="case|default|do|else|for|if|match|while|throw|return|try|catch|finally|yield|abstract|class|def|extends|final|forSome|implicit|implicits|import|lazy|new|object|override|package|private|protected|sealed|super|this|trait|type|val|var|with",t="true|false",n="AbstractMethodError|AssertionError|ClassCircularityError|ClassFormatError|Deprecated|EnumConstantNotPresentException|ExceptionInInitializerError|IllegalAccessError|IllegalThreadStateException|InstantiationError|InternalError|NegativeArraySizeException|NoSuchFieldError|Override|Process|ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|SuppressWarnings|TypeNotPresentException|UnknownError|UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|InstantiationException|IndexOutOfBoundsException|ArrayIndexOutOfBoundsException|CloneNotSupportedException|NoSuchFieldException|IllegalArgumentException|NumberFormatException|SecurityException|Void|InheritableThreadLocal|IllegalStateException|InterruptedException|NoSuchMethodException|IllegalAccessException|UnsupportedOperationException|Enum|StrictMath|Package|Compiler|Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|Character|Boolean|StackTraceElement|Appendable|StringBuffer|Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|StackOverflowError|OutOfMemoryError|VirtualMachineError|ArrayStoreException|ClassCastException|LinkageError|NoClassDefFoundError|ClassNotFoundException|RuntimeException|Exception|ThreadDeath|Error|Throwable|System|ClassLoader|Cloneable|Class|CharSequence|Comparable|String|Object|Unit|Any|AnyVal|AnyRef|Null|ScalaObject|Singleton|Seq|Iterable|List|Option|Array|Char|Byte|Short|Int|Long|Nothing",r=this.createKeywordMapper({"variable.language":"this",keyword:e,"support.function":n,"constant.language":t},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'"""',next:"tstring"},{token:"string",regex:'"(?=.)',next:"string"},{token:"symbol.constant",regex:"'[\\w\\d_]+"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],string:[{token:"escape",regex:'\\\\"'},{token:"string",regex:'"',next:"start"},{token:"string.invalid",regex:'[^"\\\\]*$',next:"start"},{token:"string",regex:'[^"\\\\]+'}],tstring:[{token:"string",regex:'"{3,5}',next:"start"},{token:"string",regex:".+?"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};r.inherits(o,s),t.ScalaHighlightRules=o}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-scheme.js b/static/js/lib/ace/src-min-noconflict/mode-scheme.js new file mode 100644 index 0000000..fe9b5bd --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-scheme.js @@ -0,0 +1 @@ +ace.define("ace/mode/scheme",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/scheme_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./scheme_highlight_rules").SchemeHighlightRules,u=function(){this.HighlightRules=o};r.inherits(u,i),function(){this.lineCommentStart=";",this.$id="ace/mode/scheme"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/scheme_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="case|do|let|loop|if|else|when",t="eq?|eqv?|equal?|and|or|not|null?",n="#t|#f",r="cons|car|cdr|cond|lambda|lambda*|syntax-rules|format|set!|quote|eval|append|list|list?|member?|load",i=this.createKeywordMapper({"keyword.control":e,"keyword.operator":t,"constant.language":n,"support.function":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.scheme","text","entity.name.function.scheme"],regex:"(?:\\b(?:(define|define-syntax|define-macro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:"punctuation.definition.constant.character.scheme",regex:"#:\\S+"},{token:["punctuation.definition.variable.scheme","variable.other.global.scheme","punctuation.definition.variable.scheme"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"#[xXoObB][0-9a-fA-F]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?"},{token:i,regex:"[a-zA-Z_#][a-zA-Z0-9_\\-\\?\\!\\*]*"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.scheme",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+',merge:!0},{token:"string",regex:"\\\\$",next:"qqstring",merge:!0},{token:"string",regex:'"|$',next:"start",merge:!0}]}};r.inherits(s,i),t.SchemeHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-scss.js b/static/js/lib/ace/src-min-noconflict/mode-scss.js new file mode 100644 index 0000000..1fb27b9 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-scss.js @@ -0,0 +1 @@ +ace.define("ace/mode/scss",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/scss_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./scss_highlight_rules").ScssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scss"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-sh.js b/static/js/lib/ace/src-min-noconflict/mode-sh.js new file mode 100644 index 0000000..62d8bde --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-sh.js @@ -0,0 +1 @@ +ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./sh_highlight_rules").ShHighlightRules,u=e("../range").Range,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=o,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/sh"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set",o=t.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",u=function(){var e=this.createKeywordMapper({keyword:s,"support.function.builtin":o,"invalid.deprecated":"debugger"},"identifier"),t="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",r="(?:\\d+)",i="(?:(?:"+r+"?"+n+")|(?:"+r+"\\.))",u="(?:(?:"+i+"|"+r+")"+")",a="(?:"+u+"|"+i+")",f="(?:&"+r+")",l="[a-zA-Z][a-zA-Z0-9_]*",c="(?:(?:\\$"+l+")|(?:"+l+"=))",h="(?:\\$(?:SHLVL|\\$|\\!|\\?))",p="(?:"+l+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"constant",regex:/\$\w+/},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"variable.language",regex:h},{token:"variable",regex:c},{token:"support.function",regex:p},{token:"support.function",regex:f},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:a},{token:"constant.numeric",regex:t+"\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"}]},this.normalizeRules()};r.inherits(u,i),t.ShHighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-sjs.js b/static/js/lib/ace/src-min-noconflict/mode-sjs.js new file mode 100644 index 0000000..d49f84e --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-sjs.js @@ -0,0 +1 @@ +ace.define("ace/mode/sjs",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/tokenizer","ace/mode/sjs_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("../tokenizer").Tokenizer,o=e("./sjs_highlight_rules").SJSHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){var e=new o;this.$tokenizer=new s(e.getRules()),this.$outdent=new u,this.$behaviour=new a,this.$keywordList=e.$keywordList,this.foldingRules=new f};r.inherits(l,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/sjs"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/sjs_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=new i,t="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",n=function(e){return e.isContextAware=!0,e},r=function(e){return{token:e.token,regex:e.regex,next:n(function(t,n){return n.length===0&&n.unshift(t),n.unshift(e.next),e.next})}},s=function(e){return{token:e.token,regex:e.regex,next:n(function(e,t){return t.shift(),t[0]||"start"})}};this.$rules=e.$rules,this.$rules.no_regex=[{token:"keyword",regex:"(waitfor|or|and|collapse|spawn|retract)\\b"},{token:"keyword.operator",regex:"(->|=>|\\.\\.)"},{token:"variable.language",regex:"(hold|default)\\b"},r({token:"string",regex:"`",next:"bstring"}),r({token:"string",regex:'"',next:"qqstring"}),r({token:"string",regex:'"',next:"qqstring"}),{token:["paren.lparen","text","paren.rparen"],regex:"(\\{)(\\s*)(\\|)",next:"block_arguments"}].concat(this.$rules.no_regex),this.$rules.block_arguments=[{token:"paren.rparen",regex:"\\|",next:"no_regex"}].concat(this.$rules.function_arguments),this.$rules.bstring=[{token:"constant.language.escape",regex:t},{token:"string",regex:"\\\\$",next:"bstring"},r({token:"paren.lparen",regex:"\\$\\{",next:"string_interp"}),r({token:"paren.lparen",regex:"\\$",next:"bstring_interp_single"}),s({token:"string",regex:"`"}),{defaultToken:"string"}],this.$rules.qqstring=[{token:"constant.language.escape",regex:t},{token:"string",regex:"\\\\$",next:"qqstring"},r({token:"paren.lparen",regex:"#\\{",next:"string_interp"}),s({token:"string",regex:'"'}),{defaultToken:"string"}];var o=[];for(var u=0;ul){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u"},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){function f(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();if(!i||!f(i,"tag")&&(!f(i,"text")||!i.value.match("/")))do i=n.stepBackward();while(i&&(f(i,"string")||f(i,"operator")||f(i,"attribute-name")||f(i,"text")));if(i&&f(i,"tag-name")&&!n.stepBackward().value.match("/"))return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||i.value=="<"&&f(i,"text")?this.getTagCompletions(e,t,n,r):f(i,"text")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){var i=a;return r&&(i=i.filter(function(e){return e.indexOf(r)===0})),i.map(function(e){return{value:e,meta:"tag"}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),r&&(s=s.filter(function(e){return e.indexOf(r)===0})),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute"}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/soy_template_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=function(){i.call(this);var e={start:[{include:"#template"},{include:"#if"},{include:"#comment-line"},{include:"#comment-block"},{include:"#comment-doc"},{include:"#call"},{include:"#css"},{include:"#param"},{include:"#print"},{include:"#msg"},{include:"#for"},{include:"#foreach"},{include:"#switch"},{include:"#tag"},{include:"text.html.basic"}],"#call":[{token:["punctuation.definition.tag.begin.soy","meta.tag.call.soy"],regex:"(\\{/?)(\\s*)(?=call|delcall)",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{token:["entity.name.tag.soy","variable.parameter.soy"],regex:"(call|delcall)(\\s+[\\.\\w]+)"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy"],regex:"\\b(data)(\\s*)(=)"},{defaultToken:"meta.tag.call.soy"}]}],"#comment-line":[{token:["comment.line.double-slash.soy","punctuation.definition.comment.soy","comment.line.double-slash.soy"],regex:"(\\s+)(//)(.*$)"}],"#comment-block":[{token:"punctuation.definition.comment.begin.soy",regex:"/\\*(?!\\*)",push:[{token:"punctuation.definition.comment.end.soy",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.soy"}]}],"#comment-doc":[{token:"punctuation.definition.comment.begin.soy",regex:"/\\*\\*(?!/)",push:[{token:"punctuation.definition.comment.end.soy",regex:"\\*/",next:"pop"},{token:["support.type.soy","text","variable.parameter.soy"],regex:"(@param|@param\\?)(\\s+)(\\w+)"},{defaultToken:"comment.block.documentation.soy"}]}],"#css":[{token:["punctuation.definition.tag.begin.soy","meta.tag.css.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(css)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:"support.constant.soy",regex:"\\b(?:LITERAL|REFERENCE|BACKEND_SPECIFIC|GOOG)\\b"},{defaultToken:"meta.tag.css.soy"}]}],"#for":[{token:["punctuation.definition.tag.begin.soy","meta.tag.for.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(for)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:"keyword.operator.soy",regex:"\\bin\\b"},{token:"support.function.soy",regex:"\\brange\\b"},{include:"#variable"},{include:"#number"},{include:"#primitive"},{defaultToken:"meta.tag.for.soy"}]}],"#foreach":[{token:["punctuation.definition.tag.begin.soy","meta.tag.foreach.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(foreach)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:"keyword.operator.soy",regex:"\\bin\\b"},{include:"#variable"},{defaultToken:"meta.tag.foreach.soy"}]}],"#function":[{token:"support.function.soy",regex:"\\b(?:isFirst|isLast|index|hasData|length|keys|round|floor|ceiling|min|max|randomInt)\\b"}],"#if":[{token:["punctuation.definition.tag.begin.soy","meta.tag.if.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(if|elseif)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{include:"#operator"},{include:"#function"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{defaultToken:"meta.tag.if.soy"}]}],"#namespace":[{token:["entity.name.tag.soy","text","variable.parameter.soy"],regex:"(namespace|delpackage)(\\s+)([\\w\\.]+)"}],"#number":[{token:"constant.numeric",regex:"[\\d]+"}],"#operator":[{token:"keyword.operator.soy",regex:"==|!=|\\band\\b|\\bor\\b|\\bnot\\b|-|\\+|/|\\?:"}],"#param":[{token:["punctuation.definition.tag.begin.soy","meta.tag.param.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(param)",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy"],regex:"\\b([\\w]*)(\\s*)((?::)?)"},{defaultToken:"meta.tag.param.soy"}]}],"#primitive":[{token:"constant.language.soy",regex:"\\b(?:null|false|true)\\b"}],"#msg":[{token:["punctuation.definition.tag.begin.soy","meta.tag.msg.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(msg)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy"],regex:"\\b(meaning|desc)(\\s*)(=)"},{defaultToken:"meta.tag.msg.soy"}]}],"#print":[{token:["punctuation.definition.tag.begin.soy","meta.tag.print.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(print)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{include:"#print-parameter"},{include:"#number"},{include:"#primitive"},{include:"#attribute-lookup"},{defaultToken:"meta.tag.print.soy"}]}],"#print-parameter":[{token:"keyword.operator.soy",regex:"\\|"},{token:"variable.parameter.soy",regex:"noAutoescape|id|escapeHtml|escapeJs|insertWorkBreaks|truncate"}],"#special-character":[{token:"support.constant.soy",regex:"\\bsp\\b|\\bnil\\b|\\\\r|\\\\n|\\\\t|\\blb\\b|\\brb\\b"}],"#string-quoted-double":[{token:"string.quoted.double",regex:'"[^"]*"'}],"#string-quoted-single":[{token:"string.quoted.single",regex:"'[^']*'"}],"#switch":[{token:["punctuation.definition.tag.begin.soy","meta.tag.switch.soy","entity.name.tag.soy"],regex:"(\\{/?)(\\s*)(switch|case)\\b",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#variable"},{include:"#function"},{include:"#number"},{include:"#string-quoted-single"},{include:"#string-quoted-double"},{defaultToken:"meta.tag.switch.soy"}]}],"#attribute-lookup":[{token:"punctuation.definition.attribute-lookup.begin.soy",regex:"\\[",push:[{token:"punctuation.definition.attribute-lookup.end.soy",regex:"\\]",next:"pop"},{include:"#variable"},{include:"#function"},{include:"#operator"},{include:"#number"},{include:"#primitive"},{include:"#string-quoted-single"},{include:"#string-quoted-double"}]}],"#tag":[{token:"punctuation.definition.tag.begin.soy",regex:"\\{",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{include:"#namespace"},{include:"#variable"},{include:"#special-character"},{include:"#tag-simple"},{include:"#function"},{include:"#operator"},{include:"#attribute-lookup"},{include:"#number"},{include:"#primitive"},{include:"#print-parameter"}]}],"#tag-simple":[{token:"entity.name.tag.soy",regex:"{{\\s*(?:literal|else|ifempty|default)\\s*(?=\\})"}],"#template":[{token:["punctuation.definition.tag.begin.soy","meta.tag.template.soy"],regex:"(\\{/?)(\\s*)(?=template|deltemplate)",push:[{token:"punctuation.definition.tag.end.soy",regex:"\\}",next:"pop"},{token:["entity.name.tag.soy","text","entity.name.function.soy"],regex:"(template|deltemplate)(\\s+)([\\.\\w]+)",originalRegex:"(?<=template|deltemplate)\\s+([\\.\\w]+)"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.double.soy"],regex:'\\b(private)(\\s*)(=)(\\s*)("true"|"false")'},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.single.soy"],regex:"\\b(private)(\\s*)(=)(\\s*)('true'|'false')"},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.double.soy"],regex:'\\b(autoescape)(\\s*)(=)(\\s*)("true"|"false"|"contextual")'},{token:["entity.other.attribute-name.soy","text","keyword.operator.soy","text","string.quoted.single.soy"],regex:"\\b(autoescape)(\\s*)(=)(\\s*)('true'|'false'|'contextual')"},{defaultToken:"meta.tag.template.soy"}]}],"#variable":[{token:"variable.other.soy",regex:"\\$[\\w\\.]+"}]};for(var t in e)this.$rules[t]?this.$rules[t].unshift.call(this.$rules[t],e[t]):this.$rules[t]=e[t];this.normalizeRules()};s.metaData={comment:"SoyTemplate",fileTypes:["soy"],firstLineMatch:"\\{\\s*namespace\\b",foldingStartMarker:"\\{\\s*template\\s+[^\\}]*\\}",foldingStopMarker:"\\{\\s*/\\s*template\\s*\\}",name:"SoyTemplate",scopeName:"source.soy"},r.inherits(s,i),t.SoyTemplateHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-space.js b/static/js/lib/ace/src-min-noconflict/mode-space.js new file mode 100644 index 0000000..fe6b977 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-space.js @@ -0,0 +1 @@ +ace.define("ace/mode/space",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/folding/coffee","ace/mode/space_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./folding/coffee").FoldMode,u=e("./space_highlight_rules").SpaceHighlightRules,a=function(){var e=new u;this.$tokenizer=new s(e.getRules()),this.foldingRules=new o};r.inherits(a,i),function(){this.$id="ace/mode/space"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.SqlHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-stylus.js b/static/js/lib/ace/src-min-noconflict/mode-stylus.js new file mode 100644 index 0000000..6e50ebc --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-stylus.js @@ -0,0 +1 @@ +ace.define("ace/mode/stylus",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/stylus_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./stylus_highlight_rules").StylusHighlightRules,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.$id="ace/mode/stylus"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/stylus_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=e("./css_highlight_rules"),o=function(){var e=this.createKeywordMapper({"support.type":s.supportType,"support.function":s.supportFunction,"support.constant":s.supportConstant,"support.constant.color":s.supportConstantColor,"support.constant.fonts":s.supportConstantFonts},"text",!0);this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:["entity.name.function.stylus","text"],regex:"^([-a-zA-Z_][-\\w]*)?(\\()"},{token:["entity.other.attribute-name.class.stylus"],regex:"\\.-?[_a-zA-Z]+[_a-zA-Z0-9-]*"},{token:["entity.language.stylus"],regex:"^ *&"},{token:["variable.language.stylus"],regex:"(arguments)"},{token:["keyword.stylus"],regex:"@[-\\w]+"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:s.pseudoElements},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:s.pseudoClasses},{token:["entity.name.tag.stylus"],regex:"(?:\\b)(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(?:h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|samp|script|section|select|small|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)(?:\\b)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation.definition.entity.stylus","entity.other.attribute-name.id.stylus"],regex:"(#)([a-zA-Z][a-zA-Z0-9_-]*)"},{token:"meta.vendor-prefix.stylus",regex:"-webkit-|-moz\\-|-ms-|-o-"},{token:"keyword.control.stylus",regex:"(?:!important|for|in|return|true|false|null|if|else|unless|return)\\b"},{token:"keyword.operator.stylus",regex:"!|~|\\+|-|(?:\\*)?\\*|\\/|%|(?:\\.)\\.\\.|<|>|(?:=|:|\\?|\\+|-|\\*|\\/|%|<|>)?=|!="},{token:"keyword.operator.stylus",regex:"(?:in|is(?:nt)?|not)\\b"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:s.numRe},{token:"keyword",regex:"(?:ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)\\b"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"}],qstring:[{token:"string",regex:"[^'\\\\]+"},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"}]}};r.inherits(o,i),t.StylusHighlightRules=o}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u"},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e){o.call(this),this.voidElements=e||{}};r.inherits(a,o),function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r.closing?t=="markbeginend"?"end":"":!r.tagName||this.voidElements[r.tagName.toLowerCase()]?"":r.selfClosing?"":r.value.indexOf("/"+r.tagName)!==-1?"":"start"},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r="";for(var s=0;s?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/svg_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,o=function(){s.call(this),this.embedTagRules(i,"js-","script"),this.normalizeRules()};r.inherits(o,s),t.SvgHighlightRules=o}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-tcl.js b/static/js/lib/ace/src-min-noconflict/mode-tcl.js new file mode 100644 index 0000000..aac9f62 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-tcl.js @@ -0,0 +1 @@ +ace.define("ace/mode/tcl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/folding/cstyle","ace/mode/tcl_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./folding/cstyle").FoldMode,u=e("./tcl_highlight_rules").TclHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,f=e("../range").Range,l=function(){this.HighlightRules=u,this.$outdent=new a,this.foldingRules=new o};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/tcl"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/tcl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:"#.*\\\\$",next:"commentfollow"},{token:"comment",regex:"#.*$"},{token:"support.function",regex:"[\\\\]$",next:"splitlineStart"},{token:"text",regex:'[\\\\](?:["]|[{]|[}]|[[]|[]]|[$]|[])'},{token:"text",regex:"^|[^{][;][^}]|[/\r/]",next:"commandItem"},{token:"string",regex:'[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'[ ]*["]',next:"qqstring"},{token:"variable.instance",regex:"[$]",next:"variable"},{token:"support.function",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::"},{token:"identifier",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"paren.lparen",regex:"[[{]",next:"commandItem"},{token:"paren.lparen",regex:"[(]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],commandItem:[{token:"comment",regex:"#.*\\\\$",next:"commentfollow"},{token:"comment",regex:"#.*$",next:"start"},{token:"string",regex:'[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"variable.instance",regex:"[$]",next:"variable"},{token:"support.function",regex:"(?:[:][:])[a-zA-Z0-9_/]+(?:[:][:])",next:"commandItem"},{token:"support.function",regex:"[a-zA-Z0-9_/]+(?:[:][:])",next:"commandItem"},{token:"support.function",regex:"(?:[:][:])",next:"commandItem"},{token:"paren.rparen",regex:"[\\])}]"},{token:"support.function",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::"},{token:"keyword",regex:"[a-zA-Z0-9_/]+",next:"start"}],commentfollow:[{token:"comment",regex:".*\\\\$",next:"commentfollow"},{token:"comment",regex:".+",next:"start"}],splitlineStart:[{token:"text",regex:"^.",next:"start"}],variable:[{token:"variable.instance",regex:"[a-zA-Z_\\d]+(?:[(][a-zA-Z_\\d]+[)])?",next:"start"},{token:"variable.instance",regex:"{?[a-zA-Z_\\d]+}?",next:"start"}],qqstring:[{token:"string",regex:'(?:[^\\\\]|\\\\.)*?["]',next:"start"},{token:"string",regex:".+"}]}};r.inherits(s,i),t.TclHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-tex.js b/static/js/lib/ace/src-min-noconflict/mode-tex.js new file mode 100644 index 0000000..5edb740 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-tex.js @@ -0,0 +1 @@ +ace.define("ace/mode/tex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./text_highlight_rules").TextHighlightRules,u=e("./tex_highlight_rules").TexHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,f=function(e){e?this.HighlightRules=o:this.HighlightRules=u,this.$outdent=new a};r.inherits(f,i),function(){this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.allowAutoInsert=function(){return!1},this.$id="ace/mode/tex"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/tex_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){e||(e="text"),this.$rules={start:[{token:"comment",regex:"%.*$"},{token:e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b",next:"nospell"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:e,regex:"\\s+"}],nospell:[{token:"comment",regex:"%.*$",next:"start"},{token:"nospell."+e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b"},{token:"keyword",regex:"\\\\(?:[a-zA-z0-9]+|[^a-zA-z0-9])",next:"start"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])]"},{token:"paren.keyword.operator",regex:"}",next:"start"},{token:"nospell."+e,regex:"\\s+"},{token:"nospell."+e,regex:"\\w+"}]}};r.inherits(o,s),t.TexHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-text.js b/static/js/lib/ace/src-min-noconflict/mode-text.js new file mode 100644 index 0000000..e69de29 diff --git a/static/js/lib/ace/src-min-noconflict/mode-textile.js b/static/js/lib/ace/src-min-noconflict/mode-textile.js new file mode 100644 index 0000000..8d5e873 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-textile.js @@ -0,0 +1 @@ +ace.define("ace/mode/textile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/textile_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./textile_highlight_rules").TextileHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=function(){this.HighlightRules=o,this.$outdent=new u};r.inherits(a,i),function(){this.getNextLineIndent=function(e,t,n){return e=="intag"?n:""},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/textile"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/textile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:function(e){return e.charAt(0)=="h"?"markup.heading."+e.charAt(1):"markup.heading"},regex:"h1|h2|h3|h4|h5|h6|bq|p|bc|pre",next:"blocktag"},{token:"keyword",regex:"[\\*]+|[#]+"},{token:"text",regex:".+"}],blocktag:[{token:"keyword",regex:"\\. ",next:"start"},{token:"keyword",regex:"\\(",next:"blocktagproperties"}],blocktagproperties:[{token:"keyword",regex:"\\)",next:"blocktag"},{token:"string",regex:"[a-zA-Z0-9\\-_]+"},{token:"keyword",regex:"#"}]}};r.inherits(s,i),t.TextileHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-toml.js b/static/js/lib/ace/src-min-noconflict/mode-toml.js new file mode 100644 index 0000000..19f0b50 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-toml.js @@ -0,0 +1 @@ +ace.define("ace/mode/toml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/toml_highlight_rules","ace/mode/folding/ini"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./toml_highlight_rules").TomlHighlightRules,u=e("./folding/ini").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="#",this.$id="ace/mode/toml"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/toml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({"constant.language.boolean":"true|false"},"identifier"),t="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b";this.$rules={start:[{token:"comment.toml",regex:/#.*$/},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:["variable.keygroup.toml"],regex:"(?:^\\s*)(\\[([^\\]]+)\\])"},{token:e,regex:t},{token:"support.date.toml",regex:"\\d{4}-\\d{2}-\\d{2}(T)\\d{2}:\\d{2}:\\d{2}(Z)"},{token:"constant.numeric.toml",regex:"-?\\d+(\\.?\\d+)?"}],qqstring:[{token:"string",regex:"\\\\$",next:"qqstring"},{token:"constant.language.escape",regex:'\\\\[0tnr"\\\\]'},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.TomlHighlightRules=s}),ace.define("ace/mode/folding/ini",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(){};r.inherits(o,s),function(){this.foldingStartMarker=/^\s*\[([^\])]*)]\s*(?:$|[;#])/,this.getFoldWidgetRange=function(e,t,n){var r=this.foldingStartMarker,s=e.getLine(n),o=s.match(r);if(!o)return;var u=o[1]+".",a=s.length,f=e.getLength(),l=n,c=n;while(++nl){var h=e.getLine(c).length;return new i(l,a,c,h)}}}.call(o.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-twig.js b/static/js/lib/ace/src-min-noconflict/mode-twig.js new file mode 100644 index 0000000..3f7a4c4 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-twig.js @@ -0,0 +1 @@ +ace.define("ace/mode/twig",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/tokenizer","ace/mode/twig_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html","ace/mode/matching_brace_outdent"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./css").Mode,u=e("../tokenizer").Tokenizer,a=e("./twig_highlight_rules").TwigHighlightRules,f=e("./behaviour/html").HtmlBehaviour,l=e("./folding/html").FoldMode,c=e("./matching_brace_outdent").MatchingBraceOutdent,h=function(){this.HighlightRules=a,this.$outdent=new c,this.$behaviour=new f,this.createModeDelegates({"js-":s,"css-":o}),this.foldingRules=new l};r.inherits(h,i),function(){this.blockComment={start:"{#",end:"#}"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/twig"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./css_highlight_rules").CssHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/twig_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./html_highlight_rules").HtmlHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){s.call(this);var e="autoescape|block|do|embed|extends|filter|flush|for|from|if|import|include|macro|sandbox|set|spaceless|use|verbatim";e=e+"|end"+e.replace(/\|/g,"|end");var t="abs|batch|capitalize|convert_encoding|date|date_modify|default|e|escape|first|format|join|json_encode|keys|last|length|lower|merge|nl2br|number_format|raw|replace|reverse|slice|sort|split|striptags|title|trim|upper|url_encode",n="attribute|constant|cycle|date|dump|parent|random|range|template_from_string",r="constant|divisibleby|sameas|defined|empty|even|iterable|odd",i="null|none|true|false",o="b-and|b-xor|b-or|in|is|and|or|not",u=this.createKeywordMapper({"keyword.control.twig":e,"support.function.twig":[t,n,r].join("|"),"keyword.operator.twig":o,"constant.language.twig":i},"identifier");for(var a in this.$rules)this.$rules[a].unshift({token:"variable.other.readwrite.local.twig",regex:"\\{\\{-?",push:"twig-start"},{token:"meta.tag.twig",regex:"\\{%-?",push:"twig-start"},{token:"comment.block.twig",regex:"\\{#-?",push:"twig-comment"});this.$rules["twig-comment"]=[{token:"comment.block.twig",regex:".*-?#\\}",next:"pop"}],this.$rules["twig-start"]=[{token:"variable.other.readwrite.local.twig",regex:"-?\\}\\}",next:"pop"},{token:"meta.tag.twig",regex:"-?%\\}",next:"pop"},{token:"string",regex:"'",next:"twig-qstring"},{token:"string",regex:'"',next:"twig-qqstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator.assignment",regex:"=|~"},{token:"keyword.operator.comparison",regex:"==|!=|<|>|>=|<=|==="},{token:"keyword.operator.arithmetic",regex:"\\+|-|/|%|//|\\*|\\*\\*"},{token:"keyword.operator.other",regex:"\\.\\.|\\|"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./},{token:"paren.lparen",regex:/[\[\({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"text",regex:"\\s+"}],this.$rules["twig-qqstring"]=[{token:"constant.language.escape",regex:/\\[\\"$#ntr]|#{[^"}]*}/},{token:"string",regex:'"',next:"twig-start"},{defaultToken:"string"}],this.$rules["twig-qstring"]=[{token:"constant.language.escape",regex:/\\[\\'ntr]}/},{token:"string",regex:"'",next:"twig-start"},{defaultToken:"string"}],this.normalizeRules()};r.inherits(u,o),t.TwigHighlightRules=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function a(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],f=function(){this.inherit(i),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-typescript.js b/static/js/lib/ace/src-min-noconflict/mode-typescript.js new file mode 100644 index 0000000..c8e58a0 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-typescript.js @@ -0,0 +1 @@ +ace.define("ace/mode/typescript",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/tokenizer","ace/mode/typescript_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/mode/matching_brace_outdent"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript").Mode,s=e("../tokenizer").Tokenizer,o=e("./typescript_highlight_rules").TypeScriptHighlightRules,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("./matching_brace_outdent").MatchingBraceOutdent,l=function(){this.HighlightRules=o,this.$outdent=new f,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.createWorker=function(e){return null},this.$id="ace/mode/typescript"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(h,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f=0,l=-1,c="",h=0,p=-1,d="",v="",m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/typescript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=function(){var e=[{token:["keyword.operator.ts","text","variable.parameter.function.ts","text"],regex:"\\b(module)(\\s*)([a-zA-Z0-9_?.$][\\w?.$]*)(\\s*\\{)"},{token:["storage.type.variable.ts","text","keyword.other.ts","text"],regex:"(super)(\\s*\\()([a-zA-Z0-9,_?.$\\s]+\\s*)(\\))"},{token:["entity.name.function.ts","paren.lparen","paren.rparen"],regex:"([a-zA-Z_?.$][\\w?.$]*)(\\()(\\))"},{token:["variable.parameter.function.ts","text","variable.parameter.function.ts"],regex:"([a-zA-Z0-9_?.$][\\w?.$]*)(\\s*:\\s*)([a-zA-Z0-9_?.$][\\w?.$]*)"},{token:["keyword.operator.ts"],regex:"(?:\\b(constructor|declare|interface|as|AS|public|private|class|extends|export|super)\\b)"},{token:["storage.type.variable.ts"],regex:"(?:\\b(this\\.|string\\b|bool\\b|number)\\b)"},{token:["keyword.operator.ts","storage.type.variable.ts","keyword.operator.ts","storage.type.variable.ts"],regex:"(class)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)(extends)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)?"},{token:"keyword",regex:"(?:super|export|class|extends|import)\\b"}],t=(new i).getRules();t.start=e.concat(t.start),this.$rules=t};r.inherits(s,i),t.TypeScriptHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-vbscript.js b/static/js/lib/ace/src-min-noconflict/mode-vbscript.js new file mode 100644 index 0000000..235262f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-vbscript.js @@ -0,0 +1 @@ +ace.define("ace/mode/vbscript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/vbscript_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./vbscript_highlight_rules").VBScriptHighlightRules,u=function(){this.HighlightRules=o};r.inherits(u,i),function(){this.lineCommentStart=["'","REM"],this.$id="ace/mode/vbscript"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/vbscript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["meta.ending-space"],regex:"$"},{token:[null],regex:"^(?=\\t)",next:"state_3"},{token:[null],regex:"^(?= )",next:"state_4"},{token:["text","storage.type.function.asp","text","entity.name.function.asp","text","punctuation.definition.parameters.asp","variable.parameter.function.asp","punctuation.definition.parameters.asp"],regex:"^(\\s*)(Function|Sub)(\\s*)([a-zA-Z_]\\w*)(\\s*)(\\()([^)]*)(\\))"},{token:"punctuation.definition.comment.asp",regex:"'|REM",next:"comment"},{token:["keyword.control.asp"],regex:"\\b(?:If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\b"},{token:"keyword.operator.asp",regex:"\\b(?:Mod|And|Not|Or|Xor|as)\\b"},{token:"storage.type.asp",regex:"Dim|Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End sub|End Function|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo"},{token:"storage.modifier.asp",regex:"\\b(?:Private|Public|Default)\\b"},{token:"constant.language.asp",regex:"\\b(?:Empty|False|Nothing|Null|True)\\b"},{token:"punctuation.definition.string.begin.asp",regex:'"',next:"string"},{token:["punctuation.definition.variable.asp"],regex:"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*"},{token:"support.class.asp",regex:"\\b(?:Application|ObjectContext|Request|Response|Server|Session)\\b"},{token:"support.class.collection.asp",regex:"\\b(?:Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\b"},{token:"support.constant.asp",regex:"\\b(?:TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\b"},{token:"support.function.asp",regex:"\\b(?:Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\b"},{token:"support.function.event.asp",regex:"\\b(?:Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\b"},{token:"support.function.vb.asp",regex:"\\b(?:Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Time|Timer|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\b"},{token:["constant.numeric.asp"],regex:"-?\\b(?:(?:0(?:x|X)[0-9a-fA-F]*)|(?:(?:[0-9]+\\.?[0-9]*)|(?:\\.[0-9]+))(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:L|l|UL|ul|u|U|F|f)?\\b"},{token:"support.type.vb.asp",regex:"\\b(?:vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\b"},{token:["entity.name.function.asp"],regex:"(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))"},{token:["keyword.operator.asp"],regex:"\\-|\\+|\\*\\/|\\>|\\<|\\=|\\&"}],state_3:[{token:["meta.odd-tab.tabs","meta.even-tab.tabs"],regex:"(\\t)(\\t)?"},{token:"meta.leading-space",regex:"(?=[^\\t])",next:"start"},{token:"meta.leading-space",regex:".",next:"state_3"}],state_4:[{token:["meta.odd-tab.spaces","meta.even-tab.spaces"],regex:"( )( )?"},{token:"meta.leading-space",regex:"(?=[^ ])",next:"start"},{defaultToken:"meta.leading-space"}],comment:[{token:"comment.line.apostrophe.asp",regex:"$|(?=(?:%>))",next:"start"},{defaultToken:"comment.line.apostrophe.asp"}],string:[{token:"constant.character.escape.apostrophe.asp",regex:'""'},{token:"string.quoted.double.asp",regex:'"',next:"start"},{defaultToken:"string.quoted.double.asp"}]}};r.inherits(s,i),t.VBScriptHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-velocity.js b/static/js/lib/ace/src-min-noconflict/mode-velocity.js new file mode 100644 index 0000000..8856f93 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-velocity.js @@ -0,0 +1 @@ +ace.define("ace/mode/velocity",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/velocity_highlight_rules","ace/mode/folding/velocity","ace/mode/behaviour/html"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./velocity_highlight_rules").VelocityHighlightRules,u=e("./folding/velocity").FoldMode,a=e("./behaviour/html").HtmlBehaviour,f=function(){this.HighlightRules=o,this.foldingRules=new u,this.$behaviour=new a};r.inherits(f,i),function(){this.lineCommentStart="##",this.blockComment={start:"#*",end:"*#"},this.$id="ace/mode/velocity"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/velocity_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./html_highlight_rules").HtmlHighlightRules,u=function(){o.call(this);var e=i.arrayToMap("true|false|null".split("|")),t=i.arrayToMap("_DateTool|_DisplayTool|_EscapeTool|_FieldTool|_MathTool|_NumberTool|_SerializerTool|_SortTool|_StringTool|_XPathTool".split("|")),n=i.arrayToMap("$contentRoot|$foreach".split("|")),r=i.arrayToMap("#set|#macro|#include|#parse|#if|#elseif|#else|#foreach|#break|#end|#stop".split("|"));this.$rules.start.push({token:"comment",regex:"##.*$"},{token:"comment.block",regex:"#\\*",next:"vm_comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:function(i){return r.hasOwnProperty(i)?"keyword":e.hasOwnProperty(i)?"constant.language":n.hasOwnProperty(i)?"variable.language":t.hasOwnProperty(i)||t.hasOwnProperty(i.substring(1))?"support.function":i=="debugger"?"invalid.deprecated":i.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*)$/)?"variable":"identifier"},regex:"[a-zA-Z$#][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"!|&|\\*|\\-|\\+|=|!=|<=|>=|<|>|&&|\\|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}),this.$rules.vm_comment=[{token:"comment",regex:"\\*#|-->",next:"start"},{defaultToken:"comment"}],this.$rules.vm_start=[{token:"variable",regex:"}",next:"pop"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:function(i){return r.hasOwnProperty(i)?"keyword":e.hasOwnProperty(i)?"constant.language":n.hasOwnProperty(i)?"variable.language":t.hasOwnProperty(i)||t.hasOwnProperty(i.substring(1))?"support.function":i=="debugger"?"invalid.deprecated":i.match(/^(\$[a-zA-Z_$][a-zA-Z0-9_]*)$/)?"variable":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|&|\\*|\\-|\\+|=|!=|<=|>=|<|>|&&|\\|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}];for(var s in this.$rules)this.$rules[s].unshift({token:"variable",regex:"\\${",push:"vm_start"});this.normalizeRules()};r.inherits(u,s),t.VelocityHighlightRules=u}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"space"},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.separator",regex:"=",push:[{include:"space"},{token:"string",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"string"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(<)([-_a-zA-Z0-9:]+)",next:"start_tag_stuff"},{token:function(e,t){var n=a[t];return["meta.tag.punctuation.begin","meta.tag.name"+(n?"."+n:"")]},regex:"(",next:"start"}],end_tag_stuff:[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/folding/velocity",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="##")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++nl){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u"){var s=n.getCursorPosition(),f=new o(r,s.row,s.column),l=f.getCurrentToken();if(l&&a(l,"string")&&f.getCurrentTokenColumn()+l.value.length>s.column)return;var c=!1;if(!l||!a(l,"meta.tag")&&(!a(l,"text")||!l.value.match("/"))){do l=f.stepBackward();while(l&&(a(l,"string")||a(l,"keyword.operator")||a(l,"entity.attribute-name")||a(l,"text")))}else c=!0;if(!l||!a(l,"meta.tag.name")||f.stepBackward().value.match("/"))return;var h=l.value;if(c)var h=h.substring(0,s.column-l.start);if(u.indexOf(h)!==-1)return;return{text:">",selection:[1,1]}}})};r.inherits(f,i),t.HtmlBehaviour=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-verilog.js b/static/js/lib/ace/src-min-noconflict/mode-verilog.js new file mode 100644 index 0000000..bc6b024 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-verilog.js @@ -0,0 +1 @@ +ace.define("ace/mode/verilog",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/verilog_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./verilog_highlight_rules").VerilogHighlightRules,u=e("../range").Range,a=function(){this.HighlightRules=o};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/verilog"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/verilog_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="always|and|assign|automatic|begin|buf|bufif0|bufif1|case|casex|casez|cell|cmos|config|deassign|default|defparam|design|disable|edge|else|end|endcase|endconfig|endfunction|endgenerate|endmodule|endprimitive|endspecify|endtable|endtask|event|for|force|forever|fork|function|generate|genvar|highz0|highz1|if|ifnone|incdir|include|initial|inout|input|instance|integer|join|large|liblist|library|localparam|macromodule|medium|module|nand|negedge|nmos|nor|noshowcancelled|not|notif0|notif1|or|output|parameter|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|rcmos|real|realtime|reg|release|repeat|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|showcancelled|signed|small|specify|specparam|strong0|strong1|supply0|supply1|table|task|time|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|unsigned|use|vectored|wait|wand|weak0|weak1|while|wire|wor|xnor|xorbegin|bufif0|bufif1|case|casex|casez|config|else|end|endcase|endconfig|endfunction|endgenerate|endmodule|endprimitive|endspecify|endtable|endtask|for|forever|function|generate|if|ifnone|macromodule|module|primitive|repeat|specify|table|task|while",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"//.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.VerilogHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-vhdl.js b/static/js/lib/ace/src-min-noconflict/mode-vhdl.js new file mode 100644 index 0000000..657868f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-vhdl.js @@ -0,0 +1 @@ +ace.define("ace/mode/vhdl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/vhdl_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./vhdl_highlight_rules").VHDLHighlightRules,u=e("../range").Range,a=function(){this.HighlightRules=o};r.inherits(a,i),function(){this.lineCommentStart="--",this.$id="ace/mode/vhdl"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/vhdl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="access|after|ailas|all|architecture|assert|attribute|begin|block|buffer|bus|case|component|configuration|disconnect|downto|else|elsif|end|entity|file|for|function|generate|generic|guarded|if|impure|in|inertial|inout|is|label|linkage|literal|loop|mapnew|next|of|on|open|others|out|port|process|pure|range|record|reject|report|return|select|shared|subtype|then|to|transport|type|unaffected|united|until|wait|when|while|with",t="bit|bit_vector|boolean|character|integer|line|natural|positive|real|register|severity|signal|signed|std_logic|std_logic_vector|string||text|time|unsigned|variable",n="array|constant",r="abs|and|mod|nand|nor|not|rem|rol|ror|sla|sll|srasrl|xnor|xor",i="true|false|null",s=this.createKeywordMapper({"keyword.operator":r,keyword:e,"constant.language":i,"storage.modifier":n,"storage.type":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"keyword",regex:"\\s*(?:library|package|use)\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"&|\\*|\\+|\\-|\\/|<|=|>|\\||=>|\\*\\*|:=|\\/=|>=|<=|<>"},{token:"punctuation.operator",regex:"\\'|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[(]"},{token:"paren.rparen",regex:"[\\])]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.VHDLHighlightRules=s}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-xml.js b/static/js/lib/ace/src-min-noconflict/mode-xml.js new file mode 100644 index 0000000..b4cfce0 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-xml.js @@ -0,0 +1 @@ +ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.blockComment={start:""},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./xml_util"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){this.$rules={start:[{token:"punctuation.string.begin",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_declaration"},{token:["punctuation.instruction.begin","keyword.instruction"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"instruction"},{token:"comment",regex:"<\\!--",next:"comment"},{token:["punctuation.doctype.begin","meta.tag.doctype"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype"},{include:"tag"},{include:"reference"}],xml_declaration:[{include:"attributes"},{include:"instruction"}],instruction:[{token:"punctuation.instruction.end",regex:"\\?>",next:"start"}],doctype:[{include:"space"},{include:"string"},{token:"punctuation.doctype.end",regex:">",next:"start"},{token:"xml-pe",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.begin",regex:"\\[",push:"declarations"}],declarations:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:"]",next:"pop"},{token:["punctuation.begin","keyword"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.end",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.end",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:"-->",next:"start"},{defaultToken:"comment"}],tag:[{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(<)((?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+)",next:[{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:"start"}]},{token:["meta.tag.punctuation.begin","meta.tag.name"],regex:"(",next:"start"}]}],space:[{token:"text",regex:"\\s+"}],reference:[{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"&"}],string:[{token:"string",regex:"'",push:"qstring_inner"},{token:"string",regex:'"',push:"qqstring_inner"}],qstring_inner:[{token:"string",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string"}],qqstring_inner:[{token:"string",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string"}],attributes:[{token:"entity.other.attribute-name",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.separator",regex:"="},{include:"space"},{include:"string"}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"(<)("+n+")",next:[{include:"space"},{include:"attributes"},{token:"meta.tag.punctuation.end",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"space"},{token:"meta.tag.punctuation.end",regex:">",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.begin","meta.tag.name."+n],regex:"("}])}}).call(s.prototype),r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e,t,n){function r(e){return[{token:"string",regex:'"',next:e+"_qqstring"},{token:"string",regex:"'",next:e+"_qstring"}]}function i(e,t){return[{token:"string",regex:e,next:t},{token:"constant.language.escape",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{defaultToken:"string"}]}t.tag=function(e,t,n,s){e[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e[t+"_embed_attribute_list"]=[{token:"meta.tag.r",regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){function u(e,t){var n=e.type.split(".");return t.split(".").every(function(e){return n.indexOf(e)!==-1})}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,a=function(){this.inherit(s,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),a=new o(r,s.row,s.column),f=a.getCurrentToken();if(f&&u(f,"string")&&a.getCurrentTokenColumn()+f.value.length>s.column)return;var l=!1;if(!f||!u(f,"meta.tag")&&(!u(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u(f,"string")||u(f,"keyword.operator")||u(f,"entity.attribute-name")||u(f,"text")))}else l=!0;if(!f||!u(f,"meta.tag.name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)var c=c.substring(0,s.column-f.start);return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c[0])||(f=0),l=r.row,c=n+i.substr(r.column),f++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f>0&&e.row===l&&n===c[0]&&t.substr(e.column)===c},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c=c.substr(1),f--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange(),f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=o.stringRepeat("}",h),m.clearMaybeInsertedClosing());var l=u.substring(s.column,s.column+1);if(l==="}"){var d=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!d)return null;var v=this.$getIndent(r.getLine(d.row))}else{if(!p)return;var v=this.$getIndent(u)}var g=v+r.getTabString();return{text:"\n"+g+"\n"+v+p,selection:[1,g.length,1,g.length]}}m.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row),h=0,p,d=-1;for(var v=0;vo.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};r.inherits(m,i),t.CstyleBehaviour=m}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e){o.call(this),this.voidElements=e||{}};r.inherits(a,o),function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r.closing?t=="markbeginend"?"end":"":!r.tagName||this.voidElements[r.tagName.toLowerCase()]?"":r.selfClosing?"":r.value.indexOf("/"+r.tagName)!==-1?"":"start"},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r="";for(var s=0;s?)/,this._parseTag=function(e){var t=e.match(this.tagRe),n=0;return{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){if(!r)var r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="",r;do if(t.type.lastIndexOf("meta.tag",0)===0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.column),l={row:n,column:r.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.column+r.match.length),c={row:n,column:r.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}.call(a.prototype)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/mode-xquery.js b/static/js/lib/ace/src-min-noconflict/mode-xquery.js new file mode 100644 index 0000000..d28479f --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/mode-xquery.js @@ -0,0 +1 @@ +ace.define("ace/mode/xquery",["require","exports","module","ace/worker/worker_client","ace/lib/oop","ace/mode/text","ace/mode/xquery/XQueryLexer","ace/range","ace/mode/behaviour/xquery","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../worker/worker_client").WorkerClient,i=e("../lib/oop"),s=e("./text").Mode,o=e("./xquery/XQueryLexer").XQueryLexer,u=e("../range").Range,a=e("./behaviour/xquery").XQueryBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.$tokenizer=new o,this.$behaviour=new a,this.foldingRules=new f};i.inherits(l,s),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=t.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return i&&(r+=n),r},this.checkOutdent=function(e,t,n){return/^\s+$/.test(t)?/^\s*[\}\)]/.test(n):!1},this.autoOutdent=function(e,t,n){var r=t.getLine(n),i=r.match(/^(\s*[\}\)])/);if(!i)return 0;var s=i[1].length,o=t.findMatchingBracket({row:n,column:s});if(!o||o.row==n)return 0;var a=this.$getIndent(t.getLine(o.row));t.replace(new u(n,0,n,s-1),a)},this.toggleCommentLines=function(e,t,n,r){var i,s,o=!0,a=/^\s*\(:(.*):\)/;for(i=n;i<=r;i++)if(!a.test(t.getLine(i))){o=!1;break}var f=new u(0,0,0,0);for(i=n;i<=r;i++)s=t.getLine(i),f.start.row=i,f.end.row=i,f.end.column=s.length,t.replace(f,o?s.match(a)[1]:"(:"+s+":)")},this.createWorker=function(e){var t=new r(["ace"],"ace/mode/xquery_worker","XQueryWorker"),n=this;return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations([t.data])}),t.on("ok",function(t){e.clearAnnotations()}),t.on("highlight",function(t){n.$tokenizer.tokens=t.data.tokens,n.$tokenizer.lines=e.getDocument().getAllLines();var r=Object.keys(n.$tokenizer.tokens);for(var i=0;i1&&e.pop()}},{name:"'{'",token:"text",next:function(e){e.push("start")}}].concat(o),_EQName:[{name:"EQName",token:"text",next:function(e){e.pop()}}].concat(u),Prefix:[{name:"NCName",token:"text",next:function(e){e.pop()}}].concat(u),StartTag:[{name:"'>'",token:"meta.tag",next:function(e){e.push("TagContent")}},{name:"QName",token:"entity.other.attribute-name"},{name:"'='",token:"text"},{name:"''''",token:"string",next:function(e){e.push("AposAttr")}},{name:"'\"'",token:"string",next:function(e){e.push("QuotAttr")}},{name:"'/>'",token:"meta.tag.r",next:function(e){e.pop()}}],TagContent:[{name:"ElementContentChar",token:"text"},{name:"''",token:l,next:function(e){e.pop()}}],CData:[{name:"CDataSectionContents",token:a},{name:"']]>'",token:a,next:function(e){e.pop()}}],PI:[{name:"DirPIContents",token:c},{name:"'?'",token:c},{name:"'?>'",token:c,next:function(e){e.pop()}}],AposString:[{name:"''''",token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposChar",token:"string"}],QuotString:[{name:"'\"'",token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeQuot",token:"constant.language.escape"},{name:"QuotChar",token:"string"}]};t.XQueryLexer=function(){function e(e){var t,n,r,e=e.slice(0).sort();t=e[0],r=t.length,n=e.pop();while(r&&n.indexOf(t)==-1)t=t.substring(0,--r);return t}this.tokens=[],this.getLineTokens=function(t,n,s){n=n==="start"||!n?'["start"]':n;var o=JSON.parse(n),u=new i(t),a=new r(t,u),f=[];for(;;){var l=o[o.length-1];try{u.tokens=[],a["parse_"+l]();var c=null;u.tokens.length>1&&u.tokens[0].name==="WS"&&(f.push({type:"text",value:u.tokens[0].value}),u.tokens.splice(0,1));var h=u.tokens[0],d=p[l];for(var v=0;vx?x:w),m=b,g=w,y=0):d(b,w,0,y,e)}function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}function c(e){var t;for(;;){t=C(e);if(t!=28)break}return t}function h(e){y==0&&(y=c(e),b=T,w=N)}function p(e){y==0&&(y=C(e),b=T,w=N)}function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o!=0;){var u,a=n>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]c){u=0;break}}}s=o;var p=(u<<12)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>4095&&(r=o,o&=4095,N=n)}r>>=12;if(r==0){N=n-1;var f=N=56320&&f<57344&&--N,d(T,N,s,-1,-1)}if(t)for(var v=r>>9;v>0;--v){--N;var f=N=56320&&f<57344&&--N}else N-=r>>9;return(r&511)-1}r(e,t);var n=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return S},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=S.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+S.substring(e.getBegin(),Math.min(S.length,e.getBegin()+64))+"..."},this.parse_start=function(){E.startNonterminal("start",g),h(14);switch(y){case 55:f(55);break;case 54:f(54);break;case 56:f(56);break;case 40:f(40);break;case 42:f(42);break;case 41:f(41);break;case 35:f(35);break;case 38:f(38);break;case 274:f(274);break;case 271:f(271);break;case 39:f(39);break;case 43:f(43);break;case 49:f(49);break;case 62:f(62);break;case 63:f(63);break;case 46:f(46);break;case 48:f(48);break;case 53:f(53);break;case 51:f(51);break;case 34:f(34);break;case 273:f(273);break;case 2:f(2);break;case 1:f(1);break;case 3:f(3);break;case 12:f(12);break;case 13:f(13);break;case 15:f(15);break;case 16:f(16);break;case 17:f(17);break;case 5:f(5);break;case 6:f(6);break;case 4:f(4);break;case 33:f(33);break;default:o()}E.endNonterminal("start",g)},this.parse_StartTag=function(){E.startNonterminal("StartTag",g),h(8);switch(y){case 58:f(58);break;case 50:f(50);break;case 27:f(27);break;case 57:f(57);break;case 35:f(35);break;case 38:f(38);break;default:f(33)}E.endNonterminal("StartTag",g)},this.parse_TagContent=function(){E.startNonterminal("TagContent",g),p(11);switch(y){case 23:f(23);break;case 6:f(6);break;case 7:f(7);break;case 55:f(55);break;case 54:f(54);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;default:f(33)}E.endNonterminal("TagContent",g)},this.parse_AposAttr=function(){E.startNonterminal("AposAttr",g),p(10);switch(y){case 20:f(20);break;case 25:f(25);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposAttr",g)},this.parse_QuotAttr=function(){E.startNonterminal("QuotAttr",g),p(9);switch(y){case 19:f(19);break;case 24:f(24);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotAttr",g)},this.parse_CData=function(){E.startNonterminal("CData",g),p(1);switch(y){case 11:f(11);break;case 64:f(64);break;default:f(33)}E.endNonterminal("CData",g)},this.parse_XMLComment=function(){E.startNonterminal("XMLComment",g),p(0);switch(y){case 9:f(9);break;case 47:f(47);break;default:f(33)}E.endNonterminal("XMLComment",g)},this.parse_PI=function(){E.startNonterminal("PI",g),p(3);switch(y){case 10:f(10);break;case 59:f(59);break;case 60:f(60);break;default:f(33)}E.endNonterminal("PI",g)},this.parse_Pragma=function(){E.startNonterminal("Pragma",g),p(2);switch(y){case 8:f(8);break;case 36:f(36);break;case 37:f(37);break;default:f(33)}E.endNonterminal("Pragma",g)},this.parse_Comment=function(){E.startNonterminal("Comment",g),p(4);switch(y){case 52:f(52);break;case 41:f(41);break;case 30:f(30);break;default:f(33)}E.endNonterminal("Comment",g)},this.parse_CommentDoc=function(){E.startNonterminal("CommentDoc",g),p(5);switch(y){case 31:f(31);break;case 32:f(32);break;case 52:f(52);break;case 41:f(41);break;default:f(33)}E.endNonterminal("CommentDoc",g)},this.parse_QuotString=function(){E.startNonterminal("QuotString",g),p(6);switch(y){case 18:f(18);break;case 29:f(29);break;case 19:f(19);break;case 21:f(21);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotString",g)},this.parse_AposString=function(){E.startNonterminal("AposString",g),p(7);switch(y){case 18:f(18);break;case 29:f(29);break;case 20:f(20);break;case 22:f(22);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposString",g)},this.parse_Prefix=function(){E.startNonterminal("Prefix",g),h(13),l(),a(),E.endNonterminal("Prefix",g)},this.parse__EQName=function(){E.startNonterminal("_EQName",g),h(12),l(),o(),E.endNonterminal("_EQName",g)};var v,m,g,y,b,w,E,S,x,T,N};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&4095;for(var i=0;i<276;i+=32){var s=i,o=(i>>5)*2062+n-1,u=o>>2,a=u>>2,f=r.EXPECTED[(o&3)+r.EXPECTED[(u&3)+r.EXPECTED[(a&3)+r.EXPECTED[a>>2]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,347,363,379,416,416,416,408,331,323,331,323,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,433,433,433,433,433,433,433,316,331,331,331,331,331,331,331,331,394,416,416,417,415,416,416,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,330,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35,35,35,35,35,35,35,35,35,35,35,35,31,31,35,35,35,35,35,35,35,65,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,35,31,35,31,31,35],r.INITIAL=[1,2,36867,45060,5,6,7,8,9,10,11,12,13,14,15],r.TRANSITION=[17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22908,18836,17152,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17365,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,17470,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18157,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,17848,17880,18731,17918,36551,17292,17934,17979,18727,18023,36545,18621,18039,18056,18072,18117,18143,18173,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17687,18805,18421,18437,18101,17393,18489,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18579,21711,17152,19008,19233,20367,19008,28684,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17365,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,17470,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18157,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,17848,17880,18731,17918,36551,17292,17934,17979,18727,18023,36545,18621,18039,18056,18072,18117,18143,18173,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17687,18805,18421,18437,18101,17393,18489,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20116,18836,18637,19008,19233,21267,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18763,18778,18794,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18821,22923,18906,19008,19233,17431,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18937,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,19054,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,18953,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21843,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21696,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22429,20131,18720,19008,19233,20367,19008,17173,23559,36437,17330,17349,18921,17189,17208,17281,20355,18087,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,21242,19111,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19024,18836,18609,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19081,22444,18987,19008,19233,20367,19008,19065,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21992,22007,18987,19008,19233,20367,19008,18690,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22414,18836,18987,19008,19233,30651,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,19138,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,19280,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,19172,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21783,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,19218,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21651,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19249,19265,19307,18888,27857,30536,24401,31444,23357,18888,19351,18888,18890,27211,19370,27211,27211,19392,24401,31911,24401,24401,25467,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19440,24401,24401,24401,24401,24036,17994,24060,18888,18888,18888,18890,19468,27211,27211,27211,27211,19484,35367,19520,24401,24401,24401,19628,18888,29855,18888,18888,23086,27211,19538,27211,27211,30756,24012,24401,19560,24401,24401,26750,18888,18888,19327,27855,27211,27211,19580,17590,24017,24401,24401,19600,25665,18888,18888,28518,27211,27212,24016,19620,19868,28435,25722,18889,19644,27211,32888,35852,19868,31018,19694,19376,19717,22215,19735,22098,19751,35203,19776,19797,19817,19840,25783,31738,24135,19701,19856,31015,23516,31008,28311,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21768,18836,19307,18888,27857,27904,24401,29183,28015,18888,18888,18888,18890,27211,27211,27211,27211,19888,24401,24401,24401,24401,22953,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19440,24401,24401,24401,24401,24036,18881,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22399,18836,19918,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21666,18836,19307,18888,27857,27525,24401,29183,21467,18888,18888,18888,18890,27211,27211,27211,27211,19946,24401,24401,24401,24401,32382,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19998,24401,24401,24401,24401,31500,18467,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,20021,24401,24401,24401,24401,24401,34271,18888,18888,18888,18888,23086,27211,27211,27211,27211,32926,29908,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,20050,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20101,19039,20191,20412,20903,17569,20309,20872,25633,20623,20505,20218,20242,17189,17208,17281,20355,20265,20306,20328,20383,22490,20796,20619,21354,20654,20410,20956,21232,20765,17421,20535,17192,18127,22459,20312,25531,22470,20309,20428,18964,20466,20491,21342,21070,20521,20682,17714,18326,17543,17559,17585,22497,20559,19504,20279,20575,20290,20475,20604,20639,20226,20670,17661,21190,17703,21176,17730,19494,20698,20711,22480,21046,21116,18971,21130,20727,20755,17675,17753,17832,17590,25518,20394,20781,20831,20202,20847,21401,17292,17934,17979,18549,20863,20588,25542,20888,20919,18072,18117,20935,20972,21032,21062,21086,18239,21102,18563,21146,21162,21206,18351,20949,20902,18340,21222,21258,21283,18360,20249,17405,21295,21311,21327,20739,20343,21370,21386,21417,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21977,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,21452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,21504,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,36501,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,28674,21946,17617,36473,18223,17237,17477,19152,17860,17892,17675,17753,17832,21575,21534,17481,19156,17864,18731,17918,36551,17292,17934,21560,30628,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21798,18836,21612,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21636,18836,18987,19008,19233,17902,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21753,19096,21903,19008,19233,20367,19008,19291,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17379,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,21931,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18280,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21962,18594,18987,19008,19233,22043,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21681,21858,18987,19008,19233,20367,19008,21544,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,32319,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,22231,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,31678,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,33588,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,35019,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22248,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22324,18836,22059,18888,27857,30501,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,34365,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22354,18836,18987,19008,19233,20367,19008,17173,27086,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,19930,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22309,22513,18987,19008,19233,20367,19008,19122,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,22544,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22608,18836,22988,23004,27585,23020,23036,23067,22087,18888,18888,18888,23083,27211,27211,27211,23102,22121,24401,24401,24401,23122,31386,26154,19674,18888,28119,28232,19424,23705,27211,27211,23142,23173,23189,23212,24401,24401,23246,34427,31693,23262,18888,23290,23308,27783,27620,23327,35263,35107,33383,23346,18193,23393,32748,23968,24401,23414,35153,23463,18888,33913,23442,23482,27211,27211,23532,23552,21431,23575,24401,24401,23604,26095,23635,23657,18888,33482,23685,33251,27211,22187,18851,23721,35536,24401,18887,23750,32641,27211,23769,23787,20080,33012,24384,25659,18888,18889,27211,27211,19719,23889,23803,31018,18890,27211,31833,19406,19447,23086,23330,19828,28224,31826,23823,26917,34978,23850,26493,25782,23878,23914,23516,31008,22105,19419,27963,19659,29781,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22623,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,28909,25783,27211,27211,27211,34048,23933,22164,24401,24401,24401,28409,23949,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,26583,18888,18888,18888,35585,23984,27211,27211,27211,24005,22201,24033,24401,24401,24401,24052,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,26496,24076,24126,24151,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22638,18836,22059,19678,27857,24185,24401,24201,24217,26592,18888,18888,18890,24252,24268,27211,27211,22121,24287,24303,24401,24401,30613,19781,35432,36007,32649,18888,25783,24322,28966,23771,27211,35072,22164,24358,32106,26829,24400,31500,31693,18888,18888,18888,24801,18890,27211,27211,27211,27211,24418,19484,24401,24401,24401,24401,20167,31181,18888,18888,18888,27833,23086,27211,27211,33540,27211,30756,21431,24401,24401,22972,24401,26095,18888,36131,18888,27855,27211,24440,27211,22187,22968,24401,24459,24401,31699,28454,18888,34528,34570,35779,24478,24402,24494,25659,18888,36228,27211,27211,24515,30981,23734,31018,18890,27211,31833,19406,19447,23086,23330,24538,31017,27856,31741,30059,23377,24563,19837,25782,19760,31015,23516,25374,22105,19419,29793,24579,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22653,18836,22059,25756,19982,34097,23196,29183,24614,24110,23641,24673,26103,24697,24443,24713,28558,22121,24748,24462,24764,23398,30613,18888,18888,18888,18888,24798,25783,27211,27211,27211,34232,35072,22164,24401,24401,24401,33302,31500,22559,24106,24232,18888,18888,34970,24817,30411,27211,27211,32484,19484,29750,35127,24401,24401,19872,31181,24852,18888,18888,24871,29221,27211,27211,32072,27211,30756,34441,24401,24401,31571,24401,26095,33141,27802,27011,27855,25295,25607,24888,22187,22968,19195,34593,24906,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,33663,27211,27211,24924,24947,23588,31018,18890,27211,31833,22135,19447,23086,23330,19828,30904,31042,24972,19840,25e3,31738,30898,25782,19760,31015,23516,31008,22105,19419,25016,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22668,18836,25041,25057,31320,25073,25089,25105,22087,34796,24236,36138,34870,34125,25121,23106,35497,22248,36613,25137,30671,27365,30613,25153,26447,25199,25233,22574,23274,25249,25265,25281,25318,25344,25360,25400,25428,25452,26731,25504,31693,23669,25558,27407,25575,28599,25934,25599,27211,28180,27304,25623,25839,25649,24401,34820,25681,25698,22586,27775,30190,25745,25778,25799,25817,28995,33569,30756,21518,33443,25837,25855,25893,26095,31254,26677,30136,27855,25930,25950,27211,22187,22968,25966,25986,24401,23428,27763,36330,26959,26002,26029,26045,26085,26119,26170,26203,26222,26239,30527,26372,26274,28404,31018,33757,27211,34262,26316,36729,26345,26366,35337,31017,26388,26407,30954,26350,33861,26434,26463,26479,26512,23516,33189,26531,26547,27963,31293,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22683,18836,26568,26181,26608,34097,26643,29183,22087,26669,18888,18888,18890,26693,27211,27211,27211,22121,26720,24401,24401,24401,30613,18888,18888,18888,18888,26774,25783,27211,27211,27211,26619,35072,22164,24401,24401,24401,21596,31500,31693,18888,18888,33978,18888,18890,27211,27211,25801,27211,27211,19484,24401,24401,24401,26792,24401,31181,18888,18888,18888,35464,23086,27211,27211,27211,26809,30756,21431,24401,24401,24401,26828,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,31948,18889,35707,27211,19719,26845,19868,31018,18890,27211,31833,19406,19447,23086,23330,26905,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,24984,31088,19419,26945,27651,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22698,18836,26999,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,23051,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,27033,24401,24401,24401,24401,24036,31693,18888,18888,27056,18888,18890,27211,27211,30320,27211,27211,27075,24401,24401,29032,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,33986,27855,27211,27211,27102,17590,24017,24401,24401,27123,27144,36254,27162,27210,27228,28500,18187,34842,33426,27244,35980,27277,27302,27320,36048,34013,20999,31882,21478,27895,27356,30287,27381,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,26329,30087,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,27406,27423,27445,35294,27461,22087,18888,18888,30140,18890,27211,27211,27989,27211,22121,24401,24401,25682,24401,18866,18888,18888,18888,18888,18888,34042,27211,27211,27211,27211,29700,22164,24401,24401,24401,24401,27128,31693,27477,18888,18888,18888,18890,27194,27211,27211,27211,27211,19484,35299,24401,24401,24401,24401,19628,18888,18888,18888,27059,23086,27211,27211,27211,33366,30756,24012,24401,24401,24401,35044,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,20815,27211,30818,19960,33969,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22713,18836,22059,27496,27516,27541,35231,27557,22087,29662,26292,23292,27573,24836,27601,27211,27636,22121,35544,27686,24401,27721,18866,18888,27799,18888,27818,22071,27853,32260,27211,26013,27873,27920,22164,29419,24401,29946,33413,26742,27751,26881,18888,18888,27261,36776,27936,27211,27211,27211,27988,28005,28031,28052,24401,24401,28069,28088,28135,25488,28152,26069,28167,27211,28340,24657,28196,30756,31523,24401,28212,34176,36174,24956,28248,28266,28290,21488,33077,28327,28356,17590,20986,23126,28391,28425,28102,28451,28470,28490,28516,28534,20034,33728,25868,25659,18888,18889,27211,27211,19719,23889,19868,30241,28274,28553,28574,19406,28590,23086,23330,19828,19452,28615,28660,26147,25783,31738,19837,25782,19760,29613,35958,29276,22105,19419,27963,23157,28700,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,22528,18888,18888,18888,18888,18890,27333,27211,27211,27211,27211,19484,30853,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22728,18836,28747,28782,28817,28841,28857,28880,28896,24161,28943,32011,36261,27340,28961,29492,28982,29011,24522,29027,25436,29048,23051,27500,29090,29110,30713,18888,23512,29130,25183,27211,29155,28927,27033,29173,23230,24401,29199,35373,31693,18888,18888,25583,32629,29218,27211,27211,31461,30692,29237,27075,24401,24401,24401,29262,29302,19628,18888,34329,18888,18888,23086,27211,29329,27211,27211,30756,24012,35933,24401,24401,24401,27705,31612,18888,18888,29346,29374,27211,35650,17590,21436,29393,24401,25970,18887,33895,18888,27211,32528,27212,24016,32769,19868,25659,18888,26889,27211,27211,29412,23889,24371,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31768,19840,25783,31738,19837,29435,29508,31102,29550,29606,22105,30300,29462,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22743,18836,22059,29629,29473,34097,33285,29183,29651,27254,18888,29678,33329,32535,27211,29694,29716,22121,19202,24401,32742,29741,18866,26776,33921,28474,18888,18888,25783,29766,27211,29809,27211,35072,22164,35825,24401,29828,24401,24036,36769,25217,18888,18888,29848,18890,27211,29871,27211,26258,27211,29894,24401,29929,24401,36587,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,29725,29962,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18473,18888,18888,19584,27211,27212,24016,29982,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19902,19447,32052,19544,19828,29998,30097,30031,19840,25783,30047,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,30075,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22758,18836,30121,30156,30206,30257,30273,30336,22087,35624,32837,25762,18890,29878,34934,26812,27211,22121,24931,23223,29202,24401,18866,34373,30352,18888,18888,18888,23447,24828,27211,27211,27211,35072,30370,35052,24401,24401,24401,24036,29523,18888,18888,27146,18888,31308,30386,27211,27211,30405,30558,19484,30427,24401,24401,29938,35686,19628,28766,30447,34506,35614,23086,28731,30482,30517,30552,30756,24012,20156,30574,30598,30667,26283,33464,28945,27670,30687,32915,33504,25328,17590,23963,20450,33837,21016,32397,26300,30708,30729,27885,30748,21588,36373,30779,26653,24628,33220,32514,30806,31835,25412,25906,26515,18890,28825,31833,26133,19447,28304,31730,23834,26057,30869,30885,32181,30920,30942,32797,25782,30970,31015,23516,31008,30997,31034,27963,19659,29450,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22773,18836,31058,31074,32463,31125,31141,31197,22087,18888,29534,35471,36738,27211,24342,31213,24424,22121,24401,20175,31229,31917,27736,31245,34334,27175,18888,29094,27286,27211,31278,31336,27211,31355,31371,24401,31402,31418,24401,31437,31693,18888,31619,32841,18888,18890,27211,27211,31460,31477,27211,19484,24401,24401,31497,36581,24401,33020,18888,18888,18888,18888,30007,27211,27211,27211,27211,31516,32310,24401,24401,24401,24401,31539,18888,28762,18888,24651,35740,27211,27211,28644,31565,35796,24401,24401,19318,32188,18888,24334,28366,27212,29966,29832,19868,25659,18888,18889,27211,27211,19719,31587,19868,31635,32435,33693,30105,31663,20005,31715,31757,31784,31812,30015,31851,31878,25783,31898,19837,25782,19760,31015,23516,31008,22105,19419,27963,31933,30221,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22788,18836,22059,25729,30466,31968,24306,31984,32e3,32807,35160,27017,29590,34941,19801,29377,33700,22121,27040,30431,29396,28864,29565,18888,18888,18888,32027,18888,25783,27211,27211,23698,27211,35072,22164,24401,24401,30845,24401,24036,32045,18888,26929,18888,18888,18890,27211,31481,32068,27211,27211,32088,24401,33058,32122,24401,24401,33736,18888,18888,33162,18888,23086,27211,27211,29484,27211,28375,32144,24401,24401,33831,24401,26750,18888,18888,18888,27855,27211,27211,27211,36704,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,33107,22171,33224,24271,32169,31017,27856,31741,19840,25783,31738,30234,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,32204,32232,32252,32677,33295,29074,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,23619,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,32276,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,32299,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,33886,18889,36065,27211,19719,35326,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22803,18836,32335,31647,34666,32351,32367,32417,22087,18888,32433,19335,32451,27211,32479,27107,32500,22121,24401,32551,20085,32572,18866,22287,23753,18888,18888,32602,32665,27211,32693,27211,26972,32713,32729,24401,32764,24401,25877,32785,34768,18888,27390,32823,24594,24855,32857,24890,32878,32904,27211,32942,32977,24401,33e3,29313,24401,30790,26206,27666,33904,18888,23086,36353,27211,33036,27211,30756,24012,32153,24401,33056,24401,35861,18888,18888,30354,27972,27211,27211,33800,17590,20145,24401,24401,34638,20811,18888,18888,33074,27211,27212,36167,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,34616,24169,33093,33123,33157,27856,31741,23862,26552,34302,19837,25782,19760,31015,23516,31008,33178,19973,27963,23497,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22818,18836,33205,28113,33240,34097,33275,29183,22087,33318,35438,18888,18890,33345,26391,33382,27211,22121,33399,28072,33442,24401,18866,22232,18888,33459,18888,18888,33480,33498,25175,27211,27211,26704,22164,24775,35239,24401,24401,25914,29580,18888,18888,31109,25211,33520,33539,27211,27211,33556,36284,19484,33585,24401,24401,33604,32556,19628,18888,18888,31262,33658,23086,27211,27211,33679,27211,30756,24012,24401,24401,33716,24401,26854,27480,18888,33752,27855,33259,34701,27211,17590,32102,24782,23807,24401,18887,18888,18888,27211,27211,27212,33773,36105,19868,25659,18888,23368,27211,29157,19719,23889,34454,29286,18890,33794,25302,33816,19447,34079,33853,31862,31017,27856,31741,33877,28920,33937,19837,30461,34002,22276,36041,34029,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22833,18836,34064,32616,34113,34141,34157,34192,34208,32216,36013,31549,31952,34224,34248,34287,29330,34350,34389,34413,34481,26793,18866,26187,29635,22293,18888,36654,25783,34522,34544,34566,25821,35072,22164,34586,34609,34632,19604,24036,36644,36674,24681,18888,32401,34654,31339,34682,34698,27211,34717,34753,28053,34812,34836,24401,33619,19628,34858,32236,34906,24598,33523,27612,34890,34922,24732,29246,36717,33634,34465,32984,34168,26750,34957,18888,18888,34994,35010,27211,33040,17590,29913,35035,24401,36304,25482,30171,35883,35068,35088,26627,20441,31173,35123,35143,35176,24640,30492,29358,19719,35192,35219,25384,28801,35255,35279,32586,34496,23086,23330,29061,31017,27856,31741,19840,25783,31738,24547,25164,35315,31796,35353,34316,22105,19419,27963,24091,28630,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22848,18836,22059,34782,34088,35389,21008,35405,35421,35454,18888,18888,23466,35487,27211,27211,27211,35513,31154,24401,24401,24401,35560,18888,26863,36664,35601,24872,25783,30389,23536,26250,35647,35666,22164,19522,19564,30582,35682,27697,35575,29114,18888,18888,18888,18890,27211,35702,27211,27211,27211,35723,24401,35527,24401,24401,24401,19628,30184,18888,18888,18888,23086,35739,27211,27211,27211,29139,22938,24401,24401,24401,24401,23898,35756,18888,18888,25025,35778,27211,27211,17590,20064,35795,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,23917,18890,34550,31833,22262,19447,23086,23330,26418,31017,27856,31741,19840,25783,35812,19837,27187,35841,33135,23516,31008,22105,22148,28712,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22863,18836,22059,35877,28723,34097,31164,29183,22087,26758,18888,22592,18890,23989,27211,29812,27211,22121,33778,24401,31421,24401,18866,18888,18888,26872,18888,18888,25783,27211,30732,27211,27211,35072,22164,24401,24908,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22878,18836,22059,27837,27857,35899,24401,35915,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31602,18888,18888,18888,18888,26223,27211,27211,27211,27211,27211,19484,35931,24401,24401,24401,24401,19628,18888,28136,18888,18888,35949,27211,32862,27211,32697,30756,24012,24401,32283,24401,32128,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22893,18836,22059,35974,34882,34097,33960,29183,35996,18888,23311,18888,36029,27211,27211,36064,36081,22121,24401,24401,36104,33950,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,36121,18888,25559,18888,18888,18890,27211,27211,30313,27211,27211,36154,24401,24401,34397,24401,24401,19628,28250,18888,18888,18888,23086,30926,27211,27211,27211,26983,24012,33642,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,19354,27857,36190,24401,36206,22087,18888,18888,18888,18007,27211,27211,27211,24724,22121,24401,24401,24401,30827,18866,18888,36222,18888,28795,18888,25783,35100,27211,27429,27211,35072,22164,30836,24401,24499,24401,24036,31693,18888,36244,18888,18888,18890,27211,36088,27211,27211,27211,19484,24401,28036,24401,24401,24401,19628,18888,18888,35631,18888,35762,27211,27211,36277,27211,34730,24012,24401,24401,36300,24401,36320,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,25712,18888,18888,36346,27211,27212,19184,24402,19868,25659,32029,18889,27211,33359,19719,23889,36369,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22384,18836,36389,19008,19233,20367,36434,17173,17595,36437,17330,17349,18921,17189,17208,17281,20355,36453,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20362,21726,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22369,18836,18987,19008,19233,20367,19008,21737,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21813,18836,36489,19008,19233,20367,19008,17173,17737,36437,17330,17349,18921,17189,17208,17281,20355,17768,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20543,22022,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,36517,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,19307,18888,27857,30756,24401,29183,28015,18888,18888,18888,18890,27211,27211,27211,27211,36567,24401,24401,24401,24401,22953,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,36603,24401,24401,24401,24401,24036,18881,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,36629,36690,18720,19008,19233,20367,19008,17454,17595,36437,17330,17349,18921,17189,17208,17281,20355,17223,17308,17327,17346,18918,36754,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20362,21726,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,0,94242,0,118820,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2482176,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,27,27,27,2207744,2404352,2412544,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3104768,2605056,2207744,2207744,2207744,2207744,2207744,2207744,2678784,2207744,2695168,2207744,2703360,2207744,2711552,2752512,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,0,2158592,2158592,3170304,3174400,2158592,0,139,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2158592,2158592,2158592,2863104,2891776,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2785280,2207744,2809856,2207744,2207744,2842624,2207744,2207744,2207744,2899968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2473984,2207744,2207744,2494464,2207744,2207744,2207744,2523136,2158592,2404352,2412544,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2605056,2158592,2158592,2158592,2158592,2158592,2158592,2678784,2158592,2695168,2158592,2703360,2158592,2711552,2752512,2158592,2158592,2785280,2158592,2158592,2785280,2158592,2809856,2158592,2158592,2842624,2158592,2158592,2158592,2899968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,18,0,0,0,0,0,0,0,2211840,0,0,641,0,2158592,0,0,0,0,0,0,0,0,2211840,0,0,32768,0,2158592,0,2158592,2158592,2158592,2383872,2158592,2158592,2158592,2158592,3006464,2383872,2207744,2207744,2207744,2207744,2158877,2158877,2158877,2158877,0,0,0,2158877,2572573,2158877,2158877,0,2207744,2207744,2596864,2207744,2207744,2207744,2207744,2207744,2207744,2641920,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,167936,0,0,2162688,0,0,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,0,0,2146304,2146304,2224128,2224128,2232320,2232320,2232320,641,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2531328,2158592,2158592,2158592,2158592,2158592,2617344,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,2158592,2502656,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2158592,2158592,2158592,2158592,2158592,2699264,2158592,2158592,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2207744,2863104,2891776,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3018752,2207744,3043328,2207744,2207744,2207744,2207744,3080192,2207744,2207744,3112960,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,172310,279,0,2162688,0,0,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2158592,2158592,2158592,2404352,2412544,2158592,2510848,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2584576,2158592,2609152,2158592,2158592,2629632,2158592,2158592,2158592,2686976,2158592,2715648,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2158592,2158592,3170304,3174400,2158592,2367488,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,0,2207744,2207744,2207744,2433024,2207744,2453504,2461696,2207744,2207744,2207744,2207744,2207744,2207744,2510848,2207744,2207744,2207744,2207744,2207744,2531328,2207744,2207744,2207744,2207744,2207744,2617344,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,1508,2715648,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2867200,2207744,2904064,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2580480,2207744,2207744,2207744,2207744,2621440,2207744,2207744,2207744,3149824,2207744,2207744,3170304,3174400,2207744,0,0,0,0,0,0,0,0,0,0,138,2158592,2158592,2158592,2404352,2412544,2707456,2732032,2207744,2207744,2207744,2822144,2826240,2207744,2895872,2207744,2207744,2924544,2207744,2207744,2973696,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,285,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3186688,2158592,2207744,2207744,2158592,2158592,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2158592,0,0,2535424,2543616,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2990080,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2572288,2981888,2207744,2207744,3002368,2207744,3047424,3063808,3076096,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3203072,2708960,2732032,2158592,2158592,2158592,2822144,2827748,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2981888,2158592,2158592,3002368,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2981888,2158592,2158592,3003876,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,20480,0,0,0,0,0,2162688,20480,0,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2908160,2527232,2207744,2207744,2576384,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2908160,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,286,2158592,2158592,0,0,2158592,2158592,2158592,2158592,2633728,2658304,0,0,2740224,2744320,0,2834432,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,0,0,29315,0,0,0,0,45,45,45,45,45,933,45,45,45,45,442,45,45,45,45,45,45,45,45,45,67,67,2494464,2158592,2158592,2158592,2524757,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,1504,2158592,2498560,2158592,2158592,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,2736128,2158592,2158592,0,2158592,2912256,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3108864,2158592,2158592,3133440,3145728,3153920,2375680,2379776,2207744,2207744,2420736,2207744,2449408,2207744,2207744,2207744,2498560,2207744,2207744,2207744,2207744,2568192,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,551,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,2020,2158592,2592768,2625536,2207744,2207744,2674688,2736128,2207744,2207744,2207744,2912256,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,542,0,544,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,641,0,0,0,0,0,0,2367488,2158592,2498560,2158592,2158592,1621,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,1608,97,97,97,97,97,97,97,97,97,97,1107,97,97,1110,97,97,3133440,3145728,3153920,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3014656,2158592,2158592,3051520,2158592,2158592,3100672,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2416640,2207744,2465792,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2633728,2658304,2740224,2744320,2834432,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,32768,0,0,0,0,0,0,2367488,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2158592,2158592,2478080,2158592,2158592,2158592,2535424,2543616,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3117056,2207744,2207744,2478080,2207744,2207744,2207744,2207744,2699264,2207744,2207744,2207744,2207744,2207744,2748416,2756608,2777088,2801664,2207744,2207744,2158877,2158877,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,0,0,2535709,2543901,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2990365,2158877,2158877,2158730,2158730,2158730,2158730,2158730,2572426,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158592,2158592,2478080,2207744,2207744,2990080,2207744,2207744,2158592,2158592,2482176,2158592,2158592,0,0,0,2158592,2158592,2158592,0,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,3010560,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158592,2428928,2158592,2514944,0,0,2158592,2588672,2158592,0,2838528,2158592,2158592,2158592,3010560,2158592,2506752,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,0,29315,922,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,1539,45,3006464,2383872,0,2020,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,2207744,0,0,2158592,2637824,2953216,2158592,2539520,2158592,2539520,2207744,0,0,2539520,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,0,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2965504,2965504,2965504,0,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2474269,2158877,2158877,0,0,2158877,2158877,2158877,2158877,2634013,2658589,0,0,2740509,2744605,0,2834717,40976,18,36884,45078,24,28,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,36884,0,0,0,24,24,24,27,27,27,27,90143,0,0,86016,0,0,2211840,102439,0,0,0,98347,0,2158592,2158592,2158592,2158592,2158592,3158016,0,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,0,94242,0,0,0,2211840,102439,0,0,106538,98347,135,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2158592,2158592,2158592,2596864,2158592,2158592,2158592,2158592,2158592,2158592,2641920,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2494464,2158592,2158592,2158592,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,0,27,27,0,2158592,2498560,2158592,2158592,0,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2494464,2158592,2158592,2158592,3006464,2383872,0,0,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,40976,18,36884,45078,24,27,147488,94242,147456,147488,106538,98347,0,0,147456,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,81920,0,94242,0,0,0,2211840,0,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2428928,2158592,2514944,2158592,2588672,2158592,2838528,2158592,2158592,40976,18,151573,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,1487,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,0,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,130,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,3096576,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,644,2207744,2207744,2207744,3186688,2207744,0,1080,0,1084,0,1088,0,0,0,0,0,0,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2531466,2158730,2158730,2158730,2158730,2158730,2617482,0,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2158592,2818048,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,159779,159744,102439,159779,98347,0,0,159744,40976,18,18,36884,0,45078,0,2224253,172032,2224253,2232448,2232448,172032,2232448,90143,0,0,2170880,0,0,550,829,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,124,124,127,127,127,40976,18,36884,45078,25,29,90143,94242,0,102439,106538,98347,0,0,163931,40976,18,18,36884,0,45078,249856,24,24,24,27,27,27,27,90143,0,0,2170880,0,0,827,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,4243810,4243810,24,24,27,27,27,2207744,0,0,0,0,0,0,2166784,0,0,0,0,57344,286,2158592,2158592,2158592,2158592,2707456,2732032,2158592,2158592,2158592,2822144,2826240,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,53248,0,0,0,0,0,97,97,97,97,97,1613,97,97,97,97,97,97,1495,97,97,97,97,97,97,97,97,97,566,97,97,97,97,97,97,2207744,0,0,0,0,0,0,2166784,546,0,0,0,0,286,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,17,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,120,121,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,2170880,0,53248,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,196608,18,266240,24,24,27,27,27,0,94242,0,0,0,38,102439,0,0,106538,98347,0,45,45,45,45,45,45,45,1535,45,45,45,45,45,45,45,1416,45,45,45,45,45,45,45,45,424,45,45,45,45,45,45,45,45,45,405,45,45,45,45,45,45,45,45,45,45,45,45,45,199,45,45,67,67,67,67,67,491,67,67,67,67,67,67,67,67,67,67,67,1766,67,67,67,1767,67,24850,24850,12564,12564,0,0,2166784,546,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,743,57889,0,2170880,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1856,45,1858,1859,67,67,67,1009,67,67,67,67,67,67,67,67,67,67,67,1021,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,0,2367773,2158877,2158877,2158877,2158877,2158877,2158877,2699549,2158877,2158877,2158877,2158877,2158877,2748701,2756893,2777373,2801949,97,1115,97,97,97,97,97,97,97,97,97,97,97,97,97,97,857,97,67,67,67,67,67,1258,67,67,67,67,67,67,67,67,67,67,67,1826,67,97,97,97,97,97,97,1338,97,97,97,97,97,97,97,97,97,97,97,97,97,870,97,97,67,67,67,1463,67,67,67,67,67,67,67,67,67,67,67,67,67,1579,67,67,97,97,97,1518,97,97,97,97,97,97,97,97,97,97,97,97,97,904,905,97,97,97,97,1620,97,97,97,97,97,97,97,97,97,97,97,0,921,0,0,0,0,0,0,45,1679,67,67,67,1682,67,67,67,67,67,67,67,67,67,1690,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,669,45,45,45,45,45,45,45,45,45,45,45,45,189,45,45,45,1748,45,45,45,1749,1750,45,45,45,45,45,45,45,45,67,67,67,67,1959,67,67,67,67,1768,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,1791,97,97,97,97,97,97,97,97,45,45,45,45,45,45,1802,67,1817,67,67,67,67,67,67,1823,67,67,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,1848,45,45,45,45,45,45,45,45,45,45,45,659,45,45,45,45,45,45,45,1863,67,67,67,67,67,67,67,67,67,67,67,67,495,67,67,67,67,67,1878,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,45,67,67,67,67,97,97,97,97,0,0,0,1973,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1165,97,1167,67,24850,24850,12564,12564,0,0,2166784,0,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,1789,97,0,94242,0,0,0,2211840,102439,0,0,106538,98347,136,2158592,2158592,2158592,2158592,2158592,3158016,229376,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,67,24850,24850,12564,12564,0,0,280,547,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,1788,97,97,0,97,2024,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,235,67,67,67,67,67,57889,547,547,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,1799,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1092,0,0,0,0,0,97,97,97,97,1612,97,97,97,97,1616,97,1297,1472,0,0,0,0,1303,1474,0,0,0,0,1309,1476,0,0,0,0,97,97,97,1481,97,97,97,97,97,97,1488,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,97,607,97,97,97,97,40976,18,36884,45078,26,30,90143,94242,0,102439,106538,98347,0,0,213080,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,143448,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,0,0,0,97,97,97,97,1482,97,1483,97,97,97,97,97,97,1326,97,97,1329,1330,97,97,97,97,97,97,1159,1160,97,97,97,97,97,97,97,97,590,97,97,97,97,97,97,97,0,94242,0,0,0,2211974,102439,0,0,106538,98347,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2474122,2158730,2158730,2494602,2158730,2158730,2158730,2809994,2158730,2158730,2842762,2158730,2158730,2158730,2900106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3014794,2158730,2158730,3051658,2158730,2158730,3100810,2158730,2158730,2158730,2158730,3096714,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,2207744,541,541,543,543,0,0,2166784,0,548,549,549,0,286,2158877,2158877,2158877,2863389,2892061,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3186973,2158877,0,0,0,0,0,0,0,0,2367626,2158877,2404637,2412829,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2564381,2158877,2158877,2605341,2158877,2158877,2158877,2158877,2158877,2158877,2679069,2158877,2695453,2158877,2703645,2158877,2711837,2752797,2158877,0,2158877,2158877,2158877,2384010,2158730,2158730,2158730,2158730,3006602,2383872,2207744,2207744,2207744,2207744,2207744,2207744,3096576,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,0,2158877,2785565,2158877,2810141,2158877,2158877,2842909,2158877,2158877,2158877,2900253,2158877,2158877,2158877,2158877,2158877,2531613,2158877,2158877,2158877,2158877,2158877,2617629,2158877,2158877,2158877,2158877,2158730,2818186,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3105053,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,0,0,0,0,0,97,97,97,1611,97,97,97,97,97,97,97,1496,97,97,1499,97,97,97,97,97,2441354,2445450,2158730,2158730,2158730,2158730,2158730,2158730,2502794,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2433162,2158730,2453642,2461834,2158730,2158730,2158730,2158730,2158730,2158730,2580618,2158730,2158730,2158730,2158730,2621578,2158730,2158730,2158730,2158730,2158730,2158730,2699402,2158730,2158730,2158730,2158730,2678922,2158730,2695306,2158730,2703498,2158730,2711690,2752650,2158730,2158730,2785418,2158730,2158730,2158730,3113098,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3186826,2158730,2207744,2207744,2207744,2207744,2781184,2793472,2207744,2818048,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,541,0,543,2158877,2502941,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2580765,2158877,2158877,2158877,2158877,2621725,2158877,3019037,2158877,3043613,2158877,2158877,2158877,2158877,3080477,2158877,2158877,3113245,2158877,2158877,2158877,2158877,0,2158877,2908445,2158877,2158877,2158877,2978077,2158877,2158877,2158877,2158877,3039517,2158877,2158730,2510986,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2584714,2158730,2609290,2158730,2158730,2629770,2158730,2158730,2158730,2388106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2605194,2158730,2158730,2158730,2158730,2687114,2158730,2715786,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2867338,2158730,2904202,2158730,2158730,2158730,2642058,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2781322,2793610,2158730,3121290,2158730,2158730,2158730,3149962,2158730,2158730,3170442,3174538,2158730,2367488,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2441216,2445312,2207744,2207744,2207744,2207744,2207744,2207744,2502656,2158877,2433309,2158877,2453789,2461981,2158877,2158877,2158877,2158877,2158877,2158877,2511133,2158877,2158877,2158877,2158877,2584861,2158877,2609437,2158877,2158877,2629917,2158877,2158877,2158877,2687261,2158877,2715933,2158877,2158730,2158730,2973834,2158730,2982026,2158730,2158730,3002506,2158730,3047562,3063946,3076234,2158730,2158730,2158730,2158730,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158877,2507037,0,0,2158877,2158730,2158730,2158730,3203210,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2564096,2207744,2207744,2207744,2707741,2732317,2158877,2158877,2158877,2822429,2826525,2158877,2896157,2158877,2158877,2924829,2158877,2158877,2973981,2158877,18,0,0,0,0,0,0,0,2211840,0,0,642,0,2158592,0,45,1529,45,45,45,45,45,45,45,45,45,45,45,45,45,1755,45,67,67,2982173,2158877,2158877,3002653,2158877,3047709,3064093,3076381,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3203357,2523274,2527370,2158730,2158730,2576522,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2908298,2494749,2158877,2158877,2158877,2523421,2527517,2158877,2158877,2576669,2158877,2158877,2158877,2158877,2158877,2158877,0,40976,0,18,18,4321280,2224253,2232448,4329472,2232448,2158730,2498698,2158730,2158730,2158730,2158730,2568330,2158730,2592906,2625674,2158730,2158730,2674826,2736266,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2158730,2912394,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3109002,2158730,2158730,3133578,3145866,3154058,2375680,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375965,2380061,2158877,2158877,2421021,2158877,2449693,2158877,2158877,2158877,3117341,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3104906,2158730,2158730,2158730,2158730,2158730,2158730,2158877,2498845,2158877,2158877,0,2158877,2158877,2568477,2158877,2593053,2625821,2158877,2158877,2674973,0,0,0,0,97,97,1480,97,97,97,97,97,1485,97,97,97,0,97,97,1729,97,1731,97,97,97,97,97,97,97,311,97,97,97,97,97,97,97,97,1520,97,97,1523,97,97,1526,97,2736413,2158877,2158877,0,2158877,2912541,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3109149,2158877,2158877,3014941,2158877,2158877,3051805,2158877,2158877,3100957,2158877,2158877,3121437,2158877,2158877,2158877,3150109,3133725,3146013,3154205,2158730,2408586,2416778,2158730,2465930,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3018890,2158730,3043466,2158730,2158730,2158730,2158730,3080330,2633866,2658442,2740362,2744458,2834570,2949258,2158730,2986122,2158730,2998410,2158730,2158730,2158730,3129482,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158877,2408733,2416925,2158877,2466077,2158877,2158877,3170589,3174685,2158877,0,0,0,2158730,2158730,2158730,2158730,2158730,2424970,2158730,2158730,2158730,2158730,2707594,2732170,2158730,2158730,2158730,2822282,2826378,2158730,2896010,2158730,2158730,2924682,2949405,2158877,2986269,2158877,2998557,2158877,2158877,2158877,3129629,2158730,2158730,2478218,2158730,2158730,2158730,2535562,2543754,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3117194,2207744,2207744,2478080,2207744,2207744,2207744,2207744,3014656,2207744,2207744,3051520,2207744,2207744,3100672,2207744,2207744,3121152,2207744,2207744,2207744,2207744,2207744,2584576,2207744,2609152,2207744,2207744,2629632,2207744,2207744,2207744,2686976,2207744,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158877,2158877,2478365,0,2158877,2158877,2158877,2158877,2158877,2158877,2158730,2158730,2482314,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,823,0,825,2158730,2158730,2158730,2990218,2158730,2158730,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,135,0,2207744,2207744,2990080,2207744,2207744,2158877,2158877,2482461,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,2158877,2158730,2429066,2158730,2515082,2158730,2588810,2158730,2838666,2158730,2158730,2158730,3010698,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158877,2429213,2158877,2515229,0,0,2158877,2588957,2158877,0,2838813,2158877,2158877,2158877,3010845,2158730,2506890,2158730,2158730,2158730,2748554,2756746,2777226,2801802,2158730,2158730,2158730,2863242,2891914,2158730,2158730,2158730,2158730,2158730,2158730,2564234,2158730,2158730,2158730,2158730,2158730,2597002,2158730,2158730,2158730,3006464,2384157,0,0,2158877,2158877,2158877,2158877,3006749,2158730,2637962,2953354,2158730,2207744,2637824,2953216,2207744,0,0,2158877,2638109,2953501,2158877,2539658,2158730,2539520,2207744,0,0,2539805,2158877,2158730,2158730,2158730,2977930,2158730,2158730,2158730,2158730,3039370,2158730,2158730,2158730,2158730,2158730,2158730,3158154,2207744,0,2158877,2158730,2207744,0,2158877,2158730,2207744,0,2158877,2965642,2965504,2965789,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,97,1484,97,97,97,97,2158592,18,0,122880,0,0,0,77824,0,2211840,0,0,0,0,2158592,0,356,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,45,1751,45,45,45,45,45,45,45,67,67,1427,67,67,67,67,67,1432,67,67,67,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,122880,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,1322,550,0,286,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,4329472,27,27,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,542,0,0,0,542,0,544,0,0,0,544,0,550,0,0,0,0,0,97,97,1610,97,97,97,97,97,97,97,97,898,97,97,97,97,97,97,97,0,94242,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,94242,237568,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,192512,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,94,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,96,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,12378,40976,18,18,36884,0,45078,0,24,24,24,126,126,126,126,90143,0,0,2170880,0,0,0,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,20480,40976,0,18,18,24,24,27,27,27,40976,18,36884,45078,24,27,90143,94242,241664,102439,106538,98347,0,0,20568,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,200797,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,0,0,44,0,0,20575,40976,18,36884,45078,24,27,90143,94242,0,41,41,41,0,0,1126400,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,89,40976,18,18,36884,0,45078,0,24,24,24,27,131201,27,27,90143,0,0,2170880,0,0,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,208896,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,0,0,0,0,0,0,2367488,32768,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2433024,2158592,2453504,2461696,2158592,2158592,2158592,2158592,2158592,2158592,2510848,2158592,2158592,2158592,2158592,40976,18,36884,245783,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,221184,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,180224,40976,18,18,36884,155648,45078,0,24,24,217088,27,27,27,217088,90143,0,0,2170880,0,0,828,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,233472,0,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,718,45,45,45,45,45,45,45,45,45,727,131427,0,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,45,1808,45,45,45,45,67,67,67,67,67,67,67,97,97,0,0,97,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,0,0,97,97,97,97,97,97,1787,0,97,97,0,97,97,97,45,45,45,45,2029,45,67,67,67,67,2033,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,97,45,1798,45,45,1800,45,45,0,1472,0,0,0,0,0,1474,0,0,0,0,0,1476,0,0,0,0,1315,0,0,0,0,97,97,97,97,1320,97,97,0,0,97,97,97,97,1786,97,0,0,97,97,0,1790,1527,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,663,67,24850,24850,12564,12564,0,57889,281,0,0,53531,53531,367,286,97,97,0,0,97,97,97,1785,97,97,0,0,97,97,0,97,97,1979,97,97,45,45,1983,45,1984,45,45,45,45,45,652,45,45,45,45,45,45,45,45,45,45,690,45,45,694,45,45,40976,19,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,262144,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,46,67,98,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,45,67,97,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,258048,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,1122423,40976,18,36884,45078,24,27,90143,94242,0,1114152,1114152,1114152,0,0,1114112,40976,18,36884,45078,24,27,90143,94242,37,102439,106538,98347,0,0,204800,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,57436,40976,18,36884,45078,24,27,33,33,0,33,33,33,0,0,0,40976,18,18,36884,0,45078,0,124,124,124,127,127,127,127,90143,0,0,2170880,0,0,550,0,2158877,2158877,2158877,2388253,2158877,2158877,2158877,2158877,2158877,2781469,2793757,2158877,2818333,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2867485,2158877,2904349,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3096861,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2441501,2445597,2158877,2158877,2158877,2158877,2158877,40976,122,123,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,936,2158592,4243810,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,935,45,45,45,715,45,45,45,45,45,45,45,723,45,45,45,45,45,1182,45,45,45,45,45,45,45,45,45,45,430,45,45,45,45,45,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,47,68,99,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,48,69,100,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,49,70,101,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,50,71,102,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,51,72,103,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,52,73,104,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,53,74,105,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,54,75,106,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,55,76,107,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,56,77,108,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,57,78,109,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,58,79,110,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,59,80,111,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,60,81,112,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,61,82,113,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,62,83,114,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,63,84,115,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,64,85,116,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,65,86,117,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,66,87,118,40976,18,36884,45078,24,27,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,0,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1314,0,0,0,0,0,0,97,97,97,97,97,1321,97,18,131427,0,0,0,0,0,0,362,0,0,365,0,367,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1360,97,97,131,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,145,149,45,45,45,45,45,174,45,179,45,185,45,188,45,45,202,67,255,67,67,269,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,292,296,97,97,97,97,97,321,97,326,97,332,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,646,335,97,97,349,97,97,0,40976,0,18,18,24,24,27,27,27,437,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,523,67,67,67,67,67,67,67,67,67,67,67,67,511,67,67,67,97,97,97,620,97,97,97,97,97,97,97,97,97,97,97,97,97,1501,1502,97,793,67,67,796,67,67,67,67,67,67,67,67,67,67,808,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,2052,67,67,67,67,813,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,830,97,97,97,97,97,97,97,97,97,315,97,97,97,97,97,97,841,97,97,97,97,97,97,97,97,97,854,97,97,97,97,97,97,589,97,97,97,97,97,97,97,97,97,867,97,97,97,97,97,97,97,891,97,97,894,97,97,97,97,97,97,97,97,97,97,906,45,937,45,45,940,45,45,45,45,45,45,948,45,45,45,45,45,734,735,67,737,67,738,67,740,67,67,67,45,967,45,45,45,45,45,45,45,45,45,45,45,45,45,45,435,45,45,45,980,45,45,45,45,45,45,45,45,45,45,45,45,45,415,45,45,67,67,1024,67,67,67,67,67,67,67,67,67,67,67,67,67,97,97,97,67,67,67,67,67,25398,1081,13112,1085,54074,1089,0,0,0,0,0,0,363,0,28809,0,139,45,45,45,45,45,45,1674,45,45,45,45,45,45,45,45,67,1913,67,1914,67,67,67,1918,67,67,97,97,97,97,1118,97,97,97,97,97,97,97,97,97,97,97,630,97,97,97,97,97,1169,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,45,1534,45,45,45,45,45,1538,45,45,45,45,1233,45,45,45,45,45,45,67,67,67,67,67,67,67,67,742,67,45,45,1191,45,45,45,45,45,45,45,45,45,45,45,45,45,454,67,67,67,67,1243,67,67,67,67,67,67,67,67,67,67,67,1251,67,0,0,97,97,97,97,45,45,67,67,2050,0,97,97,45,45,45,732,45,45,67,67,67,67,67,67,67,67,67,67,67,67,97,97,67,67,67,1284,67,67,67,67,67,67,67,67,67,67,67,67,772,67,67,67,1293,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,368,2158592,2158592,2158592,2404352,2412544,1323,97,97,97,97,97,97,97,97,97,97,97,1331,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,1737,97,1364,97,97,97,97,97,97,97,97,97,97,97,97,1373,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,647,45,45,1387,45,45,1391,45,45,45,45,45,45,45,45,45,45,410,45,45,45,45,45,1400,45,45,45,45,45,45,45,45,45,45,1407,45,45,45,45,45,941,45,943,45,45,45,45,45,45,951,45,67,1438,67,67,67,67,67,67,67,67,67,67,1447,67,67,67,67,67,67,782,67,67,67,67,67,67,67,67,67,756,67,67,67,67,67,67,97,1491,97,97,97,97,97,97,97,97,97,97,1500,97,97,97,0,97,97,97,97,97,97,97,97,97,97,1736,97,45,45,1541,45,45,45,45,45,45,45,45,45,45,45,45,45,677,45,45,67,1581,67,67,67,67,67,67,67,67,67,67,67,67,67,67,791,792,67,67,67,67,1598,67,1600,67,67,67,67,67,67,67,67,1472,97,97,97,1727,97,97,97,97,97,97,97,97,97,97,97,97,97,1513,97,97,67,67,97,1879,97,1881,97,0,1884,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,1842,97,97,67,67,67,67,67,97,97,97,97,1928,0,0,0,97,97,97,97,97,97,45,45,45,45,45,1903,45,45,45,67,67,67,67,97,97,97,97,1971,0,0,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,0,45,45,45,1381,45,45,45,45,1976,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1747,809,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,97,907,97,97,97,97,97,97,97,97,97,97,97,638,0,0,0,0,1478,97,97,97,97,97,97,97,97,97,97,97,1150,97,97,97,97,67,67,67,67,1244,67,67,67,67,67,67,67,67,67,67,67,477,67,67,67,67,67,67,1294,67,67,67,67,0,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1324,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,1374,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,945,45,45,45,45,45,45,45,45,1908,45,45,1910,45,67,67,67,67,67,67,67,67,1919,67,0,0,97,97,97,97,45,2048,67,2049,0,0,97,2051,45,45,45,939,45,45,45,45,45,45,45,45,45,45,45,45,397,45,45,45,1921,67,67,1923,67,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1947,45,1935,0,0,0,97,1939,97,97,1941,97,45,45,45,45,45,45,382,389,45,45,45,45,45,45,45,45,1810,45,45,1812,67,67,67,67,67,256,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,336,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,45,371,373,45,45,45,955,45,45,45,45,45,45,45,45,45,45,45,45,413,45,45,45,457,459,67,67,67,67,67,67,67,67,473,67,478,67,67,482,67,67,485,67,67,67,67,67,67,67,67,67,67,67,67,67,97,1828,97,554,556,97,97,97,97,97,97,97,97,570,97,575,97,97,579,97,97,582,97,97,97,97,97,97,97,97,97,97,97,97,97,330,97,97,67,746,67,67,67,67,67,67,67,67,67,758,67,67,67,67,67,67,67,1575,67,67,67,67,67,67,67,67,493,67,67,67,67,67,67,67,97,97,844,97,97,97,97,97,97,97,97,97,856,97,97,97,0,97,97,97,97,97,97,97,97,1735,97,97,97,0,97,97,97,97,97,97,97,1642,97,1644,97,97,890,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,67,67,67,67,1065,1066,67,67,67,67,67,67,67,67,67,67,532,67,67,67,67,67,67,67,1451,67,67,67,67,67,67,67,67,67,67,67,67,67,496,67,67,97,97,1505,97,97,97,97,97,97,97,97,97,97,97,97,97,593,97,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,1617,97,97,1635,0,1637,97,97,97,97,97,97,97,97,97,97,97,885,97,97,97,97,67,67,1704,67,67,67,67,97,97,97,97,97,97,97,97,97,565,572,97,97,97,97,97,97,97,97,1832,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,1946,45,45,67,67,67,67,67,97,1926,97,1927,97,0,0,0,97,97,1934,2043,0,0,97,97,97,2047,45,45,67,67,0,1832,97,97,45,45,45,981,45,45,45,45,45,45,45,45,45,45,45,45,1227,45,45,45,131427,0,0,0,0,362,0,365,28809,367,139,45,45,372,45,45,45,45,1661,1662,45,45,45,45,45,1666,45,45,45,45,45,1673,45,1675,45,45,45,45,45,45,45,67,1426,67,67,67,67,67,67,67,67,67,67,1275,67,67,67,67,67,45,418,45,45,420,45,45,423,45,45,45,45,45,45,45,45,959,45,45,962,45,45,45,45,458,67,67,67,67,67,67,67,67,67,67,67,67,67,67,483,67,67,67,67,504,67,67,506,67,67,509,67,67,67,67,67,67,67,528,67,67,67,67,67,67,67,67,1287,67,67,67,67,67,67,67,555,97,97,97,97,97,97,97,97,97,97,97,97,97,97,580,97,97,97,97,601,97,97,603,97,97,606,97,97,97,97,97,97,848,97,97,97,97,97,97,97,97,97,1498,97,97,97,97,97,97,45,45,714,45,45,45,45,45,45,45,45,45,45,45,45,45,989,990,45,67,67,67,67,67,1011,67,67,67,67,1015,67,67,67,67,67,67,67,753,67,67,67,67,67,67,67,67,467,67,67,67,67,67,67,67,45,45,1179,45,45,45,45,45,45,45,45,45,45,45,45,45,1003,1004,67,1217,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,728,67,1461,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1034,67,97,1516,97,97,97,97,97,97,97,97,97,97,97,97,97,97,871,97,67,67,67,1705,67,67,67,97,97,97,97,97,97,97,97,97,567,97,97,97,97,97,97,97,97,97,97,1715,97,97,97,97,97,97,97,97,97,0,0,0,45,45,1380,45,45,45,45,45,67,67,97,97,97,97,97,0,0,0,97,1887,97,97,0,0,97,97,97,0,97,97,97,97,97,2006,45,45,1907,45,45,45,45,45,67,67,67,67,67,67,67,67,67,1920,67,97,0,2035,97,97,97,97,97,45,45,45,45,67,67,67,1428,67,67,67,67,67,67,1435,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,146,45,152,45,45,165,45,175,45,180,45,45,187,190,195,45,203,254,257,262,67,270,67,67,0,24850,12564,0,0,0,281,28809,53531,97,97,97,293,97,299,97,97,312,97,322,97,327,97,97,334,337,342,97,350,97,97,0,40976,0,18,18,24,24,27,27,27,67,484,67,67,67,67,67,67,67,67,67,67,67,67,67,499,97,581,97,97,97,97,97,97,97,97,97,97,97,97,97,596,648,45,650,45,651,45,653,45,45,45,657,45,45,45,45,45,45,1954,67,67,67,1958,67,67,67,67,67,67,67,768,67,67,67,67,67,67,67,67,769,67,67,67,67,67,67,67,680,45,45,45,45,45,45,45,45,688,689,691,45,45,45,45,45,983,45,45,45,45,45,45,45,45,45,45,947,45,45,45,45,952,45,45,698,699,45,45,702,703,45,45,45,45,45,45,45,711,744,67,67,67,67,67,67,67,67,67,757,67,67,67,67,761,67,67,67,67,765,67,767,67,67,67,67,67,67,67,67,775,776,778,67,67,67,67,67,67,785,786,67,67,789,790,67,67,67,67,67,67,1442,67,67,67,67,67,67,67,67,67,97,97,97,1775,97,97,97,67,67,67,67,67,798,67,67,67,802,67,67,67,67,67,67,67,67,1465,67,67,1468,67,67,1471,67,67,810,67,67,67,67,67,67,67,67,67,821,25398,542,13112,544,57889,0,0,54074,54074,550,0,833,97,835,97,836,97,838,97,97,0,0,97,97,97,2002,97,97,97,97,97,45,45,45,45,45,1740,45,45,45,1744,45,45,45,97,842,97,97,97,97,97,97,97,97,97,855,97,97,97,97,0,1717,1718,97,97,97,97,97,1722,97,0,0,859,97,97,97,97,863,97,865,97,97,97,97,97,97,97,97,604,97,97,97,97,97,97,97,873,874,876,97,97,97,97,97,97,883,884,97,97,887,888,97,18,131427,0,0,0,0,0,0,362,225280,0,365,0,367,0,45,45,45,1531,45,45,45,45,45,45,45,45,45,45,45,1199,45,45,45,45,45,97,97,908,97,97,97,97,97,97,97,97,97,919,638,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2425117,2158877,2158877,2158877,2158877,2158877,2158877,2597149,2158877,2158877,2158877,2158877,2158877,2158877,2642205,2158877,2158877,2158877,2158877,2158877,3158301,0,2375818,2379914,2158730,2158730,2420874,2158730,2449546,2158730,2158730,953,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,965,978,45,45,45,45,45,45,985,45,45,45,45,45,45,45,45,971,45,45,45,45,45,45,45,67,67,67,67,67,1027,67,1029,67,67,67,67,67,67,67,67,67,1455,67,67,67,67,67,67,67,1077,1078,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,366,0,139,2158730,2158730,2158730,2404490,2412682,1113,97,97,97,97,97,97,1121,97,1123,97,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1540,1155,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,615,1168,97,97,1171,1172,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,1533,45,45,45,45,45,45,45,45,45,1663,45,45,45,45,45,45,45,45,45,183,45,45,45,45,201,45,45,45,1219,45,45,45,45,45,45,45,1226,45,45,45,45,45,168,45,45,45,45,45,45,45,45,45,45,427,45,45,45,45,45,45,45,1231,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,1242,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1046,67,67,1254,67,1256,67,67,67,67,67,67,67,67,67,67,67,67,806,807,67,67,97,1336,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1111,97,97,97,97,97,1351,97,97,97,1354,97,97,97,1359,97,97,97,0,97,97,97,97,1640,97,97,97,97,97,97,97,897,97,97,97,902,97,97,97,97,97,97,97,97,1366,97,97,97,97,97,97,97,1371,97,97,97,0,97,97,97,1730,97,97,97,97,97,97,97,97,915,97,97,97,97,0,360,0,67,67,67,1440,67,67,67,67,67,67,67,67,67,67,67,67,1017,67,1019,67,67,67,67,67,1453,67,67,67,67,67,67,67,67,67,67,1459,97,97,97,1493,97,97,97,97,97,97,97,97,97,97,97,97,97,1525,97,97,97,97,97,97,1507,97,97,97,97,97,97,97,97,97,97,1514,67,67,67,67,1584,67,67,67,67,67,1590,67,67,67,67,67,67,67,783,67,67,67,788,67,67,67,67,67,67,67,67,67,1599,1601,67,67,67,1604,67,1606,1607,67,1472,0,1474,0,1476,0,97,97,97,97,97,97,1614,97,97,97,97,45,45,1850,45,45,45,45,1855,45,45,45,45,45,1222,45,45,45,45,45,45,45,45,45,1229,97,1618,97,97,97,97,97,97,97,1625,97,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,447,45,45,45,45,45,67,67,1633,97,97,0,97,97,97,97,97,97,97,97,1643,1645,97,97,0,0,97,97,1784,97,97,97,0,0,97,97,0,97,1894,1895,97,1897,97,45,45,45,45,45,45,45,45,45,656,45,45,45,45,45,45,97,1648,97,1650,1651,97,0,45,45,45,1654,45,45,45,45,45,169,45,45,45,45,45,45,45,45,45,45,658,45,45,45,45,664,45,45,1659,45,45,45,45,45,45,45,45,45,45,45,45,45,1187,45,45,1669,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,1005,67,67,1681,67,67,67,67,67,67,67,1686,67,67,67,67,67,67,67,784,67,67,67,67,67,67,67,67,1055,67,67,67,67,1060,67,67,97,97,1713,97,0,97,97,97,97,97,97,97,97,97,0,0,0,1378,45,45,45,45,45,45,45,408,45,45,45,45,45,45,45,45,1547,45,1549,45,45,45,45,45,97,97,1780,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,2027,2028,45,45,67,67,2031,2032,67,45,45,1804,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1917,67,67,67,67,67,67,67,1819,67,67,67,67,67,67,67,67,97,97,97,1708,97,97,97,97,97,45,45,1862,67,67,67,67,67,67,67,67,67,67,67,67,67,497,67,67,67,1877,97,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,1839,0,0,97,97,97,97,1936,0,0,97,97,97,97,97,97,1943,1944,1945,45,45,45,45,670,45,45,45,45,674,45,45,45,45,678,45,1948,45,1950,45,45,45,45,1955,1956,1957,67,67,67,1960,67,1962,67,67,67,67,1967,1968,1969,97,0,0,0,97,97,1974,97,0,1936,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1906,0,1977,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,1746,45,45,45,45,2011,67,67,2013,67,67,67,2017,97,97,0,0,2021,97,8192,97,97,2025,45,45,45,45,45,45,67,67,67,67,67,1916,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,140,45,45,45,1180,45,45,45,45,1184,45,45,45,45,45,45,45,387,45,392,45,45,396,45,45,399,45,45,67,207,67,67,67,67,67,67,236,67,67,67,67,67,67,67,800,67,67,67,67,67,67,67,67,67,1603,67,67,67,67,67,0,97,97,287,97,97,97,97,97,97,316,97,97,97,97,97,97,0,45,45,45,45,45,45,45,1656,1657,45,376,45,45,45,45,45,388,45,45,45,45,45,45,45,45,1406,45,45,45,45,45,45,45,67,67,67,67,462,67,67,67,67,67,474,67,67,67,67,67,67,67,817,67,67,67,67,25398,542,13112,544,97,97,97,97,559,97,97,97,97,97,571,97,97,97,97,97,97,896,97,97,97,900,97,97,97,97,97,97,912,914,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,45,391,45,45,45,45,45,45,45,45,713,45,45,45,45,45,45,45,45,45,45,45,45,45,45,662,45,1140,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,636,67,67,1283,67,67,67,67,67,67,67,67,67,67,67,67,67,513,67,67,1363,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,889,97,97,97,1714,0,97,97,97,97,97,97,97,97,97,0,0,926,45,45,45,45,45,45,45,45,672,45,45,45,45,45,45,45,45,686,45,45,45,45,45,45,45,45,944,45,45,45,45,45,45,45,45,1676,45,45,45,45,45,45,67,97,97,97,1833,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1902,45,45,45,45,45,957,45,45,45,45,961,45,963,45,45,45,67,97,2034,0,97,97,97,97,97,2040,45,45,45,2042,67,67,67,67,67,67,1574,67,67,67,67,67,1578,67,67,67,67,67,67,799,67,67,67,804,67,67,67,67,67,67,67,1298,0,0,0,1304,0,0,0,1310,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,1414,45,45,45,45,45,45,45,45,45,45,428,45,45,45,45,45,57889,0,0,54074,54074,550,831,97,97,97,97,97,97,97,97,97,568,97,97,97,97,578,97,45,45,968,45,45,45,45,45,45,45,45,45,45,45,45,45,1228,45,45,67,67,67,67,67,25398,1082,13112,1086,54074,1090,0,0,0,0,0,0,364,0,0,0,139,2158592,2158592,2158592,2404352,2412544,67,67,67,67,1464,67,67,67,67,67,67,67,67,67,67,67,510,67,67,67,67,97,97,97,97,1519,97,97,97,97,97,97,97,97,97,97,97,918,97,0,0,0,0,1528,45,45,45,45,45,45,45,45,45,45,45,45,45,45,976,45,1554,45,45,45,45,45,45,45,45,1562,45,45,1565,45,45,45,45,683,45,45,45,687,45,45,692,45,45,45,45,45,1953,45,67,67,67,67,67,67,67,67,67,1014,67,67,67,67,67,67,1568,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,0,67,67,67,67,67,1585,67,67,67,67,67,67,67,67,67,1594,97,97,1649,97,97,97,0,45,45,1653,45,45,45,45,45,45,383,45,45,45,45,45,45,45,45,45,986,45,45,45,45,45,45,45,45,1670,45,1672,45,45,45,45,45,45,45,45,45,45,67,736,67,67,67,67,67,741,67,67,67,1680,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1074,67,67,67,1692,67,67,67,67,67,67,67,1697,67,1699,67,67,67,67,67,67,1012,67,67,67,67,67,67,67,67,67,468,475,67,67,67,67,67,67,1769,67,67,67,67,67,67,67,97,97,97,97,97,97,97,624,97,97,97,97,97,97,634,97,97,1792,97,97,97,97,97,97,97,45,45,45,45,45,45,45,958,45,45,45,45,45,45,964,45,150,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,977,204,45,67,67,67,217,67,67,67,67,67,67,67,67,67,67,787,67,67,67,67,67,67,67,67,67,67,271,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,351,97,0,40976,0,18,18,24,24,27,27,27,45,45,938,45,45,45,45,45,45,45,45,45,45,45,45,45,1398,45,45,45,153,45,161,45,45,45,45,45,45,45,45,45,45,45,45,660,661,45,45,205,45,67,67,67,67,220,67,228,67,67,67,67,67,67,67,0,0,0,0,0,280,94,0,0,67,67,67,67,67,272,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,352,97,0,40976,0,18,18,24,24,27,27,27,45,439,45,45,45,45,45,445,45,45,45,452,45,45,67,67,212,216,67,67,67,67,67,241,67,246,67,252,67,67,486,67,67,67,67,67,67,67,494,67,67,67,67,67,67,67,1245,67,67,67,67,67,67,67,67,1013,67,67,1016,67,67,67,67,67,521,67,67,525,67,67,67,67,67,531,67,67,67,538,67,0,0,2046,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1192,45,45,45,45,45,45,45,45,45,45,45,45,1418,45,45,1421,97,97,583,97,97,97,97,97,97,97,591,97,97,97,97,97,97,913,97,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,1384,97,618,97,97,622,97,97,97,97,97,628,97,97,97,635,97,18,131427,0,0,0,639,0,132,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,932,45,45,45,45,45,1544,45,45,45,45,45,1550,45,45,45,45,45,1194,45,1196,45,45,45,45,45,45,45,45,999,45,45,45,45,45,67,67,45,45,667,45,45,45,45,45,45,45,45,45,45,45,45,45,1408,45,45,45,696,45,45,45,701,45,45,45,45,45,45,45,45,710,45,45,45,1220,45,45,45,45,45,45,45,45,45,45,45,45,194,45,45,45,729,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,797,67,67,67,67,67,67,805,67,67,67,67,67,67,67,1587,67,1589,67,67,67,67,67,67,67,67,1763,67,67,67,67,67,67,67,0,0,0,0,0,0,2162968,0,0,67,67,67,67,67,814,816,67,67,67,67,67,25398,542,13112,544,67,67,1008,67,67,67,67,67,67,67,67,67,67,67,1020,67,0,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,45,67,67,67,67,1429,67,1430,67,67,67,67,67,1062,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,518,1076,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,97,97,97,97,1102,97,97,97,97,97,97,97,97,97,97,97,1124,97,1126,97,97,1114,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1112,97,97,1156,97,97,97,97,97,97,97,97,97,97,97,97,97,594,97,97,97,97,1170,97,97,97,97,0,921,0,0,0,0,0,0,45,45,45,45,1532,45,45,45,45,1536,45,45,45,45,45,172,45,45,45,45,45,45,45,45,45,45,706,45,45,709,45,45,1177,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1202,45,1204,45,45,45,45,45,45,45,45,45,45,45,45,1215,45,45,45,1232,45,45,45,45,45,45,45,67,1237,67,67,67,67,67,67,1053,1054,67,67,67,67,67,67,1061,67,67,1282,67,67,67,67,67,67,67,67,67,1289,67,67,67,1292,97,97,97,97,1339,97,97,97,97,97,97,1344,97,97,97,97,45,1849,45,1851,45,45,45,45,45,45,45,45,721,45,45,45,45,45,726,45,1385,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1188,45,45,1401,1402,45,45,45,45,1405,45,45,45,45,45,45,45,45,1752,45,45,45,45,45,67,67,1410,45,45,45,1413,45,1415,45,45,45,45,45,45,1419,45,45,45,45,1806,45,45,45,45,45,45,67,67,67,67,67,67,67,97,97,2019,0,97,67,67,67,1452,67,67,67,67,67,67,67,67,1457,67,67,67,67,67,67,1259,67,67,67,67,67,67,1264,67,67,1460,67,1462,67,67,67,67,67,67,1466,67,67,67,67,67,67,67,67,1588,67,67,67,67,67,67,67,0,1300,0,0,0,1306,0,0,0,97,97,97,1506,97,97,97,97,97,97,97,97,1512,97,97,97,0,1728,97,97,97,97,97,97,97,97,97,97,97,901,97,97,97,97,1515,97,1517,97,97,97,97,97,97,1521,97,97,97,97,97,97,0,45,1652,45,45,45,1655,45,45,45,45,45,1542,45,45,45,45,45,45,45,45,45,45,45,45,45,1552,1553,45,45,45,1556,45,45,45,45,45,45,45,45,45,45,45,45,45,693,45,45,45,67,67,67,67,1572,67,67,67,67,1576,67,67,67,67,67,67,67,67,1602,67,67,1605,67,67,67,0,67,1582,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1580,67,67,1596,67,67,67,67,67,67,67,67,67,67,67,67,67,0,542,0,544,67,67,67,67,1759,67,67,67,67,67,67,67,67,67,67,67,533,67,67,67,67,67,67,67,1770,67,67,67,67,67,97,97,97,97,97,97,1777,97,97,97,1793,97,97,97,97,97,45,45,45,45,45,45,45,998,45,45,1001,1002,45,45,67,67,45,1861,45,67,67,67,67,67,67,67,67,1871,67,1873,1874,67,0,97,45,67,0,97,45,67,16384,97,45,67,97,0,0,0,1473,0,1082,0,0,0,1475,0,1086,0,0,0,1477,1876,67,97,97,97,97,97,1883,0,1885,97,97,97,1889,0,0,0,286,0,0,0,286,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,126,126,126,2053,0,2055,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,2039,97,45,45,45,45,67,67,67,67,67,226,67,67,67,67,67,67,67,67,1246,67,67,1249,1250,67,67,67,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,141,45,45,45,1403,45,45,45,45,45,45,45,45,45,45,45,45,1186,45,45,1189,45,45,155,45,45,45,45,45,45,45,45,45,191,45,45,45,45,700,45,45,45,45,45,45,45,45,45,45,45,1753,45,45,45,67,67,45,45,67,208,67,67,67,222,67,67,67,67,67,67,67,67,67,1764,67,67,67,67,67,67,67,258,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,288,97,97,97,302,97,97,97,97,97,97,97,97,97,627,97,97,97,97,97,97,338,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,370,45,45,45,45,716,45,45,45,45,45,722,45,45,45,45,45,45,1912,67,67,67,67,67,67,67,67,67,819,67,67,25398,542,13112,544,45,403,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1409,45,67,67,67,67,489,67,67,67,67,67,67,67,67,67,67,67,771,67,67,67,67,520,67,67,67,67,67,67,67,67,67,67,67,534,67,67,67,67,67,67,1271,67,67,67,1274,67,67,67,1279,67,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,553,97,97,97,97,586,97,97,97,97,97,97,97,97,97,97,97,1138,97,97,97,97,617,97,97,97,97,97,97,97,97,97,97,97,631,97,97,97,0,1834,97,97,97,97,97,0,0,0,97,97,97,97,97,353,0,40976,0,18,18,24,24,27,27,27,45,45,668,45,45,45,45,45,45,45,45,45,45,45,45,45,724,45,45,45,45,45,682,45,45,45,45,45,45,45,45,45,45,45,45,45,949,45,45,45,67,67,747,748,67,67,67,67,755,67,67,67,67,67,67,67,0,0,0,1302,0,0,0,1308,0,67,794,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1701,67,97,97,97,845,846,97,97,97,97,853,97,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,97,892,97,97,97,97,97,97,97,97,97,97,97,97,97,610,97,97,45,992,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,1239,67,67,67,1063,67,67,67,67,67,1068,67,67,67,67,67,67,67,0,0,1301,0,0,0,1307,0,0,97,1141,97,97,97,97,97,97,97,97,97,97,97,1152,97,97,0,0,97,97,2001,0,97,2003,97,97,97,45,45,45,1739,45,45,45,1742,45,45,45,45,45,97,97,97,97,1157,97,97,97,97,97,1162,97,97,97,97,97,97,1145,97,97,97,97,97,1151,97,97,97,1253,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,539,45,1423,45,45,67,67,67,67,67,67,67,1431,67,67,67,67,67,67,67,1695,67,67,67,67,67,1700,67,1702,67,67,1439,67,67,67,67,67,67,67,67,67,67,67,67,67,514,67,67,97,97,1492,97,97,97,97,97,97,97,97,97,97,97,97,97,611,97,97,1703,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,852,97,97,97,97,97,97,45,1949,45,1951,45,45,45,67,67,67,67,67,67,67,1961,67,0,97,45,67,0,97,2060,2061,0,2062,45,67,97,0,0,2036,97,97,97,97,45,45,45,45,67,67,67,67,67,223,67,67,237,67,67,67,67,67,67,67,1272,67,67,67,67,67,67,67,67,507,67,67,67,67,67,67,67,1963,67,67,67,97,97,97,97,0,1972,0,97,97,97,1975,0,921,29315,0,0,0,0,45,45,45,931,45,45,45,45,45,407,45,45,45,45,45,45,45,45,45,417,45,45,1989,67,67,67,67,67,67,67,67,67,67,67,1996,97,18,131427,0,0,360,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,930,45,45,45,45,45,45,444,45,45,45,45,45,45,45,67,67,97,97,1998,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,1985,45,1986,45,45,45,156,45,45,170,45,45,45,45,45,45,45,45,45,45,675,45,45,45,45,679,131427,0,358,0,0,362,0,365,28809,367,139,45,45,45,45,45,381,45,45,45,45,45,45,45,45,45,400,45,45,419,45,45,45,45,45,45,45,45,45,45,45,45,436,67,67,67,67,67,505,67,67,67,67,67,67,67,67,67,67,820,67,25398,542,13112,544,67,67,522,67,67,67,67,67,529,67,67,67,67,67,67,67,0,1299,0,0,0,1305,0,0,0,97,97,619,97,97,97,97,97,626,97,97,97,97,97,97,97,1105,97,97,97,97,1109,97,97,97,67,67,67,67,749,67,67,67,67,67,67,67,67,67,760,67,0,97,45,67,2058,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,2041,67,67,67,67,67,780,67,67,67,67,67,67,67,67,67,67,67,67,67,516,67,67,97,97,97,878,97,97,97,97,97,97,97,97,97,97,97,97,97,1629,97,0,45,979,45,45,45,45,984,45,45,45,45,45,45,45,45,45,1198,45,45,45,45,45,45,67,1023,67,67,67,67,1028,67,67,67,67,67,67,67,67,67,470,67,67,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1094,0,0,0,1092,1315,0,0,0,0,97,97,97,97,97,97,97,97,97,1486,97,1489,97,97,97,1117,97,97,97,97,1122,97,97,97,97,97,97,97,1146,97,97,97,97,97,97,97,97,881,97,97,97,886,97,97,97,1311,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,1615,97,97,97,97,97,1619,97,97,97,97,97,97,97,97,97,97,97,97,1631,97,97,1847,97,45,45,45,45,1852,45,45,45,45,45,45,45,1235,45,45,45,67,67,67,67,67,1868,67,67,67,1872,67,67,67,67,67,97,97,97,97,1882,0,0,0,97,97,97,97,0,1891,67,67,67,67,67,97,97,97,97,97,1929,0,0,97,97,97,97,97,97,45,1900,45,1901,45,45,45,1905,45,67,2054,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,2037,2038,97,97,45,45,45,45,67,67,67,67,1867,67,67,67,67,67,67,67,67,67,1774,97,97,97,97,97,97,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,142,45,45,45,1412,45,45,45,45,45,45,45,45,45,45,45,45,432,45,45,45,45,45,157,45,45,171,45,45,45,182,45,45,45,45,200,45,45,45,1543,45,45,45,45,45,45,45,45,1551,45,45,45,45,1181,45,45,45,45,45,45,45,45,45,45,45,1211,45,45,45,1214,45,45,45,67,209,67,67,67,224,67,67,238,67,67,67,249,67,0,97,2056,2057,0,2059,45,67,0,97,45,67,97,0,0,1937,97,97,97,97,97,97,45,45,45,45,45,45,1741,45,45,45,45,45,45,67,67,67,267,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,289,97,97,97,304,97,97,318,97,97,97,329,97,97,0,0,97,1783,97,97,97,97,0,0,97,97,0,97,97,97,45,2026,45,45,45,45,67,2030,67,67,67,67,67,67,1041,67,67,67,67,67,67,67,67,67,1044,67,67,67,67,67,67,97,97,347,97,97,97,0,40976,0,18,18,24,24,27,27,27,45,666,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1420,45,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,840,67,1007,67,67,67,67,67,67,67,67,67,67,67,67,67,67,759,67,67,67,67,67,67,67,1052,67,67,67,67,67,67,67,67,67,67,1031,67,67,67,67,67,97,97,97,1101,97,97,97,97,97,97,97,97,97,97,97,97,592,97,97,97,1190,45,45,45,45,45,1195,45,1197,45,45,45,45,1201,45,45,45,45,1952,45,45,67,67,67,67,67,67,67,67,67,67,67,67,250,67,67,67,1255,67,1257,67,67,67,67,1261,67,67,67,67,67,67,67,67,1685,67,67,67,67,67,67,67,0,24851,12565,0,0,0,0,28809,53532,67,67,1267,67,67,67,67,67,67,1273,67,67,67,67,67,67,67,67,1696,67,67,67,67,67,67,67,0,0,0,0,0,0,2162688,0,0,1281,67,67,67,67,1285,67,67,67,67,67,67,67,67,67,67,1070,67,67,67,67,67,1335,97,1337,97,97,97,97,1341,97,97,97,97,97,97,97,97,882,97,97,97,97,97,97,97,1347,97,97,97,97,97,97,1353,97,97,97,97,97,97,1361,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,0,544,0,550,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2158592,2990080,2158592,2158592,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,53530,97,97,97,1365,97,97,97,97,97,97,97,97,97,97,97,97,608,97,97,97,45,45,1424,45,1425,67,67,67,67,67,67,67,67,67,67,67,1058,67,67,67,67,45,1555,45,45,1557,45,45,45,45,45,45,45,45,45,45,45,707,45,45,45,45,67,67,1570,67,67,67,67,67,67,67,67,67,67,67,67,67,773,67,67,1595,67,67,1597,67,67,67,67,67,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,139,2158592,2158592,2158592,2404352,2412544,97,97,97,1636,97,97,97,1639,97,97,1641,97,97,97,97,97,97,1173,0,921,0,0,0,0,0,0,45,67,67,67,1693,67,67,67,67,67,67,67,1698,67,67,67,67,67,67,67,1773,67,97,97,97,97,97,97,97,625,97,97,97,97,97,97,97,97,850,97,97,97,97,97,97,97,97,880,97,97,97,97,97,97,97,97,1106,97,97,97,97,97,97,97,1860,45,45,67,67,1865,67,67,67,67,1870,67,67,67,67,1875,67,67,97,97,1880,97,97,0,0,0,97,97,1888,97,0,0,0,1938,97,97,97,97,97,45,45,45,45,45,45,1854,45,45,45,45,45,45,45,1909,45,45,1911,67,67,67,67,67,67,67,67,67,67,1248,67,67,67,67,67,67,1922,67,67,1924,97,97,97,97,97,0,0,0,97,97,97,97,97,1898,45,45,45,45,45,45,1904,45,45,67,67,67,67,97,97,97,97,0,0,16384,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,1724,2008,2009,45,45,67,67,67,2014,2015,67,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,45,2022,0,2023,97,97,45,45,45,45,45,45,67,67,67,67,67,67,1869,67,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,147,151,154,45,162,45,45,176,178,181,45,45,45,192,196,45,45,45,45,2012,67,67,67,67,67,67,2018,97,0,0,97,1978,97,97,97,1982,45,45,45,45,45,45,45,45,45,972,973,45,45,45,45,45,67,259,263,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,294,298,301,97,309,97,97,323,325,328,97,97,97,97,97,560,97,97,97,569,97,97,97,97,97,97,306,97,97,97,97,97,97,97,97,97,1624,97,97,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,339,343,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,67,67,503,67,67,67,67,67,67,67,67,67,512,67,67,519,97,97,600,97,97,97,97,97,97,97,97,97,609,97,97,616,45,649,45,45,45,45,45,654,45,45,45,45,45,45,45,45,1393,45,45,45,45,45,45,45,45,1209,45,45,45,45,45,45,45,67,763,67,67,67,67,67,67,67,67,770,67,67,67,774,67,0,2045,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,994,45,45,45,45,45,45,45,45,45,45,67,67,213,67,219,67,67,232,67,242,67,247,67,67,67,779,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1018,67,67,67,67,811,67,67,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,834,97,97,97,97,97,839,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,645,97,97,861,97,97,97,97,97,97,97,97,868,97,97,97,872,97,97,877,97,97,97,97,97,97,97,97,97,97,97,97,97,613,97,97,97,97,97,909,97,97,97,97,97,97,97,97,97,0,0,0,18,18,24,24,27,27,27,1036,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1047,67,67,67,1050,67,67,67,67,67,67,67,67,67,67,67,67,1033,67,67,67,97,97,1130,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,0,67,67,67,1295,67,67,67,0,0,0,0,0,0,0,0,0,97,1317,97,97,97,97,97,97,1375,97,97,97,0,0,0,45,1379,45,45,45,45,45,45,422,45,45,45,429,431,45,45,45,45,0,1090,0,0,97,1479,97,97,97,97,97,97,97,97,97,97,1357,97,97,97,97,97,97,97,97,97,1716,97,97,97,97,97,97,97,97,97,1723,0,921,29315,0,0,0,0,45,929,45,45,45,45,45,45,45,1392,45,45,45,45,45,45,45,45,45,960,45,45,45,45,45,45,97,97,97,1738,45,45,45,45,45,45,45,1743,45,45,45,45,166,45,45,45,45,184,186,45,45,197,45,45,97,1779,0,0,97,97,97,97,97,97,0,0,97,97,0,97,18,131427,0,638,0,0,0,0,362,0,640,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,45,1537,45,45,45,45,45,1803,45,45,45,45,45,1809,45,45,45,67,67,67,1814,67,67,67,67,67,67,1821,67,67,67,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,0,0,67,67,67,1818,67,67,67,67,67,1824,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,1890,0,1829,97,97,0,0,97,97,1836,97,97,0,0,0,97,97,97,97,1981,45,45,45,45,45,45,45,45,45,1987,1845,97,97,97,45,45,45,45,45,1853,45,45,45,1857,45,45,45,67,1864,67,1866,67,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,1710,1711,67,67,97,97,97,97,97,0,0,0,1886,97,97,97,0,0,97,97,97,97,1838,0,0,0,97,1843,97,0,1893,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,1745,45,45,67,67,67,67,67,97,97,97,97,97,0,0,1931,97,97,97,97,97,588,97,97,97,97,97,97,97,97,97,97,629,97,97,97,97,97,67,2044,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1660,45,45,45,45,45,45,45,45,45,45,45,45,453,45,455,67,67,67,67,268,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,348,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,359,0,0,362,0,365,28809,367,139,45,45,45,45,45,421,45,45,45,45,45,45,45,434,45,45,695,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1667,45,0,921,29315,0,925,0,0,45,45,45,45,45,45,45,45,45,1811,45,67,67,67,67,67,67,1037,67,1039,67,67,67,67,67,67,67,67,67,67,67,67,1277,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1095,0,0,0,1096,97,97,97,97,97,97,97,97,97,97,97,97,869,97,97,97,97,97,97,1131,97,1133,97,97,97,97,97,97,97,97,97,97,1370,97,97,97,97,97,1312,0,0,0,0,1096,0,0,0,97,97,97,97,97,97,97,1327,97,97,97,97,97,1332,97,97,97,1830,97,0,0,97,97,97,97,97,0,0,0,97,97,97,1896,97,97,45,45,45,45,45,45,45,45,45,1548,45,45,45,45,45,45,133,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,380,45,45,45,45,45,45,45,45,45,45,401,45,45,158,45,45,45,45,45,45,45,45,45,45,45,45,45,1200,45,45,45,45,206,67,67,67,67,67,225,67,67,67,67,67,67,67,67,754,67,67,67,67,67,67,67,57889,0,0,54074,54074,550,832,97,97,97,97,97,97,97,97,97,1342,97,97,97,97,97,97,67,67,67,67,67,25398,1083,13112,1087,54074,1091,0,0,0,0,0,0,1316,0,831,97,97,97,97,97,97,97,1174,921,0,1175,0,0,0,0,45,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,148,67,67,264,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,295,97,97,97,97,313,97,97,97,97,331,333,97,18,131427,356,638,0,0,0,0,362,0,0,365,0,367,0,45,45,1530,45,45,45,45,45,45,45,45,45,45,45,45,988,45,45,45,97,344,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,402,404,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1756,67,438,45,45,45,45,45,45,45,45,449,450,45,45,45,67,67,214,218,221,67,229,67,67,243,245,248,67,67,67,67,67,488,490,67,67,67,67,67,67,67,67,67,67,67,1071,67,1073,67,67,67,67,67,524,67,67,67,67,67,67,67,67,535,536,67,67,67,67,67,67,1683,1684,67,67,67,67,1688,1689,67,67,67,67,67,67,1586,67,67,67,67,67,67,67,67,67,469,67,67,67,67,67,67,97,97,97,585,587,97,97,97,97,97,97,97,97,97,97,97,1163,97,97,97,97,97,97,97,621,97,97,97,97,97,97,97,97,632,633,97,97,0,0,1782,97,97,97,97,97,0,0,97,97,0,97,712,45,45,45,717,45,45,45,45,45,45,45,45,725,45,45,45,163,167,173,177,45,45,45,45,45,193,45,45,45,45,982,45,45,45,45,45,45,987,45,45,45,45,45,1558,45,1560,45,45,45,45,45,45,45,45,704,705,45,45,45,45,45,45,45,45,731,45,45,45,67,67,67,67,67,739,67,67,67,67,67,67,273,0,24850,12564,0,0,0,0,28809,53531,67,67,67,764,67,67,67,67,67,67,67,67,67,67,67,67,1290,67,67,67,67,67,67,812,67,67,67,67,818,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,97,97,97,97,837,97,97,97,97,97,602,97,97,97,97,97,97,97,97,97,97,1137,97,97,97,97,97,97,97,97,97,862,97,97,97,97,97,97,97,97,97,97,97,1627,97,97,97,0,97,97,97,97,910,97,97,97,97,916,97,97,97,0,0,0,97,97,1940,97,97,1942,45,45,45,45,45,45,385,45,45,45,45,395,45,45,45,45,966,45,969,45,45,45,45,45,45,45,45,45,45,975,45,45,45,406,45,45,45,45,45,45,45,45,45,45,45,45,974,45,45,45,67,67,67,67,1010,67,67,67,67,67,67,67,67,67,67,67,1262,67,67,67,67,67,67,67,67,67,1040,67,1042,67,1045,67,67,67,67,67,67,67,97,1706,97,97,97,1709,97,97,97,67,67,67,67,1051,67,67,67,67,67,1057,67,67,67,67,67,67,67,1443,67,67,1446,67,67,67,67,67,67,67,1297,0,0,0,1303,0,0,0,1309,67,67,67,67,1079,25398,0,13112,0,54074,0,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,1098,97,97,97,97,97,1104,97,97,97,97,97,97,97,97,97,1356,97,97,97,97,97,97,1128,97,97,97,97,97,97,1134,97,1136,97,1139,97,97,97,97,97,97,1622,97,97,97,97,97,97,97,97,0,921,0,0,0,1176,0,646,45,67,67,67,1268,67,67,67,67,67,67,67,67,67,67,67,67,1469,67,67,67,97,1348,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1127,97,67,1569,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1448,1449,67,1816,67,67,67,67,67,67,67,67,67,1825,67,67,1827,97,97,0,1781,97,97,97,97,97,97,0,0,97,97,0,97,97,97,1831,0,0,97,97,97,97,97,0,0,0,97,97,97,1980,97,45,45,45,45,45,45,45,45,45,45,1395,45,45,45,45,45,97,1846,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1212,45,45,45,45,45,45,2010,45,67,67,67,67,67,2016,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,2007,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,143,45,45,45,1671,45,45,45,45,45,45,45,45,45,45,45,67,1813,67,67,1815,45,45,67,210,67,67,67,67,67,67,239,67,67,67,67,67,67,67,1454,67,67,67,67,67,67,67,67,67,1445,67,67,67,67,67,67,97,97,290,97,97,97,97,97,97,319,97,97,97,97,97,97,303,97,97,317,97,97,97,97,97,97,305,97,97,97,97,97,97,97,97,97,899,97,97,97,97,97,97,375,45,45,45,379,45,45,390,45,45,394,45,45,45,45,45,443,45,45,45,45,45,45,45,45,67,67,67,67,67,461,67,67,67,465,67,67,476,67,67,480,67,67,67,67,67,67,1694,67,67,67,67,67,67,67,67,67,1288,67,67,67,67,67,67,500,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1075,97,97,97,558,97,97,97,562,97,97,573,97,97,577,97,97,97,97,97,895,97,97,97,97,97,97,903,97,97,97,0,97,97,1638,97,97,97,97,97,97,97,97,1646,597,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1334,45,681,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1396,45,45,1399,45,45,730,45,45,45,45,67,67,67,67,67,67,67,67,67,67,1434,67,67,67,67,67,67,750,67,67,67,67,67,67,67,67,67,67,1456,67,67,67,67,67,45,45,993,45,45,45,45,45,45,45,45,45,45,45,67,67,1238,67,67,1006,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1280,1048,1049,67,67,67,67,67,67,67,67,67,67,1059,67,67,67,67,67,67,1286,67,67,67,67,67,67,67,1291,67,97,97,1100,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,920,97,97,1142,1143,97,97,97,97,97,97,97,97,97,97,1153,97,97,97,97,97,1158,97,97,97,1161,97,97,97,97,1166,97,97,97,97,97,1325,97,97,97,97,97,97,97,97,97,97,1328,97,97,97,97,97,97,97,45,1218,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1678,45,45,45,67,67,67,67,67,1269,67,67,67,67,67,67,67,67,1278,67,67,67,67,67,67,1761,67,67,67,67,67,67,67,67,67,530,67,67,67,67,67,67,97,97,1349,97,97,97,97,97,97,97,97,1358,97,97,97,97,97,97,1623,97,97,97,97,97,97,97,97,0,921,0,0,926,0,0,0,45,45,1411,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1754,45,45,67,67,1301,0,1307,0,1313,97,97,97,97,97,97,97,97,97,97,97,21054,97,97,97,97,67,1757,67,67,67,1760,67,67,67,67,67,67,67,67,67,67,1467,67,67,67,67,67,1778,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,97,97,1352,97,97,97,97,97,97,97,97,97,97,1511,97,97,97,97,97,67,67,67,67,67,1820,67,1822,67,67,67,67,67,97,97,97,97,97,0,0,0,97,1933,97,1892,97,97,97,97,97,97,1899,45,45,45,45,45,45,45,45,1664,45,45,45,45,45,45,45,45,1546,45,45,45,45,45,45,45,45,1208,45,45,45,45,45,45,45,45,1224,45,45,45,45,45,45,45,45,673,45,45,45,45,45,45,45,67,67,67,67,67,1925,97,97,97,97,0,0,0,97,97,97,97,97,623,97,97,97,97,97,97,97,97,97,97,307,97,97,97,97,97,97,97,97,97,1796,97,45,45,45,45,45,45,45,970,45,45,45,45,45,45,45,45,1417,45,45,45,45,45,45,45,67,1964,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,97,97,1721,97,97,0,0,1997,97,0,0,2e3,97,97,0,97,97,97,97,97,45,45,45,45,733,45,67,67,67,67,67,67,67,67,67,67,803,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,144,45,45,45,1805,45,1807,45,45,45,45,45,67,67,67,67,67,67,231,67,67,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,45,45,67,211,67,67,67,67,230,234,240,244,67,67,67,67,67,67,464,67,67,67,67,67,67,479,67,67,67,260,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,291,97,97,97,97,310,314,320,324,97,97,97,97,97,97,1367,97,97,97,97,97,97,97,97,97,1355,97,97,97,97,97,97,1362,340,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,360,0,362,0,365,28809,367,139,369,45,45,45,374,67,67,460,67,67,67,67,466,67,67,67,67,67,67,67,67,801,67,67,67,67,67,67,67,67,67,487,67,67,67,67,67,67,67,67,67,67,498,67,67,67,67,67,67,1772,67,67,97,97,97,97,97,97,97,0,921,922,1175,0,0,0,0,45,67,502,67,67,67,67,67,67,67,508,67,67,67,515,517,67,67,67,67,67,97,97,97,97,97,0,0,0,1932,97,97,0,1999,97,97,97,0,97,97,2004,2005,97,45,45,45,45,1193,45,45,45,45,45,45,45,45,45,45,45,676,45,45,45,45,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,552,97,97,97,97,97,1377,0,0,45,45,45,45,45,45,45,45,655,45,45,45,45,45,45,45,97,97,557,97,97,97,97,563,97,97,97,97,97,97,97,97,1135,97,97,97,97,97,97,97,97,97,584,97,97,97,97,97,97,97,97,97,97,595,97,97,97,97,97,911,97,97,97,97,97,97,97,638,0,0,0,0,1315,0,0,0,0,97,97,97,1319,97,97,97,0,97,97,97,97,97,97,1733,97,97,97,97,97,97,1340,97,97,97,1343,97,97,1345,97,1346,97,599,97,97,97,97,97,97,97,605,97,97,97,612,614,97,97,97,97,97,1794,97,97,97,45,45,45,45,45,45,45,1207,45,45,45,45,45,45,1213,45,45,745,67,67,67,67,751,67,67,67,67,67,67,67,67,67,67,1577,67,67,67,67,67,762,67,67,67,67,766,67,67,67,67,67,67,67,67,67,67,1765,67,67,67,67,67,777,67,67,781,67,67,67,67,67,67,67,67,67,67,67,67,1592,1593,67,67,97,843,97,97,97,97,849,97,97,97,97,97,97,97,97,97,1510,97,97,97,97,97,97,97,860,97,97,97,97,864,97,97,97,97,97,97,97,97,97,1797,45,45,45,45,1801,45,97,875,97,97,879,97,97,97,97,97,97,97,97,97,97,97,1522,97,97,97,97,97,991,45,45,45,45,996,45,45,45,45,45,45,45,45,67,67,215,67,67,67,67,233,67,67,67,67,251,253,1022,67,67,67,1026,67,67,67,67,67,67,67,67,67,67,1035,67,67,1038,67,67,67,67,67,67,67,67,67,67,67,67,67,1458,67,67,67,67,67,1064,67,67,67,1067,67,67,67,67,1072,67,67,67,67,67,67,1296,0,0,0,0,0,0,0,0,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,1096,0,921,29315,0,0,0,0,928,45,45,45,45,45,934,45,45,45,164,45,45,45,45,45,45,45,45,45,198,45,45,45,378,45,45,45,45,45,45,393,45,45,45,398,45,97,97,1116,97,97,97,1120,97,97,97,97,97,97,97,97,97,1147,1148,97,97,97,97,97,97,97,1129,97,97,1132,97,97,97,97,97,97,97,97,97,97,97,1626,97,97,97,97,0,45,1178,45,45,45,45,45,45,45,45,45,1185,45,45,45,45,441,45,45,45,45,45,45,451,45,45,67,67,67,67,67,227,67,67,67,67,67,67,67,67,1260,67,67,67,1263,67,67,1265,1203,45,45,1205,45,1206,45,45,45,45,45,45,45,45,45,1216,67,1266,67,67,67,67,67,67,67,67,67,1276,67,67,67,67,67,67,492,67,67,67,67,67,67,67,67,67,471,67,67,67,67,481,67,45,1386,45,1389,45,45,45,45,1394,45,45,45,1397,45,45,45,45,995,45,997,45,45,45,45,45,45,45,67,67,67,67,1915,67,67,67,67,67,1422,45,45,45,67,67,67,67,67,67,67,67,67,1433,67,1436,67,67,67,67,1441,67,67,67,1444,67,67,67,67,67,67,67,0,24850,12564,0,0,0,281,28809,53531,97,97,97,97,1494,97,97,97,1497,97,97,97,97,97,97,97,1368,97,97,97,97,97,97,97,97,851,97,97,97,97,97,97,97,67,67,67,1571,67,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,67,67,1583,67,67,67,67,67,67,67,67,1591,67,67,67,67,67,67,752,67,67,67,67,67,67,67,67,67,1056,67,67,67,67,67,67,97,1634,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1125,97,97,97,1647,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,1183,45,45,45,45,45,45,45,45,45,409,45,45,45,45,45,45,1658,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1668,1712,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,1835,97,97,97,97,0,0,0,97,97,1844,97,97,1726,0,97,97,97,97,97,1732,97,1734,97,97,97,97,97,300,97,308,97,97,97,97,97,97,97,97,866,97,97,97,97,97,97,97,67,67,67,1758,67,67,67,1762,67,67,67,67,67,67,67,67,1043,67,67,67,67,67,67,67,67,67,67,67,67,1771,67,67,67,97,97,97,97,97,1776,97,97,97,97,297,97,97,97,97,97,97,97,97,97,97,97,1108,97,97,97,97,67,67,67,1966,97,97,97,1970,0,0,0,97,97,97,97,0,97,97,97,1720,97,97,97,97,97,0,0,97,97,97,1837,97,0,1840,1841,97,97,97,1988,45,67,67,67,67,67,67,67,67,67,1994,1995,67,97,97,97,97,97,1103,97,97,97,97,97,97,97,97,97,97,917,97,97,0,0,0,67,67,265,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,345,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,361,362,0,365,28809,367,139,45,45,45,45,45,671,45,45,45,45,45,45,45,45,45,45,411,45,45,414,45,45,45,45,377,45,45,45,386,45,45,45,45,45,45,45,45,45,1223,45,45,45,45,45,45,45,45,45,426,45,45,433,45,45,45,67,67,67,67,67,463,67,67,67,472,67,67,67,67,67,67,67,527,67,67,67,67,67,67,537,67,540,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,97,97,97,1119,97,97,97,97,97,97,97,97,97,97,1509,97,97,97,97,97,97,97,97,564,97,97,97,97,97,97,97,637,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,927,45,45,45,45,45,45,45,45,45,1234,45,45,45,45,67,67,67,67,1240,45,697,45,45,45,45,45,45,45,45,45,45,708,45,45,45,45,1221,45,45,45,45,1225,45,45,45,45,45,45,384,45,45,45,45,45,45,45,45,45,1210,45,45,45,45,45,45,67,67,795,67,67,67,67,67,67,67,67,67,67,67,67,67,1470,67,67,67,67,67,67,67,815,67,67,67,67,67,67,25398,542,13112,544,97,97,97,893,97,97,97,97,97,97,97,97,97,97,97,97,1164,97,97,97,67,67,67,1025,67,67,67,67,67,67,67,67,67,67,67,67,1687,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,1097,1241,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1450,45,45,1388,45,1390,45,45,45,45,45,45,45,45,45,45,45,1236,67,67,67,67,67,1437,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1472,1490,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1503,67,67,67,67,67,97,97,97,97,97,0,1930,0,97,97,97,97,97,847,97,97,97,97,97,97,97,97,97,858,67,67,1965,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,1719,97,97,97,97,97,97,0,0,0,45,45,45,45,1382,45,1383,45,45,45,159,45,45,45,45,45,45,45,45,45,45,45,45,45,1563,45,45,45,45,45,67,261,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,341,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,1099,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1333,97,1230,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1992,67,1993,67,67,67,97,97,45,45,160,45,45,45,45,45,45,45,45,45,45,45,45,45,1665,45,45,45,45,45,131427,357,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,684,45,45,45,45,45,45,45,45,45,45,412,45,45,45,416,45,45,45,440,45,45,45,45,45,45,45,45,45,45,45,67,67,1990,67,1991,67,67,67,67,67,67,67,97,97,1707,97,97,97,97,97,97,501,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1691,67,67,67,67,67,526,67,67,67,67,67,67,67,67,67,67,1030,67,1032,67,67,67,67,598,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1632,0,921,29315,923,0,0,0,45,45,45,45,45,45,45,45,45,1404,45,45,45,45,45,45,45,45,45,425,45,45,45,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1093,0,0,0,0,0,97,1609,97,97,97,97,97,97,97,97,97,1369,97,97,97,1372,97,97,67,67,266,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,346,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,665,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1677,45,45,45,45,67,45,45,954,45,956,45,45,45,45,45,45,45,45,45,45,45,1545,45,45,45,45,45,45,45,45,45,448,45,45,45,45,67,456,67,67,67,67,67,1270,67,67,67,67,67,67,67,67,67,67,1069,67,67,67,67,67,67,97,97,97,1350,97,97,97,97,97,97,97,97,97,97,97,97,1524,97,97,97,97,97,97,97,1376,0,0,0,45,45,45,45,45,45,45,45,1559,1561,45,45,45,1564,45,1566,1567,45,67,67,67,67,67,1573,67,67,67,67,67,67,67,67,67,67,1247,67,67,67,67,67,1252,97,1725,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1628,97,1630,0,0,94242,0,0,0,2211840,0,1118208,0,0,0,0,2158592,2158731,2158592,2158592,2158592,3117056,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3018752,2158592,3043328,2158592,2158592,2158592,2158592,3080192,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158878,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2605056,2158592,2158592,2207744,0,542,0,544,0,0,2166784,0,0,0,550,0,0,2158592,2158592,2686976,2158592,2715648,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2867200,2158592,2904064,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,0,2211840,0,0,1130496,0,0,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,139,0,0,0,139,0,2367488,2207744,0,0,0,0,176128,0,2166784,0,0,0,0,0,286,2158592,2158592,3170304,3174400,2158592,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,1508,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,2158592,2158592,2158592,2158592,3158016,67,24850,24850,12564,12564,0,0,0,0,0,53531,53531,0,286,97,97,97,97,97,1144,97,97,97,97,97,97,97,97,97,97,1149,97,97,97,97,1154,57889,0,0,0,0,550,0,97,97,97,97,97,97,97,97,97,561,97,97,97,97,97,97,576,97,97,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,0,0,139264,0,921,29315,0,0,926,0,45,45,45,45,45,45,45,45,45,719,720,45,45,45,45,45,45,45,45,685,45,45,45,45,45,45,45,45,45,942,45,45,946,45,45,45,950,45,45,0,2146304,2146304,0,0,0,0,2224128,2224128,2224128,2232320,2232320,2232320,2232320,0,0,1301,0,0,0,0,0,1307,0,0,0,0,0,1313,0,0,0,0,0,0,0,97,97,1318,97,97,97,97,97,97,1795,97,97,45,45,45,45,45,45,45,446,45,45,45,45,45,45,67,67,2158592,2146304,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,924,0,0,45,45,45,45,45,45,45,45,45,1e3,45,45,45,45,67,67],r.EXPECTED=[290,300,304,353,296,309,305,319,315,324,328,352,354,334,338,330,320,345,349,293,358,362,341,366,312,370,374,378,382,386,390,394,398,737,402,634,439,604,634,634,634,634,408,634,634,634,404,634,634,634,457,634,634,963,634,634,413,634,634,634,634,634,634,634,663,418,422,903,902,426,431,548,634,437,521,919,443,615,409,449,455,624,731,751,634,461,465,672,470,469,474,481,485,477,489,493,629,542,497,505,603,602,991,648,510,804,634,515,958,526,525,530,768,634,546,552,711,710,593,558,562,618,566,570,574,578,582,586,590,608,612,660,822,821,634,622,596,444,628,533,724,633,640,653,647,652,536,1008,451,450,445,657,670,676,685,689,693,697,701,704,707,715,719,798,815,634,723,762,996,634,728,969,730,735,908,634,741,679,889,511,747,634,750,755,499,666,499,501,759,772,776,780,634,787,784,797,802,809,808,427,814,1006,517,634,519,853,634,813,850,793,634,819,826,833,832,837,843,847,857,861,863,867,871,875,879,883,643,887,539,980,979,634,893,944,634,900,896,634,907,933,506,912,917,828,433,636,635,554,961,923,930,927,937,941,634,634,634,974,948,952,985,913,968,967,743,634,973,839,634,978,599,634,984,989,765,444,995,1e3,634,1003,790,955,1012,681,634,634,634,634,634,414,1016,1020,1024,1085,1027,1090,1090,1046,1080,1137,1108,1215,1049,1032,1039,1085,1085,1085,1085,1058,1062,1068,1085,1086,1090,1090,1091,1072,1064,1107,1090,1090,1090,1118,1123,1138,1078,1074,1084,1085,1085,1085,1087,1090,1062,1052,1060,1114,1062,1104,1085,1085,1090,1090,1028,1122,1063,1128,1139,1127,1158,1085,1085,1151,1090,1090,1090,1095,1090,1132,1073,1136,1143,1061,1150,1085,1155,1098,1101,1146,1162,1169,1101,1185,1151,1090,1110,1173,1054,1087,1109,1177,1165,1089,1204,1184,1107,1189,1193,1088,1197,1180,1201,1208,1042,1212,1219,1223,1227,1231,1235,1245,1777,1527,1686,1686,1238,1686,1254,1686,1686,1686,1294,1669,1686,1686,1686,1322,1625,1534,1268,1624,1275,1281,1443,1292,1300,1686,1686,1686,1350,1826,1306,1686,1686,1240,2032,1317,1321,1686,1686,1253,1686,1326,1686,1686,1686,1418,1709,1446,1686,1686,1686,1492,1686,1295,1447,1686,1686,1258,1686,1736,1686,1686,1520,1355,1686,1288,1348,1361,1686,1359,1686,1364,1498,1368,1302,1362,1381,1389,1395,1486,1686,1371,1377,1370,1686,1375,1382,1384,1402,1408,1385,1383,1619,1413,1423,1428,1433,1686,1686,1270,1686,1338,1686,1440,1686,1686,1686,1499,1465,1686,1686,1686,1639,1473,1884,1686,1686,1293,1864,1686,1686,1296,1321,1483,1686,1686,1686,1646,1686,1748,1496,1686,1418,1675,1686,1418,1702,1686,1418,1981,1686,1429,1409,1427,1504,1692,1686,1686,1313,1448,1651,1508,1686,1686,1340,1686,1903,1686,1686,1435,1513,1686,1283,1287,1519,1686,1524,1363,1568,1938,1539,1566,1579,1479,1533,1538,1553,1544,1552,1557,1563,1574,1557,1583,1589,1590,1759,1594,1603,1607,1611,1686,1436,1514,1686,1434,1656,1686,1434,1680,1686,1453,1686,1686,1686,1559,1617,1686,1770,1418,1623,1769,1629,1686,1515,1335,1686,1285,1686,1671,1921,1650,1686,1686,1344,1308,1666,1686,1686,1686,1659,1685,1686,1686,1686,1686,1241,1686,1686,1844,1691,1686,1630,1977,1970,1362,1686,1686,1686,1693,1698,1686,1686,1686,1697,1686,1764,1715,1686,1634,1638,1686,1599,1585,1686,1271,1686,1269,1686,1721,1686,1686,1354,1686,1801,1686,1799,1686,1640,1686,1686,1461,1686,1686,1732,1686,1944,1686,1740,1686,1746,1415,1396,1686,1598,1547,1417,1597,1416,1577,1546,1397,1577,1547,1548,1570,1398,1753,1686,1652,1509,1686,1686,1686,1757,1686,1419,1686,1763,1418,1768,1781,1686,1686,1686,1705,1686,2048,1792,1686,1686,1686,1735,1686,1797,1686,1686,1404,1686,1639,1815,1686,1686,1418,2017,1820,1686,1686,1803,1686,1686,1686,1736,1489,1686,1686,1825,1338,1260,1263,1686,1686,1785,1686,1686,1728,1686,1686,1749,1497,1830,1830,1262,1248,1261,1329,1260,1264,1329,1248,1249,1259,1540,1849,1842,1686,1686,1835,1686,1686,1816,1686,1686,1831,1882,1848,1686,1686,1686,1774,2071,1854,1686,1686,1469,1884,1686,1821,1859,1686,1686,1350,1883,1686,1686,1686,1781,1391,1875,1686,1686,1613,1644,1686,1686,1889,1686,1686,1662,1884,1686,1885,1890,1686,1686,1686,1894,1686,1686,1678,1686,1907,1686,1686,1529,1914,1686,1838,1686,1686,1881,1686,1686,1872,1876,1836,1919,1686,1837,1692,1910,1686,1925,1928,1742,1686,1811,1811,1930,1810,1929,1935,1928,1900,1942,1867,1868,1931,1035,1788,1948,1952,1956,1960,1964,1686,1976,1686,1686,1686,2065,1686,1992,2037,1686,1686,1998,2009,1972,2002,1686,1686,1686,2077,1300,2023,1686,1686,1686,1807,2031,1686,1686,1686,1860,1500,2032,1686,1686,1686,2083,1686,2036,1686,1277,1276,2042,1877,1686,1686,2041,1686,1686,2027,2037,2012,1686,2012,1855,1850,1686,2046,1686,1686,2054,1996,1686,1897,1309,2059,2052,1686,2058,1686,1686,2081,1686,1717,1477,1686,1331,1686,1686,1687,1686,1860,1681,1686,1686,1686,1966,1724,1686,1686,1686,1984,2015,1686,1686,1686,1988,1686,2063,1686,1686,1686,2005,1686,1727,1686,1686,1711,1457,2069,1686,1686,1686,2019,2075,1686,1686,1915,1686,1686,1793,1874,1686,1686,1491,1362,1449,1686,1686,1460,2098,2087,2091,2095,2184,2102,2113,2780,2117,2134,2142,2281,2146,2146,2146,2304,2296,2181,2639,2591,2872,2592,2873,2313,2195,2200,2281,2146,2273,2226,2204,2152,2219,2276,2167,2177,2276,2235,2276,2276,2230,2281,2276,2296,2276,2293,2276,2276,2276,2276,2234,2276,2311,2314,2210,2199,2217,2222,2276,2276,2276,2240,2276,2294,2276,2276,2173,2276,2198,2281,2281,2281,2281,2282,2146,2146,2146,2146,2205,2146,2204,2248,2276,2235,2276,2297,2276,2276,2276,2277,2256,2281,2283,2146,2146,2146,2275,2276,2295,2276,2276,2293,2146,2304,2264,2269,2221,2276,2276,2276,2293,2295,2276,2276,2276,2295,2263,2205,2268,2220,2172,2276,2276,2276,2296,2276,2276,2296,2294,2276,2276,2278,2281,2281,2280,2281,2281,2281,2283,2206,2223,2276,2276,2279,2281,2281,2146,2273,2276,2276,2281,2281,2281,2276,2292,2276,2298,2225,2276,2298,2169,2224,2292,2298,2171,2229,2281,2281,2171,2236,2281,2281,2281,2146,2275,2225,2292,2299,2276,2229,2281,2146,2276,2290,2297,2283,2146,2146,2274,2224,2227,2298,2225,2297,2276,2230,2170,2230,2282,2146,2147,2151,2156,2288,2276,2230,2303,2308,2236,2284,2228,2318,2318,2318,2326,2335,2339,2343,2349,2416,2693,2357,2592,2109,2592,2592,2162,2943,2823,2646,2592,2361,2592,2122,2592,2592,2122,2470,2592,2592,2592,2109,2107,2592,2592,2592,2123,2592,2592,2592,2125,2592,2413,2592,2592,2592,2127,2592,2592,2414,2592,2592,2592,2130,2952,2592,2594,2592,2592,2212,2609,2252,2592,2592,2592,2446,2434,2592,2592,2592,2212,2446,2450,2456,2431,2435,2592,2592,2243,2478,2448,2439,2946,2592,2592,2592,2368,2809,2813,2450,2441,2212,2812,2449,2440,2947,2592,2592,2592,2345,2451,2457,2948,2592,2124,2592,2592,2650,2823,2449,2455,2946,2592,2128,2592,2592,2649,2952,2592,2810,2448,2461,2991,2467,2592,2592,2329,2817,2474,2990,2466,2592,2592,2373,2447,2992,2469,2592,2592,2592,2373,2447,2477,2468,2592,2592,2353,2469,2592,2495,2592,2592,2415,2483,2592,2415,2496,2592,2592,2352,2592,2592,2352,2352,2469,2592,2592,2363,2331,2494,2592,2592,2592,2375,2592,2375,2415,2504,2592,2592,2367,2372,2503,2592,2592,2592,2389,2418,2415,2592,2592,2373,2592,2592,2592,2593,2732,2417,2415,2592,2417,2520,2592,2592,2592,2390,2521,2521,2592,2592,2592,2401,2599,2585,2526,2531,2120,2592,2212,2426,2450,2463,2948,2592,2592,2592,2213,2389,2527,2532,2121,2542,2551,2105,2592,2213,2592,2592,2592,2558,2538,2544,2553,2557,2537,2543,2552,2421,2572,2576,2546,2543,2547,2592,2592,2373,2615,2575,2545,2105,2592,2244,2479,2592,2129,2592,2592,2628,2690,2469,2562,2566,2592,2592,2592,2415,2928,2934,2401,2570,2574,2564,2572,2585,2590,2592,2592,2585,2965,2592,2592,2592,2445,2251,2592,2592,2592,2474,2592,2609,2892,2592,2362,2592,2592,2138,2851,2159,2592,2592,2592,2509,2888,2892,2592,2592,2592,2490,2418,2891,2592,2592,2376,2592,2592,2374,2592,2889,2388,2592,2373,2373,2890,2592,2592,2387,2592,2887,2505,2892,2592,2373,2610,2388,2592,2592,2376,2373,2592,2887,2891,2592,2374,2592,2592,2608,2159,2614,2620,2592,2592,2394,2594,2887,2399,2592,2887,2397,2508,2374,2507,2592,2375,2592,2592,2592,2595,2508,2506,2592,2506,2505,2505,2592,2507,2637,2505,2592,2592,2401,2661,2592,2643,2592,2592,2417,2592,2655,2592,2592,2592,2510,2414,2656,2592,2592,2592,2516,2592,2593,2660,2665,2880,2592,2592,2592,2522,2767,2666,2881,2592,2592,2420,2571,2696,2592,2592,2592,2580,2572,2686,2632,2698,2592,2383,2514,2592,2163,2932,2465,2685,2631,2697,2592,2388,2592,2592,2212,2604,2671,2632,2678,2592,2401,2405,2409,2592,2592,2592,2679,2592,2592,2592,2592,2108,2677,2591,2592,2592,2592,2419,2592,2683,2187,2191,2469,2671,2189,2467,2592,2401,2629,2633,2702,2468,2592,2592,2421,2536,2703,2469,2592,2592,2422,2573,2593,2672,2467,2592,2402,2406,2592,2402,2979,2592,2592,2626,2673,2467,2592,2446,2259,2947,2592,2377,2709,2592,2592,2522,2862,2713,2468,2592,2592,2581,2572,2562,2374,2374,2592,2376,2721,2724,2592,2592,2624,2373,2731,2592,2592,2592,2626,2732,2592,2592,2592,2755,2656,2726,2736,2741,2592,2486,2593,2381,2592,2727,2737,2742,2715,2747,2753,2592,2498,2469,2873,2743,2592,2592,2592,2791,2759,2763,2592,2592,2627,2704,2592,2592,2522,2789,2593,2761,2753,2592,2498,2863,2592,2592,2767,2592,2592,2592,2792,2789,2592,2592,2592,2803,2126,2592,2592,2592,2811,2122,2592,2592,2592,2834,2777,2592,2592,2592,2848,2936,2591,2489,2797,2592,2592,2670,2631,2490,2798,2592,2592,2592,2963,2807,2592,2592,2592,2965,2838,2592,2592,2592,2975,2330,2818,2829,2592,2498,2939,2592,2498,2592,2791,2331,2819,2830,2592,2592,2592,2982,2834,2817,2828,2106,2592,2592,2592,2405,2405,2817,2828,2592,2592,2415,2849,2842,2592,2522,2773,2592,2522,2868,2592,2580,2600,2586,2137,2850,2843,2592,2592,2855,2937,2844,2592,2592,2592,2987,2936,2591,2592,2592,2684,2630,2592,2856,2938,2592,2592,2860,2939,2592,2592,2872,2592,2861,2591,2592,2592,2887,2616,2592,2867,2592,2592,2708,2592,2498,2469,2498,2497,2785,2773,2499,2783,2770,2877,2877,2877,2772,2592,2592,2345,2885,2592,2592,2592,2715,2762,2515,2896,2592,2592,2715,2917,2516,2897,2592,2592,2592,2901,2906,2911,2592,2592,2956,2960,2715,2902,2907,2912,2593,2916,2920,2820,2922,2822,2592,2592,2715,2927,2921,2821,2106,2592,2592,2974,2408,2321,2821,2106,2592,2592,2983,2592,2593,2404,2408,2592,2592,2717,2749,2716,2928,2322,2822,2593,2926,2919,2820,2934,2823,2592,2592,2592,2651,2824,2592,2592,2592,2130,2952,2592,2592,2592,2592,2964,2592,2592,2716,2748,2592,2969,2592,2592,2716,2918,2368,2970,2592,2592,2592,2403,2407,2592,2592,2787,2211,2404,2409,2592,2592,2802,2837,2987,2592,2592,2592,2809,2427,2592,2793,2592,2592,2809,2447,1073741824,2147483648,539754496,542375936,402653184,554434560,571736064,545521856,268451840,335544320,268693630,512,2048,256,1024,0,1024,0,1073741824,2147483648,0,0,0,8388608,0,0,1073741824,1073741824,0,2147483648,537133056,4194304,1048576,268435456,-1073741824,0,0,0,1048576,0,0,0,1572864,0,0,0,4194304,0,134217728,16777216,0,0,32,64,98304,0,33554432,8388608,192,67108864,67108864,67108864,67108864,16,32,4,0,8192,196608,196608,229376,80,4096,524288,8388608,0,0,32,128,256,24576,24600,24576,24576,2,24576,24576,24576,24584,24592,24576,24578,24576,24578,24576,24576,16,512,2048,2048,256,4096,32768,1048576,4194304,67108864,134217728,268435456,262144,134217728,0,128,128,64,16384,16384,16384,67108864,32,32,4,4,4096,262144,134217728,0,0,0,2,0,8192,131072,131072,4096,4096,4096,4096,24576,24576,24576,8,8,24576,24576,16384,16384,16384,24576,24584,24576,24576,24576,16384,24576,536870912,262144,0,0,32,2048,8192,4,4096,4096,4096,786432,8388608,16777216,0,128,16384,16384,16384,32768,65536,2097152,32,32,32,32,4,4,4,4,4,4096,67108864,67108864,67108864,24576,24576,24576,24576,0,16384,16384,16384,16384,67108864,67108864,8,67108864,24576,8,8,8,24576,24576,24576,24578,24576,24576,24576,2,2,2,16384,67108864,67108864,67108864,32,67108864,8,8,24576,2048,2147483648,536870912,262144,262144,262144,67108864,8,24576,16384,32768,1048576,4194304,25165824,67108864,24576,32770,2,4,112,512,98304,524288,50,402653186,1049090,1049091,10,66,100925514,10,66,12582914,0,0,-1678194207,-1678194207,-1041543218,0,32768,0,0,32,65536,268435456,1,1,513,1048577,0,12582912,0,0,0,4,1792,0,0,0,7,29360128,0,0,0,8,0,0,0,12,1,1,0,0,-604102721,-604102721,4194304,8388608,0,0,0,31,925600,997981306,997981306,997981306,0,0,2048,8388608,0,0,1,2,4,32,64,512,8192,0,0,0,245760,997720064,0,0,0,32,0,0,0,3,12,16,32,8,112,3072,12288,16384,32768,65536,131072,7864320,16777216,973078528,0,0,65536,131072,3670016,4194304,16777216,33554432,2,8,48,2048,8192,16384,32768,65536,131072,524288,131072,524288,3145728,4194304,16777216,33554432,65536,131072,2097152,4194304,16777216,33554432,134217728,268435456,536870912,0,0,0,1024,0,8,48,2048,8192,65536,33554432,268435456,536870912,65536,268435456,536870912,0,0,32768,0,0,126,623104,65011712,0,32,65536,536870912,0,0,65536,524288,0,32,65536,0,0,0,2048,0,0,0,15482,245760,-604102721,0,0,0,18913,33062912,925600,-605028352,0,0,0,65536,31,8096,131072,786432,3145728,3145728,12582912,50331648,134217728,268435456,160,256,512,7168,131072,786432,131072,786432,1048576,2097152,12582912,16777216,268435456,1073741824,2147483648,12582912,16777216,33554432,268435456,1073741824,2147483648,3,12,16,160,256,7168,786432,1048576,12582912,16777216,268435456,1073741824,0,8,16,32,128,256,512,7168,786432,1048576,2097152,0,1,2,8,16,7168,786432,1048576,8388608,16777216,16777216,1073741824,0,0,0,0,1,0,0,8,32,128,256,7168,8,32,0,3072,0,8,32,3072,4096,524288,8,32,0,0,3072,4096,0,2048,524288,8388608,8,2048,0,0,1,12,256,4096,32768,262144,1048576,4194304,67108864,0,2048,0,2048,2048,1073741824,-58805985,-58805985,-58805985,0,0,262144,0,0,32,4194304,16777216,134217728,4382,172032,-58982400,0,0,2,28,256,4096,8192,8192,32768,131072,262144,524288,1,2,12,256,4096,0,0,4194304,67108864,134217728,805306368,1073741824,0,0,1,2,12,16,256,4096,1048576,67108864,134217728,268435456,0,512,1048576,4194304,201326592,1879048192,0,0,12,256,4096,134217728,268435456,536870912,12,256,268435456,536870912,0,12,256,0,0,1,32,64,512,0,0,205236961,205236961,0,0,0,1,96,640,1,10976,229376,204996608,0,640,2048,8192,229376,1572864,1572864,2097152,201326592,0,0,0,64,512,2048,229376,1572864,201326592,1572864,201326592,0,0,1,4382,0,1,32,2048,65536,131072,1572864,201326592,131072,1572864,134217728,0,0,524288,524288,0,0,0,-68582786,-68582786,-68582786,0,0,2097152,524288,0,524288,0,0,65536,131072,1572864,0,0,2,4,0,0,65011712,-134217728,0,0,0,0,2,4,120,512,-268435456,0,0,0,2,8,48,64,2048,8192,98304,524288,2097152,4194304,25165824,33554432,134217728,268435456,2147483648,0,0,25165824,33554432,134217728,1879048192,2147483648,0,0,4,112,512,622592,65011712,134217728,-268435456,16777216,33554432,134217728,1610612736,0,0,0,64,98304,524288,4194304,16777216,33554432,0,98304,524288,16777216,33554432,0,65536,524288,33554432,536870912,1073741824,0,65536,524288,536870912,1073741824,0,0,65536,524288,536870912,0,524288,0,524288,524288,1048576,2086666240,2147483648,0,-1678194207,0,0,0,8,32,2048,524288,8388608,0,0,33062912,436207616,2147483648,0,0,32,64,2432,16384,32768,32768,524288,3145728,4194304,25165824,25165824,167772160,268435456,2147483648,0,32,64,384,2048,16384,32768,1048576,2097152,4194304,25165824,32,64,128,256,2048,16384,2048,16384,1048576,4194304,16777216,33554432,134217728,536870912,1073741824,0,0,2048,16384,4194304,16777216,33554432,134217728,805306368,0,0,16777216,134217728,268435456,2147483648,0,622592,622592,622592,8807,8807,434791,0,0,16777216,0,0,0,7,608,8192,0,0,0,3,4,96,512,32,64,8192,0,0,16777216,134217728,0,0,2,4,8192,16384,65536,2097152,33554432,268435456],r.TOKEN=["(0)","ModuleDecl","Annotation","OptionDecl","Operator","Variable","Tag","EndTag","PragmaContents","DirCommentContents","DirPIContents","CDataSectionContents","AttrTest","Wildcard","EQName","IntegerLiteral","DecimalLiteral","DoubleLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","QuotChar","AposChar","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","NCName","QName","S","CharRef","CommentContents","DocTag","DocCommentContents","EOF","'!'","'\"'","'#'","'#)'","''''","'('","'(#'","'(:'","'(:~'","')'","'*'","'*'","','","'-->'","'.'","'/'","'/>'","':'","':)'","';'","'}\n \nsnippet ife\n if (${1:/* condition */}) {\n ${2:// code...}\n } else {\n ${3:// code...}\n }\n ${4}\nsnippet ifeil\n \n ${2:}\n \n ${3:}\n \n ${4}\nsnippet else\n else {\n ${1:// code...}\n }\nsnippet elseif\n elseif (${1:/* condition */}) {\n ${2:// code...}\n }\nsnippet switch\n switch ($${1:variable}) {\n case '${2:value}':\n ${3:// code...}\n break;\n ${5}\n default:\n ${4:// code...}\n break;\n }\nsnippet case\n case '${1:value}':\n ${2:// code...}\n break;${3}\nsnippet for\n for ($${2:i} = 0; $$2 < ${1:count}; $$2${3:++}) {\n ${4: // code...}\n }\nsnippet foreach\n foreach ($${1:variable} as $${2:value}) {\n ${3:// code...}\n }\nsnippet foreachil\n \n ${3:}\n \nsnippet foreachk\n foreach ($${1:variable} as $${2:key} => $${3:value}) {\n ${4:// code...}\n }\nsnippet foreachkil\n $${3:value}): ?>\n ${4:}\n \n# $... = array (...)\nsnippet array\n $${1:arrayName} = array('${2}' => ${3});${4}\nsnippet try\n try {\n ${2}\n } catch (${1:Exception} $e) {\n }\n# lambda with closure\nsnippet lambda\n ${1:static }function (${2:args}) use (${3:&$x, $y /*put vars in scope (closure) */}) {\n ${4}\n };\n# pre_dump();\nsnippet pd\n echo '
      '; var_dump(${1}); echo '
      ';\n# pre_dump(); die();\nsnippet pdd\n echo '
      '; var_dump(${1}); echo '
      '; die(${2:});\nsnippet vd\n var_dump(${1});\nsnippet vdd\n var_dump(${1}); die(${2:});\nsnippet http_redirect\n header (\"HTTP/1.1 301 Moved Permanently\"); \n header (\"Location: \".URL); \n exit();\n# Getters & Setters\nsnippet gs\n /**\n * Gets the value of ${1:foo}\n *\n * @return ${2:$1}\n */\n public function get${3:$2}()\n {\n return $this->${4:$1};\n }\n\n /**\n * Sets the value of $1\n *\n * @param $2 $$1 ${5:description}\n *\n * @return ${6:$FILENAME}\n */\n public function set$3(${7:$2 }$$1)\n {\n $this->$4 = $$1;\n return $this;\n }${8}\n# anotation, get, and set, useful for doctrine\nsnippet ags\n /**\n * ${1:description}\n * \n * @${7}\n */\n ${2:protected} $${3:foo};\n\n public function get${4:$3}()\n {\n return $this->$3;\n }\n\n public function set$4(${5:$4 }$${6:$3})\n {\n $this->$3 = $$6;\n return $this;\n }\nsnippet rett\n return true;\nsnippet retf\n return false;\n",t.scope="php"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/plain_text.js b/static/js/lib/ace/src-min-noconflict/snippets/plain_text.js new file mode 100644 index 0000000..bbabfda --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/plain_text.js @@ -0,0 +1 @@ +ace.define("ace/snippets/plain_text",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="plain_text"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/powershell.js b/static/js/lib/ace/src-min-noconflict/snippets/powershell.js new file mode 100644 index 0000000..6ca4c22 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/powershell.js @@ -0,0 +1 @@ +ace.define("ace/snippets/powershell",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="powershell"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/prolog.js b/static/js/lib/ace/src-min-noconflict/snippets/prolog.js new file mode 100644 index 0000000..6970c90 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/prolog.js @@ -0,0 +1 @@ +ace.define("ace/snippets/prolog",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="prolog"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/properties.js b/static/js/lib/ace/src-min-noconflict/snippets/properties.js new file mode 100644 index 0000000..a011dd3 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/properties.js @@ -0,0 +1 @@ +ace.define("ace/snippets/properties",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="properties"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/protobuf.js b/static/js/lib/ace/src-min-noconflict/snippets/protobuf.js new file mode 100644 index 0000000..c107e8e --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/protobuf.js @@ -0,0 +1 @@ +ace.define("ace/snippets/protobuf",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="protobuf"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/python.js b/static/js/lib/ace/src-min-noconflict/snippets/python.js new file mode 100644 index 0000000..915c0f0 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/python.js @@ -0,0 +1 @@ +ace.define("ace/snippets/python",["require","exports","module"],function(e,t,n){t.snippetText='snippet #!\n #!/usr/bin/env python\nsnippet imp\n import ${1:module}\nsnippet from\n from ${1:package} import ${2:module}\n# Module Docstring\nsnippet docs\n \'\'\'\n File: ${1:`Filename(\'$1.py\', \'foo.py\')`}\n Author: ${2:`g:snips_author`}\n Description: ${3}\n \'\'\'\nsnippet wh\n while ${1:condition}:\n ${2:# TODO: write code...}\n# dowh - does the same as do...while in other languages\nsnippet dowh\n while True:\n ${1:# TODO: write code...}\n if ${2:condition}:\n break\nsnippet with\n with ${1:expr} as ${2:var}:\n ${3:# TODO: write code...}\n# New Class\nsnippet cl\n class ${1:ClassName}(${2:object}):\n """${3:docstring for $1}"""\n def __init__(self, ${4:arg}):\n ${5:super($1, self).__init__()}\n self.$4 = $4\n ${6}\n# New Function\nsnippet def\n def ${1:fname}(${2:`indent(\'.\') ? \'self\' : \'\'`}):\n """${3:docstring for $1}"""\n ${4:# TODO: write code...}\nsnippet deff\n def ${1:fname}(${2:`indent(\'.\') ? \'self\' : \'\'`}):\n ${3:# TODO: write code...}\n# New Method\nsnippet defs\n def ${1:mname}(self, ${2:arg}):\n ${3:# TODO: write code...}\n# New Property\nsnippet property\n def ${1:foo}():\n doc = "${2:The $1 property.}"\n def fget(self):\n ${3:return self._$1}\n def fset(self, value):\n ${4:self._$1 = value}\n# Ifs\nsnippet if\n if ${1:condition}:\n ${2:# TODO: write code...}\nsnippet el\n else:\n ${1:# TODO: write code...}\nsnippet ei\n elif ${1:condition}:\n ${2:# TODO: write code...}\n# For\nsnippet for\n for ${1:item} in ${2:items}:\n ${3:# TODO: write code...}\n# Encodes\nsnippet cutf8\n # -*- coding: utf-8 -*-\nsnippet clatin1\n # -*- coding: latin-1 -*-\nsnippet cascii\n # -*- coding: ascii -*-\n# Lambda\nsnippet ld\n ${1:var} = lambda ${2:vars} : ${3:action}\nsnippet .\n self.\nsnippet try Try/Except\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\nsnippet try Try/Except/Else\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\n else:\n ${5:# TODO: write code...}\nsnippet try Try/Except/Finally\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\n finally:\n ${5:# TODO: write code...}\nsnippet try Try/Except/Else/Finally\n try:\n ${1:# TODO: write code...}\n except ${2:Exception}, ${3:e}:\n ${4:raise $3}\n else:\n ${5:# TODO: write code...}\n finally:\n ${6:# TODO: write code...}\n# if __name__ == \'__main__\':\nsnippet ifmain\n if __name__ == \'__main__\':\n ${1:main()}\n# __magic__\nsnippet _\n __${1:init}__${2}\n# python debugger (pdb)\nsnippet pdb\n import pdb; pdb.set_trace()\n# ipython debugger (ipdb)\nsnippet ipdb\n import ipdb; ipdb.set_trace()\n# ipython debugger (pdbbb)\nsnippet pdbbb\n import pdbpp; pdbpp.set_trace()\nsnippet pprint\n import pprint; pprint.pprint(${1})${2}\nsnippet "\n """\n ${1:doc}\n """\n# test function/method\nsnippet test\n def test_${1:description}(${2:`indent(\'.\') ? \'self\' : \'\'`}):\n ${3:# TODO: write code...}\n# test case\nsnippet testcase\n class ${1:ExampleCase}(unittest.TestCase):\n \n def test_${2:description}(self):\n ${3:# TODO: write code...}\nsnippet fut\n from __future__ import ${1}\n#getopt\nsnippet getopt\n try:\n # Short option syntax: "hv:"\n # Long option syntax: "help" or "verbose="\n opts, args = getopt.getopt(sys.argv[1:], "${1:short_options}", [${2:long_options}])\n \n except getopt.GetoptError, err:\n # Print debug info\n print str(err)\n ${3:error_action}\n\n for option, argument in opts:\n if option in ("-h", "--help"):\n ${4}\n elif option in ("-v", "--verbose"):\n verbose = argument\n',t.scope="python"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/r.js b/static/js/lib/ace/src-min-noconflict/snippets/r.js new file mode 100644 index 0000000..b808627 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/r.js @@ -0,0 +1 @@ +ace.define("ace/snippets/r",["require","exports","module"],function(e,t,n){t.snippetText='snippet #!\n #!/usr/bin/env Rscript\n\n# includes\nsnippet lib\n library(${1:package})\nsnippet req\n require(${1:package})\nsnippet source\n source(\'${1:file}\')\n\n# conditionals\nsnippet if\n if (${1:condition}) {\n ${2:code}\n }\nsnippet el\n else {\n ${1:code}\n }\nsnippet ei\n else if (${1:condition}) {\n ${2:code}\n }\n\n# functions\nsnippet fun\n ${1:name} = function (${2:variables}) {\n ${3:code}\n }\nsnippet ret\n return(${1:code})\n\n# dataframes, lists, etc\nsnippet df\n ${1:name}[${2:rows}, ${3:cols}]\nsnippet c\n c(${1:items})\nsnippet li\n list(${1:items})\nsnippet mat\n matrix(${1:data}, nrow=${2:rows}, ncol=${3:cols})\n\n# apply functions\nsnippet apply\n apply(${1:array}, ${2:margin}, ${3:function})\nsnippet lapply\n lapply(${1:list}, ${2:function})\nsnippet sapply\n lapply(${1:list}, ${2:function})\nsnippet vapply\n vapply(${1:list}, ${2:function}, ${3:type})\nsnippet mapply\n mapply(${1:function}, ${2:...})\nsnippet tapply\n tapply(${1:vector}, ${2:index}, ${3:function})\nsnippet rapply\n rapply(${1:list}, ${2:function})\n\n# plyr functions\nsnippet dd\n ddply(${1:frame}, ${2:variables}, ${3:function})\nsnippet dl\n dlply(${1:frame}, ${2:variables}, ${3:function})\nsnippet da\n daply(${1:frame}, ${2:variables}, ${3:function})\nsnippet d_\n d_ply(${1:frame}, ${2:variables}, ${3:function})\n\nsnippet ad\n adply(${1:array}, ${2:margin}, ${3:function})\nsnippet al\n alply(${1:array}, ${2:margin}, ${3:function})\nsnippet aa\n aaply(${1:array}, ${2:margin}, ${3:function})\nsnippet a_\n a_ply(${1:array}, ${2:margin}, ${3:function})\n\nsnippet ld\n ldply(${1:list}, ${2:function})\nsnippet ll\n llply(${1:list}, ${2:function})\nsnippet la\n laply(${1:list}, ${2:function})\nsnippet l_\n l_ply(${1:list}, ${2:function})\n\nsnippet md\n mdply(${1:matrix}, ${2:function})\nsnippet ml\n mlply(${1:matrix}, ${2:function})\nsnippet ma\n maply(${1:matrix}, ${2:function})\nsnippet m_\n m_ply(${1:matrix}, ${2:function})\n\n# plot functions\nsnippet pl\n plot(${1:x}, ${2:y})\nsnippet ggp\n ggplot(${1:data}, aes(${2:aesthetics}))\nsnippet img\n ${1:(jpeg,bmp,png,tiff)}(filename="${2:filename}", width=${3}, height=${4}, unit="${5}")\n ${6:plot}\n dev.off()\n\n# statistical test functions\nsnippet fis\n fisher.test(${1:x}, ${2:y})\nsnippet chi\n chisq.test(${1:x}, ${2:y})\nsnippet tt\n t.test(${1:x}, ${2:y})\nsnippet wil\n wilcox.test(${1:x}, ${2:y})\nsnippet cor\n cor.test(${1:x}, ${2:y})\nsnippet fte\n var.test(${1:x}, ${2:y})\nsnippet kvt \n kv.test(${1:x}, ${2:y})\n',t.scope="r"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/rdoc.js b/static/js/lib/ace/src-min-noconflict/snippets/rdoc.js new file mode 100644 index 0000000..3239d98 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/rdoc.js @@ -0,0 +1 @@ +ace.define("ace/snippets/rdoc",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="rdoc"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/rhtml.js b/static/js/lib/ace/src-min-noconflict/snippets/rhtml.js new file mode 100644 index 0000000..3c008b2 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/rhtml.js @@ -0,0 +1 @@ +ace.define("ace/snippets/rhtml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="rhtml"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/ruby.js b/static/js/lib/ace/src-min-noconflict/snippets/ruby.js new file mode 100644 index 0000000..961a554 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/ruby.js @@ -0,0 +1 @@ +ace.define("ace/snippets/ruby",["require","exports","module"],function(e,t,n){t.snippetText='########################################\n# Ruby snippets - for Rails, see below #\n########################################\n\n# encoding for Ruby 1.9\nsnippet enc\n # encoding: utf-8\n\n# #!/usr/bin/env ruby\nsnippet #!\n #!/usr/bin/env ruby\n # encoding: utf-8\n\n# New Block\nsnippet =b\n =begin rdoc\n ${1}\n =end\nsnippet y\n :yields: ${1:arguments}\nsnippet rb\n #!/usr/bin/env ruby -wKU\nsnippet beg\n begin\n ${3}\n rescue ${1:Exception} => ${2:e}\n end\n\nsnippet req require\n require "${1}"${2}\nsnippet #\n # =>\nsnippet end\n __END__\nsnippet case\n case ${1:object}\n when ${2:condition}\n ${3}\n end\nsnippet when\n when ${1:condition}\n ${2}\nsnippet def\n def ${1:method_name}\n ${2}\n end\nsnippet deft\n def test_${1:case_name}\n ${2}\n end\nsnippet if\n if ${1:condition}\n ${2}\n end\nsnippet ife\n if ${1:condition}\n ${2}\n else\n ${3}\n end\nsnippet elsif\n elsif ${1:condition}\n ${2}\nsnippet unless\n unless ${1:condition}\n ${2}\n end\nsnippet while\n while ${1:condition}\n ${2}\n end\nsnippet for\n for ${1:e} in ${2:c}\n ${3}\n end\nsnippet until\n until ${1:condition}\n ${2}\n end\nsnippet cla class .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n ${2}\n end\nsnippet cla class .. initialize .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n def initialize(${2:args})\n ${3}\n end\n end\nsnippet cla class .. < ParentClass .. initialize .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < ${2:ParentClass}\n def initialize(${3:args})\n ${4}\n end\n end\nsnippet cla ClassName = Struct .. do .. end\n ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} = Struct.new(:${2:attr_names}) do\n def ${3:method_name}\n ${4}\n end\n end\nsnippet cla class BlankSlate .. initialize .. end\n class ${1:BlankSlate}\n instance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n end\nsnippet cla class << self .. end\n class << ${1:self}\n ${2}\n end\n# class .. < DelegateClass .. initialize .. end\nsnippet cla-\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < DelegateClass(${2:ParentClass})\n def initialize(${3:args})\n super(${4:del_obj})\n\n ${5}\n end\n end\nsnippet mod module .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n ${2}\n end\nsnippet mod module .. module_function .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n module_function\n\n ${2}\n end\nsnippet mod module .. ClassMethods .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n module ClassMethods\n ${2}\n end\n\n module InstanceMethods\n\n end\n\n def self.included(receiver)\n receiver.extend ClassMethods\n receiver.send :include, InstanceMethods\n end\n end\n# attr_reader\nsnippet r\n attr_reader :${1:attr_names}\n# attr_writer\nsnippet w\n attr_writer :${1:attr_names}\n# attr_accessor\nsnippet rw\n attr_accessor :${1:attr_names}\nsnippet atp\n attr_protected :${1:attr_names}\nsnippet ata\n attr_accessible :${1:attr_names}\n# include Enumerable\nsnippet Enum\n include Enumerable\n\n def each(&block)\n ${1}\n end\n# include Comparable\nsnippet Comp\n include Comparable\n\n def <=>(other)\n ${1}\n end\n# extend Forwardable\nsnippet Forw-\n extend Forwardable\n# def self\nsnippet defs\n def self.${1:class_method_name}\n ${2}\n end\n# def method_missing\nsnippet defmm\n def method_missing(meth, *args, &blk)\n ${1}\n end\nsnippet defd\n def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\nsnippet defds\n def_delegators :${1:@del_obj}, :${2:del_methods}\nsnippet am\n alias_method :${1:new_name}, :${2:old_name}\nsnippet app\n if __FILE__ == $PROGRAM_NAME\n ${1}\n end\n# usage_if()\nsnippet usai\n if ARGV.${1}\n abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n end\n# usage_unless()\nsnippet usau\n unless ARGV.${1}\n abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n end\nsnippet array\n Array.new(${1:10}) { |${2:i}| ${3} }\nsnippet hash\n Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\nsnippet file File.foreach() { |line| .. }\n File.foreach(${1:"path/to/file"}) { |${2:line}| ${3} }\nsnippet file File.read()\n File.read(${1:"path/to/file"})${2}\nsnippet Dir Dir.global() { |file| .. }\n Dir.glob(${1:"dir/glob/*"}) { |${2:file}| ${3} }\nsnippet Dir Dir[".."]\n Dir[${1:"glob/**/*.rb"}]${2}\nsnippet dir\n Filename.dirname(__FILE__)\nsnippet deli\n delete_if { |${1:e}| ${2} }\nsnippet fil\n fill(${1:range}) { |${2:i}| ${3} }\n# flatten_once()\nsnippet flao\n inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\nsnippet zip\n zip(${1:enums}) { |${2:row}| ${3} }\n# downto(0) { |n| .. }\nsnippet dow\n downto(${1:0}) { |${2:n}| ${3} }\nsnippet ste\n step(${1:2}) { |${2:n}| ${3} }\nsnippet tim\n times { |${1:n}| ${2} }\nsnippet upt\n upto(${1:1.0/0.0}) { |${2:n}| ${3} }\nsnippet loo\n loop { ${1} }\nsnippet ea\n each { |${1:e}| ${2} }\nsnippet ead\n each do |${1:e}|\n ${2}\n end\nsnippet eab\n each_byte { |${1:byte}| ${2} }\nsnippet eac- each_char { |chr| .. }\n each_char { |${1:chr}| ${2} }\nsnippet eac- each_cons(..) { |group| .. }\n each_cons(${1:2}) { |${2:group}| ${3} }\nsnippet eai\n each_index { |${1:i}| ${2} }\nsnippet eaid\n each_index do |${1:i}|\n ${2}\n end\nsnippet eak\n each_key { |${1:key}| ${2} }\nsnippet eakd\n each_key do |${1:key}|\n ${2}\n end\nsnippet eal\n each_line { |${1:line}| ${2} }\nsnippet eald\n each_line do |${1:line}|\n ${2}\n end\nsnippet eap\n each_pair { |${1:name}, ${2:val}| ${3} }\nsnippet eapd\n each_pair do |${1:name}, ${2:val}|\n ${3}\n end\nsnippet eas-\n each_slice(${1:2}) { |${2:group}| ${3} }\nsnippet easd-\n each_slice(${1:2}) do |${2:group}|\n ${3}\n end\nsnippet eav\n each_value { |${1:val}| ${2} }\nsnippet eavd\n each_value do |${1:val}|\n ${2}\n end\nsnippet eawi\n each_with_index { |${1:e}, ${2:i}| ${3} }\nsnippet eawid\n each_with_index do |${1:e},${2:i}|\n ${3}\n end\nsnippet reve\n reverse_each { |${1:e}| ${2} }\nsnippet reved\n reverse_each do |${1:e}|\n ${2}\n end\nsnippet inj\n inject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\nsnippet injd\n inject(${1:init}) do |${2:mem}, ${3:var}|\n ${4}\n end\nsnippet map\n map { |${1:e}| ${2} }\nsnippet mapd\n map do |${1:e}|\n ${2}\n end\nsnippet mapwi-\n enum_with_index.map { |${1:e}, ${2:i}| ${3} }\nsnippet sor\n sort { |a, b| ${1} }\nsnippet sorb\n sort_by { |${1:e}| ${2} }\nsnippet ran\n sort_by { rand }\nsnippet all\n all? { |${1:e}| ${2} }\nsnippet any\n any? { |${1:e}| ${2} }\nsnippet cl\n classify { |${1:e}| ${2} }\nsnippet col\n collect { |${1:e}| ${2} }\nsnippet cold\n collect do |${1:e}|\n ${2}\n end\nsnippet det\n detect { |${1:e}| ${2} }\nsnippet detd\n detect do |${1:e}|\n ${2}\n end\nsnippet fet\n fetch(${1:name}) { |${2:key}| ${3} }\nsnippet fin\n find { |${1:e}| ${2} }\nsnippet find\n find do |${1:e}|\n ${2}\n end\nsnippet fina\n find_all { |${1:e}| ${2} }\nsnippet finad\n find_all do |${1:e}|\n ${2}\n end\nsnippet gre\n grep(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet sub\n ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\nsnippet sca\n scan(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet scad\n scan(${1:/pattern/}) do |${2:match}|\n ${3}\n end\nsnippet max\n max { |a, b| ${1} }\nsnippet min\n min { |a, b| ${1} }\nsnippet par\n partition { |${1:e}| ${2} }\nsnippet pard\n partition do |${1:e}|\n ${2}\n end\nsnippet rej\n reject { |${1:e}| ${2} }\nsnippet rejd\n reject do |${1:e}|\n ${2}\n end\nsnippet sel\n select { |${1:e}| ${2} }\nsnippet seld\n select do |${1:e}|\n ${2}\n end\nsnippet lam\n lambda { |${1:args}| ${2} }\nsnippet doo\n do\n ${1}\n end\nsnippet dov\n do |${1:variable}|\n ${2}\n end\nsnippet :\n :${1:key} => ${2:"value"}${3}\nsnippet ope\n open(${1:"path/or/url/or/pipe"}, "${2:w}") { |${3:io}| ${4} }\n# path_from_here()\nsnippet fpath\n File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n# unix_filter {}\nsnippet unif\n ARGF.each_line${1} do |${2:line}|\n ${3}\n end\n# option_parse {}\nsnippet optp\n require "optparse"\n\n options = {${1:default => "args"}}\n\n ARGV.options do |opts|\n opts.banner = "Usage: #{File.basename($PROGRAM_NAME)}\nsnippet opt\n opts.on( "-${1:o}", "--${2:long-option-name}", ${3:String},\n "${4:Option description.}") do |${5:opt}|\n ${6}\n end\nsnippet tc\n require "test/unit"\n\n require "${1:library_file_name}"\n\n class Test${2:$1} < Test::Unit::TestCase\n def test_${3:case_name}\n ${4}\n end\n end\nsnippet ts\n require "test/unit"\n\n require "tc_${1:test_case_file}"\n require "tc_${2:test_case_file}"${3}\nsnippet as\n assert ${1:test}, "${2:Failure message.}"${3}\nsnippet ase\n assert_equal ${1:expected}, ${2:actual}${3}\nsnippet asne\n assert_not_equal ${1:unexpected}, ${2:actual}${3}\nsnippet asid\n assert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\nsnippet asio\n assert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\nsnippet asko\n assert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\nsnippet asn\n assert_nil ${1:instance}${2}\nsnippet asnn\n assert_not_nil ${1:instance}${2}\nsnippet asm\n assert_match /${1:expected_pattern}/, ${2:actual_string}${3}\nsnippet asnm\n assert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\nsnippet aso\n assert_operator ${1:left}, :${2:operator}, ${3:right}${4}\nsnippet asr\n assert_raise ${1:Exception} { ${2} }\nsnippet asrd\n assert_raise ${1:Exception} do\n ${2}\n end\nsnippet asnr\n assert_nothing_raised ${1:Exception} { ${2} }\nsnippet asnrd\n assert_nothing_raised ${1:Exception} do\n ${2}\n end\nsnippet asrt\n assert_respond_to ${1:object}, :${2:method}${3}\nsnippet ass assert_same(..)\n assert_same ${1:expected}, ${2:actual}${3}\nsnippet ass assert_send(..)\n assert_send [${1:object}, :${2:message}, ${3:args}]${4}\nsnippet asns\n assert_not_same ${1:unexpected}, ${2:actual}${3}\nsnippet ast\n assert_throws :${1:expected} { ${2} }\nsnippet astd\n assert_throws :${1:expected} do\n ${2}\n end\nsnippet asnt\n assert_nothing_thrown { ${1} }\nsnippet asntd\n assert_nothing_thrown do\n ${1}\n end\nsnippet fl\n flunk "${1:Failure message.}"${2}\n# Benchmark.bmbm do .. end\nsnippet bm-\n TESTS = ${1:10_000}\n Benchmark.bmbm do |results|\n ${2}\n end\nsnippet rep\n results.report("${1:name}:") { TESTS.times { ${2} }}\n# Marshal.dump(.., file)\nsnippet Md\n File.open(${1:"path/to/file.dump"}, "wb") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n# Mashal.load(obj)\nsnippet Ml\n File.open(${1:"path/to/file.dump"}, "rb") { |${2:file}| Marshal.load($2) }${3}\n# deep_copy(..)\nsnippet deec\n Marshal.load(Marshal.dump(${1:obj_to_copy}))${2}\nsnippet Pn-\n PStore.new(${1:"file_name.pstore"})${2}\nsnippet tra\n transaction(${1:true}) { ${2} }\n# xmlread(..)\nsnippet xml-\n REXML::Document.new(File.read(${1:"path/to/file"}))${2}\n# xpath(..) { .. }\nsnippet xpa\n elements.each(${1:"//Xpath"}) do |${2:node}|\n ${3}\n end\n# class_from_name()\nsnippet clafn\n split("::").inject(Object) { |par, const| par.const_get(const) }\n# singleton_class()\nsnippet sinc\n class << self; self end\nsnippet nam\n namespace :${1:`Filename()`} do\n ${2}\n end\nsnippet tas\n desc "${1:Task description}"\n task :${2:task_name => [:dependent, :tasks]} do\n ${3}\n end\n# block\nsnippet b\n { |${1:var}| ${2} }\nsnippet begin\n begin\n raise \'A test exception.\'\n rescue Exception => e\n puts e.message\n puts e.backtrace.inspect\n else\n # other exception\n ensure\n # always executed\n end\n\n#debugging\nsnippet debug\n require \'ruby-debug\'; debugger; true;\nsnippet pry\n require \'pry\'; binding.pry\n\n#############################################\n# Rails snippets - for pure Ruby, see above #\n#############################################\nsnippet art\n assert_redirected_to ${1::action => "${2:index}"}\nsnippet artnp\n assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\nsnippet artnpp\n assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\nsnippet artp\n assert_redirected_to ${1:model}_path(${2:@$1})\nsnippet artpp\n assert_redirected_to ${1:model}s_path\nsnippet asd\n assert_difference "${1:Model}.${2:count}", $1 do\n ${3}\n end\nsnippet asnd\n assert_no_difference "${1:Model}.${2:count}" do\n ${3}\n end\nsnippet asre\n assert_response :${1:success}, @response.body${2}\nsnippet asrj\n assert_rjs :${1:replace}, "${2:dom id}"\nsnippet ass assert_select(..)\n assert_select \'${1:path}\', :${2:text} => \'${3:inner_html\' ${4:do}\nsnippet bf\n before_filter :${1:method}\nsnippet bt\n belongs_to :${1:association}\nsnippet crw\n cattr_accessor :${1:attr_names}\nsnippet defcreate\n def create\n @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\n respond_to do |wants|\n if @$1.save\n flash[:notice] = \'$2 was successfully created.\'\n wants.html { redirect_to(@$1) }\n wants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n else\n wants.html { render :action => "new" }\n wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n end\n end\n end${3}\nsnippet defdestroy\n def destroy\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n @$1.destroy\n\n respond_to do |wants|\n wants.html { redirect_to($1s_url) }\n wants.xml { head :ok }\n end\n end${3}\nsnippet defedit\n def edit\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n end\nsnippet defindex\n def index\n @${1:model_class_name} = ${2:ModelClassName}.all\n\n respond_to do |wants|\n wants.html # index.html.erb\n wants.xml { render :xml => @$1s }\n end\n end${3}\nsnippet defnew\n def new\n @${1:model_class_name} = ${2:ModelClassName}.new\n\n respond_to do |wants|\n wants.html # new.html.erb\n wants.xml { render :xml => @$1 }\n end\n end${3}\nsnippet defshow\n def show\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n respond_to do |wants|\n wants.html # show.html.erb\n wants.xml { render :xml => @$1 }\n end\n end${3}\nsnippet defupdate\n def update\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n respond_to do |wants|\n if @$1.update_attributes(params[:$1])\n flash[:notice] = \'$2 was successfully updated.\'\n wants.html { redirect_to(@$1) }\n wants.xml { head :ok }\n else\n wants.html { render :action => "edit" }\n wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n end\n end\n end${3}\nsnippet flash\n flash[:${1:notice}] = "${2}"\nsnippet habtm\n has_and_belongs_to_many :${1:object}, :join_table => "${2:table_name}", :foreign_key => "${3}_id"${4}\nsnippet hm\n has_many :${1:object}\nsnippet hmd\n has_many :${1:other}s, :class_name => "${2:$1}", :foreign_key => "${3:$1}_id", :dependent => :destroy${4}\nsnippet hmt\n has_many :${1:object}, :through => :${2:object}\nsnippet ho\n has_one :${1:object}\nsnippet i18\n I18n.t(\'${1:type.key}\')${2}\nsnippet ist\n <%= image_submit_tag("${1:agree.png}", :id => "${2:id}"${3} %>\nsnippet log\n Rails.logger.${1:debug} ${2}\nsnippet log2\n RAILS_DEFAULT_LOGGER.${1:debug} ${2}\nsnippet logd\n logger.debug { "${1:message}" }${2}\nsnippet loge\n logger.error { "${1:message}" }${2}\nsnippet logf\n logger.fatal { "${1:message}" }${2}\nsnippet logi\n logger.info { "${1:message}" }${2}\nsnippet logw\n logger.warn { "${1:message}" }${2}\nsnippet mapc\n ${1:map}.${2:connect} \'${3:controller/:action/:id}\'\nsnippet mapca\n ${1:map}.catch_all "*${2:anything}", :controller => "${3:default}", :action => "${4:error}"${5}\nsnippet mapr\n ${1:map}.resource :${2:resource}\nsnippet maprs\n ${1:map}.resources :${2:resource}\nsnippet mapwo\n ${1:map}.with_options :${2:controller} => \'${3:thing}\' do |$3|\n ${4}\n end\nsnippet mbs\n before_save :${1:method}\nsnippet mcht\n change_table :${1:table_name} do |t|\n ${2}\n end\nsnippet mp\n map(&:${1:id})\nsnippet mrw\n mattr_accessor :${1:attr_names}\nsnippet oa\n order("${1:field}")\nsnippet od\n order("${1:field} DESC")\nsnippet pa\n params[:${1:id}]${2}\nsnippet ra\n render :action => "${1:action}"\nsnippet ral\n render :action => "${1:action}", :layout => "${2:layoutname}"\nsnippet rest\n respond_to do |wants|\n wants.${1:html} { ${2} }\n end\nsnippet rf\n render :file => "${1:filepath}"\nsnippet rfu\n render :file => "${1:filepath}", :use_full_path => ${2:false}\nsnippet ri\n render :inline => "${1:<%= \'hello\' %>}"\nsnippet ril\n render :inline => "${1:<%= \'hello\' %>}", :locals => { ${2::name} => "${3:value}"${4} }\nsnippet rit\n render :inline => "${1:<%= \'hello\' %>}", :type => ${2::rxml}\nsnippet rjson\n render :json => ${1:text to render}\nsnippet rl\n render :layout => "${1:layoutname}"\nsnippet rn\n render :nothing => ${1:true}\nsnippet rns\n render :nothing => ${1:true}, :status => ${2:401}\nsnippet rp\n render :partial => "${1:item}"\nsnippet rpc\n render :partial => "${1:item}", :collection => ${2:@$1s}\nsnippet rpl\n render :partial => "${1:item}", :locals => { :${2:$1} => ${3:@$1}\nsnippet rpo\n render :partial => "${1:item}", :object => ${2:@$1}\nsnippet rps\n render :partial => "${1:item}", :status => ${2:500}\nsnippet rt\n render :text => "${1:text to render}"\nsnippet rtl\n render :text => "${1:text to render}", :layout => "${2:layoutname}"\nsnippet rtlt\n render :text => "${1:text to render}", :layout => ${2:true}\nsnippet rts\n render :text => "${1:text to render}", :status => ${2:401}\nsnippet ru\n render :update do |${1:page}|\n $1.${2}\n end\nsnippet rxml\n render :xml => ${1:text to render}\nsnippet sc\n scope :${1:name}, :where(:@${2:field} => ${3:value})\nsnippet sl\n scope :${1:name}, lambda do |${2:value}|\n where("${3:field = ?}", ${4:bind var})\n end\nsnippet sha1\n Digest::SHA1.hexdigest(${1:string})\nsnippet sweeper\n class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n observe $1\n\n def after_save(${2:model_class_name})\n expire_cache($2)\n end\n\n def after_destroy($2)\n expire_cache($2)\n end\n\n def expire_cache($2)\n expire_page\n end\n end\nsnippet tcb\n t.boolean :${1:title}\n ${2}\nsnippet tcbi\n t.binary :${1:title}, :limit => ${2:2}.megabytes\n ${3}\nsnippet tcd\n t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n ${4}\nsnippet tcda\n t.date :${1:title}\n ${2}\nsnippet tcdt\n t.datetime :${1:title}\n ${2}\nsnippet tcf\n t.float :${1:title}\n ${2}\nsnippet tch\n t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n ${5}\nsnippet tci\n t.integer :${1:title}\n ${2}\nsnippet tcl\n t.integer :lock_version, :null => false, :default => 0\n ${1}\nsnippet tcr\n t.references :${1:taggable}, :polymorphic => { :default => \'${2:Photo}\' }\n ${3}\nsnippet tcs\n t.string :${1:title}\n ${2}\nsnippet tct\n t.text :${1:title}\n ${2}\nsnippet tcti\n t.time :${1:title}\n ${2}\nsnippet tcts\n t.timestamp :${1:title}\n ${2}\nsnippet tctss\n t.timestamps\n ${1}\nsnippet va\n validates_associated :${1:attribute}\nsnippet vao\n validates_acceptance_of :${1:terms}\nsnippet vc\n validates_confirmation_of :${1:attribute}\nsnippet ve\n validates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\nsnippet vf\n validates_format_of :${1:attribute}, :with => /${2:regex}/\nsnippet vi\n validates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\nsnippet vl\n validates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\nsnippet vn\n validates_numericality_of :${1:attribute}\nsnippet vpo\n validates_presence_of :${1:attribute}\nsnippet vu\n validates_uniqueness_of :${1:attribute}\nsnippet wants\n wants.${1:js|xml|html} { ${2} }\nsnippet wc\n where(${1:"conditions"}${2:, bind_var})\nsnippet wh\n where(${1:field} => ${2:value})\nsnippet xdelete\n xhr :delete, :${1:destroy}, :id => ${2:1}${3}\nsnippet xget\n xhr :get, :${1:show}, :id => ${2:1}${3}\nsnippet xpost\n xhr :post, :${1:create}, :${2:object} => { ${3} }\nsnippet xput\n xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\nsnippet test\n test "should ${1:do something}" do\n ${2}\n end\n#migrations\nsnippet mac\n add_column :${1:table_name}, :${2:column_name}, :${3:data_type}\nsnippet mrc\n remove_column :${1:table_name}, :${2:column_name}\nsnippet mrnc\n rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\nsnippet mcc\n change_column :${1:table}, :${2:column}, :${3:type}\nsnippet mccc\n t.column :${1:title}, :${2:string}\nsnippet mct\n create_table :${1:table_name} do |t|\n t.column :${2:name}, :${3:type}\n end\nsnippet migration\n class ${1:class_name} < ActiveRecord::Migration\n def self.up\n ${2}\n end\n\n def self.down\n end\n end\n\nsnippet trc\n t.remove :${1:column}\nsnippet tre\n t.rename :${1:old_column_name}, :${2:new_column_name}\n ${3}\nsnippet tref\n t.references :${1:model}\n\n#rspec\nsnippet it\n it "${1:spec_name}" do\n ${2}\n end\nsnippet itp\n it "${1:spec_name}"\n ${2}\nsnippet desc\n describe ${1:class_name} do\n ${2}\n end\nsnippet cont\n context "${1:message}" do\n ${2}\n end\nsnippet bef\n before :${1:each} do\n ${2}\n end\nsnippet aft\n after :${1:each} do\n ${2}\n end\n',t.scope="ruby"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/rust.js b/static/js/lib/ace/src-min-noconflict/snippets/rust.js new file mode 100644 index 0000000..1ba83db --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/rust.js @@ -0,0 +1 @@ +ace.define("ace/snippets/rust",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="rust"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/sass.js b/static/js/lib/ace/src-min-noconflict/snippets/sass.js new file mode 100644 index 0000000..54d5c8b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/sass.js @@ -0,0 +1 @@ +ace.define("ace/snippets/sass",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="sass"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/scad.js b/static/js/lib/ace/src-min-noconflict/snippets/scad.js new file mode 100644 index 0000000..a88e0c4 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/scad.js @@ -0,0 +1 @@ +ace.define("ace/snippets/scad",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scad"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/scala.js b/static/js/lib/ace/src-min-noconflict/snippets/scala.js new file mode 100644 index 0000000..de97311 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/scala.js @@ -0,0 +1 @@ +ace.define("ace/snippets/scala",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scala"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/scheme.js b/static/js/lib/ace/src-min-noconflict/snippets/scheme.js new file mode 100644 index 0000000..9c108da --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/scheme.js @@ -0,0 +1 @@ +ace.define("ace/snippets/scheme",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scheme"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/scss.js b/static/js/lib/ace/src-min-noconflict/snippets/scss.js new file mode 100644 index 0000000..0ab32f7 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/scss.js @@ -0,0 +1 @@ +ace.define("ace/snippets/scss",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scss"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/sh.js b/static/js/lib/ace/src-min-noconflict/snippets/sh.js new file mode 100644 index 0000000..1f825e3 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/sh.js @@ -0,0 +1 @@ +ace.define("ace/snippets/sh",["require","exports","module"],function(e,t,n){t.snippetText='# Shebang. Executing bash via /usr/bin/env makes scripts more portable.\nsnippet #!\n #!/usr/bin/env bash\n \nsnippet if\n if [[ ${1:condition} ]]; then\n ${2:#statements}\n fi\nsnippet elif\n elif [[ ${1:condition} ]]; then\n ${2:#statements}\nsnippet for\n for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do\n ${3:#statements}\n done\nsnippet fori\n for ${1:needle} in ${2:haystack} ; do\n ${3:#statements}\n done\nsnippet wh\n while [[ ${1:condition} ]]; do\n ${2:#statements}\n done\nsnippet until\n until [[ ${1:condition} ]]; do\n ${2:#statements}\n done\nsnippet case\n case ${1:word} in\n ${2:pattern})\n ${3};;\n esac\nsnippet go \n while getopts \'${1:o}\' ${2:opts} \n do \n case $$2 in\n ${3:o0})\n ${4:#staments};;\n esac\n done\n# Set SCRIPT_DIR variable to directory script is located.\nsnippet sdir\n SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"\n# getopt\nsnippet getopt\n __ScriptVersion="${1:version}"\n\n #=== FUNCTION ================================================================\n # NAME: usage\n # DESCRIPTION: Display usage information.\n #===============================================================================\n function usage ()\n {\n cat <<- EOT\n\n Usage : $${0:0} [options] [--] \n\n Options: \n -h|help Display this message\n -v|version Display script version\n\n EOT\n } # ---------- end of function usage ----------\n\n #-----------------------------------------------------------------------\n # Handle command line arguments\n #-----------------------------------------------------------------------\n\n while getopts ":hv" opt\n do\n case $opt in\n\n h|help ) usage; exit 0 ;;\n\n v|version ) echo "$${0:0} -- Version $__ScriptVersion"; exit 0 ;;\n\n \\? ) echo -e "\\n Option does not exist : $OPTARG\\n"\n usage; exit 1 ;;\n\n esac # --- end of case ---\n done\n shift $(($OPTIND-1))\n\n',t.scope="sh"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/sjs.js b/static/js/lib/ace/src-min-noconflict/snippets/sjs.js new file mode 100644 index 0000000..b1d05ff --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/sjs.js @@ -0,0 +1 @@ +ace.define("ace/snippets/sjs",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="sjs"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/snippets.js b/static/js/lib/ace/src-min-noconflict/snippets/snippets.js new file mode 100644 index 0000000..2099eca --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/snippets.js @@ -0,0 +1 @@ +ace.define("ace/snippets/snippets",["require","exports","module"],function(e,t,n){t.snippetText="# snippets for making snippets :)\nsnippet snip\n snippet ${1:trigger}\n ${2}\nsnippet msnip\n snippet ${1:trigger} ${2:description}\n ${3}\nsnippet v\n {VISUAL}\n",t.scope="snippets"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/soy_template.js b/static/js/lib/ace/src-min-noconflict/snippets/soy_template.js new file mode 100644 index 0000000..3a20fdc --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/soy_template.js @@ -0,0 +1 @@ +ace.define("ace/snippets/soy_template",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="soy_template"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/space.js b/static/js/lib/ace/src-min-noconflict/snippets/space.js new file mode 100644 index 0000000..10e4778 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/space.js @@ -0,0 +1 @@ +ace.define("ace/snippets/space",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="space"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/sql.js b/static/js/lib/ace/src-min-noconflict/snippets/sql.js new file mode 100644 index 0000000..72afb62 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/sql.js @@ -0,0 +1 @@ +ace.define("ace/snippets/sql",["require","exports","module"],function(e,t,n){t.snippetText="snippet tbl\n create table ${1:table} (\n ${2:columns}\n );\nsnippet col\n ${1:name} ${2:type} ${3:default ''} ${4:not null}\nsnippet ccol\n ${1:name} varchar2(${2:size}) ${3:default ''} ${4:not null}\nsnippet ncol\n ${1:name} number ${3:default 0} ${4:not null}\nsnippet dcol\n ${1:name} date ${3:default sysdate} ${4:not null}\nsnippet ind\n create index ${3:$1_$2} on ${1:table}(${2:column});\nsnippet uind\n create unique index ${1:name} on ${2:table}(${3:column});\nsnippet tblcom\n comment on table ${1:table} is '${2:comment}';\nsnippet colcom\n comment on column ${1:table}.${2:column} is '${3:comment}';\nsnippet addcol\n alter table ${1:table} add (${2:column} ${3:type});\nsnippet seq\n create sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\nsnippet s*\n select * from ${1:table}\n",t.scope="sql"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/stylus.js b/static/js/lib/ace/src-min-noconflict/snippets/stylus.js new file mode 100644 index 0000000..aee4489 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/stylus.js @@ -0,0 +1 @@ +ace.define("ace/snippets/stylus",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="stylus"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/svg.js b/static/js/lib/ace/src-min-noconflict/snippets/svg.js new file mode 100644 index 0000000..2401d6b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/svg.js @@ -0,0 +1 @@ +ace.define("ace/snippets/svg",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="svg"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/tcl.js b/static/js/lib/ace/src-min-noconflict/snippets/tcl.js new file mode 100644 index 0000000..ff63668 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/tcl.js @@ -0,0 +1 @@ +ace.define("ace/snippets/tcl",["require","exports","module"],function(e,t,n){t.snippetText="# #!/usr/bin/env tclsh\nsnippet #!\n #!/usr/bin/env tclsh\n \n# Process\nsnippet pro\n proc ${1:function_name} {${2:args}} {\n ${3:#body ...}\n }\n#xif\nsnippet xif\n ${1:expr}? ${2:true} : ${3:false}\n# Conditional\nsnippet if\n if {${1}} {\n ${2:# body...}\n }\n# Conditional if..else\nsnippet ife\n if {${1}} {\n ${2:# body...}\n } else {\n ${3:# else...}\n }\n# Conditional if..elsif..else\nsnippet ifee\n if {${1}} {\n ${2:# body...}\n } elseif {${3}} {\n ${4:# elsif...}\n } else {\n ${5:# else...}\n }\n# If catch then\nsnippet ifc\n if { [catch {${1:#do something...}} ${2:err}] } {\n ${3:# handle failure...}\n }\n# Catch\nsnippet catch\n catch {${1}} ${2:err} ${3:options}\n# While Loop\nsnippet wh\n while {${1}} {\n ${2:# body...}\n }\n# For Loop\nsnippet for\n for {set ${2:var} 0} {$$2 < ${1:count}} {${3:incr} $2} {\n ${4:# body...}\n }\n# Foreach Loop\nsnippet fore\n foreach ${1:x} {${2:#list}} {\n ${3:# body...}\n }\n# after ms script...\nsnippet af\n after ${1:ms} ${2:#do something}\n# after cancel id\nsnippet afc\n after cancel ${1:id or script}\n# after idle\nsnippet afi\n after idle ${1:script}\n# after info id\nsnippet afin\n after info ${1:id}\n# Expr\nsnippet exp\n expr {${1:#expression here}}\n# Switch\nsnippet sw\n switch ${1:var} {\n ${3:pattern 1} {\n ${4:#do something}\n }\n default {\n ${2:#do something}\n }\n }\n# Case\nsnippet ca\n ${1:pattern} {\n ${2:#do something}\n }${3}\n# Namespace eval\nsnippet ns\n namespace eval ${1:path} {${2:#script...}}\n# Namespace current\nsnippet nsc\n namespace current\n",t.scope="tcl"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/tex.js b/static/js/lib/ace/src-min-noconflict/snippets/tex.js new file mode 100644 index 0000000..b3ac7b9 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/tex.js @@ -0,0 +1 @@ +ace.define("ace/snippets/tex",["require","exports","module"],function(e,t,n){t.snippetText="#PREAMBLE\n#newcommand\nsnippet nc\n \\newcommand{\\${1:cmd}}[${2:opt}]{${3:realcmd}}${4}\n#usepackage\nsnippet up\n \\usepackage[${1:[options}]{${2:package}}\n#newunicodechar\nsnippet nuc\n \\newunicodechar{${1}}{${2:\\ensuremath}${3:tex-substitute}}}\n#DeclareMathOperator\nsnippet dmo\n \\DeclareMathOperator{${1}}{${2}}\n\n#DOCUMENT\n# \\begin{}...\\end{}\nsnippet begin\n \\begin{${1:env}}\n ${2}\n \\end{$1}\n# Tabular\nsnippet tab\n \\begin{${1:tabular}}{${2:c}}\n ${3}\n \\end{$1}\nsnippet thm\n \\begin[${1:author}]{${2:thm}}\n ${3}\n \\end{$1}\nsnippet center\n \\begin{center}\n ${1}\n \\end{center}\n# Align(ed)\nsnippet ali\n \\begin{align${1:ed}}\n ${2}\n \\end{align$1}\n# Gather(ed)\nsnippet gat\n \\begin{gather${1:ed}}\n ${2}\n \\end{gather$1}\n# Equation\nsnippet eq\n \\begin{equation}\n ${1}\n \\end{equation}\n# Equation\nsnippet eq*\n \\begin{equation*}\n ${1}\n \\end{equation*}\n# Unnumbered Equation\nsnippet \\\n \\[\n ${1}\n \\]\n# Enumerate\nsnippet enum\n \\begin{enumerate}\n \\item ${1}\n \\end{enumerate}\n# Itemize\nsnippet itemize\n \\begin{itemize}\n \\item ${1}\n \\end{itemize}\n# Description\nsnippet desc\n \\begin{description}\n \\item[${1}] ${2}\n \\end{description}\n# Matrix\nsnippet mat\n \\begin{${1:p/b/v/V/B/small}matrix}\n ${2}\n \\end{$1matrix}\n# Cases\nsnippet cas\n \\begin{cases}\n ${1:equation}, &\\text{ if }${2:case}\\\\\n ${3}\n \\end{cases}\n# Split\nsnippet spl\n \\begin{split}\n ${1}\n \\end{split}\n# Part\nsnippet part\n \\part{${1:part name}} % (fold)\n \\label{prt:${2:$1}}\n ${3}\n % part $2 (end)\n# Chapter\nsnippet cha\n \\chapter{${1:chapter name}}\n \\label{cha:${2:$1}}\n ${3}\n# Section\nsnippet sec\n \\section{${1:section name}}\n \\label{sec:${2:$1}}\n ${3}\n# Sub Section\nsnippet sub\n \\subsection{${1:subsection name}}\n \\label{sub:${2:$1}}\n ${3}\n# Sub Sub Section\nsnippet subs\n \\subsubsection{${1:subsubsection name}}\n \\label{ssub:${2:$1}}\n ${3}\n# Paragraph\nsnippet par\n \\paragraph{${1:paragraph name}}\n \\label{par:${2:$1}}\n ${3}\n# Sub Paragraph\nsnippet subp\n \\subparagraph{${1:subparagraph name}}\n \\label{subp:${2:$1}}\n ${3}\n#References\nsnippet itd\n \\item[${1:description}] ${2:item}\nsnippet figure\n ${1:Figure}~\\ref{${2:fig:}}${3}\nsnippet table\n ${1:Table}~\\ref{${2:tab:}}${3}\nsnippet listing\n ${1:Listing}~\\ref{${2:list}}${3}\nsnippet section\n ${1:Section}~\\ref{${2:sec:}}${3}\nsnippet page\n ${1:page}~\\pageref{${2}}${3}\nsnippet index\n \\index{${1:index}}${2}\n#Citations\nsnippet cite\n \\cite[${1}]{${2}}${3}\nsnippet fcite\n \\footcite[${1}]{${2}}${3}\n#Formating text: italic, bold, underline, small capital, emphase ..\nsnippet it\n \\textit{${1:text}}\nsnippet bf\n \\textbf{${1:text}}\nsnippet under\n \\underline{${1:text}}\nsnippet emp\n \\emph{${1:text}}\nsnippet sc\n \\textsc{${1:text}}\n#Choosing font\nsnippet sf\n \\textsf{${1:text}}\nsnippet rm\n \\textrm{${1:text}}\nsnippet tt\n \\texttt{${1:text}}\n#misc\nsnippet ft\n \\footnote{${1:text}}\nsnippet fig\n \\begin{figure}\n \\begin{center}\n \\includegraphics[scale=${1}]{Figures/${2}}\n \\end{center}\n \\caption{${3}}\n \\label{fig:${4}}\n \\end{figure}\nsnippet tikz\n \\begin{figure}\n \\begin{center}\n \\begin{tikzpicture}[scale=${1:1}]\n ${2}\n \\end{tikzpicture}\n \\end{center}\n \\caption{${3}}\n \\label{fig:${4}}\n \\end{figure}\n#math\nsnippet stackrel\n \\stackrel{${1:above}}{${2:below}} ${3}\nsnippet frac\n \\frac{${1:num}}{${2:denom}}\nsnippet sum\n \\sum^{${1:n}}_{${2:i=1}}{${3}}",t.scope="tex"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/text.js b/static/js/lib/ace/src-min-noconflict/snippets/text.js new file mode 100644 index 0000000..c0828b9 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/text.js @@ -0,0 +1 @@ +ace.define("ace/snippets/text",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="text"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/textile.js b/static/js/lib/ace/src-min-noconflict/snippets/textile.js new file mode 100644 index 0000000..d60fb95 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/textile.js @@ -0,0 +1 @@ +ace.define("ace/snippets/textile",["require","exports","module"],function(e,t,n){t.snippetText='# Jekyll post header\nsnippet header\n ---\n title: ${1:title}\n layout: post\n date: ${2:date} ${3:hour:minute:second} -05:00\n ---\n\n# Image\nsnippet img\n !${1:url}(${2:title}):${3:link}!\n\n# Table\nsnippet |\n |${1}|${2}\n\n# Link\nsnippet link\n "${1:link text}":${2:url}\n\n# Acronym\nsnippet (\n (${1:Expand acronym})${2}\n\n# Footnote\nsnippet fn\n [${1:ref number}] ${3}\n\n fn$1. ${2:footnote}\n \n',t.scope="textile"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/toml.js b/static/js/lib/ace/src-min-noconflict/snippets/toml.js new file mode 100644 index 0000000..08eb54b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/toml.js @@ -0,0 +1 @@ +ace.define("ace/snippets/toml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="toml"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/twig.js b/static/js/lib/ace/src-min-noconflict/snippets/twig.js new file mode 100644 index 0000000..fad5b7c --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/twig.js @@ -0,0 +1 @@ +ace.define("ace/snippets/twig",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="twig"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/typescript.js b/static/js/lib/ace/src-min-noconflict/snippets/typescript.js new file mode 100644 index 0000000..707b428 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/typescript.js @@ -0,0 +1 @@ +ace.define("ace/snippets/typescript",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="typescript"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/vbscript.js b/static/js/lib/ace/src-min-noconflict/snippets/vbscript.js new file mode 100644 index 0000000..0863199 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/vbscript.js @@ -0,0 +1 @@ +ace.define("ace/snippets/vbscript",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="vbscript"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/velocity.js b/static/js/lib/ace/src-min-noconflict/snippets/velocity.js new file mode 100644 index 0000000..e4a5154 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/velocity.js @@ -0,0 +1 @@ +ace.define("ace/snippets/velocity",["require","exports","module"],function(e,t,n){t.snippetText='# macro\nsnippet #macro\n #macro ( ${1:macroName} ${2:\\$var1, [\\$var2, ...]} )\n ${3:## macro code}\n #end\n# foreach\nsnippet #foreach\n #foreach ( ${1:\\$item} in ${2:\\$collection} )\n ${3:## foreach code}\n #end\n# if\nsnippet #if\n #if ( ${1:true} )\n ${0}\n #end\n# if ... else\nsnippet #ife\n #if ( ${1:true} )\n ${2}\n #else\n ${0}\n #end\n#import\nsnippet #import\n #import ( "${1:path/to/velocity/format}" )\n# set\nsnippet #set\n #set ( $${1:var} = ${0} )\n',t.scope="velocity",t.includeScopes=["html","javascript","css"]}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/verilog.js b/static/js/lib/ace/src-min-noconflict/snippets/verilog.js new file mode 100644 index 0000000..ee8ab3c --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/verilog.js @@ -0,0 +1 @@ +ace.define("ace/snippets/verilog",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="verilog"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/vhdl.js b/static/js/lib/ace/src-min-noconflict/snippets/vhdl.js new file mode 100644 index 0000000..663d642 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/vhdl.js @@ -0,0 +1 @@ +ace.define("ace/snippets/vhdl",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="vhdl"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/xml.js b/static/js/lib/ace/src-min-noconflict/snippets/xml.js new file mode 100644 index 0000000..a92ec8b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/xml.js @@ -0,0 +1 @@ +ace.define("ace/snippets/xml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="xml"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/xquery.js b/static/js/lib/ace/src-min-noconflict/snippets/xquery.js new file mode 100644 index 0000000..c849997 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/xquery.js @@ -0,0 +1 @@ +ace.define("ace/snippets/xquery",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="xquery"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/snippets/yaml.js b/static/js/lib/ace/src-min-noconflict/snippets/yaml.js new file mode 100644 index 0000000..d71298d --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/snippets/yaml.js @@ -0,0 +1 @@ +ace.define("ace/snippets/yaml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="yaml"}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-ambiance.js b/static/js/lib/ace/src-min-noconflict/theme-ambiance.js new file mode 100644 index 0000000..ce38d7e --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-ambiance.js @@ -0,0 +1 @@ +ace.define("ace/theme/ambiance",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-ambiance",t.cssText=".ace-ambiance .ace_gutter {background-color: #3d3d3d;background-image: -moz-linear-gradient(left, #3D3D3D, #333);background-image: -ms-linear-gradient(left, #3D3D3D, #333);background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#3D3D3D), to(#333));background-image: -webkit-linear-gradient(left, #3D3D3D, #333);background-image: -o-linear-gradient(left, #3D3D3D, #333);background-image: linear-gradient(left, #3D3D3D, #333);background-repeat: repeat-x;border-right: 1px solid #4d4d4d;text-shadow: 0px 1px 1px #4d4d4d;color: #222;}.ace-ambiance .ace_gutter-layer {background: repeat left top;}.ace-ambiance .ace_fold-widget {text-align: center;}.ace-ambiance .ace_fold-widget:hover {color: #777;}.ace-ambiance .ace_fold-widget.ace_start,.ace-ambiance .ace_fold-widget.ace_end,.ace-ambiance .ace_fold-widget.ace_closed{background: none;border: none;box-shadow: none;}.ace-ambiance .ace_fold-widget.ace_start:after {content: '▾'}.ace-ambiance .ace_fold-widget.ace_end:after {content: '▴'}.ace-ambiance .ace_fold-widget.ace_closed:after {content: '‣'}.ace-ambiance .ace_print-margin {border-left: 1px dotted #2D2D2D;right: 0;background: #262626;}.ace-ambiance .ace_scroller {-webkit-box-shadow: inset 0 0 10px black;-moz-box-shadow: inset 0 0 10px black;-o-box-shadow: inset 0 0 10px black;box-shadow: inset 0 0 10px black;}.ace-ambiance {color: #E6E1DC;background-color: #202020;}.ace-ambiance .ace_cursor {border-left: 1px solid #7991E8;}.ace-ambiance .ace_overwrite-cursors .ace_cursor {border: 1px solid #FFE300;background: #766B13;}.ace-ambiance.normal-mode .ace_cursor-layer {z-index: 0;}.ace-ambiance .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20);}.ace-ambiance .ace_marker-layer .ace_selected-word {border-radius: 4px;border: 8px solid #3f475d;box-shadow: 0 0 4px black;}.ace-ambiance .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-ambiance .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25);}.ace-ambiance .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031);}.ace-ambiance .ace_invisible {color: #333;}.ace-ambiance .ace_paren {color: #24C2C7;}.ace-ambiance .ace_keyword {color: #cda869;}.ace-ambiance .ace_keyword.ace_operator {color: #fa8d6a;}.ace-ambiance .ace_punctuation.ace_operator {color: #fa8d6a;}.ace-ambiance .ace_identifier {}.ace-ambiance .ace-statement {color: #cda869;}.ace-ambiance .ace_constant {color: #CF7EA9;}.ace-ambiance .ace_constant.ace_language {color: #CF7EA9;}.ace-ambiance .ace_constant.ace_library {}.ace-ambiance .ace_constant.ace_numeric {color: #78CF8A;}.ace-ambiance .ace_invalid {text-decoration: underline;}.ace-ambiance .ace_invalid.ace_illegal {color:#F8F8F8;background-color: rgba(86, 45, 86, 0.75);}.ace-ambiance .ace_invalid,.ace-ambiance .ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1;}.ace-ambiance .ace_support {color: #9B859D;}.ace-ambiance .ace_support.ace_function {color: #DAD085;}.ace-ambiance .ace_function.ace_buildin {color: #9b859d;}.ace-ambiance .ace_string {color: #8f9d6a;}.ace-ambiance .ace_string.ace_regexp {color: #DAD085;}.ace-ambiance .ace_comment {font-style: italic;color: #555;}.ace-ambiance .ace_comment.ace_doc {}.ace-ambiance .ace_comment.ace_doc.ace_tag {color: #666;font-style: normal;}.ace-ambiance .ace_definition,.ace-ambiance .ace_type {color: #aac6e3;}.ace-ambiance .ace_variable {color: #9999cc;}.ace-ambiance .ace_variable.ace_language {color: #9b859d;}.ace-ambiance .ace_xml-pe {color: #494949;}.ace-ambiance .ace_gutter-layer,.ace-ambiance .ace_text-layer {background-image: url(\"data:image/png;base64,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\");}.ace-ambiance .ace_indent-guide {background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC\") right repeat-y;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-chaos.js b/static/js/lib/ace/src-min-noconflict/theme-chaos.js new file mode 100644 index 0000000..7f5c837 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-chaos.js @@ -0,0 +1 @@ +ace.define("ace/theme/chaos",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-chaos",t.cssText=".ace-chaos .ace_gutter {background: #141414;color: #595959;border-right: 1px solid #282828;}.ace-chaos .ace_gutter-cell.ace_warning {background-image: none;background: #FC0;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_gutter-cell.ace_error {background-position: -6px center;background-image: none;background: #F10;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_print-margin {border-left: 1px solid #555;right: 0;background: #1D1D1D;}.ace-chaos {background-color: #161616;color: #E6E1DC;}.ace-chaos .ace_cursor {border-left: 2px solid #FFFFFF;}.ace-chaos .ace_cursor.ace_overwrite {border-left: 0px;border-bottom: 1px solid #FFFFFF;}.ace-chaos .ace_marker-layer .ace_selection {background: #494836;}.ace-chaos .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-chaos .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #FCE94F;}.ace-chaos .ace_marker-layer .ace_active-line {background: #333;}.ace-chaos .ace_gutter-active-line {background-color: #222;}.ace-chaos .ace_invisible {color: #404040;}.ace-chaos .ace_keyword {color:#00698F;}.ace-chaos .ace_keyword.ace_operator {color:#FF308F;}.ace-chaos .ace_constant {color:#1EDAFB;}.ace-chaos .ace_constant.ace_language {color:#FDC251;}.ace-chaos .ace_constant.ace_library {color:#8DFF0A;}.ace-chaos .ace_constant.ace_numeric {color:#58C554;}.ace-chaos .ace_invalid {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_invalid.ace_deprecated {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_support {color: #999;}.ace-chaos .ace_support.ace_function {color:#00AEEF;}.ace-chaos .ace_function {color:#00AEEF;}.ace-chaos .ace_string {color:#58C554;}.ace-chaos .ace_comment {color:#555;font-style:italic;padding-bottom: 0px;}.ace-chaos .ace_variable {color:#997744;}.ace-chaos .ace_meta.ace_tag {color:#BE53E6;}.ace-chaos .ace_entity.ace_other.ace_attribute-name {color:#FFFF89;}.ace-chaos .ace_markup.ace_underline {text-decoration: underline;}.ace-chaos .ace_fold-widget {text-align: center;}.ace-chaos .ace_fold-widget:hover {color: #777;}.ace-chaos .ace_fold-widget.ace_start,.ace-chaos .ace_fold-widget.ace_end,.ace-chaos .ace_fold-widget.ace_closed{background: none;border: none;box-shadow: none;}.ace-chaos .ace_fold-widget.ace_start:after {content: '▾'}.ace-chaos .ace_fold-widget.ace_end:after {content: '▴'}.ace-chaos .ace_fold-widget.ace_closed:after {content: '‣'}.ace-chaos .ace_indent-guide {border-right:1px dotted #333;margin-right:-1px;}.ace-chaos .ace_fold { background: #222; border-radius: 3px; color: #7AF; border: none; }.ace-chaos .ace_fold:hover {background: #CCC; color: #000;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-chrome.js b/static/js/lib/ace/src-min-noconflict/theme-chrome.js new file mode 100644 index 0000000..0c51609 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-chrome.js @@ -0,0 +1 @@ +ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-clouds.js b/static/js/lib/ace/src-min-noconflict/theme-clouds.js new file mode 100644 index 0000000..c04b8d1 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-clouds.js @@ -0,0 +1 @@ +ace.define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-clouds",t.cssText='.ace-clouds .ace_gutter {background: #ebebeb;color: #333}.ace-clouds .ace_print-margin {width: 1px;background: #e8e8e8}.ace-clouds {background-color: #FFFFFF;color: #000000}.ace-clouds .ace_cursor {color: #000000}.ace-clouds .ace_marker-layer .ace_selection {background: #BDD5FC}.ace-clouds.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-clouds .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-clouds .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds .ace_marker-layer .ace_active-line {background: #FFFBD1}.ace-clouds .ace_gutter-active-line {background-color : #dcdcdc}.ace-clouds .ace_marker-layer .ace_selected-word {border: 1px solid #BDD5FC}.ace-clouds .ace_invisible {color: #BFBFBF}.ace-clouds .ace_keyword,.ace-clouds .ace_meta,.ace-clouds .ace_support.ace_constant.ace_property-value {color: #AF956F}.ace-clouds .ace_keyword.ace_operator {color: #484848}.ace-clouds .ace_keyword.ace_other.ace_unit {color: #96DC5F}.ace-clouds .ace_constant.ace_language {color: #39946A}.ace-clouds .ace_constant.ace_numeric {color: #46A609}.ace-clouds .ace_constant.ace_character.ace_entity {color: #BF78CC}.ace-clouds .ace_invalid {background-color: #FF002A}.ace-clouds .ace_fold {background-color: #AF956F;border-color: #000000}.ace-clouds .ace_storage,.ace-clouds .ace_support.ace_class,.ace-clouds .ace_support.ace_function,.ace-clouds .ace_support.ace_other,.ace-clouds .ace_support.ace_type {color: #C52727}.ace-clouds .ace_string {color: #5D90CD}.ace-clouds .ace_comment {color: #BCC8BA}.ace-clouds .ace_entity.ace_name.ace_tag,.ace-clouds .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-clouds_midnight.js b/static/js/lib/ace/src-min-noconflict/theme-clouds_midnight.js new file mode 100644 index 0000000..7427807 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-clouds_midnight.js @@ -0,0 +1 @@ +ace.define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-clouds-midnight",t.cssText=".ace-clouds-midnight .ace_gutter {background: #232323;color: #929292}.ace-clouds-midnight .ace_print-margin {width: 1px;background: #232323}.ace-clouds-midnight {background-color: #191919;color: #929292}.ace-clouds-midnight .ace_cursor {color: #7DA5DC}.ace-clouds-midnight .ace_marker-layer .ace_selection {background: #000000}.ace-clouds-midnight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #191919;border-radius: 2px}.ace-clouds-midnight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-clouds-midnight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds-midnight .ace_marker-layer .ace_active-line {background: rgba(215, 215, 215, 0.031)}.ace-clouds-midnight .ace_gutter-active-line {background-color: rgba(215, 215, 215, 0.031)}.ace-clouds-midnight .ace_marker-layer .ace_selected-word {border: 1px solid #000000}.ace-clouds-midnight .ace_invisible {color: #BFBFBF}.ace-clouds-midnight .ace_keyword,.ace-clouds-midnight .ace_meta,.ace-clouds-midnight .ace_support.ace_constant.ace_property-value {color: #927C5D}.ace-clouds-midnight .ace_keyword.ace_operator {color: #4B4B4B}.ace-clouds-midnight .ace_keyword.ace_other.ace_unit {color: #366F1A}.ace-clouds-midnight .ace_constant.ace_language {color: #39946A}.ace-clouds-midnight .ace_constant.ace_numeric {color: #46A609}.ace-clouds-midnight .ace_constant.ace_character.ace_entity {color: #A165AC}.ace-clouds-midnight .ace_invalid {color: #FFFFFF;background-color: #E92E2E}.ace-clouds-midnight .ace_fold {background-color: #927C5D;border-color: #929292}.ace-clouds-midnight .ace_storage,.ace-clouds-midnight .ace_support.ace_class,.ace-clouds-midnight .ace_support.ace_function,.ace-clouds-midnight .ace_support.ace_other,.ace-clouds-midnight .ace_support.ace_type {color: #E92E2E}.ace-clouds-midnight .ace_string {color: #5D90CD}.ace-clouds-midnight .ace_comment {color: #3C403B}.ace-clouds-midnight .ace_entity.ace_name.ace_tag,.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds-midnight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-cobalt.js b/static/js/lib/ace/src-min-noconflict/theme-cobalt.js new file mode 100644 index 0000000..0473c2d --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-cobalt.js @@ -0,0 +1 @@ +ace.define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-cobalt",t.cssText=".ace-cobalt .ace_gutter {background: #011e3a;color: #fff}.ace-cobalt .ace_print-margin {width: 1px;background: #011e3a}.ace-cobalt {background-color: #002240;color: #FFFFFF}.ace-cobalt .ace_cursor {color: #FFFFFF}.ace-cobalt .ace_marker-layer .ace_selection {background: rgba(179, 101, 57, 0.75)}.ace-cobalt.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002240;border-radius: 2px}.ace-cobalt .ace_marker-layer .ace_step {background: rgb(127, 111, 19)}.ace-cobalt .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_marker-layer .ace_selected-word {border: 1px solid rgba(179, 101, 57, 0.75)}.ace-cobalt .ace_invisible {color: rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_keyword,.ace-cobalt .ace_meta {color: #FF9D00}.ace-cobalt .ace_constant,.ace-cobalt .ace_constant.ace_character,.ace-cobalt .ace_constant.ace_character.ace_escape,.ace-cobalt .ace_constant.ace_other {color: #FF628C}.ace-cobalt .ace_invalid {color: #F8F8F8;background-color: #800F00}.ace-cobalt .ace_support {color: #80FFBB}.ace-cobalt .ace_support.ace_constant {color: #EB939A}.ace-cobalt .ace_fold {background-color: #FF9D00;border-color: #FFFFFF}.ace-cobalt .ace_support.ace_function {color: #FFB054}.ace-cobalt .ace_storage {color: #FFEE80}.ace-cobalt .ace_entity {color: #FFDD00}.ace-cobalt .ace_string {color: #3AD900}.ace-cobalt .ace_string.ace_regexp {color: #80FFC2}.ace-cobalt .ace_comment {font-style: italic;color: #0088FF}.ace-cobalt .ace_heading,.ace-cobalt .ace_markup.ace_heading {color: #C8E4FD;background-color: #001221}.ace-cobalt .ace_list,.ace-cobalt .ace_markup.ace_list {background-color: #130D26}.ace-cobalt .ace_variable {color: #CCCCCC}.ace-cobalt .ace_variable.ace_language {color: #FF80E1}.ace-cobalt .ace_meta.ace_tag {color: #9EFFFF}.ace-cobalt .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHCLSvkPAAP3AgSDTRd4AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-crimson_editor.js b/static/js/lib/ace/src-min-noconflict/theme-crimson_editor.js new file mode 100644 index 0000000..9e3653e --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-crimson_editor.js @@ -0,0 +1 @@ +ace.define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssText='.ace-crimson-editor .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-crimson-editor .ace_gutter-layer {width: 100%;text-align: right;}.ace-crimson-editor .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-crimson-editor {background-color: #FFFFFF;color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor {color: black;}.ace-crimson-editor .ace_invisible {color: rgb(191, 191, 191);}.ace-crimson-editor .ace_identifier {color: black;}.ace-crimson-editor .ace_keyword {color: blue;}.ace-crimson-editor .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-crimson-editor .ace_constant.ace_language {color: rgb(255, 156, 0);}.ace-crimson-editor .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_invalid {text-decoration: line-through;color: rgb(224, 0, 0);}.ace-crimson-editor .ace_fold {}.ace-crimson-editor .ace_support.ace_function {color: rgb(192, 0, 0);}.ace-crimson-editor .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_support.ace_type,.ace-crimson-editor .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-crimson-editor .ace_keyword.ace_operator {color: rgb(49, 132, 149);}.ace-crimson-editor .ace_string {color: rgb(128, 0, 128);}.ace-crimson-editor .ace_comment {color: rgb(76, 136, 107);}.ace-crimson-editor .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-crimson-editor .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-crimson-editor .ace_constant.ace_numeric {color: rgb(0, 0, 64);}.ace-crimson-editor .ace_variable {color: rgb(0, 64, 128);}.ace-crimson-editor .ace_xml-pe {color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254);}.ace-crimson-editor .ace_gutter-active-line {background-color : #dcdcdc;}.ace-crimson-editor .ace_meta.ace_tag {color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex {color: rgb(192, 0, 192);}.ace-crimson-editor .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-crimson-editor";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-dawn.js b/static/js/lib/ace/src-min-noconflict/theme-dawn.js new file mode 100644 index 0000000..79ca2f1 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-dawn.js @@ -0,0 +1 @@ +ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dawn",t.cssText=".ace-dawn .ace_gutter {background: #ebebeb;color: #333}.ace-dawn .ace_print-margin {width: 1px;background: #e8e8e8}.ace-dawn {background-color: #F9F9F9;color: #080808}.ace-dawn .ace_cursor {color: #000000}.ace-dawn .ace_marker-layer .ace_selection {background: rgba(39, 95, 255, 0.30)}.ace-dawn.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #F9F9F9;border-radius: 2px}.ace-dawn .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-dawn .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(75, 75, 126, 0.50)}.ace-dawn .ace_marker-layer .ace_active-line {background: rgba(36, 99, 180, 0.12)}.ace-dawn .ace_gutter-active-line {background-color : #dcdcdc}.ace-dawn .ace_marker-layer .ace_selected-word {border: 1px solid rgba(39, 95, 255, 0.30)}.ace-dawn .ace_invisible {color: rgba(75, 75, 126, 0.50)}.ace-dawn .ace_keyword,.ace-dawn .ace_meta {color: #794938}.ace-dawn .ace_constant,.ace-dawn .ace_constant.ace_character,.ace-dawn .ace_constant.ace_character.ace_escape,.ace-dawn .ace_constant.ace_other {color: #811F24}.ace-dawn .ace_invalid.ace_illegal {text-decoration: underline;font-style: italic;color: #F8F8F8;background-color: #B52A1D}.ace-dawn .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #B52A1D}.ace-dawn .ace_support {color: #691C97}.ace-dawn .ace_support.ace_constant {color: #B4371F}.ace-dawn .ace_fold {background-color: #794938;border-color: #080808}.ace-dawn .ace_list,.ace-dawn .ace_markup.ace_list,.ace-dawn .ace_support.ace_function {color: #693A17}.ace-dawn .ace_storage {font-style: italic;color: #A71D5D}.ace-dawn .ace_string {color: #0B6125}.ace-dawn .ace_string.ace_regexp {color: #CF5628}.ace-dawn .ace_comment {font-style: italic;color: #5A525F}.ace-dawn .ace_heading,.ace-dawn .ace_markup.ace_heading {color: #19356D}.ace-dawn .ace_variable {color: #234A97}.ace-dawn .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-dreamweaver.js b/static/js/lib/ace/src-min-noconflict/theme-dreamweaver.js new file mode 100644 index 0000000..0bb10f4 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-dreamweaver.js @@ -0,0 +1 @@ +ace.define("ace/theme/dreamweaver",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dreamweaver",t.cssText='.ace-dreamweaver .ace_gutter {background: #e8e8e8;color: #333;}.ace-dreamweaver .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-dreamweaver {background-color: #FFFFFF;}.ace-dreamweaver .ace_fold {background-color: #757AD8;}.ace-dreamweaver .ace_cursor {color: black;}.ace-dreamweaver .ace_invisible {color: rgb(191, 191, 191);}.ace-dreamweaver .ace_storage,.ace-dreamweaver .ace_keyword {color: blue;}.ace-dreamweaver .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-dreamweaver .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-dreamweaver .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-dreamweaver .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-dreamweaver .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-dreamweaver .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-dreamweaver .ace_support.ace_type,.ace-dreamweaver .ace_support.ace_class {color: #009;}.ace-dreamweaver .ace_support.ace_php_tag {color: #f00;}.ace-dreamweaver .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-dreamweaver .ace_string {color: #00F;}.ace-dreamweaver .ace_comment {color: rgb(76, 136, 107);}.ace-dreamweaver .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-dreamweaver .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-dreamweaver .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-dreamweaver .ace_variable {color: #06F}.ace-dreamweaver .ace_xml-pe {color: rgb(104, 104, 91);}.ace-dreamweaver .ace_entity.ace_name.ace_function {color: #00F;}.ace-dreamweaver .ace_heading {color: rgb(12, 7, 255);}.ace-dreamweaver .ace_list {color:rgb(185, 6, 144);}.ace-dreamweaver .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-dreamweaver .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-dreamweaver .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-dreamweaver .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-dreamweaver .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-dreamweaver .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-dreamweaver .ace_meta.ace_tag {color:#009;}.ace-dreamweaver .ace_meta.ace_tag.ace_anchor {color:#060;}.ace-dreamweaver .ace_meta.ace_tag.ace_form {color:#F90;}.ace-dreamweaver .ace_meta.ace_tag.ace_image {color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_script {color:#900;}.ace-dreamweaver .ace_meta.ace_tag.ace_style {color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_table {color:#099;}.ace-dreamweaver .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-dreamweaver .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-eclipse.js b/static/js/lib/ace/src-min-noconflict/theme-eclipse.js new file mode 100644 index 0000000..8814283 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-eclipse.js @@ -0,0 +1 @@ +ace.define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssText='.ace-eclipse .ace_gutter {background: #ebebeb;border-right: 1px solid rgb(159, 159, 159);color: rgb(136, 136, 136);}.ace-eclipse .ace_print-margin {width: 1px;background: #ebebeb;}.ace-eclipse {background-color: #FFFFFF;}.ace-eclipse .ace_fold {background-color: rgb(60, 76, 114);}.ace-eclipse .ace_cursor {color: black;}.ace-eclipse .ace_storage,.ace-eclipse .ace_keyword,.ace-eclipse .ace_variable {color: rgb(127, 0, 85);}.ace-eclipse .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-eclipse .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-eclipse .ace_function {color: rgb(60, 76, 114);}.ace-eclipse .ace_string {color: rgb(42, 0, 255);}.ace-eclipse .ace_comment {color: rgb(113, 150, 130);}.ace-eclipse .ace_comment.ace_doc {color: rgb(63, 95, 191);}.ace-eclipse .ace_comment.ace_doc.ace_tag {color: rgb(127, 159, 191);}.ace-eclipse .ace_constant.ace_numeric {color: darkblue;}.ace-eclipse .ace_tag {color: rgb(25, 118, 116);}.ace-eclipse .ace_type {color: rgb(127, 0, 127);}.ace-eclipse .ace_xml-pe {color: rgb(104, 104, 91);}.ace-eclipse .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-eclipse .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-eclipse .ace_meta.ace_tag {color:rgb(25, 118, 116);}.ace-eclipse .ace_invisible {color: #ddd;}.ace-eclipse .ace_entity.ace_other.ace_attribute-name {color:rgb(127, 0, 127);}.ace-eclipse .ace_marker-layer .ace_step {background: rgb(255, 255, 0);}.ace-eclipse .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254);}.ace-eclipse .ace_marker-layer .ace_selected-word {border: 1px solid rgb(181, 213, 255);}.ace-eclipse .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-eclipse";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-github.js b/static/js/lib/ace/src-min-noconflict/theme-github.js new file mode 100644 index 0000000..a623121 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-github.js @@ -0,0 +1 @@ +ace.define("ace/theme/github",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-github",t.cssText='/* CSS style content from github\'s default pygments highlighter template.Cursor and selection styles from textmate.css. */.ace-github .ace_gutter {background: #e8e8e8;color: #AAA;}.ace-github {background: #fff;color: #000;}.ace-github .ace_keyword {font-weight: bold;}.ace-github .ace_string {color: #D14;}.ace-github .ace_variable.ace_class {color: teal;}.ace-github .ace_constant.ace_numeric {color: #099;}.ace-github .ace_constant.ace_buildin {color: #0086B3;}.ace-github .ace_support.ace_function {color: #0086B3;}.ace-github .ace_comment {color: #998;font-style: italic;}.ace-github .ace_variable.ace_language {color: #0086B3;}.ace-github .ace_paren {font-weight: bold;}.ace-github .ace_boolean {font-weight: bold;}.ace-github .ace_string.ace_regexp {color: #009926;font-weight: normal;}.ace-github .ace_variable.ace_instance {color: teal;}.ace-github .ace_constant.ace_language {font-weight: bold;}.ace-github .ace_cursor {color: black;}.ace-github .ace_marker-layer .ace_active-line {background: rgb(255, 255, 204);}.ace-github .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-github.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}/* bold keywords cause cursor issues for some fonts *//* this disables bold style for editor and keeps for static highlighter */.ace-github.ace_nobold .ace_line > span {font-weight: normal !important;}.ace-github .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-github .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-github .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-github .ace_gutter-active-line {background-color : rgba(0, 0, 0, 0.07);}.ace-github .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-github .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-github .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-idle_fingers.js b/static/js/lib/ace/src-min-noconflict/theme-idle_fingers.js new file mode 100644 index 0000000..cf2c41e --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-idle_fingers.js @@ -0,0 +1 @@ +ace.define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-idle-fingers",t.cssText=".ace-idle-fingers .ace_gutter {background: #3b3b3b;color: #fff}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;border-radius: 2px}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-katzenmilch.js b/static/js/lib/ace/src-min-noconflict/theme-katzenmilch.js new file mode 100644 index 0000000..59a9584 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-katzenmilch.js @@ -0,0 +1 @@ +ace.define("ace/theme/katzenmilch",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-katzenmilch",t.cssText=".ace-katzenmilch .ace_gutter,/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css (UUID: ) */.ace-katzenmilch .ace_gutter {background: #e8e8e8;color: #333}.ace-katzenmilch .ace_print-margin {width: 1px;background: #e8e8e8}.ace-katzenmilch {background-color: #f3f2f3;color: rgba(15, 0, 9, 1.0)}.ace-katzenmilch .ace_cursor {border-left: 2px solid #100011}.ace-katzenmilch .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid #100011}.ace-katzenmilch .ace_marker-layer .ace_selection {background: rgba(100, 5, 208, 0.27)}.ace-katzenmilch.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #f3f2f3;border-radius: 2px}.ace-katzenmilch .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-katzenmilch .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #000000}.ace-katzenmilch .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254)}.ace-katzenmilch .ace_gutter-active-line {background-color: rgb(232, 242, 254)}.ace-katzenmilch .ace_marker-layer .ace_selected-word {border: 1px solid rgba(100, 5, 208, 0.27)}.ace-katzenmilch .ace_fold {background-color: rgba(2, 95, 73, 0.97);border-color: rgba(15, 0, 9, 1.0)}.ace-katzenmilch .ace_keyword {color: #674Aa8;rbackground-color: rgba(163, 170, 216, 0.055)}.ace-katzenmilch .ace_constant.ace_language {color: #7D7e52;rbackground-color: rgba(189, 190, 130, 0.059)}.ace-katzenmilch .ace_constant.ace_numeric {color: rgba(79, 130, 123, 0.93);rbackground-color: rgba(119, 194, 187, 0.059)}.ace-katzenmilch .ace_constant.ace_character,.ace-katzenmilch .ace_constant.ace_other {color: rgba(2, 95, 105, 1.0);rbackground-color: rgba(127, 34, 153, 0.063)}.ace-katzenmilch .ace_support.ace_function {color: #9D7e62;rbackground-color: rgba(189, 190, 130, 0.039)}.ace-katzenmilch .ace_support.ace_class {color: rgba(239, 106, 167, 1.0);rbackground-color: rgba(239, 106, 167, 0.063)}.ace-katzenmilch .ace_storage {color: rgba(123, 92, 191, 1.0);rbackground-color: rgba(139, 93, 223, 0.051)}.ace-katzenmilch .ace_invalid {color: #DFDFD5;rbackground-color: #CC1B27}.ace-katzenmilch .ace_string {color: #5a5f9b;rbackground-color: rgba(170, 175, 219, 0.035)}.ace-katzenmilch .ace_comment {font-style: italic;color: rgba(64, 79, 80, 0.67);rbackground-color: rgba(95, 15, 255, 0.0078)}.ace-katzenmilch .ace_entity.ace_name.ace_function,.ace-katzenmilch .ace_variable {color: rgba(2, 95, 73, 0.97);rbackground-color: rgba(34, 255, 73, 0.12)}.ace-katzenmilch .ace_variable.ace_language {color: #316fcf;rbackground-color: rgba(58, 175, 255, 0.039)}.ace-katzenmilch .ace_variable.ace_parameter {font-style: italic;color: rgba(51, 150, 159, 0.87);rbackground-color: rgba(5, 214, 249, 0.043)}.ace-katzenmilch .ace_entity.ace_other.ace_attribute-name {color: rgba(73, 70, 194, 0.93);rbackground-color: rgba(73, 134, 194, 0.035)}.ace-katzenmilch .ace_entity.ace_name.ace_tag {color: #3976a2;rbackground-color: rgba(73, 166, 210, 0.039)}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-kr.js b/static/js/lib/ace/src-min-noconflict/theme-kr.js new file mode 100644 index 0000000..5f5a402 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-kr.js @@ -0,0 +1 @@ +ace.define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-kr-theme",t.cssText=".ace-kr-theme .ace_gutter {background: #1c1917;color: #FCFFE0}.ace-kr-theme .ace_print-margin {width: 1px;background: #1c1917}.ace-kr-theme {background-color: #0B0A09;color: #FCFFE0}.ace-kr-theme .ace_cursor {color: #FF9900}.ace-kr-theme .ace_marker-layer .ace_selection {background: rgba(170, 0, 255, 0.45)}.ace-kr-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #0B0A09;border-radius: 2px}.ace-kr-theme .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-kr-theme .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 177, 111, 0.32)}.ace-kr-theme .ace_marker-layer .ace_active-line {background: #38403D}.ace-kr-theme .ace_gutter-active-line {background-color : #38403D}.ace-kr-theme .ace_marker-layer .ace_selected-word {border: 1px solid rgba(170, 0, 255, 0.45)}.ace-kr-theme .ace_invisible {color: rgba(255, 177, 111, 0.32)}.ace-kr-theme .ace_keyword,.ace-kr-theme .ace_meta {color: #949C8B}.ace-kr-theme .ace_constant,.ace-kr-theme .ace_constant.ace_character,.ace-kr-theme .ace_constant.ace_character.ace_escape,.ace-kr-theme .ace_constant.ace_other {color: rgba(210, 117, 24, 0.76)}.ace-kr-theme .ace_invalid {color: #F8F8F8;background-color: #A41300}.ace-kr-theme .ace_support {color: #9FC28A}.ace-kr-theme .ace_support.ace_constant {color: #C27E66}.ace-kr-theme .ace_fold {background-color: #949C8B;border-color: #FCFFE0}.ace-kr-theme .ace_support.ace_function {color: #85873A}.ace-kr-theme .ace_storage {color: #FFEE80}.ace-kr-theme .ace_string {color: rgba(164, 161, 181, 0.8)}.ace-kr-theme .ace_string.ace_regexp {color: rgba(125, 255, 192, 0.65)}.ace-kr-theme .ace_comment {font-style: italic;color: #706D5B}.ace-kr-theme .ace_variable {color: #D1A796}.ace-kr-theme .ace_list,.ace-kr-theme .ace_markup.ace_list {background-color: #0F0040}.ace-kr-theme .ace_variable.ace_language {color: #FF80E1}.ace-kr-theme .ace_meta.ace_tag {color: #BABD9C}.ace-kr-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-kuroir.js b/static/js/lib/ace/src-min-noconflict/theme-kuroir.js new file mode 100644 index 0000000..74563c8 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-kuroir.js @@ -0,0 +1 @@ +ace.define("ace/theme/kuroir",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-kuroir",t.cssText="/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css (UUID: 467560D0-6ACE-4409-82FD-4791420837AC) */.ace-kuroir .ace_gutter {background: #e8e8e8;color: #333;}.ace-kuroir .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-kuroir {background-color: #E8E9E8;color: #363636;}.ace-kuroir .ace_cursor {color: #202020;}.ace-kuroir .ace_marker-layer .ace_selection {background: rgba(245, 170, 0, 0.57);}.ace-kuroir.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #E8E9E8;border-radius: 2px;}.ace-kuroir .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-kuroir .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(0, 0, 0, 0.29);}.ace-kuroir .ace_marker-layer .ace_active-line {background: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_gutter-active-line {background-color: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_marker-layer .ace_selected-word {border: 1px solid rgba(245, 170, 0, 0.57);}.ace-kuroir .ace_fold {background-color: ;border-color: #363636;}.ace-kuroir .ace_constant{color:#CD6839;}.ace-kuroir .ace_constant.ace_numeric{color:#9A5925;}.ace-kuroir .ace_support{color:#104E8B;}.ace-kuroir .ace_support.ace_function{color:#005273;}.ace-kuroir .ace_support.ace_constant{color:#CF6A4C;}.ace-kuroir .ace_storage{color:#A52A2A;}.ace-kuroir .ace_invalid.ace_illegal{color:#FD1224;background-color:rgba(255, 6, 0, 0.15);}.ace-kuroir .ace_invalid.ace_deprecated{text-decoration:underline;font-style:italic;color:#FD1732;background-color:#E8E9E8;}.ace-kuroir .ace_string{color:#639300;}.ace-kuroir .ace_string.ace_regexp{color:#417E00;background-color:#C9D4BE;}.ace-kuroir .ace_comment{color:rgba(148, 148, 148, 0.91);background-color:rgba(220, 220, 220, 0.56);}.ace-kuroir .ace_variable{color:#009ACD;}.ace-kuroir .ace_meta.ace_tag{color:#005273;}.ace-kuroir .ace_markup.ace_heading{color:#B8012D;background-color:rgba(191, 97, 51, 0.051);}.ace-kuroir .ace_markup.ace_list{color:#8F5B26;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-merbivore.js b/static/js/lib/ace/src-min-noconflict/theme-merbivore.js new file mode 100644 index 0000000..bd1844e --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-merbivore.js @@ -0,0 +1 @@ +ace.define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-merbivore",t.cssText=".ace-merbivore .ace_gutter {background: #202020;color: #E6E1DC}.ace-merbivore .ace_print-margin {width: 1px;background: #555651}.ace-merbivore {background-color: #161616;color: #E6E1DC}.ace-merbivore .ace_cursor {color: #FFFFFF}.ace-merbivore .ace_marker-layer .ace_selection {background: #454545}.ace-merbivore.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #161616;border-radius: 2px}.ace-merbivore .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-merbivore .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-merbivore .ace_marker-layer .ace_active-line {background: #333435}.ace-merbivore .ace_gutter-active-line {background-color: #333435}.ace-merbivore .ace_marker-layer .ace_selected-word {border: 1px solid #454545}.ace-merbivore .ace_invisible {color: #404040}.ace-merbivore .ace_entity.ace_name.ace_tag,.ace-merbivore .ace_keyword,.ace-merbivore .ace_meta,.ace-merbivore .ace_meta.ace_tag,.ace-merbivore .ace_storage,.ace-merbivore .ace_support.ace_function {color: #FC6F09}.ace-merbivore .ace_constant,.ace-merbivore .ace_constant.ace_character,.ace-merbivore .ace_constant.ace_character.ace_escape,.ace-merbivore .ace_constant.ace_other,.ace-merbivore .ace_support.ace_type {color: #1EDAFB}.ace-merbivore .ace_constant.ace_character.ace_escape {color: #519F50}.ace-merbivore .ace_constant.ace_language {color: #FDC251}.ace-merbivore .ace_constant.ace_library,.ace-merbivore .ace_string,.ace-merbivore .ace_support.ace_constant {color: #8DFF0A}.ace-merbivore .ace_constant.ace_numeric {color: #58C554}.ace-merbivore .ace_invalid {color: #FFFFFF;background-color: #990000}.ace-merbivore .ace_fold {background-color: #FC6F09;border-color: #E6E1DC}.ace-merbivore .ace_comment {font-style: italic;color: #AD2EA4}.ace-merbivore .ace_entity.ace_other.ace_attribute-name {color: #FFFF89}.ace-merbivore .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQFxf3ZXB1df0PAAdsAmERTkEHAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-merbivore_soft.js b/static/js/lib/ace/src-min-noconflict/theme-merbivore_soft.js new file mode 100644 index 0000000..6e21e7b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-merbivore_soft.js @@ -0,0 +1 @@ +ace.define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-merbivore-soft",t.cssText=".ace-merbivore-soft .ace_gutter {background: #262424;color: #E6E1DC}.ace-merbivore-soft .ace_print-margin {width: 1px;background: #262424}.ace-merbivore-soft {background-color: #1C1C1C;color: #E6E1DC}.ace-merbivore-soft .ace_cursor {color: #FFFFFF}.ace-merbivore-soft .ace_marker-layer .ace_selection {background: #494949}.ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1C1C1C;border-radius: 2px}.ace-merbivore-soft .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-merbivore-soft .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-merbivore-soft .ace_marker-layer .ace_active-line {background: #333435}.ace-merbivore-soft .ace_gutter-active-line {background-color: #333435}.ace-merbivore-soft .ace_marker-layer .ace_selected-word {border: 1px solid #494949}.ace-merbivore-soft .ace_invisible {color: #404040}.ace-merbivore-soft .ace_entity.ace_name.ace_tag,.ace-merbivore-soft .ace_keyword,.ace-merbivore-soft .ace_meta,.ace-merbivore-soft .ace_meta.ace_tag,.ace-merbivore-soft .ace_storage {color: #FC803A}.ace-merbivore-soft .ace_constant,.ace-merbivore-soft .ace_constant.ace_character,.ace-merbivore-soft .ace_constant.ace_character.ace_escape,.ace-merbivore-soft .ace_constant.ace_other,.ace-merbivore-soft .ace_support.ace_type {color: #68C1D8}.ace-merbivore-soft .ace_constant.ace_character.ace_escape {color: #B3E5B4}.ace-merbivore-soft .ace_constant.ace_language {color: #E1C582}.ace-merbivore-soft .ace_constant.ace_library,.ace-merbivore-soft .ace_string,.ace-merbivore-soft .ace_support.ace_constant {color: #8EC65F}.ace-merbivore-soft .ace_constant.ace_numeric {color: #7FC578}.ace-merbivore-soft .ace_invalid,.ace-merbivore-soft .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #FE3838}.ace-merbivore-soft .ace_fold {background-color: #FC803A;border-color: #E6E1DC}.ace-merbivore-soft .ace_comment,.ace-merbivore-soft .ace_meta {font-style: italic;color: #AC4BB8}.ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {color: #EAF1A3}.ace-merbivore-soft .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkpLyZfD09PwPAAfYAnaStpHRAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-mono_industrial.js b/static/js/lib/ace/src-min-noconflict/theme-mono_industrial.js new file mode 100644 index 0000000..4d6b93c --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-mono_industrial.js @@ -0,0 +1 @@ +ace.define("ace/theme/mono_industrial",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-mono-industrial",t.cssText=".ace-mono-industrial .ace_gutter {background: #1d2521;color: #C5C9C9}.ace-mono-industrial .ace_print-margin {width: 1px;background: #555651}.ace-mono-industrial {background-color: #222C28;color: #FFFFFF}.ace-mono-industrial .ace_cursor {color: #FFFFFF}.ace-mono-industrial .ace_marker-layer .ace_selection {background: rgba(145, 153, 148, 0.40)}.ace-mono-industrial.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #222C28;border-radius: 2px}.ace-mono-industrial .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-mono-industrial .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(102, 108, 104, 0.50)}.ace-mono-industrial .ace_marker-layer .ace_active-line {background: rgba(12, 13, 12, 0.25)}.ace-mono-industrial .ace_gutter-active-line {background-color: rgba(12, 13, 12, 0.25)}.ace-mono-industrial .ace_marker-layer .ace_selected-word {border: 1px solid rgba(145, 153, 148, 0.40)}.ace-mono-industrial .ace_invisible {color: rgba(102, 108, 104, 0.50)}.ace-mono-industrial .ace_string {background-color: #151C19;color: #FFFFFF}.ace-mono-industrial .ace_keyword,.ace-mono-industrial .ace_meta {color: #A39E64}.ace-mono-industrial .ace_constant,.ace-mono-industrial .ace_constant.ace_character,.ace-mono-industrial .ace_constant.ace_character.ace_escape,.ace-mono-industrial .ace_constant.ace_numeric,.ace-mono-industrial .ace_constant.ace_other {color: #E98800}.ace-mono-industrial .ace_entity.ace_name.ace_function,.ace-mono-industrial .ace_keyword.ace_operator,.ace-mono-industrial .ace_variable {color: #A8B3AB}.ace-mono-industrial .ace_invalid {color: #FFFFFF;background-color: rgba(153, 0, 0, 0.68)}.ace-mono-industrial .ace_support.ace_constant {color: #C87500}.ace-mono-industrial .ace_fold {background-color: #A8B3AB;border-color: #FFFFFF}.ace-mono-industrial .ace_support.ace_function {color: #588E60}.ace-mono-industrial .ace_entity.ace_name,.ace-mono-industrial .ace_support.ace_class,.ace-mono-industrial .ace_support.ace_type {color: #5778B6}.ace-mono-industrial .ace_storage {color: #C23B00}.ace-mono-industrial .ace_variable.ace_language,.ace-mono-industrial .ace_variable.ace_parameter {color: #648BD2}.ace-mono-industrial .ace_comment {color: #666C68;background-color: #151C19}.ace-mono-industrial .ace_entity.ace_other.ace_attribute-name {color: #909993}.ace-mono-industrial .ace_entity.ace_name.ace_tag {color: #A65EFF}.ace-mono-industrial .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ1NbwZfALD/4PAAlTArlEC4r/AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-monokai.js b/static/js/lib/ace/src-min-noconflict/theme-monokai.js new file mode 100644 index 0000000..3a4361c --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-monokai.js @@ -0,0 +1 @@ +ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;border-radius: 2px}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-pastel_on_dark.js b/static/js/lib/ace/src-min-noconflict/theme-pastel_on_dark.js new file mode 100644 index 0000000..e3dee73 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-pastel_on_dark.js @@ -0,0 +1 @@ +ace.define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-pastel-on-dark",t.cssText=".ace-pastel-on-dark .ace_gutter {background: #353030;color: #8F938F}.ace-pastel-on-dark .ace_print-margin {width: 1px;background: #353030}.ace-pastel-on-dark {background-color: #2C2828;color: #8F938F}.ace-pastel-on-dark .ace_cursor {color: #A7A7A7}.ace-pastel-on-dark .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2C2828;border-radius: 2px}.ace-pastel-on-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-pastel-on-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_keyword,.ace-pastel-on-dark .ace_meta {color: #757aD8}.ace-pastel-on-dark .ace_constant,.ace-pastel-on-dark .ace_constant.ace_character,.ace-pastel-on-dark .ace_constant.ace_character.ace_escape,.ace-pastel-on-dark .ace_constant.ace_other {color: #4FB7C5}.ace-pastel-on-dark .ace_keyword.ace_operator {color: #797878}.ace-pastel-on-dark .ace_constant.ace_character {color: #AFA472}.ace-pastel-on-dark .ace_constant.ace_language {color: #DE8E30}.ace-pastel-on-dark .ace_constant.ace_numeric {color: #CCCCCC}.ace-pastel-on-dark .ace_invalid,.ace-pastel-on-dark .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-pastel-on-dark .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-pastel-on-dark .ace_fold {background-color: #757aD8;border-color: #8F938F}.ace-pastel-on-dark .ace_support.ace_function {color: #AEB2F8}.ace-pastel-on-dark .ace_string {color: #66A968}.ace-pastel-on-dark .ace_string.ace_regexp {color: #E9C062}.ace-pastel-on-dark .ace_comment {color: #A6C6FF}.ace-pastel-on-dark .ace_variable {color: #BEBF55}.ace-pastel-on-dark .ace_variable.ace_language {color: #C1C144}.ace-pastel-on-dark .ace_xml-pe {color: #494949}.ace-pastel-on-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYIiPj/8PAARgAh2NTMh8AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-solarized_dark.js b/static/js/lib/ace/src-min-noconflict/theme-solarized_dark.js new file mode 100644 index 0000000..34af033 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-solarized_dark.js @@ -0,0 +1 @@ +ace.define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-solarized-dark",t.cssText=".ace-solarized-dark .ace_gutter {background: #01313f;color: #d0edf7}.ace-solarized-dark .ace_print-margin {width: 1px;background: #33555E}.ace-solarized-dark {background-color: #002B36;color: #93A1A1}.ace-solarized-dark .ace_entity.ace_other.ace_attribute-name,.ace-solarized-dark .ace_storage {color: #93A1A1}.ace-solarized-dark .ace_cursor,.ace-solarized-dark .ace_string.ace_regexp {color: #D30102}.ace-solarized-dark .ace_marker-layer .ace_active-line,.ace-solarized-dark .ace_marker-layer .ace_selection {background: rgba(255, 255, 255, 0.1)}.ace-solarized-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002B36;border-radius: 2px}.ace-solarized-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-solarized-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_gutter-active-line {background-color: #0d3440}.ace-solarized-dark .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-dark .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_keyword,.ace-solarized-dark .ace_meta,.ace-solarized-dark .ace_support.ace_class,.ace-solarized-dark .ace_support.ace_type {color: #859900}.ace-solarized-dark .ace_constant.ace_character,.ace-solarized-dark .ace_constant.ace_other {color: #CB4B16}.ace-solarized-dark .ace_constant.ace_language {color: #B58900}.ace-solarized-dark .ace_constant.ace_numeric {color: #D33682}.ace-solarized-dark .ace_fold {background-color: #268BD2;border-color: #93A1A1}.ace-solarized-dark .ace_entity.ace_name.ace_function,.ace-solarized-dark .ace_entity.ace_name.ace_tag,.ace-solarized-dark .ace_support.ace_function,.ace-solarized-dark .ace_variable,.ace-solarized-dark .ace_variable.ace_language {color: #268BD2}.ace-solarized-dark .ace_string {color: #2AA198}.ace-solarized-dark .ace_comment {font-style: italic;color: #657B83}.ace-solarized-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db1ZVCxc/sPAAd4AlUHlLenAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-solarized_light.js b/static/js/lib/ace/src-min-noconflict/theme-solarized_light.js new file mode 100644 index 0000000..d785f2b --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-solarized_light.js @@ -0,0 +1 @@ +ace.define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-solarized-light",t.cssText=".ace-solarized-light .ace_gutter {background: #fbf1d3;color: #333}.ace-solarized-light .ace_print-margin {width: 1px;background: #e8e8e8}.ace-solarized-light {background-color: #FDF6E3;color: #586E75}.ace-solarized-light .ace_cursor {color: #000000}.ace-solarized-light .ace_marker-layer .ace_selection {background: rgba(7, 54, 67, 0.09)}.ace-solarized-light.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FDF6E3;border-radius: 2px}.ace-solarized-light .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-solarized-light .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_marker-layer .ace_active-line {background: #EEE8D5}.ace-solarized-light .ace_gutter-active-line {background-color : #EDE5C1}.ace-solarized-light .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-light .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_keyword,.ace-solarized-light .ace_meta,.ace-solarized-light .ace_support.ace_class,.ace-solarized-light .ace_support.ace_type {color: #859900}.ace-solarized-light .ace_constant.ace_character,.ace-solarized-light .ace_constant.ace_other {color: #CB4B16}.ace-solarized-light .ace_constant.ace_language {color: #B58900}.ace-solarized-light .ace_constant.ace_numeric {color: #D33682}.ace-solarized-light .ace_fold {background-color: #268BD2;border-color: #586E75}.ace-solarized-light .ace_entity.ace_name.ace_function,.ace-solarized-light .ace_entity.ace_name.ace_tag,.ace-solarized-light .ace_support.ace_function,.ace-solarized-light .ace_variable,.ace-solarized-light .ace_variable.ace_language {color: #268BD2}.ace-solarized-light .ace_storage {color: #073642}.ace-solarized-light .ace_string {color: #2AA198}.ace-solarized-light .ace_string.ace_regexp {color: #D30102}.ace-solarized-light .ace_comment,.ace-solarized-light .ace_entity.ace_other.ace_attribute-name {color: #93A1A1}.ace-solarized-light .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHjy8NJ/AAjgA5fzQUmBAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-terminal.js b/static/js/lib/ace/src-min-noconflict/theme-terminal.js new file mode 100644 index 0000000..4949228 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-terminal.js @@ -0,0 +1 @@ +ace.define("ace/theme/terminal",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-terminal-theme",t.cssText=".ace-terminal-theme .ace_gutter {background: #1a0005;color: steelblue}.ace-terminal-theme .ace_print-margin {width: 1px;background: #1a1a1a}.ace-terminal-theme {background-color: black;color: #DEDEDE}.ace-terminal-theme .ace_cursor {color: #9F9F9F}.ace-terminal-theme .ace_marker-layer .ace_selection {background: #424242}.ace-terminal-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px black;border-radius: 2px}.ace-terminal-theme .ace_marker-layer .ace_step {background: rgb(0, 0, 0)}.ace-terminal-theme .ace_marker-layer .ace_bracket {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-start {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-unmatched {margin: -1px 0 0 -1px;border: 1px solid #900}.ace-terminal-theme .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-terminal-theme .ace_gutter-active-line {background-color: #2A112A}.ace-terminal-theme .ace_marker-layer .ace_selected-word {border: 1px solid #424242}.ace-terminal-theme .ace_invisible {color: #343434}.ace-terminal-theme .ace_keyword,.ace-terminal-theme .ace_meta,.ace-terminal-theme .ace_storage,.ace-terminal-theme .ace_storage.ace_type,.ace-terminal-theme .ace_support.ace_type {color: tomato}.ace-terminal-theme .ace_keyword.ace_operator {color: deeppink}.ace-terminal-theme .ace_constant.ace_character,.ace-terminal-theme .ace_constant.ace_language,.ace-terminal-theme .ace_constant.ace_numeric,.ace-terminal-theme .ace_keyword.ace_other.ace_unit,.ace-terminal-theme .ace_support.ace_constant,.ace-terminal-theme .ace_variable.ace_parameter {color: #E78C45}.ace-terminal-theme .ace_constant.ace_other {color: gold}.ace-terminal-theme .ace_invalid {color: yellow;background-color: red}.ace-terminal-theme .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-terminal-theme .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-terminal-theme .ace_entity.ace_name.ace_function,.ace-terminal-theme .ace_support.ace_function,.ace-terminal-theme .ace_variable {color: #7AA6DA}.ace-terminal-theme .ace_support.ace_class,.ace-terminal-theme .ace_support.ace_type {color: #E7C547}.ace-terminal-theme .ace_heading,.ace-terminal-theme .ace_string {color: #B9CA4A}.ace-terminal-theme .ace_entity.ace_name.ace_tag,.ace-terminal-theme .ace_entity.ace_other.ace_attribute-name,.ace-terminal-theme .ace_meta.ace_tag,.ace-terminal-theme .ace_string.ace_regexp,.ace-terminal-theme .ace_variable {color: #D54E53}.ace-terminal-theme .ace_comment {color: orangered}.ace-terminal-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLBWV/8PAAK4AYnhiq+xAAAAAElFTkSuQmCC) right repeat-y;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-textmate.js b/static/js/lib/ace/src-min-noconflict/theme-textmate.js new file mode 100644 index 0000000..a768895 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-textmate.js @@ -0,0 +1 @@ +ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-tomorrow.js b/static/js/lib/ace/src-min-noconflict/theme-tomorrow.js new file mode 100644 index 0000000..0c43059 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-tomorrow.js @@ -0,0 +1 @@ +ace.define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tomorrow",t.cssText=".ace-tomorrow .ace_gutter {background: #f6f6f6;color: #4D4D4C}.ace-tomorrow .ace_print-margin {width: 1px;background: #f6f6f6}.ace-tomorrow {background-color: #FFFFFF;color: #4D4D4C}.ace-tomorrow .ace_cursor {color: #AEAFAD}.ace-tomorrow .ace_marker-layer .ace_selection {background: #D6D6D6}.ace-tomorrow.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-tomorrow .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-tomorrow .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #D1D1D1}.ace-tomorrow .ace_marker-layer .ace_active-line {background: #EFEFEF}.ace-tomorrow .ace_gutter-active-line {background-color : #dcdcdc}.ace-tomorrow .ace_marker-layer .ace_selected-word {border: 1px solid #D6D6D6}.ace-tomorrow .ace_invisible {color: #D1D1D1}.ace-tomorrow .ace_keyword,.ace-tomorrow .ace_meta,.ace-tomorrow .ace_storage,.ace-tomorrow .ace_storage.ace_type,.ace-tomorrow .ace_support.ace_type {color: #8959A8}.ace-tomorrow .ace_keyword.ace_operator {color: #3E999F}.ace-tomorrow .ace_constant.ace_character,.ace-tomorrow .ace_constant.ace_language,.ace-tomorrow .ace_constant.ace_numeric,.ace-tomorrow .ace_keyword.ace_other.ace_unit,.ace-tomorrow .ace_support.ace_constant,.ace-tomorrow .ace_variable.ace_parameter {color: #F5871F}.ace-tomorrow .ace_constant.ace_other {color: #666969}.ace-tomorrow .ace_invalid {color: #FFFFFF;background-color: #C82829}.ace-tomorrow .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #8959A8}.ace-tomorrow .ace_fold {background-color: #4271AE;border-color: #4D4D4C}.ace-tomorrow .ace_entity.ace_name.ace_function,.ace-tomorrow .ace_support.ace_function,.ace-tomorrow .ace_variable {color: #4271AE}.ace-tomorrow .ace_support.ace_class,.ace-tomorrow .ace_support.ace_type {color: #C99E00}.ace-tomorrow .ace_heading,.ace-tomorrow .ace_markup.ace_heading,.ace-tomorrow .ace_string {color: #718C00}.ace-tomorrow .ace_entity.ace_name.ace_tag,.ace-tomorrow .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow .ace_meta.ace_tag,.ace-tomorrow .ace_string.ace_regexp,.ace-tomorrow .ace_variable {color: #C82829}.ace-tomorrow .ace_comment {color: #8E908C}.ace-tomorrow .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night.js b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night.js new file mode 100644 index 0000000..d144fa8 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night.js @@ -0,0 +1 @@ +ace.define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night",t.cssText=".ace-tomorrow-night .ace_gutter {background: #25282c;color: #C5C8C6}.ace-tomorrow-night .ace_print-margin {width: 1px;background: #25282c}.ace-tomorrow-night {background-color: #1D1F21;color: #C5C8C6}.ace-tomorrow-night .ace_cursor {color: #AEAFAD}.ace-tomorrow-night .ace_marker-layer .ace_selection {background: #373B41}.ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1D1F21;border-radius: 2px}.ace-tomorrow-night .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #4B4E55}.ace-tomorrow-night .ace_marker-layer .ace_active-line {background: #282A2E}.ace-tomorrow-night .ace_gutter-active-line {background-color: #282A2E}.ace-tomorrow-night .ace_marker-layer .ace_selected-word {border: 1px solid #373B41}.ace-tomorrow-night .ace_invisible {color: #4B4E55}.ace-tomorrow-night .ace_keyword,.ace-tomorrow-night .ace_meta,.ace-tomorrow-night .ace_storage,.ace-tomorrow-night .ace_storage.ace_type,.ace-tomorrow-night .ace_support.ace_type {color: #B294BB}.ace-tomorrow-night .ace_keyword.ace_operator {color: #8ABEB7}.ace-tomorrow-night .ace_constant.ace_character,.ace-tomorrow-night .ace_constant.ace_language,.ace-tomorrow-night .ace_constant.ace_numeric,.ace-tomorrow-night .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night .ace_support.ace_constant,.ace-tomorrow-night .ace_variable.ace_parameter {color: #DE935F}.ace-tomorrow-night .ace_constant.ace_other {color: #CED1CF}.ace-tomorrow-night .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night .ace_fold {background-color: #81A2BE;border-color: #C5C8C6}.ace-tomorrow-night .ace_entity.ace_name.ace_function,.ace-tomorrow-night .ace_support.ace_function,.ace-tomorrow-night .ace_variable {color: #81A2BE}.ace-tomorrow-night .ace_support.ace_class,.ace-tomorrow-night .ace_support.ace_type {color: #F0C674}.ace-tomorrow-night .ace_heading,.ace-tomorrow-night .ace_markup.ace_heading,.ace-tomorrow-night .ace_string {color: #B5BD68}.ace-tomorrow-night .ace_entity.ace_name.ace_tag,.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night .ace_meta.ace_tag,.ace-tomorrow-night .ace_string.ace_regexp,.ace-tomorrow-night .ace_variable {color: #CC6666}.ace-tomorrow-night .ace_comment {color: #969896}.ace-tomorrow-night .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_blue.js b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_blue.js new file mode 100644 index 0000000..8cbe316 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_blue.js @@ -0,0 +1 @@ +ace.define("ace/theme/tomorrow_night_blue",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-blue",t.cssText=".ace-tomorrow-night-blue .ace_gutter {background: #00204b;color: #7388b5}.ace-tomorrow-night-blue .ace_print-margin {width: 1px;background: #00204b}.ace-tomorrow-night-blue {background-color: #002451;color: #FFFFFF}.ace-tomorrow-night-blue .ace_constant.ace_other,.ace-tomorrow-night-blue .ace_cursor {color: #FFFFFF}.ace-tomorrow-night-blue .ace_marker-layer .ace_selection {background: #003F8E}.ace-tomorrow-night-blue.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002451;border-radius: 2px}.ace-tomorrow-night-blue .ace_marker-layer .ace_step {background: rgb(127, 111, 19)}.ace-tomorrow-night-blue .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404F7D}.ace-tomorrow-night-blue .ace_marker-layer .ace_active-line {background: #00346E}.ace-tomorrow-night-blue .ace_gutter-active-line {background-color: #022040}.ace-tomorrow-night-blue .ace_marker-layer .ace_selected-word {border: 1px solid #003F8E}.ace-tomorrow-night-blue .ace_invisible {color: #404F7D}.ace-tomorrow-night-blue .ace_keyword,.ace-tomorrow-night-blue .ace_meta,.ace-tomorrow-night-blue .ace_storage,.ace-tomorrow-night-blue .ace_storage.ace_type,.ace-tomorrow-night-blue .ace_support.ace_type {color: #EBBBFF}.ace-tomorrow-night-blue .ace_keyword.ace_operator {color: #99FFFF}.ace-tomorrow-night-blue .ace_constant.ace_character,.ace-tomorrow-night-blue .ace_constant.ace_language,.ace-tomorrow-night-blue .ace_constant.ace_numeric,.ace-tomorrow-night-blue .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-blue .ace_support.ace_constant,.ace-tomorrow-night-blue .ace_variable.ace_parameter {color: #FFC58F}.ace-tomorrow-night-blue .ace_invalid {color: #FFFFFF;background-color: #F99DA5}.ace-tomorrow-night-blue .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #EBBBFF}.ace-tomorrow-night-blue .ace_fold {background-color: #BBDAFF;border-color: #FFFFFF}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_function,.ace-tomorrow-night-blue .ace_support.ace_function,.ace-tomorrow-night-blue .ace_variable {color: #BBDAFF}.ace-tomorrow-night-blue .ace_support.ace_class,.ace-tomorrow-night-blue .ace_support.ace_type {color: #FFEEAD}.ace-tomorrow-night-blue .ace_heading,.ace-tomorrow-night-blue .ace_markup.ace_heading,.ace-tomorrow-night-blue .ace_string {color: #D1F1A9}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-blue .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-blue .ace_meta.ace_tag,.ace-tomorrow-night-blue .ace_string.ace_regexp,.ace-tomorrow-night-blue .ace_variable {color: #FF9DA4}.ace-tomorrow-night-blue .ace_comment {color: #7285B7}.ace-tomorrow-night-blue .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYJDzqfwPAANXAeNsiA+ZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_bright.js b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_bright.js new file mode 100644 index 0000000..de5c78e --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_bright.js @@ -0,0 +1 @@ +ace.define("ace/theme/tomorrow_night_bright",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-bright",t.cssText=".ace-tomorrow-night-bright .ace_gutter {background: #1a1a1a;color: #DEDEDE}.ace-tomorrow-night-bright .ace_print-margin {width: 1px;background: #1a1a1a}.ace-tomorrow-night-bright {background-color: #000000;color: #DEDEDE}.ace-tomorrow-night-bright .ace_cursor {color: #9F9F9F}.ace-tomorrow-night-bright .ace_marker-layer .ace_selection {background: #424242}.ace-tomorrow-night-bright.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #000000;border-radius: 2px}.ace-tomorrow-night-bright .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night-bright .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #888888}.ace-tomorrow-night-bright .ace_marker-layer .ace_highlight {border: 1px solid rgb(110, 119, 0);border-bottom: 0;box-shadow: inset 0 -1px rgb(110, 119, 0);margin: -1px 0 0 -1px;background: rgba(255, 235, 0, 0.1);}.ace-tomorrow-night-bright .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-tomorrow-night-bright .ace_gutter-active-line {background-color: #2A2A2A}.ace-tomorrow-night-bright .ace_stack {background-color: rgb(66, 90, 44)}.ace-tomorrow-night-bright .ace_marker-layer .ace_selected-word {border: 1px solid #888888}.ace-tomorrow-night-bright .ace_invisible {color: #343434}.ace-tomorrow-night-bright .ace_keyword,.ace-tomorrow-night-bright .ace_meta,.ace-tomorrow-night-bright .ace_storage,.ace-tomorrow-night-bright .ace_storage.ace_type,.ace-tomorrow-night-bright .ace_support.ace_type {color: #C397D8}.ace-tomorrow-night-bright .ace_keyword.ace_operator {color: #70C0B1}.ace-tomorrow-night-bright .ace_constant.ace_character,.ace-tomorrow-night-bright .ace_constant.ace_language,.ace-tomorrow-night-bright .ace_constant.ace_numeric,.ace-tomorrow-night-bright .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-bright .ace_support.ace_constant,.ace-tomorrow-night-bright .ace_variable.ace_parameter {color: #E78C45}.ace-tomorrow-night-bright .ace_constant.ace_other {color: #EEEEEE}.ace-tomorrow-night-bright .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night-bright .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night-bright .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_function,.ace-tomorrow-night-bright .ace_support.ace_function,.ace-tomorrow-night-bright .ace_variable {color: #7AA6DA}.ace-tomorrow-night-bright .ace_support.ace_class,.ace-tomorrow-night-bright .ace_support.ace_type {color: #E7C547}.ace-tomorrow-night-bright .ace_heading,.ace-tomorrow-night-bright .ace_markup.ace_heading,.ace-tomorrow-night-bright .ace_string {color: #B9CA4A}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-bright .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-bright .ace_meta.ace_tag,.ace-tomorrow-night-bright .ace_string.ace_regexp,.ace-tomorrow-night-bright .ace_variable {color: #D54E53}.ace-tomorrow-night-bright .ace_comment {color: #969896}.ace-tomorrow-night-bright .ace_c9searchresults.ace_keyword {color: #C2C280;}.ace-tomorrow-night-bright .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_eighties.js b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_eighties.js new file mode 100644 index 0000000..6dea2cc --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-tomorrow_night_eighties.js @@ -0,0 +1 @@ +ace.define("ace/theme/tomorrow_night_eighties",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-eighties",t.cssText=".ace-tomorrow-night-eighties .ace_gutter {background: #272727;color: #CCC}.ace-tomorrow-night-eighties .ace_print-margin {width: 1px;background: #272727}.ace-tomorrow-night-eighties {background-color: #2D2D2D;color: #CCCCCC}.ace-tomorrow-night-eighties .ace_constant.ace_other,.ace-tomorrow-night-eighties .ace_cursor {color: #CCCCCC}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selection {background: #515151}.ace-tomorrow-night-eighties.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2D2D2D;border-radius: 2px}.ace-tomorrow-night-eighties .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #6A6A6A}.ace-tomorrow-night-bright .ace_stack {background: rgb(66, 90, 44)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_active-line {background: #393939}.ace-tomorrow-night-eighties .ace_gutter-active-line {background-color: #393939}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selected-word {border: 1px solid #515151}.ace-tomorrow-night-eighties .ace_invisible {color: #6A6A6A}.ace-tomorrow-night-eighties .ace_keyword,.ace-tomorrow-night-eighties .ace_meta,.ace-tomorrow-night-eighties .ace_storage,.ace-tomorrow-night-eighties .ace_storage.ace_type,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #CC99CC}.ace-tomorrow-night-eighties .ace_keyword.ace_operator {color: #66CCCC}.ace-tomorrow-night-eighties .ace_constant.ace_character,.ace-tomorrow-night-eighties .ace_constant.ace_language,.ace-tomorrow-night-eighties .ace_constant.ace_numeric,.ace-tomorrow-night-eighties .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-eighties .ace_support.ace_constant,.ace-tomorrow-night-eighties .ace_variable.ace_parameter {color: #F99157}.ace-tomorrow-night-eighties .ace_invalid {color: #CDCDCD;background-color: #F2777A}.ace-tomorrow-night-eighties .ace_invalid.ace_deprecated {color: #CDCDCD;background-color: #CC99CC}.ace-tomorrow-night-eighties .ace_fold {background-color: #6699CC;border-color: #CCCCCC}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function,.ace-tomorrow-night-eighties .ace_support.ace_function,.ace-tomorrow-night-eighties .ace_variable {color: #6699CC}.ace-tomorrow-night-eighties .ace_support.ace_class,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #FFCC66}.ace-tomorrow-night-eighties .ace_heading,.ace-tomorrow-night-eighties .ace_markup.ace_heading,.ace-tomorrow-night-eighties .ace_string {color: #99CC99}.ace-tomorrow-night-eighties .ace_comment {color: #999999}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-eighties .ace_meta.ace_tag,.ace-tomorrow-night-eighties .ace_variable {color: #F2777A}.ace-tomorrow-night-eighties .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ09NrYAgMjP4PAAtGAwchHMyAAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-twilight.js b/static/js/lib/ace/src-min-noconflict/theme-twilight.js new file mode 100644 index 0000000..1c5dfda --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-twilight.js @@ -0,0 +1 @@ +ace.define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-twilight",t.cssText=".ace-twilight .ace_gutter {background: #232323;color: #E2E2E2}.ace-twilight .ace_print-margin {width: 1px;background: #232323}.ace-twilight {background-color: #141414;color: #F8F8F8}.ace-twilight .ace_cursor {color: #A7A7A7}.ace-twilight .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-twilight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #141414;border-radius: 2px}.ace-twilight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-twilight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-twilight .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-twilight .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-twilight .ace_keyword,.ace-twilight .ace_meta {color: #CDA869}.ace-twilight .ace_constant,.ace-twilight .ace_constant.ace_character,.ace-twilight .ace_constant.ace_character.ace_escape,.ace-twilight .ace_constant.ace_other,.ace-twilight .ace_heading,.ace-twilight .ace_markup.ace_heading,.ace-twilight .ace_support.ace_constant {color: #CF6A4C}.ace-twilight .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-twilight .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-twilight .ace_support {color: #9B859D}.ace-twilight .ace_fold {background-color: #AC885B;border-color: #F8F8F8}.ace-twilight .ace_support.ace_function {color: #DAD085}.ace-twilight .ace_list,.ace-twilight .ace_markup.ace_list,.ace-twilight .ace_storage {color: #F9EE98}.ace-twilight .ace_entity.ace_name.ace_function,.ace-twilight .ace_meta.ace_tag,.ace-twilight .ace_variable {color: #AC885B}.ace-twilight .ace_string {color: #8F9D6A}.ace-twilight .ace_string.ace_regexp {color: #E9C062}.ace-twilight .ace_comment {font-style: italic;color: #5F5A60}.ace-twilight .ace_variable {color: #7587A6}.ace-twilight .ace_xml-pe {color: #494949}.ace-twilight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-vibrant_ink.js b/static/js/lib/ace/src-min-noconflict/theme-vibrant_ink.js new file mode 100644 index 0000000..a0aebbf --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-vibrant_ink.js @@ -0,0 +1 @@ +ace.define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-vibrant-ink",t.cssText=".ace-vibrant-ink .ace_gutter {background: #1a1a1a;color: #BEBEBE}.ace-vibrant-ink .ace_print-margin {width: 1px;background: #1a1a1a}.ace-vibrant-ink {background-color: #0F0F0F;color: #FFFFFF}.ace-vibrant-ink .ace_cursor {color: #FFFFFF}.ace-vibrant-ink .ace_marker-layer .ace_selection {background: #6699CC}.ace-vibrant-ink.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #0F0F0F;border-radius: 2px}.ace-vibrant-ink .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-vibrant-ink .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-vibrant-ink .ace_marker-layer .ace_active-line {background: #333333}.ace-vibrant-ink .ace_gutter-active-line {background-color: #333333}.ace-vibrant-ink .ace_marker-layer .ace_selected-word {border: 1px solid #6699CC}.ace-vibrant-ink .ace_invisible {color: #404040}.ace-vibrant-ink .ace_keyword,.ace-vibrant-ink .ace_meta {color: #FF6600}.ace-vibrant-ink .ace_constant,.ace-vibrant-ink .ace_constant.ace_character,.ace-vibrant-ink .ace_constant.ace_character.ace_escape,.ace-vibrant-ink .ace_constant.ace_other {color: #339999}.ace-vibrant-ink .ace_constant.ace_numeric {color: #99CC99}.ace-vibrant-ink .ace_invalid,.ace-vibrant-ink .ace_invalid.ace_deprecated {color: #CCFF33;background-color: #000000}.ace-vibrant-ink .ace_fold {background-color: #FFCC00;border-color: #FFFFFF}.ace-vibrant-ink .ace_entity.ace_name.ace_function,.ace-vibrant-ink .ace_support.ace_function,.ace-vibrant-ink .ace_variable {color: #FFCC00}.ace-vibrant-ink .ace_variable.ace_parameter {font-style: italic}.ace-vibrant-ink .ace_string {color: #66FF00}.ace-vibrant-ink .ace_string.ace_regexp {color: #44B4CC}.ace-vibrant-ink .ace_comment {color: #9933CC}.ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name {font-style: italic;color: #99CC99}.ace-vibrant-ink .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYNDTc/oPAALPAZ7hxlbYAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/theme-xcode.js b/static/js/lib/ace/src-min-noconflict/theme-xcode.js new file mode 100644 index 0000000..25e1634 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/theme-xcode.js @@ -0,0 +1 @@ +ace.define("ace/theme/xcode",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-xcode",t.cssText=".ace-xcode .ace_gutter,/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css (UUID: EE3AD170-2B7F-4DE1-B724-C75F13FE0085) */.ace-xcode .ace_gutter {background: #e8e8e8;color: #333}.ace-xcode .ace_print-margin {width: 1px;background: #e8e8e8}.ace-xcode {background-color: #FFFFFF;color: #000000}.ace-xcode .ace_cursor {color: #000000}.ace-xcode .ace_marker-layer .ace_selection {background: #B5D5FF}.ace-xcode.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-xcode .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-xcode .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-xcode .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_marker-layer .ace_selected-word {border: 1px solid #B5D5FF}.ace-xcode .ace_constant.ace_language,.ace-xcode .ace_keyword,.ace-xcode .ace_meta,.ace-xcode .ace_variable.ace_language {color: #C800A4}.ace-xcode .ace_invisible {color: #BFBFBF}.ace-xcode .ace_constant.ace_character,.ace-xcode .ace_constant.ace_other {color: #275A5E}.ace-xcode .ace_constant.ace_numeric {color: #3A00DC}.ace-xcode .ace_entity.ace_other.ace_attribute-name,.ace-xcode .ace_support.ace_constant,.ace-xcode .ace_support.ace_function {color: #450084}.ace-xcode .ace_fold {background-color: #C800A4;border-color: #000000}.ace-xcode .ace_entity.ace_name.ace_tag,.ace-xcode .ace_support.ace_class,.ace-xcode .ace_support.ace_type {color: #790EAD}.ace-xcode .ace_storage {color: #C900A4}.ace-xcode .ace_string {color: #DF0002}.ace-xcode .ace_comment {color: #008E00}.ace-xcode .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/static/js/lib/ace/src-min-noconflict/worker-coffee.js b/static/js/lib/ace/src-min-noconflict/worker-coffee.js new file mode 100644 index 0000000..b3d45a0 --- /dev/null +++ b/static/js/lib/ace/src-min-noconflict/worker-coffee.js @@ -0,0 +1 @@ +"no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){console.error("Worker "+i.stack)},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(t,n){n||(n=t,t=null);if(!n.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");n=e.normalizeModule(t,n);var r=e.require.modules[n];if(r)return r.initialized||(r.initialized=!0,r.exports=r.factory().exports),r.exports;var i=n.split("/");if(!e.require.tlns)return console.log("unable to load "+n);i[0]=e.require.tlns[i[0]]||i[0];var s=i.join("/")+".js";return e.require.id=n,importScripts(s),e.require(t,n)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id),n.length||(n=["require","exports","module"]);if(t.indexOf("text!")===0)return;var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var t=e.require("ace/lib/event_emitter").EventEmitter,n=e.require("ace/lib/oop"),r=function(){};return function(){n.implement(this,t),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(r.prototype),new r},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+tu)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowthis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=0||nt.call(f,r)>=0)&&(h=r.toUpperCase(),h==="WHEN"&&(v=this.tag(),nt.call(T,v)>=0)?h="LEADING_WHEN":h==="FOR"?this.seenFor=!0:h==="UNLESS"?h="IF":nt.call(z,h)>=0?h="UNARY":nt.call(B,h)>=0&&(h!=="INSTANCEOF"&&this.seenFor?(h="FOR"+h,this.seenFor=!1):(h="RELATION",this.value()==="!"&&(l=this.tokens.pop(),r="!"+r)))),nt.call(S,r)>=0&&(n?(h="IDENTIFIER",r=new String(r),r.reserved=!0):nt.call(j,r)>=0&&this.error('reserved word "'+r+'"')),n||(nt.call(u,r)>=0&&(r=a[r]),h=function(){switch(r){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":return"STATEMENT";default:return h}}()),p=this.token(h,r,0,i),l&&(m=[l[2].first_line,l[2].first_column],p[2].first_line=m[0],p[2].first_column=m[1]),e&&(t=s.lastIndexOf(":"),this.token(":",":",t,e.length)),s.length)):0},e.prototype.numberToken=function(){var e,t,n,r,i;if(!(n=D.exec(this.chunk)))return 0;r=n[0],/^0[BOX]/.test(r)?this.error("radix prefix '"+r+"' must be lowercase"):/E/.test(r)&&!/^0x/.test(r)?this.error("exponential notation '"+r+"' must be indicated with a lowercase 'e'"):/^0\d*[89]/.test(r)?this.error("decimal literal '"+r+"' must not be prefixed with '0'"):/^0\d+/.test(r)&&this.error("octal literal '"+r+"' must be prefixed with '0o'"),t=r.length;if(i=/^0o([0-7]+)/.exec(r))r="0x"+parseInt(i[1],8).toString(16);if(e=/^0b([01]+)/.exec(r))r="0x"+parseInt(e[1],2).toString(16);return this.token("NUMBER",r,0,t),t},e.prototype.stringToken=function(){var e,t,n,r;switch(t=this.chunk.charAt(0)){case"'":n=q.exec(this.chunk)[0];break;case'"':n=this.balancedString(this.chunk,'"')}return n?(r=this.removeNewlines(n.slice(1,-1)),t==='"'&&0=0)?0:(n=H.exec(this.chunk))?(o=n,n=o[0],i=o[1],e=o[2],i.slice(0,2)==="/*"&&this.error("regular expressions cannot begin with `*`"),i==="//"&&(i="/(?:)/"),this.token("REGEX",""+i+e,0,n.length),n.length):0)},e.prototype.heregexToken=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m;i=e[0],t=e[1],n=e[2];if(0>t.indexOf("#{"))return u=this.escapeLines(t.replace(g,"$1$2").replace(/\//g,"\\/"),!0),u.match(/^\*/)&&this.error("regular expressions cannot begin with `*`"),this.token("REGEX","/"+(u||"(?:)")+"/"+n,0,i.length),i.length;this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),l=[],d=this.interpolateString(t,{regex:!0});for(h=0,p=d.length;hthis.indent){if(r)return this.indebt=i-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=i,t.length;e=i-this.indent+this.outdebt,this.token("INDENT",e,t.length-i,i),this.indents.push(e),this.ends.push("OUTDENT"),this.outdebt=this.indebt=0}else i0)i=this.indents.length-1,this.indents[i]===void 0?e=0:this.indents[i]===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.indents[i]=0)&&this.error('reserved word "'+this.value()+"\" can't be assigned");if((u=t[1])==="||"||u==="&&")return t[0]="COMPOUND_ASSIGN",t[1]+="=",r.length}if(r===";")this.seenFor=!1,n="TERMINATOR";else if(nt.call(L,r)>=0)n="MATH";else if(nt.call(c,r)>=0)n="COMPARE";else if(nt.call(h,r)>=0)n="COMPOUND_ASSIGN";else if(nt.call(z,r)>=0)n="UNARY";else if(nt.call(I,r)>=0)n="SHIFT";else if(nt.call(C,r)>=0||r==="?"&&(t!=null?t.spaced:void 0))n="LOGIC";else if(t&&!t.spaced)if(r==="("&&(a=t[0],nt.call(s,a)>=0))t[0]==="?"&&(t[0]="FUNC_EXIST"),n="CALL_START";else if(r==="["&&(f=t[0],nt.call(b,f)>=0)){n="INDEX_START";switch(t[0]){case"?":t[0]="INDEX_SOAK"}}switch(r){case"(":case"{":case"[":this.ends.push(w[r]);break;case")":case"}":case"]":this.pair(r)}return this.token(n,r),r.length},e.prototype.sanitizeHeredoc=function(e,t){var n,r,i,s,o;i=t.indent,r=t.herecomment;if(r){d.test(e)&&this.error('block comment cannot contain "*/", starting');if(e.indexOf("\n")<0)return e}else while(s=v.exec(e)){n=s[1];if(i===null||0<(o=n.length)&&of;r=1<=f?++a:--a){if(n){--n;continue}switch(i=e.charAt(r)){case"\\":++n;continue;case t:u.pop();if(!u.length)return e.slice(0,+r+1||9e9);t=u[u.length-1];continue}t!=="}"||i!=='"'&&i!=="'"?t==="}"&&i==="/"&&(s=m.exec(e.slice(r))||H.exec(e.slice(r)))?n+=s[0].length-1:t==="}"&&i==="{"?u.push(t="}"):t==='"'&&o==="#"&&i==="{"&&u.push(t="}"):u.push(t=i),o=i}return this.error("missing "+u.pop()+", starting")},e.prototype.interpolateString=function(t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O;n==null&&(n={}),s=n.heredoc,b=n.regex,v=n.offsetInChunk,E=n.strOffset,c=n.lexedLength,v=v||0,E=E||0,c=c||t.length,T=[],m=0,o=-1;while(l=t.charAt(o+=1)){if(l==="\\"){o+=1;continue}if(l!=="#"||t.charAt(o+1)!=="{"||!(i=this.balancedString(t.slice(o+1),"}")))continue;m1&&(d.unshift(this.makeToken("(","(",E+o+1,0)),d.push(this.makeToken(")",")",E+o+1+u.length,0))),T.push(["TOKENS",d])}o+=i.length,m=o+1}o>m&&m1)&&this.token("(","(",v,0);for(o=C=0,k=T.length;C=this.chunk.length?i=this.chunk:i=this.chunk.slice(0,+(e-1)+1||9e9),n=V(i,"\n"),t=this.chunkColumn,n>0?(r=i.split("\n"),t=K(r).length):t+=i.length,[this.chunkLine+n,t])},e.prototype.makeToken=function(e,t,n,r){var i,s,o,u,a;return n==null&&(n=0),r==null&&(r=t.length),s={},u=this.getLineAndColumnFromChunk(n),s.first_line=u[0],s.first_column=u[1],i=Math.max(0,r-1),a=this.getLineAndColumnFromChunk(n+i),s.last_line=a[0],s.last_column=a[1],o=[e,t,s],o},e.prototype.token=function(e,t,n,r){var i;return i=this.makeToken(e,t,n,r),this.tokens.push(i),i},e.prototype.tag=function(e,t){var n;return(n=K(this.tokens,e))&&(t?n[0]=t:n[0])},e.prototype.value=function(e,t){var n;return(n=K(this.tokens,e))&&(t?n[1]=t:n[1])},e.prototype.unfinished=function(){var e;return N.test(this.chunk)||(e=this.tag())==="\\"||e==="."||e==="?."||e==="?::"||e==="UNARY"||e==="MATH"||e==="+"||e==="-"||e==="SHIFT"||e==="RELATION"||e==="COMPARE"||e==="LOGIC"||e==="THROW"||e==="EXTENDS"},e.prototype.removeNewlines=function(e){return e.replace(/^\s*\n\s*/,"").replace(/([^\\]|\\\\)\s*\n\s*$/,"$1")},e.prototype.escapeLines=function(e,t){return e=e.replace(/\\[^\S\n]*(\n|\\)\s*/g,function(e,t){return t==="\n"?"":e}),t?e.replace(A,"\\n"):e.replace(/\s*\n\s*/g," ")},e.prototype.makeString=function(e,t,n){return e?(e=e.replace(RegExp("\\\\("+t+"|\\\\)","g"),function(e,n){return n===t?n:e}),e=e.replace(RegExp(""+t,"g"),"\\$&"),t+this.escapeLines(e,n)+t):t+t},e.prototype.error=function(e,t){var n,r,i;return t==null&&(t=0),i=this.getLineAndColumnFromChunk(t),r=i[0],n=i[1],Z(e,{first_line:r,first_column:n})},e}(),x=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super"],f=["undefined","then","unless","until","loop","of","by","when"],a={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},u=function(){var e;e=[];for(J in a)e.push(J);return e}(),f=f.concat(u),j=["case","default","function","var","void","with","const","let","enum","export","import","native","__hasProp","__extends","__slice","__bind","__indexOf","implements","interface","package","private","protected","public","static","yield"],R=["arguments","eval"],S=x.concat(j).concat(R),t.RESERVED=j.concat(x).concat(f).concat(R),t.STRICT_PROSCRIBED=R,r=65279,y=/^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/,D=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,p=/^("""|''')((?:\\[\s\S]|[^\\])*?)(?:\n[^\n\S]*)?\1/,P=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?(\.|::)|\.{2,3})/,W=/^[^\n\S]+/,l=/^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,o=/^[-=]>/,O=/^(?:\n[^\n\S]*)+/,q=/^'[^\\']*(?:\\[\s\S][^\\']*)*'/,E=/^`[^\\`]*(?:\\.[^\\`]*)*`/,H=/^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/,m=/^\/{3}((?:\\?[\s\S])+?)\/{3}([imgy]{0,4})(?!\w)/,g=/((?:\\\\)+)|\\(\s|\/)|\s+(?:#.*)?/g,A=/\n/g,v=/\n+([^\n\S]*)/g,d=/\*\//,N=/^\s*(?:,|\??\.(?![.\d])|::)/,U=/\s+$/,h=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|="],z=["!","~","NEW","TYPEOF","DELETE","DO"],C=["&&","||","&","|","^"],I=["<<",">>",">>>"],c=["==","!=","<",">","<=",">="],L=["*","/","%"],B=["IN","OF","INSTANCEOF"],i=["TRUE","FALSE"],M=["NUMBER","REGEX","BOOL","NULL","UNDEFINED","++","--"],_=M.concat(")","}","THIS","IDENTIFIER","STRING","]"),s=["IDENTIFIER","STRING","REGEX",")","]","}","?","::","@","THIS","SUPER"],b=s.concat("NUMBER","BOOL","NULL","UNDEFINED"),T=["INDENT","OUTDENT","TERMINATOR"]}),ace.define("ace/mode/coffee/rewriter",["require","exports","module"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S=[].indexOf||function(e){for(var t=0,n=this.length;t=0)r+=1;else if(f=i[0],S.call(o,f)>=0)r-=1;e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,r,i;i=this.tokens;for(e=n=0,r=i.length;ns;n=0<=s?++i:--i){while(this.tag(t+n+e)==="HERECOMMENT")e+=2;if(r[n]==null)continue;typeof r[n]=="string"&&(r[n]=[r[n]]);if(o=this.tag(t+n+e),S.call(r[n],o)<0)return!1}return!0},e.prototype.looksObjectish=function(e){return this.matchTags(e,"@",null,":")||this.matchTags(e,null,":")},e.prototype.findTagsBackwards=function(e,t){var n,r,i,s,a,f,l;n=[];while(e>=0&&(n.length||(s=this.tag(e),S.call(t,s)<0)&&((a=this.tag(e),S.call(u,a)<0)||this.tokens[e].generated)&&(f=this.tag(e),S.call(p,f)<0)))(r=this.tag(e),S.call(o,r)>=0)&&n.push(this.tag(e)),(i=this.tag(e),S.call(u,i)>=0)&&n.length&&n.pop(),e-=1;return l=this.tag(e),S.call(t,l)>=0},e.prototype.addImplicitBracesAndParens=function(){var e;return e=[],this.scanTokens(function(t,n,r){var s,h,d,v,g,y,b,w,E,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R;H=t[0],T=(N=n>0?r[n-1]:[])[0],E=(n"&&T!=="->"&&T!=="["&&T!=="("&&T!==","&&T!=="{"&&T!=="TRY"&&T!=="ELSE"&&T!=="=")while(y())h();return b()&&e.pop(),e.push([H,n]),v(1)}if(S.call(u,H)>=0)return e.push([H,n]),v(1);if(S.call(o,H)>=0){while(g())y()?h():w()?d():e.pop();e.pop()}if((S.call(l,H)>=0&&t.spaced&&!t.stringEnd||H==="?"&&n>0&&!r[n-1].spaced)&&(S.call(a,E)>=0||S.call(c,E)>=0&&((B=r[n+1])!=null?!B.spaced:!void 0)&&((j=r[n+1])!=null?!j.newLine:!void 0)))return H==="?"&&(H=t[0]="FUNC_EXIST"),_(n+1),v(2);if(S.call(l,H)>=0&&this.matchTags(n+1,"INDENT",null,":")&&!this.findTagsBackwards(n,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return _(n+1),e.push(["INDENT",n+2]),v(3);if(H===":"){this.tag(n-2)==="@"?C=n-2:C=n-1;while(this.tag(C-2)==="HERECOMMENT")C-=2;P=C===0||(F=this.tag(C-1),S.call(p,F)>=0)||r[C-1].newLine;if(O()){I=O(),A=I[0],L=I[1];if((A==="{"||A==="INDENT"&&this.tag(L-1)==="{")&&(P||this.tag(C-1)===","||this.tag(C-1)==="{"))return v(1)}return D(C,!!P),v(2)}if(y()&&S.call(i,H)>=0){if(T==="OUTDENT")return h(),v(1);if(N.newLine)return s(),v(1)}w()&&S.call(p,H)>=0&&(O()[2].sameLine=!1);if(S.call(f,H)>=0)while(g()){q=O(),A=q[0],L=q[1],R=q[2],k=R.sameLine,P=R.startsLine;if(y()&&T!==",")h();else if(w()&&k&&!P)d();else{if(!w()||H!=="TERMINATOR"||T===","||!!P&&!!this.looksObjectish(n+1))break;d()}}if(H===","&&!this.looksObjectish(n+1)&&w()&&(E!=="TERMINATOR"||!this.looksObjectish(n+2))){x=E==="OUTDENT"?1:0;while(w())d(n+x)}return v(1)}return e.push(["CONTROL",n,{ours:!0}]),v(1)})},e.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(e,t,n){var r,i,s,o,u,a;return e[2]?1:!e.generated&&!e.explicit?1:(e[0]==="{"&&(s=(u=n[t+1])!=null?u[2]:void 0)?(i=s.first_line,r=s.first_column):(o=(a=n[t-1])!=null?a[2]:void 0)?(i=o.last_line,r=o.last_column):i=r=0,e[2]={first_line:i,first_column:r,last_line:i,last_column:r},1)})},e.prototype.normalizeLines=function(){var e,t,n,r,o;return o=n=r=null,t=function(e,t){var n,r,u,a;return e[1]!==";"&&(n=e[0],S.call(d,n)>=0)&&!(e[0]==="TERMINATOR"&&(r=this.tag(t+1),S.call(s,r)>=0))&&(e[0]!=="ELSE"||o==="THEN")&&((u=e[0])!=="CATCH"&&u!=="FINALLY"||o!=="->"&&o!=="=>")||(a=e[0],S.call(i,a)>=0)&&this.tokens[t-1].newLine},e=function(e,t){return this.tokens.splice(this.tag(t-1)===","?t-1:t,0,r)},this.scanTokens(function(i,u,a){var f,l,c,h,p,d;l=i[0];if(l==="TERMINATOR"){if(this.tag(u+1)==="ELSE"&&this.tag(u-1)!=="OUTDENT")return a.splice.apply(a,[u,1].concat(x.call(this.indentation()))),1;if(h=this.tag(u+1),S.call(s,h)>=0)return a.splice(u,1),0}if(l==="CATCH")for(f=c=1;c<=2;f=++c){if((p=this.tag(u+f))!=="OUTDENT"&&p!=="TERMINATOR"&&p!=="FINALLY")continue;return a.splice.apply(a,[u+f,0].concat(x.call(this.indentation()))),2+f}return S.call(v,l)>=0&&this.tag(u+1)!=="INDENT"&&(l!=="ELSE"||this.tag(u+1)!=="IF")?(o=l,d=this.indentation(!0),n=d[0],r=d[1],o==="THEN"&&(n.fromThen=!0),a.splice(u+1,0,n),this.detectEnd(u+2,t,e),l==="THEN"&&a.splice(u,1),1):1})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n,r;return r=e[0],n=this.tokens[t-1][0],r==="TERMINATOR"||r==="INDENT"&&S.call(v,n)<0},e=function(e,t){if(e[0]!=="INDENT"||e.generated&&!e.fromThen)return n[0]="POST_"+n[0]},this.scanTokens(function(r,i){return r[0]!=="IF"?1:(n=r,this.detectEnd(i+1,t,e),1)})},e.prototype.indentation=function(e){var t,n;return e==null&&(e=!1),t=["INDENT",2],n=["OUTDENT",2],e&&(t.generated=n.generated=!0),e||(t.explicit=n.explicit=!0),[t,n]},e.prototype.generate=m,e.prototype.tag=function(e){var t;return(t=this.tokens[e])!=null?t[0]:void 0},e}(),r=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"]],t.INVERSES=h={},u=[],o=[];for(b=0,w=r.length;b","=>","[","(","{","--","++"],c=["+","-"],f=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],v=["ELSE","->","=>","TRY","FINALLY","THEN"],d=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],p=["TERMINATOR","INDENT","OUTDENT"],i=[".","?.","::","?::"]}),ace.define("ace/mode/coffee/helpers",["require","exports","module"],function(e,t,n){var r,i,s,o,u,a,f;t.starts=function(e,t,n){return t===e.substr(n,t.length)},t.ends=function(e,t,n){var r;return r=t.length,t===e.substr(e.length-r-(n||0),r)},t.repeat=u=function(e,t){var n;n="";while(t>0)t&1&&(n+=e),t>>>=1,e+=e;return n},t.compact=function(e){var t,n,r,i;i=[];for(n=0,r=e.length;n=0?(r=e.split("."),r.pop(),r[r.length-1]==="coffee"&&r.length>1&&r.pop(),r.join(".")):e},t.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md)$/.test(e)},t.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},t.throwSyntaxError=function(e,t){var n;throw t.last_line==null&&(t.last_line=t.first_line),t.last_column==null&&(t.last_column=t.first_column),n=new SyntaxError(e),n.location=t,n.toString=a,n.stack=n.toString(),n},t.updateSyntaxError=function(e,t,n){return e.toString===a&&(e.code||(e.code=t),e.filename||(e.filename=n),e.stack=e.toString()),e},a=function(){var e,t,n,r,i,s,o,a,f,l,c,h,p;if(!this.code||!this.location)return Error.prototype.toString.call(this);h=this.location,o=h.first_line,s=h.first_column,f=h.last_line,a=h.last_column,f==null&&(f=o),a==null&&(a=s),i=this.filename||"[stdin]",e=this.code.split("\n")[o],c=s,r=o===f?a+1:e.length,l=u(" ",c)+u("^",r-c),typeof process!="undefined"&&process!==null&&(n=process.stdout.isTTY&&!process.env.NODE_DISABLE_COLORS);if((p=this.colorful)!=null?p:n)t=function(e){return""+e+""},e=e.slice(0,c)+t(e.slice(c,r))+e.slice(r),l=t(l);return""+i+":"+(o+1)+":"+(s+1)+": error: "+this.message+"\n"+e+"\n"+l}}),ace.define("ace/mode/coffee/parser",["require","exports","module"],function(e,t,n){function r(){this.yy={}}var i={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,Comment:10,STATEMENT:11,Value:12,Invocation:13,Code:14,Operation:15,Assign:16,If:17,Try:18,While:19,For:20,Switch:21,Class:22,Throw:23,Block:24,INDENT:25,OUTDENT:26,Identifier:27,IDENTIFIER:28,AlphaNumeric:29,NUMBER:30,STRING:31,Literal:32,JS:33,REGEX:34,DEBUGGER:35,UNDEFINED:36,NULL:37,BOOL:38,Assignable:39,"=":40,AssignObj:41,ObjAssignable:42,":":43,ThisProperty:44,RETURN:45,HERECOMMENT:46,PARAM_START:47,ParamList:48,PARAM_END:49,FuncGlyph:50,"->":51,"=>":52,OptComma:53,",":54,Param:55,ParamVar:56,"...":57,Array:58,Object:59,Splat:60,SimpleAssignable:61,Accessor:62,Parenthetical:63,Range:64,This:65,".":66,"?.":67,"::":68,"?::":69,Index:70,INDEX_START:71,IndexValue:72,INDEX_END:73,INDEX_SOAK:74,Slice:75,"{":76,AssignList:77,"}":78,CLASS:79,EXTENDS:80,OptFuncExist:81,Arguments:82,SUPER:83,FUNC_EXIST:84,CALL_START:85,CALL_END:86,ArgList:87,THIS:88,"@":89,"[":90,"]":91,RangeDots:92,"..":93,Arg:94,SimpleArgs:95,TRY:96,Catch:97,FINALLY:98,CATCH:99,THROW:100,"(":101,")":102,WhileSource:103,WHILE:104,WHEN:105,UNTIL:106,Loop:107,LOOP:108,ForBody:109,FOR:110,ForStart:111,ForSource:112,ForVariables:113,OWN:114,ForValue:115,FORIN:116,FOROF:117,BY:118,SWITCH:119,Whens:120,ELSE:121,When:122,LEADING_WHEN:123,IfBlock:124,IF:125,POST_IF:126,UNARY:127,"-":128,"+":129,"--":130,"++":131,"?":132,MATH:133,SHIFT:134,COMPARE:135,LOGIC:136,RELATION:137,COMPOUND_ASSIGN:138,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",11:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",31:"STRING",33:"JS",34:"REGEX",35:"DEBUGGER",36:"UNDEFINED",37:"NULL",38:"BOOL",40:"=",43:":",45:"RETURN",46:"HERECOMMENT",47:"PARAM_START",49:"PARAM_END",51:"->",52:"=>",54:",",57:"...",66:".",67:"?.",68:"::",69:"?::",71:"INDEX_START",73:"INDEX_END",74:"INDEX_SOAK",76:"{",78:"}",79:"CLASS",80:"EXTENDS",83:"SUPER",84:"FUNC_EXIST",85:"CALL_START",86:"CALL_END",88:"THIS",89:"@",90:"[",91:"]",93:"..",96:"TRY",98:"FINALLY",99:"CATCH",100:"THROW",101:"(",102:")",104:"WHILE",105:"WHEN",106:"UNTIL",108:"LOOP",110:"FOR",114:"OWN",116:"FORIN",117:"FOROF",118:"BY",119:"SWITCH",121:"ELSE",123:"LEADING_WHEN",125:"IF",126:"POST_IF",127:"UNARY",128:"-",129:"+",130:"--",131:"++",132:"?",133:"MATH",134:"SHIFT",135:"COMPARE",136:"LOGIC",137:"RELATION",138:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[24,2],[24,3],[27,1],[29,1],[29,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[16,3],[16,4],[16,5],[41,1],[41,3],[41,5],[41,1],[42,1],[42,1],[42,1],[9,2],[9,1],[10,1],[14,5],[14,2],[50,1],[50,1],[53,0],[53,1],[48,0],[48,1],[48,3],[48,4],[48,6],[55,1],[55,2],[55,3],[56,1],[56,1],[56,1],[56,1],[60,2],[61,1],[61,2],[61,2],[61,1],[39,1],[39,1],[39,1],[12,1],[12,1],[12,1],[12,1],[12,1],[62,2],[62,2],[62,2],[62,2],[62,1],[62,1],[70,3],[70,2],[72,1],[72,1],[59,4],[77,0],[77,1],[77,3],[77,4],[77,6],[22,1],[22,2],[22,3],[22,4],[22,2],[22,3],[22,4],[22,5],[13,3],[13,3],[13,1],[13,2],[81,0],[81,1],[82,2],[82,4],[65,1],[65,1],[44,2],[58,2],[58,4],[92,1],[92,1],[64,5],[75,3],[75,2],[75,2],[75,1],[87,1],[87,3],[87,4],[87,4],[87,6],[94,1],[94,1],[95,1],[95,3],[18,2],[18,3],[18,4],[18,5],[97,3],[97,3],[97,2],[23,2],[63,3],[63,5],[103,2],[103,4],[103,2],[103,4],[19,2],[19,2],[19,2],[19,1],[107,2],[107,2],[20,2],[20,2],[20,2],[109,2],[109,2],[111,2],[111,3],[115,1],[115,1],[115,1],[115,1],[113,1],[113,3],[112,2],[112,2],[112,4],[112,4],[112,4],[112,6],[112,6],[21,5],[21,7],[21,4],[21,6],[120,1],[120,2],[122,3],[122,4],[124,3],[124,5],[17,1],[17,3],[17,3],[17,3],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,5],[15,4],[15,3]],performAction:function(e,t,n,r,i,s,o){var u=s.length-1;switch(i){case 1:return this.$=r.addLocationDataFn(o[u],o[u])(new r.Block);case 2:return this.$=s[u];case 3:this.$=r.addLocationDataFn(o[u],o[u])(r.Block.wrap([s[u]]));break;case 4:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].push(s[u]));break;case 5:this.$=s[u-1];break;case 6:this.$=s[u];break;case 7:this.$=s[u];break;case 8:this.$=s[u];break;case 9:this.$=s[u];break;case 10:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 11:this.$=s[u];break;case 12:this.$=s[u];break;case 13:this.$=s[u];break;case 14:this.$=s[u];break;case 15:this.$=s[u];break;case 16:this.$=s[u];break;case 17:this.$=s[u];break;case 18:this.$=s[u];break;case 19:this.$=s[u];break;case 20:this.$=s[u];break;case 21:this.$=s[u];break;case 22:this.$=s[u];break;case 23:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Block);break;case 24:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-1]);break;case 25:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 26:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 27:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 28:this.$=s[u];break;case 29:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 30:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 31:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 32:this.$=r.addLocationDataFn(o[u],o[u])(new r.Undefined);break;case 33:this.$=r.addLocationDataFn(o[u],o[u])(new r.Null);break;case 34:this.$=r.addLocationDataFn(o[u],o[u])(new r.Bool(s[u]));break;case 35:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(s[u-2],s[u]));break;case 36:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Assign(s[u-3],s[u]));break;case 37:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(s[u-4],s[u-1]));break;case 38:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 39:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(r.addLocationDataFn(o[u-2])(new r.Value(s[u-2])),s[u],"object"));break;case 40:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(r.addLocationDataFn(o[u-4])(new r.Value(s[u-4])),s[u-1],"object"));break;case 41:this.$=s[u];break;case 42:this.$=s[u];break;case 43:this.$=s[u];break;case 44:this.$=s[u];break;case 45:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Return(s[u]));break;case 46:this.$=r.addLocationDataFn(o[u],o[u])(new r.Return);break;case 47:this.$=r.addLocationDataFn(o[u],o[u])(new r.Comment(s[u]));break;case 48:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Code(s[u-3],s[u],s[u-1]));break;case 49:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Code([],s[u],s[u-1]));break;case 50:this.$=r.addLocationDataFn(o[u],o[u])("func");break;case 51:this.$=r.addLocationDataFn(o[u],o[u])("boundfunc");break;case 52:this.$=s[u];break;case 53:this.$=s[u];break;case 54:this.$=r.addLocationDataFn(o[u],o[u])([]);break;case 55:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 56:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].concat(s[u]));break;case 57:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-3].concat(s[u]));break;case 58:this.$=r.addLocationDataFn(o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 59:this.$=r.addLocationDataFn(o[u],o[u])(new r.Param(s[u]));break;case 60:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Param(s[u-1],null,!0));break;case 61:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Param(s[u-2],s[u]));break;case 62:this.$=s[u];break;case 63:this.$=s[u];break;case 64:this.$=s[u];break;case 65:this.$=s[u];break;case 66:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Splat(s[u-1]));break;case 67:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 68:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].add(s[u]));break;case 69:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Value(s[u-1],[].concat(s[u])));break;case 70:this.$=s[u];break;case 71:this.$=s[u];break;case 72:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 73:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 74:this.$=s[u];break;case 75:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 76:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 77:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 78:this.$=s[u];break;case 79:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Access(s[u]));break;case 80:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Access(s[u],"soak"));break;case 81:this.$=r.addLocationDataFn(o[u-1],o[u])([r.addLocationDataFn(o[u-1])(new r.Access(new r.Literal("prototype"))),r.addLocationDataFn(o[u])(new r.Access(s[u]))]);break;case 82:this.$=r.addLocationDataFn(o[u-1],o[u])([r.addLocationDataFn(o[u-1])(new r.Access(new r.Literal("prototype"),"soak")),r.addLocationDataFn(o[u])(new r.Access(s[u]))]);break;case 83:this.$=r.addLocationDataFn(o[u],o[u])(new r.Access(new r.Literal("prototype")));break;case 84:this.$=s[u];break;case 85:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-1]);break;case 86:this.$=r.addLocationDataFn(o[u-1],o[u])(r.extend(s[u],{soak:!0}));break;case 87:this.$=r.addLocationDataFn(o[u],o[u])(new r.Index(s[u]));break;case 88:this.$=r.addLocationDataFn(o[u],o[u])(new r.Slice(s[u]));break;case 89:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Obj(s[u-2],s[u-3].generated));break;case 90:this.$=r.addLocationDataFn(o[u],o[u])([]);break;case 91:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 92:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].concat(s[u]));break;case 93:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-3].concat(s[u]));break;case 94:this.$=r.addLocationDataFn(o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 95:this.$=r.addLocationDataFn(o[u],o[u])(new r.Class);break;case 96:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Class(null,null,s[u]));break;case 97:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Class(null,s[u]));break;case 98:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Class(null,s[u-1],s[u]));break;case 99:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Class(s[u]));break;case 100:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Class(s[u-1],null,s[u]));break;case 101:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Class(s[u-2],s[u]));break;case 102:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Class(s[u-3],s[u-1],s[u]));break;case 103:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Call(s[u-2],s[u],s[u-1]));break;case 104:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Call(s[u-2],s[u],s[u-1]));break;case 105:this.$=r.addLocationDataFn(o[u],o[u])(new r.Call("super",[new r.Splat(new r.Literal("arguments"))]));break;case 106:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Call("super",s[u]));break;case 107:this.$=r.addLocationDataFn(o[u],o[u])(!1);break;case 108:this.$=r.addLocationDataFn(o[u],o[u])(!0);break;case 109:this.$=r.addLocationDataFn(o[u-1],o[u])([]);break;case 110:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-2]);break;case 111:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(new r.Literal("this")));break;case 112:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(new r.Literal("this")));break;case 113:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Value(r.addLocationDataFn(o[u-1])(new r.Literal("this")),[r.addLocationDataFn(o[u])(new r.Access(s[u]))],"this"));break;case 114:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Arr([]));break;case 115:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Arr(s[u-2]));break;case 116:this.$=r.addLocationDataFn(o[u],o[u])("inclusive");break;case 117:this.$=r.addLocationDataFn(o[u],o[u])("exclusive");break;case 118:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Range(s[u-3],s[u-1],s[u-2]));break;case 119:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Range(s[u-2],s[u],s[u-1]));break;case 120:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Range(s[u-1],null,s[u]));break;case 121:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Range(null,s[u],s[u-1]));break;case 122:this.$=r.addLocationDataFn(o[u],o[u])(new r.Range(null,null,s[u]));break;case 123:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 124:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].concat(s[u]));break;case 125:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-3].concat(s[u]));break;case 126:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-2]);break;case 127:this.$=r.addLocationDataFn(o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 128:this.$=s[u];break;case 129:this.$=s[u];break;case 130:this.$=s[u];break;case 131:this.$=r.addLocationDataFn(o[u-2],o[u])([].concat(s[u-2],s[u]));break;case 132:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Try(s[u]));break;case 133:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Try(s[u-1],s[u][0],s[u][1]));break;case 134:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Try(s[u-2],null,null,s[u]));break;case 135:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Try(s[u-3],s[u-2][0],s[u-2][1],s[u]));break;case 136:this.$=r.addLocationDataFn(o[u-2],o[u])([s[u-1],s[u]]);break;case 137:this.$=r.addLocationDataFn(o[u-2],o[u])([r.addLocationDataFn(o[u-1])(new r.Value(s[u-1])),s[u]]);break;case 138:this.$=r.addLocationDataFn(o[u-1],o[u])([null,s[u]]);break;case 139:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Throw(s[u]));break;case 140:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Parens(s[u-1]));break;case 141:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Parens(s[u-2]));break;case 142:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.While(s[u]));break;case 143:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.While(s[u-2],{guard:s[u]}));break;case 144:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.While(s[u],{invert:!0}));break;case 145:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.While(s[u-2],{invert:!0,guard:s[u]}));break;case 146:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].addBody(s[u]));break;case 147:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u].addBody(r.addLocationDataFn(o[u-1])(r.Block.wrap([s[u-1]]))));break;case 148:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u].addBody(r.addLocationDataFn(o[u-1])(r.Block.wrap([s[u-1]]))));break;case 149:this.$=r.addLocationDataFn(o[u],o[u])(s[u]);break;case 150:this.$=r.addLocationDataFn(o[u-1],o[u])((new r.While(r.addLocationDataFn(o[u-1])(new r.Literal("true")))).addBody(s[u]));break;case 151:this.$=r.addLocationDataFn(o[u-1],o[u])((new r.While(r.addLocationDataFn(o[u-1])(new r.Literal("true")))).addBody(r.addLocationDataFn(o[u])(r.Block.wrap([s[u]]))));break;case 152:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u-1],s[u]));break;case 153:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u-1],s[u]));break;case 154:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u],s[u-1]));break;case 155:this.$=r.addLocationDataFn(o[u-1],o[u])({source:r.addLocationDataFn(o[u])(new r.Value(s[u]))});break;case 156:this.$=r.addLocationDataFn(o[u-1],o[u])(function(){return s[u].own=s[u-1].own,s[u].name=s[u-1][0],s[u].index=s[u-1][1],s[u]}());break;case 157:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u]);break;case 158:this.$=r.addLocationDataFn(o[u-2],o[u])(function(){return s[u].own=!0,s[u]}());break;case 159:this.$=s[u];break;case 160:this.$=s[u];break;case 161:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 162:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 163:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 164:this.$=r.addLocationDataFn(o[u-2],o[u])([s[u-2],s[u]]);break;case 165:this.$=r.addLocationDataFn(o[u-1],o[u])({source:s[u]});break;case 166:this.$=r.addLocationDataFn(o[u-1],o[u])({source:s[u],object:!0});break;case 167:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],guard:s[u]});break;case 168:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],guard:s[u],object:!0});break;case 169:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],step:s[u]});break;case 170:this.$=r.addLocationDataFn(o[u-5],o[u])({source:s[u-4],guard:s[u-2],step:s[u]});break;case 171:this.$=r.addLocationDataFn(o[u-5],o[u])({source:s[u-4],step:s[u-2],guard:s[u]});break;case 172:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Switch(s[u-3],s[u-1]));break;case 173:this.$=r.addLocationDataFn(o[u-6],o[u])(new r.Switch(s[u-5],s[u-3],s[u-1]));break;case 174:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Switch(null,s[u-1]));break;case 175:this.$=r.addLocationDataFn(o[u-5],o[u])(new r.Switch(null,s[u-3],s[u-1]));break;case 176:this.$=s[u];break;case 177:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].concat(s[u]));break;case 178:this.$=r.addLocationDataFn(o[u-2],o[u])([[s[u-1],s[u]]]);break;case 179:this.$=r.addLocationDataFn(o[u-3],o[u])([[s[u-2],s[u-1]]]);break;case 180:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}));break;case 181:this.$=r.addLocationDataFn(o[u-4],o[u])(s[u-4].addElse(r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}))));break;case 182:this.$=s[u];break;case 183:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].addElse(s[u]));break;case 184:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u],r.addLocationDataFn(o[u-2])(r.Block.wrap([s[u-2]])),{type:s[u-1],statement:!0}));break;case 185:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u],r.addLocationDataFn(o[u-2])(r.Block.wrap([s[u-2]])),{type:s[u-1],statement:!0}));break;case 186:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op(s[u-1],s[u]));break;case 187:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("-",s[u]));break;case 188:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("+",s[u]));break;case 189:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("--",s[u]));break;case 190:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("++",s[u]));break;case 191:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("--",s[u-1],null,!0));break;case 192:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("++",s[u-1],null,!0));break;case 193:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Existence(s[u-1]));break;case 194:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op("+",s[u-2],s[u]));break;case 195:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op("-",s[u-2],s[u]));break;case 196:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 197:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 198:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 199:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 200:this.$=r.addLocationDataFn(o[u-2],o[u])(function(){return s[u-1].charAt(0)==="!"?(new r.Op(s[u-1].slice(1),s[u-2],s[u])).invert():new r.Op(s[u-1],s[u-2],s[u])}());break;case 201:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(s[u-2],s[u],s[u-1]));break;case 202:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(s[u-4],s[u-1],s[u-3]));break;case 203:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Assign(s[u-3],s[u],s[u-2]));break;case 204:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Extends(s[u-2],s[u]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[3]},{1:[2,2],6:[1,72]},{1:[2,3],6:[2,3],26:[2,3],102:[2,3]},{1:[2,6],6:[2,6],26:[2,6],102:[2,6],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,7],6:[2,7],26:[2,7],102:[2,7],103:85,104:[1,63],106:[1,64],109:86,110:[1,66],111:67,126:[1,84]},{1:[2,11],6:[2,11],25:[2,11],26:[2,11],49:[2,11],54:[2,11],57:[2,11],62:88,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],73:[2,11],74:[1,96],78:[2,11],81:87,84:[1,89],85:[2,107],86:[2,11],91:[2,11],93:[2,11],102:[2,11],104:[2,11],105:[2,11],106:[2,11],110:[2,11],118:[2,11],126:[2,11],128:[2,11],129:[2,11],132:[2,11],133:[2,11],134:[2,11],135:[2,11],136:[2,11],137:[2,11]},{1:[2,12],6:[2,12],25:[2,12],26:[2,12],49:[2,12],54:[2,12],57:[2,12],62:98,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],73:[2,12],74:[1,96],78:[2,12],81:97,84:[1,89],85:[2,107],86:[2,12],91:[2,12],93:[2,12],102:[2,12],104:[2,12],105:[2,12],106:[2,12],110:[2,12],118:[2,12],126:[2,12],128:[2,12],129:[2,12],132:[2,12],133:[2,12],134:[2,12],135:[2,12],136:[2,12],137:[2,12]},{1:[2,13],6:[2,13],25:[2,13],26:[2,13],49:[2,13],54:[2,13],57:[2,13],73:[2,13],78:[2,13],86:[2,13],91:[2,13],93:[2,13],102:[2,13],104:[2,13],105:[2,13],106:[2,13],110:[2,13],118:[2,13],126:[2,13],128:[2,13],129:[2,13],132:[2,13],133:[2,13],134:[2,13],135:[2,13],136:[2,13],137:[2,13]},{1:[2,14],6:[2,14],25:[2,14],26:[2,14],49:[2,14],54:[2,14],57:[2,14],73:[2,14],78:[2,14],86:[2,14],91:[2,14],93:[2,14],102:[2,14],104:[2,14],105:[2,14],106:[2,14],110:[2,14],118:[2,14],126:[2,14],128:[2,14],129:[2,14],132:[2,14],133:[2,14],134:[2,14],135:[2,14],136:[2,14],137:[2,14]},{1:[2,15],6:[2,15],25:[2,15],26:[2,15],49:[2,15],54:[2,15],57:[2,15],73:[2,15],78:[2,15],86:[2,15],91:[2,15],93:[2,15],102:[2,15],104:[2,15],105:[2,15],106:[2,15],110:[2,15],118:[2,15],126:[2,15],128:[2,15],129:[2,15],132:[2,15],133:[2,15],134:[2,15],135:[2,15],136:[2,15],137:[2,15]},{1:[2,16],6:[2,16],25:[2,16],26:[2,16],49:[2,16],54:[2,16],57:[2,16],73:[2,16],78:[2,16],86:[2,16],91:[2,16],93:[2,16],102:[2,16],104:[2,16],105:[2,16],106:[2,16],110:[2,16],118:[2,16],126:[2,16],128:[2,16],129:[2,16],132:[2,16],133:[2,16],134:[2,16],135:[2,16],136:[2,16],137:[2,16]},{1:[2,17],6:[2,17],25:[2,17],26:[2,17],49:[2,17],54:[2,17],57:[2,17],73:[2,17],78:[2,17],86:[2,17],91:[2,17],93:[2,17],102:[2,17],104:[2,17],105:[2,17],106:[2,17],110:[2,17],118:[2,17],126:[2,17],128:[2,17],129:[2,17],132:[2,17],133:[2,17],134:[2,17],135:[2,17],136:[2,17],137:[2,17]},{1:[2,18],6:[2,18],25:[2,18],26:[2,18],49:[2,18],54:[2,18],57:[2,18],73:[2,18],78:[2,18],86:[2,18],91:[2,18],93:[2,18],102:[2,18],104:[2,18],105:[2,18],106:[2,18],110:[2,18],118:[2,18],126:[2,18],128:[2,18],129:[2,18],132:[2,18],133:[2,18],134:[2,18],135:[2,18],136:[2,18],137:[2,18]},{1:[2,19],6:[2,19],25:[2,19],26:[2,19],49:[2,19],54:[2,19],57:[2,19],73:[2,19],78:[2,19],86:[2,19],91:[2,19],93:[2,19],102:[2,19],104:[2,19],105:[2,19],106:[2,19],110:[2,19],118:[2,19],126:[2,19],128:[2,19],129:[2,19],132:[2,19],133:[2,19],134:[2,19],135:[2,19],136:[2,19],137:[2,19]},{1:[2,20],6:[2,20],25:[2,20],26:[2,20],49:[2,20],54:[2,20],57:[2,20],73:[2,20],78:[2,20],86:[2,20],91:[2,20],93:[2,20],102:[2,20],104:[2,20],105:[2,20],106:[2,20],110:[2,20],118:[2,20],126:[2,20],128:[2,20],129:[2,20],132:[2,20],133:[2,20],134:[2,20],135:[2,20],136:[2,20],137:[2,20]},{1:[2,21],6:[2,21],25:[2,21],26:[2,21],49:[2,21],54:[2,21],57:[2,21],73:[2,21],78:[2,21],86:[2,21],91:[2,21],93:[2,21],102:[2,21],104:[2,21],105:[2,21],106:[2,21],110:[2,21],118:[2,21],126:[2,21],128:[2,21],129:[2,21],132:[2,21],133:[2,21],134:[2,21],135:[2,21],136:[2,21],137:[2,21]},{1:[2,22],6:[2,22],25:[2,22],26:[2,22],49:[2,22],54:[2,22],57:[2,22],73:[2,22],78:[2,22],86:[2,22],91:[2,22],93:[2,22],102:[2,22],104:[2,22],105:[2,22],106:[2,22],110:[2,22],118:[2,22],126:[2,22],128:[2,22],129:[2,22],132:[2,22],133:[2,22],134:[2,22],135:[2,22],136:[2,22],137:[2,22]},{1:[2,8],6:[2,8],26:[2,8],102:[2,8],104:[2,8],106:[2,8],110:[2,8],126:[2,8]},{1:[2,9],6:[2,9],26:[2,9],102:[2,9],104:[2,9],106:[2,9],110:[2,9],126:[2,9]},{1:[2,10],6:[2,10],26:[2,10],102:[2,10],104:[2,10],106:[2,10],110:[2,10],126:[2,10]},{1:[2,74],6:[2,74],25:[2,74],26:[2,74],40:[1,99],49:[2,74],54:[2,74],57:[2,74],66:[2,74],67:[2,74],68:[2,74],69:[2,74],71:[2,74],73:[2,74],74:[2,74],78:[2,74],84:[2,74],85:[2,74],86:[2,74],91:[2,74],93:[2,74],102:[2,74],104:[2,74],105:[2,74],106:[2,74],110:[2,74],118:[2,74],126:[2,74],128:[2,74],129:[2,74],132:[2,74],133:[2,74],134:[2,74],135:[2,74],136:[2,74],137:[2,74]},{1:[2,75],6:[2,75],25:[2,75],26:[2,75],49:[2,75],54:[2,75],57:[2,75],66:[2,75],67:[2,75],68:[2,75],69:[2,75],71:[2,75],73:[2,75],74:[2,75],78:[2,75],84:[2,75],85:[2,75],86:[2,75],91:[2,75],93:[2,75],102:[2,75],104:[2,75],105:[2,75],106:[2,75],110:[2,75],118:[2,75],126:[2,75],128:[2,75],129:[2,75],132:[2,75],133:[2,75],134:[2,75],135:[2,75],136:[2,75],137:[2,75]},{1:[2,76],6:[2,76],25:[2,76],26:[2,76],49:[2,76],54:[2,76],57:[2,76],66:[2,76],67:[2,76],68:[2,76],69:[2,76],71:[2,76],73:[2,76],74:[2,76],78:[2,76],84:[2,76],85:[2,76],86:[2,76],91:[2,76],93:[2,76],102:[2,76],104:[2,76],105:[2,76],106:[2,76],110:[2,76],118:[2,76],126:[2,76],128:[2,76],129:[2,76],132:[2,76],133:[2,76],134:[2,76],135:[2,76],136:[2,76],137:[2,76]},{1:[2,77],6:[2,77],25:[2,77],26:[2,77],49:[2,77],54:[2,77],57:[2,77],66:[2,77],67:[2,77],68:[2,77],69:[2,77],71:[2,77],73:[2,77],74:[2,77],78:[2,77],84:[2,77],85:[2,77],86:[2,77],91:[2,77],93:[2,77],102:[2,77],104:[2,77],105:[2,77],106:[2,77],110:[2,77],118:[2,77],126:[2,77],128:[2,77],129:[2,77],132:[2,77],133:[2,77],134:[2,77],135:[2,77],136:[2,77],137:[2,77]},{1:[2,78],6:[2,78],25:[2,78],26:[2,78],49:[2,78],54:[2,78],57:[2,78],66:[2,78],67:[2,78],68:[2,78],69:[2,78],71:[2,78],73:[2,78],74:[2,78],78:[2,78],84:[2,78],85:[2,78],86:[2,78],91:[2,78],93:[2,78],102:[2,78],104:[2,78],105:[2,78],106:[2,78],110:[2,78],118:[2,78],126:[2,78],128:[2,78],129:[2,78],132:[2,78],133:[2,78],134:[2,78],135:[2,78],136:[2,78],137:[2,78]},{1:[2,105],6:[2,105],25:[2,105],26:[2,105],49:[2,105],54:[2,105],57:[2,105],66:[2,105],67:[2,105],68:[2,105],69:[2,105],71:[2,105],73:[2,105],74:[2,105],78:[2,105],82:100,84:[2,105],85:[1,101],86:[2,105],91:[2,105],93:[2,105],102:[2,105],104:[2,105],105:[2,105],106:[2,105],110:[2,105],118:[2,105],126:[2,105],128:[2,105],129:[2,105],132:[2,105],133:[2,105],134:[2,105],135:[2,105],136:[2,105],137:[2,105]},{6:[2,54],25:[2,54],27:105,28:[1,71],44:106,48:102,49:[2,54],54:[2,54],55:103,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{24:111,25:[1,112]},{7:113,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:115,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:116,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{12:118,13:119,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:120,44:61,58:45,59:46,61:117,63:23,64:24,65:25,76:[1,68],83:[1,26],88:[1,56],89:[1,57],90:[1,55],101:[1,54]},{12:118,13:119,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:120,44:61,58:45,59:46,61:121,63:23,64:24,65:25,76:[1,68],83:[1,26],88:[1,56],89:[1,57],90:[1,55],101:[1,54]},{1:[2,71],6:[2,71],25:[2,71],26:[2,71],40:[2,71],49:[2,71],54:[2,71],57:[2,71],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,71],74:[2,71],78:[2,71],80:[1,125],84:[2,71],85:[2,71],86:[2,71],91:[2,71],93:[2,71],102:[2,71],104:[2,71],105:[2,71],106:[2,71],110:[2,71],118:[2,71],126:[2,71],128:[2,71],129:[2,71],130:[1,122],131:[1,123],132:[2,71],133:[2,71],134:[2,71],135:[2,71],136:[2,71],137:[2,71],138:[1,124]},{1:[2,182],6:[2,182],25:[2,182],26:[2,182],49:[2,182],54:[2,182],57:[2,182],73:[2,182],78:[2,182],86:[2,182],91:[2,182],93:[2,182],102:[2,182],104:[2,182],105:[2,182],106:[2,182],110:[2,182],118:[2,182],121:[1,126],126:[2,182],128:[2,182],129:[2,182],132:[2,182],133:[2,182],134:[2,182],135:[2,182],136:[2,182],137:[2,182]},{24:127,25:[1,112]},{24:128,25:[1,112]},{1:[2,149],6:[2,149],25:[2,149],26:[2,149],49:[2,149],54:[2,149],57:[2,149],73:[2,149],78:[2,149],86:[2,149],91:[2,149],93:[2,149],102:[2,149],104:[2,149],105:[2,149],106:[2,149],110:[2,149],118:[2,149],126:[2,149],128:[2,149],129:[2,149],132:[2,149],133:[2,149],134:[2,149],135:[2,149],136:[2,149],137:[2,149]},{24:129,25:[1,112]},{7:130,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,131],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,95],6:[2,95],12:118,13:119,24:132,25:[1,112],26:[2,95],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:120,44:61,49:[2,95],54:[2,95],57:[2,95],58:45,59:46,61:134,63:23,64:24,65:25,73:[2,95],76:[1,68],78:[2,95],80:[1,133],83:[1,26],86:[2,95],88:[1,56],89:[1,57],90:[1,55],91:[2,95],93:[2,95],101:[1,54],102:[2,95],104:[2,95],105:[2,95],106:[2,95],110:[2,95],118:[2,95],126:[2,95],128:[2,95],129:[2,95],132:[2,95],133:[2,95],134:[2,95],135:[2,95],136:[2,95],137:[2,95]},{7:135,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,46],6:[2,46],7:136,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,26:[2,46],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],102:[2,46],103:37,104:[2,46],106:[2,46],107:38,108:[1,65],109:39,110:[2,46],111:67,119:[1,40],124:35,125:[1,62],126:[2,46],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,47],6:[2,47],25:[2,47],26:[2,47],54:[2,47],78:[2,47],102:[2,47],104:[2,47],106:[2,47],110:[2,47],126:[2,47]},{1:[2,72],6:[2,72],25:[2,72],26:[2,72],40:[2,72],49:[2,72],54:[2,72],57:[2,72],66:[2,72],67:[2,72],68:[2,72],69:[2,72],71:[2,72],73:[2,72],74:[2,72],78:[2,72],84:[2,72],85:[2,72],86:[2,72],91:[2,72],93:[2,72],102:[2,72],104:[2,72],105:[2,72],106:[2,72],110:[2,72],118:[2,72],126:[2,72],128:[2,72],129:[2,72],132:[2,72],133:[2,72],134:[2,72],135:[2,72],136:[2,72],137:[2,72]},{1:[2,73],6:[2,73],25:[2,73],26:[2,73],40:[2,73],49:[2,73],54:[2,73],57:[2,73],66:[2,73],67:[2,73],68:[2,73],69:[2,73],71:[2,73],73:[2,73],74:[2,73],78:[2,73],84:[2,73],85:[2,73],86:[2,73],91:[2,73],93:[2,73],102:[2,73],104:[2,73],105:[2,73],106:[2,73],110:[2,73],118:[2,73],126:[2,73],128:[2,73],129:[2,73],132:[2,73],133:[2,73],134:[2,73],135:[2,73],136:[2,73],137:[2,73]},{1:[2,28],6:[2,28],25:[2,28],26:[2,28],49:[2,28],54:[2,28],57:[2,28],66:[2,28],67:[2,28],68:[2,28],69:[2,28],71:[2,28],73:[2,28],74:[2,28],78:[2,28],84:[2,28],85:[2,28],86:[2,28],91:[2,28],93:[2,28],102:[2,28],104:[2,28],105:[2,28],106:[2,28],110:[2,28],118:[2,28],126:[2,28],128:[2,28],129:[2,28],132:[2,28],133:[2,28],134:[2,28],135:[2,28],136:[2,28],137:[2,28]},{1:[2,29],6:[2,29],25:[2,29],26:[2,29],49:[2,29],54:[2,29],57:[2,29],66:[2,29],67:[2,29],68:[2,29],69:[2,29],71:[2,29],73:[2,29],74:[2,29],78:[2,29],84:[2,29],85:[2,29],86:[2,29],91:[2,29],93:[2,29],102:[2,29],104:[2,29],105:[2,29],106:[2,29],110:[2,29],118:[2,29],126:[2,29],128:[2,29],129:[2,29],132:[2,29],133:[2,29],134:[2,29],135:[2,29],136:[2,29],137:[2,29]},{1:[2,30],6:[2,30],25:[2,30],26:[2,30],49:[2,30],54:[2,30],57:[2,30],66:[2,30],67:[2,30],68:[2,30],69:[2,30],71:[2,30],73:[2,30],74:[2,30],78:[2,30],84:[2,30],85:[2,30],86:[2,30],91:[2,30],93:[2,30],102:[2,30],104:[2,30],105:[2,30],106:[2,30],110:[2,30],118:[2,30],126:[2,30],128:[2,30],129:[2,30],132:[2,30],133:[2,30],134:[2,30],135:[2,30],136:[2,30],137:[2,30]},{1:[2,31],6:[2,31],25:[2,31],26:[2,31],49:[2,31],54:[2,31],57:[2,31],66:[2,31],67:[2,31],68:[2,31],69:[2,31],71:[2,31],73:[2,31],74:[2,31],78:[2,31],84:[2,31],85:[2,31],86:[2,31],91:[2,31],93:[2,31],102:[2,31],104:[2,31],105:[2,31],106:[2,31],110:[2,31],118:[2,31],126:[2,31],128:[2,31],129:[2,31],132:[2,31],133:[2,31],134:[2,31],135:[2,31],136:[2,31],137:[2,31]},{1:[2,32],6:[2,32],25:[2,32],26:[2,32],49:[2,32],54:[2,32],57:[2,32],66:[2,32],67:[2,32],68:[2,32],69:[2,32],71:[2,32],73:[2,32],74:[2,32],78:[2,32],84:[2,32],85:[2,32],86:[2,32],91:[2,32],93:[2,32],102:[2,32],104:[2,32],105:[2,32],106:[2,32],110:[2,32],118:[2,32],126:[2,32],128:[2,32],129:[2,32],132:[2,32],133:[2,32],134:[2,32],135:[2,32],136:[2,32],137:[2,32]},{1:[2,33],6:[2,33],25:[2,33],26:[2,33],49:[2,33],54:[2,33],57:[2,33],66:[2,33],67:[2,33],68:[2,33],69:[2,33],71:[2,33],73:[2,33],74:[2,33],78:[2,33],84:[2,33],85:[2,33],86:[2,33],91:[2,33],93:[2,33],102:[2,33],104:[2,33],105:[2,33],106:[2,33],110:[2,33],118:[2,33],126:[2,33],128:[2,33],129:[2,33],132:[2,33],133:[2,33],134:[2,33],135:[2,33],136:[2,33],137:[2,33]},{1:[2,34],6:[2,34],25:[2,34],26:[2,34],49:[2,34],54:[2,34],57:[2,34],66:[2,34],67:[2,34],68:[2,34],69:[2,34],71:[2,34],73:[2,34],74:[2,34],78:[2,34],84:[2,34],85:[2,34],86:[2,34],91:[2,34],93:[2,34],102:[2,34],104:[2,34],105:[2,34],106:[2,34],110:[2,34],118:[2,34],126:[2,34],128:[2,34],129:[2,34],132:[2,34],133:[2,34],134:[2,34],135:[2,34],136:[2,34],137:[2,34]},{4:137,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,138],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:139,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:141,88:[1,56],89:[1,57],90:[1,55],91:[1,140],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,111],6:[2,111],25:[2,111],26:[2,111],49:[2,111],54:[2,111],57:[2,111],66:[2,111],67:[2,111],68:[2,111],69:[2,111],71:[2,111],73:[2,111],74:[2,111],78:[2,111],84:[2,111],85:[2,111],86:[2,111],91:[2,111],93:[2,111],102:[2,111],104:[2,111],105:[2,111],106:[2,111],110:[2,111],118:[2,111],126:[2,111],128:[2,111],129:[2,111],132:[2,111],133:[2,111],134:[2,111],135:[2,111],136:[2,111],137:[2,111]},{1:[2,112],6:[2,112],25:[2,112],26:[2,112],27:145,28:[1,71],49:[2,112],54:[2,112],57:[2,112],66:[2,112],67:[2,112],68:[2,112],69:[2,112],71:[2,112],73:[2,112],74:[2,112],78:[2,112],84:[2,112],85:[2,112],86:[2,112],91:[2,112],93:[2,112],102:[2,112],104:[2,112],105:[2,112],106:[2,112],110:[2,112],118:[2,112],126:[2,112],128:[2,112],129:[2,112],132:[2,112],133:[2,112],134:[2,112],135:[2,112],136:[2,112],137:[2,112]},{25:[2,50]},{25:[2,51]},{1:[2,67],6:[2,67],25:[2,67],26:[2,67],40:[2,67],49:[2,67],54:[2,67],57:[2,67],66:[2,67],67:[2,67],68:[2,67],69:[2,67],71:[2,67],73:[2,67],74:[2,67],78:[2,67],80:[2,67],84:[2,67],85:[2,67],86:[2,67],91:[2,67],93:[2,67],102:[2,67],104:[2,67],105:[2,67],106:[2,67],110:[2,67],118:[2,67],126:[2,67],128:[2,67],129:[2,67],130:[2,67],131:[2,67],132:[2,67],133:[2,67],134:[2,67],135:[2,67],136:[2,67],137:[2,67],138:[2,67]},{1:[2,70],6:[2,70],25:[2,70],26:[2,70],40:[2,70],49:[2,70],54:[2,70],57:[2,70],66:[2,70],67:[2,70],68:[2,70],69:[2,70],71:[2,70],73:[2,70],74:[2,70],78:[2,70],80:[2,70],84:[2,70],85:[2,70],86:[2,70],91:[2,70],93:[2,70],102:[2,70],104:[2,70],105:[2,70],106:[2,70],110:[2,70],118:[2,70],126:[2,70],128:[2,70],129:[2,70],130:[2,70],131:[2,70],132:[2,70],133:[2,70],134:[2,70],135:[2,70],136:[2,70],137:[2,70],138:[2,70]},{7:146,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:147,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:148,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:150,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:149,25:[1,112],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{27:155,28:[1,71],44:156,58:157,59:158,64:151,76:[1,68],89:[1,109],90:[1,55],113:152,114:[1,153],115:154},{112:159,116:[1,160],117:[1,161]},{6:[2,90],10:165,25:[2,90],27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:163,42:164,44:168,46:[1,44],54:[2,90],77:162,78:[2,90],89:[1,109]},{1:[2,26],6:[2,26],25:[2,26],26:[2,26],43:[2,26],49:[2,26],54:[2,26],57:[2,26],66:[2,26],67:[2,26],68:[2,26],69:[2,26],71:[2,26],73:[2,26],74:[2,26],78:[2,26],84:[2,26],85:[2,26],86:[2,26],91:[2,26],93:[2,26],102:[2,26],104:[2,26],105:[2,26],106:[2,26],110:[2,26],118:[2,26],126:[2,26],128:[2,26],129:[2,26],132:[2,26],133:[2,26],134:[2,26],135:[2,26],136:[2,26],137:[2,26]},{1:[2,27],6:[2,27],25:[2,27],26:[2,27],43:[2,27],49:[2,27],54:[2,27],57:[2,27],66:[2,27],67:[2,27],68:[2,27],69:[2,27],71:[2,27],73:[2,27],74:[2,27],78:[2,27],84:[2,27],85:[2,27],86:[2,27],91:[2,27],93:[2,27],102:[2,27],104:[2,27],105:[2,27],106:[2,27],110:[2,27],118:[2,27],126:[2,27],128:[2,27],129:[2,27],132:[2,27],133:[2,27],134:[2,27],135:[2,27],136:[2,27],137:[2,27]},{1:[2,25],6:[2,25],25:[2,25],26:[2,25],40:[2,25],43:[2,25],49:[2,25],54:[2,25],57:[2,25],66:[2,25],67:[2,25],68:[2,25],69:[2,25],71:[2,25],73:[2,25],74:[2,25],78:[2,25],80:[2,25],84:[2,25],85:[2,25],86:[2,25],91:[2,25],93:[2,25],102:[2,25],104:[2,25],105:[2,25],106:[2,25],110:[2,25],116:[2,25],117:[2,25],118:[2,25],126:[2,25],128:[2,25],129:[2,25],130:[2,25],131:[2,25],132:[2,25],133:[2,25],134:[2,25],135:[2,25],136:[2,25],137:[2,25],138:[2,25]},{1:[2,5],5:169,6:[2,5],7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,26:[2,5],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],102:[2,5],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,193],6:[2,193],25:[2,193],26:[2,193],49:[2,193],54:[2,193],57:[2,193],73:[2,193],78:[2,193],86:[2,193],91:[2,193],93:[2,193],102:[2,193],104:[2,193],105:[2,193],106:[2,193],110:[2,193],118:[2,193],126:[2,193],128:[2,193],129:[2,193],132:[2,193],133:[2,193],134:[2,193],135:[2,193],136:[2,193],137:[2,193]},{7:170,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:171,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:172,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:173,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:174,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:175,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:176,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:177,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,148],6:[2,148],25:[2,148],26:[2,148],49:[2,148],54:[2,148],57:[2,148],73:[2,148],78:[2,148],86:[2,148],91:[2,148],93:[2,148],102:[2,148],104:[2,148],105:[2,148],106:[2,148],110:[2,148],118:[2,148],126:[2,148],128:[2,148],129:[2,148],132:[2,148],133:[2,148],134:[2,148],135:[2,148],136:[2,148],137:[2,148]},{1:[2,153],6:[2,153],25:[2,153],26:[2,153],49:[2,153],54:[2,153],57:[2,153],73:[2,153],78:[2,153],86:[2,153],91:[2,153],93:[2,153],102:[2,153],104:[2,153],105:[2,153],106:[2,153],110:[2,153],118:[2,153],126:[2,153],128:[2,153],129:[2,153],132:[2,153],133:[2,153],134:[2,153],135:[2,153],136:[2,153],137:[2,153]},{7:178,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,147],6:[2,147],25:[2,147],26:[2,147],49:[2,147],54:[2,147],57:[2,147],73:[2,147],78:[2,147],86:[2,147],91:[2,147],93:[2,147],102:[2,147],104:[2,147],105:[2,147],106:[2,147],110:[2,147],118:[2,147],126:[2,147],128:[2,147],129:[2,147],132:[2,147],133:[2,147],134:[2,147],135:[2,147],136:[2,147],137:[2,147]},{1:[2,152],6:[2,152],25:[2,152],26:[2,152],49:[2,152],54:[2,152],57:[2,152],73:[2,152],78:[2,152],86:[2,152],91:[2,152],93:[2,152],102:[2,152],104:[2,152],105:[2,152],106:[2,152],110:[2,152],118:[2,152],126:[2,152],128:[2,152],129:[2,152],132:[2,152],133:[2,152],134:[2,152],135:[2,152],136:[2,152],137:[2,152]},{82:179,85:[1,101]},{1:[2,68],6:[2,68],25:[2,68],26:[2,68],40:[2,68],49:[2,68],54:[2,68],57:[2,68],66:[2,68],67:[2,68],68:[2,68],69:[2,68],71:[2,68],73:[2,68],74:[2,68],78:[2,68],80:[2,68],84:[2,68],85:[2,68],86:[2,68],91:[2,68],93:[2,68],102:[2,68],104:[2,68],105:[2,68],106:[2,68],110:[2,68],118:[2,68],126:[2,68],128:[2,68],129:[2,68],130:[2,68],131:[2,68],132:[2,68],133:[2,68],134:[2,68],135:[2,68],136:[2,68],137:[2,68],138:[2,68]},{85:[2,108]},{27:180,28:[1,71]},{27:181,28:[1,71]},{1:[2,83],6:[2,83],25:[2,83],26:[2,83],27:182,28:[1,71],40:[2,83],49:[2,83],54:[2,83],57:[2,83],66:[2,83],67:[2,83],68:[2,83],69:[2,83],71:[2,83],73:[2,83],74:[2,83],78:[2,83],80:[2,83],84:[2,83],85:[2,83],86:[2,83],91:[2,83],93:[2,83],102:[2,83],104:[2,83],105:[2,83],106:[2,83],110:[2,83],118:[2,83],126:[2,83],128:[2,83],129:[2,83],130:[2,83],131:[2,83],132:[2,83],133:[2,83],134:[2,83],135:[2,83],136:[2,83],137:[2,83],138:[2,83]},{27:183,28:[1,71]},{1:[2,84],6:[2,84],25:[2,84],26:[2,84],40:[2,84],49:[2,84],54:[2,84],57:[2,84],66:[2,84],67:[2,84],68:[2,84],69:[2,84],71:[2,84],73:[2,84],74:[2,84],78:[2,84],80:[2,84],84:[2,84],85:[2,84],86:[2,84],91:[2,84],93:[2,84],102:[2,84],104:[2,84],105:[2,84],106:[2,84],110:[2,84],118:[2,84],126:[2,84],128:[2,84],129:[2,84],130:[2,84],131:[2,84],132:[2,84],133:[2,84],134:[2,84],135:[2,84],136:[2,84],137:[2,84],138:[2,84]},{7:185,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],57:[1,189],58:45,59:46,61:34,63:23,64:24,65:25,72:184,75:186,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],92:187,93:[1,188],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{70:190,71:[1,95],74:[1,96]},{82:191,85:[1,101]},{1:[2,69],6:[2,69],25:[2,69],26:[2,69],40:[2,69],49:[2,69],54:[2,69],57:[2,69],66:[2,69],67:[2,69],68:[2,69],69:[2,69],71:[2,69],73:[2,69],74:[2,69],78:[2,69],80:[2,69],84:[2,69],85:[2,69],86:[2,69],91:[2,69],93:[2,69],102:[2,69],104:[2,69],105:[2,69],106:[2,69],110:[2,69],118:[2,69],126:[2,69],128:[2,69],129:[2,69],130:[2,69],131:[2,69],132:[2,69],133:[2,69],134:[2,69],135:[2,69],136:[2,69],137:[2,69],138:[2,69]},{6:[1,193],7:192,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,194],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,106],6:[2,106],25:[2,106],26:[2,106],49:[2,106],54:[2,106],57:[2,106],66:[2,106],67:[2,106],68:[2,106],69:[2,106],71:[2,106],73:[2,106],74:[2,106],78:[2,106],84:[2,106],85:[2,106],86:[2,106],91:[2,106],93:[2,106],102:[2,106],104:[2,106],105:[2,106],106:[2,106],110:[2,106],118:[2,106],126:[2,106],128:[2,106],129:[2,106],132:[2,106],133:[2,106],134:[2,106],135:[2,106],136:[2,106],137:[2,106]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],86:[1,195],87:196,88:[1,56],89:[1,57],90:[1,55],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,52],25:[2,52],49:[1,198],53:200,54:[1,199]},{6:[2,55],25:[2,55],26:[2,55],49:[2,55],54:[2,55]},{6:[2,59],25:[2,59],26:[2,59],40:[1,202],49:[2,59],54:[2,59],57:[1,201]},{6:[2,62],25:[2,62],26:[2,62],40:[2,62],49:[2,62],54:[2,62],57:[2,62]},{6:[2,63],25:[2,63],26:[2,63],40:[2,63],49:[2,63],54:[2,63],57:[2,63]},{6:[2,64],25:[2,64],26:[2,64],40:[2,64],49:[2,64],54:[2,64],57:[2,64]},{6:[2,65],25:[2,65],26:[2,65],40:[2,65],49:[2,65],54:[2,65],57:[2,65]},{27:145,28:[1,71]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:141,88:[1,56],89:[1,57],90:[1,55],91:[1,140],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,49],6:[2,49],25:[2,49],26:[2,49],49:[2,49],54:[2,49],57:[2,49],73:[2,49],78:[2,49],86:[2,49],91:[2,49],93:[2,49],102:[2,49],104:[2,49],105:[2,49],106:[2,49],110:[2,49],118:[2,49],126:[2,49],128:[2,49],129:[2,49],132:[2,49],133:[2,49],134:[2,49],135:[2,49],136:[2,49],137:[2,49]},{4:204,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,26:[1,203],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,186],6:[2,186],25:[2,186],26:[2,186],49:[2,186],54:[2,186],57:[2,186],73:[2,186],78:[2,186],86:[2,186],91:[2,186],93:[2,186],102:[2,186],103:82,104:[2,186],105:[2,186],106:[2,186],109:83,110:[2,186],111:67,118:[2,186],126:[2,186],128:[2,186],129:[2,186],132:[1,73],133:[2,186],134:[2,186],135:[2,186],136:[2,186],137:[2,186]},{103:85,104:[1,63],106:[1,64],109:86,110:[1,66],111:67,126:[1,84]},{1:[2,187],6:[2,187],25:[2,187],26:[2,187],49:[2,187],54:[2,187],57:[2,187],73:[2,187],78:[2,187],86:[2,187],91:[2,187],93:[2,187],102:[2,187],103:82,104:[2,187],105:[2,187],106:[2,187],109:83,110:[2,187],111:67,118:[2,187],126:[2,187],128:[2,187],129:[2,187],132:[1,73],133:[2,187],134:[2,187],135:[2,187],136:[2,187],137:[2,187]},{1:[2,188],6:[2,188],25:[2,188],26:[2,188],49:[2,188],54:[2,188],57:[2,188],73:[2,188],78:[2,188],86:[2,188],91:[2,188],93:[2,188],102:[2,188],103:82,104:[2,188],105:[2,188],106:[2,188],109:83,110:[2,188],111:67,118:[2,188],126:[2,188],128:[2,188],129:[2,188],132:[1,73],133:[2,188],134:[2,188],135:[2,188],136:[2,188],137:[2,188]},{1:[2,189],6:[2,189],25:[2,189],26:[2,189],49:[2,189],54:[2,189],57:[2,189],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,189],74:[2,71],78:[2,189],84:[2,71],85:[2,71],86:[2,189],91:[2,189],93:[2,189],102:[2,189],104:[2,189],105:[2,189],106:[2,189],110:[2,189],118:[2,189],126:[2,189],128:[2,189],129:[2,189],132:[2,189],133:[2,189],134:[2,189],135:[2,189],136:[2,189],137:[2,189]},{62:88,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],74:[1,96],81:87,84:[1,89],85:[2,107]},{62:98,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],74:[1,96],81:97,84:[1,89],85:[2,107]},{66:[2,74],67:[2,74],68:[2,74],69:[2,74],71:[2,74],74:[2,74],84:[2,74],85:[2,74]},{1:[2,190],6:[2,190],25:[2,190],26:[2,190],49:[2,190],54:[2,190],57:[2,190],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,190],74:[2,71],78:[2,190],84:[2,71],85:[2,71],86:[2,190],91:[2,190],93:[2,190],102:[2,190],104:[2,190],105:[2,190],106:[2,190],110:[2,190],118:[2,190],126:[2,190],128:[2,190],129:[2,190],132:[2,190],133:[2,190],134:[2,190],135:[2,190],136:[2,190],137:[2,190]},{1:[2,191],6:[2,191],25:[2,191],26:[2,191],49:[2,191],54:[2,191],57:[2,191],73:[2,191],78:[2,191],86:[2,191],91:[2,191],93:[2,191],102:[2,191],104:[2,191],105:[2,191],106:[2,191],110:[2,191],118:[2,191],126:[2,191],128:[2,191],129:[2,191],132:[2,191],133:[2,191],134:[2,191],135:[2,191],136:[2,191],137:[2,191]},{1:[2,192],6:[2,192],25:[2,192],26:[2,192],49:[2,192],54:[2,192],57:[2,192],73:[2,192],78:[2,192],86:[2,192],91:[2,192],93:[2,192],102:[2,192],104:[2,192],105:[2,192],106:[2,192],110:[2,192],118:[2,192],126:[2,192],128:[2,192],129:[2,192],132:[2,192],133:[2,192],134:[2,192],135:[2,192],136:[2,192],137:[2,192]},{6:[1,207],7:205,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,206],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:208,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{24:209,25:[1,112],125:[1,210]},{1:[2,132],6:[2,132],25:[2,132],26:[2,132],49:[2,132],54:[2,132],57:[2,132],73:[2,132],78:[2,132],86:[2,132],91:[2,132],93:[2,132],97:211,98:[1,212],99:[1,213],102:[2,132],104:[2,132],105:[2,132],106:[2,132],110:[2,132],118:[2,132],126:[2,132],128:[2,132],129:[2,132],132:[2,132],133:[2,132],134:[2,132],135:[2,132],136:[2,132],137:[2,132]},{1:[2,146],6:[2,146],25:[2,146],26:[2,146],49:[2,146],54:[2,146],57:[2,146],73:[2,146],78:[2,146],86:[2,146],91:[2,146],93:[2,146],102:[2,146],104:[2,146],105:[2,146],106:[2,146],110:[2,146],118:[2,146],126:[2,146],128:[2,146],129:[2,146],132:[2,146],133:[2,146],134:[2,146],135:[2,146],136:[2,146],137:[2,146]},{1:[2,154],6:[2,154],25:[2,154],26:[2,154],49:[2,154],54:[2,154],57:[2,154],73:[2,154],78:[2,154],86:[2,154],91:[2,154],93:[2,154],102:[2,154],104:[2,154],105:[2,154],106:[2,154],110:[2,154],118:[2,154],126:[2,154],128:[2,154],129:[2,154],132:[2,154],133:[2,154],134:[2,154],135:[2,154],136:[2,154],137:[2,154]},{25:[1,214],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{120:215,122:216,123:[1,217]},{1:[2,96],6:[2,96],25:[2,96],26:[2,96],49:[2,96],54:[2,96],57:[2,96],73:[2,96],78:[2,96],86:[2,96],91:[2,96],93:[2,96],102:[2,96],104:[2,96],105:[2,96],106:[2,96],110:[2,96],118:[2,96],126:[2,96],128:[2,96],129:[2,96],132:[2,96],133:[2,96],134:[2,96],135:[2,96],136:[2,96],137:[2,96]},{7:218,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,99],6:[2,99],24:219,25:[1,112],26:[2,99],49:[2,99],54:[2,99],57:[2,99],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,99],74:[2,71],78:[2,99],80:[1,220],84:[2,71],85:[2,71],86:[2,99],91:[2,99],93:[2,99],102:[2,99],104:[2,99],105:[2,99],106:[2,99],110:[2,99],118:[2,99],126:[2,99],128:[2,99],129:[2,99],132:[2,99],133:[2,99],134:[2,99],135:[2,99],136:[2,99],137:[2,99]},{1:[2,139],6:[2,139],25:[2,139],26:[2,139],49:[2,139],54:[2,139],57:[2,139],73:[2,139],78:[2,139],86:[2,139],91:[2,139],93:[2,139],102:[2,139],103:82,104:[2,139],105:[2,139],106:[2,139],109:83,110:[2,139],111:67,118:[2,139],126:[2,139],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,45],6:[2,45],26:[2,45],102:[2,45],103:82,104:[2,45],106:[2,45],109:83,110:[2,45],111:67,126:[2,45],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,72],102:[1,221]},{4:222,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,128],25:[2,128],54:[2,128],57:[1,224],91:[2,128],92:223,93:[1,188],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,114],6:[2,114],25:[2,114],26:[2,114],40:[2,114],49:[2,114],54:[2,114],57:[2,114],66:[2,114],67:[2,114],68:[2,114],69:[2,114],71:[2,114],73:[2,114],74:[2,114],78:[2,114],84:[2,114],85:[2,114],86:[2,114],91:[2,114],93:[2,114],102:[2,114],104:[2,114],105:[2,114],106:[2,114],110:[2,114],116:[2,114],117:[2,114],118:[2,114],126:[2,114],128:[2,114],129:[2,114],132:[2,114],133:[2,114],134:[2,114],135:[2,114],136:[2,114],137:[2,114]},{6:[2,52],25:[2,52],53:225,54:[1,226],91:[2,52]},{6:[2,123],25:[2,123],26:[2,123],54:[2,123],86:[2,123],91:[2,123]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:227,88:[1,56],89:[1,57],90:[1,55],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,129],25:[2,129],26:[2,129],54:[2,129],86:[2,129],91:[2,129]},{1:[2,113],6:[2,113],25:[2,113],26:[2,113],40:[2,113],43:[2,113],49:[2,113],54:[2,113],57:[2,113],66:[2,113],67:[2,113],68:[2,113],69:[2,113],71:[2,113],73:[2,113],74:[2,113],78:[2,113],80:[2,113],84:[2,113],85:[2,113],86:[2,113],91:[2,113],93:[2,113],102:[2,113],104:[2,113],105:[2,113],106:[2,113],110:[2,113],116:[2,113],117:[2,113],118:[2,113],126:[2,113],128:[2,113],129:[2,113],130:[2,113],131:[2,113],132:[2,113],133:[2,113],134:[2,113],135:[2,113],136:[2,113],137:[2,113],138:[2,113]},{24:228,25:[1,112],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,142],6:[2,142],25:[2,142],26:[2,142],49:[2,142],54:[2,142],57:[2,142],73:[2,142],78:[2,142],86:[2,142],91:[2,142],93:[2,142],102:[2,142],103:82,104:[1,63],105:[1,229],106:[1,64],109:83,110:[1,66],111:67,118:[2,142],126:[2,142],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,144],6:[2,144],25:[2,144],26:[2,144],49:[2,144],54:[2,144],57:[2,144],73:[2,144],78:[2,144],86:[2,144],91:[2,144],93:[2,144],102:[2,144],103:82,104:[1,63],105:[1,230],106:[1,64],109:83,110:[1,66],111:67,118:[2,144],126:[2,144],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,150],6:[2,150],25:[2,150],26:[2,150],49:[2,150],54:[2,150],57:[2,150],73:[2,150],78:[2,150],86:[2,150],91:[2,150],93:[2,150],102:[2,150],104:[2,150],105:[2,150],106:[2,150],110:[2,150],118:[2,150],126:[2,150],128:[2,150],129:[2,150],132:[2,150],133:[2,150],134:[2,150],135:[2,150],136:[2,150],137:[2,150]},{1:[2,151],6:[2,151],25:[2,151],26:[2,151],49:[2,151],54:[2,151],57:[2,151],73:[2,151],78:[2,151],86:[2,151],91:[2,151],93:[2,151],102:[2,151],103:82,104:[1,63],105:[2,151],106:[1,64],109:83,110:[1,66],111:67,118:[2,151],126:[2,151],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,155],6:[2,155],25:[2,155],26:[2,155],49:[2,155],54:[2,155],57:[2,155],73:[2,155],78:[2,155],86:[2,155],91:[2,155],93:[2,155],102:[2,155],104:[2,155],105:[2,155],106:[2,155],110:[2,155],118:[2,155],126:[2,155],128:[2,155],129:[2,155],132:[2,155],133:[2,155],134:[2,155],135:[2,155],136:[2,155],137:[2,155]},{116:[2,157],117:[2,157]},{27:155,28:[1,71],44:156,58:157,59:158,76:[1,68],89:[1,109],90:[1,110],113:231,115:154},{54:[1,232],116:[2,163],117:[2,163]},{54:[2,159],116:[2,159],117:[2,159]},{54:[2,160],116:[2,160],117:[2,160]},{54:[2,161],116:[2,161],117:[2,161]},{54:[2,162],116:[2,162],117:[2,162]},{1:[2,156],6:[2,156],25:[2,156],26:[2,156],49:[2,156],54:[2,156],57:[2,156],73:[2,156],78:[2,156],86:[2,156],91:[2,156],93:[2,156],102:[2,156],104:[2,156],105:[2,156],106:[2,156],110:[2,156],118:[2,156],126:[2,156],128:[2,156],129:[2,156],132:[2,156],133:[2,156],134:[2,156],135:[2,156],136:[2,156],137:[2,156]},{7:233,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:234,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,52],25:[2,52],53:235,54:[1,236],78:[2,52]},{6:[2,91],25:[2,91],26:[2,91],54:[2,91],78:[2,91]},{6:[2,38],25:[2,38],26:[2,38],43:[1,237],54:[2,38],78:[2,38]},{6:[2,41],25:[2,41],26:[2,41],54:[2,41],78:[2,41]},{6:[2,42],25:[2,42],26:[2,42],43:[2,42],54:[2,42],78:[2,42]},{6:[2,43],25:[2,43],26:[2,43],43:[2,43],54:[2,43],78:[2,43]},{6:[2,44],25:[2,44],26:[2,44],43:[2,44],54:[2,44],78:[2,44]},{1:[2,4],6:[2,4],26:[2,4],102:[2,4]},{1:[2,194],6:[2,194],25:[2,194],26:[2,194],49:[2,194],54:[2,194],57:[2,194],73:[2,194],78:[2,194],86:[2,194],91:[2,194],93:[2,194],102:[2,194],103:82,104:[2,194],105:[2,194],106:[2,194],109:83,110:[2,194],111:67,118:[2,194],126:[2,194],128:[2,194],129:[2,194],132:[1,73],133:[1,76],134:[2,194],135:[2,194],136:[2,194],137:[2,194]},{1:[2,195],6:[2,195],25:[2,195],26:[2,195],49:[2,195],54:[2,195],57:[2,195],73:[2,195],78:[2,195],86:[2,195],91:[2,195],93:[2,195],102:[2,195],103:82,104:[2,195],105:[2,195],106:[2,195],109:83,110:[2,195],111:67,118:[2,195],126:[2,195],128:[2,195],129:[2,195],132:[1,73],133:[1,76],134:[2,195],135:[2,195],136:[2,195],137:[2,195]},{1:[2,196],6:[2,196],25:[2,196],26:[2,196],49:[2,196],54:[2,196],57:[2,196],73:[2,196],78:[2,196],86:[2,196],91:[2,196],93:[2,196],102:[2,196],103:82,104:[2,196],105:[2,196],106:[2,196],109:83,110:[2,196],111:67,118:[2,196],126:[2,196],128:[2,196],129:[2,196],132:[1,73],133:[2,196],134:[2,196],135:[2,196],136:[2,196],137:[2,196]},{1:[2,197],6:[2,197],25:[2,197],26:[2,197],49:[2,197],54:[2,197],57:[2,197],73:[2,197],78:[2,197],86:[2,197],91:[2,197],93:[2,197],102:[2,197],103:82,104:[2,197],105:[2,197],106:[2,197],109:83,110:[2,197],111:67,118:[2,197],126:[2,197],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[2,197],135:[2,197],136:[2,197],137:[2,197]},{1:[2,198],6:[2,198],25:[2,198],26:[2,198],49:[2,198],54:[2,198],57:[2,198],73:[2,198],78:[2,198],86:[2,198],91:[2,198],93:[2,198],102:[2,198],103:82,104:[2,198],105:[2,198],106:[2,198],109:83,110:[2,198],111:67,118:[2,198],126:[2,198],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[2,198],136:[2,198],137:[1,80]},{1:[2,199],6:[2,199],25:[2,199],26:[2,199],49:[2,199],54:[2,199],57:[2,199],73:[2,199],78:[2,199],86:[2,199],91:[2,199],93:[2,199],102:[2,199],103:82,104:[2,199],105:[2,199],106:[2,199],109:83,110:[2,199],111:67,118:[2,199],126:[2,199],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[2,199],137:[1,80]},{1:[2,200],6:[2,200],25:[2,200],26:[2,200],49:[2,200],54:[2,200],57:[2,200],73:[2,200],78:[2,200],86:[2,200],91:[2,200],93:[2,200],102:[2,200],103:82,104:[2,200],105:[2,200],106:[2,200],109:83,110:[2,200],111:67,118:[2,200],126:[2,200],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[2,200],136:[2,200],137:[2,200]},{1:[2,185],6:[2,185],25:[2,185],26:[2,185],49:[2,185],54:[2,185],57:[2,185],73:[2,185],78:[2,185],86:[2,185],91:[2,185],93:[2,185],102:[2,185],103:82,104:[1,63],105:[2,185],106:[1,64],109:83,110:[1,66],111:67,118:[2,185],126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,184],6:[2,184],25:[2,184],26:[2,184],49:[2,184],54:[2,184],57:[2,184],73:[2,184],78:[2,184],86:[2,184],91:[2,184],93:[2,184],102:[2,184],103:82,104:[1,63],105:[2,184],106:[1,64],109:83,110:[1,66],111:67,118:[2,184],126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,103],6:[2,103],25:[2,103],26:[2,103],49:[2,103],54:[2,103],57:[2,103],66:[2,103],67:[2,103],68:[2,103],69:[2,103],71:[2,103],73:[2,103],74:[2,103],78:[2,103],84:[2,103],85:[2,103],86:[2,103],91:[2,103],93:[2,103],102:[2,103],104:[2,103],105:[2,103],106:[2,103],110:[2,103],118:[2,103],126:[2,103],128:[2,103],129:[2,103],132:[2,103],133:[2,103],134:[2,103],135:[2,103],136:[2,103],137:[2,103]},{1:[2,79],6:[2,79],25:[2,79],26:[2,79],40:[2,79],49:[2,79],54:[2,79],57:[2,79],66:[2,79],67:[2,79],68:[2,79],69:[2,79],71:[2,79],73:[2,79],74:[2,79],78:[2,79],80:[2,79],84:[2,79],85:[2,79],86:[2,79],91:[2,79],93:[2,79],102:[2,79],104:[2,79],105:[2,79],106:[2,79],110:[2,79],118:[2,79],126:[2,79],128:[2,79],129:[2,79],130:[2,79],131:[2,79],132:[2,79],133:[2,79],134:[2,79],135:[2,79],136:[2,79],137:[2,79],138:[2,79]},{1:[2,80],6:[2,80],25:[2,80],26:[2,80],40:[2,80],49:[2,80],54:[2,80],57:[2,80],66:[2,80],67:[2,80],68:[2,80],69:[2,80],71:[2,80],73:[2,80],74:[2,80],78:[2,80],80:[2,80],84:[2,80],85:[2,80],86:[2,80],91:[2,80],93:[2,80],102:[2,80],104:[2,80],105:[2,80],106:[2,80],110:[2,80],118:[2,80],126:[2,80],128:[2,80],129:[2,80],130:[2,80],131:[2,80],132:[2,80],133:[2,80],134:[2,80],135:[2,80],136:[2,80],137:[2,80],138:[2,80]},{1:[2,81],6:[2,81],25:[2,81],26:[2,81],40:[2,81],49:[2,81],54:[2,81],57:[2,81],66:[2,81],67:[2,81],68:[2,81],69:[2,81],71:[2,81],73:[2,81],74:[2,81],78:[2,81],80:[2,81],84:[2,81],85:[2,81],86:[2,81],91:[2,81],93:[2,81],102:[2,81],104:[2,81],105:[2,81],106:[2,81],110:[2,81],118:[2,81],126:[2,81],128:[2,81],129:[2,81],130:[2,81],131:[2,81],132:[2,81],133:[2,81],134:[2,81],135:[2,81],136:[2,81],137:[2,81],138:[2,81]},{1:[2,82],6:[2,82],25:[2,82],26:[2,82],40:[2,82],49:[2,82],54:[2,82],57:[2,82],66:[2,82],67:[2,82],68:[2,82],69:[2,82],71:[2,82],73:[2,82],74:[2,82],78:[2,82],80:[2,82],84:[2,82],85:[2,82],86:[2,82],91:[2,82],93:[2,82],102:[2,82],104:[2,82],105:[2,82],106:[2,82],110:[2,82],118:[2,82],126:[2,82],128:[2,82],129:[2,82],130:[2,82],131:[2,82],132:[2,82],133:[2,82],134:[2,82],135:[2,82],136:[2,82],137:[2,82],138:[2,82]},{73:[1,238]},{57:[1,189],73:[2,87],92:239,93:[1,188],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{73:[2,88]},{7:240,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,73:[2,122],76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{11:[2,116],28:[2,116],30:[2,116],31:[2,116],33:[2,116],34:[2,116],35:[2,116],36:[2,116],37:[2,116],38:[2,116],45:[2,116],46:[2,116],47:[2,116],51:[2,116],52:[2,116],73:[2,116],76:[2,116],79:[2,116],83:[2,116],88:[2,116],89:[2,116],90:[2,116],96:[2,116],100:[2,116],101:[2,116],104:[2,116],106:[2,116],108:[2,116],110:[2,116],119:[2,116],125:[2,116],127:[2,116],128:[2,116],129:[2,116],130:[2,116],131:[2,116]},{11:[2,117],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],73:[2,117],76:[2,117],79:[2,117],83:[2,117],88:[2,117],89:[2,117],90:[2,117],96:[2,117],100:[2,117],101:[2,117],104:[2,117],106:[2,117],108:[2,117],110:[2,117],119:[2,117],125:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117],131:[2,117]},{1:[2,86],6:[2,86],25:[2,86],26:[2,86],40:[2,86],49:[2,86],54:[2,86],57:[2,86],66:[2,86],67:[2,86],68:[2,86],69:[2,86],71:[2,86],73:[2,86],74:[2,86],78:[2,86],80:[2,86],84:[2,86],85:[2,86],86:[2,86],91:[2,86],93:[2,86],102:[2,86],104:[2,86],105:[2,86],106:[2,86],110:[2,86],118:[2,86],126:[2,86],128:[2,86],129:[2,86],130:[2,86],131:[2,86],132:[2,86],133:[2,86],134:[2,86],135:[2,86],136:[2,86],137:[2,86],138:[2,86]},{1:[2,104],6:[2,104],25:[2,104],26:[2,104],49:[2,104],54:[2,104],57:[2,104],66:[2,104],67:[2,104],68:[2,104],69:[2,104],71:[2,104],73:[2,104],74:[2,104],78:[2,104],84:[2,104],85:[2,104],86:[2,104],91:[2,104],93:[2,104],102:[2,104],104:[2,104],105:[2,104],106:[2,104],110:[2,104],118:[2,104],126:[2,104],128:[2,104],129:[2,104],132:[2,104],133:[2,104],134:[2,104],135:[2,104],136:[2,104],137:[2,104]},{1:[2,35],6:[2,35],25:[2,35],26:[2,35],49:[2,35],54:[2,35],57:[2,35],73:[2,35],78:[2,35],86:[2,35],91:[2,35],93:[2,35],102:[2,35],103:82,104:[2,35],105:[2,35],106:[2,35],109:83,110:[2,35],111:67,118:[2,35],126:[2,35],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{7:241,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:242,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,109],6:[2,109],25:[2,109],26:[2,109],49:[2,109],54:[2,109],57:[2,109],66:[2,109],67:[2,109],68:[2,109],69:[2,109],71:[2,109],73:[2,109],74:[2,109],78:[2,109],84:[2,109],85:[2,109],86:[2,109],91:[2,109],93:[2,109],102:[2,109],104:[2,109],105:[2,109],106:[2,109],110:[2,109],118:[2,109],126:[2,109],128:[2,109],129:[2,109],132:[2,109],133:[2,109],134:[2,109],135:[2,109],136:[2,109],137:[2,109]},{6:[2,52],25:[2,52],53:243,54:[1,226],86:[2,52]},{6:[2,128],25:[2,128],26:[2,128],54:[2,128],57:[1,244],86:[2,128],91:[2,128],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{50:245,51:[1,58],52:[1,59]},{6:[2,53],25:[2,53],26:[2,53],27:105,28:[1,71],44:106,55:246,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{6:[1,247],25:[1,248]},{6:[2,60],25:[2,60],26:[2,60],49:[2,60],54:[2,60]},{7:249,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,23],6:[2,23],25:[2,23],26:[2,23],49:[2,23],54:[2,23],57:[2,23],73:[2,23],78:[2,23],86:[2,23],91:[2,23],93:[2,23],98:[2,23],99:[2,23],102:[2,23],104:[2,23],105:[2,23],106:[2,23],110:[2,23],118:[2,23],121:[2,23],123:[2,23],126:[2,23],128:[2,23],129:[2,23],132:[2,23],133:[2,23],134:[2,23],135:[2,23],136:[2,23],137:[2,23]},{6:[1,72],26:[1,250]},{1:[2,201],6:[2,201],25:[2,201],26:[2,201],49:[2,201],54:[2,201],57:[2,201],73:[2,201],78:[2,201],86:[2,201],91:[2,201],93:[2,201],102:[2,201],103:82,104:[2,201],105:[2,201],106:[2,201],109:83,110:[2,201],111:67,118:[2,201],126:[2,201],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{7:251,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:252,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,204],6:[2,204],25:[2,204],26:[2,204],49:[2,204],54:[2,204],57:[2,204],73:[2,204],78:[2,204],86:[2,204],91:[2,204],93:[2,204],102:[2,204],103:82,104:[2,204],105:[2,204],106:[2,204],109:83,110:[2,204],111:67,118:[2,204],126:[2,204],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,183],6:[2,183],25:[2,183],26:[2,183],49:[2,183],54:[2,183],57:[2,183],73:[2,183],78:[2,183],86:[2,183],91:[2,183],93:[2,183],102:[2,183],104:[2,183],105:[2,183],106:[2,183],110:[2,183],118:[2,183],126:[2,183],128:[2,183],129:[2,183],132:[2,183],133:[2,183],134:[2,183],135:[2,183],136:[2,183],137:[2,183]},{7:253,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,133],6:[2,133],25:[2,133],26:[2,133],49:[2,133],54:[2,133],57:[2,133],73:[2,133],78:[2,133],86:[2,133],91:[2,133],93:[2,133],98:[1,254],102:[2,133],104:[2,133],105:[2,133],106:[2,133],110:[2,133],118:[2,133],126:[2,133],128:[2,133],129:[2,133],132:[2,133],133:[2,133],134:[2,133],135:[2,133],136:[2,133],137:[2,133]},{24:255,25:[1,112]},{24:258,25:[1,112],27:256,28:[1,71],59:257,76:[1,68]},{120:259,122:216,123:[1,217]},{26:[1,260],121:[1,261],122:262,123:[1,217]},{26:[2,176],121:[2,176],123:[2,176]},{7:264,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],95:263,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,97],6:[2,97],24:265,25:[1,112],26:[2,97],49:[2,97],54:[2,97],57:[2,97],73:[2,97],78:[2,97],86:[2,97],91:[2,97],93:[2,97],102:[2,97],103:82,104:[1,63],105:[2,97],106:[1,64],109:83,110:[1,66],111:67,118:[2,97],126:[2,97],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,100],6:[2,100],25:[2,100],26:[2,100],49:[2,100],54:[2,100],57:[2,100],73:[2,100],78:[2,100],86:[2,100],91:[2,100],93:[2,100],102:[2,100],104:[2,100],105:[2,100],106:[2,100],110:[2,100],118:[2,100],126:[2,100],128:[2,100],129:[2,100],132:[2,100],133:[2,100],134:[2,100],135:[2,100],136:[2,100],137:[2,100]},{7:266,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,140],6:[2,140],25:[2,140],26:[2,140],49:[2,140],54:[2,140],57:[2,140],66:[2,140],67:[2,140],68:[2,140],69:[2,140],71:[2,140],73:[2,140],74:[2,140],78:[2,140],84:[2,140],85:[2,140],86:[2,140],91:[2,140],93:[2,140],102:[2,140],104:[2,140],105:[2,140],106:[2,140],110:[2,140],118:[2,140],126:[2,140],128:[2,140],129:[2,140],132:[2,140],133:[2,140],134:[2,140],135:[2,140],136:[2,140],137:[2,140]},{6:[1,72],26:[1,267]},{7:268,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,66],11:[2,117],25:[2,66],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],54:[2,66],76:[2,117],79:[2,117],83:[2,117],88:[2,117],89:[2,117],90:[2,117],91:[2,66],96:[2,117],100:[2,117],101:[2,117],104:[2,117],106:[2,117],108:[2,117],110:[2,117],119:[2,117],125:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117],131:[2,117]},{6:[1,270],25:[1,271],91:[1,269]},{6:[2,53],7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[2,53],26:[2,53],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],86:[2,53],88:[1,56],89:[1,57],90:[1,55],91:[2,53],94:272,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,52],25:[2,52],26:[2,52],53:273,54:[1,226]},{1:[2,180],6:[2,180],25:[2,180],26:[2,180],49:[2,180],54:[2,180],57:[2,180],73:[2,180],78:[2,180],86:[2,180],91:[2,180],93:[2,180],102:[2,180],104:[2,180],105:[2,180],106:[2,180],110:[2,180],118:[2,180],121:[2,180],126:[2,180],128:[2,180],129:[2,180],132:[2,180],133:[2,180],134:[2,180],135:[2,180],136:[2,180],137:[2,180]},{7:274,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:275,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{116:[2,158],117:[2,158]},{27:155,28:[1,71],44:156,58:157,59:158,76:[1,68],89:[1,109],90:[1,110],115:276},{1:[2,165],6:[2,165],25:[2,165],26:[2,165],49:[2,165],54:[2,165],57:[2,165],73:[2,165],78:[2,165],86:[2,165],91:[2,165],93:[2,165],102:[2,165],103:82,104:[2,165],105:[1,277],106:[2,165],109:83,110:[2,165],111:67,118:[1,278],126:[2,165],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,166],6:[2,166],25:[2,166],26:[2,166],49:[2,166],54:[2,166],57:[2,166],73:[2,166],78:[2,166],86:[2,166],91:[2,166],93:[2,166],102:[2,166],103:82,104:[2,166],105:[1,279],106:[2,166],109:83,110:[2,166],111:67,118:[2,166],126:[2,166],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,281],25:[1,282],78:[1,280]},{6:[2,53],10:165,25:[2,53],26:[2,53],27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:283,42:164,44:168,46:[1,44],78:[2,53],89:[1,109]},{7:284,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,285],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,85],6:[2,85],25:[2,85],26:[2,85],40:[2,85],49:[2,85],54:[2,85],57:[2,85],66:[2,85],67:[2,85],68:[2,85],69:[2,85],71:[2,85],73:[2,85],74:[2,85],78:[2,85],80:[2,85],84:[2,85],85:[2,85],86:[2,85],91:[2,85],93:[2,85],102:[2,85],104:[2,85],105:[2,85],106:[2,85],110:[2,85],118:[2,85],126:[2,85],128:[2,85],129:[2,85],130:[2,85],131:[2,85],132:[2,85],133:[2,85],134:[2,85],135:[2,85],136:[2,85],137:[2,85],138:[2,85]},{7:286,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,73:[2,120],76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{73:[2,121],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,36],6:[2,36],25:[2,36],26:[2,36],49:[2,36],54:[2,36],57:[2,36],73:[2,36],78:[2,36],86:[2,36],91:[2,36],93:[2,36],102:[2,36],103:82,104:[2,36],105:[2,36],106:[2,36],109:83,110:[2,36],111:67,118:[2,36],126:[2,36],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{26:[1,287],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,270],25:[1,271],86:[1,288]},{6:[2,66],25:[2,66],26:[2,66],54:[2,66],86:[2,66],91:[2,66]},{24:289,25:[1,112]},{6:[2,56],25:[2,56],26:[2,56],49:[2,56],54:[2,56]},{27:105,28:[1,71],44:106,55:290,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{6:[2,54],25:[2,54],26:[2,54],27:105,28:[1,71],44:106,48:291,54:[2,54],55:103,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{6:[2,61],25:[2,61],26:[2,61],49:[2,61],54:[2,61],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,24],6:[2,24],25:[2,24],26:[2,24],49:[2,24],54:[2,24],57:[2,24],73:[2,24],78:[2,24],86:[2,24],91:[2,24],93:[2,24],98:[2,24],99:[2,24],102:[2,24],104:[2,24],105:[2,24],106:[2,24],110:[2,24],118:[2,24],121:[2,24],123:[2,24],126:[2,24],128:[2,24],129:[2,24],132:[2,24],133:[2,24],134:[2,24],135:[2,24],136:[2,24],137:[2,24]},{26:[1,292],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,203],6:[2,203],25:[2,203],26:[2,203],49:[2,203],54:[2,203],57:[2,203],73:[2,203],78:[2,203],86:[2,203],91:[2,203],93:[2,203],102:[2,203],103:82,104:[2,203],105:[2,203],106:[2,203],109:83,110:[2,203],111:67,118:[2,203],126:[2,203],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{24:293,25:[1,112],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{24:294,25:[1,112]},{1:[2,134],6:[2,134],25:[2,134],26:[2,134],49:[2,134],54:[2,134],57:[2,134],73:[2,134],78:[2,134],86:[2,134],91:[2,134],93:[2,134],102:[2,134],104:[2,134],105:[2,134],106:[2,134],110:[2,134],118:[2,134],126:[2,134],128:[2,134],129:[2,134],132:[2,134],133:[2,134],134:[2,134],135:[2,134],136:[2,134],137:[2,134]},{24:295,25:[1,112]},{24:296,25:[1,112]},{1:[2,138],6:[2,138],25:[2,138],26:[2,138],49:[2,138],54:[2,138],57:[2,138],73:[2,138],78:[2,138],86:[2,138],91:[2,138],93:[2,138],98:[2,138],102:[2,138],104:[2,138],105:[2,138],106:[2,138],110:[2,138],118:[2,138],126:[2,138],128:[2,138],129:[2,138],132:[2,138],133:[2,138],134:[2,138],135:[2,138],136:[2,138],137:[2,138]},{26:[1,297],121:[1,298],122:262,123:[1,217]},{1:[2,174],6:[2,174],25:[2,174],26:[2,174],49:[2,174],54:[2,174],57:[2,174],73:[2,174],78:[2,174],86:[2,174],91:[2,174],93:[2,174],102:[2,174],104:[2,174],105:[2,174],106:[2,174],110:[2,174],118:[2,174],126:[2,174],128:[2,174],129:[2,174],132:[2,174],133:[2,174],134:[2,174],135:[2,174],136:[2,174],137:[2,174]},{24:299,25:[1,112]},{26:[2,177],121:[2,177],123:[2,177]},{24:300,25:[1,112],54:[1,301]},{25:[2,130],54:[2,130],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,98],6:[2,98],25:[2,98],26:[2,98],49:[2,98],54:[2,98],57:[2,98],73:[2,98],78:[2,98],86:[2,98],91:[2,98],93:[2,98],102:[2,98],104:[2,98],105:[2,98],106:[2,98],110:[2,98],118:[2,98],126:[2,98],128:[2,98],129:[2,98],132:[2,98],133:[2,98],134:[2,98],135:[2,98],136:[2,98],137:[2,98]},{1:[2,101],6:[2,101],24:302,25:[1,112],26:[2,101],49:[2,101],54:[2,101],57:[2,101],73:[2,101],78:[2,101],86:[2,101],91:[2,101],93:[2,101],102:[2,101],103:82,104:[1,63],105:[2,101],106:[1,64],109:83,110:[1,66],111:67,118:[2,101],126:[2,101],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{102:[1,303]},{91:[1,304],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,115],6:[2,115],25:[2,115],26:[2,115],40:[2,115],49:[2,115],54:[2,115],57:[2,115],66:[2,115],67:[2,115],68:[2,115],69:[2,115],71:[2,115],73:[2,115],74:[2,115],78:[2,115],84:[2,115],85:[2,115],86:[2,115],91:[2,115],93:[2,115],102:[2,115],104:[2,115],105:[2,115],106:[2,115],110:[2,115],116:[2,115],117:[2,115],118:[2,115],126:[2,115],128:[2,115],129:[2,115],132:[2,115],133:[2,115],134:[2,115],135:[2,115],136:[2,115],137:[2,115]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],94:305,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:306,88:[1,56],89:[1,57],90:[1,55],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,124],25:[2,124],26:[2,124],54:[2,124],86:[2,124],91:[2,124]},{6:[1,270],25:[1,271],26:[1,307]},{1:[2,143],6:[2,143],25:[2,143],26:[2,143],49:[2,143],54:[2,143],57:[2,143],73:[2,143],78:[2,143],86:[2,143],91:[2,143],93:[2,143],102:[2,143],103:82,104:[1,63],105:[2,143],106:[1,64],109:83,110:[1,66],111:67,118:[2,143],126:[2,143],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,145],6:[2,145],25:[2,145],26:[2,145],49:[2,145],54:[2,145],57:[2,145],73:[2,145],78:[2,145],86:[2,145],91:[2,145],93:[2,145],102:[2,145],103:82,104:[1,63],105:[2,145],106:[1,64],109:83,110:[1,66],111:67,118:[2,145],126:[2,145],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{116:[2,164],117:[2,164]},{7:308,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:309,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:310,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,89],6:[2,89],25:[2,89],26:[2,89],40:[2,89],49:[2,89],54:[2,89],57:[2,89],66:[2,89],67:[2,89],68:[2,89],69:[2,89],71:[2,89],73:[2,89],74:[2,89],78:[2,89],84:[2,89],85:[2,89],86:[2,89],91:[2,89],93:[2,89],102:[2,89],104:[2,89],105:[2,89],106:[2,89],110:[2,89],116:[2,89],117:[2,89],118:[2,89],126:[2,89],128:[2,89],129:[2,89],132:[2,89],133:[2,89],134:[2,89],135:[2,89],136:[2,89],137:[2,89]},{10:165,27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:311,42:164,44:168,46:[1,44],89:[1,109]},{6:[2,90],10:165,25:[2,90],26:[2,90],27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:163,42:164,44:168,46:[1,44],54:[2,90],77:312,89:[1,109]},{6:[2,92],25:[2,92],26:[2,92],54:[2,92],78:[2,92]},{6:[2,39],25:[2,39],26:[2,39],54:[2,39],78:[2,39],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{7:313,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{73:[2,119],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,37],6:[2,37],25:[2,37],26:[2,37],49:[2,37],54:[2,37],57:[2,37],73:[2,37],78:[2,37],86:[2,37],91:[2,37],93:[2,37],102:[2,37],104:[2,37],105:[2,37],106:[2,37],110:[2,37],118:[2,37],126:[2,37],128:[2,37],129:[2,37],132:[2,37],133:[2,37],134:[2,37],135:[2,37],136:[2,37],137:[2,37]},{1:[2,110],6:[2,110],25:[2,110],26:[2,110],49:[2,110],54:[2,110],57:[2,110],66:[2,110],67:[2,110],68:[2,110],69:[2,110],71:[2,110],73:[2,110],74:[2,110],78:[2,110],84:[2,110],85:[2,110],86:[2,110],91:[2,110],93:[2,110],102:[2,110],104:[2,110],105:[2,110],106:[2,110],110:[2,110],118:[2,110],126:[2,110],128:[2,110],129:[2,110],132:[2,110],133:[2,110],134:[2,110],135:[2,110],136:[2,110],137:[2,110]},{1:[2,48],6:[2,48],25:[2,48],26:[2,48],49:[2,48],54:[2,48],57:[2,48],73:[2,48],78:[2,48],86:[2,48],91:[2,48],93:[2,48],102:[2,48],104:[2,48],105:[2,48],106:[2,48],110:[2,48],118:[2,48],126:[2,48],128:[2,48],129:[2,48],132:[2,48],133:[2,48],134:[2,48],135:[2,48],136:[2,48],137:[2,48]},{6:[2,57],25:[2,57],26:[2,57],49:[2,57],54:[2,57]},{6:[2,52],25:[2,52],26:[2,52],53:314,54:[1,199]},{1:[2,202],6:[2,202],25:[2,202],26:[2,202],49:[2,202],54:[2,202],57:[2,202],73:[2,202],78:[2,202],86:[2,202],91:[2,202],93:[2,202],102:[2,202],104:[2,202],105:[2,202],106:[2,202],110:[2,202],118:[2,202],126:[2,202],128:[2,202],129:[2,202],132:[2,202],133:[2,202],134:[2,202],135:[2,202],136:[2,202],137:[2,202]},{1:[2,181],6:[2,181],25:[2,181],26:[2,181],49:[2,181],54:[2,181],57:[2,181],73:[2,181],78:[2,181],86:[2,181],91:[2,181],93:[2,181],102:[2,181],104:[2,181],105:[2,181],106:[2,181],110:[2,181],118:[2,181],121:[2,181],126:[2,181],128:[2,181],129:[2,181],132:[2,181],133:[2,181],134:[2,181],135:[2,181],136:[2,181],137:[2,181]},{1:[2,135],6:[2,135],25:[2,135],26:[2,135],49:[2,135],54:[2,135],57:[2,135],73:[2,135],78:[2,135],86:[2,135],91:[2,135],93:[2,135],102:[2,135],104:[2,135],105:[2,135],106:[2,135],110:[2,135],118:[2,135],126:[2,135],128:[2,135],129:[2,135],132:[2,135],133:[2,135],134:[2,135],135:[2,135],136:[2,135],137:[2,135]},{1:[2,136],6:[2,136],25:[2,136],26:[2,136],49:[2,136],54:[2,136],57:[2,136],73:[2,136],78:[2,136],86:[2,136],91:[2,136],93:[2,136],98:[2,136],102:[2,136],104:[2,136],105:[2,136],106:[2,136],110:[2,136],118:[2,136],126:[2,136],128:[2,136],129:[2,136],132:[2,136],133:[2,136],134:[2,136],135:[2,136],136:[2,136],137:[2,136]},{1:[2,137],6:[2,137],25:[2,137],26:[2,137],49:[2,137],54:[2,137],57:[2,137],73:[2,137],78:[2,137],86:[2,137],91:[2,137],93:[2,137],98:[2,137],102:[2,137],104:[2,137],105:[2,137],106:[2,137],110:[2,137],118:[2,137],126:[2,137],128:[2,137],129:[2,137],132:[2,137],133:[2,137],134:[2,137],135:[2,137],136:[2,137],137:[2,137]},{1:[2,172],6:[2,172],25:[2,172],26:[2,172],49:[2,172],54:[2,172],57:[2,172],73:[2,172],78:[2,172],86:[2,172],91:[2,172],93:[2,172],102:[2,172],104:[2,172],105:[2,172],106:[2,172],110:[2,172],118:[2,172],126:[2,172],128:[2,172],129:[2,172],132:[2,172],133:[2,172],134:[2,172],135:[2,172],136:[2,172],137:[2,172]},{24:315,25:[1,112]},{26:[1,316]},{6:[1,317],26:[2,178],121:[2,178],123:[2,178]},{7:318,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,102],6:[2,102],25:[2,102],26:[2,102],49:[2,102],54:[2,102],57:[2,102],73:[2,102],78:[2,102],86:[2,102],91:[2,102],93:[2,102],102:[2,102],104:[2,102],105:[2,102],106:[2,102],110:[2,102],118:[2,102],126:[2,102],128:[2,102],129:[2,102],132:[2,102],133:[2,102],134:[2,102],135:[2,102],136:[2,102],137:[2,102]},{1:[2,141],6:[2,141],25:[2,141],26:[2,141],49:[2,141],54:[2,141],57:[2,141],66:[2,141],67:[2,141],68:[2,141],69:[2,141],71:[2,141],73:[2,141],74:[2,141],78:[2,141],84:[2,141],85:[2,141],86:[2,141],91:[2,141],93:[2,141],102:[2,141],104:[2,141],105:[2,141],106:[2,141],110:[2,141],118:[2,141],126:[2,141],128:[2,141],129:[2,141],132:[2,141],133:[2,141],134:[2,141],135:[2,141],136:[2,141],137:[2,141]},{1:[2,118],6:[2,118],25:[2,118],26:[2,118],49:[2,118],54:[2,118],57:[2,118],66:[2,118],67:[2,118],68:[2,118],69:[2,118],71:[2,118],73:[2,118],74:[2,118],78:[2,118],84:[2,118],85:[2,118],86:[2,118],91:[2,118],93:[2,118],102:[2,118],104:[2,118],105:[2,118],106:[2,118],110:[2,118],118:[2,118],126:[2,118],128:[2,118],129:[2,118],132:[2,118],133:[2,118],134:[2,118],135:[2,118],136:[2,118],137:[2,118]},{6:[2,125],25:[2,125],26:[2,125],54:[2,125],86:[2,125],91:[2,125]},{6:[2,52],25:[2,52],26:[2,52],53:319,54:[1,226]},{6:[2,126],25:[2,126],26:[2,126],54:[2,126],86:[2,126],91:[2,126]},{1:[2,167],6:[2,167],25:[2,167],26:[2,167],49:[2,167],54:[2,167],57:[2,167],73:[2,167],78:[2,167],86:[2,167],91:[2,167],93:[2,167],102:[2,167],103:82,104:[2,167],105:[2,167],106:[2,167],109:83,110:[2,167],111:67,118:[1,320],126:[2,167],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,169],6:[2,169],25:[2,169],26:[2,169],49:[2,169],54:[2,169],57:[2,169],73:[2,169],78:[2,169],86:[2,169],91:[2,169],93:[2,169],102:[2,169],103:82,104:[2,169],105:[1,321],106:[2,169],109:83,110:[2,169],111:67,118:[2,169],126:[2,169],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,168],6:[2,168],25:[2,168],26:[2,168],49:[2,168],54:[2,168],57:[2,168],73:[2,168],78:[2,168],86:[2,168],91:[2,168],93:[2,168],102:[2,168],103:82,104:[2,168],105:[2,168],106:[2,168],109:83,110:[2,168],111:67,118:[2,168],126:[2,168],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[2,93],25:[2,93],26:[2,93],54:[2,93],78:[2,93]},{6:[2,52],25:[2,52],26:[2,52],53:322,54:[1,236]},{26:[1,323],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,247],25:[1,248],26:[1,324]},{26:[1,325]},{1:[2,175],6:[2,175],25:[2,175],26:[2,175],49:[2,175],54:[2,175],57:[2,175],73:[2,175],78:[2,175],86:[2,175],91:[2,175],93:[2,175],102:[2,175],104:[2,175],105:[2,175],106:[2,175],110:[2,175],118:[2,175],126:[2,175],128:[2,175],129:[2,175],132:[2,175],133:[2,175],134:[2,175],135:[2,175],136:[2,175],137:[2,175]},{26:[2,179],121:[2,179],123:[2,179]},{25:[2,131],54:[2,131],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,270],25:[1,271],26:[1,326]},{7:327,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:328,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[1,281],25:[1,282],26:[1,329]},{6:[2,40],25:[2,40],26:[2,40],54:[2,40],78:[2,40]},{6:[2,58],25:[2,58],26:[2,58],49:[2,58],54:[2,58]},{1:[2,173],6:[2,173],25:[2,173],26:[2,173],49:[2,173],54:[2,173],57:[2,173],73:[2,173],78:[2,173],86:[2,173],91:[2,173],93:[2,173],102:[2,173],104:[2,173],105:[2,173],106:[2,173],110:[2,173],118:[2,173],126:[2,173],128:[2,173],129:[2,173],132:[2,173],133:[2,173],134:[2,173],135:[2,173],136:[2,173],137:[2,173]},{6:[2,127],25:[2,127],26:[2,127],54:[2,127],86:[2,127],91:[2,127]},{1:[2,170],6:[2,170],25:[2,170],26:[2,170],49:[2,170],54:[2,170],57:[2,170],73:[2,170],78:[2,170],86:[2,170],91:[2,170],93:[2,170],102:[2,170],103:82,104:[2,170],105:[2,170],106:[2,170],109:83,110:[2,170],111:67,118:[2,170],126:[2,170],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,171],6:[2,171],25:[2,171],26:[2,171],49:[2,171],54:[2,171],57:[2,171],73:[2,171],78:[2,171],86:[2,171],91:[2,171],93:[2,171],102:[2,171],103:82,104:[2,171],105:[2,171],106:[2,171],109:83,110:[2,171],111:67,118:[2,171],126:[2,171],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[2,94],25:[2,94],26:[2,94],54:[2,94],78:[2,94]}],defaultActions:{58:[2,50],59:[2,51],89:[2,108],186:[2,88]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.location=t.loc,n}this.trace(e)},parse:function(e){function t(e){i.length=i.length-2*e,s.length=s.length-e,o.length=o.length-e}function n(){var e;return e=r.lexer.lex()||p,typeof e!="number"&&(e=r.symbols_[e]||e),e}var r=this,i=[0],s=[null],o=[],u=this.table,a="",f=0,l=0,c=0,h=2,p=1;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={});var d=this.lexer.yylloc;o.push(d);var v=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"?this.parseError=this.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;var m,g,y,b,w,E,S={},x,T,N,C;for(;;){y=i[i.length-1];if(this.defaultActions[y])b=this.defaultActions[y];else{if(m===null||typeof m=="undefined")m=n();b=u[y]&&u[y][m]}if(typeof b=="undefined"||!b.length||!b[0]){var k="";C=[];for(x in u[y])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");this.lexer.showPosition?k="Expecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":k="Unexpected "+(m==p?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.lexer.yylloc.first_line!==d.first_line&&(d=this.lexer.yylloc),this.parseError(k,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:d,expected:C})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+m);switch(b[0]){case 1:i.push(m),s.push(this.lexer.yytext),o.push(this.lexer.yylloc),i.push(b[1]),m=null,g?(m=g,g=null):(l=this.lexer.yyleng,a=this.lexer.yytext,f=this.lexer.yylineno,d=this.lexer.yylloc,c>0&&c--);break;case 2:T=this.productions_[b[1]][1],S.$=s[s.length-T],S._$={first_line:o[o.length-(T||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(T||1)].first_column,last_column:o[o.length-1].last_column},v&&(S._$.range=[o[o.length-(T||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.call(S,a,l,f,this.yy,b[1],s,o);if(typeof E!="undefined")return E;T&&(i=i.slice(0,-1*T*2),s=s.slice(0,-1*T),o=o.slice(0,-1*T)),i.push(this.productions_[b[1]][0]),s.push(S.$),o.push(S._$),N=u[i[i.length-2]][i[i.length-1]],i.push(N);break;case 3:return!0}}return!0}};undefined,r.prototype=i,i.Parser=r,n.exports=new r}),ace.define("ace/mode/coffee/nodes",["require","exports","module","ace/mode/coffee/scope","ace/mode/coffee/lexer","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt,rt,it,st,ot,ut,at,ft,lt,ct,ht,pt,dt,vt,mt,gt,yt,bt,wt,Et,St,xt={}.hasOwnProperty,Tt=function(e,t){function n(){this.constructor=e}for(var r in t)xt.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},Nt=[].indexOf||function(e){for(var t=0,n=this.length;t1&&e.level>=C?this.wrapInBraces(n):n)},t.prototype.compileRoot=function(e){var t,n,r,i,s,o,u,a,f,l;e.indent=e.bare?"":J,e.level=A,this.spaced=!0,e.scope=new W(null,this,null),l=e.locals||[];for(a=0,f=l.length;a=T?"(void 0)":"void 0")]},t}(o),t.Null=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Tt(t,e),t.prototype.isAssignable=D,t.prototype.isComplex=D,t.prototype.compileNode=function(){return[this.makeCode("null")]},t}(o),t.Bool=function(e){function t(e){this.val=e}return Tt(t,e),t.prototype.isAssignable=D,t.prototype.isComplex=D,t.prototype.compileNode=function(){return[this.makeCode(this.val)]},t}(o),t.Return=R=function(e){function t(e){e&&!e.unwrap().isUndefined&&(this.expression=e)}return Tt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=tt,t.prototype.makeReturn=K,t.prototype.jumps=K,t.prototype.compileToFragments=function(e,n){var r,i;return r=(i=this.expression)!=null?i.makeReturn():void 0,!r||r instanceof t?t.__super__.compileToFragments.call(this,e,n):r.compileToFragments(e,n)},t.prototype.compileNode=function(e){var t;return t=[],t.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(t=t.concat(this.expression.compileToFragments(e,L))),t.push(this.makeCode(";")),t},t}(o),t.Value=Z=function(e){function t(e,n,r){return!n&&e instanceof t?e:(this.base=e,this.properties=n||[],r&&(this[r]=!0),this)}return Tt(t,e),t.prototype.children=["base","properties"],t.prototype.add=function(e){return this.properties=this.properties.concat(e),this},t.prototype.hasProperties=function(){return!!this.properties.length},t.prototype.bareLiteral=function(e){return!this.properties.length&&this.base instanceof e},t.prototype.isArray=function(){return this.bareLiteral(i)},t.prototype.isRange=function(){return this.bareLiteral(q)},t.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},t.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},t.prototype.isSimpleNumber=function(){return this.bareLiteral(O)&&U.test(this.base.value)},t.prototype.isString=function(){return this.bareLiteral(O)&&w.test(this.base.value)},t.prototype.isRegex=function(){return this.bareLiteral(O)&&b.test(this.base.value)},t.prototype.isAtomic=function(){var e,t,n,r;r=this.properties.concat(this.base);for(t=0,n=r.length;t=0?"\n"+this.tab:"")+" */",(t||e.level)===A&&(n=e.indent+n),[this.makeCode("\n"),this.makeCode(n)]},t}(o),t.Call=a=function(e){function t(e,t,n){this.args=t!=null?t:[],this.soak=n,this.isNew=!1,this.isSuper=e==="super",this.variable=this.isSuper?null:e,e instanceof Z&&e.isNotCallable()&&e.error("literal is not a function")}return Tt(t,e),t.prototype.children=["variable","args"],t.prototype.newInstance=function(){var e,n;return e=((n=this.variable)!=null?n.base:void 0)||this.variable,e instanceof t&&!e.isNew?e.newInstance():this.isNew=!0,this},t.prototype.superReference=function(e){var t,n;return n=e.scope.namedMethod(),(n!=null?n.klass:void 0)?(t=[new r(new O("__super__"))],n["static"]&&t.push(new r(new O("constructor"))),t.push(new r(new O(n.name))),(new Z(new O(n.klass),t)).compile(e)):(n!=null?n.ctor:void 0)?""+n.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")},t.prototype.superThis=function(e){var t;return t=e.scope.method,t&&!t.klass&&t.context||"this"},t.prototype.unfoldSoak=function(e){var n,r,i,s,o,u,a,f,l;if(this.soak){if(this.variable){if(r=bt(e,this,"variable"))return r;f=(new Z(this.variable)).cacheReference(e),i=f[0],o=f[1]}else i=new O(this.superReference(e)),o=new Z(i);return o=new t(o,this.args),o.isNew=this.isNew,i=new O("typeof "+i.compile(e)+' === "function"'),new E(i,new Z(o),{soak:!0})}n=this,s=[];for(;;){if(n.variable instanceof t){s.push(n),n=n.variable;continue}if(!(n.variable instanceof Z))break;s.push(n);if(!((n=n.variable.base)instanceof t))break}l=s.reverse();for(u=0,a=l.length;u"+this.equals],a=p[0],i=p[1],n=this.stepNum?vt(this.stepNum[0])>0?""+a+" "+this.toVar:""+i+" "+this.toVar:u?(d=[vt(this.fromNum[0]),vt(this.toNum[0])],r=d[0],c=d[1],d,r<=c?""+a+" "+c:""+i+" "+c):(t=this.stepVar?""+this.stepVar+" > 0":""+this.fromVar+" <= "+this.toVar,""+t+" ? "+a+" "+this.toVar+" : "+i+" "+this.toVar),l=this.stepVar?""+s+" += "+this.stepVar:u?f?r<=c?"++"+s:"--"+s:r<=c?""+s+"++":""+s+"--":f?""+t+" ? ++"+s+" : --"+s:""+t+" ? "+s+"++ : "+s+"--",f&&(h=""+o+" = "+h),f&&(l=""+o+" = "+l),[this.makeCode(""+h+"; "+n+"; "+l)]):this.compileArray(e)},t.prototype.compileArray=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v;if(this.fromNum&&this.toNum&&Math.abs(this.fromNum-this.toNum)<=20)return f=function(){v=[];for(var e=p=+this.fromNum,t=+this.toNum;p<=t?e<=t:e>=t;p<=t?e++:e--)v.push(e);return v}.apply(this),this.exclusive&&f.pop(),[this.makeCode("["+f.join(", ")+"]")];o=this.tab+J,s=e.scope.freeVariable("i"),l=e.scope.freeVariable("results"),a="\n"+o+l+" = [];",this.fromNum&&this.toNum?(e.index=s,n=at(this.compileNode(e))):(c=""+s+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),r=""+this.fromVar+" <= "+this.toVar,n="var "+c+"; "+r+" ? "+s+" <"+this.equals+" "+this.toVar+" : "+s+" >"+this.equals+" "+this.toVar+"; "+r+" ? "+s+"++ : "+s+"--"),u="{ "+l+".push("+s+"); }\n"+o+"return "+l+";\n"+e.indent,i=function(e){return e!=null?e.contains(ft):void 0};if(i(this.from)||i(this.to))t=", arguments";return[this.makeCode("(function() {"+a+"\n"+o+"for ("+n+")"+u+"}).apply(this"+(t!=null?t:"")+")")]},t}(o),t.Slice=X=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return Tt(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,r,i,s,o,u;u=this.range,s=u.to,r=u.from,i=r&&r.compileToFragments(e,L)||[this.makeCode("0")];if(s){t=s.compileToFragments(e,L),n=at(t);if(!!this.range.exclusive||+n!==-1)o=", "+(this.range.exclusive?n:U.test(n)?""+(+n+1):(t=s.compileToFragments(e,T),"+"+at(t)+" + 1 || 9e9"))}return[this.makeCode(".slice("+at(i)+(o||"")+")")]},t}(o),t.Obj=H=function(e){function t(e,t){this.generated=t!=null?t:!1,this.objects=this.properties=e||[]}return Tt(t,e),t.prototype.children=["properties"],t.prototype.compileNode=function(e){var t,n,r,i,o,u,a,f,l,c,p,d,v;l=this.properties;if(!l.length)return[this.makeCode(this.front?"({})":"{}")];if(this.generated)for(c=0,d=l.length;c=0?(t.unshift(this.makeCode("[\n"+e.indent)),t.push(this.makeCode("\n"+this.tab+"]"))):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.assigns=function(e){var t,n,r,i;i=this.objects;for(n=0,r=i.length;n=0&&this.variable.error("class variable name may not be "+e),e&&(e=g.test(e)&&e)):null},t.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){if(t.classBody)return!1;if(t instanceof O&&t.value==="this")return t.value=e;if(t instanceof l){t.klass=e;if(t.bound)return t.context=e}})},t.prototype.addBoundFunctions=function(e){var t,n,i,s,o;o=this.boundFuncs;for(i=0,s=o.length;i=0),i&&this.context!=="object"&&this.variable.error('variable name may not be "'+s+'"')}return Tt(t,e),t.prototype.children=["variable","value"],t.prototype.isStatement=function(e){return(e!=null?e.level:void 0)===A&&this.context!=null&&Nt.call(this.context,"?")>=0},t.prototype.assigns=function(e){return this[this.context==="object"?"value":"variable"].assigns(e)},t.prototype.unfoldSoak=function(e){return bt(e,this,"variable")},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,c;if(r=this.variable instanceof Z){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if((a=this.context)==="||="||a==="&&="||a==="?=")return this.compileConditional(e)}n=this.variable.compileToFragments(e,C),s=at(n);if(!this.context){u=this.variable.unwrapAll(),u.isAssignable()||this.variable.error('"'+this.variable.compile(e)+'" cannot be assigned');if(typeof u.hasProperties=="function"?!u.hasProperties():!void 0)this.param?e.scope.add(s,"var"):e.scope.find(s)}return this.value instanceof l&&(i=M.exec(s))&&(i[2]&&(this.value.klass=i[1]),this.value.name=(f=(c=i[3])!=null?c:i[4])!=null?f:i[5]),o=this.value.compileToFragments(e,C),this.context==="object"?n.concat(this.makeCode(": "),o):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),o),e.level<=C?t:this.wrapInBraces(t))},t.prototype.compilePatternMatch=function(e){var n,i,s,o,u,a,f,l,c,h,p,d,v,m,y,b,w,E,S,T,N,L,M,_,D,P,H,B;b=e.level===A,E=this.value,p=this.variable.base.objects;if(!(d=p.length))return s=E.compileToFragments(e),e.level>=k?this.wrapInBraces(s):s;f=this.variable.isObject();if(!b||d!==1||(h=p[0])instanceof V){S=E.compileToFragments(e,C),T=at(S),i=[],y=!1;if(!g.test(T)||this.variable.assigns(T))i.push([this.makeCode(""+(v=e.scope.freeVariable("ref"))+" = ")].concat(Ct.call(S))),S=[this.makeCode(v)],T=v;for(u=N=0,L=p.length;N=0&&h.error("assignment to a reserved word: "+h.compile(e)),i.push((new t(h,w,null,{param:this.param,subpattern:!0})).compileToFragments(e,C));return!b&&!this.subpattern&&i.push(S),o=this.joinFragmentArrays(i,", "),e.level=0)&&h.error("assignment to a reserved word: "+h.compile(e)),(new t(h,E,null,{param:this.param})).compileToFragments(e,A)},t.prototype.compileConditional=function(e){var n,r,i,s;return s=this.variable.cacheReference(e),r=s[0],i=s[1],!r.properties.length&&r.base instanceof O&&r.base.value!=="this"&&!e.scope.check(r.base.value)&&this.variable.error('the variable "'+r.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before"),Nt.call(this.context,"?")>=0?(e.isExistentialEquals=!0,(new E(new p(r),i,{type:"if"})).addElse(new t(i,this.value,"=")).compileToFragments(e)):(n=(new B(this.context.slice(0,-1),r,new t(i,this.value,"="))).compileToFragments(e),e.level<=C?n:this.wrapInBraces(n))},t.prototype.compileSplice=function(e){var t,n,r,i,s,o,u,a,f,l,c,h;return l=this.variable.properties.pop().range,r=l.from,u=l.to,n=l.exclusive,o=this.variable.compile(e),r?(c=this.cacheToCodeFragments(r.cache(e,k)),i=c[0],s=c[1]):i=s="0",u?r instanceof Z&&r.isSimpleNumber()&&u instanceof Z&&u.isSimpleNumber()?(u=u.compile(e)-s,n||(u+=1)):(u=u.compile(e,T)+" - "+s,n||(u+=" + 1")):u="9e9",h=this.value.cache(e,C),a=h[0],f=h[1],t=[].concat(this.makeCode("[].splice.apply("+o+", ["+i+", "+u+"].concat("),a,this.makeCode(")), "),f),e.level>A?this.wrapInBraces(t):t},t}(o),t.Code=l=function(e){function t(e,t,n){this.params=e||[],this.body=t||new u,this.bound=n==="boundfunc"}return Tt(t,e),t.prototype.children=["params","body"],t.prototype.isStatement=function(){return!!this.ctor},t.prototype.jumps=D,t.prototype.makeScope=function(e){return new W(e,this.body,this)},t.prototype.compileNode=function(e){var n,r,o,f,l,c,h,p,d,v,m,g,y,b,w,S,x,N,C,k,L,A,M,_,D,P,H,F,I,q,R,U,z;this.bound&&((F=e.scope.method)!=null?F.bound:void 0)&&(this.context=e.scope.method.context);if(this.bound&&!this.context)return this.context="_this",w=new t([new j(new O(this.context))],new u([this])),r=new a(w,[new O("this")]),r.updateLocationDataIfMissing(this.locationData),r.compileNode(e);e.scope=it(e,"classScope")||this.makeScope(e.scope),e.scope.shared=it(e,"sharedScope"),e.indent+=J,delete e.bare,delete e.isExistentialEquals,d=[],f=[],I=this.params;for(S=0,k=I.length;S=T?this.wrapInBraces(n):n},t.prototype.eachParamName=function(e){var t,n,r,i,s;i=this.params,s=[];for(n=0,r=i.length;n=0)&&this.name.error('parameter name "'+e+'" is not allowed')}return Tt(t,e),t.prototype.children=["name","value"],t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e,C)},t.prototype.asReference=function(e){var t;return this.reference?this.reference:(t=this.name,t["this"]?(t=t.properties[0].name,t.value.reserved&&(t=new O(e.scope.freeVariable(t.value)))):t.isComplex()&&(t=new O(e.scope.freeVariable("arg"))),t=new Z(t),this.splat&&(t=new V(t)),t.updateLocationDataIfMissing(this.locationData),this.reference=t)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.eachName=function(e,t){var n,r,i,o,u,a;t==null&&(t=this.name),n=function(t){var n;n=t.properties[0].name;if(!n.value.reserved)return e(n.value,n)};if(t instanceof O)return e(t.value,t);if(t instanceof Z)return n(t);a=t.objects;for(o=0,u=a.length;o=n.length)return[];if(n.length===1)return c=n[0],a=c.compileToFragments(e,C),r?a:[].concat(c.makeCode(""+wt("slice")+".call("),a,c.makeCode(")"));i=n.slice(l);for(f=h=0,p=i.length;h1?n.expressions.unshift(new E((new F(this.guard)).invert(),new O("continue"))):this.guard&&(n=u.wrap([new E(this.guard,n)]))),n=[].concat(this.makeCode("\n"),n.compileToFragments(e,A),this.makeCode("\n"+this.tab))),t=[].concat(this.makeCode(i+this.tab+"while ("),this.condition.compileToFragments(e,L),this.makeCode(") {"),n,this.makeCode("}")),this.returns&&t.push(this.makeCode("\n"+this.tab+"return "+r+";")),t},t}(o),t.Op=B=function(e){function t(e,t,r,i){if(e==="in")return new S(t,r);if(e==="do")return this.generateDo(t);if(e==="new"){if(t instanceof a&&!t["do"]&&!t.isNew)return t.newInstance();if(t instanceof l&&t.bound||t["do"])t=new F(t)}return this.operator=n[e]||e,this.first=t,this.second=r,this.flip=!!i,this}var n,r;return Tt(t,e),n={"==":"===","!=":"!==",of:"in"},r={"!==":"===","===":"!=="},t.prototype.children=["first","second"],t.prototype.isSimpleNumber=D,t.prototype.isUnary=function(){return!this.second},t.prototype.isComplex=function(){var e;return!this.isUnary()||(e=this.operator)!=="+"&&e!=="-"||this.first.isComplex()},t.prototype.isChainable=function(){var e;return(e=this.operator)==="<"||e===">"||e===">="||e==="<="||e==="==="||e==="!=="},t.prototype.invert=function(){var e,n,i,s,o;if(this.isChainable()&&this.first.isChainable()){e=!0,n=this;while(n&&n.operator)e&&(e=n.operator in r),n=n.first;if(!e)return(new F(this)).invert();n=this;while(n&&n.operator)n.invert=!n.invert,n.operator=r[n.operator],n=n.first;return this}return(s=r[this.operator])?(this.operator=s,this.first.unwrap()instanceof t&&this.first.invert(),this):this.second?(new F(this)).invert():this.operator==="!"&&(i=this.first.unwrap())instanceof t&&((o=i.operator)==="!"||o==="in"||o==="instanceof")?i:new t("!",this)},t.prototype.unfoldSoak=function(e){var t;return((t=this.operator)==="++"||t==="--"||t==="delete")&&bt(e,this,"first")},t.prototype.generateDo=function(e){var t,n,r,i,o,u,f,c;i=[],n=e instanceof s&&(o=e.value.unwrap())instanceof l?o:e,c=n.params||[];for(u=0,f=c.length;u=0)&&this.error('cannot increment/decrement "'+this.first.unwrapAll().value+'"'),this.isUnary()?this.compileUnary(e):n?this.compileChain(e):this.operator==="?"?this.compileExistence(e):(t=[].concat(this.first.compileToFragments(e,k),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,k)),e.level<=k?t:this.wrapInBraces(t))},t.prototype.compileChain=function(e){var t,n,r,i;return i=this.first.second.cache(e),this.first.second=i[0],r=i[1],n=this.first.compileToFragments(e,k),t=n.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),r.compileToFragments(e),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,k)),this.wrapInBraces(t)},t.prototype.compileExistence=function(e){var t,n;return this.first.isComplex()?(n=new O(e.scope.freeVariable("ref")),t=new F(new s(n,this.first))):(t=this.first,n=t),(new E(new p(t),n,{type:"if"})).addElse(this.second).compileToFragments(e)},t.prototype.compileUnary=function(e){var n,r,i;r=[],n=this.operator,r.push([this.makeCode(n)]);if(n==="!"&&this.first instanceof p)return this.first.negated=!this.first.negated,this.first.compileToFragments(e);if(e.level>=T)return(new F(this)).compileToFragments(e);i=n==="+"||n==="-",(n==="new"||n==="typeof"||n==="delete"||i&&this.first instanceof t&&this.first.operator===n)&&r.push([this.makeCode(" ")]);if(i&&this.first instanceof t||n==="new"&&this.first.isStatement(e))this.first=new F(this.first);return r.push(this.first.compileToFragments(e,k)),this.flip&&r.reverse(),this.joinFragmentArrays(r,"")},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},t}(o),t.In=S=function(e){function t(e,t){this.object=e,this.array=t}return Tt(t,e),t.prototype.children=["object","array"],t.prototype.invert=_,t.prototype.compileNode=function(e){var t,n,r,i,s;if(this.array instanceof Z&&this.array.isArray()){s=this.array.base.objects;for(r=0,i=s.length;r= 0"))),at(r)===at(n)?t:(t=r.concat(this.makeCode(", "),t),e.level= 0",this.step?(j?c&&(r=i,o=a):(r=""+I+" > 0 ? "+r+" : "+i,o="("+I+" > 0 ? ("+o+") : "+a+")"),v=""+y+" += "+I):v=""+(b!==y?"++"+y:""+y+"++"),h=[this.makeCode(""+o+"; "+r+"; "+w+v)])),this.returns&&(L=""+this.tab+_+" = [];\n",M="\n"+this.tab+"return "+_+";",t.makeReturn(_)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new E((new F(this.guard)).invert(),new O("continue"))):this.guard&&(t=u.wrap([new E(this.guard,t)]))),this.pattern&&t.expressions.unshift(new s(this.name,new O(""+q+"["+b+"]"))),l=[].concat(this.makeCode(f),this.pluckDirectCall(e,t)),N&&(U="\n"+d+N+";"),this.object&&(h=[this.makeCode(""+b+" in "+q)],this.own&&(p="\n"+d+"if (!"+wt("hasProp")+".call("+q+", "+b+")) continue;")),n=t.compileToFragments(pt(e,{indent:d}),A),n&&n.length>0&&(n=[].concat(this.makeCode("\n"),n,this.makeCode("\n"))),[].concat(l,this.makeCode(""+(L||"")+this.tab+"for ("),h,this.makeCode(") {"+p+U),n,this.makeCode(""+this.tab+"}"+(M||"")))},t.prototype.pluckDirectCall=function(e,t){var n,r,i,o,u,f,c,h,p,d,v,m,g,y,b,w;r=[],d=t.expressions;for(u=h=0,p=d.length;h0&&(o=o.concat(n,this.makeCode("\n")));if(u===this.cases.length-1&&!this.otherwise)break;s=this.lastNonComment(t.expressions);if(s instanceof R||s instanceof O&&s.jumps()&&s.value!=="debugger")continue;o.push(r.makeCode(f+"break;\n"))}return this.otherwise&&this.otherwise.expressions.length&&o.push.apply(o,[this.makeCode(a+"default:\n")].concat(Ct.call(this.otherwise.compileToFragments(e,A)),[this.makeCode("\n")])),o.push(this.makeCode(this.tab+"}")),o},t}(o),t.If=E=function(e){function t(e,t,n){this.body=t,n==null&&(n={}),this.condition=n.type==="unless"?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=n.soak}return Tt(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return(e=this.body)!=null?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return(e=this.elseBody)!=null?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e),this.elseBody.updateLocationDataIfMissing(e.locationData)),this},t.prototype.isStatement=function(e){var t;return(e!=null?e.level:void 0)===A||this.bodyNode().isStatement(e)||((t=this.elseBodyNode())!=null?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||((t=this.elseBody)!=null?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.isStatement(e)?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new u([new O("void 0")]))),this.body&&(this.body=new u([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new u([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof u?e:new u([e])},t.prototype.compileStatement=function(e){var n,r,i,s,o,u,a;return i=it(e,"chainChild"),o=it(e,"isExistentialEquals"),o?(new t(this.condition.invert(),this.elseBodyNode(),{type:"if"})).compileToFragments(e):(a=e.indent+J,s=this.condition.compileToFragments(e,L),r=this.ensureBlock(this.body).compileToFragments(pt(e,{indent:a})),u=[].concat(this.makeCode("if ("),s,this.makeCode(") {\n"),r,this.makeCode("\n"+this.tab+"}")),i||u.unshift(this.makeCode(this.tab)),this.elseBody?(n=u.concat(this.makeCode(" else ")),this.isChain?(e.chainChild=!0,n=n.concat(this.elseBody.unwrap().compileToFragments(e,A))):n=n.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(pt(e,{indent:a}),A),this.makeCode("\n"+this.tab+"}")),n):u)},t.prototype.compileExpression=function(e){var t,n,r,i;return r=this.condition.compileToFragments(e,N),n=this.bodyNode().compileToFragments(e,C),t=this.elseBodyNode()?this.elseBodyNode().compileToFragments(e,C):[this.makeCode("void 0")],i=r.concat(this.makeCode(" ? "),n,this.makeCode(" : "),t),e.level>=N?this.wrapInBraces(i):i},t.prototype.unfoldSoak=function(){return this.soak&&this},t}(o),Y={"extends":function(){return"function(child, parent) { for (var key in parent) { if ("+wt("hasProp")+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},A=1,L=2,C=3,N=4,k=5,T=6,J=" ",y="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",g=RegExp("^"+y+"$"),U=/^[+-]?\d+$/,m=/^[+-]?0x[\da-f]+/i,P=/^[+-]?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)$/i,M=RegExp("^("+y+")(\\.prototype)?(?:\\.("+y+")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\])$"),w=/^['"]/,b=/^\//,wt=function(e){var t;return t="__"+e,W.root.assign(t,Y[e]()),t},dt=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")},vt=function(e){return e==null?0:e.match(m)?parseInt(e,16):parseFloat(e)},ft=function(e){return e instanceof O&&e.value==="arguments"&&!e.asKey},lt=function(e){return e instanceof O&&e.value==="this"&&!e.asKey||e instanceof l&&e.bound||e instanceof a&&e.isSuper},bt=function(e,t,n){var r;if(!(r=t[n].unfoldSoak(e)))return;return t[n]=r.body,r.body=new Z(t),r}}),ace.define("ace/mode/coffee/scope",["require","exports","module","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o;o=e("./helpers"),i=o.extend,s=o.last,t.Scope=r=function(){function e(t,n,r){this.parent=t,this.expressions=n,this.method=r,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(e.root=this)}return e.root=null,e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){var e;return((e=this.method)!=null?e.name:void 0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){if(this.shared&&this.parent.check(e,!0))return;return this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||((t=this.parent)!=null?t.check(e):void 0))},e.prototype.temporary=function(e,t){return e.length>1?"_"+e+(t>1?t-1:""):"_"+(t+parseInt(e,36)).toString(36).replace(/\d/g,"a")},e.prototype.type=function(e){var t,n,r,i;i=this.variables;for(n=0,r=i.length;n0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+tu)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowthis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/mode/css/csslint",["require","exports","module"],function(require,exports,module){function Reporter(e,t){this.messages=[],this.stats=[],this.lines=e,this.ruleset=t}var parserlib={};(function(){function e(){this._listeners={}}function t(e){this._input=e.replace(/\n\r?/g,"\n"),this._line=1,this._col=1,this._cursor=0}function n(e,t,n){this.col=n,this.line=t,this.message=e}function r(e,t,n,r){this.col=n,this.line=t,this.text=e,this.type=r}function i(e,n){this._reader=e?new t(e.toString()):null,this._token=null,this._tokenData=n,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}e.prototype={constructor:e,addListener:function(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)},fire:function(e){typeof e=="string"&&(e={type:e}),typeof e.target!="undefined"&&(e.target=this);if(typeof e.type=="undefined")throw new Error("Event object missing 'type' property.");if(this._listeners[e.type]){var t=this._listeners[e.type].concat();for(var n=0,r=t.length;n=0&&this._ltIndex-1&&!t[u.type].hide&&(u.channel=t[u.type].channel,this._token=u,this._lt.push(u),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),a=t[u.type],a&&(a.hide||a.channel!==undefined&&e!==a.channel)?this.get(e):u.type},LA:function(e){var t=e,n;if(e>0){if(e>5)throw new Error("Too much lookahead.");while(t)n=this.get(),t--;while(tthis._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:t,SyntaxError:n,SyntaxUnit:r,EventTarget:e,TokenStreamBase:i}})(),function(){function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":e==">"?this.type="child":e=="+"?this.type="adjacent-sibling":e=="~"&&(this.type="sibling")}function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:"")+")",e.startLine,e.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t:"")+(t&&n.length>0?" and ":"")+n.join(" and "),r,i,Parser.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}function Parser(e){EventTarget.call(this),this.options=e||{},this._tokenStream=null}function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERTY_NAME_TYPE),this.hack=t}function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.PROPERTY_VALUE_TYPE),this.parts=e}function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2;switch(this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":case"vh":case"vw":case"vm":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,temp.length==3?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SELECTOR_TYPE),this.parts=e,this.specificity=Specificity.calculate(this)}function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function isHexDigit(e){return e!==null&&h.test(e)}function isDigit(e){return e!==null&&/\d/.test(e)}function isWhitespace(e){return e!==null&&/\s/.test(e)}function isNewLine(e){return e!==null&&nl.test(e)}function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.test(e))}function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",activeBorder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var e=new EventTarget,t,n={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e=this._tokenStream,t=null,n,r,i;this.fire("startstylesheet"),this._charset(),this._skipCruft();while(e.peek()==Tokens.IMPORT_SYM)this._import(),this._skipCruft();while(e.peek()==Tokens.NAMESPACE_SYM)this._namespace(),this._skipCruft();i=e.peek();while(i>Tokens.EOF){try{switch(i){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:e.get();if(!!this.options.strict)throw new SyntaxError("Unknown @ rule.",e.LT(0).startLine,e.LT(0).startCol);this.fire({type:"error",error:null,message:"Unknown @ rule: "+e.LT(0).value+".",line:e.LT(0).startLine,col:e.LT(0).startCol}),n=0;while(e.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE)n++;while(n)e.advance([Tokens.RBRACE]),n--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(i){case Tokens.CHARSET_SYM:throw r=e.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",r.startLine,r.startCol);case Tokens.IMPORT_SYM:throw r=e.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",r.startLine,r.startCol);case Tokens.NAMESPACE_SYM:throw r=e.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",r.startLine,r.startCol);default:e.get(),this._unexpectedToken(e.token())}}}catch(s){if(!(s instanceof SyntaxError&&!this.options.strict))throw s;this.fire({type:"error",error:s,message:s.message,line:s.line,col:s.col})}i=e.peek()}i!=Tokens.EOF&&this._unexpectedToken(e.token()),this.fire("endstylesheet")},_charset:function(e){var t=this._tokenStream,n,r,i,s;t.match(Tokens.CHARSET_SYM)&&(i=t.token().startLine,s=t.token().startCol,this._readWhitespace(),t.mustMatch(Tokens.STRING),r=t.token(),n=r.value,this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),e!==!1&&this.fire({type:"charset",charset:n,line:i,col:s}))},_import:function(e){var t=this._tokenStream,n,r,i,s=[];t.mustMatch(Tokens.IMPORT_SYM),i=t.token(),this._readWhitespace(),t.mustMatch([Tokens.STRING,Tokens.URI]),r=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),s=this._media_query_list(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"import",uri:r,media:s,line:i.startLine,col:i.startCol})},_namespace:function(e){var t=this._tokenStream,n,r,i,s;t.mustMatch(Tokens.NAMESPACE_SYM),n=t.token().startLine,r=t.token().startCol,this._readWhitespace(),t.match(Tokens.IDENT)&&(i=t.token().value,this._readWhitespace()),t.mustMatch([Tokens.STRING,Tokens.URI]),s=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"namespace",prefix:i,uri:s,line:n,col:r})},_media:function(){var e=this._tokenStream,t,n,r;e.mustMatch(Tokens.MEDIA_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),r=this._media_query_list(),e.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:r,line:t,col:n});for(;;)if(e.peek()==Tokens.PAGE_SYM)this._page();else if(e.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(!this._ruleset())break;e.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:r,line:t,col:n})},_media_query_list:function(){var e=this._tokenStream,t=[];this._readWhitespace(),(e.peek()==Tokens.IDENT||e.peek()==Tokens.LPAREN)&&t.push(this._media_query());while(e.match(Tokens.COMMA))this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];e.match(Tokens.IDENT)&&(n=e.token().value.toLowerCase(),n!="only"&&n!="not"?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()==Tokens.IDENT?(t=this._media_type(),r===null&&(r=e.token())):e.peek()==Tokens.LPAREN&&(r===null&&(r=e.LT(1)),i.push(this._media_expression()));if(t===null&&i.length===0)return null;this._readWhitespace();while(e.match(Tokens.IDENT))e.token().value.toLowerCase()!="and"&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new MediaQuery(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e=this._tokenStream,t=null,n,r=null;return e.mustMatch(Tokens.LPAREN),t=this._media_feature(),this._readWhitespace(),e.match(Tokens.COLON)&&(this._readWhitespace(),n=e.LT(1),r=this._expression()),e.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(t,r?new SyntaxUnit(r,n.startLine,n.startCol):null)},_media_feature:function(){var e=this._tokenStream;return e.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(e.token())},_page:function(){var e=this._tokenStream,t,n,r=null,i=null;e.mustMatch(Tokens.PAGE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),e.match(Tokens.IDENT)&&(r=e.token().value,r.toLowerCase()==="auto"&&this._unexpectedToken(e.token())),e.peek()==Tokens.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:t,col:n}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:t,col:n})},_margin:function(){var e=this._tokenStream,t,n,r=this._margin_sym();return r?(t=e.token().startLine,n=e.token().startCol,this.fire({type:"startpagemargin",margin:r,line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:r,line:t,col:n}),!0):!1},_margin_sym:function(){var e=this._tokenStream;return e.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(Tokens.COLON),e.mustMatch(Tokens.IDENT),e.token().value},_font_face:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.FONT_FACE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endfontface",line:t,col:n})},_viewport:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.VIEWPORT_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startviewport",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endviewport",line:t,col:n})},_operator:function(e){var t=this._tokenStream,n=null;if(t.match([Tokens.SLASH,Tokens.COMMA])||e&&t.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))n=t.token(),this._readWhitespace();return n?PropertyValuePart.fromToken(n):null},_combinator:function(){var e=this._tokenStream,t=null,n;return e.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(n=e.token(),t=new Combinator(n.value,n.startLine,n.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([Tokens.MINUS,Tokens.PLUS])?e.token().value:null},_property:function(){var e=this._tokenStream,t=null,n=null,r,i,s,o;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),i=e.token(),n=i.value,s=i.startLine,o=i.startCol),e.match(Tokens.IDENT)&&(i=e.token(),r=i.value,r.charAt(0)=="_"&&this.options.underscoreHack&&(n="_",r=r.substring(1)),t=new PropertyName(r,n,s||i.startLine,o||i.startCol),this._readWhitespace()),t},_ruleset:function(){var e=this._tokenStream,t,n;try{n=this._selectors_group()}catch(r){if(r instanceof SyntaxError&&!this.options.strict){this.fire({type:"error",error:r,message:r.message,line:r.line,col:r.col}),t=e.advance([Tokens.RBRACE]);if(t!=Tokens.RBRACE)throw r;return!0}throw r}return n&&(this.fire({type:"startrule",selectors:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:n,line:n[0].line,col:n[0].col})),n},_selectors_group:function(){var e=this._tokenStream,t=[],n;n=this._selector();if(n!==null){t.push(n);while(e.match(Tokens.COMMA))this._readWhitespace(),n=this._selector(),n!==null?t.push(n):this._unexpectedToken(e.LT(1))}return t.length?t:null},_selector:function(){var e=this._tokenStream,t=[],n=null,r=null,i=null;n=this._simple_selector_sequence();if(n===null)return null;t.push(n);do{r=this._combinator();if(r!==null)t.push(r),n=this._simple_selector_sequence(),n===null?this._unexpectedToken(e.LT(1)):t.push(n);else{if(!this._readWhitespace())break;i=new Combinator(e.token().value,e.token().startLine,e.token().startCol),r=this._combinator(),n=this._simple_selector_sequence(),n===null?r!==null&&this._unexpectedToken(e.LT(1)):(r!==null?t.push(r):t.push(i),t.push(n))}}while(!0);return new Selector(t,t[0].line,t[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],s=0,o=i.length,u=null,a=!1,f,l;f=e.LT(1).startLine,l=e.LT(1).startCol,t=this._type_selector(),t||(t=this._universal()),t!==null&&(r+=t);for(;;){if(e.peek()===Tokens.S)break;while(s1&&e.unget()),null)},_class:function(){var e=this._tokenStream,t;return e.match(Tokens.DOT)?(e.mustMatch(Tokens.IDENT),t=e.token(),new SelectorSubPart("."+t.value,"class",t.startLine,t.startCol-1)):null},_element_name:function(){var e=this._tokenStream,t;return e.match(Tokens.IDENT)?(t=e.token(),new SelectorSubPart(t.value,"elementName",t.startLine,t.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";if(e.LA(1)===Tokens.PIPE||e.LA(2)===Tokens.PIPE)e.match([Tokens.IDENT,Tokens.STAR])&&(t+=e.token().value),e.mustMatch(Tokens.PIPE),t+="|";return t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n;return n=this._namespace_prefix(),n&&(t+=n),e.match(Tokens.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e=this._tokenStream,t=null,n,r;return e.match(Tokens.LBRACKET)?(r=e.token(),t=r.value,t+=this._readWhitespace(),n=this._namespace_prefix(),n&&(t+=n),e.mustMatch(Tokens.IDENT),t+=e.token().value,t+=this._readWhitespace(),e.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(t+=e.token().value,t+=this._readWhitespace(),e.mustMatch([Tokens.IDENT,Tokens.STRING]),t+=e.token().value,t+=this._readWhitespace()),e.mustMatch(Tokens.RBRACKET),new SelectorSubPart(t+"]","attribute",r.startLine,r.startCol)):null},_pseudo:function(){var e=this._tokenStream,t=null,n=":",r,i;return e.match(Tokens.COLON)&&(e.match(Tokens.COLON)&&(n+=":"),e.match(Tokens.IDENT)?(t=e.token().value,r=e.token().startLine,i=e.token().startCol-n.length):e.peek()==Tokens.FUNCTION&&(r=e.LT(1).startLine,i=e.LT(1).startCol-n.length,t=this._functional_pseudo()),t&&(t=new SelectorSubPart(n+t,"pseudo",r,i))),t},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(Tokens.FUNCTION)&&(t=e.token().value,t+=this._readWhitespace(),t+=this._expression(),e.mustMatch(Tokens.RPAREN),t+=")"),t},_expression:function(){var e=this._tokenStream,t="";while(e.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]))t+=e.token().value,t+=this._readWhitespace();return t.length?t:null},_negation:function(){var e=this._tokenStream,t,n,r="",i,s=null;return e.match(Tokens.NOT)&&(r=e.token().value,t=e.token().startLine,n=e.token().startCol,r+=this._readWhitespace(),i=this._negation_arg(),r+=i,r+=this._readWhitespace(),e.match(Tokens.RPAREN),r+=e.token().value,s=new SelectorSubPart(r,"not",t,n),s.args.push(i)),s},_negation_arg:function(){var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,s,o,u,a;o=e.LT(1).startLine,u=e.LT(1).startCol;while(r0?new PropertyValue(n,n[0].line,n[0].col):null},_term:function(){var e=this._tokenStream,t=null,n=null,r,i,s;return t=this._unary_operator(),t!==null&&(i=e.token().startLine,s=e.token().startCol),e.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(n=this._ie_function(),t===null&&(i=e.token().startLine,s=e.token().startCol)):e.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(n=e.token().value,t===null&&(i=e.token().startLine,s=e.token().startCol),this._readWhitespace()):(r=this._hexcolor(),r===null?(t===null&&(i=e.LT(1).startLine,s=e.LT(1).startCol),n===null&&(e.LA(3)==Tokens.EQUALS&&this.options.ieFilters?n=this._ie_function():n=this._function())):(n=r.value,t===null&&(i=r.startLine,s=r.startCol))),n!==null?new PropertyValuePart(t!==null?t+n:n,i,s):null},_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match(Tokens.FUNCTION)){t=e.token().value,this._readWhitespace(),n=this._expr(!0),t+=n;if(this.options.ieFilters&&e.peek()==Tokens.EQUALS)do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_ie_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){t=e.token().value;do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_hexcolor:function(){var e=this._tokenStream,t=null,n;if(e.match(Tokens.HASH)){t=e.token(),n=t.value;if(!/#[a-f0-9]{3,6}/i.test(n))throw new SyntaxError("Expected a hex color but found '"+n+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e=this._tokenStream,t,n,r,i="";e.mustMatch(Tokens.KEYFRAMES_SYM),t=e.token(),/^@\-([^\-]+)\-/.test(t.value)&&(i=RegExp.$1),this._readWhitespace(),r=this._keyframe_name(),this._readWhitespace(),e.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),n=e.peek();while(n==Tokens.IDENT||n==Tokens.PERCENTAGE)this._keyframe_rule(),this._readWhitespace(),n=e.peek();this.fire({type:"endkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),e.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var e=this._tokenStream,t;return e.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(e.token())},_keyframe_rule:function(){var e=this._tokenStream,t,n=this._key_list();this.fire({type:"startkeyframerule",keys:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:n,line:n[0].line,col:n[0].col})},_key_list:function(){var e=this._tokenStream,t,n,r=[];r.push(this._key()),this._readWhitespace();while(e.match(Tokens.COMMA))this._readWhitespace(),r.push(this._key()),this._readWhitespace();return r},_key:function(){var e=this._tokenStream,t;if(e.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(e.token());if(e.match(Tokens.IDENT)){t=e.token();if(/from|to/i.test(t.value))return SyntaxUnit.fromToken(t);e.unget()}this._unexpectedToken(e.LT(1))},_skipCruft:function(){while(this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]));},_readDeclarations:function(e,t){var n=this._tokenStream,r;this._readWhitespace(),e&&n.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(!(n.match(Tokens.SEMICOLON)||t&&this._margin())){if(!this._declaration())break;if(!n.match(Tokens.SEMICOLON))break}this._readWhitespace()}n.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(i){if(!(i instanceof SyntaxError&&!this.options.strict))throw i;this.fire({type:"error",error:i,message:i.message,line:i.line,col:i.col}),r=n.advance([Tokens.SEMICOLON,Tokens.RBRACE]);if(r==Tokens.SEMICOLON)this._readDeclarations(!1,t);else if(r!=Tokens.RBRACE)throw i}},_readWhitespace:function(){var e=this._tokenStream,t="";while(e.match(Tokens.S))t+=e.token().value;return t},_unexpectedToken:function(e){throw new SyntaxError("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){Validation.validate(e,t)},parse:function(e){this._tokenStream=new TokenStream(e,Tokens),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new TokenStream(e,Tokens);var t=this._media_query();return this._verifyEnd(),t},parsePropertyValue:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._expr();return this._readWhitespace(),this._verifyEnd(),t},parseRule:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._ruleset();return this._readWhitespace(),this._verifyEnd(),t},parseSelector:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._selector();return this._readWhitespace(),this._verifyEnd(),t},parseStyleAttribute:function(e){e+="}",this._tokenStream=new TokenStream(e,Tokens),this._readDeclarations()}};for(t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}();var Properties={"alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | | ","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"
      \n \n
      \n \n\n
      \n'); + }).call(this); + + }).call(__obj); + __obj.safe = __objSafe, __obj.escape = __escape; + return __out.join(''); +}}, "templates/shared/menu": function(exports, require, module) {module.exports = function(__obj) { + if (!__obj) __obj = {}; + var __out = [], __capture = function(callback) { + var out = __out, result; + __out = []; + callback.call(this); + result = __out.join(''); + __out = out; + return __safe(result); + }, __sanitize = function(value) { + if (value && value.ecoSafe) { + return value; + } else if (typeof value !== 'undefined' && value != null) { + return __escape(value); + } else { + return ''; + } + }, __safe, __objSafe = __obj.safe, __escape = __obj.escape; + __safe = __obj.safe = function(value) { + if (value && value.ecoSafe) { + return value; + } else { + if (!(typeof value !== 'undefined' && value != null)) value = ''; + var result = new String(value); + result.ecoSafe = true; + return result; + } + }; + if (!__escape) { + __escape = __obj.escape = function(value) { + return ('' + value) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); + }; + } + (function() { + (function() { + __out.push('
      \n'); + }).call(this); + + }).call(__obj); + __obj.safe = __objSafe, __obj.escape = __escape; + return __out.join(''); +}}, "translations/en": function(exports, require, module) {(function() { + exports.translations = { + "Uber": "Uber", + "Sign Up": "Sign Up", + "Ride Request": "Ride Request", + "Invite Friends": "Invite Friends", + "Promotions": "Promotions", + "Billing": "Billing", + "Settings": "Settings", + "Forgot Password?": "Forgot Password?", + "Password Recovery": "Password Recovery", + "Login": "Login", + "Trip Detail": "Trip Detail", + "Password Reset": "Password Reset", + "Confirm Email": "Confirm Email", + "Request Ride": "Request Ride", + "Credit Card Number": "Credit Card Number", + "month": "month", + "01-Jan": "01-Jan", + "02-Feb": "02-Feb", + "03-Mar": "03-Mar", + "04-Apr": "04-Apr", + "05-May": "05-May", + "06-Jun": "06-Jun", + "07-Jul": "07-Jul", + "08-Aug": "08-Aug", + "09-Sep": "09-Sep", + "10-Oct": "10-Oct", + "11-Nov": "11-Nov", + "12-Dec": "12-Dec", + "year": "year", + "CVV": "CVV", + "Category": "Category", + "personal": "personal", + "business": "business", + "Default Credit Card": "Default Credit Card", + "Add Credit Card": "Add Credit Card", + "Expiry": "Expiry", + "default card": "default card", + "make default": "make default", + "Edit": "Edit", + "Delete": "Delete", + "Expiry Month": "Expiry Month", + "Expiry Year": "Expiry Year", + "Unable to Verify Card": "Unable to verify card at this time. Please try again later.", + "Credit Card Update Succeeded": "Your card has been successfully updated!", + "Credit Card Update Failed": "We couldn't save your changes. Please try again in a few minutes.", + "Credit Card Delete Succeeded": "Your card has been deleted!", + "Credit Card Delete Failed": "We were unable to delete your card. Please try again later.", + "Credit Card Update Category Succeeded": "Successfully changed card category!", + "Credit Card Update Category Failed": "We couldn't change your card category. Please try again in a few minutes.", + "Credit Card Update Default Succeeded": "Successfully changed default card!", + "Credit Card Update Default Failed": "We couldn't change your default card. Please try again in a few minutes.", + "Hello Greeting": "Hello, <%= name %>", + "Card Ending in": "Card Ending in", + "Trip Map": "Trip Map", + "Amount": "Amount: <%= amount %>", + "Last Attempt to Bill": "Last Attempt to Bill: <%= date %>", + "Charge": "Charge", + "Uber Credit Balance Note": "Your account has an UberCredit balance of <%= amount %>. When billing for trips, we'll deplete your UberCredit balance before applying charges to your credit card.", + "Please Add Credit Card": "Please add a credit card to bill your outstanding charges.", + "Credit Cards": "Credit Cards", + "add a new credit card": "add a new credit card", + "Account Balance": "Account Balance", + "Arrears": "Arrears", + "Billing Succeeded": "Your card was successfully billed.", + "Confirm Email Succeeded": "Successfully confirmed email token, redirecting to log in page...", + "Confirm Email Failed": "Unable to confirm email. Please contact support@uber.com if this problem persists.", + "Email Already Confirmed": "Your email address has already been confirmed, redirecting to log in page...", + "Credit Card Added": "Credit Card Added", + "No Credit Card": "No Credit Card", + "Mobile Number Confirmed": "Mobile Number Confirmed", + "No Confirmed Mobile": "No Confirmed Mobile", + "E-mail Address Confirmed": "E-mail Address Confirmed", + "No Confirmed E-mail": "No Confirmed E-mail", + 'Reply to sign up text': 'Reply "GO" to the text message you received at sign up.', + "Resend text message": "Resend text message", + "Click sign up link": "Click the link in the email you received at sign up.", + "Resend email": "Resend email", + "Add a credit card to ride": "Add a credit card and you'll be ready to ride Uber.", + "Your Most Recent Trip": "Your Most Recent Trip", + "details": "details", + "Your Trip History ": "Your Trip History ", + "Status": "Status", + "Here's how it works:": "Here's how it works:", + "Show all trips": "Show all trips", + "Set your location:": "Set your location:", + "App search for address": "iPhone/Android app: fix the pin or search for an address", + "SMS text address": "SMS: text your address to UBRCAB (827222)", + "Confirm pickup request": "Confirm your pickup request", + "Uber sends ETA": "Uber will send you an ETA (usually within 5-10 minutes)", + "Car arrives": "When your car is arriving, Uber will inform you again.", + "Ride to destination": "Hop in the car and tell the driver your destination.", + "Thank your driver": "That’s it! Please thank your driver but remember that your tip is included and no cash is necessary.", + "Trip started here": "Trip started here", + "Trip ended here": "Trip ended here", + "Sending Email": "Sending email...", + "Resend Email Succeeded": "We just sent the email. Please click on the confirmation link you recieve.", + "Resend Email Failed": "There was an error sending the email. Please contact support if the problem persists.", + "Resend Text Succeeded": 'We just sent the text message. Please reply "GO" to the message you recieve. It may take a few minutes for the message to reach you phone.', + "Resend Text Failed": "There was an error sending the text message. Please contact support if the problem persists.", + "Password Reset Error": "There was an error processing your password reset request.", + "New Password": "New Password", + "Forgot Password": "Forgot Password", + "Forgot Password Error": "Your email address could not be found. Please make sure to use the same email address you used when you signed up.", + "Forgot Password Success": "Please check your email for a link to reset your password.", + "Forgot Password Enter Email": 'Enter your email address and Uber will send you a link to reset your password. If you remember your password, you can sign in here.', + "Invite friends": "Invite friends", + "Give $ Get $": "Give $10, Get $10", + "Give $ Get $ Description": "Every friend you invite to Uber gets $10 of Uber credit. After someone you’ve invited takes his/her first ride, you get $10 of Uber credits too!", + "What are you waiting for?": "So, what are you waiting for? Invite away!", + "Tweet": "Tweet", + "Invite Link": "Email or IM this link to your friends:", + "Email Address": "Email Address", + "Reset Password": "Reset Password", + "Enter Promotion Code": "If you have a promotion code, enter it here:", + "Your Active Promotions": "Your Active Promotions", + "Code": "Code", + "Details": "Details", + "Trips Remaining": "Trips Remaining", + "Expires": "Expires", + "No Active Promotions": "There are no active promotions on your account.", + "Your Available Promotions": "Your Available Promotions", + "Where do you want us to pick you up?": "Where do you want us to pick you up?", + "Address to search": "Address to search", + "Search": "Search", + "Driver Name:": "Driver Name:", + "Driver #:": "Driver #:", + "Pickup Address:": "Pickup Address:", + "Add to Favorite Locations": "Add to Favorite Locations", + "Star": "Star", + "Nickname:": "Nickname:", + "Add": "Add", + "Your last trip": "Your last trip", + "Please rate your driver:": "Please rate your driver:", + "Comments: (optional)": "Comments: (optional)", + "Rate Trip": "Rate Trip", + "Pickup time:": "Pickup time:", + "Miles:": "Miles:", + "Trip time:": "Trip time:", + "Fare:": "Fare:", + "Favorite Locations": "Favorite Locations", + "Search Results": "Search Results", + "You have no favorite locations saved.": "You have no favorite locations saved.", + "Loading...": "Loading...", + "Request Pickup": "Request Pickup", + "Cancel Pickup": "Cancel Pickup", + "Requesting Closest Driver": "Requesting the closest driver to pick you up...", + "En Route": "You are currently en route...", + "Rate Last Trip": "Please rate your trip to make another request", + "Rate Before Submitting": "Please rate your trip before submitting the form", + "Address too short": "Address too short", + "or did you mean": "or did you mean", + "Search Address Failed": "Unable to find the given address. Please enter another address close to your location.", + "Sending pickup request...": "Sending pickup request...", + "Cancel Request Prompt": "Are you sure you want to cancel your request?", + "Cancel Request Arrived Prompt": 'Are you sure you want to cancel your request? Your driver has arrived so there is a $10 cancellation fee. It may help to call your driver now', + "Favorite Location Nickname Length Error": "Nickname has to be atleast 3 characters", + "Favorite Location Save Succeeded": "Location Saved!", + "Favorite Location Save Failed": "Unable to save your location. Please try again later.", + "Favorite Location Title": "Favorite Location <%= id %>", + "Search Location Title": "Search Location <%= id %>", + "ETA Message": "ETA: Around <%= minutes %> Minutes", + "Nearest Cab Message": "The closest driver is approximately <%= minutes %> minute(s) away", + "Arrival ETA Message": "Your Uber will arrive in about <%= minutes %> minute(s)", + "Arriving Now Message": "Your Uber is arriving now...", + "Rating Driver Failed": "Unable to contact server. Please try again later or email support if this issue persists.", + "Account Information": "Account Information", + "Mobile Phone Information": "Mobile Phone Information", + "settings": "settings", + "Information": "Information", + "Picture": "Picture", + "Change password": "Change password", + "Your current Picture": "Your current Picture", + "Your Favorite Locations": "Your Favorite Locations", + "You have no favorite locations saved.": "You have no favorite locations saved.", + "Purpose of Mobile": "We send text messages to your mobile phone to tell you when your driver is arriving. You can also request trips using text messages.", + "Country": "Country", + "Mobile Number": "Mobile Number", + "Submit": "Submit", + "Favorite Location": "Favorite Location", + "No Approximate Address": "Could not find an approximate address", + "Address:": "Address:", + "Information Update Succeeded": "Your information has been updated!", + "Information Update Failed": "We couldn't update your information. Please try again in few minutes or contact support if the problem persists.", + "Location Delete Succeeded": "Location deleted!", + "Location Delete Failed": "We were unable to delete your favorite location. Please try again later or contact support of the issue persists.", + "Location Edit Succeeded": "Changes Saved!", + "Location Edit Failed": "We couldn't save your changes. Please try again in a few minutes.", + "Picture Update Succeeded": "Your picture has been updated!", + "Picture Update Failed": "We couldn't change your picture. Please try again in a few minutes.", + "Personal Information": "Personal Information", + "Mobile Phone Number": "Mobile Phone Number", + "Payment Information": "Payment Information", + "Purpose of Credit Card": "We keep your credit card on file so that your trip go as fast as possible. You will not be charged until you take a trip.", + "Your card will not be charged until you take a trip.": "Your card will not be charged until you take a trip.", + "Credit Card Number": "Credit Card Number", + "Expiration Date": "Expiration Date", + "Promotion Code": "Promotion Code", + "Enter Promo Here": "If you have a code for a promotion, invitation or group deal, you can enter it here.", + "Promotion Code Input Label": "Promotion, Invite or Groupon Code (optional)", + "Terms and Conditions": "Terms and Conditions", + "HELP": "HELP", + "STOP": "STOP", + "Legal Information": "Legal Information", + "Sign Up Agreement": "By signing up, I agree to the Uber <%= terms_link %> and <%= privacy_link %> and understand that Uber is a request tool, not a transportation carrier.", + "Sign Up Agreement Error": "You must agree to the Uber Terms and Conditions and Privacy Policy to continue.", + "Message and Data Rates Disclosure": "Message and Data Rates May Apply. Reply <%= help_string %> to 827-222 for help. Reply <%= stop_string %> to 827-222 to stop texts. For additional assistance, visit support.uber.com or call (866) 576-1039. Supported Carriers: AT&T, Sprint, Verizon, and T-Mobile.", + "I Agree": "I agree to the Terms & Conditions and Privacy Policy", + "Security Code": "Security Code", + "Type of Card": "Type of Card", + "Personal": "Personal", + "Business": "Business", + "Code": "Code", + "Zip or Postal Code": "Zip or Postal Code", + "Your Trip": "Your Trip", + "Trip Info": "Trip Info", + "Request a fare review": "Request a fare review", + "Fare Review Submitted": "Your fare review has been submitted. We'll get back to you soon about your request. Sorry for any inconvenience this may have caused!", + "Fair Price Consideration": "We're committed to delivering Uber service at a fair price. Before requesting a fare review, please consider:", + "Your Fare Calculation": "Your Fare Calculation", + "Charges": "Charges", + "Discounts": "Discounts", + "Total Charge": "Total Charge", + "Uber pricing information": "Uber pricing information", + "Uber Pricing Information Message": "<%= learn_link %> is published on our website.", + "GPS Point Capture Disclosure": "Due to a finite number of GPS point captures, corners on your trip map may appear cut off or rounded. These minor inaccuracies result in a shorter measured distance, which always results in a cheaper trip.", + "Fare Review Note": "Please elaborate on why this trip requires a fare review. Your comments below will help us better establish the correct price for your trip:", + "Fare Review Error": "There was an error submitting the review. Please ensure that you have a message.", + "Sign In": "Sign In" + }; +}).call(this); +}, "translations/fr": function(exports, require, module) {(function() { + exports.translations = { + "Uber": "Uber", + "Sign Up": "Inscription", + "Ride Request": "Passer une Commande", + "Invite Friends": "Inviter vos Amis", + "Promotions": "Promotions", + "Billing": "Paiement", + "Settings": "Paramètres", + "Forgot Password?": "Mot de passe oublié ?", + "Password Recovery": "Récupération du mot de passe", + "Login": "Connexion", + "Trip Detail": "Détail de la Course", + "Password Reset": "Réinitialisation du mot de passe", + "Confirm Email": "Confirmation de l’e-mail", + "Request Ride": "Passer une Commande", + "Credit Card Number": "Numéro de Carte de Crédit", + "month": "mois", + "01-Jan": "01-Jan", + "02-Feb": "02-Fév", + "03-Mar": "03-Mar", + "04-Apr": "04-Avr", + "05-May": "05-Mai", + "06-Jun": "06-Juin", + "07-Jul": "07-Jui", + "08-Aug": "08-Aoû", + "09-Sep": "09-Sep", + "10-Oct": "10-Oct", + "11-Nov": "11-Nov", + "12-Dec": "12-Déc", + "year": "année", + "CVV": "Code de Sécurité", + "Category": "Type", + "personal": "personnel", + "business": "entreprise", + "Default Credit Card": "Carte par Défaut", + "Add Credit Card": "Ajouter une Carte", + "Expiry": "Expire", + "default card": "carte par défaut", + "make default": "choisir par défaut", + "Edit": "Modifier", + "Delete": "Supprimer", + "Expiry Month": "Mois d’Expiration", + "Expiry Year": "Année d’Expiration", + "Unable to Verify Card": "Impossible de vérifier la carte pour le moment. Merci de réessayer un peu plus tard.", + "Credit Card Update Succeeded": "Votre carte a été mise à jour avec succès !", + "Credit Card Update Failed": "Nous ne pouvons enregistrer vos changements. Merci de réessayer dans quelques minutes.", + "Credit Card Delete Succeeded": "Votre carte a été supprimée !", + "Credit Card Delete Failed": "Nous n’avons pas été en mesure de supprimer votre carte. Merci de réessayer plus tard.", + "Credit Card Update Category Succeeded": "Changement de catégorie de carte réussi !", + "Credit Card Update Category Failed": "Nous ne pouvons pas changer la catégorie de votre carte. Merci de réessayer dans quelques minutes.", + "Credit Card Update Default Succeeded": "Carte par défaut changée avec succès !", + "Credit Card Update Default Failed": "Nous ne pouvons pas changer votre carte par défaut. Merci de réessayer dans quelques minutes.", + "Hello Greeting": "Bonjour, <%= name %>", + "Card Ending in": "La carte expire dans", + "Trip Map": "Carte des Courses", + "Amount": "Montant: <%= amount %>", + "Last Attempt to Bill": "Dernière tentative de prélèvement : <%= date %>", + "Charge": "Débit", + "Uber Credit Balance Note": "Votre compte a un solde de <%= amount %> UberCredits. Lorsque nous facturons des courses, nous réduirons votre solde d’UberCredits avant de prélever votre carte de crédit.", + "Please Add Credit Card": "Merci d’ajouter une carte de crédit pour que nous puissions vous facturer.", + "Credit Cards": "Cartes de crédit", + "add a new credit card": "Ajouter une nouvelle carte de crédit", + "Account Balance": "Solde du compte", + "Arrears": "Arriérés", + "Billing Succeeded": "Votre carte a été correctement débitée.", + "Confirm Email Succeeded": "L’adresse e-mail a bien été validée, vous êtes redirigé vers le tableau de bord...", + "Confirm Email Failed": "Impossible de confirmer l’adresse e-mail. Merci de contacter support@uber.com si le problème persiste.", + "Credit Card Added": "Carte de crédit ajoutée", + "No Credit Card": "Pas de carte de crédit", + "Mobile Number Confirmed": "Numéro de téléphone confirmé", + "No Confirmed Mobile": "Pas de numéro de téléphone confirmé", + "E-mail Address Confirmed": "Adresse e-mail confirmée", + "No Confirmed E-mail": "Pas d’adresse e-mail confirmée", + 'Reply to sign up text': 'Répondre "GO" au SMS que vous avez reçu à l’inscription.', + "Resend text message": "Renvoyer le SMS", + "Click sign up link": "Cliquez sur le lien contenu dans l’e-mail reçu à l’inscription.", + "Resend email": "Renvoyer l’e-mail", + "Add a credit card to ride": "Ajouter une carte de crédit et vous serez prêt à voyager avec Uber.", + "Your Most Recent Trip": "Votre course la plus récente", + "details": "détails", + "Your Trip History": "Historique de votre trajet", + "Status": "Statut", + "Here's how it works:": "Voici comment ça marche :", + "Show all trips": "Montrer toutes les courses", + "Set your location:": "Définir votre position :", + "App search for address": "Application iPhone/Android : positionner la punaise ou rechercher une adresse", + "SMS text address": "SMS : envoyez votre adresse à UBRCAB (827222)", + "Confirm pickup request": "Validez la commande", + "Uber sends ETA": "Uber envoie un temps d’attente estimé (habituellement entre 5 et 10 minutes)", + "Car arrives": "Lorsque votre voiture arrive, Uber vous en informera encore..", + "Ride to destination": "Montez dans la voiture et donnez votre destination au chauffeur.", + "Thank your driver": "C’est tout ! Remerciez le chauffeur mais souvenez-vous que les pourboires sont compris et qu’il n’est pas nécessaire d’avoir du liquide sur soi.", + "Trip started here": "La course a commencé ici.", + "Trip ended here": "La course s’est terminée ici.", + "Sending Email": "Envoi de l’e-mail...", + "Resend Email Succeeded": "Nous venons d’envoyer l’e-mail. Merci de cliquer sur le lien de confirmation que vous avez reçu.", + "Resend Email Failed": "Il y a eu un problème lors de l’envoi de l’email. Merci de contacter le support si le problème persiste.", + "Resend Text Succeeded": 'Nous venons d’envoyer le SMS. Merci de répondre "GO" au message que vous avez reçu. Il se peut que cela prenne quelques minutes pour que le message arrive sur votre téléphone.', + "Resend Text Failed": "Il y a eu un problème lors de l’envoi du SMS. Merci de contacter le support si le problème persiste.", + "Password Reset Error": "Il y a eu une error lors de la réinitialisation de votre mot de passe.", + "New Password:": "Nouveau mot de passe:", + "Forgot Password Error": "Votre nom d’utilisateur / adresse email ne peut être trouvé. Merci d’utiliser la même qu’à l’inscription.", + "Forgot Password Success": "Merci de consulter votre boîte mail pour suivre la demande de ‘réinitialisation de mot de passe.", + "Forgot Password Enter Email": "Merci de saisir votre adresse email et nous vous enverrons un lien vous permettant de réinitialiser votre mot de passe :", + "Invite friends": "Inviter vos amis", + "Give $ Get $": "Donnez $10, Recevez $10", + "Give $ Get $ Description": "Chaque ami que vous invitez à Uber recevra $10 de crédits Uber. Dès lors qu’une personne que vous aurez invité aura utilisé Uber pour la première, vous recevrez $10 de crédits Uber également !", + "What are you waiting for?": "N’attendez plus ! Lancez les invitations !", + "Tweet": "Tweeter", + "Invite Link": "Envoyez ce lien par email ou messagerie instantanée à vos amis :", + "Enter Promotion Code": "Si vous avez un code promo, saisissez-le ici:", + "Your Active Promotions": "Vos Codes Promos Actifs", + "Code": "Code", + "Details": "Détails", + "Trips Remaining": "Courses restantes", + "Expires": "Expire", + "No Active Promotions": "Vous n’avez pas de code promo actif.", + "Your Available Promotions": "Votres Promos Disponibles", + "Where do you want us to pick you up?": "Où souhaitez-vous que nous vous prenions en charge ?", + "Address to search": "Adresse à rechercher", + "Search": "Chercher", + "Driver Name:": "Nom du chauffeur:", + "Driver #:": "# Chauffeur:", + "Pickup Address:": "Lieu de prise en charge:", + "Add to Favorite Locations": "Ajoutez aux Lieux Favoris", + "Star": "Étoiles", + "Nickname:": "Pseudo", + "Add": "Ajouter", + "Your last trip": "Votre dernière course", + "Please rate your driver:": "Merci de noter votre chauffeur :", + "Comments: (optional)": "Commentaires: (optionnel)", + "Rate Trip": "Notez votre course", + "Pickup time:": "Heure de Prise en Charge :", + "Miles:": "Kilomètres :", + "Trip time:": "Temps de course :", + "Fare:": "Tarif :", + "Favorite Locations": "Lieux Favoris", + "Search Results": "Résultats", + "You have no favorite locations saved.": "Vous n’avez pas de lieux de prise en charge favoris.", + "Loading...": "Chargement...", + "Request Pickup": "Commander ici", + "Cancel Pickup": "Annuler", + "Requesting Closest Driver": "Nous demandons au chauffeur le plus proche de vous prendre en charge...", + "En Route": "Vous êtes actuellement en route...", + "Rate Last Trip": "Merci de noter votre précédent trajet pour faire une autre course.", + "Rate Before Submitting": "Merci de noter votre trajet avant de le valider.", + "Address too short": "L’adresse est trop courte", + "or did you mean": "ou vouliez-vous dire", + "Search Address Failed": "Impossible de trouver l’adresse spécifiée. Merci de saisir une autre adresse proche de l’endroit où vous vous trouvez.", + "Sending pickup request...": "Envoi de la demande de prise en charge...", + "Cancel Request Prompt": "Voulez-vous vraiment annuler votre demande ?", + "Cancel Request Arrived Prompt": 'Voulez-vous vraiment annuler votre demande ? Votre chauffeur est arrivé, vous serez donc facturé de $10 de frais d’annulation. Il pourrait être utile que vous appeliez votre chauffeur maintenant.', + "Favorite Location Nickname Length Error": "Le pseudo doit faire au moins 3 caractères de long", + "Favorite Location Save Succeeded": "Adresse enregistrée !", + "Favorite Location Save Failed": "Impossible d’enregistrer votre adresse. Merci de réessayer ultérieurement.", + "Favorite Location Title": "Adresse favorie <%= id %>", + "Search Location Title": "Recherche d’adresse <%= id %>", + "ETA Message": "Temps d’attente estimé: environ <%= minutes %> minutes", + "Nearest Cab Message": "Le chauffeur le plus proche sera là dans <%= minutes %> minute(s)", + "Arrival ETA Message": "Votre chauffeur arrivera dans <%= minutes %> minute(s)", + "Arriving Now Message": "Votre chauffeur est en approche...", + "Rating Driver Failed": "Impossible de contacter le serveur. Merci de réessayer ultérieurement ou de contacter le support si le problème persiste.", + "settings": "Paramètres", + "Information": "Information", + "Picture": "Photo", + "Change password": "Modifier votre mot de passe", + "Your current Picture": "Votre photo", + "Your Favorite Locations": "Vos lieux favoris", + "You have no favorite locations saved.": "Vous n’avez pas de lieu favori", + "Account Information": "Informations Personnelles", + "Mobile Phone Information": "Informations de Mobile", + "Change Your Password": "Changez votre mot de passe.", + "Country": "Pays", + "Language": "Langue", + "Favorite Location": "Lieu favori", + "No Approximate Address": "Impossible de trouver une adresse même approximative", + "Address:": "Adresse :", + "Information Update Succeeded": "Vos informations ont été mises à jour !", + "Information Update Failed": "Nous n’avons pas pu mettre à jour vos informations. Merci de réessayer dans quelques instants ou de contacter le support si le problème persiste.", + "Location Delete Succeeded": "Adresse supprimée !", + "Location Delete Failed": "Nous n’avons pas pu supprimée votre adresse favorie. Merci de réessayer plus tard ou de contacter le support si le problème persiste.", + "Location Edit Succeeded": "Modifications sauvegardées !", + "Location Edit Failed": "Nous n’avons pas pu sauvegarder vos modifications. Merci de réessayer dans quelques minutes.", + "Picture Update Succeeded": "Votre photo a été mise à jour !", + "Picture Update Failed": "Nous n’avons pas pu mettre à jour votre photo. Merci de réessayer dans quelques instants.", + "Personal Information": "Informations Personnelles", + "Mobile Phone Number": "Numéro de Téléphone Portable", + "Payment Information": "Informations de Facturation", + "Your card will not be charged until you take a trip.": "Votre carte ne sera pas débitée avant votre premier trajet.", + "Card Number": "Numéro de Carte", + "Promotion Code Input Label": "Code promo, code d’invitation ou “deal” acheté en ligne (optionnel)", + "Terms and Conditions": "Conditions Générales", + "HELP": "HELP", + "STOP": "STOP", + "Sign Up Agreement": "En souscrivant, j’accepte les <%= terms_link %> et <%= privacy_link %> et comprends qu’Uber est un outil de commande de chauffeur, et non un transporteur.", + "Sign Up Agreement Error": "Vous devez accepter les Conditions Générales d’utilisation d’Uber Terms and Conditions et la Politique de Confidentialité pour continuer.", + "Message and Data Rates Disclosure": "Les frais d’envoi de SMS et de consommation de données peuvent s’appliquer. Répondez <%= help_string %> au 827-222 pour obtenir de l’aide. Répondez <%= stop_string %> au 827-222 pour ne plus recevoir de SMS. Pour plus d’aide, visitez support.uber.com ou appelez le (866) 576-1039. Opérateurs supportés: AT&T, Sprint, Verizon, T-Mobile, Orange, SFR et Bouygues Telecom.", + "Zip/Postal Code": "Code Postal", + "Expiration Date": "Date D'expiration", + "Security Code": "Code de Sécurité", + "Type of Card": "Type", + "Personal": "Personnel", + "Business": "Entreprise", + "Promotion Code": "Code Promo", + "Legal Information": "Mentions Légales", + "I Agree": "J'accepte.", + "Your Trip": "Votre Course", + "Trip Info": "Informations de la Course", + "Request a fare review": "Demander un contrôle du tarif", + "Fare Review Submitted": "Votre demande de contrôle du tarif a été soumis. Nous reviendrons vers vous rapidement concernant cette demande. Nous nous excusons pour les dérangements éventuellement occasionnés !", + "Fair Price Consideration": "Nous nous engageons à proposer Uber à un tarif juste. Avant de demander un contrôle du tarif, merci de prendre en compte :", + "Your Fare Calculation": "Calcul du Prix", + "Charges": "Coûts", + "Discounts": "Réductions", + "Total Charge": "Coût total", + "Uber pricing information": "Information sur les prix d’Uber", + "Uber Pricing Information Message": "<%= learn_link %> est disponible sur notre site web.", + "GPS Point Capture Disclosure": "A cause d’un nombre limité de coordonnées GPS sauvegardées, les angles de votre trajet sur la carte peuvent apparaître coupés ou arrondis. Ces légères incohérences débouchent sur des distances mesurées plus courtes, ce qui implique toujours un prix du trajet moins élevé.", + "Fare Review Note": "Merci de nous expliquer pourquoi le tarif de cette course nécessite d’être contrôlé. Vos commentaires ci-dessous nous aideront à établir un prix plus juste si nécessaire :", + "Fare Review Error": "Il y a eu une erreur lors de l’envoi de la demande. Assurez-vous d’avoir bien ajouté une description à votre demande." + }; +}).call(this); +}, "views/clients/billing": function(exports, require, module) {(function() { + var clientsBillingTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + clientsBillingTemplate = require('templates/clients/billing'); + exports.ClientsBillingView = (function() { + __extends(ClientsBillingView, UberView); + function ClientsBillingView() { + ClientsBillingView.__super__.constructor.apply(this, arguments); + } + ClientsBillingView.prototype.id = 'billing_view'; + ClientsBillingView.prototype.className = 'view_container'; + ClientsBillingView.prototype.events = { + 'click a#add_card': 'addCard', + 'click .charge_arrear': 'chargeArrear' + }; + ClientsBillingView.prototype.render = function() { + this.RefreshUserInfo(__bind(function() { + var cards, newForm; + this.HideSpinner(); + $(this.el).html(clientsBillingTemplate()); + if (USER.payment_gateway.payment_profiles.length === 0) { + newForm = new app.views.clients.modules.creditcard; + $(this.el).find("#add_card_wrapper").html(newForm.render(0).el); + } else { + cards = new app.views.clients.modules.creditcard; + $("#cards").html(cards.render("all").el); + } + return this.delegateEvents(); + }, this)); + return this; + }; + ClientsBillingView.prototype.addCard = function(e) { + var newCard; + e.preventDefault(); + newCard = new app.views.clients.modules.creditcard; + $('#cards').append(newCard.render("new").el); + return $("a#add_card").hide(); + }; + ClientsBillingView.prototype.chargeArrear = function(e) { + var $el, arrearId, attrs, cardId, options, tryCharge; + e.preventDefault(); + $(".error_message").text(""); + $el = $(e.currentTarget); + arrearId = $el.attr('id'); + cardId = $el.parent().find('#card_to_charge').val(); + this.ShowSpinner('submit'); + tryCharge = new app.models.clientbills({ + id: arrearId + }); + attrs = { + payment_profile_id: cardId, + dataType: 'json' + }; + options = { + success: __bind(function(data, textStatus, jqXHR) { + $el.parent().find(".success_message").text(t("Billing Succeeded")); + $el.hide(); + return $el.parent().find('#card_to_charge').hide(); + }, this), + error: __bind(function(jqXHR, status, errorThrown) { + return $el.parent().find(".error_message").text(JSON.parse(status.responseText).error); + }, this), + complete: __bind(function() { + return this.HideSpinner(); + }, this) + }; + return tryCharge.save(attrs, options); + }; + return ClientsBillingView; + })(); +}).call(this); +}, "views/clients/confirm_email": function(exports, require, module) {(function() { + var clientsConfirmEmailTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + clientsConfirmEmailTemplate = require('templates/clients/confirm_email'); + exports.ClientsConfirmEmailView = (function() { + __extends(ClientsConfirmEmailView, UberView); + function ClientsConfirmEmailView() { + ClientsConfirmEmailView.__super__.constructor.apply(this, arguments); + } + ClientsConfirmEmailView.prototype.id = 'confirm_email_view'; + ClientsConfirmEmailView.prototype.className = 'view_container'; + ClientsConfirmEmailView.prototype.render = function(token) { + var attrs; + $(this.el).html(clientsConfirmEmailTemplate()); + attrs = { + data: { + email_token: token + }, + success: __bind(function(data, textStatus, jqXHR) { + var show_dashboard; + this.HideSpinner(); + show_dashboard = function() { + return app.routers.clients.navigate('!/dashboard', true); + }; + if (data.status === 'OK') { + $('.success_message').show(); + return _.delay(show_dashboard, 3000); + } else if (data.status === 'ALREADY_COMFIRMED') { + $('.already_confirmed_message').show(); + return _.delay(show_dashboard, 3000); + } else { + return $('.error_message').show(); + } + }, this), + error: __bind(function(e) { + this.HideSpinner(); + return $('.error_message').show(); + }, this), + complete: function(status) { + return $('#attempt_text').hide(); + }, + dataType: 'json', + type: 'PUT', + url: "" + API + "/users/self" + }; + $.ajax(attrs); + this.ShowSpinner('submit'); + return this; + }; + return ClientsConfirmEmailView; + })(); +}).call(this); +}, "views/clients/dashboard": function(exports, require, module) {(function() { + var clientsDashboardTemplate; + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + clientsDashboardTemplate = require('templates/clients/dashboard'); + exports.ClientsDashboardView = (function() { + var displayFirstTrip; + __extends(ClientsDashboardView, UberView); + function ClientsDashboardView() { + this.showAllTrips = __bind(this.showAllTrips, this); + this.render = __bind(this.render, this); + ClientsDashboardView.__super__.constructor.apply(this, arguments); + } + ClientsDashboardView.prototype.id = 'dashboard_view'; + ClientsDashboardView.prototype.className = 'view_container'; + ClientsDashboardView.prototype.events = { + 'click a.confirmation': 'confirmationClick', + 'click #resend_email': 'resendEmail', + 'click #resend_mobile': 'resendMobile', + 'click #show_all_trips': 'showAllTrips' + }; + ClientsDashboardView.prototype.render = function() { + var displayPage, downloadTrips; + this.HideSpinner(); + displayPage = __bind(function() { + $(this.el).html(clientsDashboardTemplate()); + this.confirmationsSetup(); + return this.RequireMaps(__bind(function() { + if (USER.trips.models[0]) { + if (!USER.trips.models[0].get("points")) { + return USER.trips.models[0].fetch({ + data: { + relationships: 'points' + }, + success: __bind(function() { + this.CacheData("USERtrips", USER.trips); + return displayFirstTrip(); + }, this) + }); + } else { + return displayFirstTrip(); + } + } + }, this)); + }, this); + downloadTrips = __bind(function() { + return this.DownloadUserTrips(displayPage, false, 10); + }, this); + this.RefreshUserInfo(downloadTrips); + return this; + }; + displayFirstTrip = __bind(function() { + var bounds, endPos, map, myOptions, path, polyline, startPos; + myOptions = { + zoom: 12, + mapTypeId: google.maps.MapTypeId.ROADMAP, + zoomControl: false, + rotateControl: false, + panControl: false, + mapTypeControl: false, + scrollwheel: false + }; + if (USER.trips.length === 10) { + $("#show_all_trips").show(); + } + if (USER.trips.length > 0) { + map = new google.maps.Map(document.getElementById("trip_details_map"), myOptions); + bounds = new google.maps.LatLngBounds(); + path = []; + _.each(USER.trips.models[0].get('points'), __bind(function(point) { + path.push(new google.maps.LatLng(point.lat, point.lng)); + return bounds.extend(_.last(path)); + }, this)); + map.fitBounds(bounds); + startPos = new google.maps.Marker({ + position: _.first(path), + map: map, + title: t('Trip started here'), + icon: 'https://uber-static.s3.amazonaws.com/marker_start.png' + }); + endPos = new google.maps.Marker({ + position: _.last(path), + map: map, + title: t('Trip ended here'), + icon: 'https://uber-static.s3.amazonaws.com/marker_end.png' + }); + polyline = new google.maps.Polyline({ + path: path, + strokeColor: '#003F87', + strokeOpacity: 1, + strokeWeight: 5 + }); + return polyline.setMap(map); + } + }, ClientsDashboardView); + ClientsDashboardView.prototype.confirmationsSetup = function() { + var blink, cardForm, element, _ref, _ref2, _ref3, _ref4, _ref5; + blink = function(element) { + var opacity; + opacity = 0.5; + if (element.css('opacity') === "0.5") { + opacity = 1.0; + } + return element.fadeTo(2000, opacity, function() { + return blink(element); + }); + }; + if (((_ref = window.USER) != null ? (_ref2 = _ref.payment_gateway) != null ? (_ref3 = _ref2.payment_profiles) != null ? _ref3.length : void 0 : void 0 : void 0) === 0) { + element = $('#confirmed_credit_card'); + cardForm = new app.views.clients.modules.creditcard; + $('#card.info').append(cardForm.render().el); + blink(element); + } + if (((_ref4 = window.USER) != null ? _ref4.confirm_email : void 0) === false) { + element = $('#confirmed_email'); + blink(element); + } + if ((((_ref5 = window.USER) != null ? _ref5.confirm_mobile : void 0) != null) === false) { + element = $('#confirmed_mobile'); + return blink(element); + } + }; + ClientsDashboardView.prototype.confirmationClick = function(e) { + e.preventDefault(); + $('.info').hide(); + $('#more_info').show(); + switch (e.currentTarget.id) { + case "card": + return $('#card.info').slideToggle(); + case "mobile": + return $('#mobile.info').slideToggle(); + case "email": + return $('#email.info').slideToggle(); + } + }; + ClientsDashboardView.prototype.resendEmail = function(e) { + var $el; + e.preventDefault(); + $el = $(e.currentTarget); + $el.removeAttr('href').prop({ + disabled: true + }); + $el.html(t("Sending Email")); + return $.ajax({ + type: 'GET', + url: API + '/users/request_confirm_email', + data: { + token: USER.token + }, + dataType: 'json', + success: __bind(function(data, textStatus, jqXHR) { + return $el.html(t("Resend Email Succeeded")); + }, this), + error: __bind(function(jqXHR, textStatus, errorThrown) { + return $el.html(t("Resend Email Failed")); + }, this) + }); + }; + ClientsDashboardView.prototype.resendMobile = function(e) { + var $el; + e.preventDefault(); + $el = $(e.currentTarget); + $el.removeAttr('href').prop({ + disabled: true + }); + $el.html("Sending message..."); + return $.ajax({ + type: 'GET', + url: API + '/users/request_confirm_mobile', + data: { + token: USER.token + }, + dataType: 'json', + success: __bind(function(data, textStatus, jqXHR) { + return $el.html(t("Resend Text Succeeded")); + }, this), + error: __bind(function(jqXHR, textStatus, errorThrown) { + return $el.html(t("Resend Text Failed")); + }, this) + }); + }; + ClientsDashboardView.prototype.showAllTrips = function(e) { + e.preventDefault(); + $(e.currentTarget).hide(); + return this.DownloadUserTrips(this.render, true, 1000); + }; + return ClientsDashboardView; + }).call(this); +}).call(this); +}, "views/clients/forgot_password": function(exports, require, module) {(function() { + var clientsForgotPasswordTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + clientsForgotPasswordTemplate = require('templates/clients/forgot_password'); + exports.ClientsForgotPasswordView = (function() { + __extends(ClientsForgotPasswordView, UberView); + function ClientsForgotPasswordView() { + ClientsForgotPasswordView.__super__.constructor.apply(this, arguments); + } + ClientsForgotPasswordView.prototype.id = 'forgotpassword_view'; + ClientsForgotPasswordView.prototype.className = 'view_container modal_view_container'; + ClientsForgotPasswordView.prototype.events = { + "submit #password_reset": "passwordReset", + "click #password_reset_submit": "passwordReset", + "submit #forgot_password": "forgotPassword", + "click #forgot_password_submit": "forgotPassword" + }; + ClientsForgotPasswordView.prototype.render = function(token) { + this.HideSpinner(); + $(this.el).html(clientsForgotPasswordTemplate({ + token: token + })); + this.delegateEvents(); + return this; + }; + ClientsForgotPasswordView.prototype.forgotPassword = function(e) { + var attrs; + e.preventDefault(); + $('.success_message').hide(); + $(".error_message").hide(); + attrs = { + data: { + login: $("#login").val() + }, + success: __bind(function(data, textStatus, jqXHR) { + this.HideSpinner(); + $('.success_message').show(); + return $("#forgot_password").hide(); + }, this), + error: __bind(function(e) { + this.HideSpinner(); + return $('.error_message').show(); + }, this), + dataType: 'json', + type: 'PUT', + url: "" + API + "/users/forgot_password" + }; + $.ajax(attrs); + return this.ShowSpinner('submit'); + }; + ClientsForgotPasswordView.prototype.passwordReset = function(e) { + var attrs; + e.preventDefault(); + attrs = { + data: { + email_token: $("#token").val(), + password: $("#password").val() + }, + success: __bind(function(data, textStatus, jqXHR) { + this.HideSpinner(); + $.cookie('token', data.token); + amplify.store('USERjson', data); + app.refreshMenu(); + return location.hash = '!/dashboard'; + }, this), + error: __bind(function(e) { + this.HideSpinner(); + return $('#error_reset').show(); + }, this), + dataType: 'json', + type: 'PUT', + url: "" + API + "/users/self" + }; + $.ajax(attrs); + return this.ShowSpinner('submit'); + }; + return ClientsForgotPasswordView; + })(); +}).call(this); +}, "views/clients/invite": function(exports, require, module) {(function() { + var clientsInviteTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + clientsInviteTemplate = require('templates/clients/invite'); + exports.ClientsInviteView = (function() { + __extends(ClientsInviteView, UberView); + function ClientsInviteView() { + ClientsInviteView.__super__.constructor.apply(this, arguments); + } + ClientsInviteView.prototype.id = 'invite_view'; + ClientsInviteView.prototype.className = 'view_container'; + ClientsInviteView.prototype.render = function() { + this.ReadUserInfo(); + this.HideSpinner(); + $(this.el).html(clientsInviteTemplate()); + console.log(screen); + return this; + }; + return ClientsInviteView; + })(); +}).call(this); +}, "views/clients/login": function(exports, require, module) {(function() { + var clientsLoginTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + clientsLoginTemplate = require('templates/clients/login'); + exports.ClientsLoginView = (function() { + __extends(ClientsLoginView, UberView); + function ClientsLoginView() { + ClientsLoginView.__super__.constructor.apply(this, arguments); + } + ClientsLoginView.prototype.id = 'login_view'; + ClientsLoginView.prototype.className = 'view_container modal_view_container'; + ClientsLoginView.prototype.events = { + 'submit form': 'authenticate', + 'click button': 'authenticate' + }; + ClientsLoginView.prototype.initialize = function() { + _.bindAll(this, 'render'); + return this.render(); + }; + ClientsLoginView.prototype.render = function() { + this.HideSpinner(); + $(this.el).html(clientsLoginTemplate()); + this.delegateEvents(); + return this.place(); + }; + ClientsLoginView.prototype.authenticate = function(e) { + e.preventDefault(); + return $.ajax({ + type: 'POST', + url: API + '/auth/web_login/client', + data: { + login: $("#login").val(), + password: $("#password").val() + }, + dataType: 'json', + success: function(data, textStatus, jqXHR) { + $.cookie('user', JSON.stringify(data)); + $.cookie('token', data.token); + amplify.store('USERjson', data); + $('header').html(app.views.shared.menu.render().el); + return app.routers.clients.navigate('!/dashboard', true); + }, + error: function(jqXHR, textStatus, errorThrown) { + $.cookie('user', null); + $.cookie('token', null); + if (jqXHR.status === 403) { + $.cookie('redirected_user', JSON.stringify(JSON.parse(jqXHR.responseText).error_obj), { + domain: '.uber.com' + }); + window.location = 'http://partners.uber.com/'; + } + return $('.error_message').html(JSON.parse(jqXHR.responseText).error).hide().fadeIn(); + } + }); + }; + return ClientsLoginView; + })(); +}).call(this); +}, "views/clients/modules/credit_card": function(exports, require, module) {(function() { + var creditCardTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + creditCardTemplate = require('templates/clients/modules/credit_card'); + exports.CreditCardView = (function() { + __extends(CreditCardView, UberView); + function CreditCardView() { + CreditCardView.__super__.constructor.apply(this, arguments); + } + CreditCardView.prototype.id = 'creditcard_view'; + CreditCardView.prototype.className = 'module_container'; + CreditCardView.prototype.events = { + 'submit #credit_card_form': 'processNewCard', + 'click #new_card': 'processNewCard', + 'change #card_number': 'showCardType', + 'click .edit_card_show': 'showEditCard', + 'click .edit_card': 'editCard', + 'click .delete_card': 'deleteCard', + 'click .make_default': 'makeDefault', + 'change .use_case': 'saveUseCase' + }; + CreditCardView.prototype.initialize = function() { + return app.collections.paymentprofiles.bind("refresh", __bind(function() { + return this.RefreshUserInfo(__bind(function() { + this.render("all"); + return this.HideSpinner(); + }, this)); + }, this)); + }; + CreditCardView.prototype.render = function(cards) { + if (cards == null) { + cards = "new"; + } + if (cards === "all") { + app.collections.paymentprofiles.reset(USER.payment_gateway.payment_profiles); + cards = app.collections.paymentprofiles; + } + $(this.el).html(creditCardTemplate({ + cards: cards + })); + return this; + }; + CreditCardView.prototype.processNewCard = function(e) { + var $el, attrs, model, options; + e.preventDefault(); + this.ClearGlobalStatus(); + $el = $("#credit_card_form"); + $el.find('.error_message').html(""); + attrs = { + card_number: $el.find('#card_number').val(), + card_code: $el.find('#card_code').val(), + card_expiration_month: $el.find('#card_expiration_month').val(), + card_expiration_year: $el.find('#card_expiration_year').val(), + use_case: $el.find('#use_case').val(), + "default": $el.find('#default_check').prop("checked") + }; + options = { + statusCode: { + 200: __bind(function(e) { + this.HideSpinner(); + $('#cc_form_wrapper').hide(); + app.collections.paymentprofiles.trigger("refresh"); + $(this.el).remove(); + $("a#add_card").show(); + return $('section').html(app.views.clients.billing.render().el); + }, this), + 406: __bind(function(e) { + var error, errors, _i, _len, _ref, _results; + this.HideSpinner(); + errors = JSON.parse(e.responseText); + _ref = _.keys(errors); + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + error = _ref[_i]; + _results.push(error === "top_of_form" ? $("#top_of_form").html(errors[error]) : $("#credit_card_form").find("#" + error).parent().find(".error_message").html(errors[error])); + } + return _results; + }, this), + 420: __bind(function(e) { + this.HideSpinner(); + return $("#top_of_form").html(t("Unable to Verify Card")); + }, this) + } + }; + this.ShowSpinner("submit"); + model = new app.models.paymentprofile; + model.save(attrs, options); + return app.collections.paymentprofiles.add(model); + }; + CreditCardView.prototype.showCardType = function(e) { + var $el, reAmerica, reDiscover, reMaster, reVisa, validCard; + reVisa = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/; + reMaster = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/; + reAmerica = /^6011-?\d{4}-?\d{4}-?\d{4}$/; + reDiscover = /^3[4,7]\d{13}$/; + $el = $("#card_logos"); + validCard = false; + if (e.currentTarget.value.match(reVisa)) { + validCard = true; + } else if (e.currentTarget.value.match(reMaster)) { + $el.css('background-position', "-60px"); + validCard = true; + } else if (e.currentTarget.value.match(reAmerica)) { + $el.css('background-position', "-120px"); + validCard = true; + } else if (e.currentTarget.value.match(reDiscover)) { + $el.css('background-position', "-180px"); + validCard = true; + } + if (validCard) { + $el.css('width', "60px"); + return $el.css('margin-left', "180px"); + } else { + $el.css('width', "250px"); + return $el.css('margin-left', "80px"); + } + }; + CreditCardView.prototype.showEditCard = function(e) { + var $el, id; + e.preventDefault(); + $el = $(e.currentTarget); + if ($el.html() === t("Edit")) { + id = $el.html(t("Cancel")).parents("tr").attr("id").substring(1); + return $("#e" + id).show(); + } else { + id = $el.html(t("Edit")).parents("tr").attr("id").substring(1); + return $("#e" + id).hide(); + } + }; + CreditCardView.prototype.editCard = function(e) { + var $el, attrs, id, options; + e.preventDefault(); + this.ClearGlobalStatus(); + $el = $(e.currentTarget).parents("td"); + id = $el.parents("tr").attr("id").substring(1); + $el.attr('disabled', 'disabled'); + this.ShowSpinner('submit'); + attrs = { + card_expiration_month: $el.find('#card_expiration_month').val(), + card_expiration_year: $el.find('#card_expiration_year').val(), + card_code: $el.find('#card_code').val() + }; + options = { + success: __bind(function(response) { + this.HideSpinner(); + this.ShowSuccess(t("Credit Card Update Succeeded")); + $("#e" + id).hide(); + $("#d" + id).find(".edit_card_show").html(t("Edit")); + return app.collections.paymentprofiles.trigger("refresh"); + }, this), + error: __bind(function(e) { + this.HideSpinner(); + this.ShowError(t("Credit Card Update Failed")); + return $el.removeAttr('disabled'); + }, this) + }; + app.collections.paymentprofiles.models[id].set(attrs); + return app.collections.paymentprofiles.models[id].save({}, options); + }; + CreditCardView.prototype.deleteCard = function(e) { + var $el, id, options; + e.preventDefault(); + $el = $(e.currentTarget).parents("td"); + id = $el.parents("tr").attr("id").substring(1); + this.ClearGlobalStatus(); + this.ShowSpinner('submit'); + options = { + success: __bind(function(response) { + this.ShowSuccess(t("Credit Card Delete Succeeded")); + $("form").hide(); + app.collections.paymentprofiles.trigger("refresh"); + return $('section').html(app.views.clients.billing.render().el); + }, this), + error: __bind(function(xhr, e) { + this.HideSpinner(); + return this.ShowError(t("Credit Card Delete Failed")); + }, this) + }; + return app.collections.paymentprofiles.models[id].destroy(options); + }; + CreditCardView.prototype.saveUseCase = function(e) { + var $el, attrs, id, options, use_case; + this.ClearGlobalStatus(); + $el = $(e.currentTarget); + use_case = $el.val(); + id = $el.parents("tr").attr("id").substring(1); + attrs = { + use_case: use_case + }; + options = { + success: __bind(function(response) { + return this.ShowSuccess(t("Credit Card Update Category Succeeded")); + }, this), + error: __bind(function(e) { + return this.ShowError(t("Credit Card Update Category Failed")); + }, this) + }; + app.collections.paymentprofiles.models[id].set(attrs); + return app.collections.paymentprofiles.models[id].save({}, options); + }; + CreditCardView.prototype.makeDefault = function(e) { + var $el, attrs, id, options; + e.preventDefault(); + this.ClearGlobalStatus(); + $el = $(e.currentTarget).parents("td"); + id = $el.parents("tr").attr("id").substring(1); + attrs = { + "default": true + }; + options = { + success: __bind(function(response) { + this.ShowSuccess(t("Credit Card Update Default Succeeded")); + return app.collections.paymentprofiles.trigger("refresh"); + }, this), + error: __bind(function(e) { + return this.ShowError(t("Credit Card Update Default Failed")); + }, this) + }; + app.collections.paymentprofiles.models[id].set(attrs); + return app.collections.paymentprofiles.models[id].save({}, options); + }; + return CreditCardView; + })(); +}).call(this); +}, "views/clients/promotions": function(exports, require, module) {(function() { + var clientsPromotionsTemplate; + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + clientsPromotionsTemplate = require('templates/clients/promotions'); + exports.ClientsPromotionsView = (function() { + __extends(ClientsPromotionsView, UberView); + function ClientsPromotionsView() { + this.render = __bind(this.render, this); + ClientsPromotionsView.__super__.constructor.apply(this, arguments); + } + ClientsPromotionsView.prototype.id = 'promotions_view'; + ClientsPromotionsView.prototype.className = 'view_container'; + ClientsPromotionsView.prototype.events = { + 'submit form': 'submitPromo', + 'click button': 'submitPromo' + }; + ClientsPromotionsView.prototype.initialize = function() { + if (this.model) { + return this.RefreshUserInfo(this.render); + } + }; + ClientsPromotionsView.prototype.render = function() { + var renderTemplate; + this.ReadUserInfo(); + renderTemplate = __bind(function() { + $(this.el).html(clientsPromotionsTemplate({ + promos: window.USER.unexpired_client_promotions || [] + })); + return this.HideSpinner(); + }, this); + this.DownloadUserPromotions(renderTemplate); + return this; + }; + ClientsPromotionsView.prototype.submitPromo = function(e) { + var attrs, model, options, refreshTable; + e.preventDefault(); + this.ClearGlobalStatus(); + refreshTable = __bind(function() { + $('section').html(this.render().el); + return this.HideSpinner(); + }, this); + attrs = { + code: $('#code').val() + }; + options = { + success: __bind(function(response) { + this.HideSpinner(); + if (response.get('first_name')) { + return this.ShowSuccess("Your promotion has been applied in the form of an account credit. Click here to check your balance."); + } else { + this.ShowSuccess("Your promotion has successfully been applied"); + return this.RefreshUserInfo(this.render, true); + } + }, this), + statusCode: { + 400: __bind(function(e) { + this.ShowError(JSON.parse(e.responseText).error); + return this.HideSpinner(); + }, this) + } + }; + this.ShowSpinner("submit"); + model = new app.models.promotions; + return model.save(attrs, options); + }; + return ClientsPromotionsView; + })(); +}).call(this); +}, "views/clients/request": function(exports, require, module) {(function() { + var clientsRequestTemplate; + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + clientsRequestTemplate = require('templates/clients/request'); + exports.ClientsRequestView = (function() { + __extends(ClientsRequestView, UberView); + function ClientsRequestView() { + this.AjaxCall = __bind(this.AjaxCall, this); + this.AskDispatch = __bind(this.AskDispatch, this); + this.removeMarkers = __bind(this.removeMarkers, this); + this.displaySearchLoc = __bind(this.displaySearchLoc, this); + this.displayFavLoc = __bind(this.displayFavLoc, this); + this.showFavLoc = __bind(this.showFavLoc, this); + this.addToFavLoc = __bind(this.addToFavLoc, this); + this.removeCabs = __bind(this.removeCabs, this); + this.requestRide = __bind(this.requestRide, this); + this.rateTrip = __bind(this.rateTrip, this); + this.locationChange = __bind(this.locationChange, this); + this.panToLocation = __bind(this.panToLocation, this); + this.clickLocation = __bind(this.clickLocation, this); + this.searchLocation = __bind(this.searchLocation, this); + this.mouseoutLocation = __bind(this.mouseoutLocation, this); + this.mouseoverLocation = __bind(this.mouseoverLocation, this); + this.fetchTripDetails = __bind(this.fetchTripDetails, this); + this.submitRating = __bind(this.submitRating, this); + this.setStatus = __bind(this.setStatus, this); + this.initialize = __bind(this.initialize, this); + ClientsRequestView.__super__.constructor.apply(this, arguments); + } + ClientsRequestView.prototype.id = 'request_view'; + ClientsRequestView.prototype.className = 'view_container'; + ClientsRequestView.prototype.pollInterval = 2 * 1000; + ClientsRequestView.prototype.events = { + "submit #search_form": "searchAddress", + "click .locations_link": "locationLinkHandle", + "mouseover .location_row": "mouseoverLocation", + "mouseout .location_row": "mouseoutLocation", + "click .location_row": "clickLocation", + "click #search_location": "searchLocation", + "click #pickupHandle": "pickupHandle", + "click .stars": "rateTrip", + "submit #rating_form": "submitRating", + "click #addToFavButton": "showFavLoc", + "click #favLocNickname": "selectInputText", + "submit #favLoc_form": "addToFavLoc" + }; + ClientsRequestView.prototype.status = ""; + ClientsRequestView.prototype.pickupMarker = "https://uber-static.s3.amazonaws.com/pickup_marker.png"; + ClientsRequestView.prototype.cabMarker = "https://uber-static.s3.amazonaws.com/cab_marker.png"; + ClientsRequestView.prototype.initialize = function() { + var displayCabs; + displayCabs = __bind(function() { + return this.AskDispatch("NearestCab"); + }, this); + this.showCabs = _.throttle(displayCabs, this.pollInterval); + return this.numSearchToDisplay = 1; + }; + ClientsRequestView.prototype.setStatus = function(status) { + var autocomplete; + if (this.status === status) { + return; + } + try { + google.maps.event.trigger(this.map, 'resize'); + } catch (_e) {} + switch (status) { + case "init": + this.AskDispatch("StatusClient"); + this.status = "init"; + return this.ShowSpinner("load"); + case "ready": + this.HideSpinner(); + $(".panel").hide(); + $("#top_bar").fadeIn(); + $("#location_panel").fadeIn(); + $("#location_panel_control").fadeIn(); + $("#pickupHandle").attr("class", "button_green").fadeIn().find("span").html(t("Request Pickup")); + this.pickup_icon.setDraggable(true); + this.map.panTo(this.pickup_icon.getPosition()); + this.showCabs(); + try { + this.pickup_icon.setMap(this.map); + this.displayFavLoc(); + autocomplete = new google.maps.places.Autocomplete(document.getElementById('address'), { + types: ['geocode'] + }); + autocomplete.bindTo('bounds', this.map); + } catch (_e) {} + return this.status = "ready"; + case "searching": + this.HideSpinner(); + this.removeMarkers(); + $(".panel").hide(); + $("#top_bar").fadeOut(); + $("#status_message").html(t("Requesting Closest Driver")); + $("#pickupHandle").attr("class", "button_red").fadeIn().find("span").html(t("Cancel Pickup")); + this.pickup_icon.setDraggable(false); + this.pickup_icon.setMap(this.map); + return this.status = "searching"; + case "waiting": + this.HideSpinner(); + this.removeMarkers(); + $(".panel").hide(); + $("#top_bar").fadeOut(); + $("#pickupHandle").attr("class", "button_red").fadeIn().find("span").html(t("Cancel Pickup")); + $("#waiting_riding").fadeIn(); + this.pickup_icon.setDraggable(false); + this.pickup_icon.setMap(this.map); + return this.status = "waiting"; + case "arriving": + this.HideSpinner(); + this.removeMarkers(); + $(".panel").hide(); + $("#top_bar").fadeOut(); + $("#pickupHandle").attr("class", "button_red").fadeIn().find("span").html(t("Cancel Pickup")); + $("#waiting_riding").fadeIn(); + this.pickup_icon.setDraggable(false); + this.pickup_icon.setMap(this.map); + return this.status = "arriving"; + case "riding": + this.HideSpinner(); + this.removeMarkers(); + $(".panel").hide(); + $("#top_bar").fadeOut(); + $("#pickupHandle").fadeIn().attr("class", "button_red").find("span").html(t("Cancel Pickup")); + $("#waiting_riding").fadeIn(); + this.pickup_icon.setDraggable(false); + this.status = "riding"; + return $("#status_message").html(t("En Route")); + case "rate": + this.HideSpinner(); + $(".panel").hide(); + $("#pickupHandle").fadeOut(); + $("#trip_completed_panel").fadeIn(); + $('#status_message').html(t("Rate Last Trip")); + return this.status = "rate"; + } + }; + ClientsRequestView.prototype.render = function() { + this.ReadUserInfo(); + this.HideSpinner(); + this.ShowSpinner("load"); + $(this.el).html(clientsRequestTemplate()); + this.cabs = []; + this.RequireMaps(__bind(function() { + var center, myOptions, streetViewPano; + center = new google.maps.LatLng(37.7749295, -122.4194155); + this.markers = []; + this.pickup_icon = new google.maps.Marker({ + position: center, + draggable: true, + clickable: true, + icon: this.pickupMarker + }); + this.geocoder = new google.maps.Geocoder(); + myOptions = { + zoom: 12, + center: center, + mapTypeId: google.maps.MapTypeId.ROADMAP, + rotateControl: false, + rotateControl: false, + panControl: false + }; + this.map = new google.maps.Map($(this.el).find("#map_wrapper_right")[0], myOptions); + if (this.status === "ready") { + this.pickup_icon.setMap(this.map); + } + if (geo_position_js.init()) { + geo_position_js.getCurrentPosition(__bind(function(data) { + var location; + location = new google.maps.LatLng(data.coords.latitude, data.coords.longitude); + this.pickup_icon.setPosition(location); + this.map.panTo(location); + return this.map.setZoom(16); + }, this)); + } + this.setStatus("init"); + streetViewPano = this.map.getStreetView(); + google.maps.event.addListener(streetViewPano, 'visible_changed', __bind(function() { + if (streetViewPano.getVisible()) { + this.pickupMarker = "https://uber-static.s3.amazonaws.com/pickup_marker_large.png"; + this.cabMarker = "https://uber-static.s3.amazonaws.com/cab_marker_large.png"; + } else { + this.pickupMarker = "https://uber-static.s3.amazonaws.com/pickup_marker.png"; + this.cabMarker = "https://uber-static.s3.amazonaws.com/cab_marker.png"; + } + this.pickup_icon.setIcon(this.pickupMarker); + return _.each(this.cabs, __bind(function(cab) { + return cab.setIcon(this.cabMarker); + }, this)); + }, this)); + if (this.status === "ready") { + return this.displayFavLoc(); + } + }, this)); + return this; + }; + ClientsRequestView.prototype.submitRating = function(e) { + var $el, message, rating; + e.preventDefault(); + $el = $(e.currentTarget); + rating = 0; + _(5).times(function(num) { + if ($el.find(".stars#" + (num + 1)).attr("src") === "/web/img/star_active.png") { + return rating = num + 1; + } + }); + if (rating === 0) { + $("#status_message").html("").html(t("Rate Before Submitting")); + } else { + this.ShowSpinner("submit"); + this.AskDispatch("RatingDriver", { + rating: rating + }); + } + message = $el.find("#comments").val().toString(); + if (message.length > 5) { + return this.AskDispatch("Feedback", { + message: message + }); + } + }; + ClientsRequestView.prototype.fetchTripDetails = function(id) { + var trip; + trip = new app.models.trip({ + id: id + }); + return trip.fetch({ + data: { + relationships: 'points,driver,city' + }, + dataType: 'json', + success: __bind(function() { + var bounds, endPos, path, polyline, startPos; + bounds = new google.maps.LatLngBounds(); + path = []; + _.each(trip.get('points'), __bind(function(point) { + path.push(new google.maps.LatLng(point.lat, point.lng)); + return bounds.extend(_.last(path)); + }, this)); + startPos = new google.maps.Marker({ + position: _.first(path), + map: this.map, + title: t("Trip started here"), + icon: 'https://uber-static.s3.amazonaws.com/carstart.png' + }); + endPos = new google.maps.Marker({ + position: _.last(path), + map: this.map, + title: t("Trip ended here"), + icon: 'https://uber-static.s3.amazonaws.com/carstop.png' + }); + polyline = new google.maps.Polyline({ + path: path, + strokeColor: '#003F87', + strokeOpacity: 1, + strokeWeight: 5 + }); + polyline.setMap(this.map); + this.map.fitBounds(bounds); + $("#tripTime").html(app.helpers.parseDateTime(trip.get('pickup_local_time'), trip.get('city.timezone'))); + $("#tripDist").html(app.helpers.RoundNumber(trip.get('distance'), 2)); + $("#tripDur").html(app.helpers.FormatSeconds(trip.get('duration'))); + return $("#tripFare").html(app.helpers.FormatCurrency(trip.get('fare'))); + }, this) + }); + }; + ClientsRequestView.prototype.searchAddress = function(e) { + var $locationsDiv, address, alphabet, bounds, showResults; + alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + try { + e.preventDefault(); + } catch (_e) {} + $('.error_message').html(""); + $locationsDiv = $("
      "); + address = $('#address').val(); + bounds = new google.maps.LatLngBounds(); + if (address.length < 5) { + $('#status_message').html(t("Address too short")).fadeIn(); + return false; + } + showResults = __bind(function(address, index) { + var first_cell, row, second_cell; + if (index < this.numSearchToDisplay) { + first_cell = ""; + second_cell = "" + address.formatted_address + ""; + row = $("").attr("id", "s" + index).attr("class", "location_row").html(first_cell + second_cell); + $locationsDiv.append(row); + } + if (index === this.numSearchToDisplay) { + $locationsDiv.append("" + (t('or did you mean')) + " "); + return $locationsDiv.append("" + address.formatted_address + ""); + } + }, this); + return this.geocoder.geocode({ + address: address + }, __bind(function(result, status) { + if (status !== "OK") { + $('.error_message').html(t("Search Address Failed")).fadeIn(); + return; + } + _.each(result, showResults); + $("#search_results").html($locationsDiv); + this.locationChange("search"); + this.searchResults = result; + return this.displaySearchLoc(); + }, this)); + }; + ClientsRequestView.prototype.mouseoverLocation = function(e) { + var $el, id, marker; + $el = $(e.currentTarget); + id = $el.attr("id").substring(1); + marker = this.markers[id]; + return marker.setAnimation(google.maps.Animation.BOUNCE); + }; + ClientsRequestView.prototype.mouseoutLocation = function(e) { + var $el, id, marker; + $el = $(e.currentTarget); + id = $el.attr("id").substring(1); + marker = this.markers[id]; + return marker.setAnimation(null); + }; + ClientsRequestView.prototype.searchLocation = function(e) { + e.preventDefault(); + $("#address").val($(e.currentTarget).html()); + return this.searchAddress(); + }; + ClientsRequestView.prototype.favoriteClick = function(e) { + var index, location; + e.preventDefault(); + $(".favorites").attr("href", ""); + index = $(e.currentTarget).removeAttr("href").attr("id"); + location = new google.maps.LatLng(USER.locations[index].latitude, USER.locations[index].longitude); + return this.panToLocation(location); + }; + ClientsRequestView.prototype.clickLocation = function(e) { + var id; + id = $(e.currentTarget).attr("id").substring(1); + return this.panToLocation(this.markers[id].getPosition()); + }; + ClientsRequestView.prototype.panToLocation = function(location) { + this.map.panTo(location); + this.map.setZoom(16); + return this.pickup_icon.setPosition(location); + }; + ClientsRequestView.prototype.locationLinkHandle = function(e) { + var panelName; + e.preventDefault(); + panelName = $(e.currentTarget).attr("id"); + return this.locationChange(panelName); + }; + ClientsRequestView.prototype.locationChange = function(type) { + $(".locations_link").attr("href", "").css("font-weight", "normal"); + switch (type) { + case "favorite": + $(".search_results").attr("href", ""); + $(".locations_link#favorite").removeAttr("href").css("font-weight", "bold"); + $("#search_results").hide(); + $("#favorite_results").fadeIn(); + return this.displayFavLoc(); + case "search": + $(".favorites").attr("href", ""); + $(".locations_link#search").removeAttr("href").css("font-weight", "bold"); + $("#favorite_results").hide(); + $("#search_results").fadeIn(); + return this.displaySearchLoc(); + } + }; + ClientsRequestView.prototype.rateTrip = function(e) { + var rating; + rating = $(e.currentTarget).attr("id"); + $(".stars").attr("src", "/web/img/star_inactive.png"); + return _(rating).times(function(index) { + return $(".stars#" + (index + 1)).attr("src", "/web/img/star_active.png"); + }); + }; + ClientsRequestView.prototype.pickupHandle = function(e) { + var $el, callback, message; + e.preventDefault(); + $el = $(e.currentTarget).find("span"); + switch ($el.html()) { + case t("Request Pickup"): + _.delay(this.requestRide, 3000); + $("#status_message").html(t("Sending pickup request...")); + $el.html(t("Cancel Pickup")).parent().attr("class", "button_red"); + this.pickup_icon.setDraggable(false); + this.map.panTo(this.pickup_icon.getPosition()); + return this.map.setZoom(18); + case t("Cancel Pickup"): + if (this.status === "ready") { + $el.html(t("Request Pickup")).parent().attr("class", "button_green"); + return this.pickup_icon.setDraggable(true); + } else { + callback = __bind(function(v, m, f) { + if (v) { + this.AskDispatch("PickupCanceledClient"); + return this.setStatus("ready"); + } + }, this); + message = t("Cancel Request Prompt"); + if (this.status === "arriving") { + message = 'Cancel Request Arrived Prompt'; + } + return $.prompt(message, { + buttons: { + Ok: true, + Cancel: false + }, + callback: callback + }); + } + } + }; + ClientsRequestView.prototype.requestRide = function() { + if ($("#pickupHandle").find("span").html() === t("Cancel Pickup")) { + this.AskDispatch("Pickup"); + return this.setStatus("searching"); + } + }; + ClientsRequestView.prototype.removeCabs = function() { + _.each(this.cabs, __bind(function(point) { + return point.setMap(null); + }, this)); + return this.cabs = []; + }; + ClientsRequestView.prototype.addToFavLoc = function(e) { + var $el, lat, lng, nickname; + e.preventDefault(); + $el = $(e.currentTarget); + $el.find(".error_message").html(""); + nickname = $el.find("#favLocNickname").val().toString(); + lat = $el.find("#pickupLat").val().toString(); + lng = $el.find("#pickupLng").val().toString(); + if (nickname.length < 3) { + $el.find(".error_message").html(t("Favorite Location Nickname Length Error")); + return; + } + this.ShowSpinner("submit"); + return $.ajax({ + type: 'POST', + url: API + "/locations", + dataType: 'json', + data: { + token: USER.token, + nickname: nickname, + latitude: lat, + longitude: lng + }, + success: __bind(function(data, textStatus, jqXHR) { + return $el.html(t("Favorite Location Save Succeeded")); + }, this), + error: __bind(function(jqXHR, textStatus, errorThrown) { + return $el.find(".error_message").html(t("Favorite Location Save Failed")); + }, this), + complete: __bind(function(data) { + return this.HideSpinner(); + }, this) + }); + }; + ClientsRequestView.prototype.showFavLoc = function(e) { + $(e.currentTarget).fadeOut(); + return $("#favLoc_form").fadeIn(); + }; + ClientsRequestView.prototype.selectInputText = function(e) { + e.currentTarget.focus(); + return e.currentTarget.select(); + }; + ClientsRequestView.prototype.displayFavLoc = function() { + var alphabet, bounds; + alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + this.removeMarkers(); + bounds = new google.maps.LatLngBounds(); + _.each(USER.locations, __bind(function(location, index) { + var marker; + marker = new google.maps.Marker({ + position: new google.maps.LatLng(location.latitude, location.longitude), + map: this.map, + title: t("Favorite Location Title", { + id: alphabet != null ? alphabet[index] : void 0 + }), + icon: "https://www.google.com/mapfiles/marker" + alphabet[index] + ".png" + }); + this.markers.push(marker); + bounds.extend(marker.getPosition()); + return google.maps.event.addListener(marker, 'click', __bind(function() { + return this.pickup_icon.setPosition(marker.getPosition()); + }, this)); + }, this)); + this.pickup_icon.setPosition(_.first(this.markers).getPosition()); + return this.map.fitBounds(bounds); + }; + ClientsRequestView.prototype.displaySearchLoc = function() { + var alphabet; + alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + this.removeMarkers(); + return _.each(this.searchResults, __bind(function(result, index) { + var marker; + if (index < this.numSearchToDisplay) { + marker = new google.maps.Marker({ + position: result.geometry.location, + map: this.map, + title: t("Search Location Title", { + id: alphabet != null ? alphabet[index] : void 0 + }), + icon: "https://www.google.com/mapfiles/marker" + alphabet[index] + ".png" + }); + this.markers.push(marker); + return this.panToLocation(result.geometry.location); + } + }, this)); + }; + ClientsRequestView.prototype.removeMarkers = function() { + _.each(this.markers, __bind(function(marker) { + return marker.setMap(null); + }, this)); + return this.markers = []; + }; + ClientsRequestView.prototype.AskDispatch = function(ask, options) { + var attrs, lowestETA, processData, showCab; + if (ask == null) { + ask = ""; + } + if (options == null) { + options = {}; + } + switch (ask) { + case "NearestCab": + attrs = { + latitude: this.pickup_icon.getPosition().lat(), + longitude: this.pickup_icon.getPosition().lng() + }; + lowestETA = 99999; + showCab = __bind(function(cab) { + var point; + point = new google.maps.Marker({ + position: new google.maps.LatLng(cab.latitude, cab.longitude), + map: this.map, + icon: this.cabMarker, + title: t("ETA Message", { + minutes: app.helpers.FormatSeconds(cab != null ? cab.eta : void 0, true) + }) + }); + if (cab.eta < lowestETA) { + lowestETA = cab.eta; + } + return this.cabs.push(point); + }, this); + processData = __bind(function(data, textStatus, jqXHR) { + if (this.status === "ready") { + this.removeCabs(); + if (data.sorry) { + $("#status_message").html(data.sorry).fadeIn(); + } else { + _.each(data.driverLocations, showCab); + $("#status_message").html(t("Nearest Cab Message", { + minutes: app.helpers.FormatSeconds(lowestETA, true) + })).fadeIn(); + } + if (Backbone.history.fragment === "!/request") { + return _.delay(this.showCabs, this.pollInterval); + } + } + }, this); + return this.AjaxCall(ask, processData, attrs); + case "StatusClient": + processData = __bind(function(data, textStatus, jqXHR) { + var bounds, cabLocation, locationSaved, point, userLocation; + if (data.messageType === "OK") { + switch (data.status) { + case "completed": + this.removeCabs(); + this.setStatus("rate"); + return this.fetchTripDetails(data.tripID); + case "open": + return this.setStatus("ready"); + case "begintrip": + this.setStatus("riding"); + cabLocation = new google.maps.LatLng(data.latitude, data.longitude); + this.removeCabs(); + this.pickup_icon.setMap(null); + point = new google.maps.Marker({ + position: cabLocation, + map: this.map, + icon: this.cabMarker + }); + this.cabs.push(point); + this.map.panTo(point.getPosition()); + $("#rideName").html(data.driverName); + $("#ridePhone").html(data.driverMobile); + $("#ride_address_wrapper").hide(); + if (Backbone.history.fragment === "!/request") { + return _.delay(this.AskDispatch, this.pollInterval, "StatusClient"); + } + break; + case "pending": + this.setStatus("searching"); + if (Backbone.history.fragment === "!/request") { + return _.delay(this.AskDispatch, this.pollInterval, "StatusClient"); + } + break; + case "accepted": + case "arrived": + if (data.status === "accepted") { + this.setStatus("waiting"); + $("#status_message").html(t("Arrival ETA Message", { + minutes: app.helpers.FormatSeconds(data.eta, true) + })); + } else { + this.setStatus("arriving"); + $("#status_message").html(t("Arriving Now Message")); + } + userLocation = new google.maps.LatLng(data.pickupLocation.latitude, data.pickupLocation.longitude); + cabLocation = new google.maps.LatLng(data.latitude, data.longitude); + this.pickup_icon.setPosition(userLocation); + this.removeCabs(); + $("#rideName").html(data.driverName); + $("#ridePhone").html(data.driverMobile); + if ($("#rideAddress").html() === "") { + locationSaved = false; + _.each(USER.locations, __bind(function(location) { + if (parseFloat(location.latitude) === parseFloat(data.pickupLocation.latitude) && parseFloat(location.longitude) === parseFloat(data.pickupLocation.longitude)) { + return locationSaved = true; + } + }, this)); + if (locationSaved) { + $("#addToFavButton").hide(); + } + $("#pickupLat").val(data.pickupLocation.latitude); + $("#pickupLng").val(data.pickupLocation.longitude); + this.geocoder.geocode({ + location: userLocation + }, __bind(function(result, status) { + $("#rideAddress").html(result[0].formatted_address); + return $("#favLocNickname").val("" + result[0].address_components[0].short_name + " " + result[0].address_components[1].short_name); + }, this)); + } + point = new google.maps.Marker({ + position: cabLocation, + map: this.map, + icon: this.cabMarker + }); + this.cabs.push(point); + bounds = bounds = new google.maps.LatLngBounds(); + bounds.extend(cabLocation); + bounds.extend(userLocation); + this.map.fitBounds(bounds); + if (Backbone.history.fragment === "!/request") { + return _.delay(this.AskDispatch, this.pollInterval, "StatusClient"); + } + } + } + }, this); + return this.AjaxCall(ask, processData); + case "Pickup": + attrs = { + latitude: this.pickup_icon.getPosition().lat(), + longitude: this.pickup_icon.getPosition().lng() + }; + processData = __bind(function(data, textStatus, jqXHR) { + if (data.messageType === "Error") { + return $("#status_message").html(data.description); + } else { + return this.AskDispatch("StatusClient"); + } + }, this); + return this.AjaxCall(ask, processData, attrs); + case "PickupCanceledClient": + processData = __bind(function(data, textStatus, jqXHR) { + if (data.messageType === "OK") { + return this.setStatus("ready"); + } else { + return $("#status_message").html(data.description); + } + }, this); + return this.AjaxCall(ask, processData, attrs); + case "RatingDriver": + attrs = { + rating: options.rating + }; + processData = __bind(function(data, textStatus, jqXHR) { + if (data.messageType === "OK") { + this.setStatus("init"); + } else { + $("status_message").html(t("Rating Driver Failed")); + } + return this.HideSpinner(); + }, this); + return this.AjaxCall(ask, processData, attrs); + case "Feedback": + attrs = { + message: options.message + }; + processData = __bind(function(data, textStatus, jqXHR) { + if (data.messageType === "OK") { + return alert("rated"); + } + }, this); + return this.AjaxCall(ask, processData, attrs); + } + }; + ClientsRequestView.prototype.AjaxCall = function(type, successCallback, attrs) { + if (attrs == null) { + attrs = {}; + } + _.extend(attrs, { + token: USER.token, + messageType: type, + app: "client", + version: "1.0.60", + device: "web" + }); + return $.ajax({ + type: 'POST', + url: DISPATCH + "/", + processData: false, + data: JSON.stringify(attrs), + success: successCallback, + dataType: 'json', + error: __bind(function(jqXHR, textStatus, errorThrown) { + $("#status_message").html(errorThrown); + return this.HideSpinner(); + }, this) + }); + }; + return ClientsRequestView; + })(); +}).call(this); +}, "views/clients/settings": function(exports, require, module) {(function() { + var clientsSettingsTemplate; + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + clientsSettingsTemplate = require('templates/clients/settings'); + exports.ClientsSettingsView = (function() { + __extends(ClientsSettingsView, UberView); + function ClientsSettingsView() { + this.render = __bind(this.render, this); + this.initialize = __bind(this.initialize, this); + ClientsSettingsView.__super__.constructor.apply(this, arguments); + } + ClientsSettingsView.prototype.id = 'settings_view'; + ClientsSettingsView.prototype.className = 'view_container'; + ClientsSettingsView.prototype.events = { + 'submit #profile_pic_form': 'processPicUpload', + 'click #submit_pic': 'processPicUpload', + 'click a.setting_change': "changeTab", + 'submit #edit_info_form': "submitInfo", + 'click #change_password': 'changePass' + }; + ClientsSettingsView.prototype.divs = { + 'info_div': "Information", + 'pic_div': "Picture" + }; + ClientsSettingsView.prototype.pageTitle = t("Settings") + " | " + t("Uber"); + ClientsSettingsView.prototype.tabTitle = { + 'info_div': t("Information"), + 'pic_div': t("Picture") + }; + ClientsSettingsView.prototype.initialize = function() { + return this.mixin(require('web-lib/mixins/i18n_phone_form').i18nPhoneForm); + }; + ClientsSettingsView.prototype.render = function(type) { + if (type == null) { + type = "info"; + } + this.RefreshUserInfo(__bind(function() { + var $el, alphabet; + this.delegateEvents(); + this.HideSpinner(); + alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $el = $(this.el); + $(this.el).html(clientsSettingsTemplate({ + type: type + })); + $el.find("#" + type + "_div").show(); + $el.find("a[href='" + type + "_div']").parent().addClass("active"); + return document.title = "" + this.tabTitle[type + '_div'] + " " + this.pageTitle; + }, this)); + this.delegateEvents(); + return this; + }; + ClientsSettingsView.prototype.changeTab = function(e) { + var $eTarget, $el, div, link, pageDiv, _i, _j, _len, _len2, _ref, _ref2; + e.preventDefault(); + $eTarget = $(e.currentTarget); + this.ClearGlobalStatus(); + $el = $(this.el); + _ref = $el.find(".setting_change"); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + link = _ref[_i]; + $(link).parent().removeClass("active"); + } + $eTarget.parent().addClass("active"); + _ref2 = _.keys(this.divs); + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + div = _ref2[_j]; + $el.find("#" + div).hide(); + } + pageDiv = $eTarget.attr('href'); + $el.find("#" + pageDiv).show(); + Backbone.history.navigate("!/settings/" + (this.divs[pageDiv].toLowerCase().replace(" ", "-")), false); + document.title = "" + this.tabTitle[pageDiv] + " " + this.pageTitle; + if (pageDiv === "loc_div") { + try { + google.maps.event.trigger(this.map, 'resize'); + return this.map.fitBounds(this.bounds); + } catch (_e) {} + } + }; + ClientsSettingsView.prototype.submitInfo = function(e) { + var $e, attrs, client, options; + $('#global_status').find('.success_message').text(''); + $('#global_status').find('.error_message').text(''); + $('.error_message').text(''); + e.preventDefault(); + $e = $(e.currentTarget); + attrs = $e.serializeToJson(); + attrs['mobile_country_id'] = this.$('#mobile_country_id').val(); + if (attrs['password'] === '') { + delete attrs['password']; + } + options = { + success: __bind(function(response) { + this.ShowSuccess(t("Information Update Succeeded")); + return this.RefreshUserInfo(); + }, this), + error: __bind(function(model, data) { + var errors; + if (data.status === 406) { + errors = JSON.parse(data.responseText); + return _.each(_.keys(errors), function(field) { + return $("#" + field).parent().find('span.error_message').text(errors[field]); + }); + } else { + return this.ShowError(t("Information Update Failed")); + } + }, this), + type: "PUT" + }; + client = new app.models.client({ + id: USER.id + }); + return client.save(attrs, options); + }; + ClientsSettingsView.prototype.changePass = function(e) { + e.preventDefault(); + $(e.currentTarget).hide(); + return $("#password").show(); + }; + ClientsSettingsView.prototype.processPicUpload = function(e) { + e.preventDefault(); + this.ShowSpinner("submit"); + return $.ajaxFileUpload({ + url: API + '/user_pictures', + secureuri: false, + fileElementId: 'picture', + data: { + token: USER.token + }, + dataType: 'json', + complete: __bind(function(data, status) { + this.HideSpinner(); + if (status === 'success') { + this.ShowSuccess(t("Picture Update Succeeded")); + return this.RefreshUserInfo(__bind(function() { + return $("#settingsProfPic").attr("src", USER.picture_url + ("?" + (Math.floor(Math.random() * 1000)))); + }, this)); + } else { + if (data.error) { + return this.ShowError(data.error); + } else { + return this.ShowError("Picture Update Failed"); + } + } + }, this) + }); + }; + return ClientsSettingsView; + })(); +}).call(this); +}, "views/clients/sign_up": function(exports, require, module) {(function() { + var clientsSignUpTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + clientsSignUpTemplate = require('templates/clients/sign_up'); + exports.ClientsSignUpView = (function() { + __extends(ClientsSignUpView, UberView); + function ClientsSignUpView() { + ClientsSignUpView.__super__.constructor.apply(this, arguments); + } + ClientsSignUpView.prototype.id = 'signup_view'; + ClientsSignUpView.prototype.className = 'view_container'; + ClientsSignUpView.prototype.initialize = function() { + this.mixin(require('web-lib/mixins/i18n_phone_form').i18nPhoneForm); + return $('#location_country').live('change', function() { + if (!$('#mobile').val()) { + return $('#mobile_country').find("option[value=" + ($(this).val()) + "]").attr('selected', 'selected').end().trigger('change'); + } + }); + }; + ClientsSignUpView.prototype.events = { + 'submit form': 'signup', + 'click button': 'signup', + 'change #card_number': 'showCardType', + 'change #location_country': 'countryChange' + }; + ClientsSignUpView.prototype.render = function(invite) { + this.HideSpinner(); + $(this.el).html(clientsSignUpTemplate({ + invite: invite + })); + return this; + }; + ClientsSignUpView.prototype.signup = function(e) { + var $el, attrs, client, error_messages, options; + e.preventDefault(); + $el = $("form"); + $el.find('#terms_error').hide(); + if (!$el.find('#signup_terms input[type=checkbox]').attr('checked')) { + $('#spinner.submit').hide(); + $el.find('#terms_error').show(); + return; + } + error_messages = $el.find('.error_message').html(""); + attrs = { + first_name: $el.find('#first_name').val(), + last_name: $el.find('#last_name').val(), + email: $el.find('#email').val(), + password: $el.find('#password').val(), + location_country: $el.find('#location_country option:selected').attr('data-iso2'), + location: $el.find('#location').val(), + language: $el.find('#language').val(), + mobile_country: $el.find('#mobile_country option:selected').attr('data-iso2'), + mobile: $el.find('#mobile').val(), + card_number: $el.find('#card_number').val(), + card_expiration_month: $el.find('#card_expiration_month').val(), + card_expiration_year: $el.find('#card_expiration_year').val(), + card_code: $el.find('#card_code').val(), + use_case: $el.find('#use_case').val(), + promotion_code: $el.find('#promotion_code').val() + }; + options = { + statusCode: { + 200: function(response) { + $.cookie('token', response.token); + amplify.store('USERjson', response); + app.refreshMenu(); + return app.routers.clients.navigate('!/dashboard', true); + }, + 406: function(e) { + var error, errors, _i, _len, _ref, _results; + errors = JSON.parse(e.responseText); + _ref = _.keys(errors); + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + error = _ref[_i]; + _results.push($('#' + error).parent().find('span').html($('#' + error).parent().find('span').html() + " " + errors[error])); + } + return _results; + } + }, + complete: __bind(function(response) { + return this.HideSpinner(); + }, this) + }; + client = new app.models.client; + $('.spinner#submit').show(); + return client.save(attrs, options); + }; + ClientsSignUpView.prototype.countryChange = function(e) { + var $e; + $e = $(e.currentTarget); + return $("#mobile_country").val($e.val()).trigger('change'); + }; + ClientsSignUpView.prototype.showCardType = function(e) { + var $el, reAmerica, reDiscover, reMaster, reVisa, validCard; + reVisa = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/; + reMaster = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/; + reAmerica = /^6011-?\d{4}-?\d{4}-?\d{4}$/; + reDiscover = /^3[4,7]\d{13}$/; + $el = $("#card_logos_signup"); + validCard = false; + if (e.currentTarget.value.match(reVisa)) { + $el.find("#overlay_left").css('width', "0px"); + return $el.find("#overlay_right").css('width', "75%"); + } else if (e.currentTarget.value.match(reMaster)) { + $el.find("#overlay_left").css('width', "25%"); + return $el.find("#overlay_right").css('width', "50%"); + } else if (e.currentTarget.value.match(reAmerica)) { + $el.find("#overlay_left").css('width', "75%"); + $el.find("#overlay_right").css('width', "0px"); + return console.log("amex"); + } else if (e.currentTarget.value.match(reDiscover)) { + $el.find("#overlay_left").css('width', "50%"); + return $el.find("#overlay_right").css('width', "25%"); + } else { + $el.find("#overlay_left").css('width', "0px"); + return $el.find("#overlay_right").css('width', "0px"); + } + }; + return ClientsSignUpView; + })(); +}).call(this); +}, "views/clients/trip_detail": function(exports, require, module) {(function() { + var clientsTripDetailTemplate; + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + clientsTripDetailTemplate = require('templates/clients/trip_detail'); + exports.TripDetailView = (function() { + __extends(TripDetailView, UberView); + function TripDetailView() { + this.resendReceipt = __bind(this.resendReceipt, this); + TripDetailView.__super__.constructor.apply(this, arguments); + } + TripDetailView.prototype.id = 'trip_detail_view'; + TripDetailView.prototype.className = 'view_container'; + TripDetailView.prototype.events = { + 'click a#fare_review': 'showFareReview', + 'click #fare_review_hide': 'hideFareReview', + 'submit #form_review_form': 'submitFareReview', + 'click #submit_fare_review': 'submitFareReview', + 'click .resendReceipt': 'resendReceipt' + }; + TripDetailView.prototype.render = function(id) { + if (id == null) { + id = 'invalid'; + } + this.ReadUserInfo(); + this.HideSpinner(); + this.model = new app.models.trip({ + id: id + }); + this.model.fetch({ + data: { + relationships: 'points,driver,city.country' + }, + dataType: 'json', + success: __bind(function() { + var trip; + trip = this.model; + $(this.el).html(clientsTripDetailTemplate({ + trip: trip + })); + this.RequireMaps(__bind(function() { + var bounds, endPos, map, myOptions, path, polyline, startPos; + bounds = new google.maps.LatLngBounds(); + path = []; + _.each(this.model.get('points'), __bind(function(point) { + path.push(new google.maps.LatLng(point.lat, point.lng)); + return bounds.extend(_.last(path)); + }, this)); + myOptions = { + zoom: 12, + center: path[0], + mapTypeId: google.maps.MapTypeId.ROADMAP, + zoomControl: false, + rotateControl: false, + panControl: false, + mapTypeControl: false, + scrollwheel: false + }; + map = new google.maps.Map(document.getElementById("trip_details_map"), myOptions); + map.fitBounds(bounds); + startPos = new google.maps.Marker({ + position: _.first(path), + map: map, + title: t("Trip started here"), + icon: 'https://uber-static.s3.amazonaws.com/marker_start.png' + }); + endPos = new google.maps.Marker({ + position: _.last(path), + map: map, + title: t("Trip ended here"), + icon: 'https://uber-static.s3.amazonaws.com/marker_end.png' + }); + startPos.setMap(map); + endPos.setMap(map); + polyline = new google.maps.Polyline({ + path: path, + strokeColor: '#003F87', + strokeOpacity: 1, + strokeWeight: 5 + }); + return polyline.setMap(map); + }, this)); + return this.HideSpinner(); + }, this) + }); + this.ShowSpinner('load'); + this.delegateEvents(); + return this; + }; + TripDetailView.prototype.showFareReview = function(e) { + e.preventDefault(); + $('#fare_review_box').slideDown(); + return $('#fare_review').hide(); + }; + TripDetailView.prototype.hideFareReview = function(e) { + e.preventDefault(); + $('#fare_review_box').slideUp(); + return $('#fare_review').show(); + }; + TripDetailView.prototype.submitFareReview = function(e) { + var attrs, errorMessage, id, options; + e.preventDefault(); + errorMessage = $(".error_message"); + errorMessage.hide(); + id = $("#tripid").val(); + this.model = new app.models.trip({ + id: id + }); + attrs = { + note: $('#form_review_message').val(), + note_type: 'client_fare_review' + }; + options = { + success: __bind(function(response) { + $(".success_message").fadeIn(); + return $("#fare_review_form_wrapper").slideUp(); + }, this), + error: __bind(function(error) { + return errorMessage.fadeIn(); + }, this) + }; + return this.model.save(attrs, options); + }; + TripDetailView.prototype.resendReceipt = function(e) { + var $e; + e.preventDefault(); + $e = $(e.currentTarget); + this.$(".resendReceiptSuccess").empty().show(); + this.$(".resentReceiptError").empty().show(); + e.preventDefault(); + $('#spinner').show(); + return $.ajax('/api/trips/func/resend_receipt', { + data: { + token: $.cookie('token'), + trip_id: this.model.id + }, + type: 'POST', + complete: __bind(function(xhr) { + var response; + response = JSON.parse(xhr.responseText); + $('#spinner').hide(); + switch (xhr.status) { + case 200: + this.$(".resendReceiptSuccess").html("Receipt has been emailed"); + return this.$(".resendReceiptSuccess").fadeOut(2000); + default: + this.$(".resendReceiptError").html("Receipt has failed to be emailed"); + return this.$(".resendReceiptError").fadeOut(2000); + } + }, this) + }); + }; + return TripDetailView; + })(); +}).call(this); +}, "views/shared/menu": function(exports, require, module) {(function() { + var menuTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + menuTemplate = require('templates/shared/menu'); + exports.SharedMenuView = (function() { + __extends(SharedMenuView, Backbone.View); + function SharedMenuView() { + SharedMenuView.__super__.constructor.apply(this, arguments); + } + SharedMenuView.prototype.id = 'menu_view'; + SharedMenuView.prototype.render = function() { + var type; + if ($.cookie('token') === null) { + type = 'guest'; + } else { + type = 'client'; + } + $(this.el).html(menuTemplate({ + type: type + })); + return this; + }; + return SharedMenuView; + })(); +}).call(this); +}, "web-lib/collections/countries": function(exports, require, module) {(function() { + var UberCollection; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + UberCollection = require('web-lib/uber_collection').UberCollection; + exports.CountriesCollection = (function() { + __extends(CountriesCollection, UberCollection); + function CountriesCollection() { + CountriesCollection.__super__.constructor.apply(this, arguments); + } + CountriesCollection.prototype.model = app.models.country; + CountriesCollection.prototype.url = '/countries'; + return CountriesCollection; + })(); +}).call(this); +}, "web-lib/collections/vehicle_types": function(exports, require, module) {(function() { + var UberCollection, vehicleType, _ref; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + UberCollection = require('web-lib/uber_collection').UberCollection; + vehicleType = (typeof app !== "undefined" && app !== null ? (_ref = app.models) != null ? _ref.vehicleType : void 0 : void 0) || require('models/vehicle_type').VehicleType; + exports.VehicleTypesCollection = (function() { + __extends(VehicleTypesCollection, UberCollection); + function VehicleTypesCollection() { + VehicleTypesCollection.__super__.constructor.apply(this, arguments); + } + VehicleTypesCollection.prototype.model = vehicleType; + VehicleTypesCollection.prototype.url = '/vehicle_types'; + VehicleTypesCollection.prototype.defaultColumns = ['id', 'created_at', 'updated_at', 'deleted_at', 'created_by_user_id', 'updated_by_user_id', 'city_id', 'type', 'make', 'model', 'capacity', 'minimum_year', 'actions']; + VehicleTypesCollection.prototype.tableColumns = function(cols) { + var actions, c, capacity, city_id, columnValues, created_at, created_by_user_id, deleted_at, headerRow, id, make, minimum_year, model, type, updated_at, updated_by_user_id, _i, _len; + id = { + sTitle: 'Id' + }; + created_at = { + sTitle: 'Created At (UTC)', + 'sType': 'string' + }; + updated_at = { + sTitle: 'Updated At (UTC)', + 'sType': 'string' + }; + deleted_at = { + sTitle: 'Deleted At (UTC)', + 'sType': 'string' + }; + created_by_user_id = { + sTitle: 'Created By' + }; + updated_by_user_id = { + sTitle: 'Updated By' + }; + city_id = { + sTitle: 'City' + }; + type = { + sTitle: 'Type' + }; + make = { + sTitle: 'Make' + }; + model = { + sTitle: 'Model' + }; + capacity = { + sTitle: 'Capacity' + }; + minimum_year = { + sTitle: 'Min. Year' + }; + actions = { + sTitle: 'Actions' + }; + columnValues = { + id: id, + created_at: created_at, + updated_at: updated_at, + deleted_at: deleted_at, + created_by_user_id: created_by_user_id, + updated_by_user_id: updated_by_user_id, + city_id: city_id, + type: type, + make: make, + model: model, + capacity: capacity, + minimum_year: minimum_year, + actions: actions + }; + headerRow = []; + for (_i = 0, _len = cols.length; _i < _len; _i++) { + c = cols[_i]; + if (columnValues[c]) { + headerRow.push(columnValues[c]); + } + } + return headerRow; + }; + return VehicleTypesCollection; + })(); +}).call(this); +}, "web-lib/helpers": function(exports, require, module) {(function() { + var __indexOf = Array.prototype.indexOf || function(item) { + for (var i = 0, l = this.length; i < l; i++) { + if (this[i] === item) return i; + } + return -1; + }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + exports.helpers = { + pin: function(num, color) { + if (color == null) { + color = 'FF0000'; + } + return ""; + }, + reverseGeocode: function(latitude, longitude) { + if (latitude && longitude) { + return "" + latitude + ", " + longitude + ""; + } else { + return ''; + } + }, + linkedName: function(model) { + var first_name, id, last_name, role, url; + role = model.role || model.get('role'); + id = model.id || model.get('id'); + first_name = model.first_name || model.get('first_name'); + last_name = model.last_name || model.get('last_name'); + url = "/" + role + "s/" + id; + return "" + first_name + " " + last_name + ""; + }, + linkedVehicle: function(vehicle, vehicleType) { + return " " + (vehicleType != null ? vehicleType.get('make') : void 0) + " " + (vehicleType != null ? vehicleType.get('model') : void 0) + " " + (vehicle.get('year')) + " "; + }, + linkedUserId: function(userType, userId) { + return "" + userType + " " + userId + ""; + }, + timeDelta: function(start, end) { + var delta; + if (typeof start === 'string') { + start = this.parseDate(start); + } + if (typeof end === 'string') { + end = this.parseDate(end); + } + if (end && start) { + delta = end.getTime() - start.getTime(); + return this.formatSeconds(delta / 1000); + } else { + return '00:00'; + } + }, + formatSeconds: function(s) { + var minutes, seconds; + s = Math.floor(s); + minutes = Math.floor(s / 60); + seconds = s - minutes * 60; + return "" + (this.leadingZero(minutes)) + ":" + (this.leadingZero(seconds)); + }, + formatCurrency: function(strValue, reverseSign, currency) { + var currency_locale, lc, mf; + if (reverseSign == null) { + reverseSign = false; + } + if (currency == null) { + currency = null; + } + strValue = String(strValue); + if (reverseSign) { + strValue = ~strValue.indexOf('-') ? strValue.split('-').join('') : ['-', strValue].join(''); + } + currency_locale = i18n.currencyToLocale[currency]; + try { + if (!(currency_locale != null) || currency_locale === i18n.locale) { + return i18n.jsworld.mf.format(strValue); + } else { + lc = new jsworld.Locale(POSIX_LC[currency_locale]); + mf = new jsworld.MonetaryFormatter(lc); + return mf.format(strValue); + } + } catch (error) { + i18n.log(error); + return strValue; + } + }, + formatTripFare: function(trip, type) { + var _ref, _ref2; + if (type == null) { + type = "fare"; + } + if (!trip.get('fare')) { + return 'n/a'; + } + if (((_ref = trip.get('fare_breakdown_local')) != null ? _ref.currency : void 0) != null) { + return app.helpers.formatCurrency(trip.get("" + type + "_local"), false, (_ref2 = trip.get('fare_breakdown_local')) != null ? _ref2.currency : void 0); + } else if (trip.get("" + type + "_string") != null) { + return trip.get("" + type + "_string"); + } else if (trip.get("" + type + "_local") != null) { + return trip.get("" + type + "_local"); + } else { + return 'n/a'; + } + }, + formatPhoneNumber: function(phoneNumber, countryCode) { + if (countryCode == null) { + countryCode = "+1"; + } + if (phoneNumber != null) { + phoneNumber = String(phoneNumber); + switch (countryCode) { + case '+1': + return countryCode + ' ' + phoneNumber.substring(0, 3) + '-' + phoneNumber.substring(3, 6) + '-' + phoneNumber.substring(6, 10); + case '+33': + return countryCode + ' ' + phoneNumber.substring(0, 1) + ' ' + phoneNumber.substring(1, 3) + ' ' + phoneNumber.substring(3, 5) + ' ' + phoneNumber.substring(5, 7) + ' ' + phoneNumber.substring(7, 9); + default: + countryCode + phoneNumber; + } + } + return "" + countryCode + " " + phoneNumber; + }, + parseDate: function(d, cityTime, tz) { + var city_filter, parsed, _ref; + if (cityTime == null) { + cityTime = true; + } + if (tz == null) { + tz = null; + } + if (((_ref = !d.substr(-6, 1)) === '+' || _ref === '-') || d.length === 19) { + d += '+00:00'; + } + if (/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})/.test(d)) { + parsed = d.match(/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})/); + d = new Date(); + d.setUTCFullYear(parsed[1]); + d.setUTCMonth(parsed[2] - 1); + d.setUTCDate(parsed[3]); + d.setUTCHours(parsed[4]); + d.setUTCMinutes(parsed[5]); + d.setUTCSeconds(parsed[6]); + } else { + d = Date.parse(d); + } + if (typeof d === 'number') { + d = new Date(d); + } + d = new timezoneJS.Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), 'Etc/UTC'); + if (tz) { + d.convertToTimezone(tz); + } else if (cityTime) { + city_filter = $.cookie('city_filter'); + if (city_filter) { + tz = $("#city_filter option[value=" + city_filter + "]").attr('data-timezone'); + if (tz) { + d.convertToTimezone(tz); + } + } + } + return d; + }, + dateToTimezone: function(d) { + var city_filter, tz; + d = new timezoneJS.Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), 'Etc/UTC'); + city_filter = $.cookie('city_filter'); + if (city_filter) { + tz = $("#city_filter option[value=" + city_filter + "]").attr('data-timezone'); + d.convertToTimezone(tz); + } + return d; + }, + fixAMPM: function(d, formatted) { + if (d.hours >= 12) { + return formatted.replace(/\b[AP]M\b/, 'PM'); + } else { + return formatted.replace(/\b[AP]M\b/, 'AM'); + } + }, + formatDate: function(d, time, timezone) { + var formatted; + if (time == null) { + time = true; + } + if (timezone == null) { + timezone = null; + } + d = this.parseDate(d, true, timezone); + formatted = time ? ("" + (i18n.jsworld.dtf.formatDate(d)) + " ") + this.formatTime(d, d.getTimezoneInfo()) : i18n.jsworld.dtf.formatDate(d); + return this.fixAMPM(d, formatted); + }, + formatDateLong: function(d, time, timezone) { + if (time == null) { + time = true; + } + if (timezone == null) { + timezone = null; + } + d = this.parseDate(d, true, timezone); + timezone = d.getTimezoneInfo().tzAbbr; + if (time) { + return (i18n.jsworld.dtf.formatDateTime(d)) + (" " + timezone); + } else { + return i18n.jsworld.dtf.formatDate(d); + } + }, + formatTimezoneJSDate: function(d) { + var day, hours, jsDate, minutes, month, year; + year = d.getFullYear(); + month = this.leadingZero(d.getMonth()); + day = this.leadingZero(d.getDate()); + hours = this.leadingZero(d.getHours()); + minutes = this.leadingZero(d.getMinutes()); + jsDate = new Date(year, month, day, hours, minutes, 0); + return jsDate.toDateString(); + }, + formatTime: function(d, timezone) { + var formatted; + if (timezone == null) { + timezone = null; + } + formatted = ("" + (i18n.jsworld.dtf.formatTime(d))) + (timezone != null ? " " + (timezone != null ? timezone.tzAbbr : void 0) : ""); + return this.fixAMPM(d, formatted); + }, + formatISODate: function(d) { + var pad; + pad = function(n) { + if (n < 10) { + return '0' + n; + } + return n; + }; + return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + 'Z'; + }, + formatExpDate: function(d) { + var month, year; + d = this.parseDate(d); + year = d.getFullYear(); + month = this.leadingZero(d.getMonth() + 1); + return "" + year + "-" + month; + }, + formatLatLng: function(lat, lng, precision) { + if (precision == null) { + precision = 8; + } + return parseFloat(lat).toFixed(precision) + ',' + parseFloat(lng).toFixed(precision); + }, + leadingZero: function(num) { + if (num < 10) { + return "0" + num; + } else { + return num; + } + }, + roundNumber: function(num, dec) { + return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec); + }, + notesToHTML: function(notes) { + var i, note, notesHTML, _i, _len; + notesHTML = ''; + i = 1; + if (notes) { + for (_i = 0, _len = notes.length; _i < _len; _i++) { + note = notes[_i]; + notesHTML += "" + note['userid'] + "     " + (this.formatDate(note['created_at'])) + "

      " + note['note'] + "

      "; + notesHTML += "
      "; + } + } + return notesHTML.replace("'", '"e'); + }, + formatPhone: function(n) { + var parts, phone, regexObj; + n = "" + n; + regexObj = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/; + if (regexObj.test(n)) { + parts = n.match(regexObj); + phone = ""; + if (parts[1]) { + phone += "(" + parts[1] + ") "; + } + phone += "" + parts[2] + "-" + parts[3]; + } else { + phone = n; + } + return phone; + }, + usStates: ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'District of Columbia', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'], + onboardingPages: ['applied', 'ready_to_interview', 'pending_interview', 'interviewed', 'accepted', 'ready_to_onboard', 'pending_onboarding', 'active', 'waitlisted', 'rejected'], + driverBreadCrumb: function(loc, model) { + var onboardingPage, out, _i, _len, _ref; + out = "Drivers > "; + if (!(model != null)) { + out += ""; + } else { + out += "" + (this.onboardingUrlToName(model.get('driver_status'))) + ""; + out += " > " + (this.linkedName(model)) + " (" + (model.get('role')) + ") #" + (model.get('id')); + } + return out; + }, + onboardingUrlToName: function(url) { + return url != null ? url.replace(/_/g, " ").replace(/(^|\s)([a-z])/g, function(m, p1, p2) { + return p1 + p2.toUpperCase(); + }) : void 0; + }, + formatVehicle: function(vehicle) { + if (vehicle.get('make') && vehicle.get('model') && vehicle.get('license_plate')) { + return "" + (vehicle.get('make')) + " " + (vehicle.get('model')) + " (" + (vehicle.get('license_plate')) + ")"; + } + }, + docArbitraryFields: function(docName, cityDocs) { + var doc, field, out, _i, _j, _len, _len2, _ref; + out = ""; + for (_i = 0, _len = cityDocs.length; _i < _len; _i++) { + doc = cityDocs[_i]; + if (doc.name === docName && __indexOf.call(_.keys(doc), "metaFields") >= 0) { + _ref = doc.metaFields; + for (_j = 0, _len2 = _ref.length; _j < _len2; _j++) { + field = _ref[_j]; + out += "" + field.label + ":
      "; + } + } + } + return out; + }, + capitaliseFirstLetter: function(string) { + return string.charAt(0).toUpperCase() + string.slice(1); + }, + createDocUploadForm: function(docName, driverId, vehicleId, cityMeta, vehicleName, expirationRequired) { + var ddocs, expDropdowns, pdocs, vdocs; + if (driverId == null) { + driverId = "None"; + } + if (vehicleId == null) { + vehicleId = "None"; + } + if (cityMeta == null) { + cityMeta = []; + } + if (vehicleName == null) { + vehicleName = false; + } + if (expirationRequired == null) { + expirationRequired = false; + } + ddocs = cityMeta["driverRequiredDocs"] || []; + pdocs = cityMeta["partnerRequiredDocs"] || []; + vdocs = cityMeta["vehicleRequiredDocs"] || []; + expDropdowns = "Expiration Date:\n -\n"; + return "
      \n
      \n \n \n \n\n
      \n " + (vehicleName ? vehicleName : "") + " " + docName + "\n
      \n\n
      \n \n
      \n\n
      \n " + (expirationRequired ? expDropdowns : "") + "\n
      \n\n
      \n " + (app.helpers.docArbitraryFields(docName, _.union(ddocs, pdocs, vdocs))) + "\n
      \n\n
      \n \n
      \n\n
      \n
      "; + }, + countrySelector: function(name, options) { + var countries, countryCodePrefix, defaultOptions; + if (options == null) { + options = {}; + } + defaultOptions = { + selectedKey: 'telephone_code', + selectedValue: '+1', + silent: false + }; + _.extend(defaultOptions, options); + options = defaultOptions; + countries = new app.collections.countries(); + countries.fetch({ + data: { + limit: 300 + }, + success: function(countries) { + var $option, $select, country, selected, _i, _len, _ref; + selected = false; + _ref = countries.models || []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + country = _ref[_i]; + $select = $("select[name=" + name + "]"); + $option = $('').val(country.id).attr('data-iso2', country.get('iso2')).attr('data-prefix', country.get('telephone_code')).html(country.get('name')); + if (country.get(options.selectedKey) === options.selectedValue && !selected) { + selected = true; + $option.attr('selected', 'selected'); + } + $select.append($option); + } + if (selected && !options.silent) { + return $select.val(options.selected).trigger('change'); + } + } + }); + countryCodePrefix = options.countryCodePrefix ? "data-country-code-prefix='" + options.countryCodePrefix + "'" : ''; + return ""; + }, + missingDocsOnDriver: function(driver) { + var city, docsReq, documents, partnerDocs; + city = driver.get('city'); + documents = driver.get('documents'); + if ((city != null) && (documents != null)) { + docsReq = _.pluck(city != null ? city.get('meta')["driverRequiredDocs"] : void 0, "name"); + if (driver.get('role') === "partner") { + partnerDocs = _.pluck(city != null ? city.get('meta')["partnerRequiredDocs"] : void 0, "name"); + docsReq = _.union(docsReq, partnerDocs); + } + return _.reject(docsReq, __bind(function(doc) { + return __indexOf.call((documents != null ? documents.pluck("name") : void 0) || [], doc) >= 0; + }, this)); + } else { + return []; + } + } + }; +}).call(this); +}, "web-lib/i18n": function(exports, require, module) {(function() { + exports.i18n = { + defaultLocale: 'en_US', + cookieName: '_LOCALE_', + locales: { + 'en_US': "English (US)", + 'fr_FR': "Français" + }, + currencyToLocale: { + 'USD': 'en_US', + 'EUR': 'fr_FR' + }, + logglyKey: 'd2d5a9bc-7ebe-4538-a180-81e62c705b1b', + logglyHost: 'https://logs.loggly.com', + init: function() { + this.castor = new window.loggly({ + url: this.logglyHost + '/inputs/' + this.logglyKey + '?rt=1', + level: 'error' + }); + this.setLocale($.cookie(this.cookieName) || this.defaultLocale); + window.t = _.bind(this.t, this); + this.loadLocaleTranslations(this.locale); + if (!(this[this.defaultLocale] != null)) { + return this.loadLocaleTranslations(this.defaultLocale); + } + }, + loadLocaleTranslations: function(locale) { + var loadPaths, path, _i, _len, _results; + loadPaths = ['web-lib/translations/' + locale, 'web-lib/translations/' + locale.slice(0, 2), 'translations/' + locale, 'translations/' + locale.slice(0, 2)]; + _results = []; + for (_i = 0, _len = loadPaths.length; _i < _len; _i++) { + path = loadPaths[_i]; + locale = path.substring(path.lastIndexOf('/') + 1); + if (this[locale] == null) { + this[locale] = {}; + } + _results.push((function() { + try { + return _.extend(this[locale], require(path).translations); + } catch (error) { + + } + }).call(this)); + } + return _results; + }, + getLocale: function() { + return this.locale; + }, + setLocale: function(locale) { + var message, parts, _ref; + parts = locale.split('_'); + this.locale = parts[0].toLowerCase(); + if (parts.length > 1) { + this.locale += "_" + (parts[1].toUpperCase()); + } + if (this.locale) { + $.cookie(this.cookieName, this.locale, { + path: '/', + domain: '.uber.com' + }); + } + try { + ((_ref = this.jsworld) != null ? _ref : this.jsworld = {}).lc = new jsworld.Locale(POSIX_LC[this.locale]); + this.jsworld.mf = new jsworld.MonetaryFormatter(this.jsworld.lc); + this.jsworld.nf = new jsworld.NumericFormatter(this.jsworld.lc); + this.jsworld.dtf = new jsworld.DateTimeFormatter(this.jsworld.lc); + this.jsworld.np = new jsworld.NumericParser(this.jsworld.lc); + this.jsworld.mp = new jsworld.MonetaryParser(this.jsworld.lc); + return this.jsworld.dtp = new jsworld.DateTimeParser(this.jsworld.lc); + } catch (error) { + message = 'JsWorld error with locale: ' + this.locale; + return this.log({ + message: message, + error: error + }); + } + }, + getTemplate: function(id) { + var _ref, _ref2; + return ((_ref = this[this.locale]) != null ? _ref[id] : void 0) || ((_ref2 = this[this.locale.slice(0, 2)]) != null ? _ref2[id] : void 0); + }, + getTemplateDefault: function(id) { + var _ref, _ref2; + return ((_ref = this[this.defaultLocale]) != null ? _ref[id] : void 0) || ((_ref2 = this[this.defaultLocale.slice(0, 2)]) != null ? _ref2[id] : void 0); + }, + getTemplateOrDefault: function(id) { + return this.getTemplate(id) || this.getTemplateDefault(id); + }, + t: function(id, vars) { + var errStr, locale, template; + if (vars == null) { + vars = {}; + } + locale = this.getLocale(); + template = this.getTemplate(id); + if (template == null) { + if (/dev|test/.test(window.location.host)) { + template = "(?) " + id; + } else { + template = this.getTemplateDefault(id); + } + errStr = "Missing [" + locale + "] translation for [" + id + "] at [" + window.location.hash + "] - Default template is [" + template + "]"; + this.log({ + error: errStr, + locale: locale, + id: id, + defaultTemplate: template + }); + } + if (template) { + return _.template(template, vars); + } else { + return id; + } + }, + log: function(error) { + if (/dev/.test(window.location.host)) { + if ((typeof console !== "undefined" && console !== null ? console.log : void 0) != null) { + return console.log(error); + } + } else { + _.extend(error, { + host: window.location.host, + hash: window.location.hash + }); + return this.castor.error(JSON.stringify(error)); + } + } + }; +}).call(this); +}, "web-lib/mixins/i18n_phone_form": function(exports, require, module) {(function() { + exports.i18nPhoneForm = { + _events: { + 'change select[data-country-code-prefix]': 'setCountryCodePrefix' + }, + setCountryCodePrefix: function(e) { + var $el, prefix; + $el = $(e.currentTarget); + prefix = $el.find('option:selected').attr('data-prefix'); + return $("#" + ($el.attr('data-country-code-prefix'))).text(prefix); + } + }; +}).call(this); +}, "web-lib/models/country": function(exports, require, module) {(function() { + var UberModel; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + UberModel = require('web-lib/uber_model').UberModel; + exports.Country = (function() { + __extends(Country, UberModel); + function Country() { + Country.__super__.constructor.apply(this, arguments); + } + Country.prototype.url = function() { + if (this.id) { + return "/countries/" + this.id; + } else { + return '/countries'; + } + }; + return Country; + })(); +}).call(this); +}, "web-lib/models/vehicle_type": function(exports, require, module) {(function() { + var UberModel; + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + UberModel = require('web-lib/uber_model').UberModel; + exports.VehicleType = (function() { + __extends(VehicleType, UberModel); + function VehicleType() { + this.toString = __bind(this.toString, this); + VehicleType.__super__.constructor.apply(this, arguments); + } + VehicleType.prototype.endpoint = 'vehicle_types'; + VehicleType.prototype.toTableRow = function(cols) { + var actions, c, capacity, city_id, columnValues, created_at, created_by_user_id, deleted_at, id, make, minimum_year, model, rows, type, updated_at, updated_by_user_id, _i, _len, _ref; + id = "" + (this.get('id')) + ""; + if (this.get('created_at')) { + created_at = app.helpers.formatDate(this.get('created_at')); + } + if (this.get('updated_at')) { + updated_at = app.helpers.formatDate(this.get('updated_at')); + } + if (this.get('deleted_at')) { + deleted_at = app.helpers.formatDate(this.get('deleted_at')); + } + created_by_user_id = "" + (this.get('created_by_user_id')) + ""; + updated_by_user_id = "" + (this.get('updated_by_user_id')) + ""; + city_id = (_ref = this.get('city')) != null ? _ref.get('display_name') : void 0; + type = this.get('type'); + make = this.get('make'); + model = this.get('model'); + capacity = this.get('capacity'); + minimum_year = this.get('minimum_year'); + actions = "Show"; + if (!this.get('deleted_at')) { + actions += " Edit"; + actions += " Delete"; + } + columnValues = { + id: id, + created_at: created_at, + updated_at: updated_at, + deleted_at: deleted_at, + created_by_user_id: created_by_user_id, + updated_by_user_id: updated_by_user_id, + city_id: city_id, + type: type, + make: make, + model: model, + capacity: capacity, + minimum_year: minimum_year, + actions: actions + }; + rows = []; + for (_i = 0, _len = cols.length; _i < _len; _i++) { + c = cols[_i]; + rows.push(columnValues[c] ? columnValues[c] : '-'); + } + return rows; + }; + VehicleType.prototype.toString = function() { + return this.get('make') + ' ' + this.get('model') + ' ' + this.get('type') + (" (" + (this.get('capacity')) + ")"); + }; + return VehicleType; + })(); +}).call(this); +}, "web-lib/templates/footer": function(exports, require, module) {module.exports = function(__obj) { + if (!__obj) __obj = {}; + var __out = [], __capture = function(callback) { + var out = __out, result; + __out = []; + callback.call(this); + result = __out.join(''); + __out = out; + return __safe(result); + }, __sanitize = function(value) { + if (value && value.ecoSafe) { + return value; + } else if (typeof value !== 'undefined' && value != null) { + return __escape(value); + } else { + return ''; + } + }, __safe, __objSafe = __obj.safe, __escape = __obj.escape; + __safe = __obj.safe = function(value) { + if (value && value.ecoSafe) { + return value; + } else { + if (!(typeof value !== 'undefined' && value != null)) value = ''; + var result = new String(value); + result.ecoSafe = true; + return result; + } + }; + if (!__escape) { + __escape = __obj.escape = function(value) { + return ('' + value) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); + }; + } + (function() { + (function() { + var locale, title, _ref; + __out.push('\n\n\n\n\n'); + }).call(this); + + }).call(__obj); + __obj.safe = __objSafe, __obj.escape = __escape; + return __out.join(''); +}}, "web-lib/translations/en": function(exports, require, module) {(function() { + exports.translations = { + "Info": "Info", + "Learn More": "Learn More", + "Pricing": "Pricing", + "FAQ": "FAQ", + "Support": "Support", + "Support & FAQ": "Support & FAQ", + "Contact Us": "Contact Us", + "Jobs": "Jobs", + "Phones": "Phones", + "Text Message": "Text Message", + "iPhone": "iPhone", + "Android": "Android", + "Drivers": "Drivers", + "Apply": "Apply", + "Sign In": "Sign In", + "Social": "Social", + "Twitter": "Twitter", + "Facebook": "Facebook", + "Blog": "Blog", + "Legal": "Legal", + "Company_Footer": "Company", + "Privacy Policy": "Privacy Policy", + "Terms": "Terms", + "Copyright © Uber Technologies, Inc.": "Copyright © Uber Technologies, Inc.", + "Language:": "Language:", + "Apply to Drive": "Apply to Drive", + "Expiration": "Expiration", + "Fare": "Fare", + "Driver": "Driver ", + "Dashboard": "Dashboard", + "Forgot Password": "Forgot Password", + "Trip Details": "Trip Details", + "Save": "Save", + "Cancel": "Cancel", + "Edit": "Edit", + "Password": "Password", + "First Name": "First Name", + "Last Name": "Last Name", + "Email Address": "Email Address", + "Submit": "Submit", + "Mobile Number": "Mobile Number", + "Zip Code": "Zip Code", + "Sign Out": "Sign Out", + "Confirm Email Message": "Attempting to confirm email...", + "Upload": "Upload", + "Rating": "Rating", + "Pickup Time": "Pickup Time", + "2011": "2011", + "2012": "2012", + "2013": "2013", + "2014": "2014", + "2015": "2015", + "2016": "2016", + "2017": "2017", + "2018": "2018", + "2019": "2019", + "2020": "2020", + "2021": "2021", + "2022": "2022", + "01": "01", + "02": "02", + "03": "03", + "04": "04", + "05": "05", + "06": "06", + "07": "07", + "08": "08", + "09": "09", + "10": "10", + "11": "11", + "12": "12" + }; +}).call(this); +}, "web-lib/translations/fr": function(exports, require, module) {(function() { + exports.translations = { + "Info": "Info", + "Learn More": "En Savoir Plus", + "Pricing": "Calcul du Prix", + "Support & FAQ": "Aide & FAQ", + "Contact Us": "Contactez Nous", + "Jobs": "Emplois", + "Phones": "Téléphones", + "Text Message": "SMS", + "iPhone": "iPhone", + "Android": "Android", + "Apply to Drive": "Candidature Chauffeur", + "Sign In": "Connexion", + "Social": "Contact", + "Twitter": "Twitter", + "Facebook": "Facebook", + "Blog": "Blog", + "Privacy Policy": "Protection des Données Personelles", + "Terms": "Conditions Générales", + "Copyright © Uber Technologies, Inc.": "© Uber, Inc.", + "Language:": "Langue:", + "Forgot Password": "Mot de passe oublié", + "Company_Footer": "À Propos d'Uber", + "Expiration": "Expiration", + "Fare": "Tarif", + "Driver": "Chauffeur", + "Drivers": "Chauffeurs", + "Dashboard": "Tableau de bord", + "Forgot Password": "Mot de passe oublié", + "Forgot Password?": "Mot de passe oublié?", + "Trip Details": "Détails de la course", + "Save": "Enregistrer", + "Cancel": "Annuler", + "Edit": "Modifier", + "Password": "Mot de passe", + "First Name": "Prénom", + "Last Name": "Nom", + "Email Address": "E-mail", + "Submit": "Soumettre", + "Mobile Number": "Téléphone Portable", + "Zip Code": "Code Postal", + "Sign Out": "Se déconnecter", + "Confirm Email Message": "E-mail de confirmation", + "Upload": "Télécharger", + "Rating": "Notation", + "Pickup Time": "Heure de prise en charge", + "2011": "2011", + "2012": "2012", + "2013": "2013", + "2014": "2014", + "2015": "2015", + "2016": "2016", + "2017": "2017", + "2018": "2018", + "2019": "2019", + "2020": "2020", + "2021": "2021", + "2022": "2022", + "01": "01", + "02": "02", + "03": "03", + "04": "04", + "05": "05", + "06": "06", + "07": "07", + "08": "08", + "09": "09", + "10": "10", + "11": "11", + "12": "12" + }; +}).call(this); +}, "web-lib/uber_collection": function(exports, require, module) {(function() { + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + exports.UberCollection = (function() { + __extends(UberCollection, Backbone.Collection); + function UberCollection() { + UberCollection.__super__.constructor.apply(this, arguments); + } + UberCollection.prototype.parse = function(data) { + var model, tmp, _i, _in, _len, _out; + _in = data.resources || data; + _out = []; + if (data.meta) { + this.meta = data.meta; + } + for (_i = 0, _len = _in.length; _i < _len; _i++) { + model = _in[_i]; + tmp = new this.model; + tmp.set(tmp.parse(model)); + _out.push(tmp); + } + return _out; + }; + UberCollection.prototype.isRenderable = function() { + if (this.models.length) { + return true; + } + }; + UberCollection.prototype.toTableRows = function(cols) { + var tableRows; + tableRows = []; + _.each(this.models, function(model) { + return tableRows.push(model.toTableRow(cols)); + }); + return tableRows; + }; + return UberCollection; + })(); +}).call(this); +}, "web-lib/uber_model": function(exports, require, module) {(function() { + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }, __indexOf = Array.prototype.indexOf || function(item) { + for (var i = 0, l = this.length; i < l; i++) { + if (this[i] === item) return i; + } + return -1; + }; + exports.UberModel = (function() { + __extends(UberModel, Backbone.Model); + function UberModel() { + this.refetch = __bind(this.refetch, this); + this.fetch = __bind(this.fetch, this); + this.save = __bind(this.save, this); + this.parse = __bind(this.parse, this); + UberModel.__super__.constructor.apply(this, arguments); + } + UberModel.prototype.endpoint = 'set_api_endpoint_in_subclass'; + UberModel.prototype.refetchOptions = {}; + UberModel.prototype.url = function(type) { + var endpoint_path; + endpoint_path = "/" + this.endpoint; + if (this.get('id')) { + return endpoint_path + ("/" + (this.get('id'))); + } else { + return endpoint_path; + } + }; + UberModel.prototype.isRenderable = function() { + var i, key, value, _ref; + i = 0; + _ref = this.attributes; + for (key in _ref) { + if (!__hasProp.call(_ref, key)) continue; + value = _ref[key]; + if (this.attributes.hasOwnProperty(key)) { + i += 1; + } + if (i > 1) { + return true; + } + } + return !(i === 1); + }; + UberModel.prototype.parse = function(response) { + var attrs, key, model, models, _i, _j, _k, _len, _len2, _len3, _ref, _ref2; + if (typeof response === 'object') { + _ref = _.intersection(_.keys(app.models), _.keys(response)); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + key = _ref[_i]; + if (response[key]) { + attrs = this.parse(response[key]); + if (typeof attrs === 'object') { + response[key] = new app.models[key](attrs); + } + } + } + _ref2 = _.intersection(_.keys(app.collections), _.keys(response)); + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + key = _ref2[_j]; + models = response[key]; + if (_.isArray(models)) { + response[key] = new app.collections[key]; + for (_k = 0, _len3 = models.length; _k < _len3; _k++) { + model = models[_k]; + attrs = app.collections[key].prototype.model.prototype.parse(model); + response[key].add(new response[key].model(attrs)); + } + } + } + } + return response; + }; + UberModel.prototype.save = function(attributes, options) { + var attr, _i, _j, _len, _len2, _ref, _ref2; + if (options == null) { + options = {}; + } + _ref = _.intersection(_.keys(app.models), _.keys(this.attributes)); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + attr = _ref[_i]; + if (typeof this.get(attr) === "object") { + this.unset(attr, { + silent: true + }); + } + } + _ref2 = _.intersection(_.keys(app.collections), _.keys(this.attributes)); + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + attr = _ref2[_j]; + if (typeof this.get(attr) === "object") { + this.unset(attr, { + silent: true + }); + } + } + if ((options != null) && options.diff && (attributes != null) && attributes !== {}) { + attributes['id'] = this.get('id'); + attributes['token'] = this.get('token'); + this.clear({ + 'silent': true + }); + this.set(attributes, { + silent: true + }); + } + if (__indexOf.call(_.keys(options), "data") < 0 && __indexOf.call(_.keys(this.refetchOptions || {}), "data") >= 0) { + options.data = this.refetchOptions.data; + } + return Backbone.Model.prototype.save.call(this, attributes, options); + }; + UberModel.prototype.fetch = function(options) { + this.refetchOptions = options; + return Backbone.Model.prototype.fetch.call(this, options); + }; + UberModel.prototype.refetch = function() { + return this.fetch(this.refetchOptions); + }; + return UberModel; + })(); +}).call(this); +}, "web-lib/uber_router": function(exports, require, module) {(function() { + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + exports.UberRouter = (function() { + __extends(UberRouter, Backbone.Router); + function UberRouter() { + UberRouter.__super__.constructor.apply(this, arguments); + } + UberRouter.prototype.datePickers = function(format) { + if (format == null) { + format = "%Z-%m-%dT%H:%i:%s%:"; + } + $('.datepicker').AnyTime_noPicker(); + return $('.datepicker').AnyTime_picker({ + 'format': format, + 'formatUtcOffset': '%@' + }); + }; + UberRouter.prototype.autoGrowInput = function() { + return $('.editable input').autoGrowInput(); + }; + UberRouter.prototype.windowTitle = function(title) { + return $(document).attr('title', title); + }; + return UberRouter; + })(); +}).call(this); +}, "web-lib/uber_show_view": function(exports, require, module) {(function() { + var UberView; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + UberView = require('web-lib/uber_view').UberView; + exports.UberShowView = (function() { + __extends(UberShowView, UberView); + function UberShowView() { + UberShowView.__super__.constructor.apply(this, arguments); + } + UberShowView.prototype.view = 'show'; + UberShowView.prototype.events = { + 'click #edit': 'edit', + 'submit form': 'save', + 'click .cancel': 'cancel' + }; + UberShowView.prototype.errors = null; + UberShowView.prototype.showTemplate = null; + UberShowView.prototype.editTemplate = null; + UberShowView.prototype.initialize = function() { + if (this.init_hook) { + this.init_hook(); + } + _.bindAll(this, 'render'); + return this.model.bind('change', this.render); + }; + UberShowView.prototype.render = function() { + var $el; + $el = $(this.el); + this.selectView(); + if (this.view === 'show') { + $el.html(this.showTemplate({ + model: this.model + })); + } else if (this.view === 'edit') { + $el.html(this.editTemplate({ + model: this.model, + errors: this.errors || {}, + collections: this.collections || {} + })); + } else { + $el.html(this.newTemplate({ + model: this.model, + errors: this.errors || {}, + collections: this.collections || {} + })); + } + if (this.render_hook) { + this.render_hook(); + } + this.errors = null; + this.userIdsToLinkedNames(); + this.datePickers(); + return this.place(); + }; + UberShowView.prototype.selectView = function() { + var url; + if (this.options.urlRendering) { + url = window.location.hash; + if (url.match(/\/new/)) { + return this.view = 'new'; + } else if (url.match(/\/edit/)) { + return this.view = 'edit'; + } else { + return this.view = 'show'; + } + } + }; + UberShowView.prototype.edit = function(e) { + e.preventDefault(); + if (this.options.urlRendering) { + window.location.hash = '#/' + this.model.endpoint + '/' + this.model.get('id') + '/edit'; + } else { + this.view = 'edit'; + } + return this.model.change(); + }; + UberShowView.prototype.save = function(e) { + var attributes, ele, form_attrs, _i, _len, _ref; + e.preventDefault(); + attributes = $(e.currentTarget).serializeToJson(); + form_attrs = {}; + _ref = $('input[type="radio"]'); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + ele = _ref[_i]; + if ($(ele).is(':checked')) { + form_attrs[$(ele).attr('name')] = $(ele).attr('value'); + } + } + attributes = _.extend(attributes, form_attrs); + if (this.relationships) { + attributes = _.extend(attributes, { + relationships: this.relationships + }); + } + if (this.filter_attributes != null) { + this.filter_attributes(attributes); + } + return this.model.save(attributes, { + silent: true, + success: __bind(function(model) { + if (this.options.urlRendering) { + window.location.hash = '#/' + this.model.endpoint + '/' + this.model.get('id'); + } else { + this.view = 'show'; + } + return this.flash('success', "Uber save!"); + }, this), + statusCode: { + 406: __bind(function(xhr) { + this.errors = JSON.parse(xhr.responseText); + return this.flash('error', 'That was not Uber.'); + }, this) + }, + error: __bind(function(model, xhr) { + var code, message, responseJSON, responseText; + code = xhr.status; + responseText = xhr.responseText; + if (responseText) { + responseJSON = JSON.parse(responseText); + } + if (responseJSON && (typeof responseJSON === 'object') && (responseJSON.hasOwnProperty('error'))) { + message = responseJSON.error; + } + return this.flash('error', (code || 'Unknown') + ' error' + (': ' + message || '')); + }, this), + complete: __bind(function() { + return this.model.change(); + }, this) + }); + }; + UberShowView.prototype.cancel = function(e) { + e.preventDefault(); + if (this.options.urlRendering) { + window.location.hash = '#/' + this.model.endpoint + '/' + this.model.get('id'); + } else { + this.view = 'show'; + } + return this.model.fetch({ + silent: true, + complete: __bind(function() { + return this.model.change(); + }, this) + }); + }; + return UberShowView; + })(); +}).call(this); +}, "web-lib/uber_sync": function(exports, require, module) {(function() { + var methodType; + var __indexOf = Array.prototype.indexOf || function(item) { + for (var i = 0, l = this.length; i < l; i++) { + if (this[i] === item) return i; + } + return -1; + }; + methodType = { + create: 'POST', + update: 'PUT', + "delete": 'DELETE', + read: 'GET' + }; + exports.UberSync = function(method, model, options) { + var token; + options.type = methodType[method]; + options.url = _.isString(this.url) ? '/api' + this.url : '/api' + this.url(options.type); + options.data = _.extend({}, options.data); + if (__indexOf.call(_.keys(options.data), "city_id") < 0) { + if ($.cookie('city_filter')) { + _.extend(options.data, { + city_id: $.cookie('city_filter') + }); + } + } else { + delete options.data['city_id']; + } + if (options.type === 'POST' || options.type === 'PUT') { + _.extend(options.data, model.toJSON()); + } + token = $.cookie('token') ? $.cookie('token') : typeof USER !== "undefined" && USER !== null ? USER.get('token') : ""; + _.extend(options.data, { + token: token + }); + if (method === "delete") { + options.contentType = 'application/json'; + options.data = JSON.stringify(options.data); + } + return $.ajax(options); + }; +}).call(this); +}, "web-lib/uber_view": function(exports, require, module) {(function() { + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + exports.UberView = (function() { + __extends(UberView, Backbone.View); + function UberView() { + this.processDocumentUpload = __bind(this.processDocumentUpload, this); + UberView.__super__.constructor.apply(this, arguments); + } + UberView.prototype.className = 'view_container'; + UberView.prototype.hashId = function() { + return parseInt(location.hash.split('/')[2]); + }; + UberView.prototype.place = function(content) { + var $target; + $target = this.options.scope ? this.options.scope.find(this.options.selector) : $(this.options.selector); + $target[this.options.method || 'html'](content || this.el); + this.delegateEvents(); + $('#spinner').hide(); + return this; + }; + UberView.prototype.mixin = function(m, args) { + var events, self; + if (args == null) { + args = {}; + } + self = this; + events = m._events; + _.extend(this, m); + if (m.initialize) { + m.initialize(self, args); + } + return _.each(_.keys(events), function(key) { + var event, func, selector, split; + split = key.split(' '); + event = split[0]; + selector = split[1]; + func = events[key]; + return $(self.el).find(selector).live(event, function(e) { + return self[func](e); + }); + }); + }; + UberView.prototype.datePickers = function(format) { + if (format == null) { + format = "%Z-%m-%dT%H:%i:%s%:"; + } + $('.datepicker').AnyTime_noPicker(); + return $('.datepicker').AnyTime_picker({ + 'format': format, + 'formatUtcOffset': '%@' + }); + }; + UberView.prototype.dataTable = function(collection, selector, options, params, cols) { + var defaults; + if (selector == null) { + selector = 'table'; + } + if (options == null) { + options = {}; + } + if (params == null) { + params = {}; + } + if (cols == null) { + cols = []; + } + $(selector).empty(); + if (!cols.length) { + cols = collection.defaultColumns; + } + defaults = { + aoColumns: collection.tableColumns(cols), + bDestroy: true, + bSort: false, + bProcessing: true, + bFilter: false, + bServerSide: true, + bPaginate: true, + bScrollInfinite: true, + bScrollCollapse: true, + sScrollY: '600px', + iDisplayLength: 50, + fnServerData: function(source, data, callback) { + var defaultParams; + defaultParams = { + limit: data[4].value, + offset: data[3].value + }; + return collection.fetch({ + data: _.extend(defaultParams, params), + success: function() { + return callback({ + aaData: collection.toTableRows(cols), + iTotalRecords: collection.meta.count, + iTotalDisplayRecords: collection.meta.count + }); + }, + error: function() { + return new Error({ + message: 'Loading error.' + }); + } + }); + }, + fnRowCallback: function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { + $('[data-tooltip]', nRow).qtip({ + content: { + attr: 'data-tooltip' + }, + style: { + classes: "ui-tooltip-light ui-tooltip-rounded ui-tooltip-shadow" + } + }); + return nRow; + } + }; + return $(this.el).find(selector).dataTable(_.extend(defaults, options)); + }; + UberView.prototype.dataTableLocal = function(collection, selector, options, params, cols) { + var $dataTable, defaults; + if (selector == null) { + selector = 'table'; + } + if (options == null) { + options = {}; + } + if (params == null) { + params = {}; + } + if (cols == null) { + cols = []; + } + $(selector).empty(); + if (!cols.length || cols.length === 0) { + cols = collection.defaultColumns; + } + defaults = { + aaData: collection.toTableRows(cols), + aoColumns: collection.tableColumns(cols), + bDestroy: true, + bSort: false, + bProcessing: true, + bFilter: false, + bScrollInfinite: true, + bScrollCollapse: true, + sScrollY: '600px', + iDisplayLength: -1 + }; + $dataTable = $(this.el).find(selector).dataTable(_.extend(defaults, options)); + _.delay(__bind(function() { + if ($dataTable && $dataTable.length > 0) { + return $dataTable.fnAdjustColumnSizing(); + } + }, this), 1); + return $dataTable; + }; + UberView.prototype.reverseGeocode = function() { + var $el; + return ''; + $el = $(this.el); + return this.requireMaps(function() { + var geocoder; + geocoder = new google.maps.Geocoder(); + return $el.find('[data-point]').each(function() { + var $this, latLng, point; + $this = $(this); + point = JSON.parse($this.attr('data-point')); + latLng = new google.maps.LatLng(point.latitude, point.longitude); + return geocoder.geocode({ + latLng: latLng + }, function(data, status) { + if (status === google.maps.GeocoderStatus.OK) { + return $this.text(data[0].formatted_address); + } + }); + }); + }); + }; + UberView.prototype.userIdsToLinkedNames = function() { + var $el; + $el = $(this.el); + return $el.find('a[data-user-id][data-user-type]').each(function() { + var $this, user, userType; + $this = $(this); + userType = $this.attr('data-user-type') === 'user' ? 'client' : $this.attr('data-user-type'); + user = new app.models[userType]({ + id: $this.attr('data-user-id') + }); + return user.fetch({ + success: function(user) { + return $this.html(app.helpers.linkedName(user)).attr('href', "!/" + user.role + "s/" + user.id); + }, + error: function() { + if ($this.attr('data-user-type') === 'user') { + user = new app.models['driver']({ + id: $this.attr('data-user-id') + }); + return user.fetch({ + success: function(user) { + return $this.html(app.helpers.linkedName(user)).attr('href', "!/driver/" + user.id); + } + }); + } + } + }); + }); + }; + UberView.prototype.selectedCity = function() { + var $selected, city, cityFilter; + cityFilter = $.cookie('city_filter'); + $selected = $("#city_filter option[value=" + cityFilter + "]"); + if (city_filter && $selected.length) { + return city = { + lat: parseFloat($selected.attr('data-lat')), + lng: parseFloat($selected.attr('data-lng')), + timezone: $selected.attr('data-timezone') + }; + } else { + return city = { + lat: 37.775, + lng: -122.45, + timezone: 'Etc/UTC' + }; + } + }; + UberView.prototype.updateModel = function(e, success) { + var $el, attrs, model, self; + e.preventDefault(); + $el = $(e.currentTarget); + self = this; + model = new this.model.__proto__.constructor({ + id: this.model.id + }); + attrs = {}; + $el.find('[name]').each(function() { + var $this; + $this = $(this); + return attrs["" + ($this.attr('name'))] = $this.val(); + }); + self.model.set(attrs); + $el.find('span.error').text(''); + return model.save(attrs, { + complete: function(xhr) { + var response; + response = JSON.parse(xhr.responseText); + switch (xhr.status) { + case 200: + self.model = model; + $el.find('[name]').val(''); + if (success) { + return success(); + } + break; + case 406: + return _.each(response, function(error, field) { + return $el.find("[name=" + field + "]").parent().find('span.error').text(error); + }); + default: + return this.unanticipatedError(response); + } + } + }); + }; + UberView.prototype.autoUpdateModel = function(e) { + var $el, arg, model, self, val; + $el = $(e.currentTarget); + val = $el.val(); + self = this; + if (val !== this.model.get($el.attr('id'))) { + arg = {}; + arg[$el.attr('id')] = $el.is(':checkbox') ? $el.is(':checked') ? 1 : 0 : val; + $('.editable span').empty(); + this.model.set(arg); + model = new this.model.__proto__.constructor({ + id: this.model.id + }); + return model.save(arg, { + complete: function(xhr) { + var key, response, _i, _len, _ref, _results; + response = JSON.parse(xhr.responseText); + switch (xhr.status) { + case 200: + self.flash('success', 'Saved!'); + return $el.blur(); + case 406: + self.flash('error', 'That was not Uber.'); + _ref = _.keys(response); + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + key = _ref[_i]; + _results.push($el.parent().find('span').html(response[key])); + } + return _results; + break; + default: + return self.unanticipatedError; + } + } + }); + } + }; + UberView.prototype.unanticipatedError = function(response) { + return self.flash('error', response); + }; + UberView.prototype.flash = function(type, text) { + var $banner; + $banner = $("." + type); + $banner.find('p').text(text).end().css('border', '1px solid #999').animate({ + top: 0 + }, 500); + return setTimeout(function() { + return $banner.animate({ + top: -$banner.outerHeight() + }, 500); + }, 3000); + }; + UberView.prototype.requireMaps = function(callback) { + if (typeof google !== 'undefined' && google.maps) { + return callback(); + } else { + return $.getScript("https://www.google.com/jsapi?key=" + CONFIG.googleJsApiKey, function() { + return google.load('maps', 3, { + callback: callback, + other_params: 'sensor=false&language=en' + }); + }); + } + }; + UberView.prototype.select_drop_down = function(model, key) { + var value; + value = model.get(key); + if (value) { + return $("select[id='" + key + "'] option[value='" + value + "']").attr('selected', 'selected'); + } + }; + UberView.prototype.processDocumentUpload = function(e) { + var $fi, $form, arbData, curDate, data, expDate, expM, expY, expiration, fileElementId, invalid; + e.preventDefault(); + $form = $(e.currentTarget); + $fi = $("input[type=file]", $form); + $(".validationError").removeClass("validationError"); + if (!$fi.val()) { + return $fi.addClass("validationError"); + } else { + fileElementId = $fi.attr('id'); + expY = $("select[name=expiration-year]", $form).val(); + expM = $("select[name=expiration-month]", $form).val(); + invalid = false; + if (expY && expM) { + expDate = new Date(expY, expM, 28); + curDate = new Date(); + if (expDate < curDate) { + invalid = true; + $(".expiration", $form).addClass("validationError"); + } + expiration = "" + expY + "-" + expM + "-28T23:59:59Z"; + } + arbData = {}; + $(".arbitraryField", $form).each(__bind(function(i, e) { + arbData[$(e).attr('name')] = $(e).val(); + if ($(e).val() === "") { + invalid = true; + return $(e).addClass("validationError"); + } + }, this)); + if (!invalid) { + data = { + token: $.cookie('token') || USER.get('token'), + name: $("input[name=fileName]", $form).val(), + meta: escape(JSON.stringify(arbData)), + user_id: $("input[name=driver_id]", $form).val(), + vehicle_id: $("input[name=vehicle_id]", $form).val() + }; + if (expiration) { + data['expiration'] = expiration; + } + $("#spinner").show(); + return $.ajaxFileUpload({ + url: '/api/documents', + secureuri: false, + fileElementId: fileElementId, + data: data, + complete: __bind(function(resp, status) { + var key, _i, _len, _ref, _results; + $("#spinner").hide(); + if (status === "success") { + if (this.model) { + this.model.refetch(); + } else { + USER.refetch(); + } + } + if (status === "error") { + _ref = _.keys(resp); + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + key = _ref[_i]; + _results.push($("*[name=" + key + "]", $form).addClass("validationError")); + } + return _results; + } + }, this) + }); + } + } + }; + return UberView; + })(); +}).call(this); +}, "web-lib/views/footer": function(exports, require, module) {(function() { + var footerTemplate; + var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { + for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor; + child.__super__ = parent.prototype; + return child; + }; + footerTemplate = require('web-lib/templates/footer'); + exports.SharedFooterView = (function() { + __extends(SharedFooterView, Backbone.View); + function SharedFooterView() { + SharedFooterView.__super__.constructor.apply(this, arguments); + } + SharedFooterView.prototype.id = 'footer_view'; + SharedFooterView.prototype.events = { + 'click .language': 'intl_set_cookie_locale' + }; + SharedFooterView.prototype.render = function() { + $(this.el).html(footerTemplate()); + this.delegateEvents(); + return this; + }; + SharedFooterView.prototype.intl_set_cookie_locale = function(e) { + var _ref; + i18n.setLocale(e != null ? (_ref = e.srcElement) != null ? _ref.id : void 0 : void 0); + return location.reload(); + }; + return SharedFooterView; + })(); +}).call(this); +}}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/embed-tokens.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/embed-tokens.js new file mode 100644 index 0000000..61307ee --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/embed-tokens.js @@ -0,0 +1,15 @@ +#! /usr/bin/env node + +global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util"); +var fs = require("fs"); +var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js + jsp = uglify.parser, + pro = uglify.uglify; + +var code = fs.readFileSync("embed-tokens.js", "utf8").replace(/^#.*$/mg, ""); +var ast = jsp.parse(code, null, true); + +// trololo +function fooBar() {} + +console.log(sys.inspect(ast, null, null)); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto.js new file mode 100644 index 0000000..945960c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto.js @@ -0,0 +1,26 @@ +function unique(arqw) { + var a = [], i, j + outer: for (i = 0; i < arqw.length; i++) { + for (j = 0; j < a.length; j++) { + if (a[j] == arqw[i]) { + continue outer + } + } + a[a.length] = arqw[i] + } + return a +} + + +function unique(arqw) { + var crap = [], i, j + outer: for (i = 0; i < arqw.length; i++) { + for (j = 0; j < crap.length; j++) { + if (crap[j] == arqw[i]) { + continue outer + } + } + crap[crap.length] = arqw[i] + } + return crap +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto2.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto2.js new file mode 100644 index 0000000..d13b2bc --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/goto2.js @@ -0,0 +1,8 @@ +function q(qooo) { + var a; + foo: for(;;) { + a++; + if (something) break foo; + return qooo; + } +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/hoist.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/hoist.js new file mode 100644 index 0000000..4bf2b94 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/hoist.js @@ -0,0 +1,33 @@ +function foo(arg1, arg2, arg3, arg4, arg5, arg6) { + var a = 5; + { + var d = 10, mak = 20, buz = 30; + var q = buz * 2; + } + if (moo) { + var a, b, c; + } + for (var arg1 = 0, d = 20; arg1 < 10; ++arg1) + console.log(arg3); + for (var i in mak) {} + for (j in d) {} + var d; + + function test() { + + }; + + //test(); + + (function moo(first, second){ + console.log(first); + })(1); + + (function moo(first, second){ + console.log(moo()); + })(1); +} + + +var foo; +var bar; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument.js new file mode 100644 index 0000000..c6a9d79 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument.js @@ -0,0 +1,97 @@ +// sample on how to use the parser and walker API to instrument some code + +var jsp = require("uglify-js").parser; +var pro = require("uglify-js").uglify; + +function instrument(code) { + var ast = jsp.parse(code, false, true); // true for the third arg specifies that we want + // to have start/end tokens embedded in the + // statements + var w = pro.ast_walker(); + + // we're gonna need this to push elements that we're currently looking at, to avoid + // endless recursion. + var analyzing = []; + function do_stat() { + var ret; + if (this[0].start && analyzing.indexOf(this) < 0) { + // without the `analyzing' hack, w.walk(this) would re-enter here leading + // to infinite recursion + analyzing.push(this); + ret = [ "splice", // XXX: "block" is safer + [ [ "stat", + [ "call", [ "name", "trace" ], + [ [ "string", this[0].toString() ], + [ "num", this[0].start.line ], + [ "num", this[0].start.col ], + [ "num", this[0].end.line ], + [ "num", this[0].end.col ]]]], + w.walk(this) ]]; + analyzing.pop(this); + } + return ret; + }; + var new_ast = w.with_walkers({ + "stat" : do_stat, + "label" : do_stat, + "break" : do_stat, + "continue" : do_stat, + "debugger" : do_stat, + "var" : do_stat, + "const" : do_stat, + "return" : do_stat, + "throw" : do_stat, + "try" : do_stat, + "defun" : do_stat, + "if" : do_stat, + "while" : do_stat, + "do" : do_stat, + "for" : do_stat, + "for-in" : do_stat, + "switch" : do_stat, + "with" : do_stat + }, function(){ + return w.walk(ast); + }); + return pro.gen_code(new_ast, { beautify: true }); +} + + + + +////// test code follows. + +var code = instrument(test.toString()); +console.log(code); + +function test() { + // simple stats + a = 5; + c += a + b; + "foo"; + + // var + var foo = 5; + const bar = 6, baz = 7; + + // switch block. note we can't track case lines the same way. + switch ("foo") { + case "foo": + return 1; + case "bar": + return 2; + } + + // for/for in + for (var i = 0; i < 5; ++i) { + console.log("Hello " + i); + } + for (var i in [ 1, 2, 3]) { + console.log(i); + } + + // note however that the following is broken. I guess we + // should add the block brackets in this case... + for (var i = 0; i < 5; ++i) + console.log("foo"); +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument2.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument2.js new file mode 100644 index 0000000..6aee5f3 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/instrument2.js @@ -0,0 +1,138 @@ +// sample on how to use the parser and walker API to instrument some code + +var jsp = require("uglify-js").parser; +var pro = require("uglify-js").uglify; + +function instrument(code) { + var ast = jsp.parse(code, false, true); // true for the third arg specifies that we want + // to have start/end tokens embedded in the + // statements + var w = pro.ast_walker(); + + function trace (line, comment) { + var code = pro.gen_code(line, { beautify: true }); + var data = line[0] + + var args = [] + if (!comment) comment = "" + if (typeof data === "object") { + code = code.split(/\n/).shift() + args = [ [ "string", data.toString() ], + [ "string", code ], + [ "num", data.start.line ], + [ "num", data.start.col ], + [ "num", data.end.line ], + [ "num", data.end.col ]] + } else { + args = [ [ "string", data ], + [ "string", code ]] + + } + return [ "call", [ "name", "trace" ], args ]; + } + + // we're gonna need this to push elements that we're currently looking at, to avoid + // endless recursion. + var analyzing = []; + function do_stat() { + var ret; + if (this[0].start && analyzing.indexOf(this) < 0) { + // without the `analyzing' hack, w.walk(this) would re-enter here leading + // to infinite recursion + analyzing.push(this); + ret = [ "splice", + [ [ "stat", trace(this) ], + w.walk(this) ]]; + analyzing.pop(this); + } + return ret; + } + + function do_cond(c, t, f) { + return [ this[0], w.walk(c), + ["seq", trace(t), w.walk(t) ], + ["seq", trace(f), w.walk(f) ]]; + } + + function do_binary(c, l, r) { + if (c !== "&&" && c !== "||") { + return [this[0], c, w.walk(l), w.walk(r)]; + } + return [ this[0], c, + ["seq", trace(l), w.walk(l) ], + ["seq", trace(r), w.walk(r) ]]; + } + + var new_ast = w.with_walkers({ + "stat" : do_stat, + "label" : do_stat, + "break" : do_stat, + "continue" : do_stat, + "debugger" : do_stat, + "var" : do_stat, + "const" : do_stat, + "return" : do_stat, + "throw" : do_stat, + "try" : do_stat, + "defun" : do_stat, + "if" : do_stat, + "while" : do_stat, + "do" : do_stat, + "for" : do_stat, + "for-in" : do_stat, + "switch" : do_stat, + "with" : do_stat, + "conditional" : do_cond, + "binary" : do_binary + }, function(){ + return w.walk(ast); + }); + return pro.gen_code(new_ast, { beautify: true }); +} + + +////// test code follows. + +var code = instrument(test.toString()); +console.log(code); + +function test() { + // simple stats + a = 5; + c += a + b; + "foo"; + + // var + var foo = 5; + const bar = 6, baz = 7; + + // switch block. note we can't track case lines the same way. + switch ("foo") { + case "foo": + return 1; + case "bar": + return 2; + } + + // for/for in + for (var i = 0; i < 5; ++i) { + console.log("Hello " + i); + } + for (var i in [ 1, 2, 3]) { + console.log(i); + } + + for (var i = 0; i < 5; ++i) + console.log("foo"); + + for (var i = 0; i < 5; ++i) { + console.log("foo"); + } + + var k = plurp() ? 1 : 0; + var x = a ? doX(y) && goZoo("zoo") + : b ? blerg({ x: y }) + : null; + + var x = X || Y; +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/liftvars.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/liftvars.js new file mode 100644 index 0000000..2f4b7fe --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/liftvars.js @@ -0,0 +1,8 @@ +var UNUSED_VAR1 = 19; + +function main() { + var unused_var2 = 20; + alert(100); +} + +main(); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/test.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/test.js new file mode 100644 index 0000000..f295fba --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/test.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util"); +var fs = require("fs"); +var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js + jsp = uglify.parser, + pro = uglify.uglify; + +var code = fs.readFileSync("hoist.js", "utf8"); +var ast = jsp.parse(code); + +ast = pro.ast_lift_variables(ast); + +var w = pro.ast_walker(); +ast = w.with_walkers({ + "function": function() { + var node = w.dive(this); // walk depth first + console.log(pro.gen_code(node, { beautify: true })); + return node; + }, + "name": function(name) { + return [ this[0], "X" ]; + } +}, function(){ + return w.walk(ast); +}); + +console.log(pro.gen_code(ast, { + beautify: true +})); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs.js new file mode 100644 index 0000000..0d5b7e0 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs.js @@ -0,0 +1,3930 @@ +/** + * @fileoverview + * + * JsWorld + * + *

      Javascript library for localised formatting and parsing of: + *

        + *
      • Numbers + *
      • Dates and times + *
      • Currency + *
      + * + *

      The library classes are configured with standard POSIX locale definitions + * derived from Unicode's Common Locale Data Repository (CLDR). + * + *

      Website: JsWorld + * + * @author Vladimir Dzhuvinov + * @version 2.5 (2011-12-23) + */ + + + +/** + * @namespace Namespace container for the JsWorld library objects. + */ +jsworld = {}; + + +/** + * @function + * + * @description Formats a JavaScript Date object as an ISO-8601 date/time + * string. + * + * @param {Date} [d] A valid JavaScript Date object. If undefined the + * current date/time will be used. + * @param {Boolean} [withTZ] Include timezone offset, default false. + * + * @returns {String} The date/time formatted as YYYY-MM-DD HH:MM:SS. + */ +jsworld.formatIsoDateTime = function(d, withTZ) { + + if (typeof d === "undefined") + d = new Date(); // now + + if (typeof withTZ === "undefined") + withTZ = false; + + var s = jsworld.formatIsoDate(d) + " " + jsworld.formatIsoTime(d); + + if (withTZ) { + + var diff = d.getHours() - d.getUTCHours(); + var hourDiff = Math.abs(diff); + + var minuteUTC = d.getUTCMinutes(); + var minute = d.getMinutes(); + + if (minute != minuteUTC && minuteUTC < 30 && diff < 0) + hourDiff--; + + if (minute != minuteUTC && minuteUTC > 30 && diff > 0) + hourDiff--; + + var minuteDiff; + if (minute != minuteUTC) + minuteDiff = ":30"; + else + minuteDiff = ":00"; + + var timezone; + if (hourDiff < 10) + timezone = "0" + hourDiff + minuteDiff; + + else + timezone = "" + hourDiff + minuteDiff; + + if (diff < 0) + timezone = "-" + timezone; + + else + timezone = "+" + timezone; + + s = s + timezone; + } + + return s; +}; + + +/** + * @function + * + * @description Formats a JavaScript Date object as an ISO-8601 date string. + * + * @param {Date} [d] A valid JavaScript Date object. If undefined the current + * date will be used. + * + * @returns {String} The date formatted as YYYY-MM-DD. + */ +jsworld.formatIsoDate = function(d) { + + if (typeof d === "undefined") + d = new Date(); // now + + var year = d.getFullYear(); + var month = d.getMonth() + 1; + var day = d.getDate(); + + return year + "-" + jsworld._zeroPad(month, 2) + "-" + jsworld._zeroPad(day, 2); +}; + + +/** + * @function + * + * @description Formats a JavaScript Date object as an ISO-8601 time string. + * + * @param {Date} [d] A valid JavaScript Date object. If undefined the current + * time will be used. + * + * @returns {String} The time formatted as HH:MM:SS. + */ +jsworld.formatIsoTime = function(d) { + + if (typeof d === "undefined") + d = new Date(); // now + + var hour = d.getHours(); + var minute = d.getMinutes(); + var second = d.getSeconds(); + + return jsworld._zeroPad(hour, 2) + ":" + jsworld._zeroPad(minute, 2) + ":" + jsworld._zeroPad(second, 2); +}; + + +/** + * @function + * + * @description Parses an ISO-8601 formatted date/time string to a JavaScript + * Date object. + * + * @param {String} isoDateTimeVal An ISO-8601 formatted date/time string. + * + *

      Accepted formats: + * + *

        + *
      • YYYY-MM-DD HH:MM:SS + *
      • YYYYMMDD HHMMSS + *
      • YYYY-MM-DD HHMMSS + *
      • YYYYMMDD HH:MM:SS + *
      + * + * @returns {Date} The corresponding Date object. + * + * @throws Error on a badly formatted date/time string or on a invalid date. + */ +jsworld.parseIsoDateTime = function(isoDateTimeVal) { + + if (typeof isoDateTimeVal != "string") + throw "Error: The parameter must be a string"; + + // First, try to match "YYYY-MM-DD HH:MM:SS" format + var matches = isoDateTimeVal.match(/^(\d\d\d\d)-(\d\d)-(\d\d)[T ](\d\d):(\d\d):(\d\d)/); + + // If unsuccessful, try to match "YYYYMMDD HHMMSS" format + if (matches === null) + matches = isoDateTimeVal.match(/^(\d\d\d\d)(\d\d)(\d\d)[T ](\d\d)(\d\d)(\d\d)/); + + // ... try to match "YYYY-MM-DD HHMMSS" format + if (matches === null) + matches = isoDateTimeVal.match(/^(\d\d\d\d)-(\d\d)-(\d\d)[T ](\d\d)(\d\d)(\d\d)/); + + // ... try to match "YYYYMMDD HH:MM:SS" format + if (matches === null) + matches = isoDateTimeVal.match(/^(\d\d\d\d)-(\d\d)-(\d\d)[T ](\d\d):(\d\d):(\d\d)/); + + // Report bad date/time string + if (matches === null) + throw "Error: Invalid ISO-8601 date/time string"; + + // Force base 10 parse int as some values may have leading zeros! + // (to avoid implicit octal base conversion) + var year = parseInt(matches[1], 10); + var month = parseInt(matches[2], 10); + var day = parseInt(matches[3], 10); + + var hour = parseInt(matches[4], 10); + var mins = parseInt(matches[5], 10); + var secs = parseInt(matches[6], 10); + + // Simple value range check, leap years not checked + // Note: the originial ISO time spec for leap hours (24:00:00) and seconds (00:00:60) is not supported + if (month < 1 || month > 12 || + day < 1 || day > 31 || + hour < 0 || hour > 23 || + mins < 0 || mins > 59 || + secs < 0 || secs > 59 ) + + throw "Error: Invalid ISO-8601 date/time value"; + + var d = new Date(year, month - 1, day, hour, mins, secs); + + // Check if the input date was valid + // (JS Date does automatic forward correction) + if (d.getDate() != day || d.getMonth() +1 != month) + throw "Error: Invalid date"; + + return d; +}; + + +/** + * @function + * + * @description Parses an ISO-8601 formatted date string to a JavaScript + * Date object. + * + * @param {String} isoDateVal An ISO-8601 formatted date string. + * + *

      Accepted formats: + * + *

        + *
      • YYYY-MM-DD + *
      • YYYYMMDD + *
      + * + * @returns {Date} The corresponding Date object. + * + * @throws Error on a badly formatted date string or on a invalid date. + */ +jsworld.parseIsoDate = function(isoDateVal) { + + if (typeof isoDateVal != "string") + throw "Error: The parameter must be a string"; + + // First, try to match "YYYY-MM-DD" format + var matches = isoDateVal.match(/^(\d\d\d\d)-(\d\d)-(\d\d)/); + + // If unsuccessful, try to match "YYYYMMDD" format + if (matches === null) + matches = isoDateVal.match(/^(\d\d\d\d)(\d\d)(\d\d)/); + + // Report bad date/time string + if (matches === null) + throw "Error: Invalid ISO-8601 date string"; + + // Force base 10 parse int as some values may have leading zeros! + // (to avoid implicit octal base conversion) + var year = parseInt(matches[1], 10); + var month = parseInt(matches[2], 10); + var day = parseInt(matches[3], 10); + + // Simple value range check, leap years not checked + if (month < 1 || month > 12 || + day < 1 || day > 31 ) + + throw "Error: Invalid ISO-8601 date value"; + + var d = new Date(year, month - 1, day); + + // Check if the input date was valid + // (JS Date does automatic forward correction) + if (d.getDate() != day || d.getMonth() +1 != month) + throw "Error: Invalid date"; + + return d; +}; + + +/** + * @function + * + * @description Parses an ISO-8601 formatted time string to a JavaScript + * Date object. + * + * @param {String} isoTimeVal An ISO-8601 formatted time string. + * + *

      Accepted formats: + * + *

        + *
      • HH:MM:SS + *
      • HHMMSS + *
      + * + * @returns {Date} The corresponding Date object, with year, month and day set + * to zero. + * + * @throws Error on a badly formatted time string. + */ +jsworld.parseIsoTime = function(isoTimeVal) { + + if (typeof isoTimeVal != "string") + throw "Error: The parameter must be a string"; + + // First, try to match "HH:MM:SS" format + var matches = isoTimeVal.match(/^(\d\d):(\d\d):(\d\d)/); + + // If unsuccessful, try to match "HHMMSS" format + if (matches === null) + matches = isoTimeVal.match(/^(\d\d)(\d\d)(\d\d)/); + + // Report bad date/time string + if (matches === null) + throw "Error: Invalid ISO-8601 date/time string"; + + // Force base 10 parse int as some values may have leading zeros! + // (to avoid implicit octal base conversion) + var hour = parseInt(matches[1], 10); + var mins = parseInt(matches[2], 10); + var secs = parseInt(matches[3], 10); + + // Simple value range check, leap years not checked + if (hour < 0 || hour > 23 || + mins < 0 || mins > 59 || + secs < 0 || secs > 59 ) + + throw "Error: Invalid ISO-8601 time value"; + + return new Date(0, 0, 0, hour, mins, secs); +}; + + +/** + * @private + * + * @description Trims leading and trailing whitespace from a string. + * + *

      Used non-regexp the method from http://blog.stevenlevithan.com/archives/faster-trim-javascript + * + * @param {String} str The string to trim. + * + * @returns {String} The trimmed string. + */ +jsworld._trim = function(str) { + + var whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000'; + + for (var i = 0; i < str.length; i++) { + + if (whitespace.indexOf(str.charAt(i)) === -1) { + str = str.substring(i); + break; + } + } + + for (i = str.length - 1; i >= 0; i--) { + if (whitespace.indexOf(str.charAt(i)) === -1) { + str = str.substring(0, i + 1); + break; + } + } + + return whitespace.indexOf(str.charAt(0)) === -1 ? str : ''; +}; + + + +/** + * @private + * + * @description Returns true if the argument represents a decimal number. + * + * @param {Number|String} arg The argument to test. + * + * @returns {Boolean} true if the argument represents a decimal number, + * otherwise false. + */ +jsworld._isNumber = function(arg) { + + if (typeof arg == "number") + return true; + + if (typeof arg != "string") + return false; + + // ensure string + var s = arg + ""; + + return (/^-?(\d+|\d*\.\d+)$/).test(s); +}; + + +/** + * @private + * + * @description Returns true if the argument represents a decimal integer. + * + * @param {Number|String} arg The argument to test. + * + * @returns {Boolean} true if the argument represents an integer, otherwise + * false. + */ +jsworld._isInteger = function(arg) { + + if (typeof arg != "number" && typeof arg != "string") + return false; + + // convert to string + var s = arg + ""; + + return (/^-?\d+$/).test(s); +}; + + +/** + * @private + * + * @description Returns true if the argument represents a decimal float. + * + * @param {Number|String} arg The argument to test. + * + * @returns {Boolean} true if the argument represents a float, otherwise false. + */ +jsworld._isFloat = function(arg) { + + if (typeof arg != "number" && typeof arg != "string") + return false; + + // convert to string + var s = arg + ""; + + return (/^-?\.\d+?$/).test(s); +}; + + +/** + * @private + * + * @description Checks if the specified formatting option is contained + * within the options string. + * + * @param {String} option The option to search for. + * @param {String} optionsString The options string. + * + * @returns {Boolean} true if the flag is found, else false + */ +jsworld._hasOption = function(option, optionsString) { + + if (typeof option != "string" || typeof optionsString != "string") + return false; + + if (optionsString.indexOf(option) != -1) + return true; + else + return false; +}; + + +/** + * @private + * + * @description String replacement function. + * + * @param {String} s The string to work on. + * @param {String} target The string to search for. + * @param {String} replacement The replacement. + * + * @returns {String} The new string. + */ +jsworld._stringReplaceAll = function(s, target, replacement) { + + var out; + + if (target.length == 1 && replacement.length == 1) { + // simple char/char case somewhat faster + out = ""; + + for (var i = 0; i < s.length; i++) { + + if (s.charAt(i) == target.charAt(0)) + out = out + replacement.charAt(0); + else + out = out + s.charAt(i); + } + + return out; + } + else { + // longer target and replacement strings + out = s; + + var index = out.indexOf(target); + + while (index != -1) { + + out = out.replace(target, replacement); + + index = out.indexOf(target); + } + + return out; + } +}; + + +/** + * @private + * + * @description Tests if a string starts with the specified substring. + * + * @param {String} testedString The string to test. + * @param {String} sub The string to match. + * + * @returns {Boolean} true if the test succeeds. + */ +jsworld._stringStartsWith = function (testedString, sub) { + + if (testedString.length < sub.length) + return false; + + for (var i = 0; i < sub.length; i++) { + if (testedString.charAt(i) != sub.charAt(i)) + return false; + } + + return true; +}; + + +/** + * @private + * + * @description Gets the requested precision from an options string. + * + *

      Example: ".3" returns 3 decimal places precision. + * + * @param {String} optionsString The options string. + * + * @returns {integer Number} The requested precision, -1 if not specified. + */ +jsworld._getPrecision = function (optionsString) { + + if (typeof optionsString != "string") + return -1; + + var m = optionsString.match(/\.(\d)/); + if (m) + return parseInt(m[1], 10); + else + return -1; +}; + + +/** + * @private + * + * @description Takes a decimal numeric amount (optionally as string) and + * returns its integer and fractional parts packed into an object. + * + * @param {Number|String} amount The amount, e.g. "123.45" or "-56.78" + * + * @returns {object} Parsed amount object with properties: + * {String} integer : the integer part + * {String} fraction : the fraction part + */ +jsworld._splitNumber = function (amount) { + + if (typeof amount == "number") + amount = amount + ""; + + var obj = {}; + + // remove negative sign + if (amount.charAt(0) == "-") + amount = amount.substring(1); + + // split amount into integer and decimal parts + var amountParts = amount.split("."); + if (!amountParts[1]) + amountParts[1] = ""; // we need "" instead of null + + obj.integer = amountParts[0]; + obj.fraction = amountParts[1]; + + return obj; +}; + + +/** + * @private + * + * @description Formats the integer part using the specified grouping + * and thousands separator. + * + * @param {String} intPart The integer part of the amount, as string. + * @param {String} grouping The grouping definition. + * @param {String} thousandsSep The thousands separator. + * + * @returns {String} The formatted integer part. + */ +jsworld._formatIntegerPart = function (intPart, grouping, thousandsSep) { + + // empty separator string? no grouping? + // -> return immediately with no formatting! + if (thousandsSep == "" || grouping == "-1") + return intPart; + + // turn the semicolon-separated string of integers into an array + var groupSizes = grouping.split(";"); + + // the formatted output string + var out = ""; + + // the intPart string position to process next, + // start at string end, e.g. "10000000 0) { + + // get next group size (if any, otherwise keep last) + if (groupSizes.length > 0) + size = parseInt(groupSizes.shift(), 10); + + // int parse error? + if (isNaN(size)) + throw "Error: Invalid grouping"; + + // size is -1? -> no more grouping, so just copy string remainder + if (size == -1) { + out = intPart.substring(0, pos) + out; + break; + } + + pos -= size; // move to next sep. char. position + + // position underrun? -> just copy string remainder + if (pos < 1) { + out = intPart.substring(0, pos + size) + out; + break; + } + + // extract group and apply sep. char. + out = thousandsSep + intPart.substring(pos, pos + size) + out; + } + + return out; +}; + + +/** + * @private + * + * @description Formats the fractional part to the specified decimal + * precision. + * + * @param {String} fracPart The fractional part of the amount + * @param {integer Number} precision The desired decimal precision + * + * @returns {String} The formatted fractional part. + */ +jsworld._formatFractionPart = function (fracPart, precision) { + + // append zeroes up to precision if necessary + for (var i=0; fracPart.length < precision; i++) + fracPart = fracPart + "0"; + + return fracPart; +}; + + +/** + * @private + * + * @desription Converts a number to string and pad it with leading zeroes if the + * string is shorter than length. + * + * @param {integer Number} number The number value subjected to selective padding. + * @param {integer Number} length If the number has fewer digits than this length + * apply padding. + * + * @returns {String} The formatted string. + */ +jsworld._zeroPad = function(number, length) { + + // ensure string + var s = number + ""; + + while (s.length < length) + s = "0" + s; + + return s; +}; + + +/** + * @private + * @description Converts a number to string and pads it with leading spaces if + * the string is shorter than length. + * + * @param {integer Number} number The number value subjected to selective padding. + * @param {integer Number} length If the number has fewer digits than this length + * apply padding. + * + * @returns {String} The formatted string. + */ +jsworld._spacePad = function(number, length) { + + // ensure string + var s = number + ""; + + while (s.length < length) + s = " " + s; + + return s; +}; + + + +/** + * @class + * Represents a POSIX-style locale with its numeric, monetary and date/time + * properties. Also provides a set of locale helper methods. + * + *

      The locale properties follow the POSIX standards: + * + *

      + * + * @public + * @constructor + * @description Creates a new locale object (POSIX-style) with the specified + * properties. + * + * @param {object} properties An object containing the raw locale properties: + * + * @param {String} properties.decimal_point + * + * A string containing the symbol that shall be used as the decimal + * delimiter (radix character) in numeric, non-monetary formatted + * quantities. This property cannot be omitted and cannot be set to the + * empty string. + * + * + * @param {String} properties.thousands_sep + * + * A string containing the symbol that shall be used as a separator for + * groups of digits to the left of the decimal delimiter in numeric, + * non-monetary formatted monetary quantities. + * + * + * @param {String} properties.grouping + * + * Defines the size of each group of digits in formatted non-monetary + * quantities. The operand is a sequence of integers separated by + * semicolons. Each integer specifies the number of digits in each group, + * with the initial integer defining the size of the group immediately + * preceding the decimal delimiter, and the following integers defining + * the preceding groups. If the last integer is not -1, then the size of + * the previous group (if any) shall be repeatedly used for the + * remainder of the digits. If the last integer is -1, then no further + * grouping shall be performed. + * + * + * @param {String} properties.int_curr_symbol + * + * The first three letters signify the ISO-4217 currency code, + * the fourth letter is the international symbol separation character + * (normally a space). + * + * + * @param {String} properties.currency_symbol + * + * The local shorthand currency symbol, e.g. "$" for the en_US locale + * + * + * @param {String} properties.mon_decimal_point + * + * The symbol to be used as the decimal delimiter (radix character) + * + * + * @param {String} properties.mon_thousands_sep + * + * The symbol to be used as a separator for groups of digits to the + * left of the decimal delimiter. + * + * + * @param {String} properties.mon_grouping + * + * A string that defines the size of each group of digits. The + * operand is a sequence of integers separated by semicolons (";"). + * Each integer specifies the number of digits in each group, with the + * initial integer defining the size of the group preceding the + * decimal delimiter, and the following integers defining the + * preceding groups. If the last integer is not -1, then the size of + * the previous group (if any) must be repeatedly used for the + * remainder of the digits. If the last integer is -1, then no + * further grouping is to be performed. + * + * + * @param {String} properties.positive_sign + * + * The string to indicate a non-negative monetary amount. + * + * + * @param {String} properties.negative_sign + * + * The string to indicate a negative monetary amount. + * + * + * @param {integer Number} properties.frac_digits + * + * An integer representing the number of fractional digits (those to + * the right of the decimal delimiter) to be written in a formatted + * monetary quantity using currency_symbol. + * + * + * @param {integer Number} properties.int_frac_digits + * + * An integer representing the number of fractional digits (those to + * the right of the decimal delimiter) to be written in a formatted + * monetary quantity using int_curr_symbol. + * + * + * @param {integer Number} properties.p_cs_precedes + * + * An integer set to 1 if the currency_symbol precedes the value for a + * monetary quantity with a non-negative value, and set to 0 if the + * symbol succeeds the value. + * + * + * @param {integer Number} properties.n_cs_precedes + * + * An integer set to 1 if the currency_symbol precedes the value for a + * monetary quantity with a negative value, and set to 0 if the symbol + * succeeds the value. + * + * + * @param {integer Number} properties.p_sep_by_space + * + * Set to a value indicating the separation of the currency_symbol, + * the sign string, and the value for a non-negative formatted monetary + * quantity: + * + *

      0 No space separates the currency symbol and value.

      + * + *

      1 If the currency symbol and sign string are adjacent, a space + * separates them from the value; otherwise, a space separates + * the currency symbol from the value.

      + * + *

      2 If the currency symbol and sign string are adjacent, a space + * separates them; otherwise, a space separates the sign string + * from the value.

      + * + * + * @param {integer Number} properties.n_sep_by_space + * + * Set to a value indicating the separation of the currency_symbol, + * the sign string, and the value for a negative formatted monetary + * quantity. Rules same as for p_sep_by_space. + * + * + * @param {integer Number} properties.p_sign_posn + * + * An integer set to a value indicating the positioning of the + * positive_sign for a monetary quantity with a non-negative value: + * + *

      0 Parentheses enclose the quantity and the currency_symbol.

      + * + *

      1 The sign string precedes the quantity and the currency_symbol.

      + * + *

      2 The sign string succeeds the quantity and the currency_symbol.

      + * + *

      3 The sign string precedes the currency_symbol.

      + * + *

      4 The sign string succeeds the currency_symbol.

      + * + * + * @param {integer Number} properties.n_sign_posn + * + * An integer set to a value indicating the positioning of the + * negative_sign for a negative formatted monetary quantity. Rules same + * as for p_sign_posn. + * + * + * @param {integer Number} properties.int_p_cs_precedes + * + * An integer set to 1 if the int_curr_symbol precedes the value for a + * monetary quantity with a non-negative value, and set to 0 if the + * symbol succeeds the value. + * + * + * @param {integer Number} properties.int_n_cs_precedes + * + * An integer set to 1 if the int_curr_symbol precedes the value for a + * monetary quantity with a negative value, and set to 0 if the symbol + * succeeds the value. + * + * + * @param {integer Number} properties.int_p_sep_by_space + * + * Set to a value indicating the separation of the int_curr_symbol, + * the sign string, and the value for a non-negative internationally + * formatted monetary quantity. Rules same as for p_sep_by_space. + * + * + * @param {integer Number} properties.int_n_sep_by_space + * + * Set to a value indicating the separation of the int_curr_symbol, + * the sign string, and the value for a negative internationally + * formatted monetary quantity. Rules same as for p_sep_by_space. + * + * + * @param {integer Number} properties.int_p_sign_posn + * + * An integer set to a value indicating the positioning of the + * positive_sign for a positive monetary quantity formatted with the + * international format. Rules same as for p_sign_posn. + * + * + * @param {integer Number} properties.int_n_sign_posn + * + * An integer set to a value indicating the positioning of the + * negative_sign for a negative monetary quantity formatted with the + * international format. Rules same as for p_sign_posn. + * + * + * @param {String[] | String} properties.abday + * + * The abbreviated weekday names, corresponding to the %a conversion + * specification. The property must be either an array of 7 strings or + * a string consisting of 7 semicolon-separated substrings, each + * surrounded by double-quotes. The first must be the abbreviated name + * of the day corresponding to Sunday, the second the abbreviated name + * of the day corresponding to Monday, and so on. + * + * + * @param {String[] | String} properties.day + * + * The full weekday names, corresponding to the %A conversion + * specification. The property must be either an array of 7 strings or + * a string consisting of 7 semicolon-separated substrings, each + * surrounded by double-quotes. The first must be the full name of the + * day corresponding to Sunday, the second the full name of the day + * corresponding to Monday, and so on. + * + * + * @param {String[] | String} properties.abmon + * + * The abbreviated month names, corresponding to the %b conversion + * specification. The property must be either an array of 12 strings or + * a string consisting of 12 semicolon-separated substrings, each + * surrounded by double-quotes. The first must be the abbreviated name + * of the first month of the year (January), the second the abbreviated + * name of the second month, and so on. + * + * + * @param {String[] | String} properties.mon + * + * The full month names, corresponding to the %B conversion + * specification. The property must be either an array of 12 strings or + * a string consisting of 12 semicolon-separated substrings, each + * surrounded by double-quotes. The first must be the full name of the + * first month of the year (January), the second the full name of the second + * month, and so on. + * + * + * @param {String} properties.d_fmt + * + * The appropriate date representation. The string may contain any + * combination of characters and conversion specifications (%). + * + * + * @param {String} properties.t_fmt + * + * The appropriate time representation. The string may contain any + * combination of characters and conversion specifications (%). + * + * + * @param {String} properties.d_t_fmt + * + * The appropriate date and time representation. The string may contain + * any combination of characters and conversion specifications (%). + * + * + * @param {String[] | String} properties.am_pm + * + * The appropriate representation of the ante-meridiem and post-meridiem + * strings, corresponding to the %p conversion specification. The property + * must be either an array of 2 strings or a string consisting of 2 + * semicolon-separated substrings, each surrounded by double-quotes. + * The first string must represent the ante-meridiem designation, the + * last string the post-meridiem designation. + * + * + * @throws @throws Error on a undefined or invalid locale property. + */ +jsworld.Locale = function(properties) { + + + /** + * @private + * + * @description Identifies the class for internal library purposes. + */ + this._className = "jsworld.Locale"; + + + /** + * @private + * + * @description Parses a day or month name definition list, which + * could be a ready JS array, e.g. ["Mon", "Tue", "Wed"...] or + * it could be a string formatted according to the classic POSIX + * definition e.g. "Mon";"Tue";"Wed";... + * + * @param {String[] | String} namesAn array or string defining + * the week/month names. + * @param {integer Number} expectedItems The number of expected list + * items, e.g. 7 for weekdays, 12 for months. + * + * @returns {String[]} The parsed (and checked) items. + * + * @throws Error on missing definition, unexpected item count or + * missing double-quotes. + */ + this._parseList = function(names, expectedItems) { + + var array = []; + + if (names == null) { + throw "Names not defined"; + } + else if (typeof names == "object") { + // we got a ready array + array = names; + } + else if (typeof names == "string") { + // we got the names in the classic POSIX form, do parse + array = names.split(";", expectedItems); + + for (var i = 0; i < array.length; i++) { + // check for and strip double quotes + if (array[i][0] == "\"" && array[i][array[i].length - 1] == "\"") + array[i] = array[i].slice(1, -1); + else + throw "Missing double quotes"; + } + } + else { + throw "Names must be an array or a string"; + } + + if (array.length != expectedItems) + throw "Expected " + expectedItems + " items, got " + array.length; + + return array; + }; + + + /** + * @private + * + * @description Validates a date/time format string, such as "H:%M:%S". + * Checks that the argument is of type "string" and is not empty. + * + * @param {String} formatString The format string. + * + * @returns {String} The validated string. + * + * @throws Error on null or empty string. + */ + this._validateFormatString = function(formatString) { + + if (typeof formatString == "string" && formatString.length > 0) + return formatString; + else + throw "Empty or no string"; + }; + + + // LC_NUMERIC + + if (properties == null || typeof properties != "object") + throw "Error: Invalid/missing locale properties"; + + + if (typeof properties.decimal_point != "string") + throw "Error: Invalid/missing decimal_point property"; + + this.decimal_point = properties.decimal_point; + + + if (typeof properties.thousands_sep != "string") + throw "Error: Invalid/missing thousands_sep property"; + + this.thousands_sep = properties.thousands_sep; + + + if (typeof properties.grouping != "string") + throw "Error: Invalid/missing grouping property"; + + this.grouping = properties.grouping; + + + // LC_MONETARY + + if (typeof properties.int_curr_symbol != "string") + throw "Error: Invalid/missing int_curr_symbol property"; + + if (! /[A-Za-z]{3}.?/.test(properties.int_curr_symbol)) + throw "Error: Invalid int_curr_symbol property"; + + this.int_curr_symbol = properties.int_curr_symbol; + + + if (typeof properties.currency_symbol != "string") + throw "Error: Invalid/missing currency_symbol property"; + + this.currency_symbol = properties.currency_symbol; + + + if (typeof properties.frac_digits != "number" && properties.frac_digits < 0) + throw "Error: Invalid/missing frac_digits property"; + + this.frac_digits = properties.frac_digits; + + + // may be empty string/null for currencies with no fractional part + if (properties.mon_decimal_point === null || properties.mon_decimal_point == "") { + + if (this.frac_digits > 0) + throw "Error: Undefined mon_decimal_point property"; + else + properties.mon_decimal_point = ""; + } + + if (typeof properties.mon_decimal_point != "string") + throw "Error: Invalid/missing mon_decimal_point property"; + + this.mon_decimal_point = properties.mon_decimal_point; + + + if (typeof properties.mon_thousands_sep != "string") + throw "Error: Invalid/missing mon_thousands_sep property"; + + this.mon_thousands_sep = properties.mon_thousands_sep; + + + if (typeof properties.mon_grouping != "string") + throw "Error: Invalid/missing mon_grouping property"; + + this.mon_grouping = properties.mon_grouping; + + + if (typeof properties.positive_sign != "string") + throw "Error: Invalid/missing positive_sign property"; + + this.positive_sign = properties.positive_sign; + + + if (typeof properties.negative_sign != "string") + throw "Error: Invalid/missing negative_sign property"; + + this.negative_sign = properties.negative_sign; + + + + if (properties.p_cs_precedes !== 0 && properties.p_cs_precedes !== 1) + throw "Error: Invalid/missing p_cs_precedes property, must be 0 or 1"; + + this.p_cs_precedes = properties.p_cs_precedes; + + + if (properties.n_cs_precedes !== 0 && properties.n_cs_precedes !== 1) + throw "Error: Invalid/missing n_cs_precedes, must be 0 or 1"; + + this.n_cs_precedes = properties.n_cs_precedes; + + + if (properties.p_sep_by_space !== 0 && + properties.p_sep_by_space !== 1 && + properties.p_sep_by_space !== 2) + throw "Error: Invalid/missing p_sep_by_space property, must be 0, 1 or 2"; + + this.p_sep_by_space = properties.p_sep_by_space; + + + if (properties.n_sep_by_space !== 0 && + properties.n_sep_by_space !== 1 && + properties.n_sep_by_space !== 2) + throw "Error: Invalid/missing n_sep_by_space property, must be 0, 1, or 2"; + + this.n_sep_by_space = properties.n_sep_by_space; + + + if (properties.p_sign_posn !== 0 && + properties.p_sign_posn !== 1 && + properties.p_sign_posn !== 2 && + properties.p_sign_posn !== 3 && + properties.p_sign_posn !== 4) + throw "Error: Invalid/missing p_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.p_sign_posn = properties.p_sign_posn; + + + if (properties.n_sign_posn !== 0 && + properties.n_sign_posn !== 1 && + properties.n_sign_posn !== 2 && + properties.n_sign_posn !== 3 && + properties.n_sign_posn !== 4) + throw "Error: Invalid/missing n_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.n_sign_posn = properties.n_sign_posn; + + + if (typeof properties.int_frac_digits != "number" && properties.int_frac_digits < 0) + throw "Error: Invalid/missing int_frac_digits property"; + + this.int_frac_digits = properties.int_frac_digits; + + + if (properties.int_p_cs_precedes !== 0 && properties.int_p_cs_precedes !== 1) + throw "Error: Invalid/missing int_p_cs_precedes property, must be 0 or 1"; + + this.int_p_cs_precedes = properties.int_p_cs_precedes; + + + if (properties.int_n_cs_precedes !== 0 && properties.int_n_cs_precedes !== 1) + throw "Error: Invalid/missing int_n_cs_precedes property, must be 0 or 1"; + + this.int_n_cs_precedes = properties.int_n_cs_precedes; + + + if (properties.int_p_sep_by_space !== 0 && + properties.int_p_sep_by_space !== 1 && + properties.int_p_sep_by_space !== 2) + throw "Error: Invalid/missing int_p_sep_by_spacev, must be 0, 1 or 2"; + + this.int_p_sep_by_space = properties.int_p_sep_by_space; + + + if (properties.int_n_sep_by_space !== 0 && + properties.int_n_sep_by_space !== 1 && + properties.int_n_sep_by_space !== 2) + throw "Error: Invalid/missing int_n_sep_by_space property, must be 0, 1, or 2"; + + this.int_n_sep_by_space = properties.int_n_sep_by_space; + + + if (properties.int_p_sign_posn !== 0 && + properties.int_p_sign_posn !== 1 && + properties.int_p_sign_posn !== 2 && + properties.int_p_sign_posn !== 3 && + properties.int_p_sign_posn !== 4) + throw "Error: Invalid/missing int_p_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.int_p_sign_posn = properties.int_p_sign_posn; + + + if (properties.int_n_sign_posn !== 0 && + properties.int_n_sign_posn !== 1 && + properties.int_n_sign_posn !== 2 && + properties.int_n_sign_posn !== 3 && + properties.int_n_sign_posn !== 4) + throw "Error: Invalid/missing int_n_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.int_n_sign_posn = properties.int_n_sign_posn; + + + // LC_TIME + + if (properties == null || typeof properties != "object") + throw "Error: Invalid/missing time locale properties"; + + + // parse the supported POSIX LC_TIME properties + + // abday + try { + this.abday = this._parseList(properties.abday, 7); + } + catch (error) { + throw "Error: Invalid abday property: " + error; + } + + // day + try { + this.day = this._parseList(properties.day, 7); + } + catch (error) { + throw "Error: Invalid day property: " + error; + } + + // abmon + try { + this.abmon = this._parseList(properties.abmon, 12); + } catch (error) { + throw "Error: Invalid abmon property: " + error; + } + + // mon + try { + this.mon = this._parseList(properties.mon, 12); + } catch (error) { + throw "Error: Invalid mon property: " + error; + } + + // d_fmt + try { + this.d_fmt = this._validateFormatString(properties.d_fmt); + } catch (error) { + throw "Error: Invalid d_fmt property: " + error; + } + + // t_fmt + try { + this.t_fmt = this._validateFormatString(properties.t_fmt); + } catch (error) { + throw "Error: Invalid t_fmt property: " + error; + } + + // d_t_fmt + try { + this.d_t_fmt = this._validateFormatString(properties.d_t_fmt); + } catch (error) { + throw "Error: Invalid d_t_fmt property: " + error; + } + + // am_pm + try { + var am_pm_strings = this._parseList(properties.am_pm, 2); + this.am = am_pm_strings[0]; + this.pm = am_pm_strings[1]; + } catch (error) { + // ignore empty/null string errors + this.am = ""; + this.pm = ""; + } + + + /** + * @public + * + * @description Returns the abbreviated name of the specified weekday. + * + * @param {integer Number} [weekdayNum] An integer between 0 and 6. Zero + * corresponds to Sunday, one to Monday, etc. If omitted the + * method will return an array of all abbreviated weekday + * names. + * + * @returns {String | String[]} The abbreviated name of the specified weekday + * or an array of all abbreviated weekday names. + * + * @throws Error on invalid argument. + */ + this.getAbbreviatedWeekdayName = function(weekdayNum) { + + if (typeof weekdayNum == "undefined" || weekdayNum === null) + return this.abday; + + if (! jsworld._isInteger(weekdayNum) || weekdayNum < 0 || weekdayNum > 6) + throw "Error: Invalid weekday argument, must be an integer [0..6]"; + + return this.abday[weekdayNum]; + }; + + + /** + * @public + * + * @description Returns the name of the specified weekday. + * + * @param {integer Number} [weekdayNum] An integer between 0 and 6. Zero + * corresponds to Sunday, one to Monday, etc. If omitted the + * method will return an array of all weekday names. + * + * @returns {String | String[]} The name of the specified weekday or an + * array of all weekday names. + * + * @throws Error on invalid argument. + */ + this.getWeekdayName = function(weekdayNum) { + + if (typeof weekdayNum == "undefined" || weekdayNum === null) + return this.day; + + if (! jsworld._isInteger(weekdayNum) || weekdayNum < 0 || weekdayNum > 6) + throw "Error: Invalid weekday argument, must be an integer [0..6]"; + + return this.day[weekdayNum]; + }; + + + /** + * @public + * + * @description Returns the abbreviated name of the specified month. + * + * @param {integer Number} [monthNum] An integer between 0 and 11. Zero + * corresponds to January, one to February, etc. If omitted the + * method will return an array of all abbreviated month names. + * + * @returns {String | String[]} The abbreviated name of the specified month + * or an array of all abbreviated month names. + * + * @throws Error on invalid argument. + */ + this.getAbbreviatedMonthName = function(monthNum) { + + if (typeof monthNum == "undefined" || monthNum === null) + return this.abmon; + + if (! jsworld._isInteger(monthNum) || monthNum < 0 || monthNum > 11) + throw "Error: Invalid month argument, must be an integer [0..11]"; + + return this.abmon[monthNum]; + }; + + + /** + * @public + * + * @description Returns the name of the specified month. + * + * @param {integer Number} [monthNum] An integer between 0 and 11. Zero + * corresponds to January, one to February, etc. If omitted the + * method will return an array of all month names. + * + * @returns {String | String[]} The name of the specified month or an array + * of all month names. + * + * @throws Error on invalid argument. + */ + this.getMonthName = function(monthNum) { + + if (typeof monthNum == "undefined" || monthNum === null) + return this.mon; + + if (! jsworld._isInteger(monthNum) || monthNum < 0 || monthNum > 11) + throw "Error: Invalid month argument, must be an integer [0..11]"; + + return this.mon[monthNum]; + }; + + + + /** + * @public + * + * @description Gets the decimal delimiter (radix) character for + * numeric quantities. + * + * @returns {String} The radix character. + */ + this.getDecimalPoint = function() { + + return this.decimal_point; + }; + + + /** + * @public + * + * @description Gets the local shorthand currency symbol. + * + * @returns {String} The currency symbol. + */ + this.getCurrencySymbol = function() { + + return this.currency_symbol; + }; + + + /** + * @public + * + * @description Gets the internaltion currency symbol (ISO-4217 code). + * + * @returns {String} The international currency symbol. + */ + this.getIntCurrencySymbol = function() { + + return this.int_curr_symbol.substring(0,3); + }; + + + /** + * @public + * + * @description Gets the position of the local (shorthand) currency + * symbol relative to the amount. Assumes a non-negative amount. + * + * @returns {Boolean} True if the symbol precedes the amount, false if + * the symbol succeeds the amount. + */ + this.currencySymbolPrecedes = function() { + + if (this.p_cs_precedes == 1) + return true; + else + return false; + }; + + + /** + * @public + * + * @description Gets the position of the international (ISO-4217 code) + * currency symbol relative to the amount. Assumes a non-negative + * amount. + * + * @returns {Boolean} True if the symbol precedes the amount, false if + * the symbol succeeds the amount. + */ + this.intCurrencySymbolPrecedes = function() { + + if (this.int_p_cs_precedes == 1) + return true; + else + return false; + + }; + + + /** + * @public + * + * @description Gets the decimal delimiter (radix) for monetary + * quantities. + * + * @returns {String} The radix character. + */ + this.getMonetaryDecimalPoint = function() { + + return this.mon_decimal_point; + }; + + + /** + * @public + * + * @description Gets the number of fractional digits for local + * (shorthand) symbol formatting. + * + * @returns {integer Number} The number of fractional digits. + */ + this.getFractionalDigits = function() { + + return this.frac_digits; + }; + + + /** + * @public + * + * @description Gets the number of fractional digits for + * international (ISO-4217 code) formatting. + * + * @returns {integer Number} The number of fractional digits. + */ + this.getIntFractionalDigits = function() { + + return this.int_frac_digits; + }; +}; + + + +/** + * @class + * Class for localised formatting of numbers. + * + *

      See: + * POSIX LC_NUMERIC. + * + * + * @public + * @constructor + * @description Creates a new numeric formatter for the specified locale. + * + * @param {jsworld.Locale} locale A locale object specifying the required + * POSIX LC_NUMERIC formatting properties. + * + * @throws Error on constructor failure. + */ +jsworld.NumericFormatter = function(locale) { + + if (typeof locale != "object" || locale._className != "jsworld.Locale") + throw "Constructor error: You must provide a valid jsworld.Locale instance"; + + this.lc = locale; + + + /** + * @public + * + * @description Formats a decimal numeric value according to the preset + * locale. + * + * @param {Number|String} number The number to format. + * @param {String} [options] Options to modify the formatted output: + *

        + *
      • "^" suppress grouping + *
      • "+" force positive sign for positive amounts + *
      • "~" suppress positive/negative sign + *
      • ".n" specify decimal precision 'n' + *
      + * + * @returns {String} The formatted number. + * + * @throws "Error: Invalid input" on bad input. + */ + this.format = function(number, options) { + + if (typeof number == "string") + number = jsworld._trim(number); + + if (! jsworld._isNumber(number)) + throw "Error: The input is not a number"; + + var floatAmount = parseFloat(number, 10); + + // get the required precision + var reqPrecision = jsworld._getPrecision(options); + + // round to required precision + if (reqPrecision != -1) + floatAmount = Math.round(floatAmount * Math.pow(10, reqPrecision)) / Math.pow(10, reqPrecision); + + + // convert the float number to string and parse into + // object with properties integer and fraction + var parsedAmount = jsworld._splitNumber(String(floatAmount)); + + // format integer part with grouping chars + var formattedIntegerPart; + + if (floatAmount === 0) + formattedIntegerPart = "0"; + else + formattedIntegerPart = jsworld._hasOption("^", options) ? + parsedAmount.integer : + jsworld._formatIntegerPart(parsedAmount.integer, + this.lc.grouping, + this.lc.thousands_sep); + + // format the fractional part + var formattedFractionPart = + reqPrecision != -1 ? + jsworld._formatFractionPart(parsedAmount.fraction, reqPrecision) : + parsedAmount.fraction; + + + // join the integer and fraction parts using the decimal_point property + var formattedAmount = + formattedFractionPart.length ? + formattedIntegerPart + this.lc.decimal_point + formattedFractionPart : + formattedIntegerPart; + + // prepend sign? + if (jsworld._hasOption("~", options) || floatAmount === 0) { + // suppress both '+' and '-' signs, i.e. return abs value + return formattedAmount; + } + else { + if (jsworld._hasOption("+", options) || floatAmount < 0) { + if (floatAmount > 0) + // force '+' sign for positive amounts + return "+" + formattedAmount; + else if (floatAmount < 0) + // prepend '-' sign + return "-" + formattedAmount; + else + // zero case + return formattedAmount; + } + else { + // positive amount with no '+' sign + return formattedAmount; + } + } + }; +}; + + +/** + * @class + * Class for localised formatting of dates and times. + * + *

      See: + * POSIX LC_TIME. + * + * @public + * @constructor + * @description Creates a new date/time formatter for the specified locale. + * + * @param {jsworld.Locale} locale A locale object specifying the required + * POSIX LC_TIME formatting properties. + * + * @throws Error on constructor failure. + */ +jsworld.DateTimeFormatter = function(locale) { + + + if (typeof locale != "object" || locale._className != "jsworld.Locale") + throw "Constructor error: You must provide a valid jsworld.Locale instance."; + + this.lc = locale; + + + /** + * @public + * + * @description Formats a date according to the preset locale. + * + * @param {Date|String} date A valid Date object instance or a string + * containing a valid ISO-8601 formatted date, e.g. "2010-31-03" + * or "2010-03-31 23:59:59". + * + * @returns {String} The formatted date + * + * @throws Error on invalid date argument + */ + this.formatDate = function(date) { + + var d = null; + + if (typeof date == "string") { + // assume ISO-8601 date string + try { + d = jsworld.parseIsoDate(date); + } catch (error) { + // try full ISO-8601 date/time string + d = jsworld.parseIsoDateTime(date); + } + } + else if (date !== null && typeof date == "object") { + // assume ready Date object + d = date; + } + else { + throw "Error: Invalid date argument, must be a Date object or an ISO-8601 date/time string"; + } + + return this._applyFormatting(d, this.lc.d_fmt); + }; + + + /** + * @public + * + * @description Formats a time according to the preset locale. + * + * @param {Date|String} date A valid Date object instance or a string + * containing a valid ISO-8601 formatted time, e.g. "23:59:59" + * or "2010-03-31 23:59:59". + * + * @returns {String} The formatted time. + * + * @throws Error on invalid date argument. + */ + this.formatTime = function(date) { + + var d = null; + + if (typeof date == "string") { + // assume ISO-8601 time string + try { + d = jsworld.parseIsoTime(date); + } catch (error) { + // try full ISO-8601 date/time string + d = jsworld.parseIsoDateTime(date); + } + } + else if (date !== null && typeof date == "object") { + // assume ready Date object + d = date; + } + else { + throw "Error: Invalid date argument, must be a Date object or an ISO-8601 date/time string"; + } + + return this._applyFormatting(d, this.lc.t_fmt); + }; + + + /** + * @public + * + * @description Formats a date/time value according to the preset + * locale. + * + * @param {Date|String} date A valid Date object instance or a string + * containing a valid ISO-8601 formatted date/time, e.g. + * "2010-03-31 23:59:59". + * + * @returns {String} The formatted time. + * + * @throws Error on invalid argument. + */ + this.formatDateTime = function(date) { + + var d = null; + + if (typeof date == "string") { + // assume ISO-8601 format + d = jsworld.parseIsoDateTime(date); + } + else if (date !== null && typeof date == "object") { + // assume ready Date object + d = date; + } + else { + throw "Error: Invalid date argument, must be a Date object or an ISO-8601 date/time string"; + } + + return this._applyFormatting(d, this.lc.d_t_fmt); + }; + + + /** + * @private + * + * @description Apples formatting to the Date object according to the + * format string. + * + * @param {Date} d A valid Date instance. + * @param {String} s The formatting string with '%' placeholders. + * + * @returns {String} The formatted string. + */ + this._applyFormatting = function(d, s) { + + s = s.replace(/%%/g, '%'); + s = s.replace(/%a/g, this.lc.abday[d.getDay()]); + s = s.replace(/%A/g, this.lc.day[d.getDay()]); + s = s.replace(/%b/g, this.lc.abmon[d.getMonth()]); + s = s.replace(/%B/g, this.lc.mon[d.getMonth()]); + s = s.replace(/%d/g, jsworld._zeroPad(d.getDate(), 2)); + s = s.replace(/%e/g, jsworld._spacePad(d.getDate(), 2)); + s = s.replace(/%F/g, d.getFullYear() + + "-" + + jsworld._zeroPad(d.getMonth()+1, 2) + + "-" + + jsworld._zeroPad(d.getDate(), 2)); + s = s.replace(/%h/g, this.lc.abmon[d.getMonth()]); // same as %b + s = s.replace(/%H/g, jsworld._zeroPad(d.getHours(), 2)); + s = s.replace(/%I/g, jsworld._zeroPad(this._hours12(d.getHours()), 2)); + s = s.replace(/%k/g, d.getHours()); + s = s.replace(/%l/g, this._hours12(d.getHours())); + s = s.replace(/%m/g, jsworld._zeroPad(d.getMonth()+1, 2)); + s = s.replace(/%n/g, "\n"); + s = s.replace(/%M/g, jsworld._zeroPad(d.getMinutes(), 2)); + s = s.replace(/%p/g, this._getAmPm(d.getHours())); + s = s.replace(/%P/g, this._getAmPm(d.getHours()).toLocaleLowerCase()); // safe? + s = s.replace(/%R/g, jsworld._zeroPad(d.getHours(), 2) + + ":" + + jsworld._zeroPad(d.getMinutes(), 2)); + s = s.replace(/%S/g, jsworld._zeroPad(d.getSeconds(), 2)); + s = s.replace(/%T/g, jsworld._zeroPad(d.getHours(), 2) + + ":" + + jsworld._zeroPad(d.getMinutes(), 2) + + ":" + + jsworld._zeroPad(d.getSeconds(), 2)); + s = s.replace(/%w/g, this.lc.day[d.getDay()]); + s = s.replace(/%y/g, new String(d.getFullYear()).substring(2)); + s = s.replace(/%Y/g, d.getFullYear()); + + s = s.replace(/%Z/g, ""); // to do: ignored until a reliable TMZ method found + + s = s.replace(/%[a-zA-Z]/g, ""); // ignore all other % sequences + + return s; + }; + + + /** + * @private + * + * @description Does 24 to 12 hour conversion. + * + * @param {integer Number} hour24 Hour [0..23]. + * + * @returns {integer Number} Corresponding hour [1..12]. + */ + this._hours12 = function(hour24) { + + if (hour24 === 0) + return 12; // 00h is 12AM + + else if (hour24 > 12) + return hour24 - 12; // 1PM to 11PM + + else + return hour24; // 1AM to 12PM + }; + + + /** + * @private + * + * @description Gets the appropriate localised AM or PM string depending + * on the day hour. Special cases: midnight is 12AM, noon is 12PM. + * + * @param {integer Number} hour24 Hour [0..23]. + * + * @returns {String} The corresponding localised AM or PM string. + */ + this._getAmPm = function(hour24) { + + if (hour24 < 12) + return this.lc.am; + else + return this.lc.pm; + }; +}; + + + +/** + * @class Class for localised formatting of currency amounts. + * + *

      See: + * POSIX LC_MONETARY. + * + * @public + * @constructor + * @description Creates a new monetary formatter for the specified locale. + * + * @param {jsworld.Locale} locale A locale object specifying the required + * POSIX LC_MONETARY formatting properties. + * @param {String} [currencyCode] Set the currency explicitly by + * passing its international ISO-4217 code, e.g. "USD", "EUR", "GBP". + * Use this optional parameter to override the default local currency + * @param {String} [altIntSymbol] Non-local currencies are formatted + * with their international ISO-4217 code to prevent ambiguity. + * Use this optional argument to force a different symbol, such as the + * currency's shorthand sign. This is mostly useful when the shorthand + * sign is both internationally recognised and identifies the currency + * uniquely (e.g. the Euro sign). + * + * @throws Error on constructor failure. + */ +jsworld.MonetaryFormatter = function(locale, currencyCode, altIntSymbol) { + + if (typeof locale != "object" || locale._className != "jsworld.Locale") + throw "Constructor error: You must provide a valid jsworld.Locale instance"; + + this.lc = locale; + + /** + * @private + * @description Lookup table to determine the fraction digits for a + * specific currency; most currencies subdivide at 1/100 (2 fractional + * digits), so we store only those that deviate from the default. + * + *

      The data is from Unicode's CLDR version 1.7.0. The two currencies + * with non-decimal subunits (MGA and MRO) are marked as having no + * fractional digits as well as all currencies that have no subunits + * in circulation. + * + *

      It is "hard-wired" for referential convenience and is only looked + * up when an overriding currencyCode parameter is supplied. + */ + this.currencyFractionDigits = { + "AFN" : 0, "ALL" : 0, "AMD" : 0, "BHD" : 3, "BIF" : 0, + "BYR" : 0, "CLF" : 0, "CLP" : 0, "COP" : 0, "CRC" : 0, + "DJF" : 0, "GNF" : 0, "GYD" : 0, "HUF" : 0, "IDR" : 0, + "IQD" : 0, "IRR" : 0, "ISK" : 0, "JOD" : 3, "JPY" : 0, + "KMF" : 0, "KRW" : 0, "KWD" : 3, "LAK" : 0, "LBP" : 0, + "LYD" : 3, "MGA" : 0, "MMK" : 0, "MNT" : 0, "MRO" : 0, + "MUR" : 0, "OMR" : 3, "PKR" : 0, "PYG" : 0, "RSD" : 0, + "RWF" : 0, "SLL" : 0, "SOS" : 0, "STD" : 0, "SYP" : 0, + "TND" : 3, "TWD" : 0, "TZS" : 0, "UGX" : 0, "UZS" : 0, + "VND" : 0, "VUV" : 0, "XAF" : 0, "XOF" : 0, "XPF" : 0, + "YER" : 0, "ZMK" : 0 + }; + + + // optional currencyCode argument? + if (typeof currencyCode == "string") { + // user wanted to override the local currency + this.currencyCode = currencyCode.toUpperCase(); + + // must override the frac digits too, for some + // currencies have 0, 2 or 3! + var numDigits = this.currencyFractionDigits[this.currencyCode]; + if (typeof numDigits != "number") + numDigits = 2; // default for most currencies + this.lc.frac_digits = numDigits; + this.lc.int_frac_digits = numDigits; + } + else { + // use local currency + this.currencyCode = this.lc.int_curr_symbol.substring(0,3).toUpperCase(); + } + + // extract intl. currency separator + this.intSep = this.lc.int_curr_symbol.charAt(3); + + // flag local or intl. sign formatting? + if (this.currencyCode == this.lc.int_curr_symbol.substring(0,3)) { + // currency matches the local one? -> + // formatting with local symbol and parameters + this.internationalFormatting = false; + this.curSym = this.lc.currency_symbol; + } + else { + // currency doesn't match the local -> + + // do we have an overriding currency symbol? + if (typeof altIntSymbol == "string") { + // -> force formatting with local parameters, using alt symbol + this.curSym = altIntSymbol; + this.internationalFormatting = false; + } + else { + // -> force formatting with intl. sign and parameters + this.internationalFormatting = true; + } + } + + + /** + * @public + * + * @description Gets the currency symbol used in formatting. + * + * @returns {String} The currency symbol. + */ + this.getCurrencySymbol = function() { + + return this.curSym; + }; + + + /** + * @public + * + * @description Gets the position of the currency symbol relative to + * the amount. Assumes a non-negative amount and local formatting. + * + * @param {String} intFlag Optional flag to force international + * formatting by passing the string "i". + * + * @returns {Boolean} True if the symbol precedes the amount, false if + * the symbol succeeds the amount. + */ + this.currencySymbolPrecedes = function(intFlag) { + + if (typeof intFlag == "string" && intFlag == "i") { + // international formatting was forced + if (this.lc.int_p_cs_precedes == 1) + return true; + else + return false; + + } + else { + // check whether local formatting is on or off + if (this.internationalFormatting) { + if (this.lc.int_p_cs_precedes == 1) + return true; + else + return false; + } + else { + if (this.lc.p_cs_precedes == 1) + return true; + else + return false; + } + } + }; + + + /** + * @public + * + * @description Gets the decimal delimiter (radix) used in formatting. + * + * @returns {String} The radix character. + */ + this.getDecimalPoint = function() { + + return this.lc.mon_decimal_point; + }; + + + /** + * @public + * + * @description Gets the number of fractional digits. Assumes local + * formatting. + * + * @param {String} intFlag Optional flag to force international + * formatting by passing the string "i". + * + * @returns {integer Number} The number of fractional digits. + */ + this.getFractionalDigits = function(intFlag) { + + if (typeof intFlag == "string" && intFlag == "i") { + // international formatting was forced + return this.lc.int_frac_digits; + } + else { + // check whether local formatting is on or off + if (this.internationalFormatting) + return this.lc.int_frac_digits; + else + return this.lc.frac_digits; + } + }; + + + /** + * @public + * + * @description Formats a monetary amount according to the preset + * locale. + * + *

      +	 * For local currencies the native shorthand symbol will be used for
      +	 * formatting.
      +	 * Example:
      +	 *        locale is en_US
      +	 *        currency is USD
      +	 *        -> the "$" symbol will be used, e.g. $123.45
      +	 *        
      +	 * For non-local currencies the international ISO-4217 code will be
      +	 * used for formatting.
      +	 * Example:
      +	 *       locale is en_US (which has USD as currency)
      +	 *       currency is EUR
      +	 *       -> the ISO three-letter code will be used, e.g. EUR 123.45
      +	 *
      +	 * If the currency is non-local, but an alternative currency symbol was
      +	 * provided, this will be used instead.
      +	 * Example
      +	 *       locale is en_US (which has USD as currency)
      +	 *       currency is EUR
      +	 *       an alternative symbol is provided - "€"
      +	 *       -> the alternative symbol will be used, e.g. €123.45
      +	 * 
      + * + * @param {Number|String} amount The amount to format as currency. + * @param {String} [options] Options to modify the formatted output: + *
        + *
      • "^" suppress grouping + *
      • "!" suppress the currency symbol + *
      • "~" suppress the currency symbol and the sign (positive or negative) + *
      • "i" force international sign (ISO-4217 code) formatting + *
      • ".n" specify decimal precision + * + * @returns The formatted currency amount as string. + * + * @throws "Error: Invalid amount" on bad amount. + */ + this.format = function(amount, options) { + + // if the amount is passed as string, check that it parses to a float + var floatAmount; + + if (typeof amount == "string") { + amount = jsworld._trim(amount); + floatAmount = parseFloat(amount); + + if (typeof floatAmount != "number" || isNaN(floatAmount)) + throw "Error: Amount string not a number"; + } + else if (typeof amount == "number") { + floatAmount = amount; + } + else { + throw "Error: Amount not a number"; + } + + // get the required precision, ".n" option arg overrides default locale config + var reqPrecision = jsworld._getPrecision(options); + + if (reqPrecision == -1) { + if (this.internationalFormatting || jsworld._hasOption("i", options)) + reqPrecision = this.lc.int_frac_digits; + else + reqPrecision = this.lc.frac_digits; + } + + // round + floatAmount = Math.round(floatAmount * Math.pow(10, reqPrecision)) / Math.pow(10, reqPrecision); + + + // convert the float amount to string and parse into + // object with properties integer and fraction + var parsedAmount = jsworld._splitNumber(String(floatAmount)); + + // format integer part with grouping chars + var formattedIntegerPart; + + if (floatAmount === 0) + formattedIntegerPart = "0"; + else + formattedIntegerPart = jsworld._hasOption("^", options) ? + parsedAmount.integer : + jsworld._formatIntegerPart(parsedAmount.integer, + this.lc.mon_grouping, + this.lc.mon_thousands_sep); + + + // format the fractional part + var formattedFractionPart; + + if (reqPrecision == -1) { + // pad fraction with trailing zeros accoring to default locale [int_]frac_digits + if (this.internationalFormatting || jsworld._hasOption("i", options)) + formattedFractionPart = + jsworld._formatFractionPart(parsedAmount.fraction, this.lc.int_frac_digits); + else + formattedFractionPart = + jsworld._formatFractionPart(parsedAmount.fraction, this.lc.frac_digits); + } + else { + // pad fraction with trailing zeros according to optional format parameter + formattedFractionPart = + jsworld._formatFractionPart(parsedAmount.fraction, reqPrecision); + } + + + // join integer and decimal parts using the mon_decimal_point property + var quantity; + + if (this.lc.frac_digits > 0 || formattedFractionPart.length) + quantity = formattedIntegerPart + this.lc.mon_decimal_point + formattedFractionPart; + else + quantity = formattedIntegerPart; + + + // do final formatting with sign and symbol + if (jsworld._hasOption("~", options)) { + return quantity; + } + else { + var suppressSymbol = jsworld._hasOption("!", options) ? true : false; + + var sign = floatAmount < 0 ? "-" : "+"; + + if (this.internationalFormatting || jsworld._hasOption("i", options)) { + + // format with ISO-4217 code (suppressed or not) + if (suppressSymbol) + return this._formatAsInternationalCurrencyWithNoSym(sign, quantity); + else + return this._formatAsInternationalCurrency(sign, quantity); + } + else { + // format with local currency code (suppressed or not) + if (suppressSymbol) + return this._formatAsLocalCurrencyWithNoSym(sign, quantity); + else + return this._formatAsLocalCurrency(sign, quantity); + } + } + }; + + + /** + * @private + * + * @description Assembles the final string with sign, separator and symbol as local + * currency. + * + * @param {String} sign The amount sign: "+" or "-". + * @param {String} q The formatted quantity (unsigned). + * + * @returns {String} The final formatted string. + */ + this._formatAsLocalCurrency = function (sign, q) { + + // assemble final formatted amount by going over all possible value combinations of: + // sign {+,-} , sign position {0,1,2,3,4} , separator {0,1,2} , symbol position {0,1} + if (sign == "+") { + + // parentheses + if (this.lc.p_sign_posn === 0 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return "(" + q + this.curSym + ")"; + } + else if (this.lc.p_sign_posn === 0 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return "(" + this.curSym + q + ")"; + } + else if (this.lc.p_sign_posn === 0 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return "(" + q + " " + this.curSym + ")"; + } + else if (this.lc.p_sign_posn === 0 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return "(" + this.curSym + " " + q + ")"; + } + + // sign before q + sym + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return this.lc.positive_sign + q + this.curSym; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + this.curSym + q; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return this.lc.positive_sign + q + " " + this.curSym; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + this.curSym + " " + q; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return this.lc.positive_sign + " " + q + this.curSym; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + " " + this.curSym + q; + } + + // sign after q + sym + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return q + this.curSym + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return this.curSym + q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return q + " " + this.curSym + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return this.curSym + " " + q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return q + this.curSym + " " + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return this.curSym + q + " " + this.lc.positive_sign; + } + + // sign before sym + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return q + this.lc.positive_sign + this.curSym; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + this.curSym + q; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return q + " " + this.lc.positive_sign + this.curSym; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + this.curSym + " " + q; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return q + this.lc.positive_sign + " " + this.curSym; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + " " + this.curSym + q; + } + + // sign after symbol + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return q + this.curSym + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return this.curSym + this.lc.positive_sign + q; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return q + " " + this.curSym + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return this.curSym + this.lc.positive_sign + " " + q; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return q + this.curSym + " " + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return this.curSym + " " + this.lc.positive_sign + q; + } + + } + else if (sign == "-") { + + // parentheses enclose q + sym + if (this.lc.n_sign_posn === 0 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return "(" + q + this.curSym + ")"; + } + else if (this.lc.n_sign_posn === 0 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return "(" + this.curSym + q + ")"; + } + else if (this.lc.n_sign_posn === 0 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return "(" + q + " " + this.curSym + ")"; + } + else if (this.lc.n_sign_posn === 0 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return "(" + this.curSym + " " + q + ")"; + } + + // sign before q + sym + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return this.lc.negative_sign + q + this.curSym; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + this.curSym + q; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return this.lc.negative_sign + q + " " + this.curSym; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + this.curSym + " " + q; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return this.lc.negative_sign + " " + q + this.curSym; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + " " + this.curSym + q; + } + + // sign after q + sym + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return q + this.curSym + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return this.curSym + q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return q + " " + this.curSym + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return this.curSym + " " + q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return q + this.curSym + " " + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return this.curSym + q + " " + this.lc.negative_sign; + } + + // sign before sym + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return q + this.lc.negative_sign + this.curSym; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + this.curSym + q; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return q + " " + this.lc.negative_sign + this.curSym; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + this.curSym + " " + q; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return q + this.lc.negative_sign + " " + this.curSym; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + " " + this.curSym + q; + } + + // sign after symbol + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return q + this.curSym + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return this.curSym + this.lc.negative_sign + q; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return q + " " + this.curSym + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return this.curSym + this.lc.negative_sign + " " + q; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return q + this.curSym + " " + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return this.curSym + " " + this.lc.negative_sign + q; + } + } + + // throw error if we fall through + throw "Error: Invalid POSIX LC MONETARY definition"; + }; + + + /** + * @private + * + * @description Assembles the final string with sign, separator and ISO-4217 + * currency code. + * + * @param {String} sign The amount sign: "+" or "-". + * @param {String} q The formatted quantity (unsigned). + * + * @returns {String} The final formatted string. + */ + this._formatAsInternationalCurrency = function (sign, q) { + + // assemble the final formatted amount by going over all possible value combinations of: + // sign {+,-} , sign position {0,1,2,3,4} , separator {0,1,2} , symbol position {0,1} + + if (sign == "+") { + + // parentheses + if (this.lc.int_p_sign_posn === 0 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return "(" + q + this.currencyCode + ")"; + } + else if (this.lc.int_p_sign_posn === 0 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return "(" + this.currencyCode + q + ")"; + } + else if (this.lc.int_p_sign_posn === 0 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return "(" + q + this.intSep + this.currencyCode + ")"; + } + else if (this.lc.int_p_sign_posn === 0 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return "(" + this.currencyCode + this.intSep + q + ")"; + } + + // sign before q + sym + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return this.lc.positive_sign + q + this.currencyCode; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.currencyCode + q; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return this.lc.positive_sign + q + this.intSep + this.currencyCode; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.currencyCode + this.intSep + q; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return this.lc.positive_sign + this.intSep + q + this.currencyCode; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.intSep + this.currencyCode + q; + } + + // sign after q + sym + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return q + this.currencyCode + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return this.currencyCode + q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.currencyCode + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return this.currencyCode + this.intSep + q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return q + this.currencyCode + this.intSep + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return this.currencyCode + q + this.intSep + this.lc.positive_sign; + } + + // sign before sym + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return q + this.lc.positive_sign + this.currencyCode; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.currencyCode + q; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.lc.positive_sign + this.currencyCode; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.currencyCode + this.intSep + q; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return q + this.lc.positive_sign + this.intSep + this.currencyCode; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.intSep + this.currencyCode + q; + } + + // sign after symbol + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return q + this.currencyCode + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return this.currencyCode + this.lc.positive_sign + q; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.currencyCode + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return this.currencyCode + this.lc.positive_sign + this.intSep + q; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return q + this.currencyCode + this.intSep + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return this.currencyCode + this.intSep + this.lc.positive_sign + q; + } + + } + else if (sign == "-") { + + // parentheses enclose q + sym + if (this.lc.int_n_sign_posn === 0 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return "(" + q + this.currencyCode + ")"; + } + else if (this.lc.int_n_sign_posn === 0 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return "(" + this.currencyCode + q + ")"; + } + else if (this.lc.int_n_sign_posn === 0 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return "(" + q + this.intSep + this.currencyCode + ")"; + } + else if (this.lc.int_n_sign_posn === 0 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return "(" + this.currencyCode + this.intSep + q + ")"; + } + + // sign before q + sym + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return this.lc.negative_sign + q + this.currencyCode; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.currencyCode + q; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return this.lc.negative_sign + q + this.intSep + this.currencyCode; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.currencyCode + this.intSep + q; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return this.lc.negative_sign + this.intSep + q + this.currencyCode; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.intSep + this.currencyCode + q; + } + + // sign after q + sym + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return q + this.currencyCode + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return this.currencyCode + q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.currencyCode + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return this.currencyCode + this.intSep + q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return q + this.currencyCode + this.intSep + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return this.currencyCode + q + this.intSep + this.lc.negative_sign; + } + + // sign before sym + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return q + this.lc.negative_sign + this.currencyCode; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.currencyCode + q; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.lc.negative_sign + this.currencyCode; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.currencyCode + this.intSep + q; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return q + this.lc.negative_sign + this.intSep + this.currencyCode; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.intSep + this.currencyCode + q; + } + + // sign after symbol + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return q + this.currencyCode + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return this.currencyCode + this.lc.negative_sign + q; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.currencyCode + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return this.currencyCode + this.lc.negative_sign + this.intSep + q; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return q + this.currencyCode + this.intSep + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return this.currencyCode + this.intSep + this.lc.negative_sign + q; + } + } + + // throw error if we fall through + throw "Error: Invalid POSIX LC MONETARY definition"; + }; + + + /** + * @private + * + * @description Assembles the final string with sign and separator, but suppress the + * local currency symbol. + * + * @param {String} sign The amount sign: "+" or "-". + * @param {String} q The formatted quantity (unsigned). + * + * @returns {String} The final formatted string + */ + this._formatAsLocalCurrencyWithNoSym = function (sign, q) { + + // assemble the final formatted amount by going over all possible value combinations of: + // sign {+,-} , sign position {0,1,2,3,4} , separator {0,1,2} , symbol position {0,1} + + if (sign == "+") { + + // parentheses + if (this.lc.p_sign_posn === 0) { + return "(" + q + ")"; + } + + // sign before q + sym + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return this.lc.positive_sign + q; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return this.lc.positive_sign + q; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return this.lc.positive_sign + " " + q; + } + else if (this.lc.p_sign_posn === 1 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + " " + q; + } + + // sign after q + sym + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return q + " " + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 2 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return q + " " + this.lc.positive_sign; + } + + // sign before sym + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return q + " " + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + " " + q; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 3 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + " " + q; + } + + // sign after symbol + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 0 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 0) { + return q + " " + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 1 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + " " + q; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 0) { + return q + " " + this.lc.positive_sign; + } + else if (this.lc.p_sign_posn === 4 && this.lc.p_sep_by_space === 2 && this.lc.p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + + } + else if (sign == "-") { + + // parentheses enclose q + sym + if (this.lc.n_sign_posn === 0) { + return "(" + q + ")"; + } + + // sign before q + sym + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return this.lc.negative_sign + q; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return this.lc.negative_sign + q; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + " " + q; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return this.lc.negative_sign + " " + q; + } + else if (this.lc.n_sign_posn === 1 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + " " + q; + } + + // sign after q + sym + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return q + " " + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return q + " " + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 2 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return q + " " + this.lc.negative_sign; + } + + // sign before sym + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return q + " " + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + " " + q; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 3 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + " " + q; + } + + // sign after symbol + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 0 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 0) { + return q + " " + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 1 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + " " + q; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 0) { + return q + " " + this.lc.negative_sign; + } + else if (this.lc.n_sign_posn === 4 && this.lc.n_sep_by_space === 2 && this.lc.n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + } + + // throw error if we fall through + throw "Error: Invalid POSIX LC MONETARY definition"; + }; + + + /** + * @private + * + * @description Assembles the final string with sign and separator, but suppress + * the ISO-4217 currency code. + * + * @param {String} sign The amount sign: "+" or "-". + * @param {String} q The formatted quantity (unsigned). + * + * @returns {String} The final formatted string. + */ + this._formatAsInternationalCurrencyWithNoSym = function (sign, q) { + + // assemble the final formatted amount by going over all possible value combinations of: + // sign {+,-} , sign position {0,1,2,3,4} , separator {0,1,2} , symbol position {0,1} + + if (sign == "+") { + + // parentheses + if (this.lc.int_p_sign_posn === 0) { + return "(" + q + ")"; + } + + // sign before q + sym + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return this.lc.positive_sign + q; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return this.lc.positive_sign + q; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.intSep + q; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return this.lc.positive_sign + this.intSep + q; + } + else if (this.lc.int_p_sign_posn === 1 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.intSep + q; + } + + // sign after q + sym + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 2 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return q + this.intSep + this.lc.positive_sign; + } + + // sign before sym + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.intSep + q; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 3 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.intSep + q; + } + + // sign after symbol + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 0) { + return q + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 0 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 1 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + this.intSep + q; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 0) { + return q + this.intSep + this.lc.positive_sign; + } + else if (this.lc.int_p_sign_posn === 4 && this.lc.int_p_sep_by_space === 2 && this.lc.int_p_cs_precedes === 1) { + return this.lc.positive_sign + q; + } + + } + else if (sign == "-") { + + // parentheses enclose q + sym + if (this.lc.int_n_sign_posn === 0) { + return "(" + q + ")"; + } + + // sign before q + sym + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return this.lc.negative_sign + q; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return this.lc.negative_sign + q; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.intSep + q; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return this.lc.negative_sign + this.intSep + q; + } + else if (this.lc.int_n_sign_posn === 1 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.intSep + q; + } + + // sign after q + sym + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 2 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return q + this.intSep + this.lc.negative_sign; + } + + // sign before sym + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.intSep + q; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 3 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.intSep + q; + } + + // sign after symbol + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 0) { + return q + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 0 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 1 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + this.intSep + q; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 0) { + return q + this.intSep + this.lc.negative_sign; + } + else if (this.lc.int_n_sign_posn === 4 && this.lc.int_n_sep_by_space === 2 && this.lc.int_n_cs_precedes === 1) { + return this.lc.negative_sign + q; + } + } + + // throw error if we fall through + throw "Error: Invalid POSIX LC_MONETARY definition"; + }; +}; + + +/** + * @class + * Class for parsing localised number strings. + * + * @public + * @constructor + * @description Creates a new numeric parser for the specified locale. + * + * @param {jsworld.Locale} locale A locale object specifying the required + * POSIX LC_NUMERIC formatting properties. + * + * @throws Error on constructor failure. + */ +jsworld.NumericParser = function(locale) { + + if (typeof locale != "object" || locale._className != "jsworld.Locale") + throw "Constructor error: You must provide a valid jsworld.Locale instance"; + + this.lc = locale; + + + /** + * @public + * + * @description Parses a numeric string formatted according to the + * preset locale. Leading and trailing whitespace is ignored; the number + * may also be formatted without thousands separators. + * + * @param {String} formattedNumber The formatted number. + * + * @returns {Number} The parsed number. + * + * @throws Error on a parse exception. + */ + this.parse = function(formattedNumber) { + + if (typeof formattedNumber != "string") + throw "Parse error: Argument must be a string"; + + // trim whitespace + var s = jsworld._trim(formattedNumber); + + // remove any thousand separator symbols + s = jsworld._stringReplaceAll(formattedNumber, this.lc.thousands_sep, ""); + + // replace any local decimal point symbols with the symbol used + // in JavaScript "." + s = jsworld._stringReplaceAll(s, this.lc.decimal_point, "."); + + // test if the string represents a number + if (jsworld._isNumber(s)) + return parseFloat(s, 10); + else + throw "Parse error: Invalid number string"; + }; +}; + + +/** + * @class + * Class for parsing localised date and time strings. + * + * @public + * @constructor + * @description Creates a new date/time parser for the specified locale. + * + * @param {jsworld.Locale} locale A locale object specifying the required + * POSIX LC_TIME formatting properties. + * + * @throws Error on constructor failure. + */ +jsworld.DateTimeParser = function(locale) { + + if (typeof locale != "object" || locale._className != "jsworld.Locale") + throw "Constructor error: You must provide a valid jsworld.Locale instance."; + + this.lc = locale; + + + /** + * @public + * + * @description Parses a time string formatted according to the + * POSIX LC_TIME t_fmt property of the preset locale. + * + * @param {String} formattedTime The formatted time. + * + * @returns {String} The parsed time in ISO-8601 format (HH:MM:SS), e.g. + * "23:59:59". + * + * @throws Error on a parse exception. + */ + this.parseTime = function(formattedTime) { + + if (typeof formattedTime != "string") + throw "Parse error: Argument must be a string"; + + var dt = this._extractTokens(this.lc.t_fmt, formattedTime); + + var timeDefined = false; + + if (dt.hour !== null && dt.minute !== null && dt.second !== null) { + timeDefined = true; + } + else if (dt.hourAmPm !== null && dt.am !== null && dt.minute !== null && dt.second !== null) { + if (dt.am) { + // AM [12(midnight), 1 .. 11] + if (dt.hourAmPm == 12) + dt.hour = 0; + else + dt.hour = parseInt(dt.hourAmPm, 10); + } + else { + // PM [12(noon), 1 .. 11] + if (dt.hourAmPm == 12) + dt.hour = 12; + else + dt.hour = parseInt(dt.hourAmPm, 10) + 12; + } + timeDefined = true; + } + + if (timeDefined) + return jsworld._zeroPad(dt.hour, 2) + + ":" + + jsworld._zeroPad(dt.minute, 2) + + ":" + + jsworld._zeroPad(dt.second, 2); + else + throw "Parse error: Invalid/ambiguous time string"; + }; + + + /** + * @public + * + * @description Parses a date string formatted according to the + * POSIX LC_TIME d_fmt property of the preset locale. + * + * @param {String} formattedDate The formatted date, must be valid. + * + * @returns {String} The parsed date in ISO-8601 format (YYYY-MM-DD), + * e.g. "2010-03-31". + * + * @throws Error on a parse exception. + */ + this.parseDate = function(formattedDate) { + + if (typeof formattedDate != "string") + throw "Parse error: Argument must be a string"; + + var dt = this._extractTokens(this.lc.d_fmt, formattedDate); + + var dateDefined = false; + + if (dt.year !== null && dt.month !== null && dt.day !== null) { + dateDefined = true; + } + + if (dateDefined) + return jsworld._zeroPad(dt.year, 4) + + "-" + + jsworld._zeroPad(dt.month, 2) + + "-" + + jsworld._zeroPad(dt.day, 2); + else + throw "Parse error: Invalid date string"; + }; + + + /** + * @public + * + * @description Parses a date/time string formatted according to the + * POSIX LC_TIME d_t_fmt property of the preset locale. + * + * @param {String} formattedDateTime The formatted date/time, must be + * valid. + * + * @returns {String} The parsed date/time in ISO-8601 format + * (YYYY-MM-DD HH:MM:SS), e.g. "2010-03-31 23:59:59". + * + * @throws Error on a parse exception. + */ + this.parseDateTime = function(formattedDateTime) { + + if (typeof formattedDateTime != "string") + throw "Parse error: Argument must be a string"; + + var dt = this._extractTokens(this.lc.d_t_fmt, formattedDateTime); + + var timeDefined = false; + var dateDefined = false; + + if (dt.hour !== null && dt.minute !== null && dt.second !== null) { + timeDefined = true; + } + else if (dt.hourAmPm !== null && dt.am !== null && dt.minute !== null && dt.second !== null) { + if (dt.am) { + // AM [12(midnight), 1 .. 11] + if (dt.hourAmPm == 12) + dt.hour = 0; + else + dt.hour = parseInt(dt.hourAmPm, 10); + } + else { + // PM [12(noon), 1 .. 11] + if (dt.hourAmPm == 12) + dt.hour = 12; + else + dt.hour = parseInt(dt.hourAmPm, 10) + 12; + } + timeDefined = true; + } + + if (dt.year !== null && dt.month !== null && dt.day !== null) { + dateDefined = true; + } + + if (dateDefined && timeDefined) + return jsworld._zeroPad(dt.year, 4) + + "-" + + jsworld._zeroPad(dt.month, 2) + + "-" + + jsworld._zeroPad(dt.day, 2) + + " " + + jsworld._zeroPad(dt.hour, 2) + + ":" + + jsworld._zeroPad(dt.minute, 2) + + ":" + + jsworld._zeroPad(dt.second, 2); + else + throw "Parse error: Invalid/ambiguous date/time string"; + }; + + + /** + * @private + * + * @description Parses a string according to the specified format + * specification. + * + * @param {String} fmtSpec The format specification, e.g. "%I:%M:%S %p". + * @param {String} s The string to parse. + * + * @returns {object} An object with set properties year, month, day, + * hour, minute and second if the corresponding values are + * found in the parsed string. + * + * @throws Error on a parse exception. + */ + this._extractTokens = function(fmtSpec, s) { + + // the return object containing the parsed date/time properties + var dt = { + // for date and date/time strings + "year" : null, + "month" : null, + "day" : null, + + // for time and date/time strings + "hour" : null, + "hourAmPm" : null, + "am" : null, + "minute" : null, + "second" : null, + + // used internally only + "weekday" : null + }; + + + // extract and process each token in the date/time spec + while (fmtSpec.length > 0) { + + // Do we have a valid "%\w" placeholder in stream? + if (fmtSpec.charAt(0) == "%" && fmtSpec.charAt(1) != "") { + + // get placeholder + var placeholder = fmtSpec.substring(0,2); + + if (placeholder == "%%") { + // escaped '%'' + s = s.substring(1); + } + else if (placeholder == "%a") { + // abbreviated weekday name + for (var i = 0; i < this.lc.abday.length; i++) { + + if (jsworld._stringStartsWith(s, this.lc.abday[i])) { + dt.weekday = i; + s = s.substring(this.lc.abday[i].length); + break; + } + } + + if (dt.weekday === null) + throw "Parse error: Unrecognised abbreviated weekday name (%a)"; + } + else if (placeholder == "%A") { + // weekday name + for (var i = 0; i < this.lc.day.length; i++) { + + if (jsworld._stringStartsWith(s, this.lc.day[i])) { + dt.weekday = i; + s = s.substring(this.lc.day[i].length); + break; + } + } + + if (dt.weekday === null) + throw "Parse error: Unrecognised weekday name (%A)"; + } + else if (placeholder == "%b" || placeholder == "%h") { + // abbreviated month name + for (var i = 0; i < this.lc.abmon.length; i++) { + + if (jsworld._stringStartsWith(s, this.lc.abmon[i])) { + dt.month = i + 1; + s = s.substring(this.lc.abmon[i].length); + break; + } + } + + if (dt.month === null) + throw "Parse error: Unrecognised abbreviated month name (%b)"; + } + else if (placeholder == "%B") { + // month name + for (var i = 0; i < this.lc.mon.length; i++) { + + if (jsworld._stringStartsWith(s, this.lc.mon[i])) { + dt.month = i + 1; + s = s.substring(this.lc.mon[i].length); + break; + } + } + + if (dt.month === null) + throw "Parse error: Unrecognised month name (%B)"; + } + else if (placeholder == "%d") { + // day of the month [01..31] + if (/^0[1-9]|[1-2][0-9]|3[0-1]/.test(s)) { + dt.day = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised day of the month (%d)"; + } + else if (placeholder == "%e") { + // day of the month [1..31] + + // Note: if %e is leading in fmt string -> space padded! + + var day = s.match(/^\s?(\d{1,2})/); + dt.day = parseInt(day, 10); + + if (isNaN(dt.day) || dt.day < 1 || dt.day > 31) + throw "Parse error: Unrecognised day of the month (%e)"; + + s = s.substring(day.length); + } + else if (placeholder == "%F") { + // equivalent to %Y-%m-%d (ISO-8601 date format) + + // year [nnnn] + if (/^\d\d\d\d/.test(s)) { + dt.year = parseInt(s.substring(0,4), 10); + s = s.substring(4); + } + else { + throw "Parse error: Unrecognised date (%F)"; + } + + // - + if (jsworld._stringStartsWith(s, "-")) + s = s.substring(1); + else + throw "Parse error: Unrecognised date (%F)"; + + // month [01..12] + if (/^0[1-9]|1[0-2]/.test(s)) { + dt.month = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised date (%F)"; + + // - + if (jsworld._stringStartsWith(s, "-")) + s = s.substring(1); + else + throw "Parse error: Unrecognised date (%F)"; + + // day of the month [01..31] + if (/^0[1-9]|[1-2][0-9]|3[0-1]/.test(s)) { + dt.day = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised date (%F)"; + } + else if (placeholder == "%H") { + // hour [00..23] + if (/^[0-1][0-9]|2[0-3]/.test(s)) { + dt.hour = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised hour (%H)"; + } + else if (placeholder == "%I") { + // hour [01..12] + if (/^0[1-9]|1[0-2]/.test(s)) { + dt.hourAmPm = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised hour (%I)"; + } + else if (placeholder == "%k") { + // hour [0..23] + var h = s.match(/^(\d{1,2})/); + dt.hour = parseInt(h, 10); + + if (isNaN(dt.hour) || dt.hour < 0 || dt.hour > 23) + throw "Parse error: Unrecognised hour (%k)"; + + s = s.substring(h.length); + } + else if (placeholder == "%l") { + // hour AM/PM [1..12] + var h = s.match(/^(\d{1,2})/); + dt.hourAmPm = parseInt(h, 10); + + if (isNaN(dt.hourAmPm) || dt.hourAmPm < 1 || dt.hourAmPm > 12) + throw "Parse error: Unrecognised hour (%l)"; + + s = s.substring(h.length); + } + else if (placeholder == "%m") { + // month [01..12] + if (/^0[1-9]|1[0-2]/.test(s)) { + dt.month = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised month (%m)"; + } + else if (placeholder == "%M") { + // minute [00..59] + if (/^[0-5][0-9]/.test(s)) { + dt.minute = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised minute (%M)"; + } + else if (placeholder == "%n") { + // new line + + if (s.charAt(0) == "\n") + s = s.substring(1); + else + throw "Parse error: Unrecognised new line (%n)"; + } + else if (placeholder == "%p") { + // locale's equivalent of AM/PM + if (jsworld._stringStartsWith(s, this.lc.am)) { + dt.am = true; + s = s.substring(this.lc.am.length); + } + else if (jsworld._stringStartsWith(s, this.lc.pm)) { + dt.am = false; + s = s.substring(this.lc.pm.length); + } + else + throw "Parse error: Unrecognised AM/PM value (%p)"; + } + else if (placeholder == "%P") { + // same as %p but forced lower case + if (jsworld._stringStartsWith(s, this.lc.am.toLowerCase())) { + dt.am = true; + s = s.substring(this.lc.am.length); + } + else if (jsworld._stringStartsWith(s, this.lc.pm.toLowerCase())) { + dt.am = false; + s = s.substring(this.lc.pm.length); + } + else + throw "Parse error: Unrecognised AM/PM value (%P)"; + } + else if (placeholder == "%R") { + // same as %H:%M + + // hour [00..23] + if (/^[0-1][0-9]|2[0-3]/.test(s)) { + dt.hour = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised time (%R)"; + + // : + if (jsworld._stringStartsWith(s, ":")) + s = s.substring(1); + else + throw "Parse error: Unrecognised time (%R)"; + + // minute [00..59] + if (/^[0-5][0-9]/.test(s)) { + dt.minute = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised time (%R)"; + + } + else if (placeholder == "%S") { + // second [00..59] + if (/^[0-5][0-9]/.test(s)) { + dt.second = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised second (%S)"; + } + else if (placeholder == "%T") { + // same as %H:%M:%S + + // hour [00..23] + if (/^[0-1][0-9]|2[0-3]/.test(s)) { + dt.hour = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised time (%T)"; + + // : + if (jsworld._stringStartsWith(s, ":")) + s = s.substring(1); + else + throw "Parse error: Unrecognised time (%T)"; + + // minute [00..59] + if (/^[0-5][0-9]/.test(s)) { + dt.minute = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised time (%T)"; + + // : + if (jsworld._stringStartsWith(s, ":")) + s = s.substring(1); + else + throw "Parse error: Unrecognised time (%T)"; + + // second [00..59] + if (/^[0-5][0-9]/.test(s)) { + dt.second = parseInt(s.substring(0,2), 10); + s = s.substring(2); + } + else + throw "Parse error: Unrecognised time (%T)"; + } + else if (placeholder == "%w") { + // weekday [0..6] + if (/^\d/.test(s)) { + dt.weekday = parseInt(s.substring(0,1), 10); + s = s.substring(1); + } + else + throw "Parse error: Unrecognised weekday number (%w)"; + } + else if (placeholder == "%y") { + // year [00..99] + if (/^\d\d/.test(s)) { + var year2digits = parseInt(s.substring(0,2), 10); + + // this conversion to year[nnnn] is arbitrary!!! + if (year2digits > 50) + dt.year = 1900 + year2digits; + else + dt.year = 2000 + year2digits; + + s = s.substring(2); + } + else + throw "Parse error: Unrecognised year (%y)"; + } + else if (placeholder == "%Y") { + // year [nnnn] + if (/^\d\d\d\d/.test(s)) { + dt.year = parseInt(s.substring(0,4), 10); + s = s.substring(4); + } + else + throw "Parse error: Unrecognised year (%Y)"; + } + + else if (placeholder == "%Z") { + // time-zone place holder is not supported + + if (fmtSpec.length === 0) + break; // ignore rest of fmt spec + } + + // remove the spec placeholder that was just parsed + fmtSpec = fmtSpec.substring(2); + } + else { + // If we don't have a placeholder, the chars + // at pos. 0 of format spec and parsed string must match + + // Note: Space chars treated 1:1 ! + + if (fmtSpec.charAt(0) != s.charAt(0)) + throw "Parse error: Unexpected symbol \"" + s.charAt(0) + "\" in date/time string"; + + fmtSpec = fmtSpec.substring(1); + s = s.substring(1); + } + } + + // parsing finished, return composite date/time object + return dt; + }; +}; + + +/** + * @class + * Class for parsing localised currency amount strings. + * + * @public + * @constructor + * @description Creates a new monetary parser for the specified locale. + * + * @param {jsworld.Locale} locale A locale object specifying the required + * POSIX LC_MONETARY formatting properties. + * + * @throws Error on constructor failure. + */ +jsworld.MonetaryParser = function(locale) { + + if (typeof locale != "object" || locale._className != "jsworld.Locale") + throw "Constructor error: You must provide a valid jsworld.Locale instance"; + + + this.lc = locale; + + + /** + * @public + * + * @description Parses a currency amount string formatted according to + * the preset locale. Leading and trailing whitespace is ignored; the + * amount may also be formatted without thousands separators. Both + * the local (shorthand) symbol and the ISO 4217 code are accepted to + * designate the currency in the formatted amount. + * + * @param {String} formattedCurrency The formatted currency amount. + * + * @returns {Number} The parsed amount. + * + * @throws Error on a parse exception. + */ + this.parse = function(formattedCurrency) { + + if (typeof formattedCurrency != "string") + throw "Parse error: Argument must be a string"; + + // Detect the format type and remove the currency symbol + var symbolType = this._detectCurrencySymbolType(formattedCurrency); + + var formatType, s; + + if (symbolType == "local") { + formatType = "local"; + s = formattedCurrency.replace(this.lc.getCurrencySymbol(), ""); + } + else if (symbolType == "int") { + formatType = "int"; + s = formattedCurrency.replace(this.lc.getIntCurrencySymbol(), ""); + } + else if (symbolType == "none") { + formatType = "local"; // assume local + s = formattedCurrency; + } + else + throw "Parse error: Internal assert failure"; + + // Remove any thousands separators + s = jsworld._stringReplaceAll(s, this.lc.mon_thousands_sep, ""); + + // Replace any local radix char with JavaScript's "." + s = s.replace(this.lc.mon_decimal_point, "."); + + // Remove all whitespaces + s = s.replace(/\s*/g, ""); + + // Remove any local non-negative sign + s = this._removeLocalNonNegativeSign(s, formatType); + + // Replace any local minus sign with JavaScript's "-" and put + // it in front of the amount if necessary + // (special parentheses rule checked too) + s = this._normaliseNegativeSign(s, formatType); + + // Finally, we should be left with a bare parsable decimal number + if (jsworld._isNumber(s)) + return parseFloat(s, 10); + else + throw "Parse error: Invalid currency amount string"; + }; + + + /** + * @private + * + * @description Tries to detect the symbol type used in the specified + * formatted currency string: local(shorthand), + * international (ISO-4217 code) or none. + * + * @param {String} formattedCurrency The the formatted currency string. + * + * @return {String} With possible values "local", "int" or "none". + */ + this._detectCurrencySymbolType = function(formattedCurrency) { + + // Check for whichever sign (int/local) is longer first + // to cover cases such as MOP/MOP$ and ZAR/R + + if (this.lc.getCurrencySymbol().length > this.lc.getIntCurrencySymbol().length) { + + if (formattedCurrency.indexOf(this.lc.getCurrencySymbol()) != -1) + return "local"; + else if (formattedCurrency.indexOf(this.lc.getIntCurrencySymbol()) != -1) + return "int"; + else + return "none"; + } + else { + if (formattedCurrency.indexOf(this.lc.getIntCurrencySymbol()) != -1) + return "int"; + else if (formattedCurrency.indexOf(this.lc.getCurrencySymbol()) != -1) + return "local"; + else + return "none"; + } + }; + + + /** + * @private + * + * @description Removes a local non-negative sign in a formatted + * currency string if it is found. This is done according to the + * locale properties p_sign_posn and int_p_sign_posn. + * + * @param {String} s The input string. + * @param {String} formatType With possible values "local" or "int". + * + * @returns {String} The processed string. + */ + this._removeLocalNonNegativeSign = function(s, formatType) { + + s = s.replace(this.lc.positive_sign, ""); + + // check for enclosing parentheses rule + if (((formatType == "local" && this.lc.p_sign_posn === 0) || + (formatType == "int" && this.lc.int_p_sign_posn === 0) ) && + /\(\d+\.?\d*\)/.test(s)) { + s = s.replace("(", ""); + s = s.replace(")", ""); + } + + return s; + }; + + + /** + * @private + * + * @description Replaces a local negative sign with the standard + * JavaScript minus ("-") sign placed in the correct position + * (preceding the amount). This is done according to the locale + * properties for negative sign symbol and relative position. + * + * @param {String} s The input string. + * @param {String} formatType With possible values "local" or "int". + * + * @returns {String} The processed string. + */ + this._normaliseNegativeSign = function(s, formatType) { + + // replace local negative symbol with JavaScript's "-" + s = s.replace(this.lc.negative_sign, "-"); + + // check for enclosing parentheses rule and replace them + // with negative sign before the amount + if ((formatType == "local" && this.lc.n_sign_posn === 0) || + (formatType == "int" && this.lc.int_n_sign_posn === 0) ) { + + if (/^\(\d+\.?\d*\)$/.test(s)) { + + s = s.replace("(", ""); + s = s.replace(")", ""); + return "-" + s; + } + } + + // check for rule negative sign succeeding the amount + if (formatType == "local" && this.lc.n_sign_posn == 2 || + formatType == "int" && this.lc.int_n_sign_posn == 2 ) { + + if (/^\d+\.?\d*-$/.test(s)) { + s = s.replace("-", ""); + return "-" + s; + } + } + + // check for rule cur. sym. succeeds and sign adjacent + if (formatType == "local" && this.lc.n_cs_precedes === 0 && this.lc.n_sign_posn == 3 || + formatType == "local" && this.lc.n_cs_precedes === 0 && this.lc.n_sign_posn == 4 || + formatType == "int" && this.lc.int_n_cs_precedes === 0 && this.lc.int_n_sign_posn == 3 || + formatType == "int" && this.lc.int_n_cs_precedes === 0 && this.lc.int_n_sign_posn == 4 ) { + + if (/^\d+\.?\d*-$/.test(s)) { + s = s.replace("-", ""); + return "-" + s; + } + } + + return s; + }; +}; + +// end-of-file diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs2.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs2.js new file mode 100644 index 0000000..4e9f967 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/tmp/uglify-hangs2.js @@ -0,0 +1,166 @@ +jsworld.Locale = function(properties) { + + // LC_NUMERIC + + + this.frac_digits = properties.frac_digits; + + + // may be empty string/null for currencies with no fractional part + if (properties.mon_decimal_point === null || properties.mon_decimal_point == "") { + + if (this.frac_digits > 0) + throw "Error: Undefined mon_decimal_point property"; + else + properties.mon_decimal_point = ""; + } + + if (typeof properties.mon_decimal_point != "string") + throw "Error: Invalid/missing mon_decimal_point property"; + + this.mon_decimal_point = properties.mon_decimal_point; + + + if (typeof properties.mon_thousands_sep != "string") + throw "Error: Invalid/missing mon_thousands_sep property"; + + this.mon_thousands_sep = properties.mon_thousands_sep; + + + if (typeof properties.mon_grouping != "string") + throw "Error: Invalid/missing mon_grouping property"; + + this.mon_grouping = properties.mon_grouping; + + + if (typeof properties.positive_sign != "string") + throw "Error: Invalid/missing positive_sign property"; + + this.positive_sign = properties.positive_sign; + + + if (typeof properties.negative_sign != "string") + throw "Error: Invalid/missing negative_sign property"; + + this.negative_sign = properties.negative_sign; + + + if (properties.p_cs_precedes !== 0 && properties.p_cs_precedes !== 1) + throw "Error: Invalid/missing p_cs_precedes property, must be 0 or 1"; + + this.p_cs_precedes = properties.p_cs_precedes; + + + if (properties.n_cs_precedes !== 0 && properties.n_cs_precedes !== 1) + throw "Error: Invalid/missing n_cs_precedes, must be 0 or 1"; + + this.n_cs_precedes = properties.n_cs_precedes; + + + if (properties.p_sep_by_space !== 0 && + properties.p_sep_by_space !== 1 && + properties.p_sep_by_space !== 2) + throw "Error: Invalid/missing p_sep_by_space property, must be 0, 1 or 2"; + + this.p_sep_by_space = properties.p_sep_by_space; + + + if (properties.n_sep_by_space !== 0 && + properties.n_sep_by_space !== 1 && + properties.n_sep_by_space !== 2) + throw "Error: Invalid/missing n_sep_by_space property, must be 0, 1, or 2"; + + this.n_sep_by_space = properties.n_sep_by_space; + + + if (properties.p_sign_posn !== 0 && + properties.p_sign_posn !== 1 && + properties.p_sign_posn !== 2 && + properties.p_sign_posn !== 3 && + properties.p_sign_posn !== 4) + throw "Error: Invalid/missing p_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.p_sign_posn = properties.p_sign_posn; + + + if (properties.n_sign_posn !== 0 && + properties.n_sign_posn !== 1 && + properties.n_sign_posn !== 2 && + properties.n_sign_posn !== 3 && + properties.n_sign_posn !== 4) + throw "Error: Invalid/missing n_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.n_sign_posn = properties.n_sign_posn; + + + if (typeof properties.int_frac_digits != "number" && properties.int_frac_digits < 0) + throw "Error: Invalid/missing int_frac_digits property"; + + this.int_frac_digits = properties.int_frac_digits; + + + if (properties.int_p_cs_precedes !== 0 && properties.int_p_cs_precedes !== 1) + throw "Error: Invalid/missing int_p_cs_precedes property, must be 0 or 1"; + + this.int_p_cs_precedes = properties.int_p_cs_precedes; + + + if (properties.int_n_cs_precedes !== 0 && properties.int_n_cs_precedes !== 1) + throw "Error: Invalid/missing int_n_cs_precedes property, must be 0 or 1"; + + this.int_n_cs_precedes = properties.int_n_cs_precedes; + + + if (properties.int_p_sep_by_space !== 0 && + properties.int_p_sep_by_space !== 1 && + properties.int_p_sep_by_space !== 2) + throw "Error: Invalid/missing int_p_sep_by_spacev, must be 0, 1 or 2"; + + this.int_p_sep_by_space = properties.int_p_sep_by_space; + + + if (properties.int_n_sep_by_space !== 0 && + properties.int_n_sep_by_space !== 1 && + properties.int_n_sep_by_space !== 2) + throw "Error: Invalid/missing int_n_sep_by_space property, must be 0, 1, or 2"; + + this.int_n_sep_by_space = properties.int_n_sep_by_space; + + + if (properties.int_p_sign_posn !== 0 && + properties.int_p_sign_posn !== 1 && + properties.int_p_sign_posn !== 2 && + properties.int_p_sign_posn !== 3 && + properties.int_p_sign_posn !== 4) + throw "Error: Invalid/missing int_p_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.int_p_sign_posn = properties.int_p_sign_posn; + + + if (properties.int_n_sign_posn !== 0 && + properties.int_n_sign_posn !== 1 && + properties.int_n_sign_posn !== 2 && + properties.int_n_sign_posn !== 3 && + properties.int_n_sign_posn !== 4) + throw "Error: Invalid/missing int_n_sign_posn property, must be 0, 1, 2, 3 or 4"; + + this.int_n_sign_posn = properties.int_n_sign_posn; + + + // LC_TIME + + if (properties == null || typeof properties != "object") + throw "Error: Invalid/missing time locale properties"; + + + // parse the supported POSIX LC_TIME properties + + // abday + try { + this.abday = this._parseList(properties.abday, 7); + } + catch (error) { + throw "Error: Invalid abday property: " + error; + } + +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/uglify-js.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/uglify-js.js new file mode 100644 index 0000000..6e14a63 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/node_modules/uglify-js/uglify-js.js @@ -0,0 +1,18 @@ +//convienence function(src, [options]); +function uglify(orig_code, options){ + options || (options = {}); + var jsp = uglify.parser; + var pro = uglify.uglify; + + var ast = jsp.parse(orig_code, options.strict_semicolons); // parse code and get the initial AST + ast = pro.ast_mangle(ast, options.mangle_options); // get a new AST with mangled names + ast = pro.ast_squeeze(ast, options.squeeze_options); // get an AST with compression optimizations + var final_code = pro.gen_code(ast, options.gen_options); // compressed code here + return final_code; +}; + +uglify.parser = require("./lib/parse-js"); +uglify.uglify = require("./lib/process"); +uglify.consolidator = require("./lib/consolidator"); + +module.exports = uglify diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/package.json b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/package.json new file mode 100644 index 0000000..d3bd602 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/package.json @@ -0,0 +1,38 @@ +{ + "name": "handlebars", + "description": "Extension of the Mustache logicless template language", + "version": "1.0.10", + "homepage": "http://www.handlebarsjs.com/", + "keywords": [ + "handlebars mustache template html" + ], + "repository": { + "type": "git", + "url": "git://github.com/wycats/handlebars.js.git" + }, + "engines": { + "node": ">=0.4.7" + }, + "dependencies": { + "optimist": "~0.3", + "uglify-js": "~1.2" + }, + "devDependencies": { + "benchmark": "~1.0", + "dust": "~0.3", + "jison": "~0.3", + "mocha": "*", + "mustache": "~0.7.2" + }, + "main": "lib/handlebars.js", + "bin": { + "handlebars": "bin/handlebars" + }, + "scripts": { + "test": "node_modules/.bin/mocha -u qunit spec/qunit_spec.js" + }, + "optionalDependencies": {}, + "readme": "[![Build Status](https://travis-ci.org/wycats/handlebars.js.png?branch=master)](https://travis-ci.org/wycats/handlebars.js)\n\nHandlebars.js\n=============\n\nHandlebars.js is an extension to the [Mustache templating language](http://mustache.github.com/) created by Chris Wanstrath. Handlebars.js and Mustache are both logicless templating languages that keep the view and the code separated like we all know they should be.\n\nCheckout the official Handlebars docs site at [http://www.handlebarsjs.com](http://www.handlebarsjs.com).\n\n\nInstalling\n----------\nInstalling Handlebars is easy. Simply [download the package from GitHub](https://github.com/wycats/handlebars.js/archives/master) and add it to your web pages (you should usually use the most recent version).\n\nUsage\n-----\nIn general, the syntax of Handlebars.js templates is a superset of Mustache templates. For basic syntax, check out the [Mustache manpage](http://mustache.github.com/mustache.5.html).\n\nOnce you have a template, use the Handlebars.compile method to compile the template into a function. The generated function takes a context argument, which will be used to render the template.\n\n```js\nvar source = \"

        Hello, my name is {{name}}. I am from {{hometown}}. I have \" +\n \"{{kids.length}} kids:

        \" +\n \"
          {{#kids}}
        • {{name}} is {{age}}
        • {{/kids}}
        \";\nvar template = Handlebars.compile(source);\n\nvar data = { \"name\": \"Alan\", \"hometown\": \"Somewhere, TX\",\n \"kids\": [{\"name\": \"Jimmy\", \"age\": \"12\"}, {\"name\": \"Sally\", \"age\": \"4\"}]};\nvar result = template(data);\n\n// Would render:\n//

        Hello, my name is Alan. I am from Somewhere, TX. I have 2 kids:

        \n//
          \n//
        • Jimmy is 12
        • \n//
        • Sally is 4
        • \n//
        \n```\n\n\nRegistering Helpers\n-------------------\n\nYou can register helpers that Handlebars will use when evaluating your\ntemplate. Here's an example, which assumes that your objects have a URL\nembedded in them, as well as the text for a link:\n\n```js\nHandlebars.registerHelper('link_to', function(context) {\n return \"\" + context.body + \"\";\n});\n\nvar context = { posts: [{url: \"/hello-world\", body: \"Hello World!\"}] };\nvar source = \"
          {{#posts}}
        • {{{link_to this}}}
        • {{/posts}}
        \"\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// \n```\n\nEscaping\n--------\n\nBy default, the `{{expression}}` syntax will escape its contents. This\nhelps to protect you against accidental XSS problems caused by malicious\ndata passed from the server as JSON.\n\nTo explicitly *not* escape the contents, use the triple-mustache\n(`{{{}}}`). You have seen this used in the above example.\n\n\nDifferences Between Handlebars.js and Mustache\n----------------------------------------------\nHandlebars.js adds a couple of additional features to make writing templates easier and also changes a tiny detail of how partials work.\n\n### Paths\n\nHandlebars.js supports an extended expression syntax that we call paths. Paths are made up of typical expressions and . characters. Expressions allow you to not only display data from the current context, but to display data from contexts that are descendents and ancestors of the current context.\n\nTo display data from descendent contexts, use the `.` character. So, for example, if your data were structured like:\n\n```js\nvar data = {\"person\": { \"name\": \"Alan\" }, company: {\"name\": \"Rad, Inc.\" } };\n```\n\nyou could display the person's name from the top-level context with the following expression:\n\n```\n{{person.name}}\n```\n\nYou can backtrack using `../`. For example, if you've already traversed into the person object you could still display the company's name with an expression like `{{../company.name}}`, so:\n\n```\n{{#person}}{{name}} - {{../company.name}}{{/person}}\n```\n\nwould render:\n\n```\nAlan - Rad, Inc.\n```\n\n### Strings\n\nWhen calling a helper, you can pass paths or Strings as parameters. For\ninstance:\n\n```js\nHandlebars.registerHelper('link_to', function(title, context) {\n return \"\" + title + \"!\"\n});\n\nvar context = { posts: [{url: \"/hello-world\", body: \"Hello World!\"}] };\nvar source = '
          {{#posts}}
        • {{{link_to \"Post\" this}}}
        • {{/posts}}
        '\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// \n```\n\nWhen you pass a String as a parameter to a helper, the literal String\ngets passed to the helper function.\n\n\n### Block Helpers\n\nHandlebars.js also adds the ability to define block helpers. Block helpers are functions that can be called from anywhere in the template. Here's an example:\n\n```js\nvar source = \"
          {{#people}}
        • {{#link}}{{name}}{{/link}}
        • {{/people}}
        \";\nHandlebars.registerHelper('link', function(options) {\n return '' + options.fn(this) + '';\n});\nvar template = Handlebars.compile(source);\n\nvar data = { \"people\": [\n { \"name\": \"Alan\", \"id\": 1 },\n { \"name\": \"Yehuda\", \"id\": 2 }\n ]};\ntemplate(data);\n\n// Should render:\n// \n```\n\nWhenever the block helper is called it is given two parameters, the argument that is passed to the helper, or the current context if no argument is passed and the compiled contents of the block. Inside of the block helper the value of `this` is the current context, wrapped to include a method named `__get__` that helps translate paths into values within the helpers.\n\n### Partials\n\nYou can register additional templates as partials, which will be used by\nHandlebars when it encounters a partial (`{{> partialName}}`). Partials\ncan either be String templates or compiled template functions. Here's an\nexample:\n\n```js\nvar source = \"
          {{#people}}
        • {{> link}}
        • {{/people}}
        \";\n\nHandlebars.registerPartial('link', '{{name}}')\nvar template = Handlebars.compile(source);\n\nvar data = { \"people\": [\n { \"name\": \"Alan\", \"id\": 1 },\n { \"name\": \"Yehuda\", \"id\": 2 }\n ]};\n\ntemplate(data);\n\n// Should render:\n// \n```\n\n### Comments\n\nYou can add comments to your templates with the following syntax:\n\n```js\n{{! This is a comment }}\n```\n\nYou can also use real html comments if you want them to end up in the output.\n\n```html\n
        \n {{! This comment will not end up in the output }}\n \n
        \n```\n\n\nPrecompiling Templates\n----------------------\n\nHandlebars allows templates to be precompiled and included as javascript\ncode rather than the handlebars template allowing for faster startup time.\n\n### Installation\nThe precompiler script may be installed via npm using the `npm install -g handlebars`\ncommand.\n\n### Usage\n\n
        \nPrecompile handlebar templates.\nUsage: handlebars template...\n\nOptions:\n  -a, --amd        Create an AMD format function (allows loading with RequireJS)         [boolean]\n  -f, --output     Output File                                                           [string]\n  -k, --known      Known helpers                                                         [string]\n  -o, --knownOnly  Known helpers only                                                    [boolean]\n  -m, --min        Minimize output                                                       [boolean]\n  -s, --simple     Output template function only.                                        [boolean]\n  -r, --root       Template root. Base value that will be stripped from template names.  [string]\n
        \n\nIf using the precompiler's normal mode, the resulting templates will be stored\nto the `Handlebars.templates` object using the relative template name sans the\nextension. These templates may be executed in the same manner as templates.\n\nIf using the simple mode the precompiler will generate a single javascript method.\nTo execute this method it must be passed to the using the `Handlebars.template`\nmethod and the resulting object may be as normal.\n\n### Optimizations\n\n- Rather than using the full _handlebars.js_ library, implementations that\n do not need to compile templates at runtime may include _handlebars.runtime.js_\n whose min+gzip size is approximately 1k.\n- If a helper is known to exist in the target environment they may be defined\n using the `--known name` argument may be used to optimize accesses to these\n helpers for size and speed.\n- When all helpers are known in advance the `--knownOnly` argument may be used\n to optimize all block helper references.\n\n\nPerformance\n-----------\n\nIn a rough performance test, precompiled Handlebars.js templates (in the original version of Handlebars.js) rendered in about half the time of Mustache templates. It would be a shame if it were any other way, since they were precompiled, but the difference in architecture does have some big performance advantages. Justin Marney, a.k.a. [gotascii](http://github.com/gotascii), confirmed that with an [independent test](http://sorescode.com/2010/09/12/benchmarks.html). The rewritten Handlebars (current version) is faster than the old version, and we will have some benchmarks in the near future.\n\n\nBuilding\n--------\n\nTo build handlebars, just run `rake release`, and you will get two files\nin the `dist` directory.\n\n\nUpgrading\n---------\n\nWhen upgrading from the Handlebars 0.9 series, be aware that the\nsignature for passing custom helpers or partials to templates has\nchanged.\n\nInstead of:\n\n```js\ntemplate(context, helpers, partials, [data])\n```\n\nUse:\n\n```js\ntemplate(context, {helpers: helpers, partials: partials, data: data})\n```\n\nKnown Issues\n------------\n* Handlebars.js can be cryptic when there's an error while rendering.\n* Using a variable, helper, or partial named `class` causes errors in IE browsers. (Instead, use `className`)\n\nHandlebars in the Wild\n-----------------\n* [jblotus](http://github.com/jblotus) created [http://tryhandlebarsjs.com](http://tryhandlebarsjs.com) for anyone who would\nlike to try out Handlebars.js in their browser.\n* Don Park wrote an Express.js view engine adapter for Handlebars.js called [hbs](http://github.com/donpark/hbs).\n* [sammy.js](http://github.com/quirkey/sammy) by Aaron Quint, a.k.a. quirkey, supports Handlebars.js as one of its template plugins.\n* [SproutCore](http://www.sproutcore.com) uses Handlebars.js as its main templating engine, extending it with automatic data binding support.\n* [Ember.js](http://www.emberjs.com) makes Handlebars.js the primary way to structure your views, also with automatic data binding support.\n* Les Hill (@leshill) wrote a Rails Asset Pipeline gem named [handlebars_assets](http://github.com/leshill/handlebars_assets).\n\nHelping Out\n-----------\nTo build Handlebars.js you'll need a few things installed.\n\n* Node.js\n* Jison, for building the compiler - `npm install jison`\n* Ruby\n* therubyracer, for running tests - `gem install therubyracer`\n* rspec, for running tests - `gem install rspec`\n\nThere's a Gemfile in the repo, so you can run `bundle` to install rspec and therubyracer if you've got bundler installed.\n\nTo build Handlebars.js from scratch, you'll want to run `rake compile` in the root of the project. That will build Handlebars and output the results to the dist/ folder. To run tests, run `rake spec`. You can also run our set of benchmarks with `rake bench`.\n\nIf you notice any problems, please report them to the GitHub issue tracker at [http://github.com/wycats/handlebars.js/issues](http://github.com/wycats/handlebars.js/issues). Feel free to contact commondream or wycats through GitHub with any other questions or feature requests. To submit changes fork the project and send a pull request.\n\nLicense\n-------\nHandlebars.js is released under the MIT license.\n", + "_id": "handlebars@1.0.10", + "_from": "handlebars@~1.0.10" +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/test.js b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/test.js new file mode 100644 index 0000000..0a6dde5 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/handlebars/test.js @@ -0,0 +1,20 @@ +var Handlebars = require('./lib/handlebars'); + +var succeedingTemplate = '{{#inverse}} {{#blk}} Unexpected {{/blk}} {{else}} {{#blk}} Expected {{/blk}} {{/inverse}}'; +var failingTemplate = '{{#inverse}} {{#blk}} Unexpected {{/blk}} {{else}} {{#blk}} Expected {{/blk}} {{/inverse}}'; + +console.log(Handlebars.precompile(failingTemplate)); + +var helpers = { + blk: function(block) { return block.fn(''); }, + inverse: function(block) { return block.inverse(''); } +}; + +function output(template_string) { + var compiled = Handlebars.compile(template_string); + var out = compiled({}, {helpers: helpers}); + console.log(out); +} + + +output(failingTemplate); // output: Unexpected diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/.npmignore b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/.npmignore new file mode 100644 index 0000000..94fceeb --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/.npmignore @@ -0,0 +1,2 @@ +tmp/ +node_modules/ diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/README.md b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/README.md new file mode 100644 index 0000000..de6abe5 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/README.md @@ -0,0 +1,544 @@ +UglifyJS 2 +========== + +UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit. + +This page documents the command line utility. For +[API and internals documentation see my website](http://lisperator.net/uglifyjs/). +There's also an +[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox, +Chrome and probably Safari). + +Install +------- + +First make sure you have installed the latest version of [node.js](http://nodejs.org/) +(You may need to restart your computer after this step). + +From NPM for use as a command line app: + + npm install uglify-js -g + +From NPM for programmatic use: + + npm install uglify-js + +From Git: + + git clone git://github.com/mishoo/UglifyJS2.git + cd UglifyJS2 + npm link . + +Usage +----- + + uglifyjs [input files] [options] + +UglifyJS2 can take multiple input files. It's recommended that you pass the +input files first, then pass the options. UglifyJS will parse input files +in sequence and apply any compression options. The files are parsed in the +same global scope, that is, a reference from a file to some +variable/function declared in another file will be matched properly. + +If you want to read from STDIN instead, pass a single dash instead of input +files. + +The available options are: + + --source-map Specify an output file where to generate source map. + [string] + --source-map-root The path to the original source to be included in the + source map. [string] + --source-map-url The path to the source map to be added in //@ + sourceMappingURL. Defaults to the value passed with + --source-map. [string] + --in-source-map Input source map, useful if you're compressing JS that was + generated from some other original code. + -p, --prefix Skip prefix for original filenames that appear in source + maps. For example -p 3 will drop 3 directories from file + names and ensure they are relative paths. + -o, --output Output file (default STDOUT). + -b, --beautify Beautify output/specify output options. [string] + -m, --mangle Mangle names/pass mangler options. [string] + -r, --reserved Reserved names to exclude from mangling. + -c, --compress Enable compressor/pass compressor options. Pass options + like -c hoist_vars=false,if_return=false. Use -c with no + argument to use the default compression options. [string] + -d, --define Global definitions [string] + --comments Preserve copyright comments in the output. By default this + works like Google Closure, keeping JSDoc-style comments + that contain "@license" or "@preserve". You can optionally + pass one of the following arguments to this flag: + - "all" to keep all comments + - a valid JS regexp (needs to start with a slash) to keep + only comments that match. + Note that currently not *all* comments can be kept when + compression is on, because of dead code removal or + cascading statements into sequences. [string] + --stats Display operations run time on STDERR. [boolean] + --acorn Use Acorn for parsing. [boolean] + --spidermonkey Assume input fles are SpiderMonkey AST format (as JSON). + [boolean] + --self Build itself (UglifyJS2) as a library (implies + --wrap=UglifyJS --export-all) [boolean] + --wrap Embed everything in a big function, making the “exports” + and “global” variables available. You need to pass an + argument to this option to specify the name that your + module will take when included in, say, a browser. + [string] + --export-all Only used when --wrap, this tells UglifyJS to add code to + automatically export all globals. [boolean] + --lint Display some scope warnings [boolean] + -v, --verbose Verbose [boolean] + -V, --version Print version number and exit. [boolean] + +Specify `--output` (`-o`) to declare the output file. Otherwise the output +goes to STDOUT. + +## Source map options + +UglifyJS2 can generate a source map file, which is highly useful for +debugging your compressed JavaScript. To get a source map, pass +`--source-map output.js.map` (full path to the file where you want the +source map dumped). + +Additionally you might need `--source-map-root` to pass the URL where the +original files can be found. In case you are passing full paths to input +files to UglifyJS, you can use `--prefix` (`-p`) to specify the number of +directories to drop from the path prefix when declaring files in the source +map. + +For example: + + uglifyjs /home/doe/work/foo/src/js/file1.js \ + /home/doe/work/foo/src/js/file2.js \ + -o foo.min.js \ + --source-map foo.min.js.map \ + --source-map-root http://foo.com/src \ + -p 5 -c -m + +The above will compress and mangle `file1.js` and `file2.js`, will drop the +output in `foo.min.js` and the source map in `foo.min.js.map`. The source +mapping will refer to `http://foo.com/src/js/file1.js` and +`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src` +as the source map root, and the original files as `js/file1.js` and +`js/file2.js`). + +### Composed source map + +When you're compressing JS code that was output by a compiler such as +CoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd +like to map back to the original code (i.e. CoffeeScript). UglifyJS has an +option to take an input source map. Assuming you have a mapping from +CoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript → +compressed JS by mapping every token in the compiled JS to its original +location. + +To use this feature you need to pass `--in-source-map +/path/to/input/source.map`. Normally the input source map should also point +to the file containing the generated JS, so if that's correct you can omit +input files from the command line. + +## Mangler options + +To enable the mangler you need to pass `--mangle` (`-m`). Optionally you +can pass `-m sort=true` (we'll possibly have other flags in the future) in order +to assign shorter names to most frequently used variables. This saves a few +hundred bytes on jQuery before gzip, but the output is _bigger_ after gzip +(and seems to happen for other libraries I tried it on) therefore it's not +enabled by default. + +When mangling is enabled but you want to prevent certain names from being +mangled, you can declare those names with `--reserved` (`-r`) — pass a +comma-separated list of names. For example: + + uglifyjs ... -m -r '$,require,exports' + +to prevent the `require`, `exports` and `$` names from being changed. + +## Compressor options + +You need to pass `--compress` (`-c`) to enable the compressor. Optionally +you can pass a comma-separated list of options. Options are in the form +`foo=bar`, or just `foo` (the latter implies a boolean option that you want +to set `true`; it's effectively a shortcut for `foo=true`). + +The defaults should be tuned for maximum compression on most code. Here are +the available options (all are `true` by default, except `hoist_vars`): + +- `sequences` -- join consecutive simple statements using the comma operator +- `properties` -- rewrite property access using the dot notation, for + example `foo["bar"] → foo.bar` +- `dead_code` -- remove unreachable code +- `drop_debugger` -- remove `debugger;` statements +- `unsafe` -- apply "unsafe" transformations (discussion below) +- `conditionals` -- apply optimizations for `if`-s and conditional + expressions +- `comparisons` -- apply certain optimizations to binary nodes, for example: + `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes, + e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc. +- `evaluate` -- attempt to evaluate constant expressions +- `booleans` -- various optimizations for boolean context, for example `!!a + ? b : c → a ? b : c` +- `loops` -- optimizations for `do`, `while` and `for` loops when we can + statically determine the condition +- `unused` -- drop unreferenced functions and variables +- `hoist_funs` -- hoist function declarations +- `hoist_vars` -- hoist `var` declarations (this is `false` by default + because it seems to increase the size of the output in general) +- `if_return` -- optimizations for if/return and if/continue +- `join_vars` -- join consecutive `var` statements +- `cascade` -- small optimization for sequences, transform `x, x` into `x` + and `x = something(), x` into `x = something()` +- `warnings` -- display warnings when dropping unreachable code or unused + declarations etc. + +### Conditional compilation + +You can use the `--define` (`-d`) switch in order to declare global +variables that UglifyJS will assume to be constants (unless defined in +scope). For example if you pass `--define DEBUG=false` then, coupled with +dead code removal UglifyJS will discard the following from the output: + + if (DEBUG) { + console.log("debug stuff"); + } + +UglifyJS will warn about the condition being always false and about dropping +unreachable code; for now there is no option to turn off only this specific +warning, you can pass `warnings=false` to turn off *all* warnings. + +Another way of doing that is to declare your globals as constants in a +separate file and include it into the build. For example you can have a +`build/defines.js` file with the following: + + const DEBUG = false; + const PRODUCTION = true; + // etc. + +and build your code like this: + + uglifyjs build/defines.js js/foo.js js/bar.js... -c + +UglifyJS will notice the constants and, since they cannot be altered, it +will evaluate references to them to the value itself and drop unreachable +code as usual. The possible downside of this approach is that the build +will contain the `const` declarations. + + +## Beautifier options + +The code generator tries to output shortest code possible by default. In +case you want beautified output, pass `--beautify` (`-b`). Optionally you +can pass additional arguments that control the code output: + +- `beautify` (default `true`) -- whether to actually beautify the output. + Passing `-b` will set this to true, but you might need to pass `-b` even + when you want to generate minified code, in order to specify additional + arguments, so you can use `-b beautify=false` to override it. +- `indent-level` (default 4) +- `indent-start` (default 0) -- prefix all lines by that many spaces +- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal + objects +- `space-colon` (default `true`) -- insert a space after the colon signs +- `ascii-only` (default `false`) -- escape Unicode characters in strings and + regexps +- `inline-script` (default `false`) -- escape the slash in occurrences of + ` 0) { + sys.error("WARN: Ignoring input files since --self was passed"); + } + files = UglifyJS.FILES; + if (!ARGS.wrap) ARGS.wrap = "UglifyJS"; + ARGS.export_all = true; +} + +var ORIG_MAP = ARGS.in_source_map; + +if (ORIG_MAP) { + ORIG_MAP = JSON.parse(fs.readFileSync(ORIG_MAP)); + if (files.length == 0) { + sys.error("INFO: Using file from the input source map: " + ORIG_MAP.file); + files = [ ORIG_MAP.file ]; + } + if (ARGS.source_map_root == null) { + ARGS.source_map_root = ORIG_MAP.sourceRoot; + } +} + +if (files.length == 0) { + files = [ "-" ]; +} + +if (files.indexOf("-") >= 0 && ARGS.source_map) { + sys.error("ERROR: Source map doesn't work with input from STDIN"); + process.exit(1); +} + +if (files.filter(function(el){ return el == "-" }).length > 1) { + sys.error("ERROR: Can read a single file from STDIN (two or more dashes specified)"); + process.exit(1); +} + +var STATS = {}; +var OUTPUT_FILE = ARGS.o; +var TOPLEVEL = null; + +var SOURCE_MAP = ARGS.source_map ? UglifyJS.SourceMap({ + file: OUTPUT_FILE, + root: ARGS.source_map_root, + orig: ORIG_MAP, +}) : null; + +OUTPUT_OPTIONS.source_map = SOURCE_MAP; + +try { + var output = UglifyJS.OutputStream(OUTPUT_OPTIONS); + var compressor = COMPRESS && UglifyJS.Compressor(COMPRESS); +} catch(ex) { + if (ex instanceof UglifyJS.DefaultsError) { + sys.error(ex.msg); + sys.error("Supported options:"); + sys.error(sys.inspect(ex.defs)); + process.exit(1); + } +} + +files.forEach(function(file) { + var code = read_whole_file(file); + if (ARGS.p != null) { + file = file.replace(/^\/+/, "").split(/\/+/).slice(ARGS.p).join("/"); + } + time_it("parse", function(){ + if (ARGS.spidermonkey) { + var program = JSON.parse(code); + if (!TOPLEVEL) TOPLEVEL = program; + else TOPLEVEL.body = TOPLEVEL.body.concat(program.body); + } + else if (ARGS.acorn) { + TOPLEVEL = acorn.parse(code, { + locations : true, + trackComments : true, + sourceFile : file, + program : TOPLEVEL + }); + } + else { + TOPLEVEL = UglifyJS.parse(code, { + filename: file, + toplevel: TOPLEVEL + }); + }; + }); +}); + +if (ARGS.acorn || ARGS.spidermonkey) time_it("convert_ast", function(){ + TOPLEVEL = UglifyJS.AST_Node.from_mozilla_ast(TOPLEVEL); +}); + +if (ARGS.wrap) { + TOPLEVEL = TOPLEVEL.wrap_commonjs(ARGS.wrap, ARGS.export_all); +} + +var SCOPE_IS_NEEDED = COMPRESS || MANGLE || ARGS.lint; + +if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope(); + if (ARGS.lint) { + TOPLEVEL.scope_warnings(); + } + }); +} + +if (COMPRESS) { + time_it("squeeze", function(){ + TOPLEVEL = TOPLEVEL.transform(compressor); + }); +} + +if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope(); + if (MANGLE) { + TOPLEVEL.compute_char_frequency(MANGLE); + } + }); +} + +if (MANGLE) time_it("mangle", function(){ + TOPLEVEL.mangle_names(MANGLE); +}); +time_it("generate", function(){ + TOPLEVEL.print(output); +}); + +output = output.get(); + +if (SOURCE_MAP) { + fs.writeFileSync(ARGS.source_map, SOURCE_MAP, "utf8"); + output += "\n/*\n//@ sourceMappingURL=" + (ARGS.source_map_url || ARGS.source_map) + "\n*/"; +} + +if (OUTPUT_FILE) { + fs.writeFileSync(OUTPUT_FILE, output, "utf8"); +} else { + sys.print(output); + sys.error("\n"); +} + +if (ARGS.stats) { + sys.error(UglifyJS.string_template("Timing information (compressed {count} files):", { + count: files.length + })); + for (var i in STATS) if (STATS.hasOwnProperty(i)) { + sys.error(UglifyJS.string_template("- {name}: {time}s", { + name: i, + time: (STATS[i] / 1000).toFixed(3) + })); + } +} + +/* -----[ functions ]----- */ + +function normalize(o) { + for (var i in o) if (o.hasOwnProperty(i) && /-/.test(i)) { + o[i.replace(/-/g, "_")] = o[i]; + delete o[i]; + } +} + +function getOptions(x, constants) { + x = ARGS[x]; + if (!x) return null; + var ret = {}; + if (x !== true) { + var ast; + try { + ast = UglifyJS.parse(x); + } catch(ex) { + if (ex instanceof UglifyJS.JS_Parse_Error) { + sys.error("Error parsing arguments in: " + x); + process.exit(1); + } + } + ast.walk(new UglifyJS.TreeWalker(function(node){ + if (node instanceof UglifyJS.AST_Toplevel) return; // descend + if (node instanceof UglifyJS.AST_SimpleStatement) return; // descend + if (node instanceof UglifyJS.AST_Seq) return; // descend + if (node instanceof UglifyJS.AST_Assign) { + var name = node.left.print_to_string({ beautify: false }).replace(/-/g, "_"); + var value = node.right; + if (constants) + value = new Function("return (" + value.print_to_string() + ")")(); + ret[name] = value; + return true; // no descend + } + sys.error(node.TYPE) + sys.error("Error parsing arguments in: " + x); + process.exit(1); + })); + } + return ret; +} + +function read_whole_file(filename) { + if (filename == "-") { + // XXX: this sucks. How does one read the whole STDIN + // synchronously? + filename = "/dev/stdin"; + } + try { + return fs.readFileSync(filename, "utf8"); + } catch(ex) { + sys.error("ERROR: can't read file: " + filename); + process.exit(1); + } +} + +function time_it(name, cont) { + var t1 = new Date().getTime(); + var ret = cont(); + if (ARGS.stats) { + var spent = new Date().getTime() - t1; + if (STATS[name]) STATS[name] += spent; + else STATS[name] = spent; + } + return ret; +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/ast.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/ast.js new file mode 100644 index 0000000..62bdd8d --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/ast.js @@ -0,0 +1,964 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function DEFNODE(type, props, methods, base) { + if (arguments.length < 4) base = AST_Node; + if (!props) props = []; + else props = props.split(/\s+/); + var self_props = props; + if (base && base.PROPS) + props = props.concat(base.PROPS); + var code = "return function AST_" + type + "(props){ if (props) { "; + for (var i = props.length; --i >= 0;) { + code += "this." + props[i] + " = props." + props[i] + ";"; + } + var proto = base && new base; + if (proto && proto.initialize || (methods && methods.initialize)) + code += "this.initialize();"; + code += "}}"; + var ctor = new Function(code)(); + if (proto) { + ctor.prototype = proto; + ctor.BASE = base; + } + if (base) base.SUBCLASSES.push(ctor); + ctor.prototype.CTOR = ctor; + ctor.PROPS = props || null; + ctor.SELF_PROPS = self_props; + ctor.SUBCLASSES = []; + if (type) { + ctor.prototype.TYPE = ctor.TYPE = type; + } + if (methods) for (i in methods) if (methods.hasOwnProperty(i)) { + if (/^\$/.test(i)) { + ctor[i.substr(1)] = methods[i]; + } else { + ctor.prototype[i] = methods[i]; + } + } + ctor.DEFMETHOD = function(name, method) { + this.prototype[name] = method; + }; + return ctor; +}; + +var AST_Token = DEFNODE("Token", "type value line col pos endpos nlb comments_before file", { +}, null); + +var AST_Node = DEFNODE("Node", "start end", { + clone: function() { + return new this.CTOR(this); + }, + $documentation: "Base class of all AST nodes", + $propdoc: { + start: "[AST_Token] The first token of this node", + end: "[AST_Token] The last token of this node" + }, + _walk: function(visitor) { + return visitor._visit(this); + }, + walk: function(visitor) { + return this._walk(visitor); // not sure the indirection will be any help + } +}, null); + +AST_Node.warn_function = null; +AST_Node.warn = function(txt, props) { + if (AST_Node.warn_function) + AST_Node.warn_function(string_template(txt, props)); +}; + +/* -----[ statements ]----- */ + +var AST_Statement = DEFNODE("Statement", null, { + $documentation: "Base class of all statements", +}); + +var AST_Debugger = DEFNODE("Debugger", null, { + $documentation: "Represents a debugger statement", +}, AST_Statement); + +var AST_Directive = DEFNODE("Directive", "value scope", { + $documentation: "Represents a directive, like \"use strict\";", + $propdoc: { + value: "[string] The value of this directive as a plain string (it's not an AST_String!)", + scope: "[AST_Scope/S] The scope that this directive affects" + }, +}, AST_Statement); + +var AST_SimpleStatement = DEFNODE("SimpleStatement", "body", { + $documentation: "A statement consisting of an expression, i.e. a = 1 + 2", + $propdoc: { + body: "[AST_Node] an expression node (should not be instanceof AST_Statement)" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.body._walk(visitor); + }); + } +}, AST_Statement); + +function walk_body(node, visitor) { + if (node.body instanceof AST_Statement) { + node.body._walk(visitor); + } + else node.body.forEach(function(stat){ + stat._walk(visitor); + }); +}; + +var AST_Block = DEFNODE("Block", "body", { + $documentation: "A body of statements (usually bracketed)", + $propdoc: { + body: "[AST_Statement*] an array of statements" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + walk_body(this, visitor); + }); + } +}, AST_Statement); + +var AST_BlockStatement = DEFNODE("BlockStatement", null, { + $documentation: "A block statement", +}, AST_Block); + +var AST_EmptyStatement = DEFNODE("EmptyStatement", null, { + $documentation: "The empty statement (empty block or simply a semicolon)", + _walk: function(visitor) { + return visitor._visit(this); + } +}, AST_Statement); + +var AST_StatementWithBody = DEFNODE("StatementWithBody", "body", { + $documentation: "Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`", + $propdoc: { + body: "[AST_Statement] the body; this should always be present, even if it's an AST_EmptyStatement" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.body._walk(visitor); + }); + } +}, AST_Statement); + +var AST_LabeledStatement = DEFNODE("LabeledStatement", "label", { + $documentation: "Statement with a label", + $propdoc: { + label: "[AST_Label] a label definition" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.label._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_DWLoop = DEFNODE("DWLoop", "condition", { + $documentation: "Base class for do/while statements", + $propdoc: { + condition: "[AST_Node] the loop condition. Should not be instanceof AST_Statement" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_Do = DEFNODE("Do", null, { + $documentation: "A `do` statement", +}, AST_DWLoop); + +var AST_While = DEFNODE("While", null, { + $documentation: "A `while` statement", +}, AST_DWLoop); + +var AST_For = DEFNODE("For", "init condition step", { + $documentation: "A `for` statement", + $propdoc: { + init: "[AST_Node?] the `for` initialization code, or null if empty", + condition: "[AST_Node?] the `for` termination clause, or null if empty", + step: "[AST_Node?] the `for` update clause, or null if empty" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + if (this.init) this.init._walk(visitor); + if (this.condition) this.condition._walk(visitor); + if (this.step) this.step._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_ForIn = DEFNODE("ForIn", "init name object", { + $documentation: "A `for ... in` statement", + $propdoc: { + init: "[AST_Node] the `for/in` initialization code", + name: "[AST_SymbolRef?] the loop variable, only if `init` is AST_Var", + object: "[AST_Node] the object that we're looping through" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.init._walk(visitor); + this.object._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_With = DEFNODE("With", "expression", { + $documentation: "A `with` statement", + $propdoc: { + expression: "[AST_Node] the `with` expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +/* -----[ scope and functions ]----- */ + +var AST_Scope = DEFNODE("Scope", "directives variables functions uses_with uses_eval parent_scope enclosed cname", { + $documentation: "Base class for all statements introducing a lexical scope", + $propdoc: { + directives: "[string*/S] an array of directives declared in this scope", + variables: "[Object/S] a map of name -> SymbolDef for all variables/functions defined in this scope", + functions: "[Object/S] like `variables`, but only lists function declarations", + uses_with: "[boolean/S] tells whether this scope uses the `with` statement", + uses_eval: "[boolean/S] tells whether this scope contains a direct call to the global `eval`", + parent_scope: "[AST_Scope?/S] link to the parent scope", + enclosed: "[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes", + cname: "[integer/S] current index for mangling variables (used internally by the mangler)", + }, +}, AST_Block); + +var AST_Toplevel = DEFNODE("Toplevel", "globals", { + $documentation: "The toplevel scope", + $propdoc: { + globals: "[Object/S] a map of name -> SymbolDef for all undeclared names", + }, + wrap_commonjs: function(name, export_all) { + var self = this; + var to_export = []; + if (export_all) { + self.figure_out_scope(); + self.walk(new TreeWalker(function(node){ + if (node instanceof AST_SymbolDeclaration && node.definition().global) { + if (!find_if(function(n){ return n.name == node.name }, to_export)) + to_export.push(node); + } + })); + } + var wrapped_tl = "(function(exports, global){ global['" + name + "'] = exports; '$ORIG'; '$EXPORTS'; }({}, (function(){return this}())))"; + wrapped_tl = parse(wrapped_tl); + wrapped_tl = wrapped_tl.transform(new TreeTransformer(function before(node){ + if (node instanceof AST_SimpleStatement) { + node = node.body; + if (node instanceof AST_String) switch (node.getValue()) { + case "$ORIG": + return MAP.splice(self.body); + case "$EXPORTS": + var body = []; + to_export.forEach(function(sym){ + body.push(new AST_SimpleStatement({ + body: new AST_Assign({ + left: new AST_Sub({ + expression: new AST_SymbolRef({ name: "exports" }), + property: new AST_String({ value: sym.name }), + }), + operator: "=", + right: new AST_SymbolRef(sym), + }), + })); + }); + return MAP.splice(body); + } + } + })); + return wrapped_tl; + } +}, AST_Scope); + +var AST_Lambda = DEFNODE("Lambda", "name argnames uses_arguments", { + $documentation: "Base class for functions", + $propdoc: { + name: "[AST_SymbolDeclaration?] the name of this function", + argnames: "[AST_SymbolFunarg*] array of function arguments", + uses_arguments: "[boolean/S] tells whether this function accesses the arguments array" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + if (this.name) this.name._walk(visitor); + this.argnames.forEach(function(arg){ + arg._walk(visitor); + }); + walk_body(this, visitor); + }); + } +}, AST_Scope); + +var AST_Accessor = DEFNODE("Accessor", null, { + $documentation: "A setter/getter function" +}, AST_Lambda); + +var AST_Function = DEFNODE("Function", null, { + $documentation: "A function expression" +}, AST_Lambda); + +var AST_Defun = DEFNODE("Defun", null, { + $documentation: "A function definition" +}, AST_Lambda); + +/* -----[ JUMPS ]----- */ + +var AST_Jump = DEFNODE("Jump", null, { + $documentation: "Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)" +}, AST_Statement); + +var AST_Exit = DEFNODE("Exit", "value", { + $documentation: "Base class for “exits” (`return` and `throw`)", + $propdoc: { + value: "[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return" + }, + _walk: function(visitor) { + return visitor._visit(this, this.value && function(){ + this.value._walk(visitor); + }); + } +}, AST_Jump); + +var AST_Return = DEFNODE("Return", null, { + $documentation: "A `return` statement" +}, AST_Exit); + +var AST_Throw = DEFNODE("Throw", null, { + $documentation: "A `throw` statement" +}, AST_Exit); + +var AST_LoopControl = DEFNODE("LoopControl", "label", { + $documentation: "Base class for loop control statements (`break` and `continue`)", + $propdoc: { + label: "[AST_LabelRef?] the label, or null if none", + }, + _walk: function(visitor) { + return visitor._visit(this, this.label && function(){ + this.label._walk(visitor); + }); + } +}, AST_Jump); + +var AST_Break = DEFNODE("Break", null, { + $documentation: "A `break` statement" +}, AST_LoopControl); + +var AST_Continue = DEFNODE("Continue", null, { + $documentation: "A `continue` statement" +}, AST_LoopControl); + +/* -----[ IF ]----- */ + +var AST_If = DEFNODE("If", "condition alternative", { + $documentation: "A `if` statement", + $propdoc: { + condition: "[AST_Node] the `if` condition", + alternative: "[AST_Statement?] the `else` part, or null if not present" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.body._walk(visitor); + if (this.alternative) this.alternative._walk(visitor); + }); + } +}, AST_StatementWithBody); + +/* -----[ SWITCH ]----- */ + +var AST_Switch = DEFNODE("Switch", "expression", { + $documentation: "A `switch` statement", + $propdoc: { + expression: "[AST_Node] the `switch` “discriminant”" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_Block); + +var AST_SwitchBranch = DEFNODE("SwitchBranch", null, { + $documentation: "Base class for `switch` branches", +}, AST_Block); + +var AST_Default = DEFNODE("Default", null, { + $documentation: "A `default` switch branch", +}, AST_SwitchBranch); + +var AST_Case = DEFNODE("Case", "expression", { + $documentation: "A `case` switch branch", + $propdoc: { + expression: "[AST_Node] the `case` expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_SwitchBranch); + +/* -----[ EXCEPTIONS ]----- */ + +var AST_Try = DEFNODE("Try", "bcatch bfinally", { + $documentation: "A `try` statement", + $propdoc: { + bcatch: "[AST_Catch?] the catch block, or null if not present", + bfinally: "[AST_Finally?] the finally block, or null if not present" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + walk_body(this, visitor); + if (this.bcatch) this.bcatch._walk(visitor); + if (this.bfinally) this.bfinally._walk(visitor); + }); + } +}, AST_Block); + +// XXX: this is wrong according to ECMA-262 (12.4). the catch block +// should introduce another scope, as the argname should be visible +// only inside the catch block. However, doing it this way because of +// IE which simply introduces the name in the surrounding scope. If +// we ever want to fix this then AST_Catch should inherit from +// AST_Scope. +var AST_Catch = DEFNODE("Catch", "argname", { + $documentation: "A `catch` node; only makes sense as part of a `try` statement", + $propdoc: { + argname: "[AST_SymbolCatch] symbol for the exception" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.argname._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_Block); + +var AST_Finally = DEFNODE("Finally", null, { + $documentation: "A `finally` node; only makes sense as part of a `try` statement" +}, AST_Block); + +/* -----[ VAR/CONST ]----- */ + +var AST_Definitions = DEFNODE("Definitions", "definitions", { + $documentation: "Base class for `var` or `const` nodes (variable declarations/initializations)", + $propdoc: { + definitions: "[AST_VarDef*] array of variable definitions" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.definitions.forEach(function(def){ + def._walk(visitor); + }); + }); + } +}, AST_Statement); + +var AST_Var = DEFNODE("Var", null, { + $documentation: "A `var` statement" +}, AST_Definitions); + +var AST_Const = DEFNODE("Const", null, { + $documentation: "A `const` statement" +}, AST_Definitions); + +var AST_VarDef = DEFNODE("VarDef", "name value", { + $documentation: "A variable declaration; only appears in a AST_Definitions node", + $propdoc: { + name: "[AST_SymbolVar|AST_SymbolConst] name of the variable", + value: "[AST_Node?] initializer, or null of there's no initializer" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.name._walk(visitor); + if (this.value) this.value._walk(visitor); + }); + } +}); + +/* -----[ OTHER ]----- */ + +var AST_Call = DEFNODE("Call", "expression args", { + $documentation: "A function call expression", + $propdoc: { + expression: "[AST_Node] expression to invoke as function", + args: "[AST_Node*] array of arguments" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.args.forEach(function(arg){ + arg._walk(visitor); + }); + }); + } +}); + +var AST_New = DEFNODE("New", null, { + $documentation: "An object instantiation. Derives from a function call since it has exactly the same properties" +}, AST_Call); + +var AST_Seq = DEFNODE("Seq", "car cdr", { + $documentation: "A sequence expression (two comma-separated expressions)", + $propdoc: { + car: "[AST_Node] first element in sequence", + cdr: "[AST_Node] second element in sequence" + }, + $cons: function(x, y) { + var seq = new AST_Seq(x); + seq.car = x; + seq.cdr = y; + return seq; + }, + $from_array: function(array) { + if (array.length == 0) return null; + if (array.length == 1) return array[0].clone(); + var list = null; + for (var i = array.length; --i >= 0;) { + list = AST_Seq.cons(array[i], list); + } + var p = list; + while (p) { + if (p.cdr && !p.cdr.cdr) { + p.cdr = p.cdr.car; + break; + } + p = p.cdr; + } + return list; + }, + to_array: function() { + var p = this, a = []; + while (p) { + a.push(p.car); + if (p.cdr && !(p.cdr instanceof AST_Seq)) { + a.push(p.cdr); + break; + } + p = p.cdr; + } + return a; + }, + add: function(node) { + var p = this; + while (p) { + if (!(p.cdr instanceof AST_Seq)) { + var cell = AST_Seq.cons(p.cdr, node); + return p.cdr = cell; + } + p = p.cdr; + } + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.car._walk(visitor); + if (this.cdr) this.cdr._walk(visitor); + }); + } +}); + +var AST_PropAccess = DEFNODE("PropAccess", "expression property", { + $documentation: "Base class for property access expressions, i.e. `a.foo` or `a[\"foo\"]`", + $propdoc: { + expression: "[AST_Node] the “container” expression", + property: "[AST_Node|string] the property to access. For AST_Dot this is always a plain string, while for AST_Sub it's an arbitrary AST_Node" + } +}); + +var AST_Dot = DEFNODE("Dot", null, { + $documentation: "A dotted property access expression", + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + }); + } +}, AST_PropAccess); + +var AST_Sub = DEFNODE("Sub", null, { + $documentation: "Index-style property access, i.e. `a[\"foo\"]`", + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.property._walk(visitor); + }); + } +}, AST_PropAccess); + +var AST_Unary = DEFNODE("Unary", "operator expression", { + $documentation: "Base class for unary expressions", + $propdoc: { + operator: "[string] the operator", + expression: "[AST_Node] expression that this unary operator applies to" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + }); + } +}); + +var AST_UnaryPrefix = DEFNODE("UnaryPrefix", null, { + $documentation: "Unary prefix expression, i.e. `typeof i` or `++i`" +}, AST_Unary); + +var AST_UnaryPostfix = DEFNODE("UnaryPostfix", null, { + $documentation: "Unary postfix expression, i.e. `i++`" +}, AST_Unary); + +var AST_Binary = DEFNODE("Binary", "left operator right", { + $documentation: "Binary expression, i.e. `a + b`", + $propdoc: { + left: "[AST_Node] left-hand side expression", + operator: "[string] the operator", + right: "[AST_Node] right-hand side expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.left._walk(visitor); + this.right._walk(visitor); + }); + } +}); + +var AST_Conditional = DEFNODE("Conditional", "condition consequent alternative", { + $documentation: "Conditional expression using the ternary operator, i.e. `a ? b : c`", + $propdoc: { + condition: "[AST_Node]", + consequent: "[AST_Node]", + alternative: "[AST_Node]" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.consequent._walk(visitor); + this.alternative._walk(visitor); + }); + } +}); + +var AST_Assign = DEFNODE("Assign", null, { + $documentation: "An assignment expression — `a = b + 5`", +}, AST_Binary); + +/* -----[ LITERALS ]----- */ + +var AST_Array = DEFNODE("Array", "elements", { + $documentation: "An array literal", + $propdoc: { + elements: "[AST_Node*] array of elements" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.elements.forEach(function(el){ + el._walk(visitor); + }); + }); + } +}); + +var AST_Object = DEFNODE("Object", "properties", { + $documentation: "An object literal", + $propdoc: { + properties: "[AST_ObjectProperty*] array of properties" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.properties.forEach(function(prop){ + prop._walk(visitor); + }); + }); + } +}); + +var AST_ObjectProperty = DEFNODE("ObjectProperty", "key value", { + $documentation: "Base class for literal object properties", + $propdoc: { + key: "[string] the property name; it's always a plain string in our AST, no matter if it was a string, number or identifier in original code", + value: "[AST_Node] property value. For setters and getters this is an AST_Function." + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.value._walk(visitor); + }); + } +}); + +var AST_ObjectKeyVal = DEFNODE("ObjectKeyVal", null, { + $documentation: "A key: value object property", +}, AST_ObjectProperty); + +var AST_ObjectSetter = DEFNODE("ObjectSetter", null, { + $documentation: "An object setter property", +}, AST_ObjectProperty); + +var AST_ObjectGetter = DEFNODE("ObjectGetter", null, { + $documentation: "An object getter property", +}, AST_ObjectProperty); + +var AST_Symbol = DEFNODE("Symbol", "scope name thedef", { + $propdoc: { + name: "[string] name of this symbol", + scope: "[AST_Scope/S] the current scope (not necessarily the definition scope)", + thedef: "[SymbolDef/S] the definition of this symbol" + }, + $documentation: "Base class for all symbols", +}); + +var AST_SymbolAccessor = DEFNODE("SymbolAccessor", null, { + $documentation: "The name of a property accessor (setter/getter function)" +}, AST_Symbol); + +var AST_SymbolDeclaration = DEFNODE("SymbolDeclaration", "init", { + $documentation: "A declaration symbol (symbol in var/const, function name or argument, symbol in catch)", + $propdoc: { + init: "[AST_Node*/S] array of initializers for this declaration." + } +}, AST_Symbol); + +var AST_SymbolVar = DEFNODE("SymbolVar", null, { + $documentation: "Symbol defining a variable", +}, AST_SymbolDeclaration); + +var AST_SymbolConst = DEFNODE("SymbolConst", null, { + $documentation: "A constant declaration" +}, AST_SymbolDeclaration); + +var AST_SymbolFunarg = DEFNODE("SymbolFunarg", null, { + $documentation: "Symbol naming a function argument", +}, AST_SymbolVar); + +var AST_SymbolDefun = DEFNODE("SymbolDefun", null, { + $documentation: "Symbol defining a function", +}, AST_SymbolDeclaration); + +var AST_SymbolLambda = DEFNODE("SymbolLambda", null, { + $documentation: "Symbol naming a function expression", +}, AST_SymbolDeclaration); + +var AST_SymbolCatch = DEFNODE("SymbolCatch", null, { + $documentation: "Symbol naming the exception in catch", +}, AST_SymbolDeclaration); + +var AST_Label = DEFNODE("Label", "references", { + $documentation: "Symbol naming a label (declaration)", + $propdoc: { + references: "[AST_LabelRef*] a list of nodes referring to this label" + } +}, AST_Symbol); + +var AST_SymbolRef = DEFNODE("SymbolRef", null, { + $documentation: "Reference to some symbol (not definition/declaration)", +}, AST_Symbol); + +var AST_LabelRef = DEFNODE("LabelRef", null, { + $documentation: "Reference to a label symbol", +}, AST_Symbol); + +var AST_This = DEFNODE("This", null, { + $documentation: "The `this` symbol", +}, AST_Symbol); + +var AST_Constant = DEFNODE("Constant", null, { + $documentation: "Base class for all constants", + getValue: function() { + return this.value; + } +}); + +var AST_String = DEFNODE("String", "value", { + $documentation: "A string literal", + $propdoc: { + value: "[string] the contents of this string" + } +}, AST_Constant); + +var AST_Number = DEFNODE("Number", "value", { + $documentation: "A number literal", + $propdoc: { + value: "[number] the numeric value" + } +}, AST_Constant); + +var AST_RegExp = DEFNODE("RegExp", "value", { + $documentation: "A regexp literal", + $propdoc: { + value: "[RegExp] the actual regexp" + } +}, AST_Constant); + +var AST_Atom = DEFNODE("Atom", null, { + $documentation: "Base class for atoms", +}, AST_Constant); + +var AST_Null = DEFNODE("Null", null, { + $documentation: "The `null` atom", + value: null +}, AST_Atom); + +var AST_NaN = DEFNODE("NaN", null, { + $documentation: "The impossible value", + value: 0/0 +}, AST_Atom); + +var AST_Undefined = DEFNODE("Undefined", null, { + $documentation: "The `undefined` value", + value: (function(){}()) +}, AST_Atom); + +var AST_Hole = DEFNODE("Hole", null, { + $documentation: "A hole in an array", + value: (function(){}()) +}, AST_Atom); + +var AST_Infinity = DEFNODE("Infinity", null, { + $documentation: "The `Infinity` value", + value: 1/0 +}, AST_Atom); + +var AST_Boolean = DEFNODE("Boolean", null, { + $documentation: "Base class for booleans", +}, AST_Atom); + +var AST_False = DEFNODE("False", null, { + $documentation: "The `false` atom", + value: false +}, AST_Boolean); + +var AST_True = DEFNODE("True", null, { + $documentation: "The `true` atom", + value: true +}, AST_Boolean); + +/* -----[ TreeWalker ]----- */ + +function TreeWalker(callback) { + this.visit = callback; + this.stack = []; +}; +TreeWalker.prototype = { + _visit: function(node, descend) { + this.stack.push(node); + var ret = this.visit(node, descend ? function(){ + descend.call(node); + } : noop); + if (!ret && descend) { + descend.call(node); + } + this.stack.pop(); + return ret; + }, + parent: function(n) { + return this.stack[this.stack.length - 2 - (n || 0)]; + }, + push: function (node) { + this.stack.push(node); + }, + pop: function() { + return this.stack.pop(); + }, + self: function() { + return this.stack[this.stack.length - 1]; + }, + find_parent: function(type) { + var stack = this.stack; + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof type) return x; + } + }, + in_boolean_context: function() { + var stack = this.stack; + var i = stack.length, self = stack[--i]; + while (i > 0) { + var p = stack[--i]; + if ((p instanceof AST_If && p.condition === self) || + (p instanceof AST_Conditional && p.condition === self) || + (p instanceof AST_DWLoop && p.condition === self) || + (p instanceof AST_For && p.condition === self) || + (p instanceof AST_UnaryPrefix && p.operator == "!" && p.expression === self)) + { + return true; + } + if (!(p instanceof AST_Binary && (p.operator == "&&" || p.operator == "||"))) + return false; + self = p; + } + }, + loopcontrol_target: function(label) { + var stack = this.stack; + if (label) { + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof AST_LabeledStatement && x.label.name == label.name) { + return x.body; + } + } + } else { + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof AST_Switch + || x instanceof AST_For + || x instanceof AST_ForIn + || x instanceof AST_DWLoop) return x; + } + } + } +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/compress.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/compress.js new file mode 100644 index 0000000..ca23c40 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/compress.js @@ -0,0 +1,1968 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function Compressor(options, false_by_default) { + if (!(this instanceof Compressor)) + return new Compressor(options, false_by_default); + TreeTransformer.call(this, this.before, this.after); + this.options = defaults(options, { + sequences : !false_by_default, + properties : !false_by_default, + dead_code : !false_by_default, + drop_debugger : !false_by_default, + unsafe : !false_by_default, + unsafe_comps : false, + conditionals : !false_by_default, + comparisons : !false_by_default, + evaluate : !false_by_default, + booleans : !false_by_default, + loops : !false_by_default, + unused : !false_by_default, + hoist_funs : !false_by_default, + hoist_vars : false, + if_return : !false_by_default, + join_vars : !false_by_default, + cascade : !false_by_default, + side_effects : !false_by_default, + + warnings : true, + global_defs : {} + }, true); +}; + +Compressor.prototype = new TreeTransformer; +merge(Compressor.prototype, { + option: function(key) { return this.options[key] }, + warn: function() { + if (this.options.warnings) + AST_Node.warn.apply(AST_Node, arguments); + }, + before: function(node, descend, in_list) { + if (node._squeezed) return node; + if (node instanceof AST_Scope) { + node.drop_unused(this); + node = node.hoist_declarations(this); + } + descend(node, this); + node = node.optimize(this); + if (node instanceof AST_Scope) { + // dead code removal might leave further unused declarations. + // this'll usually save very few bytes, but the performance + // hit seems negligible so I'll just drop it here. + + // no point to repeat warnings. + var save_warnings = this.options.warnings; + this.options.warnings = false; + node.drop_unused(this); + this.options.warnings = save_warnings; + } + node._squeezed = true; + return node; + } +}); + +(function(){ + + function OPT(node, optimizer) { + node.DEFMETHOD("optimize", function(compressor){ + var self = this; + if (self._optimized) return self; + var opt = optimizer(self, compressor); + opt._optimized = true; + if (opt === self) return opt; + return opt.transform(compressor); + }); + }; + + OPT(AST_Node, function(self, compressor){ + return self; + }); + + AST_Node.DEFMETHOD("equivalent_to", function(node){ + // XXX: this is a rather expensive way to test two node's equivalence: + return this.print_to_string() == node.print_to_string(); + }); + + function make_node(ctor, orig, props) { + if (!props) props = {}; + if (orig) { + if (!props.start) props.start = orig.start; + if (!props.end) props.end = orig.end; + } + return new ctor(props); + }; + + function make_node_from_constant(compressor, val, orig) { + // XXX: WIP. + // if (val instanceof AST_Node) return val.transform(new TreeTransformer(null, function(node){ + // if (node instanceof AST_SymbolRef) { + // var scope = compressor.find_parent(AST_Scope); + // var def = scope.find_variable(node); + // node.thedef = def; + // return node; + // } + // })).transform(compressor); + + if (val instanceof AST_Node) return val.transform(compressor); + switch (typeof val) { + case "string": + return make_node(AST_String, orig, { + value: val + }).optimize(compressor); + case "number": + return make_node(isNaN(val) ? AST_NaN : AST_Number, orig, { + value: val + }).optimize(compressor); + case "boolean": + return make_node(val ? AST_True : AST_False, orig); + case "undefined": + return make_node(AST_Undefined, orig).optimize(compressor); + default: + if (val === null) { + return make_node(AST_Null, orig).optimize(compressor); + } + if (val instanceof RegExp) { + return make_node(AST_RegExp, orig).optimize(compressor); + } + throw new Error(string_template("Can't handle constant of type: {type}", { + type: typeof val + })); + } + }; + + function as_statement_array(thing) { + if (thing === null) return []; + if (thing instanceof AST_BlockStatement) return thing.body; + if (thing instanceof AST_EmptyStatement) return []; + if (thing instanceof AST_Statement) return [ thing ]; + throw new Error("Can't convert thing to statement array"); + }; + + function is_empty(thing) { + if (thing === null) return true; + if (thing instanceof AST_EmptyStatement) return true; + if (thing instanceof AST_BlockStatement) return thing.body.length == 0; + return false; + }; + + function loop_body(x) { + if (x instanceof AST_Switch) return x; + if (x instanceof AST_For || x instanceof AST_ForIn || x instanceof AST_DWLoop) { + return (x.body instanceof AST_BlockStatement ? x.body : x); + } + return x; + }; + + function tighten_body(statements, compressor) { + var CHANGED; + do { + CHANGED = false; + statements = eliminate_spurious_blocks(statements); + if (compressor.option("dead_code")) { + statements = eliminate_dead_code(statements, compressor); + } + if (compressor.option("if_return")) { + statements = handle_if_return(statements, compressor); + } + if (compressor.option("sequences")) { + statements = sequencesize(statements, compressor); + } + if (compressor.option("join_vars")) { + statements = join_consecutive_vars(statements, compressor); + } + } while (CHANGED); + return statements; + + function eliminate_spurious_blocks(statements) { + var seen_dirs = []; + return statements.reduce(function(a, stat){ + if (stat instanceof AST_BlockStatement) { + CHANGED = true; + a.push.apply(a, eliminate_spurious_blocks(stat.body)); + } else if (stat instanceof AST_EmptyStatement) { + CHANGED = true; + } else if (stat instanceof AST_Directive) { + if (seen_dirs.indexOf(stat.value) < 0) { + a.push(stat); + seen_dirs.push(stat.value); + } else { + CHANGED = true; + } + } else { + a.push(stat); + } + return a; + }, []); + }; + + function handle_if_return(statements, compressor) { + var self = compressor.self(); + var in_lambda = self instanceof AST_Lambda; + var ret = []; + loop: for (var i = statements.length; --i >= 0;) { + var stat = statements[i]; + switch (true) { + case (in_lambda && stat instanceof AST_Return && !stat.value && ret.length == 0): + CHANGED = true; + // note, ret.length is probably always zero + // because we drop unreachable code before this + // step. nevertheless, it's good to check. + continue loop; + case stat instanceof AST_If: + if (stat.body instanceof AST_Return) { + //--- + // pretty silly case, but: + // if (foo()) return; return; ==> foo(); return; + if (((in_lambda && ret.length == 0) + || (ret[0] instanceof AST_Return && !ret[0].value)) + && !stat.body.value && !stat.alternative) { + CHANGED = true; + var cond = make_node(AST_SimpleStatement, stat.condition, { + body: stat.condition + }); + ret.unshift(cond); + continue loop; + } + //--- + // if (foo()) return x; return y; ==> return foo() ? x : y; + if (ret[0] instanceof AST_Return && stat.body.value && ret[0].value && !stat.alternative) { + CHANGED = true; + stat = stat.clone(); + stat.alternative = ret[0]; + ret[0] = stat.transform(compressor); + continue loop; + } + //--- + // if (foo()) return x; [ return ; ] ==> return foo() ? x : undefined; + if ((ret.length == 0 || ret[0] instanceof AST_Return) && stat.body.value && !stat.alternative && in_lambda) { + CHANGED = true; + stat = stat.clone(); + stat.alternative = ret[0] || make_node(AST_Return, stat, { + value: make_node(AST_Undefined, stat) + }); + ret[0] = stat.transform(compressor); + continue loop; + } + //--- + // if (foo()) return; [ else x... ]; y... ==> if (!foo()) { x...; y... } + if (!stat.body.value && in_lambda) { + CHANGED = true; + stat = stat.clone(); + stat.condition = stat.condition.negate(compressor); + stat.body = make_node(AST_BlockStatement, stat, { + body: as_statement_array(stat.alternative).concat(ret) + }); + stat.alternative = null; + ret = [ stat.transform(compressor) ]; + continue loop; + } + //--- + if (ret.length == 1 && in_lambda && ret[0] instanceof AST_SimpleStatement + && (!stat.alternative || stat.alternative instanceof AST_SimpleStatement)) { + CHANGED = true; + ret.push(make_node(AST_Return, ret[0], { + value: make_node(AST_Undefined, ret[0]) + }).transform(compressor)); + ret = as_statement_array(stat.alternative).concat(ret); + ret.unshift(stat); + continue loop; + } + } + + var ab = aborts(stat.body); + var lct = ab instanceof AST_LoopControl ? compressor.loopcontrol_target(ab.label) : null; + if (ab && ((ab instanceof AST_Return && !ab.value && in_lambda) + || (ab instanceof AST_Continue && self === loop_body(lct)) + || (ab instanceof AST_Break && lct instanceof AST_BlockStatement && self === lct))) { + if (ab.label) { + remove(ab.label.thedef.references, ab.label); + } + CHANGED = true; + var body = as_statement_array(stat.body).slice(0, -1); + stat = stat.clone(); + stat.condition = stat.condition.negate(compressor); + stat.body = make_node(AST_BlockStatement, stat, { + body: ret + }); + stat.alternative = make_node(AST_BlockStatement, stat, { + body: body + }); + ret = [ stat.transform(compressor) ]; + continue loop; + } + + var ab = aborts(stat.alternative); + var lct = ab instanceof AST_LoopControl ? compressor.loopcontrol_target(ab.label) : null; + if (ab && ((ab instanceof AST_Return && !ab.value && in_lambda) + || (ab instanceof AST_Continue && self === loop_body(lct)) + || (ab instanceof AST_Break && lct instanceof AST_BlockStatement && self === lct))) { + if (ab.label) { + remove(ab.label.thedef.references, ab.label); + } + CHANGED = true; + stat = stat.clone(); + stat.body = make_node(AST_BlockStatement, stat.body, { + body: as_statement_array(stat.body).concat(ret) + }); + stat.alternative = make_node(AST_BlockStatement, stat.alternative, { + body: as_statement_array(stat.alternative).slice(0, -1) + }); + ret = [ stat.transform(compressor) ]; + continue loop; + } + + ret.unshift(stat); + break; + default: + ret.unshift(stat); + break; + } + } + return ret; + }; + + function eliminate_dead_code(statements, compressor) { + var has_quit = false; + var orig = statements.length; + var self = compressor.self(); + statements = statements.reduce(function(a, stat){ + if (has_quit) { + extract_declarations_from_unreachable_code(compressor, stat, a); + } else { + if (stat instanceof AST_LoopControl) { + var lct = compressor.loopcontrol_target(stat.label); + if ((stat instanceof AST_Break + && lct instanceof AST_BlockStatement + && loop_body(lct) === self) || (stat instanceof AST_Continue + && loop_body(lct) === self)) { + if (stat.label) { + remove(stat.label.thedef.references, stat.label); + } + } else { + a.push(stat); + } + } else { + a.push(stat); + } + if (aborts(stat)) has_quit = true; + } + return a; + }, []); + CHANGED = statements.length != orig; + return statements; + }; + + function sequencesize(statements, compressor) { + if (statements.length < 2) return statements; + var seq = [], ret = []; + function push_seq() { + seq = AST_Seq.from_array(seq); + if (seq) ret.push(make_node(AST_SimpleStatement, seq, { + body: seq + })); + seq = []; + }; + statements.forEach(function(stat){ + if (stat instanceof AST_SimpleStatement) seq.push(stat.body); + else push_seq(), ret.push(stat); + }); + push_seq(); + ret = sequencesize_2(ret, compressor); + CHANGED = ret.length != statements.length; + return ret; + }; + + function sequencesize_2(statements, compressor) { + function cons_seq(right) { + ret.pop(); + var left = prev.body; + if (left instanceof AST_Seq) { + left.add(right); + } else { + left = AST_Seq.cons(left, right); + } + return left.transform(compressor); + }; + var ret = [], prev = null; + statements.forEach(function(stat){ + if (prev) { + if (stat instanceof AST_For) { + var opera = {}; + try { + prev.body.walk(new TreeWalker(function(node){ + if (node instanceof AST_Binary && node.operator == "in") + throw opera; + })); + if (stat.init && !(stat.init instanceof AST_Definitions)) { + stat.init = cons_seq(stat.init); + } + else if (!stat.init) { + stat.init = prev.body; + ret.pop(); + } + } catch(ex) { + if (ex !== opera) throw ex; + } + } + else if (stat instanceof AST_If) { + stat.condition = cons_seq(stat.condition); + } + else if (stat instanceof AST_With) { + stat.expression = cons_seq(stat.expression); + } + else if (stat instanceof AST_Exit && stat.value) { + stat.value = cons_seq(stat.value); + } + else if (stat instanceof AST_Exit) { + stat.value = cons_seq(make_node(AST_Undefined, stat)); + } + else if (stat instanceof AST_Switch) { + stat.expression = cons_seq(stat.expression); + } + } + ret.push(stat); + prev = stat instanceof AST_SimpleStatement ? stat : null; + }); + return ret; + }; + + function join_consecutive_vars(statements, compressor) { + var prev = null; + return statements.reduce(function(a, stat){ + if (stat instanceof AST_Definitions && prev && prev.TYPE == stat.TYPE) { + prev.definitions = prev.definitions.concat(stat.definitions); + CHANGED = true; + } + else if (stat instanceof AST_For + && prev instanceof AST_Definitions + && (!stat.init || stat.init.TYPE == prev.TYPE)) { + CHANGED = true; + a.pop(); + if (stat.init) { + stat.init.definitions = prev.definitions.concat(stat.init.definitions); + } else { + stat.init = prev; + } + a.push(stat); + prev = stat; + } + else { + prev = stat; + a.push(stat); + } + return a; + }, []); + }; + + }; + + function extract_declarations_from_unreachable_code(compressor, stat, target) { + compressor.warn("Dropping unreachable code [{file}:{line},{col}]", stat.start); + stat.walk(new TreeWalker(function(node){ + if (node instanceof AST_Definitions) { + compressor.warn("Declarations in unreachable code! [{file}:{line},{col}]", node.start); + node.remove_initializers(); + target.push(node); + return true; + } + if (node instanceof AST_Defun) { + target.push(node); + return true; + } + if (node instanceof AST_Scope) { + return true; + } + })); + }; + + /* -----[ boolean/negation helpers ]----- */ + + // methods to determine whether an expression has a boolean result type + (function (def){ + var unary_bool = [ "!", "delete" ]; + var binary_bool = [ "in", "instanceof", "==", "!=", "===", "!==", "<", "<=", ">=", ">" ]; + def(AST_Node, function(){ return false }); + def(AST_UnaryPrefix, function(){ + return member(this.operator, unary_bool); + }); + def(AST_Binary, function(){ + return member(this.operator, binary_bool) || + ( (this.operator == "&&" || this.operator == "||") && + this.left.is_boolean() && this.right.is_boolean() ); + }); + def(AST_Conditional, function(){ + return this.consequent.is_boolean() && this.alternative.is_boolean(); + }); + def(AST_Assign, function(){ + return this.operator == "=" && this.right.is_boolean(); + }); + def(AST_Seq, function(){ + return this.cdr.is_boolean(); + }); + def(AST_True, function(){ return true }); + def(AST_False, function(){ return true }); + })(function(node, func){ + node.DEFMETHOD("is_boolean", func); + }); + + // methods to determine if an expression has a string result type + (function (def){ + def(AST_Node, function(){ return false }); + def(AST_String, function(){ return true }); + def(AST_UnaryPrefix, function(){ + return this.operator == "typeof"; + }); + def(AST_Binary, function(compressor){ + return this.operator == "+" && + (this.left.is_string(compressor) || this.right.is_string(compressor)); + }); + def(AST_Assign, function(compressor){ + return (this.operator == "=" || this.operator == "+=") && this.right.is_string(compressor); + }); + def(AST_Seq, function(compressor){ + return this.cdr.is_string(compressor); + }); + def(AST_Conditional, function(compressor){ + return this.consequent.is_string(compressor) && this.alternative.is_string(compressor); + }); + def(AST_Call, function(compressor){ + return compressor.option("unsafe") + && this.expression instanceof AST_SymbolRef + && this.expression.name == "String" + && this.expression.undeclared(); + }); + })(function(node, func){ + node.DEFMETHOD("is_string", func); + }); + + function best_of(ast1, ast2) { + return ast1.print_to_string().length > + ast2.print_to_string().length + ? ast2 : ast1; + }; + + // methods to evaluate a constant expression + (function (def){ + // The evaluate method returns an array with one or two + // elements. If the node has been successfully reduced to a + // constant, then the second element tells us the value; + // otherwise the second element is missing. The first element + // of the array is always an AST_Node descendant; when + // evaluation was successful it's a node that represents the + // constant; otherwise it's the original node. + AST_Node.DEFMETHOD("evaluate", function(compressor){ + if (!compressor.option("evaluate")) return [ this ]; + try { + var val = this._eval(), ast = make_node_from_constant(compressor, val, this); + return [ best_of(ast, this), val ]; + } catch(ex) { + if (ex !== def) throw ex; + return [ this ]; + } + }); + def(AST_Statement, function(){ + throw new Error(string_template("Cannot evaluate a statement [{file}:{line},{col}]", this.start)); + }); + def(AST_Function, function(){ + // XXX: AST_Function inherits from AST_Scope, which itself + // inherits from AST_Statement; however, an AST_Function + // isn't really a statement. This could byte in other + // places too. :-( Wish JS had multiple inheritance. + return [ this ]; + }); + function ev(node) { + return node._eval(); + }; + def(AST_Node, function(){ + throw def; // not constant + }); + def(AST_Constant, function(){ + return this.getValue(); + }); + def(AST_UnaryPrefix, function(){ + var e = this.expression; + switch (this.operator) { + case "!": return !ev(e); + case "typeof": return typeof ev(e); + case "void": return void ev(e); + case "~": return ~ev(e); + case "-": + e = ev(e); + if (e === 0) throw def; + return -e; + case "+": return +ev(e); + } + throw def; + }); + def(AST_Binary, function(){ + var left = this.left, right = this.right; + switch (this.operator) { + case "&&" : return ev(left) && ev(right); + case "||" : return ev(left) || ev(right); + case "|" : return ev(left) | ev(right); + case "&" : return ev(left) & ev(right); + case "^" : return ev(left) ^ ev(right); + case "+" : return ev(left) + ev(right); + case "*" : return ev(left) * ev(right); + case "/" : return ev(left) / ev(right); + case "%" : return ev(left) % ev(right); + case "-" : return ev(left) - ev(right); + case "<<" : return ev(left) << ev(right); + case ">>" : return ev(left) >> ev(right); + case ">>>" : return ev(left) >>> ev(right); + case "==" : return ev(left) == ev(right); + case "===" : return ev(left) === ev(right); + case "!=" : return ev(left) != ev(right); + case "!==" : return ev(left) !== ev(right); + case "<" : return ev(left) < ev(right); + case "<=" : return ev(left) <= ev(right); + case ">" : return ev(left) > ev(right); + case ">=" : return ev(left) >= ev(right); + case "in" : return ev(left) in ev(right); + case "instanceof" : return ev(left) instanceof ev(right); + } + throw def; + }); + def(AST_Conditional, function(){ + return ev(this.condition) + ? ev(this.consequent) + : ev(this.alternative); + }); + def(AST_SymbolRef, function(){ + var d = this.definition(); + if (d && d.constant && d.init) return ev(d.init); + throw def; + }); + })(function(node, func){ + node.DEFMETHOD("_eval", func); + }); + + // method to negate an expression + (function(def){ + function basic_negation(exp) { + return make_node(AST_UnaryPrefix, exp, { + operator: "!", + expression: exp + }); + }; + def(AST_Node, function(){ + return basic_negation(this); + }); + def(AST_Statement, function(){ + throw new Error("Cannot negate a statement"); + }); + def(AST_Function, function(){ + return basic_negation(this); + }); + def(AST_UnaryPrefix, function(){ + if (this.operator == "!") + return this.expression; + return basic_negation(this); + }); + def(AST_Seq, function(compressor){ + var self = this.clone(); + self.cdr = self.cdr.negate(compressor); + return self; + }); + def(AST_Conditional, function(compressor){ + var self = this.clone(); + self.consequent = self.consequent.negate(compressor); + self.alternative = self.alternative.negate(compressor); + return best_of(basic_negation(this), self); + }); + def(AST_Binary, function(compressor){ + var self = this.clone(), op = this.operator; + if (compressor.option("unsafe_comps")) { + switch (op) { + case "<=" : self.operator = ">" ; return self; + case "<" : self.operator = ">=" ; return self; + case ">=" : self.operator = "<" ; return self; + case ">" : self.operator = "<=" ; return self; + } + } + switch (op) { + case "==" : self.operator = "!="; return self; + case "!=" : self.operator = "=="; return self; + case "===": self.operator = "!=="; return self; + case "!==": self.operator = "==="; return self; + case "&&": + self.operator = "||"; + self.left = self.left.negate(compressor); + self.right = self.right.negate(compressor); + return best_of(basic_negation(this), self); + case "||": + self.operator = "&&"; + self.left = self.left.negate(compressor); + self.right = self.right.negate(compressor); + return best_of(basic_negation(this), self); + } + return basic_negation(this); + }); + })(function(node, func){ + node.DEFMETHOD("negate", function(compressor){ + return func.call(this, compressor); + }); + }); + + // determine if expression has side effects + (function(def){ + def(AST_Node, function(){ return true }); + + def(AST_EmptyStatement, function(){ return false }); + def(AST_Constant, function(){ return false }); + def(AST_This, function(){ return false }); + + def(AST_Block, function(){ + for (var i = this.body.length; --i >= 0;) { + if (this.body[i].has_side_effects()) + return true; + } + return false; + }); + + def(AST_SimpleStatement, function(){ + return this.body.has_side_effects(); + }); + def(AST_Defun, function(){ return true }); + def(AST_Function, function(){ return false }); + def(AST_Binary, function(){ + return this.left.has_side_effects() + || this.right.has_side_effects(); + }); + def(AST_Assign, function(){ return true }); + def(AST_Conditional, function(){ + return this.condition.has_side_effects() + || this.consequent.has_side_effects() + || this.alternative.has_side_effects(); + }); + def(AST_Unary, function(){ + return this.operator == "delete" + || this.operator == "++" + || this.operator == "--" + || this.expression.has_side_effects(); + }); + def(AST_SymbolRef, function(){ return false }); + def(AST_Object, function(){ + for (var i = this.properties.length; --i >= 0;) + if (this.properties[i].has_side_effects()) + return true; + return false; + }); + def(AST_ObjectProperty, function(){ + return this.value.has_side_effects(); + }); + def(AST_Array, function(){ + for (var i = this.elements.length; --i >= 0;) + if (this.elements[i].has_side_effects()) + return true; + return false; + }); + // def(AST_Dot, function(){ + // return this.expression.has_side_effects(); + // }); + // def(AST_Sub, function(){ + // return this.expression.has_side_effects() + // || this.property.has_side_effects(); + // }); + def(AST_PropAccess, function(){ + return true; + }); + def(AST_Seq, function(){ + return this.car.has_side_effects() + || this.cdr.has_side_effects(); + }); + })(function(node, func){ + node.DEFMETHOD("has_side_effects", func); + }); + + // tell me if a statement aborts + function aborts(thing) { + return thing && thing.aborts(); + }; + (function(def){ + def(AST_Statement, function(){ return null }); + def(AST_Jump, function(){ return this }); + function block_aborts(){ + var n = this.body.length; + return n > 0 && aborts(this.body[n - 1]); + }; + def(AST_BlockStatement, block_aborts); + def(AST_SwitchBranch, block_aborts); + def(AST_If, function(){ + return this.alternative && aborts(this.body) && aborts(this.alternative); + }); + })(function(node, func){ + node.DEFMETHOD("aborts", func); + }); + + /* -----[ optimizers ]----- */ + + OPT(AST_Directive, function(self, compressor){ + if (self.scope.has_directive(self.value) !== self.scope) { + return make_node(AST_EmptyStatement, self); + } + return self; + }); + + OPT(AST_Debugger, function(self, compressor){ + if (compressor.option("drop_debugger")) + return make_node(AST_EmptyStatement, self); + return self; + }); + + OPT(AST_LabeledStatement, function(self, compressor){ + if (self.body instanceof AST_Break + && compressor.loopcontrol_target(self.body.label) === self.body) { + return make_node(AST_EmptyStatement, self); + } + return self.label.references.length == 0 ? self.body : self; + }); + + OPT(AST_Block, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + OPT(AST_BlockStatement, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + switch (self.body.length) { + case 1: return self.body[0]; + case 0: return make_node(AST_EmptyStatement, self); + } + return self; + }); + + AST_Scope.DEFMETHOD("drop_unused", function(compressor){ + var self = this; + if (compressor.option("unused") + && !(self instanceof AST_Toplevel) + && !self.uses_eval + ) { + var in_use = []; + var initializations = new Dictionary(); + // pass 1: find out which symbols are directly used in + // this scope (not in nested scopes). + var scope = this; + var tw = new TreeWalker(function(node, descend){ + if (node !== self) { + if (node instanceof AST_Defun) { + initializations.add(node.name.name, node); + return true; // don't go in nested scopes + } + if (node instanceof AST_Definitions && scope === self) { + node.definitions.forEach(function(def){ + if (def.value) { + initializations.add(def.name.name, def.value); + if (def.value.has_side_effects()) { + def.value.walk(tw); + } + } + }); + return true; + } + if (node instanceof AST_SymbolRef) { + push_uniq(in_use, node.definition()); + return true; + } + if (node instanceof AST_Scope) { + var save_scope = scope; + scope = node; + descend(); + scope = save_scope; + return true; + } + } + }); + self.walk(tw); + // pass 2: for every used symbol we need to walk its + // initialization code to figure out if it uses other + // symbols (that may not be in_use). + for (var i = 0; i < in_use.length; ++i) { + in_use[i].orig.forEach(function(decl){ + // undeclared globals will be instanceof AST_SymbolRef + var init = initializations.get(decl.name); + if (init) init.forEach(function(init){ + var tw = new TreeWalker(function(node){ + if (node instanceof AST_SymbolRef) { + push_uniq(in_use, node.definition()); + } + }); + init.walk(tw); + }); + }); + } + // pass 3: we should drop declarations not in_use + var tt = new TreeTransformer( + function before(node, descend, in_list) { + if (node instanceof AST_Lambda) { + for (var a = node.argnames, i = a.length; --i >= 0;) { + var sym = a[i]; + if (sym.unreferenced()) { + a.pop(); + compressor.warn("Dropping unused function argument {name} [{file}:{line},{col}]", { + name : sym.name, + file : sym.start.file, + line : sym.start.line, + col : sym.start.col + }); + } + else break; + } + } + if (node instanceof AST_Defun && node !== self) { + if (!member(node.name.definition(), in_use)) { + compressor.warn("Dropping unused function {name} [{file}:{line},{col}]", { + name : node.name.name, + file : node.name.start.file, + line : node.name.start.line, + col : node.name.start.col + }); + return make_node(AST_EmptyStatement, node); + } + return node; + } + if (node instanceof AST_Definitions && !(tt.parent() instanceof AST_ForIn)) { + var def = node.definitions.filter(function(def){ + if (member(def.name.definition(), in_use)) return true; + var w = { + name : def.name.name, + file : def.name.start.file, + line : def.name.start.line, + col : def.name.start.col + }; + if (def.value && def.value.has_side_effects()) { + def._unused_side_effects = true; + compressor.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]", w); + return true; + } + compressor.warn("Dropping unused variable {name} [{file}:{line},{col}]", w); + return false; + }); + // place uninitialized names at the start + def = mergeSort(def, function(a, b){ + if (!a.value && b.value) return -1; + if (!b.value && a.value) return 1; + return 0; + }); + // for unused names whose initialization has + // side effects, we can cascade the init. code + // into the next one, or next statement. + var side_effects = []; + for (var i = 0; i < def.length;) { + var x = def[i]; + if (x._unused_side_effects) { + side_effects.push(x.value); + def.splice(i, 1); + } else { + if (side_effects.length > 0) { + side_effects.push(x.value); + x.value = AST_Seq.from_array(side_effects); + side_effects = []; + } + ++i; + } + } + if (side_effects.length > 0) { + side_effects = make_node(AST_BlockStatement, node, { + body: [ make_node(AST_SimpleStatement, node, { + body: AST_Seq.from_array(side_effects) + }) ] + }); + } else { + side_effects = null; + } + if (def.length == 0 && !side_effects) { + return make_node(AST_EmptyStatement, node); + } + if (def.length == 0) { + return side_effects; + } + node.definitions = def; + if (side_effects) { + side_effects.body.unshift(node); + node = side_effects; + } + return node; + } + if (node instanceof AST_For && node.init instanceof AST_BlockStatement) { + descend(node, this); + // certain combination of unused name + side effect leads to: + // https://github.com/mishoo/UglifyJS2/issues/44 + // that's an invalid AST. + // We fix it at this stage by moving the `var` outside the `for`. + var body = node.init.body.slice(0, -1); + node.init = node.init.body.slice(-1)[0].body; + body.push(node); + return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, { + body: body + }); + } + if (node instanceof AST_Scope && node !== self) + return node; + } + ); + self.transform(tt); + } + }); + + AST_Scope.DEFMETHOD("hoist_declarations", function(compressor){ + var hoist_funs = compressor.option("hoist_funs"); + var hoist_vars = compressor.option("hoist_vars"); + var self = this; + if (hoist_funs || hoist_vars) { + var dirs = []; + var hoisted = []; + var vars = new Dictionary(), vars_found = 0, var_decl = 0; + // let's count var_decl first, we seem to waste a lot of + // space if we hoist `var` when there's only one. + self.walk(new TreeWalker(function(node){ + if (node instanceof AST_Scope && node !== self) + return true; + if (node instanceof AST_Var) { + ++var_decl; + return true; + } + })); + hoist_vars = hoist_vars && var_decl > 1; + var tt = new TreeTransformer( + function before(node) { + if (node !== self) { + if (node instanceof AST_Directive) { + dirs.push(node); + return make_node(AST_EmptyStatement, node); + } + if (node instanceof AST_Defun && hoist_funs) { + hoisted.push(node); + return make_node(AST_EmptyStatement, node); + } + if (node instanceof AST_Var && hoist_vars) { + node.definitions.forEach(function(def){ + vars.set(def.name.name, def); + ++vars_found; + }); + var seq = node.to_assignments(); + var p = tt.parent(); + if (p instanceof AST_ForIn && p.init === node) { + if (seq == null) return node.definitions[0].name; + return seq; + } + if (p instanceof AST_For && p.init === node) { + return seq; + } + if (!seq) return make_node(AST_EmptyStatement, node); + return make_node(AST_SimpleStatement, node, { + body: seq + }); + } + if (node instanceof AST_Scope) + return node; // to avoid descending in nested scopes + } + } + ); + self = self.transform(tt); + if (vars_found > 0) { + // collect only vars which don't show up in self's arguments list + var defs = []; + vars.each(function(def, name){ + if (self instanceof AST_Lambda + && find_if(function(x){ return x.name == def.name.name }, + self.argnames)) { + vars.del(name); + } else { + def = def.clone(); + def.value = null; + defs.push(def); + vars.set(name, def); + } + }); + if (defs.length > 0) { + // try to merge in assignments + for (var i = 0; i < self.body.length;) { + if (self.body[i] instanceof AST_SimpleStatement) { + var expr = self.body[i].body, sym, assign; + if (expr instanceof AST_Assign + && expr.operator == "=" + && (sym = expr.left) instanceof AST_Symbol + && vars.has(sym.name)) + { + var def = vars.get(sym.name); + if (def.value) break; + def.value = expr.right; + remove(defs, def); + defs.push(def); + self.body.splice(i, 1); + continue; + } + if (expr instanceof AST_Seq + && (assign = expr.car) instanceof AST_Assign + && assign.operator == "=" + && (sym = assign.left) instanceof AST_Symbol + && vars.has(sym.name)) + { + var def = vars.get(sym.name); + if (def.value) break; + def.value = assign.right; + remove(defs, def); + defs.push(def); + self.body[i].body = expr.cdr; + continue; + } + } + if (self.body[i] instanceof AST_EmptyStatement) { + self.body.splice(i, 1); + continue; + } + if (self.body[i] instanceof AST_BlockStatement) { + var tmp = [ i, 1 ].concat(self.body[i].body); + self.body.splice.apply(self.body, tmp); + continue; + } + break; + } + defs = make_node(AST_Var, self, { + definitions: defs + }); + hoisted.push(defs); + }; + } + self.body = dirs.concat(hoisted, self.body); + } + return self; + }); + + OPT(AST_SimpleStatement, function(self, compressor){ + if (compressor.option("side_effects")) { + if (!self.body.has_side_effects()) { + compressor.warn("Dropping side-effect-free statement [{file}:{line},{col}]", self.start); + return make_node(AST_EmptyStatement, self); + } + } + return self; + }); + + OPT(AST_DWLoop, function(self, compressor){ + var cond = self.condition.evaluate(compressor); + self.condition = cond[0]; + if (!compressor.option("loops")) return self; + if (cond.length > 1) { + if (cond[1]) { + return make_node(AST_For, self, { + body: self.body + }); + } else if (self instanceof AST_While) { + if (compressor.option("dead_code")) { + var a = []; + extract_declarations_from_unreachable_code(compressor, self.body, a); + return make_node(AST_BlockStatement, self, { body: a }); + } + } else { + return self.body; + } + } + return self; + }); + + function if_break_in_loop(self, compressor) { + function drop_it(rest) { + rest = as_statement_array(rest); + if (self.body instanceof AST_BlockStatement) { + self.body = self.body.clone(); + self.body.body = rest.concat(self.body.body.slice(1)); + self.body = self.body.transform(compressor); + } else { + self.body = make_node(AST_BlockStatement, self.body, { + body: rest + }).transform(compressor); + } + if_break_in_loop(self, compressor); + } + var first = self.body instanceof AST_BlockStatement ? self.body.body[0] : self.body; + if (first instanceof AST_If) { + if (first.body instanceof AST_Break + && compressor.loopcontrol_target(first.body.label) === self) { + if (self.condition) { + self.condition = make_node(AST_Binary, self.condition, { + left: self.condition, + operator: "&&", + right: first.condition.negate(compressor), + }); + } else { + self.condition = first.condition.negate(compressor); + } + drop_it(first.alternative); + } + else if (first.alternative instanceof AST_Break + && compressor.loopcontrol_target(first.alternative.label) === self) { + if (self.condition) { + self.condition = make_node(AST_Binary, self.condition, { + left: self.condition, + operator: "&&", + right: first.condition, + }); + } else { + self.condition = first.condition; + } + drop_it(first.body); + } + } + }; + + OPT(AST_While, function(self, compressor) { + if (!compressor.option("loops")) return self; + self = AST_DWLoop.prototype.optimize.call(self, compressor); + if (self instanceof AST_While) { + if_break_in_loop(self, compressor); + self = make_node(AST_For, self, self).transform(compressor); + } + return self; + }); + + OPT(AST_For, function(self, compressor){ + var cond = self.condition; + if (cond) { + cond = cond.evaluate(compressor); + self.condition = cond[0]; + } + if (!compressor.option("loops")) return self; + if (cond) { + if (cond.length > 1 && !cond[1]) { + if (compressor.option("dead_code")) { + var a = []; + if (self.init instanceof AST_Statement) { + a.push(self.init); + } + else if (self.init) { + a.push(make_node(AST_SimpleStatement, self.init, { + body: self.init + })); + } + extract_declarations_from_unreachable_code(compressor, self.body, a); + return make_node(AST_BlockStatement, self, { body: a }); + } + } + } + if_break_in_loop(self, compressor); + return self; + }); + + OPT(AST_If, function(self, compressor){ + if (!compressor.option("conditionals")) return self; + // if condition can be statically determined, warn and drop + // one of the blocks. note, statically determined implies + // “has no side effects”; also it doesn't work for cases like + // `x && true`, though it probably should. + var cond = self.condition.evaluate(compressor); + self.condition = cond[0]; + if (cond.length > 1) { + if (cond[1]) { + compressor.warn("Condition always true [{file}:{line},{col}]", self.condition.start); + if (compressor.option("dead_code")) { + var a = []; + if (self.alternative) { + extract_declarations_from_unreachable_code(compressor, self.alternative, a); + } + a.push(self.body); + return make_node(AST_BlockStatement, self, { body: a }).transform(compressor); + } + } else { + compressor.warn("Condition always false [{file}:{line},{col}]", self.condition.start); + if (compressor.option("dead_code")) { + var a = []; + extract_declarations_from_unreachable_code(compressor, self.body, a); + if (self.alternative) a.push(self.alternative); + return make_node(AST_BlockStatement, self, { body: a }).transform(compressor); + } + } + } + if (is_empty(self.alternative)) self.alternative = null; + var negated = self.condition.negate(compressor); + var negated_is_best = best_of(self.condition, negated) === negated; + if (self.alternative && negated_is_best) { + negated_is_best = false; // because we already do the switch here. + self.condition = negated; + var tmp = self.body; + self.body = self.alternative || make_node(AST_EmptyStatement); + self.alternative = tmp; + } + if (is_empty(self.body) && is_empty(self.alternative)) { + return make_node(AST_SimpleStatement, self.condition, { + body: self.condition + }).transform(compressor); + } + if (self.body instanceof AST_SimpleStatement + && self.alternative instanceof AST_SimpleStatement) { + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Conditional, self, { + condition : self.condition, + consequent : self.body.body, + alternative : self.alternative.body + }) + }).transform(compressor); + } + if (is_empty(self.alternative) && self.body instanceof AST_SimpleStatement) { + if (negated_is_best) return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "||", + left : negated, + right : self.body.body + }) + }).transform(compressor); + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "&&", + left : self.condition, + right : self.body.body + }) + }).transform(compressor); + } + if (self.body instanceof AST_EmptyStatement + && self.alternative + && self.alternative instanceof AST_SimpleStatement) { + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "||", + left : self.condition, + right : self.alternative.body + }) + }).transform(compressor); + } + if (self.body instanceof AST_Exit + && self.alternative instanceof AST_Exit + && self.body.TYPE == self.alternative.TYPE) { + return make_node(self.body.CTOR, self, { + value: make_node(AST_Conditional, self, { + condition : self.condition, + consequent : self.body.value || make_node(AST_Undefined, self.body).optimize(compressor), + alternative : self.alternative.value || make_node(AST_Undefined, self.alternative).optimize(compressor) + }) + }).transform(compressor); + } + if (self.body instanceof AST_If + && !self.body.alternative + && !self.alternative) { + self.condition = make_node(AST_Binary, self.condition, { + operator: "&&", + left: self.condition, + right: self.body.condition + }).transform(compressor); + self.body = self.body.body; + } + if (aborts(self.body)) { + if (self.alternative) { + var alt = self.alternative; + self.alternative = null; + return make_node(AST_BlockStatement, self, { + body: [ self, alt ] + }).transform(compressor); + } + } + if (aborts(self.alternative)) { + var body = self.body; + self.body = self.alternative; + self.condition = negated_is_best ? negated : self.condition.negate(compressor); + self.alternative = null; + return make_node(AST_BlockStatement, self, { + body: [ self, body ] + }).transform(compressor); + } + return self; + }); + + OPT(AST_Switch, function(self, compressor){ + if (self.body.length == 0 && compressor.option("conditionals")) { + return make_node(AST_SimpleStatement, self, { + body: self.expression + }).transform(compressor); + } + var last_branch = self.body[self.body.length - 1]; + if (last_branch) { + var stat = last_branch.body[last_branch.body.length - 1]; // last statement + if (stat instanceof AST_Break && loop_body(compressor.loopcontrol_target(stat.label)) === self) + last_branch.body.pop(); + } + var exp = self.expression.evaluate(compressor); + out: if (exp.length == 2) try { + // constant expression + self.expression = exp[0]; + if (!compressor.option("dead_code")) break out; + var value = exp[1]; + var in_if = false; + var in_block = false; + var started = false; + var stopped = false; + var ruined = false; + var tt = new TreeTransformer(function(node, descend, in_list){ + if (node instanceof AST_Lambda || node instanceof AST_SimpleStatement) { + // no need to descend these node types + return node; + } + else if (node instanceof AST_Switch && node === self) { + node = node.clone(); + descend(node, this); + return ruined ? node : make_node(AST_BlockStatement, node, { + body: node.body.reduce(function(a, branch){ + return a.concat(branch.body); + }, []) + }).transform(compressor); + } + else if (node instanceof AST_If || node instanceof AST_Try) { + var save = in_if; + in_if = !in_block; + descend(node, this); + in_if = save; + return node; + } + else if (node instanceof AST_StatementWithBody || node instanceof AST_Switch) { + var save = in_block; + in_block = true; + descend(node, this); + in_block = save; + return node; + } + else if (node instanceof AST_Break && this.loopcontrol_target(node.label) === self) { + if (in_if) { + ruined = true; + return node; + } + if (in_block) return node; + stopped = true; + return in_list ? MAP.skip : make_node(AST_EmptyStatement, node); + } + else if (node instanceof AST_SwitchBranch && this.parent() === self) { + if (stopped) return MAP.skip; + if (node instanceof AST_Case) { + var exp = node.expression.evaluate(compressor); + if (exp.length < 2) { + // got a case with non-constant expression, baling out + throw self; + } + if (exp[1] === value || started) { + started = true; + if (aborts(node)) stopped = true; + descend(node, this); + return node; + } + return MAP.skip; + } + descend(node, this); + return node; + } + }); + tt.stack = compressor.stack.slice(); // so that's able to see parent nodes + self = self.transform(tt); + } catch(ex) { + if (ex !== self) throw ex; + } + return self; + }); + + OPT(AST_Case, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + OPT(AST_Try, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + AST_Definitions.DEFMETHOD("remove_initializers", function(){ + this.definitions.forEach(function(def){ def.value = null }); + }); + + AST_Definitions.DEFMETHOD("to_assignments", function(){ + var assignments = this.definitions.reduce(function(a, def){ + if (def.value) { + var name = make_node(AST_SymbolRef, def.name, def.name); + a.push(make_node(AST_Assign, def, { + operator : "=", + left : name, + right : def.value + })); + } + return a; + }, []); + if (assignments.length == 0) return null; + return AST_Seq.from_array(assignments); + }); + + OPT(AST_Definitions, function(self, compressor){ + if (self.definitions.length == 0) + return make_node(AST_EmptyStatement, self); + return self; + }); + + OPT(AST_Function, function(self, compressor){ + self = AST_Lambda.prototype.optimize.call(self, compressor); + if (compressor.option("unused")) { + if (self.name && self.name.unreferenced()) { + self.name = null; + } + } + return self; + }); + + OPT(AST_Call, function(self, compressor){ + if (compressor.option("unsafe")) { + var exp = self.expression; + if (exp instanceof AST_SymbolRef && exp.undeclared()) { + switch (exp.name) { + case "Array": + if (self.args.length != 1) { + return make_node(AST_Array, self, { + elements: self.args + }); + } + break; + case "Object": + if (self.args.length == 0) { + return make_node(AST_Object, self, { + properties: [] + }); + } + break; + case "String": + if (self.args.length == 0) return make_node(AST_String, self, { + value: "" + }); + return make_node(AST_Binary, self, { + left: self.args[0], + operator: "+", + right: make_node(AST_String, self, { value: "" }) + }); + } + } + else if (exp instanceof AST_Dot && exp.property == "toString" && self.args.length == 0) { + return make_node(AST_Binary, self, { + left: make_node(AST_String, self, { value: "" }), + operator: "+", + right: exp.expression + }).transform(compressor); + } + } + if (compressor.option("side_effects")) { + if (self.expression instanceof AST_Function + && self.args.length == 0 + && !AST_Block.prototype.has_side_effects.call(self.expression)) { + return make_node(AST_Undefined, self).transform(compressor); + } + } + return self; + }); + + OPT(AST_New, function(self, compressor){ + if (compressor.option("unsafe")) { + var exp = self.expression; + if (exp instanceof AST_SymbolRef && exp.undeclared()) { + switch (exp.name) { + case "Object": + case "RegExp": + case "Function": + case "Error": + case "Array": + return make_node(AST_Call, self, self).transform(compressor); + } + } + } + return self; + }); + + OPT(AST_Seq, function(self, compressor){ + if (!compressor.option("side_effects")) + return self; + if (!self.car.has_side_effects()) { + // we shouldn't compress (1,eval)(something) to + // eval(something) because that changes the meaning of + // eval (becomes lexical instead of global). + var p; + if (!(self.cdr instanceof AST_SymbolRef + && self.cdr.name == "eval" + && self.cdr.undeclared() + && (p = compressor.parent()) instanceof AST_Call + && p.expression === self)) { + return self.cdr; + } + } + if (compressor.option("cascade")) { + if (self.car instanceof AST_Assign + && !self.car.left.has_side_effects() + && self.car.left.equivalent_to(self.cdr)) { + return self.car; + } + if (!self.car.has_side_effects() + && !self.cdr.has_side_effects() + && self.car.equivalent_to(self.cdr)) { + return self.car; + } + } + return self; + }); + + AST_Unary.DEFMETHOD("lift_sequences", function(compressor){ + if (compressor.option("sequences")) { + if (this.expression instanceof AST_Seq) { + var seq = this.expression; + var x = seq.to_array(); + this.expression = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + } + return this; + }); + + OPT(AST_UnaryPostfix, function(self, compressor){ + return self.lift_sequences(compressor); + }); + + OPT(AST_UnaryPrefix, function(self, compressor){ + self = self.lift_sequences(compressor); + var e = self.expression; + if (compressor.option("booleans") && compressor.in_boolean_context()) { + switch (self.operator) { + case "!": + if (e instanceof AST_UnaryPrefix && e.operator == "!") { + // !!foo ==> foo, if we're in boolean context + return e.expression; + } + break; + case "typeof": + // typeof always returns a non-empty string, thus it's + // always true in booleans + compressor.warn("Boolean expression always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + if (e instanceof AST_Binary && self.operator == "!") { + self = best_of(self, e.negate(compressor)); + } + } + return self.evaluate(compressor)[0]; + }); + + AST_Binary.DEFMETHOD("lift_sequences", function(compressor){ + if (compressor.option("sequences")) { + if (this.left instanceof AST_Seq) { + var seq = this.left; + var x = seq.to_array(); + this.left = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + if (this.right instanceof AST_Seq + && !(this.operator == "||" || this.operator == "&&") + && !this.left.has_side_effects()) { + var seq = this.right; + var x = seq.to_array(); + this.right = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + } + return this; + }); + + var commutativeOperators = makePredicate("== === != !== * & | ^"); + + OPT(AST_Binary, function(self, compressor){ + function reverse(op) { + if (!(self.left.has_side_effects() && self.right.has_side_effects())) { + if (op) self.operator = op; + var tmp = self.left; + self.left = self.right; + self.right = tmp; + } + }; + if (commutativeOperators(self.operator)) { + if (self.right instanceof AST_Constant + && !(self.left instanceof AST_Constant)) { + reverse(); + } + } + self = self.lift_sequences(compressor); + if (compressor.option("comparisons")) switch (self.operator) { + case "===": + case "!==": + if ((self.left.is_string(compressor) && self.right.is_string(compressor)) || + (self.left.is_boolean() && self.right.is_boolean())) { + self.operator = self.operator.substr(0, 2); + } + // XXX: intentionally falling down to the next case + case "==": + case "!=": + if (self.left instanceof AST_String + && self.left.value == "undefined" + && self.right instanceof AST_UnaryPrefix + && self.right.operator == "typeof" + && compressor.option("unsafe")) { + if (!(self.right.expression instanceof AST_SymbolRef) + || !self.right.expression.undeclared()) { + self.left = self.right.expression; + self.right = make_node(AST_Undefined, self.left).optimize(compressor); + if (self.operator.length == 2) self.operator += "="; + } + } + break; + } + if (compressor.option("booleans") && compressor.in_boolean_context()) switch (self.operator) { + case "&&": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && !ll[1]) || (rr.length > 1 && !rr[1])) { + compressor.warn("Boolean && always false [{file}:{line},{col}]", self.start); + return make_node(AST_False, self); + } + if (ll.length > 1 && ll[1]) { + return rr[0]; + } + if (rr.length > 1 && rr[1]) { + return ll[0]; + } + break; + case "||": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && ll[1]) || (rr.length > 1 && rr[1])) { + compressor.warn("Boolean || always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + if (ll.length > 1 && !ll[1]) { + return rr[0]; + } + if (rr.length > 1 && !rr[1]) { + return ll[0]; + } + break; + case "+": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && ll[0] instanceof AST_String && ll[1]) || + (rr.length > 1 && rr[0] instanceof AST_String && rr[1])) { + compressor.warn("+ in boolean context always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + break; + } + var exp = self.evaluate(compressor); + if (exp.length > 1) { + if (best_of(exp[0], self) !== self) + return exp[0]; + } + if (compressor.option("comparisons")) { + if (!(compressor.parent() instanceof AST_Binary) + || compressor.parent() instanceof AST_Assign) { + var negated = make_node(AST_UnaryPrefix, self, { + operator: "!", + expression: self.negate(compressor) + }); + self = best_of(self, negated); + } + switch (self.operator) { + case "<": reverse(">"); break; + case "<=": reverse(">="); break; + } + } + if (self.operator == "+" && self.right instanceof AST_String + && self.right.getValue() === "" && self.left instanceof AST_Binary + && self.left.operator == "+" && self.left.is_string(compressor)) { + return self.left; + } + return self; + }); + + OPT(AST_SymbolRef, function(self, compressor){ + if (self.undeclared()) { + var defines = compressor.option("global_defs"); + if (defines && defines.hasOwnProperty(self.name)) { + return make_node_from_constant(compressor, defines[self.name], self); + } + switch (self.name) { + case "undefined": + return make_node(AST_Undefined, self); + case "NaN": + return make_node(AST_NaN, self); + case "Infinity": + return make_node(AST_Infinity, self); + } + } + return self; + }); + + OPT(AST_Undefined, function(self, compressor){ + if (compressor.option("unsafe")) { + var scope = compressor.find_parent(AST_Scope); + var undef = scope.find_variable("undefined"); + if (undef) { + var ref = make_node(AST_SymbolRef, self, { + name : "undefined", + scope : scope, + thedef : undef + }); + ref.reference(); + return ref; + } + } + return self; + }); + + var ASSIGN_OPS = [ '+', '-', '/', '*', '%', '>>', '<<', '>>>', '|', '^', '&' ]; + OPT(AST_Assign, function(self, compressor){ + self = self.lift_sequences(compressor); + if (self.operator == "=" + && self.left instanceof AST_SymbolRef + && self.right instanceof AST_Binary + && self.right.left instanceof AST_SymbolRef + && self.right.left.name == self.left.name + && member(self.right.operator, ASSIGN_OPS)) { + self.operator = self.right.operator + "="; + self.right = self.right.right; + } + return self; + }); + + OPT(AST_Conditional, function(self, compressor){ + if (!compressor.option("conditionals")) return self; + if (self.condition instanceof AST_Seq) { + var car = self.condition.car; + self.condition = self.condition.cdr; + return AST_Seq.cons(car, self); + } + var cond = self.condition.evaluate(compressor); + if (cond.length > 1) { + if (cond[1]) { + compressor.warn("Condition always true [{file}:{line},{col}]", self.start); + return self.consequent; + } else { + compressor.warn("Condition always false [{file}:{line},{col}]", self.start); + return self.alternative; + } + } + var negated = cond[0].negate(compressor); + if (best_of(cond[0], negated) === negated) { + self = make_node(AST_Conditional, self, { + condition: negated, + consequent: self.alternative, + alternative: self.consequent + }); + } + var consequent = self.consequent; + var alternative = self.alternative; + if (consequent instanceof AST_Assign + && alternative instanceof AST_Assign + && consequent.operator == alternative.operator + && consequent.left.equivalent_to(alternative.left) + ) { + /* + * Stuff like this: + * if (foo) exp = something; else exp = something_else; + * ==> + * exp = foo ? something : something_else; + */ + self = make_node(AST_Assign, self, { + operator: consequent.operator, + left: consequent.left, + right: make_node(AST_Conditional, self, { + condition: self.condition, + consequent: consequent.right, + alternative: alternative.right + }) + }); + } + return self; + }); + + OPT(AST_Boolean, function(self, compressor){ + if (compressor.option("booleans")) { + var p = compressor.parent(); + if (p instanceof AST_Binary && (p.operator == "==" + || p.operator == "!=")) { + compressor.warn("Non-strict equality against boolean: {operator} {value} [{file}:{line},{col}]", { + operator : p.operator, + value : self.value, + file : p.start.file, + line : p.start.line, + col : p.start.col, + }); + return make_node(AST_Number, self, { + value: +self.value + }); + } + return make_node(AST_UnaryPrefix, self, { + operator: "!", + expression: make_node(AST_Number, self, { + value: 1 - self.value + }) + }); + } + return self; + }); + + OPT(AST_Sub, function(self, compressor){ + var prop = self.property; + if (prop instanceof AST_String && compressor.option("properties")) { + prop = prop.getValue(); + if (is_identifier(prop)) { + return make_node(AST_Dot, self, { + expression : self.expression, + property : prop + }); + } + } + return self; + }); + + function literals_in_boolean_context(self, compressor) { + if (compressor.option("booleans") && compressor.in_boolean_context()) { + return make_node(AST_True, self); + } + return self; + }; + OPT(AST_Array, literals_in_boolean_context); + OPT(AST_Object, literals_in_boolean_context); + OPT(AST_RegExp, literals_in_boolean_context); + +})(); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/mozilla-ast.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/mozilla-ast.js new file mode 100644 index 0000000..982d621 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/mozilla-ast.js @@ -0,0 +1,265 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +(function(){ + + var MOZ_TO_ME = { + TryStatement : function(M) { + return new AST_Try({ + start : my_start_token(M), + end : my_end_token(M), + body : from_moz(M.block).body, + bcatch : from_moz(M.handlers[0]), + bfinally : M.finalizer ? new AST_Finally(from_moz(M.finalizer)) : null + }); + }, + CatchClause : function(M) { + return new AST_Catch({ + start : my_start_token(M), + end : my_end_token(M), + argname : from_moz(M.param), + body : from_moz(M.body).body + }); + }, + ObjectExpression : function(M) { + return new AST_Object({ + start : my_start_token(M), + end : my_end_token(M), + properties : M.properties.map(function(prop){ + var key = prop.key; + var name = key.type == "Identifier" ? key.name : key.value; + var args = { + start : my_start_token(key), + end : my_end_token(prop.value), + key : name, + value : from_moz(prop.value) + }; + switch (prop.kind) { + case "init": + return new AST_ObjectKeyVal(args); + case "set": + args.value.name = from_moz(key); + return new AST_ObjectSetter(args); + case "get": + args.value.name = from_moz(key); + return new AST_ObjectGetter(args); + } + }) + }); + }, + SequenceExpression : function(M) { + return AST_Seq.from_array(M.expressions.map(from_moz)); + }, + MemberExpression : function(M) { + return new (M.computed ? AST_Sub : AST_Dot)({ + start : my_start_token(M), + end : my_end_token(M), + property : M.computed ? from_moz(M.property) : M.property.name, + expression : from_moz(M.object) + }); + }, + SwitchCase : function(M) { + return new (M.test ? AST_Case : AST_Default)({ + start : my_start_token(M), + end : my_end_token(M), + expression : from_moz(M.test), + body : M.consequent.map(from_moz) + }); + }, + Literal : function(M) { + var val = M.value, args = { + start : my_start_token(M), + end : my_end_token(M) + }; + if (val === null) return new AST_Null(args); + switch (typeof val) { + case "string": + args.value = val; + return new AST_String(args); + case "number": + args.value = val; + return new AST_Number(args); + case "boolean": + return new (val ? AST_True : AST_False)(args); + default: + args.value = val; + return new AST_RegExp(args); + } + }, + UnaryExpression: From_Moz_Unary, + UpdateExpression: From_Moz_Unary, + Identifier: function(M) { + var p = FROM_MOZ_STACK[FROM_MOZ_STACK.length - 2]; + return new (M.name == "this" ? AST_This + : p.type == "LabeledStatement" ? AST_Label + : p.type == "VariableDeclarator" && p.id === M ? (p.kind == "const" ? AST_SymbolConst : AST_SymbolVar) + : p.type == "FunctionExpression" ? (p.id === M ? AST_SymbolLambda : AST_SymbolFunarg) + : p.type == "FunctionDeclaration" ? (p.id === M ? AST_SymbolDefun : AST_SymbolFunarg) + : p.type == "CatchClause" ? AST_SymbolCatch + : p.type == "BreakStatement" || p.type == "ContinueStatement" ? AST_LabelRef + : AST_SymbolRef)({ + start : my_start_token(M), + end : my_end_token(M), + name : M.name + }); + } + }; + + function From_Moz_Unary(M) { + return new (M.prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({ + start : my_start_token(M), + end : my_end_token(M), + operator : M.operator, + expression : from_moz(M.argument) + }) + }; + + var ME_TO_MOZ = {}; + + map("Node", AST_Node); + map("Program", AST_Toplevel, "body@body"); + map("Function", AST_Function, "id>name, params@argnames, body%body"); + map("EmptyStatement", AST_EmptyStatement); + map("BlockStatement", AST_BlockStatement, "body@body"); + map("ExpressionStatement", AST_SimpleStatement, "expression>body"); + map("IfStatement", AST_If, "test>condition, consequent>body, alternate>alternative"); + map("LabeledStatement", AST_LabeledStatement, "label>label, body>body"); + map("BreakStatement", AST_Break, "label>label"); + map("ContinueStatement", AST_Continue, "label>label"); + map("WithStatement", AST_With, "object>expression, body>body"); + map("SwitchStatement", AST_Switch, "discriminant>expression, cases@body"); + map("ReturnStatement", AST_Return, "argument>value"); + map("ThrowStatement", AST_Throw, "argument>value"); + map("WhileStatement", AST_While, "test>condition, body>body"); + map("DoWhileStatement", AST_Do, "test>condition, body>body"); + map("ForStatement", AST_For, "init>init, test>condition, update>step, body>body"); + map("ForInStatement", AST_ForIn, "left>init, right>object, body>body"); + map("DebuggerStatement", AST_Debugger); + map("FunctionDeclaration", AST_Defun, "id>name, params@argnames, body%body"); + map("VariableDeclaration", AST_Var, "declarations@definitions"); + map("VariableDeclarator", AST_VarDef, "id>name, init>value"); + + map("ThisExpression", AST_This); + map("ArrayExpression", AST_Array, "elements@elements"); + map("FunctionExpression", AST_Function, "id>name, params@argnames, body%body"); + map("BinaryExpression", AST_Binary, "operator=operator, left>left, right>right"); + map("AssignmentExpression", AST_Assign, "operator=operator, left>left, right>right"); + map("LogicalExpression", AST_Binary, "operator=operator, left>left, right>right"); + map("ConditionalExpression", AST_Conditional, "test>condition, consequent>consequent, alternate>alternative"); + map("NewExpression", AST_New, "callee>expression, arguments@args"); + map("CallExpression", AST_Call, "callee>expression, arguments@args"); + + /* -----[ tools ]----- */ + + function my_start_token(moznode) { + return new AST_Token({ + file : moznode.loc && moznode.loc.source, + line : moznode.loc && moznode.loc.start.line, + col : moznode.loc && moznode.loc.start.column, + pos : moznode.start, + endpos : moznode.start + }); + }; + + function my_end_token(moznode) { + return new AST_Token({ + file : moznode.loc && moznode.loc.source, + line : moznode.loc && moznode.loc.end.line, + col : moznode.loc && moznode.loc.end.column, + pos : moznode.end, + endpos : moznode.end + }); + }; + + function map(moztype, mytype, propmap) { + var moz_to_me = "function From_Moz_" + moztype + "(M){\n"; + moz_to_me += "return new mytype({\n" + + "start: my_start_token(M),\n" + + "end: my_end_token(M)"; + + if (propmap) propmap.split(/\s*,\s*/).forEach(function(prop){ + var m = /([a-z0-9$_]+)(=|@|>|%)([a-z0-9$_]+)/i.exec(prop); + if (!m) throw new Error("Can't understand property map: " + prop); + var moz = "M." + m[1], how = m[2], my = m[3]; + moz_to_me += ",\n" + my + ": "; + if (how == "@") { + moz_to_me += moz + ".map(from_moz)"; + } else if (how == ">") { + moz_to_me += "from_moz(" + moz + ")"; + } else if (how == "=") { + moz_to_me += moz; + } else if (how == "%") { + moz_to_me += "from_moz(" + moz + ").body"; + } else throw new Error("Can't understand operator in propmap: " + prop); + }); + moz_to_me += "\n})}"; + + // moz_to_me = parse(moz_to_me).print_to_string({ beautify: true }); + // console.log(moz_to_me); + + moz_to_me = new Function("mytype", "my_start_token", "my_end_token", "from_moz", "return(" + moz_to_me + ")")( + mytype, my_start_token, my_end_token, from_moz + ); + return MOZ_TO_ME[moztype] = moz_to_me; + }; + + var FROM_MOZ_STACK = null; + + function from_moz(node) { + FROM_MOZ_STACK.push(node); + var ret = node != null ? MOZ_TO_ME[node.type](node) : null; + FROM_MOZ_STACK.pop(); + return ret; + }; + + AST_Node.from_mozilla_ast = function(node){ + var save_stack = FROM_MOZ_STACK; + FROM_MOZ_STACK = []; + var ast = from_moz(node); + FROM_MOZ_STACK = save_stack; + return ast; + }; + +})(); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/output.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/output.js new file mode 100644 index 0000000..42b3aad --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/output.js @@ -0,0 +1,1220 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function OutputStream(options) { + + options = defaults(options, { + indent_start : 0, + indent_level : 4, + quote_keys : false, + space_colon : true, + ascii_only : false, + inline_script : false, + width : 80, + max_line_len : 32000, + ie_proof : true, + beautify : false, + source_map : null, + bracketize : false, + semicolons : true, + comments : false, + preserve_line : false + }, true); + + var indentation = 0; + var current_col = 0; + var current_line = 1; + var current_pos = 0; + var OUTPUT = ""; + + function to_ascii(str) { + return str.replace(/[\u0080-\uffff]/g, function(ch) { + var code = ch.charCodeAt(0).toString(16); + while (code.length < 4) code = "0" + code; + return "\\u" + code; + }); + }; + + function make_string(str) { + var dq = 0, sq = 0; + str = str.replace(/[\\\b\f\n\r\t\x22\x27\u2028\u2029\0]/g, function(s){ + switch (s) { + case "\\": return "\\\\"; + case "\b": return "\\b"; + case "\f": return "\\f"; + case "\n": return "\\n"; + case "\r": return "\\r"; + case "\u2028": return "\\u2028"; + case "\u2029": return "\\u2029"; + case '"': ++dq; return '"'; + case "'": ++sq; return "'"; + case "\0": return "\\0"; + } + return s; + }); + if (options.ascii_only) str = to_ascii(str); + if (dq > sq) return "'" + str.replace(/\x27/g, "\\'") + "'"; + else return '"' + str.replace(/\x22/g, '\\"') + '"'; + }; + + function encode_string(str) { + var ret = make_string(str); + if (options.inline_script) + ret = ret.replace(/<\x2fscript([>\/\t\n\f\r ])/gi, "<\\/script$1"); + return ret; + }; + + function make_name(name) { + name = name.toString(); + if (options.ascii_only) + name = to_ascii(name); + return name; + }; + + function make_indent(back) { + return repeat_string(" ", options.indent_start + indentation - back * options.indent_level); + }; + + /* -----[ beautification/minification ]----- */ + + var might_need_space = false; + var might_need_semicolon = false; + var last = null; + + function last_char() { + return last.charAt(last.length - 1); + }; + + function maybe_newline() { + if (options.max_line_len && current_col > options.max_line_len) + print("\n"); + }; + + var requireSemicolonChars = makePredicate("( [ + * / - , ."); + + function print(str) { + str = String(str); + var ch = str.charAt(0); + if (might_need_semicolon) { + if ((!ch || ";}".indexOf(ch) < 0) && !/[;]$/.test(last)) { + if (options.semicolons || requireSemicolonChars(ch)) { + OUTPUT += ";"; + current_col++; + current_pos++; + } else { + OUTPUT += "\n"; + current_pos++; + current_line++; + current_col = 0; + } + if (!options.beautify) + might_need_space = false; + } + might_need_semicolon = false; + maybe_newline(); + } + + if (!options.beautify && options.preserve_line && stack[stack.length - 1]) { + var target_line = stack[stack.length - 1].start.line; + while (current_line < target_line) { + OUTPUT += "\n"; + current_pos++; + current_line++; + current_col = 0; + might_need_space = false; + } + } + + if (might_need_space) { + var prev = last_char(); + if ((is_identifier_char(prev) + && (is_identifier_char(ch) || ch == "\\")) + || (/^[\+\-\/]$/.test(ch) && ch == prev)) + { + OUTPUT += " "; + current_col++; + current_pos++; + } + might_need_space = false; + } + var a = str.split(/\r?\n/), n = a.length - 1; + current_line += n; + if (n == 0) { + current_col += a[n].length; + } else { + current_col = a[n].length; + } + current_pos += str.length; + last = str; + OUTPUT += str; + }; + + var space = options.beautify ? function() { + print(" "); + } : function() { + might_need_space = true; + }; + + var indent = options.beautify ? function(half) { + if (options.beautify) { + print(make_indent(half ? 0.5 : 0)); + } + } : noop; + + var with_indent = options.beautify ? function(col, cont) { + if (col === true) col = next_indent(); + var save_indentation = indentation; + indentation = col; + var ret = cont(); + indentation = save_indentation; + return ret; + } : function(col, cont) { return cont() }; + + var newline = options.beautify ? function() { + print("\n"); + } : noop; + + var semicolon = options.beautify ? function() { + print(";"); + } : function() { + might_need_semicolon = true; + }; + + function force_semicolon() { + might_need_semicolon = false; + print(";"); + }; + + function next_indent() { + return indentation + options.indent_level; + }; + + function with_block(cont) { + var ret; + print("{"); + newline(); + with_indent(next_indent(), function(){ + ret = cont(); + }); + indent(); + print("}"); + return ret; + }; + + function with_parens(cont) { + print("("); + //XXX: still nice to have that for argument lists + //var ret = with_indent(current_col, cont); + var ret = cont(); + print(")"); + return ret; + }; + + function with_square(cont) { + print("["); + //var ret = with_indent(current_col, cont); + var ret = cont(); + print("]"); + return ret; + }; + + function comma() { + print(","); + space(); + }; + + function colon() { + print(":"); + if (options.space_colon) space(); + }; + + var add_mapping = options.source_map ? function(token, name) { + try { + if (token) options.source_map.add( + token.file || "?", + current_line, current_col, + token.line, token.col, + (!name && token.type == "name") ? token.value : name + ); + } catch(ex) { + AST_Node.warn("Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]", { + file: token.file, + line: token.line, + col: token.col, + cline: current_line, + ccol: current_col, + name: name || "" + }) + } + } : noop; + + function get() { + return OUTPUT; + }; + + var stack = []; + return { + get : get, + toString : get, + indent : indent, + indentation : function() { return indentation }, + current_width : function() { return current_col - indentation }, + should_break : function() { return options.width && this.current_width() >= options.width }, + newline : newline, + print : print, + space : space, + comma : comma, + colon : colon, + last : function() { return last }, + semicolon : semicolon, + force_semicolon : force_semicolon, + to_ascii : to_ascii, + print_name : function(name) { print(make_name(name)) }, + print_string : function(str) { print(encode_string(str)) }, + next_indent : next_indent, + with_indent : with_indent, + with_block : with_block, + with_parens : with_parens, + with_square : with_square, + add_mapping : add_mapping, + option : function(opt) { return options[opt] }, + line : function() { return current_line }, + col : function() { return current_col }, + pos : function() { return current_pos }, + push_node : function(node) { stack.push(node) }, + pop_node : function() { return stack.pop() }, + stack : function() { return stack }, + parent : function(n) { + return stack[stack.length - 2 - (n || 0)]; + } + }; + +}; + +/* -----[ code generators ]----- */ + +(function(){ + + /* -----[ utils ]----- */ + + function DEFPRINT(nodetype, generator) { + nodetype.DEFMETHOD("_codegen", generator); + }; + + AST_Node.DEFMETHOD("print", function(stream, force_parens){ + var self = this, generator = self._codegen; + stream.push_node(self); + if (force_parens || self.needs_parens(stream)) { + stream.with_parens(function(){ + self.add_comments(stream); + self.add_source_map(stream); + generator(self, stream); + }); + } else { + self.add_comments(stream); + self.add_source_map(stream); + generator(self, stream); + } + stream.pop_node(); + }); + + AST_Node.DEFMETHOD("print_to_string", function(options){ + var s = OutputStream(options); + this.print(s); + return s.get(); + }); + + /* -----[ comments ]----- */ + + AST_Node.DEFMETHOD("add_comments", function(output){ + var c = output.option("comments"), self = this; + if (c) { + var start = self.start; + if (start && !start._comments_dumped) { + start._comments_dumped = true; + var comments = start.comments_before; + + // XXX: ugly fix for https://github.com/mishoo/UglifyJS2/issues/112 + // if this node is `return` or `throw`, we cannot allow comments before + // the returned or thrown value. + if (self instanceof AST_Exit && + self.value && self.value.start.comments_before.length > 0) { + comments = (comments || []).concat(self.value.start.comments_before); + self.value.start.comments_before = []; + } + + if (c.test) { + comments = comments.filter(function(comment){ + return c.test(comment.value); + }); + } else if (typeof c == "function") { + comments = comments.filter(function(comment){ + return c(self, comment); + }); + } + comments.forEach(function(c){ + if (c.type == "comment1") { + output.print("//" + c.value + "\n"); + output.indent(); + } + else if (c.type == "comment2") { + output.print("/*" + c.value + "*/"); + if (start.nlb) { + output.print("\n"); + output.indent(); + } else { + output.space(); + } + } + }); + } + } + }); + + /* -----[ PARENTHESES ]----- */ + + function PARENS(nodetype, func) { + nodetype.DEFMETHOD("needs_parens", func); + }; + + PARENS(AST_Node, function(){ + return false; + }); + + // a function expression needs parens around it when it's provably + // the first token to appear in a statement. + PARENS(AST_Function, function(output){ + return first_in_statement(output); + }); + + // same goes for an object literal, because otherwise it would be + // interpreted as a block of code. + PARENS(AST_Object, function(output){ + return first_in_statement(output); + }); + + PARENS(AST_Unary, function(output){ + var p = output.parent(); + return p instanceof AST_PropAccess && p.expression === this; + }); + + PARENS(AST_Seq, function(output){ + var p = output.parent(); + return p instanceof AST_Call // (foo, bar)() or foo(1, (2, 3), 4) + || p instanceof AST_Unary // !(foo, bar, baz) + || p instanceof AST_Binary // 1 + (2, 3) + 4 ==> 8 + || p instanceof AST_VarDef // var a = (1, 2), b = a + a; ==> b == 4 + || p instanceof AST_Dot // (1, {foo:2}).foo ==> 2 + || p instanceof AST_Array // [ 1, (2, 3), 4 ] ==> [ 1, 3, 4 ] + || p instanceof AST_ObjectProperty // { foo: (1, 2) }.foo ==> 2 + || p instanceof AST_Conditional /* (false, true) ? (a = 10, b = 20) : (c = 30) + * ==> 20 (side effect, set a := 10 and b := 20) */ + ; + }); + + PARENS(AST_Binary, function(output){ + var p = output.parent(); + // (foo && bar)() + if (p instanceof AST_Call && p.expression === this) + return true; + // typeof (foo && bar) + if (p instanceof AST_Unary) + return true; + // (foo && bar)["prop"], (foo && bar).prop + if (p instanceof AST_PropAccess && p.expression === this) + return true; + // this deals with precedence: 3 * (2 + 1) + if (p instanceof AST_Binary) { + var po = p.operator, pp = PRECEDENCE[po]; + var so = this.operator, sp = PRECEDENCE[so]; + if (pp > sp + || (pp == sp + && this === p.right + && !(so == po && + (so == "*" || + so == "&&" || + so == "||")))) { + return true; + } + } + }); + + PARENS(AST_PropAccess, function(output){ + var p = output.parent(); + if (p instanceof AST_New && p.expression === this) { + // i.e. new (foo.bar().baz) + // + // if there's one call into this subtree, then we need + // parens around it too, otherwise the call will be + // interpreted as passing the arguments to the upper New + // expression. + try { + this.walk(new TreeWalker(function(node){ + if (node instanceof AST_Call) throw p; + })); + } catch(ex) { + if (ex !== p) throw ex; + return true; + } + } + }); + + PARENS(AST_Call, function(output){ + var p = output.parent(); + return p instanceof AST_New && p.expression === this; + }); + + PARENS(AST_New, function(output){ + var p = output.parent(); + if (no_constructor_parens(this, output) + && (p instanceof AST_PropAccess // (new Date).getTime(), (new Date)["getTime"]() + || p instanceof AST_Call && p.expression === this)) // (new foo)(bar) + return true; + }); + + PARENS(AST_Number, function(output){ + var p = output.parent(); + if (this.getValue() < 0 && p instanceof AST_PropAccess && p.expression === this) + return true; + }); + + PARENS(AST_NaN, function(output){ + var p = output.parent(); + if (p instanceof AST_PropAccess && p.expression === this) + return true; + }); + + function assign_and_conditional_paren_rules(output) { + var p = output.parent(); + // !(a = false) → true + if (p instanceof AST_Unary) + return true; + // 1 + (a = 2) + 3 → 6, side effect setting a = 2 + if (p instanceof AST_Binary && !(p instanceof AST_Assign)) + return true; + // (a = func)() —or— new (a = Object)() + if (p instanceof AST_Call && p.expression === this) + return true; + // (a = foo) ? bar : baz + if (p instanceof AST_Conditional && p.condition === this) + return true; + // (a = foo)["prop"] —or— (a = foo).prop + if (p instanceof AST_PropAccess && p.expression === this) + return true; + }; + + PARENS(AST_Assign, assign_and_conditional_paren_rules); + PARENS(AST_Conditional, assign_and_conditional_paren_rules); + + /* -----[ PRINTERS ]----- */ + + DEFPRINT(AST_Directive, function(self, output){ + output.print_string(self.value); + output.semicolon(); + }); + DEFPRINT(AST_Debugger, function(self, output){ + output.print("debugger"); + output.semicolon(); + }); + + /* -----[ statements ]----- */ + + function display_body(body, is_toplevel, output) { + var last = body.length - 1; + body.forEach(function(stmt, i){ + if (!(stmt instanceof AST_EmptyStatement)) { + output.indent(); + stmt.print(output); + if (!(i == last && is_toplevel)) { + output.newline(); + if (is_toplevel) output.newline(); + } + } + }); + }; + + AST_StatementWithBody.DEFMETHOD("_do_print_body", function(output){ + force_statement(this.body, output); + }); + + DEFPRINT(AST_Statement, function(self, output){ + self.body.print(output); + output.semicolon(); + }); + DEFPRINT(AST_Toplevel, function(self, output){ + display_body(self.body, true, output); + output.print(""); + }); + DEFPRINT(AST_LabeledStatement, function(self, output){ + self.label.print(output); + output.colon(); + self.body.print(output); + }); + DEFPRINT(AST_SimpleStatement, function(self, output){ + self.body.print(output); + output.semicolon(); + }); + function print_bracketed(body, output) { + if (body.length > 0) output.with_block(function(){ + display_body(body, false, output); + }); + else output.print("{}"); + }; + DEFPRINT(AST_BlockStatement, function(self, output){ + print_bracketed(self.body, output); + }); + DEFPRINT(AST_EmptyStatement, function(self, output){ + output.semicolon(); + }); + DEFPRINT(AST_Do, function(self, output){ + output.print("do"); + output.space(); + self._do_print_body(output); + output.space(); + output.print("while"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.semicolon(); + }); + DEFPRINT(AST_While, function(self, output){ + output.print("while"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_For, function(self, output){ + output.print("for"); + output.space(); + output.with_parens(function(){ + if (self.init) { + if (self.init instanceof AST_Definitions) { + self.init.print(output); + } else { + parenthesize_for_noin(self.init, output, true); + } + output.print(";"); + output.space(); + } else { + output.print(";"); + } + if (self.condition) { + self.condition.print(output); + output.print(";"); + output.space(); + } else { + output.print(";"); + } + if (self.step) { + self.step.print(output); + } + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_ForIn, function(self, output){ + output.print("for"); + output.space(); + output.with_parens(function(){ + self.init.print(output); + output.space(); + output.print("in"); + output.space(); + self.object.print(output); + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_With, function(self, output){ + output.print("with"); + output.space(); + output.with_parens(function(){ + self.expression.print(output); + }); + output.space(); + self._do_print_body(output); + }); + + /* -----[ functions ]----- */ + AST_Lambda.DEFMETHOD("_do_print", function(output, nokeyword){ + var self = this; + if (!nokeyword) { + output.print("function"); + } + if (self.name) { + output.space(); + self.name.print(output); + } + output.with_parens(function(){ + self.argnames.forEach(function(arg, i){ + if (i) output.comma(); + arg.print(output); + }); + }); + output.space(); + print_bracketed(self.body, output); + }); + DEFPRINT(AST_Lambda, function(self, output){ + self._do_print(output); + }); + + /* -----[ exits ]----- */ + AST_Exit.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + if (this.value) { + output.space(); + this.value.print(output); + } + output.semicolon(); + }); + DEFPRINT(AST_Return, function(self, output){ + self._do_print(output, "return"); + }); + DEFPRINT(AST_Throw, function(self, output){ + self._do_print(output, "throw"); + }); + + /* -----[ loop control ]----- */ + AST_LoopControl.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + if (this.label) { + output.space(); + this.label.print(output); + } + output.semicolon(); + }); + DEFPRINT(AST_Break, function(self, output){ + self._do_print(output, "break"); + }); + DEFPRINT(AST_Continue, function(self, output){ + self._do_print(output, "continue"); + }); + + /* -----[ if ]----- */ + function make_then(self, output) { + if (output.option("bracketize")) { + make_block(self.body, output); + return; + } + // The squeezer replaces "block"-s that contain only a single + // statement with the statement itself; technically, the AST + // is correct, but this can create problems when we output an + // IF having an ELSE clause where the THEN clause ends in an + // IF *without* an ELSE block (then the outer ELSE would refer + // to the inner IF). This function checks for this case and + // adds the block brackets if needed. + if (!self.body) + return output.force_semicolon(); + if (self.body instanceof AST_Do + && output.option("ie_proof")) { + // https://github.com/mishoo/UglifyJS/issues/#issue/57 IE + // croaks with "syntax error" on code like this: if (foo) + // do ... while(cond); else ... we need block brackets + // around do/while + make_block(self.body, output); + return; + } + var b = self.body; + while (true) { + if (b instanceof AST_If) { + if (!b.alternative) { + make_block(self.body, output); + return; + } + b = b.alternative; + } + else if (b instanceof AST_StatementWithBody) { + b = b.body; + } + else break; + } + force_statement(self.body, output); + }; + DEFPRINT(AST_If, function(self, output){ + output.print("if"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.space(); + if (self.alternative) { + make_then(self, output); + output.space(); + output.print("else"); + output.space(); + force_statement(self.alternative, output); + } else { + self._do_print_body(output); + } + }); + + /* -----[ switch ]----- */ + DEFPRINT(AST_Switch, function(self, output){ + output.print("switch"); + output.space(); + output.with_parens(function(){ + self.expression.print(output); + }); + output.space(); + if (self.body.length > 0) output.with_block(function(){ + self.body.forEach(function(stmt, i){ + if (i) output.newline(); + output.indent(true); + stmt.print(output); + }); + }); + else output.print("{}"); + }); + AST_SwitchBranch.DEFMETHOD("_do_print_body", function(output){ + if (this.body.length > 0) { + output.newline(); + this.body.forEach(function(stmt){ + output.indent(); + stmt.print(output); + output.newline(); + }); + } + }); + DEFPRINT(AST_Default, function(self, output){ + output.print("default:"); + self._do_print_body(output); + }); + DEFPRINT(AST_Case, function(self, output){ + output.print("case"); + output.space(); + self.expression.print(output); + output.print(":"); + self._do_print_body(output); + }); + + /* -----[ exceptions ]----- */ + DEFPRINT(AST_Try, function(self, output){ + output.print("try"); + output.space(); + print_bracketed(self.body, output); + if (self.bcatch) { + output.space(); + self.bcatch.print(output); + } + if (self.bfinally) { + output.space(); + self.bfinally.print(output); + } + }); + DEFPRINT(AST_Catch, function(self, output){ + output.print("catch"); + output.space(); + output.with_parens(function(){ + self.argname.print(output); + }); + output.space(); + print_bracketed(self.body, output); + }); + DEFPRINT(AST_Finally, function(self, output){ + output.print("finally"); + output.space(); + print_bracketed(self.body, output); + }); + + /* -----[ var/const ]----- */ + AST_Definitions.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + output.space(); + this.definitions.forEach(function(def, i){ + if (i) output.comma(); + def.print(output); + }); + var p = output.parent(); + var in_for = p instanceof AST_For || p instanceof AST_ForIn; + var avoid_semicolon = in_for && p.init === this; + if (!avoid_semicolon) + output.semicolon(); + }); + DEFPRINT(AST_Var, function(self, output){ + self._do_print(output, "var"); + }); + DEFPRINT(AST_Const, function(self, output){ + self._do_print(output, "const"); + }); + + function parenthesize_for_noin(node, output, noin) { + if (!noin) node.print(output); + else try { + // need to take some precautions here: + // https://github.com/mishoo/UglifyJS2/issues/60 + node.walk(new TreeWalker(function(node){ + if (node instanceof AST_Binary && node.operator == "in") + throw output; + })); + node.print(output); + } catch(ex) { + if (ex !== output) throw ex; + node.print(output, true); + } + }; + + DEFPRINT(AST_VarDef, function(self, output){ + self.name.print(output); + if (self.value) { + output.space(); + output.print("="); + output.space(); + var p = output.parent(1); + var noin = p instanceof AST_For || p instanceof AST_ForIn; + parenthesize_for_noin(self.value, output, noin); + } + }); + + /* -----[ other expressions ]----- */ + DEFPRINT(AST_Call, function(self, output){ + self.expression.print(output); + if (self instanceof AST_New && no_constructor_parens(self, output)) + return; + output.with_parens(function(){ + self.args.forEach(function(expr, i){ + if (i) output.comma(); + expr.print(output); + }); + }); + }); + DEFPRINT(AST_New, function(self, output){ + output.print("new"); + output.space(); + AST_Call.prototype._codegen(self, output); + }); + + AST_Seq.DEFMETHOD("_do_print", function(output){ + this.car.print(output); + if (this.cdr) { + output.comma(); + if (output.should_break()) { + output.newline(); + output.indent(); + } + this.cdr.print(output); + } + }); + DEFPRINT(AST_Seq, function(self, output){ + self._do_print(output); + // var p = output.parent(); + // if (p instanceof AST_Statement) { + // output.with_indent(output.next_indent(), function(){ + // self._do_print(output); + // }); + // } else { + // self._do_print(output); + // } + }); + DEFPRINT(AST_Dot, function(self, output){ + var expr = self.expression; + expr.print(output); + if (expr instanceof AST_Number && expr.getValue() >= 0) { + if (!/[xa-f.]/i.test(output.last())) { + output.print("."); + } + } + output.print("."); + // the name after dot would be mapped about here. + output.add_mapping(self.end); + output.print_name(self.property); + }); + DEFPRINT(AST_Sub, function(self, output){ + self.expression.print(output); + output.print("["); + self.property.print(output); + output.print("]"); + }); + DEFPRINT(AST_UnaryPrefix, function(self, output){ + var op = self.operator; + output.print(op); + if (/^[a-z]/i.test(op)) + output.space(); + self.expression.print(output); + }); + DEFPRINT(AST_UnaryPostfix, function(self, output){ + self.expression.print(output); + output.print(self.operator); + }); + DEFPRINT(AST_Binary, function(self, output){ + self.left.print(output); + output.space(); + output.print(self.operator); + output.space(); + self.right.print(output); + }); + DEFPRINT(AST_Conditional, function(self, output){ + self.condition.print(output); + output.space(); + output.print("?"); + output.space(); + self.consequent.print(output); + output.space(); + output.colon(); + self.alternative.print(output); + }); + + /* -----[ literals ]----- */ + DEFPRINT(AST_Array, function(self, output){ + output.with_square(function(){ + var a = self.elements, len = a.length; + if (len > 0) output.space(); + a.forEach(function(exp, i){ + if (i) output.comma(); + exp.print(output); + }); + if (len > 0) output.space(); + }); + }); + DEFPRINT(AST_Object, function(self, output){ + if (self.properties.length > 0) output.with_block(function(){ + self.properties.forEach(function(prop, i){ + if (i) { + output.print(","); + output.newline(); + } + output.indent(); + prop.print(output); + }); + output.newline(); + }); + else output.print("{}"); + }); + DEFPRINT(AST_ObjectKeyVal, function(self, output){ + var key = self.key; + if (output.option("quote_keys")) { + output.print_string(key); + } else if ((typeof key == "number" + || !output.option("beautify") + && +key + "" == key) + && parseFloat(key) >= 0) { + output.print(make_num(key)); + } else if (!is_identifier(key)) { + output.print_string(key); + } else { + output.print_name(key); + } + output.colon(); + self.value.print(output); + }); + DEFPRINT(AST_ObjectSetter, function(self, output){ + output.print("set"); + self.value._do_print(output, true); + }); + DEFPRINT(AST_ObjectGetter, function(self, output){ + output.print("get"); + self.value._do_print(output, true); + }); + DEFPRINT(AST_Symbol, function(self, output){ + var def = self.definition(); + output.print_name(def ? def.mangled_name || def.name : self.name); + }); + DEFPRINT(AST_Undefined, function(self, output){ + output.print("void 0"); + }); + DEFPRINT(AST_Hole, noop); + DEFPRINT(AST_Infinity, function(self, output){ + output.print("1/0"); + }); + DEFPRINT(AST_NaN, function(self, output){ + output.print("0/0"); + }); + DEFPRINT(AST_This, function(self, output){ + output.print("this"); + }); + DEFPRINT(AST_Constant, function(self, output){ + output.print(self.getValue()); + }); + DEFPRINT(AST_String, function(self, output){ + output.print_string(self.getValue()); + }); + DEFPRINT(AST_Number, function(self, output){ + output.print(make_num(self.getValue())); + }); + DEFPRINT(AST_RegExp, function(self, output){ + var str = self.getValue().toString(); + if (output.option("ascii_only")) + str = output.to_ascii(str); + output.print(str); + var p = output.parent(); + if (p instanceof AST_Binary && /^in/.test(p.operator) && p.left === self) + output.print(" "); + }); + + function force_statement(stat, output) { + if (output.option("bracketize")) { + if (!stat || stat instanceof AST_EmptyStatement) + output.print("{}"); + else if (stat instanceof AST_BlockStatement) + stat.print(output); + else output.with_block(function(){ + output.indent(); + stat.print(output); + output.newline(); + }); + } else { + if (!stat || stat instanceof AST_EmptyStatement) + output.force_semicolon(); + else + stat.print(output); + } + }; + + // return true if the node at the top of the stack (that means the + // innermost node in the current output) is lexically the first in + // a statement. + function first_in_statement(output) { + var a = output.stack(), i = a.length, node = a[--i], p = a[--i]; + while (i > 0) { + if (p instanceof AST_Statement && p.body === node) + return true; + if ((p instanceof AST_Seq && p.car === node ) || + (p instanceof AST_Call && p.expression === node ) || + (p instanceof AST_Dot && p.expression === node ) || + (p instanceof AST_Sub && p.expression === node ) || + (p instanceof AST_Conditional && p.condition === node ) || + (p instanceof AST_Binary && p.left === node ) || + (p instanceof AST_UnaryPostfix && p.expression === node )) + { + node = p; + p = a[--i]; + } else { + return false; + } + } + }; + + // self should be AST_New. decide if we want to show parens or not. + function no_constructor_parens(self, output) { + return self.args.length == 0 && !output.option("beautify"); + }; + + function best_of(a) { + var best = a[0], len = best.length; + for (var i = 1; i < a.length; ++i) { + if (a[i].length < len) { + best = a[i]; + len = best.length; + } + } + return best; + }; + + function make_num(num) { + var str = num.toString(10), a = [ str.replace(/^0\./, ".").replace('e+', 'e') ], m; + if (Math.floor(num) === num) { + if (num >= 0) { + a.push("0x" + num.toString(16).toLowerCase(), // probably pointless + "0" + num.toString(8)); // same. + } else { + a.push("-0x" + (-num).toString(16).toLowerCase(), // probably pointless + "-0" + (-num).toString(8)); // same. + } + if ((m = /^(.*?)(0+)$/.exec(num))) { + a.push(m[1] + "e" + m[2].length); + } + } else if ((m = /^0?\.(0+)(.*)$/.exec(num))) { + a.push(m[2] + "e-" + (m[1].length + m[2].length), + str.substr(str.indexOf("."))); + } + return best_of(a); + }; + + function make_block(stmt, output) { + if (stmt instanceof AST_BlockStatement) { + stmt.print(output); + return; + } + output.with_block(function(){ + output.indent(); + stmt.print(output); + output.newline(); + }); + }; + + /* -----[ source map generators ]----- */ + + function DEFMAP(nodetype, generator) { + nodetype.DEFMETHOD("add_source_map", function(stream){ + generator(this, stream); + }); + }; + + // We could easily add info for ALL nodes, but it seems to me that + // would be quite wasteful, hence this noop in the base class. + DEFMAP(AST_Node, noop); + + function basic_sourcemap_gen(self, output) { + output.add_mapping(self.start); + }; + + // XXX: I'm not exactly sure if we need it for all of these nodes, + // or if we should add even more. + + DEFMAP(AST_Directive, basic_sourcemap_gen); + DEFMAP(AST_Debugger, basic_sourcemap_gen); + DEFMAP(AST_Symbol, basic_sourcemap_gen); + DEFMAP(AST_Jump, basic_sourcemap_gen); + DEFMAP(AST_StatementWithBody, basic_sourcemap_gen); + DEFMAP(AST_LabeledStatement, noop); // since the label symbol will mark it + DEFMAP(AST_Lambda, basic_sourcemap_gen); + DEFMAP(AST_Switch, basic_sourcemap_gen); + DEFMAP(AST_SwitchBranch, basic_sourcemap_gen); + DEFMAP(AST_BlockStatement, basic_sourcemap_gen); + DEFMAP(AST_Toplevel, noop); + DEFMAP(AST_New, basic_sourcemap_gen); + DEFMAP(AST_Try, basic_sourcemap_gen); + DEFMAP(AST_Catch, basic_sourcemap_gen); + DEFMAP(AST_Finally, basic_sourcemap_gen); + DEFMAP(AST_Definitions, basic_sourcemap_gen); + DEFMAP(AST_Constant, basic_sourcemap_gen); + DEFMAP(AST_ObjectProperty, function(self, output){ + output.add_mapping(self.start, self.key); + }); + +})(); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/parse.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/parse.js new file mode 100644 index 0000000..5a75e75 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/parse.js @@ -0,0 +1,1407 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + Parser based on parse-js (http://marijn.haverbeke.nl/parse-js/). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +var KEYWORDS = 'break case catch const continue debugger default delete do else finally for function if in instanceof new return switch throw try typeof var void while with'; +var KEYWORDS_ATOM = 'false null true'; +var RESERVED_WORDS = 'abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized this throws transient volatile' + + " " + KEYWORDS_ATOM + " " + KEYWORDS; +var KEYWORDS_BEFORE_EXPRESSION = 'return new delete throw else case'; + +KEYWORDS = makePredicate(KEYWORDS); +RESERVED_WORDS = makePredicate(RESERVED_WORDS); +KEYWORDS_BEFORE_EXPRESSION = makePredicate(KEYWORDS_BEFORE_EXPRESSION); +KEYWORDS_ATOM = makePredicate(KEYWORDS_ATOM); + +var OPERATOR_CHARS = makePredicate(characters("+-*&%=<>!?|~^")); + +var RE_HEX_NUMBER = /^0x[0-9a-f]+$/i; +var RE_OCT_NUMBER = /^0[0-7]+$/; +var RE_DEC_NUMBER = /^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i; + +var OPERATORS = makePredicate([ + "in", + "instanceof", + "typeof", + "new", + "void", + "delete", + "++", + "--", + "+", + "-", + "!", + "~", + "&", + "|", + "^", + "*", + "/", + "%", + ">>", + "<<", + ">>>", + "<", + ">", + "<=", + ">=", + "==", + "===", + "!=", + "!==", + "?", + "=", + "+=", + "-=", + "/=", + "*=", + "%=", + ">>=", + "<<=", + ">>>=", + "|=", + "^=", + "&=", + "&&", + "||" +]); + +var WHITESPACE_CHARS = makePredicate(characters(" \u00a0\n\r\t\f\u000b\u200b\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000")); + +var PUNC_BEFORE_EXPRESSION = makePredicate(characters("[{(,.;:")); + +var PUNC_CHARS = makePredicate(characters("[]{}(),;:")); + +var REGEXP_MODIFIERS = makePredicate(characters("gmsiy")); + +/* -----[ Tokenizer ]----- */ + +// regexps adapted from http://xregexp.com/plugins/#unicode +var UNICODE = { + letter: new RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0523\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971\\u0972\\u097B-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC\\u0EDD\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8B\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10D0-\\u10FA\\u10FC\\u1100-\\u1159\\u115F-\\u11A2\\u11A8-\\u11F9\\u1200-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u1676\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19A9\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u2094\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C6F\\u2C71-\\u2C7D\\u2C80-\\u2CE4\\u2D00-\\u2D25\\u2D30-\\u2D65\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31B7\\u31F0-\\u31FF\\u3400\\u4DB5\\u4E00\\u9FC3\\uA000-\\uA48C\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA65F\\uA662-\\uA66E\\uA67F-\\uA697\\uA717-\\uA71F\\uA722-\\uA788\\uA78B\\uA78C\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA90A-\\uA925\\uA930-\\uA946\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAC00\\uD7A3\\uF900-\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"), + non_spacing_mark: new RegExp("[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065E\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0900-\\u0902\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F90-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1DC0-\\u1DE6\\u1DFD-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F\\uA67C\\uA67D\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26]"), + space_combining_mark: new RegExp("[\\u0903\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A19-\\u1A1B\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF2\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BD-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC]"), + connector_punctuation: new RegExp("[\\u005F\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F]") +}; + +function is_letter(code) { + return (code >= 97 && code <= 122) + || (code >= 65 && code <= 90) + || (code >= 0xaa && UNICODE.letter.test(String.fromCharCode(code))); +}; + +function is_digit(code) { + return code >= 48 && code <= 57; //XXX: find out if "UnicodeDigit" means something else than 0..9 +}; + +function is_alphanumeric_char(code) { + return is_digit(code) || is_letter(code); +}; + +function is_unicode_combining_mark(ch) { + return UNICODE.non_spacing_mark.test(ch) || UNICODE.space_combining_mark.test(ch); +}; + +function is_unicode_connector_punctuation(ch) { + return UNICODE.connector_punctuation.test(ch); +}; + +function is_identifier(name) { + return /^[a-z_$][a-z0-9_$]*$/i.test(name) && !RESERVED_WORDS(name); +}; + +function is_identifier_start(code) { + return code == 36 || code == 95 || is_letter(code); +}; + +function is_identifier_char(ch) { + var code = ch.charCodeAt(0); + return is_identifier_start(code) + || is_digit(code) + || code == 8204 // \u200c: zero-width non-joiner + || code == 8205 // \u200d: zero-width joiner (in my ECMA-262 PDF, this is also 200c) + || is_unicode_combining_mark(ch) + || is_unicode_connector_punctuation(ch) + ; +}; + +function parse_js_number(num) { + if (RE_HEX_NUMBER.test(num)) { + return parseInt(num.substr(2), 16); + } else if (RE_OCT_NUMBER.test(num)) { + return parseInt(num.substr(1), 8); + } else if (RE_DEC_NUMBER.test(num)) { + return parseFloat(num); + } +}; + +function JS_Parse_Error(message, line, col, pos) { + this.message = message; + this.line = line; + this.col = col; + this.pos = pos; + this.stack = new Error().stack; +}; + +JS_Parse_Error.prototype.toString = function() { + return this.message + " (line: " + this.line + ", col: " + this.col + ", pos: " + this.pos + ")" + "\n\n" + this.stack; +}; + +function js_error(message, filename, line, col, pos) { + AST_Node.warn("ERROR: {message} [{file}:{line},{col}]", { + message: message, + file: filename, + line: line, + col: col + }); + throw new JS_Parse_Error(message, line, col, pos); +}; + +function is_token(token, type, val) { + return token.type == type && (val == null || token.value == val); +}; + +var EX_EOF = {}; + +function tokenizer($TEXT, filename) { + + var S = { + text : $TEXT.replace(/\r\n?|[\n\u2028\u2029]/g, "\n").replace(/\uFEFF/g, ''), + filename : filename, + pos : 0, + tokpos : 0, + line : 1, + tokline : 0, + col : 0, + tokcol : 0, + newline_before : false, + regex_allowed : false, + comments_before : [] + }; + + function peek() { return S.text.charAt(S.pos); }; + + function next(signal_eof, in_string) { + var ch = S.text.charAt(S.pos++); + if (signal_eof && !ch) + throw EX_EOF; + if (ch == "\n") { + S.newline_before = S.newline_before || !in_string; + ++S.line; + S.col = 0; + } else { + ++S.col; + } + return ch; + }; + + function find(what, signal_eof) { + var pos = S.text.indexOf(what, S.pos); + if (signal_eof && pos == -1) throw EX_EOF; + return pos; + }; + + function start_token() { + S.tokline = S.line; + S.tokcol = S.col; + S.tokpos = S.pos; + }; + + function token(type, value, is_comment) { + S.regex_allowed = ((type == "operator" && !UNARY_POSTFIX[value]) || + (type == "keyword" && KEYWORDS_BEFORE_EXPRESSION(value)) || + (type == "punc" && PUNC_BEFORE_EXPRESSION(value))); + var ret = { + type : type, + value : value, + line : S.tokline, + col : S.tokcol, + pos : S.tokpos, + endpos : S.pos, + nlb : S.newline_before, + file : filename + }; + if (!is_comment) { + ret.comments_before = S.comments_before; + S.comments_before = []; + // make note of any newlines in the comments that came before + for (var i = 0, len = ret.comments_before.length; i < len; i++) { + ret.nlb = ret.nlb || ret.comments_before[i].nlb; + } + } + S.newline_before = false; + return new AST_Token(ret); + }; + + function skip_whitespace() { + while (WHITESPACE_CHARS(peek())) + next(); + }; + + function read_while(pred) { + var ret = "", ch, i = 0; + while ((ch = peek()) && pred(ch, i++)) + ret += next(); + return ret; + }; + + function parse_error(err) { + js_error(err, filename, S.tokline, S.tokcol, S.tokpos); + }; + + function read_num(prefix) { + var has_e = false, after_e = false, has_x = false, has_dot = prefix == "."; + var num = read_while(function(ch, i){ + var code = ch.charCodeAt(0); + switch (code) { + case 120: case 88: // xX + return has_x ? false : (has_x = true); + case 101: case 69: // eE + return has_x ? true : has_e ? false : (has_e = after_e = true); + case 45: // - + return after_e || (i == 0 && !prefix); + case 43: // + + return after_e; + case (after_e = false, 46): // . + return (!has_dot && !has_x && !has_e) ? (has_dot = true) : false; + } + return is_alphanumeric_char(code); + }); + if (prefix) num = prefix + num; + var valid = parse_js_number(num); + if (!isNaN(valid)) { + return token("num", valid); + } else { + parse_error("Invalid syntax: " + num); + } + }; + + function read_escaped_char(in_string) { + var ch = next(true, in_string); + switch (ch.charCodeAt(0)) { + case 110 : return "\n"; + case 114 : return "\r"; + case 116 : return "\t"; + case 98 : return "\b"; + case 118 : return "\u000b"; // \v + case 102 : return "\f"; + case 48 : return "\0"; + case 120 : return String.fromCharCode(hex_bytes(2)); // \x + case 117 : return String.fromCharCode(hex_bytes(4)); // \u + case 10 : return ""; // newline + default : return ch; + } + }; + + function hex_bytes(n) { + var num = 0; + for (; n > 0; --n) { + var digit = parseInt(next(true), 16); + if (isNaN(digit)) + parse_error("Invalid hex-character pattern in string"); + num = (num << 4) | digit; + } + return num; + }; + + var read_string = with_eof_error("Unterminated string constant", function(){ + var quote = next(), ret = ""; + for (;;) { + var ch = next(true); + if (ch == "\\") { + // read OctalEscapeSequence (XXX: deprecated if "strict mode") + // https://github.com/mishoo/UglifyJS/issues/178 + var octal_len = 0, first = null; + ch = read_while(function(ch){ + if (ch >= "0" && ch <= "7") { + if (!first) { + first = ch; + return ++octal_len; + } + else if (first <= "3" && octal_len <= 2) return ++octal_len; + else if (first >= "4" && octal_len <= 1) return ++octal_len; + } + return false; + }); + if (octal_len > 0) ch = String.fromCharCode(parseInt(ch, 8)); + else ch = read_escaped_char(true); + } + else if (ch == quote) break; + ret += ch; + } + return token("string", ret); + }); + + function read_line_comment() { + next(); + var i = find("\n"), ret; + if (i == -1) { + ret = S.text.substr(S.pos); + S.pos = S.text.length; + } else { + ret = S.text.substring(S.pos, i); + S.pos = i; + } + return token("comment1", ret, true); + }; + + var read_multiline_comment = with_eof_error("Unterminated multiline comment", function(){ + next(); + var i = find("*/", true); + var text = S.text.substring(S.pos, i); + var a = text.split("\n"), n = a.length; + // update stream position + S.pos = i + 2; + S.line += n - 1; + if (n > 1) S.col = a[n - 1].length; + else S.col += a[n - 1].length; + S.col += 2; + S.newline_before = S.newline_before || text.indexOf("\n") >= 0; + return token("comment2", text, true); + }); + + function read_name() { + var backslash = false, name = "", ch, escaped = false, hex; + while ((ch = peek()) != null) { + if (!backslash) { + if (ch == "\\") escaped = backslash = true, next(); + else if (is_identifier_char(ch)) name += next(); + else break; + } + else { + if (ch != "u") parse_error("Expecting UnicodeEscapeSequence -- uXXXX"); + ch = read_escaped_char(); + if (!is_identifier_char(ch)) parse_error("Unicode char: " + ch.charCodeAt(0) + " is not valid in identifier"); + name += ch; + backslash = false; + } + } + if (KEYWORDS(name) && escaped) { + hex = name.charCodeAt(0).toString(16).toUpperCase(); + name = "\\u" + "0000".substr(hex.length) + hex + name.slice(1); + } + return name; + }; + + var read_regexp = with_eof_error("Unterminated regular expression", function(regexp){ + var prev_backslash = false, ch, in_class = false; + while ((ch = next(true))) if (prev_backslash) { + regexp += "\\" + ch; + prev_backslash = false; + } else if (ch == "[") { + in_class = true; + regexp += ch; + } else if (ch == "]" && in_class) { + in_class = false; + regexp += ch; + } else if (ch == "/" && !in_class) { + break; + } else if (ch == "\\") { + prev_backslash = true; + } else { + regexp += ch; + } + var mods = read_name(); + return token("regexp", new RegExp(regexp, mods)); + }); + + function read_operator(prefix) { + function grow(op) { + if (!peek()) return op; + var bigger = op + peek(); + if (OPERATORS(bigger)) { + next(); + return grow(bigger); + } else { + return op; + } + }; + return token("operator", grow(prefix || next())); + }; + + function handle_slash() { + next(); + var regex_allowed = S.regex_allowed; + switch (peek()) { + case "/": + S.comments_before.push(read_line_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + case "*": + S.comments_before.push(read_multiline_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + } + return S.regex_allowed ? read_regexp("") : read_operator("/"); + }; + + function handle_dot() { + next(); + return is_digit(peek().charCodeAt(0)) + ? read_num(".") + : token("punc", "."); + }; + + function read_word() { + var word = read_name(); + return KEYWORDS_ATOM(word) ? token("atom", word) + : !KEYWORDS(word) ? token("name", word) + : OPERATORS(word) ? token("operator", word) + : token("keyword", word); + }; + + function with_eof_error(eof_error, cont) { + return function(x) { + try { + return cont(x); + } catch(ex) { + if (ex === EX_EOF) parse_error(eof_error); + else throw ex; + } + }; + }; + + function next_token(force_regexp) { + if (force_regexp != null) + return read_regexp(force_regexp); + skip_whitespace(); + start_token(); + var ch = peek(); + if (!ch) return token("eof"); + var code = ch.charCodeAt(0); + switch (code) { + case 34: case 39: return read_string(); + case 46: return handle_dot(); + case 47: return handle_slash(); + } + if (is_digit(code)) return read_num(); + if (PUNC_CHARS(ch)) return token("punc", next()); + if (OPERATOR_CHARS(ch)) return read_operator(); + if (code == 92 || is_identifier_start(code)) return read_word(); + parse_error("Unexpected character '" + ch + "'"); + }; + + next_token.context = function(nc) { + if (nc) S = nc; + return S; + }; + + return next_token; + +}; + +/* -----[ Parser (constants) ]----- */ + +var UNARY_PREFIX = makePredicate([ + "typeof", + "void", + "delete", + "--", + "++", + "!", + "~", + "-", + "+" +]); + +var UNARY_POSTFIX = makePredicate([ "--", "++" ]); + +var ASSIGNMENT = makePredicate([ "=", "+=", "-=", "/=", "*=", "%=", ">>=", "<<=", ">>>=", "|=", "^=", "&=" ]); + +var PRECEDENCE = (function(a, ret){ + for (var i = 0, n = 1; i < a.length; ++i, ++n) { + var b = a[i]; + for (var j = 0; j < b.length; ++j) { + ret[b[j]] = n; + } + } + return ret; +})( + [ + ["||"], + ["&&"], + ["|"], + ["^"], + ["&"], + ["==", "===", "!=", "!=="], + ["<", ">", "<=", ">=", "in", "instanceof"], + [">>", "<<", ">>>"], + ["+", "-"], + ["*", "/", "%"] + ], + {} +); + +var STATEMENTS_WITH_LABELS = array_to_hash([ "for", "do", "while", "switch" ]); + +var ATOMIC_START_TOKEN = array_to_hash([ "atom", "num", "string", "regexp", "name" ]); + +/* -----[ Parser ]----- */ + +function parse($TEXT, options) { + + options = defaults(options, { + strict : false, + filename : null, + toplevel : null + }); + + var S = { + input : typeof $TEXT == "string" ? tokenizer($TEXT, options.filename) : $TEXT, + token : null, + prev : null, + peeked : null, + in_function : 0, + in_directives : true, + in_loop : 0, + labels : [] + }; + + S.token = next(); + + function is(type, value) { + return is_token(S.token, type, value); + }; + + function peek() { return S.peeked || (S.peeked = S.input()); }; + + function next() { + S.prev = S.token; + if (S.peeked) { + S.token = S.peeked; + S.peeked = null; + } else { + S.token = S.input(); + } + S.in_directives = S.in_directives && ( + S.token.type == "string" || is("punc", ";") + ); + return S.token; + }; + + function prev() { + return S.prev; + }; + + function croak(msg, line, col, pos) { + var ctx = S.input.context(); + js_error(msg, + ctx.filename, + line != null ? line : ctx.tokline, + col != null ? col : ctx.tokcol, + pos != null ? pos : ctx.tokpos); + }; + + function token_error(token, msg) { + croak(msg, token.line, token.col); + }; + + function unexpected(token) { + if (token == null) + token = S.token; + token_error(token, "Unexpected token: " + token.type + " (" + token.value + ")"); + }; + + function expect_token(type, val) { + if (is(type, val)) { + return next(); + } + token_error(S.token, "Unexpected token " + S.token.type + " «" + S.token.value + "»" + ", expected " + type + " «" + val + "»"); + }; + + function expect(punc) { return expect_token("punc", punc); }; + + function can_insert_semicolon() { + return !options.strict && ( + S.token.nlb || is("eof") || is("punc", "}") + ); + }; + + function semicolon() { + if (is("punc", ";")) next(); + else if (!can_insert_semicolon()) unexpected(); + }; + + function parenthesised() { + expect("("); + var exp = expression(true); + expect(")"); + return exp; + }; + + function embed_tokens(parser) { + return function() { + var start = S.token; + var expr = parser(); + var end = prev(); + expr.start = start; + expr.end = end; + return expr; + }; + }; + + var statement = embed_tokens(function() { + var tmp; + if (is("operator", "/") || is("operator", "/=")) { + S.peeked = null; + S.token = S.input(S.token.value.substr(1)); // force regexp + } + switch (S.token.type) { + case "string": + var dir = S.in_directives, stat = simple_statement(); + // XXXv2: decide how to fix directives + if (dir && stat.body instanceof AST_String && !is("punc", ",")) + return new AST_Directive({ value: stat.body.value }); + return stat; + case "num": + case "regexp": + case "operator": + case "atom": + return simple_statement(); + + case "name": + return is_token(peek(), "punc", ":") + ? labeled_statement() + : simple_statement(); + + case "punc": + switch (S.token.value) { + case "{": + return new AST_BlockStatement({ + start : S.token, + body : block_(), + end : prev() + }); + case "[": + case "(": + return simple_statement(); + case ";": + next(); + return new AST_EmptyStatement(); + default: + unexpected(); + } + + case "keyword": + switch (tmp = S.token.value, next(), tmp) { + case "break": + return break_cont(AST_Break); + + case "continue": + return break_cont(AST_Continue); + + case "debugger": + semicolon(); + return new AST_Debugger(); + + case "do": + return new AST_Do({ + body : in_loop(statement), + condition : (expect_token("keyword", "while"), tmp = parenthesised(), semicolon(), tmp) + }); + + case "while": + return new AST_While({ + condition : parenthesised(), + body : in_loop(statement) + }); + + case "for": + return for_(); + + case "function": + return function_(true); + + case "if": + return if_(); + + case "return": + if (S.in_function == 0) + croak("'return' outside of function"); + return new AST_Return({ + value: ( is("punc", ";") + ? (next(), null) + : can_insert_semicolon() + ? null + : (tmp = expression(true), semicolon(), tmp) ) + }); + + case "switch": + return new AST_Switch({ + expression : parenthesised(), + body : in_loop(switch_body_) + }); + + case "throw": + if (S.token.nlb) + croak("Illegal newline after 'throw'"); + return new AST_Throw({ + value: (tmp = expression(true), semicolon(), tmp) + }); + + case "try": + return try_(); + + case "var": + return tmp = var_(), semicolon(), tmp; + + case "const": + return tmp = const_(), semicolon(), tmp; + + case "with": + return new AST_With({ + expression : parenthesised(), + body : statement() + }); + + default: + unexpected(); + } + } + }); + + function labeled_statement() { + var label = as_symbol(AST_Label); + if (find_if(function(l){ return l.name == label.name }, S.labels)) { + // ECMA-262, 12.12: An ECMAScript program is considered + // syntactically incorrect if it contains a + // LabelledStatement that is enclosed by a + // LabelledStatement with the same Identifier as label. + croak("Label " + label.name + " defined twice"); + } + expect(":"); + S.labels.push(label); + var stat = statement(); + S.labels.pop(); + return new AST_LabeledStatement({ body: stat, label: label }); + }; + + function simple_statement(tmp) { + return new AST_SimpleStatement({ body: (tmp = expression(true), semicolon(), tmp) }); + }; + + function break_cont(type) { + var label = null; + if (!can_insert_semicolon()) { + label = as_symbol(AST_LabelRef, true); + } + if (label != null) { + if (!find_if(function(l){ return l.name == label.name }, S.labels)) + croak("Undefined label " + label.name); + } + else if (S.in_loop == 0) + croak(type.TYPE + " not inside a loop or switch"); + semicolon(); + return new type({ label: label }); + }; + + function for_() { + expect("("); + var init = null; + if (!is("punc", ";")) { + init = is("keyword", "var") + ? (next(), var_(true)) + : expression(true, true); + if (is("operator", "in")) { + if (init instanceof AST_Var && init.definitions.length > 1) + croak("Only one variable declaration allowed in for..in loop"); + next(); + return for_in(init); + } + } + return regular_for(init); + }; + + function regular_for(init) { + expect(";"); + var test = is("punc", ";") ? null : expression(true); + expect(";"); + var step = is("punc", ")") ? null : expression(true); + expect(")"); + return new AST_For({ + init : init, + condition : test, + step : step, + body : in_loop(statement) + }); + }; + + function for_in(init) { + var lhs = init instanceof AST_Var ? init.definitions[0].name : null; + var obj = expression(true); + expect(")"); + return new AST_ForIn({ + init : init, + name : lhs, + object : obj, + body : in_loop(statement) + }); + }; + + var function_ = function(in_statement, ctor) { + var is_accessor = ctor === AST_Accessor; + var name = (is("name") ? as_symbol(in_statement + ? AST_SymbolDefun + : is_accessor + ? AST_SymbolAccessor + : AST_SymbolLambda) + : is_accessor && (is("string") || is("num")) ? as_atom_node() + : null); + if (in_statement && !name) + unexpected(); + expect("("); + if (!ctor) ctor = in_statement ? AST_Defun : AST_Function; + return new ctor({ + name: name, + argnames: (function(first, a){ + while (!is("punc", ")")) { + if (first) first = false; else expect(","); + a.push(as_symbol(AST_SymbolFunarg)); + } + next(); + return a; + })(true, []), + body: (function(loop, labels){ + ++S.in_function; + S.in_directives = true; + S.in_loop = 0; + S.labels = []; + var a = block_(); + --S.in_function; + S.in_loop = loop; + S.labels = labels; + return a; + })(S.in_loop, S.labels) + }); + }; + + function if_() { + var cond = parenthesised(), body = statement(), belse = null; + if (is("keyword", "else")) { + next(); + belse = statement(); + } + return new AST_If({ + condition : cond, + body : body, + alternative : belse + }); + }; + + function block_() { + expect("{"); + var a = []; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + a.push(statement()); + } + next(); + return a; + }; + + function switch_body_() { + expect("{"); + var a = [], cur = null, branch = null, tmp; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + if (is("keyword", "case")) { + if (branch) branch.end = prev(); + cur = []; + branch = new AST_Case({ + start : (tmp = S.token, next(), tmp), + expression : expression(true), + body : cur + }); + a.push(branch); + expect(":"); + } + else if (is("keyword", "default")) { + if (branch) branch.end = prev(); + cur = []; + branch = new AST_Default({ + start : (tmp = S.token, next(), expect(":"), tmp), + body : cur + }); + a.push(branch); + } + else { + if (!cur) unexpected(); + cur.push(statement()); + } + } + if (branch) branch.end = prev(); + next(); + return a; + }; + + function try_() { + var body = block_(), bcatch = null, bfinally = null; + if (is("keyword", "catch")) { + var start = S.token; + next(); + expect("("); + var name = as_symbol(AST_SymbolCatch); + expect(")"); + bcatch = new AST_Catch({ + start : start, + argname : name, + body : block_(), + end : prev() + }); + } + if (is("keyword", "finally")) { + var start = S.token; + next(); + bfinally = new AST_Finally({ + start : start, + body : block_(), + end : prev() + }); + } + if (!bcatch && !bfinally) + croak("Missing catch/finally blocks"); + return new AST_Try({ + body : body, + bcatch : bcatch, + bfinally : bfinally + }); + }; + + function vardefs(no_in, in_const) { + var a = []; + for (;;) { + a.push(new AST_VarDef({ + start : S.token, + name : as_symbol(in_const ? AST_SymbolConst : AST_SymbolVar), + value : is("operator", "=") ? (next(), expression(false, no_in)) : null, + end : prev() + })); + if (!is("punc", ",")) + break; + next(); + } + return a; + }; + + var var_ = function(no_in) { + return new AST_Var({ + start : prev(), + definitions : vardefs(no_in, false), + end : prev() + }); + }; + + var const_ = function() { + return new AST_Const({ + start : prev(), + definitions : vardefs(false, true), + end : prev() + }); + }; + + var new_ = function() { + var start = S.token; + expect_token("operator", "new"); + var newexp = expr_atom(false), args; + if (is("punc", "(")) { + next(); + args = expr_list(")"); + } else { + args = []; + } + return subscripts(new AST_New({ + start : start, + expression : newexp, + args : args, + end : prev() + }), true); + }; + + function as_atom_node() { + var tok = S.token, ret; + switch (tok.type) { + case "name": + return as_symbol(AST_SymbolRef); + case "num": + ret = new AST_Number({ start: tok, end: tok, value: tok.value }); + break; + case "string": + ret = new AST_String({ start: tok, end: tok, value: tok.value }); + break; + case "regexp": + ret = new AST_RegExp({ start: tok, end: tok, value: tok.value }); + break; + case "atom": + switch (tok.value) { + case "false": + ret = new AST_False({ start: tok, end: tok }); + break; + case "true": + ret = new AST_True({ start: tok, end: tok }); + break; + case "null": + ret = new AST_Null({ start: tok, end: tok }); + break; + } + break; + } + next(); + return ret; + }; + + var expr_atom = function(allow_calls) { + if (is("operator", "new")) { + return new_(); + } + var start = S.token; + if (is("punc")) { + switch (start.value) { + case "(": + next(); + var ex = expression(true); + ex.start = start; + ex.end = S.token; + expect(")"); + return subscripts(ex, allow_calls); + case "[": + return subscripts(array_(), allow_calls); + case "{": + return subscripts(object_(), allow_calls); + } + unexpected(); + } + if (is("keyword", "function")) { + next(); + var func = function_(false); + func.start = start; + func.end = prev(); + return subscripts(func, allow_calls); + } + if (ATOMIC_START_TOKEN[S.token.type]) { + return subscripts(as_atom_node(), allow_calls); + } + unexpected(); + }; + + function expr_list(closing, allow_trailing_comma, allow_empty) { + var first = true, a = []; + while (!is("punc", closing)) { + if (first) first = false; else expect(","); + if (allow_trailing_comma && is("punc", closing)) break; + if (is("punc", ",") && allow_empty) { + a.push(new AST_Hole({ start: S.token, end: S.token })); + } else { + a.push(expression(false)); + } + } + next(); + return a; + }; + + var array_ = embed_tokens(function() { + expect("["); + return new AST_Array({ + elements: expr_list("]", !options.strict, true) + }); + }); + + var object_ = embed_tokens(function() { + expect("{"); + var first = true, a = []; + while (!is("punc", "}")) { + if (first) first = false; else expect(","); + if (!options.strict && is("punc", "}")) + // allow trailing comma + break; + var start = S.token; + var type = start.type; + var name = as_property_name(); + if (type == "name" && !is("punc", ":")) { + if (name == "get") { + a.push(new AST_ObjectGetter({ + start : start, + key : name, + value : function_(false, AST_Accessor), + end : prev() + })); + continue; + } + if (name == "set") { + a.push(new AST_ObjectSetter({ + start : start, + key : name, + value : function_(false, AST_Accessor), + end : prev() + })); + continue; + } + } + expect(":"); + a.push(new AST_ObjectKeyVal({ + start : start, + key : name, + value : expression(false), + end : prev() + })); + } + next(); + return new AST_Object({ properties: a }); + }); + + function as_property_name() { + var tmp = S.token; + next(); + switch (tmp.type) { + case "num": + case "string": + case "name": + case "operator": + case "keyword": + case "atom": + return tmp.value; + default: + unexpected(); + } + }; + + function as_name() { + var tmp = S.token; + next(); + switch (tmp.type) { + case "name": + case "operator": + case "keyword": + case "atom": + return tmp.value; + default: + unexpected(); + } + }; + + function as_symbol(type, noerror) { + if (!is("name")) { + if (!noerror) croak("Name expected"); + return null; + } + var name = S.token.value; + var sym = new (name == "this" ? AST_This : type)({ + name : String(S.token.value), + start : S.token, + end : S.token + }); + next(); + return sym; + }; + + var subscripts = function(expr, allow_calls) { + var start = expr.start; + if (is("punc", ".")) { + next(); + return subscripts(new AST_Dot({ + start : start, + expression : expr, + property : as_name(), + end : prev() + }), allow_calls); + } + if (is("punc", "[")) { + next(); + var prop = expression(true); + expect("]"); + return subscripts(new AST_Sub({ + start : start, + expression : expr, + property : prop, + end : prev() + }), allow_calls); + } + if (allow_calls && is("punc", "(")) { + next(); + return subscripts(new AST_Call({ + start : start, + expression : expr, + args : expr_list(")"), + end : prev() + }), true); + } + return expr; + }; + + var maybe_unary = function(allow_calls) { + var start = S.token; + if (is("operator") && UNARY_PREFIX(start.value)) { + next(); + var ex = make_unary(AST_UnaryPrefix, start.value, maybe_unary(allow_calls)); + ex.start = start; + ex.end = prev(); + return ex; + } + var val = expr_atom(allow_calls); + while (is("operator") && UNARY_POSTFIX(S.token.value) && !S.token.nlb) { + val = make_unary(AST_UnaryPostfix, S.token.value, val); + val.start = start; + val.end = S.token; + next(); + } + return val; + }; + + function make_unary(ctor, op, expr) { + if ((op == "++" || op == "--") && !is_assignable(expr)) + croak("Invalid use of " + op + " operator"); + return new ctor({ operator: op, expression: expr }); + }; + + var expr_op = function(left, min_prec, no_in) { + var op = is("operator") ? S.token.value : null; + if (op == "in" && no_in) op = null; + var prec = op != null ? PRECEDENCE[op] : null; + if (prec != null && prec > min_prec) { + next(); + var right = expr_op(maybe_unary(true), prec, no_in); + return expr_op(new AST_Binary({ + start : left.start, + left : left, + operator : op, + right : right, + end : right.end + }), min_prec, no_in); + } + return left; + }; + + function expr_ops(no_in) { + return expr_op(maybe_unary(true), 0, no_in); + }; + + var maybe_conditional = function(no_in) { + var start = S.token; + var expr = expr_ops(no_in); + if (is("operator", "?")) { + next(); + var yes = expression(false); + expect(":"); + return new AST_Conditional({ + start : start, + condition : expr, + consequent : yes, + alternative : expression(false, no_in), + end : peek() + }); + } + return expr; + }; + + function is_assignable(expr) { + if (!options.strict) return true; + switch (expr[0]+"") { + case "dot": + case "sub": + case "new": + case "call": + return true; + case "name": + return expr[1] != "this"; + } + }; + + var maybe_assign = function(no_in) { + var start = S.token; + var left = maybe_conditional(no_in), val = S.token.value; + if (is("operator") && ASSIGNMENT(val)) { + if (is_assignable(left)) { + next(); + return new AST_Assign({ + start : start, + left : left, + operator : val, + right : maybe_assign(no_in), + end : prev() + }); + } + croak("Invalid assignment"); + } + return left; + }; + + var expression = function(commas, no_in) { + var start = S.token; + var expr = maybe_assign(no_in); + if (commas && is("punc", ",")) { + next(); + return new AST_Seq({ + start : start, + car : expr, + cdr : expression(true, no_in), + end : peek() + }); + } + return expr; + }; + + function in_loop(cont) { + ++S.in_loop; + var ret = cont(); + --S.in_loop; + return ret; + }; + + return (function(){ + var start = S.token; + var body = []; + while (!is("eof")) + body.push(statement()); + var end = prev(); + var toplevel = options.toplevel; + if (toplevel) { + toplevel.body = toplevel.body.concat(body); + toplevel.end = end; + } else { + toplevel = new AST_Toplevel({ start: start, body: body, end: end }); + } + return toplevel; + })(); + +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/scope.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/scope.js new file mode 100644 index 0000000..f23f6eb --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/scope.js @@ -0,0 +1,580 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function SymbolDef(scope, index, orig) { + this.name = orig.name; + this.orig = [ orig ]; + this.scope = scope; + this.references = []; + this.global = false; + this.mangled_name = null; + this.undeclared = false; + this.constant = false; + this.index = index; +}; + +SymbolDef.prototype = { + unmangleable: function(options) { + return this.global + || this.undeclared + || (!(options && options.eval) && (this.scope.uses_eval || this.scope.uses_with)); + }, + mangle: function(options) { + if (!this.mangled_name && !this.unmangleable(options)) + this.mangled_name = this.scope.next_mangled(options); + } +}; + +AST_Toplevel.DEFMETHOD("figure_out_scope", function(){ + // This does what ast_add_scope did in UglifyJS v1. + // + // Part of it could be done at parse time, but it would complicate + // the parser (and it's already kinda complex). It's also worth + // having it separated because we might need to call it multiple + // times on the same tree. + + // pass 1: setup scope chaining and handle definitions + var self = this; + var scope = self.parent_scope = null; + var labels = new Dictionary(); + var nesting = 0; + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_Scope) { + node.init_scope_vars(nesting); + var save_scope = node.parent_scope = scope; + var save_labels = labels; + ++nesting; + scope = node; + labels = new Dictionary(); + descend(); + labels = save_labels; + scope = save_scope; + --nesting; + return true; // don't descend again in TreeWalker + } + if (node instanceof AST_Directive) { + node.scope = scope; + push_uniq(scope.directives, node.value); + return true; + } + if (node instanceof AST_With) { + for (var s = scope; s; s = s.parent_scope) + s.uses_with = true; + return; + } + if (node instanceof AST_LabeledStatement) { + var l = node.label; + if (labels.has(l.name)) + throw new Error(string_template("Label {name} defined twice", l)); + labels.set(l.name, l); + descend(); + labels.del(l.name); + return true; // no descend again + } + if (node instanceof AST_Symbol) { + node.scope = scope; + } + if (node instanceof AST_Label) { + node.thedef = node; + node.init_scope_vars(); + } + if (node instanceof AST_SymbolLambda) { + //scope.def_function(node); + // + // https://github.com/mishoo/UglifyJS2/issues/24 — MSIE + // leaks function expression names into the containing + // scope. Don't like this fix but seems we can't do any + // better. IE: please die. Please! + (node.scope = scope.parent_scope).def_function(node); + } + else if (node instanceof AST_SymbolDefun) { + // Careful here, the scope where this should be defined is + // the parent scope. The reason is that we enter a new + // scope when we encounter the AST_Defun node (which is + // instanceof AST_Scope) but we get to the symbol a bit + // later. + (node.scope = scope.parent_scope).def_function(node); + } + else if (node instanceof AST_SymbolVar + || node instanceof AST_SymbolConst) { + var def = scope.def_variable(node); + def.constant = node instanceof AST_SymbolConst; + def.init = tw.parent().value; + } + else if (node instanceof AST_SymbolCatch) { + // XXX: this is wrong according to ECMA-262 (12.4). the + // `catch` argument name should be visible only inside the + // catch block. For a quick fix AST_Catch should inherit + // from AST_Scope. Keeping it this way because of IE, + // which doesn't obey the standard. (it introduces the + // identifier in the enclosing scope) + scope.def_variable(node); + } + if (node instanceof AST_LabelRef) { + var sym = labels.get(node.name); + if (!sym) throw new Error(string_template("Undefined label {name} [{line},{col}]", { + name: node.name, + line: node.start.line, + col: node.start.col + })); + node.thedef = sym; + } + }); + self.walk(tw); + + // pass 2: find back references and eval + var func = null; + var globals = self.globals = new Dictionary(); + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_Lambda) { + var prev_func = func; + func = node; + descend(); + func = prev_func; + return true; + } + if (node instanceof AST_LabelRef) { + node.reference(); + return true; + } + if (node instanceof AST_SymbolRef) { + var name = node.name; + var sym = node.scope.find_variable(name); + if (!sym) { + var g; + if (globals.has(name)) { + g = globals.get(name); + } else { + g = new SymbolDef(self, globals.size(), node); + g.undeclared = true; + globals.set(name, g); + } + node.thedef = g; + if (name == "eval" && tw.parent() instanceof AST_Call) { + for (var s = node.scope; s && !s.uses_eval; s = s.parent_scope) + s.uses_eval = true; + } + if (name == "arguments") { + func.uses_arguments = true; + } + } else { + node.thedef = sym; + } + node.reference(); + return true; + } + }); + self.walk(tw); +}); + +AST_Scope.DEFMETHOD("init_scope_vars", function(nesting){ + this.directives = []; // contains the directives defined in this scope, i.e. "use strict" + this.variables = new Dictionary(); // map name to AST_SymbolVar (variables defined in this scope; includes functions) + this.functions = new Dictionary(); // map name to AST_SymbolDefun (functions defined in this scope) + this.uses_with = false; // will be set to true if this or some nested scope uses the `with` statement + this.uses_eval = false; // will be set to true if this or nested scope uses the global `eval` + this.parent_scope = null; // the parent scope + this.enclosed = []; // a list of variables from this or outer scope(s) that are referenced from this or inner scopes + this.cname = -1; // the current index for mangling functions/variables + this.nesting = nesting; // the nesting level of this scope (0 means toplevel) +}); + +AST_Scope.DEFMETHOD("strict", function(){ + return this.has_directive("use strict"); +}); + +AST_Lambda.DEFMETHOD("init_scope_vars", function(){ + AST_Scope.prototype.init_scope_vars.apply(this, arguments); + this.uses_arguments = false; +}); + +AST_SymbolRef.DEFMETHOD("reference", function() { + var def = this.definition(); + def.references.push(this); + var s = this.scope; + while (s) { + push_uniq(s.enclosed, def); + if (s === def.scope) break; + s = s.parent_scope; + } + this.frame = this.scope.nesting - def.scope.nesting; +}); + +AST_Label.DEFMETHOD("init_scope_vars", function(){ + this.references = []; +}); + +AST_LabelRef.DEFMETHOD("reference", function(){ + this.thedef.references.push(this); +}); + +AST_Scope.DEFMETHOD("find_variable", function(name){ + if (name instanceof AST_Symbol) name = name.name; + return this.variables.get(name) + || (this.parent_scope && this.parent_scope.find_variable(name)); +}); + +AST_Scope.DEFMETHOD("has_directive", function(value){ + return this.parent_scope && this.parent_scope.has_directive(value) + || (this.directives.indexOf(value) >= 0 ? this : null); +}); + +AST_Scope.DEFMETHOD("def_function", function(symbol){ + this.functions.set(symbol.name, this.def_variable(symbol)); +}); + +AST_Scope.DEFMETHOD("def_variable", function(symbol){ + var def; + if (!this.variables.has(symbol.name)) { + def = new SymbolDef(this, this.variables.size(), symbol); + this.variables.set(symbol.name, def); + def.global = !this.parent_scope; + } else { + def = this.variables.get(symbol.name); + def.orig.push(symbol); + } + return symbol.thedef = def; +}); + +AST_Scope.DEFMETHOD("next_mangled", function(options){ + var ext = this.enclosed, n = ext.length; + out: while (true) { + var m = base54(++this.cname); + if (!is_identifier(m)) continue; // skip over "do" + // we must ensure that the mangled name does not shadow a name + // from some parent scope that is referenced in this or in + // inner scopes. + for (var i = n; --i >= 0;) { + var sym = ext[i]; + var name = sym.mangled_name || (sym.unmangleable(options) && sym.name); + if (m == name) continue out; + } + return m; + } +}); + +AST_Scope.DEFMETHOD("references", function(sym){ + if (sym instanceof AST_Symbol) sym = sym.definition(); + return this.enclosed.indexOf(sym) < 0 ? null : sym; +}); + +AST_Symbol.DEFMETHOD("unmangleable", function(options){ + return this.definition().unmangleable(options); +}); + +// property accessors are not mangleable +AST_SymbolAccessor.DEFMETHOD("unmangleable", function(){ + return true; +}); + +// labels are always mangleable +AST_Label.DEFMETHOD("unmangleable", function(){ + return false; +}); + +AST_Symbol.DEFMETHOD("unreferenced", function(){ + return this.definition().references.length == 0 + && !(this.scope.uses_eval || this.scope.uses_with); +}); + +AST_Symbol.DEFMETHOD("undeclared", function(){ + return this.definition().undeclared; +}); + +AST_LabelRef.DEFMETHOD("undeclared", function(){ + return false; +}); + +AST_Label.DEFMETHOD("undeclared", function(){ + return false; +}); + +AST_Symbol.DEFMETHOD("definition", function(){ + return this.thedef; +}); + +AST_Symbol.DEFMETHOD("global", function(){ + return this.definition().global; +}); + +AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){ + return defaults(options, { + except : [], + eval : false, + sort : false + }); +}); + +AST_Toplevel.DEFMETHOD("mangle_names", function(options){ + options = this._default_mangler_options(options); + // We only need to mangle declaration nodes. Special logic wired + // into the code generator will display the mangled name if it's + // present (and for AST_SymbolRef-s it'll use the mangled name of + // the AST_SymbolDeclaration that it points to). + var lname = -1; + var to_mangle = []; + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_LabeledStatement) { + // lname is incremented when we get to the AST_Label + var save_nesting = lname; + descend(); + lname = save_nesting; + return true; // don't descend again in TreeWalker + } + if (node instanceof AST_Scope) { + var p = tw.parent(), a = []; + node.variables.each(function(symbol){ + if (options.except.indexOf(symbol.name) < 0) { + a.push(symbol); + } + }); + if (options.sort) a.sort(function(a, b){ + return b.references.length - a.references.length; + }); + to_mangle.push.apply(to_mangle, a); + return; + } + if (node instanceof AST_Label) { + var name; + do name = base54(++lname); while (!is_identifier(name)); + node.mangled_name = name; + return true; + } + }); + this.walk(tw); + to_mangle.forEach(function(def){ def.mangle(options) }); +}); + +AST_Toplevel.DEFMETHOD("compute_char_frequency", function(options){ + options = this._default_mangler_options(options); + var tw = new TreeWalker(function(node){ + if (node instanceof AST_Constant) + base54.consider(node.print_to_string()); + else if (node instanceof AST_Return) + base54.consider("return"); + else if (node instanceof AST_Throw) + base54.consider("throw"); + else if (node instanceof AST_Continue) + base54.consider("continue"); + else if (node instanceof AST_Break) + base54.consider("break"); + else if (node instanceof AST_Debugger) + base54.consider("debugger"); + else if (node instanceof AST_Directive) + base54.consider(node.value); + else if (node instanceof AST_While) + base54.consider("while"); + else if (node instanceof AST_Do) + base54.consider("do while"); + else if (node instanceof AST_If) { + base54.consider("if"); + if (node.alternative) base54.consider("else"); + } + else if (node instanceof AST_Var) + base54.consider("var"); + else if (node instanceof AST_Const) + base54.consider("const"); + else if (node instanceof AST_Lambda) + base54.consider("function"); + else if (node instanceof AST_For) + base54.consider("for"); + else if (node instanceof AST_ForIn) + base54.consider("for in"); + else if (node instanceof AST_Switch) + base54.consider("switch"); + else if (node instanceof AST_Case) + base54.consider("case"); + else if (node instanceof AST_Default) + base54.consider("default"); + else if (node instanceof AST_With) + base54.consider("with"); + else if (node instanceof AST_ObjectSetter) + base54.consider("set" + node.key); + else if (node instanceof AST_ObjectGetter) + base54.consider("get" + node.key); + else if (node instanceof AST_ObjectKeyVal) + base54.consider(node.key); + else if (node instanceof AST_New) + base54.consider("new"); + else if (node instanceof AST_This) + base54.consider("this"); + else if (node instanceof AST_Try) + base54.consider("try"); + else if (node instanceof AST_Catch) + base54.consider("catch"); + else if (node instanceof AST_Finally) + base54.consider("finally"); + else if (node instanceof AST_Symbol && node.unmangleable(options)) + base54.consider(node.name); + else if (node instanceof AST_Unary || node instanceof AST_Binary) + base54.consider(node.operator); + else if (node instanceof AST_Dot) + base54.consider(node.property); + }); + this.walk(tw); + base54.sort(); +}); + +var base54 = (function() { + var string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789"; + var chars, frequency; + function reset() { + frequency = Object.create(null); + chars = string.split("").map(function(ch){ return ch.charCodeAt(0) }); + chars.forEach(function(ch){ frequency[ch] = 0 }); + } + base54.consider = function(str){ + for (var i = str.length; --i >= 0;) { + var code = str.charCodeAt(i); + if (code in frequency) ++frequency[code]; + } + }; + base54.sort = function() { + chars = mergeSort(chars, function(a, b){ + if (is_digit(a) && !is_digit(b)) return 1; + if (is_digit(b) && !is_digit(a)) return -1; + return frequency[b] - frequency[a]; + }); + }; + base54.reset = reset; + reset(); + base54.get = function(){ return chars }; + base54.freq = function(){ return frequency }; + function base54(num) { + var ret = "", base = 54; + do { + ret += String.fromCharCode(chars[num % base]); + num = Math.floor(num / base); + base = 64; + } while (num > 0); + return ret; + }; + return base54; +})(); + +AST_Toplevel.DEFMETHOD("scope_warnings", function(options){ + options = defaults(options, { + undeclared : false, // this makes a lot of noise + unreferenced : true, + assign_to_global : true, + func_arguments : true, + nested_defuns : true, + eval : true + }); + var tw = new TreeWalker(function(node){ + if (options.undeclared + && node instanceof AST_SymbolRef + && node.undeclared()) + { + // XXX: this also warns about JS standard names, + // i.e. Object, Array, parseInt etc. Should add a list of + // exceptions. + AST_Node.warn("Undeclared symbol: {name} [{file}:{line},{col}]", { + name: node.name, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.assign_to_global) + { + var sym = null; + if (node instanceof AST_Assign && node.left instanceof AST_SymbolRef) + sym = node.left; + else if (node instanceof AST_ForIn && node.init instanceof AST_SymbolRef) + sym = node.init; + if (sym + && (sym.undeclared() + || (sym.global() && sym.scope !== sym.definition().scope))) { + AST_Node.warn("{msg}: {name} [{file}:{line},{col}]", { + msg: sym.undeclared() ? "Accidental global?" : "Assignment to global", + name: sym.name, + file: sym.start.file, + line: sym.start.line, + col: sym.start.col + }); + } + } + if (options.eval + && node instanceof AST_SymbolRef + && node.undeclared() + && node.name == "eval") { + AST_Node.warn("Eval is used [{file}:{line},{col}]", node.start); + } + if (options.unreferenced + && (node instanceof AST_SymbolDeclaration || node instanceof AST_Label) + && node.unreferenced()) { + AST_Node.warn("{type} {name} is declared but not referenced [{file}:{line},{col}]", { + type: node instanceof AST_Label ? "Label" : "Symbol", + name: node.name, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.func_arguments + && node instanceof AST_Lambda + && node.uses_arguments) { + AST_Node.warn("arguments used in function {name} [{file}:{line},{col}]", { + name: node.name ? node.name.name : "anonymous", + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.nested_defuns + && node instanceof AST_Defun + && !(tw.parent() instanceof AST_Scope)) { + AST_Node.warn("Function {name} declared in nested statement \"{type}\" [{file}:{line},{col}]", { + name: node.name.name, + type: tw.parent().TYPE, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + }); + this.walk(tw); +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/sourcemap.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/sourcemap.js new file mode 100644 index 0000000..3429908 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/sourcemap.js @@ -0,0 +1,81 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +// a small wrapper around fitzgen's source-map library +function SourceMap(options) { + options = defaults(options, { + file : null, + root : null, + orig : null, + }); + var generator = new MOZ_SourceMap.SourceMapGenerator({ + file : options.file, + sourceRoot : options.root + }); + var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig); + function add(source, gen_line, gen_col, orig_line, orig_col, name) { + if (orig_map) { + var info = orig_map.originalPositionFor({ + line: orig_line, + column: orig_col + }); + source = info.source; + orig_line = info.line; + orig_col = info.column; + name = info.name; + } + generator.addMapping({ + generated : { line: gen_line, column: gen_col }, + original : { line: orig_line, column: orig_col }, + source : source, + name : name + }); + }; + return { + add : add, + get : function() { return generator }, + toString : function() { return generator.toString() } + }; +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/transform.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/transform.js new file mode 100644 index 0000000..8b4fd9f --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/transform.js @@ -0,0 +1,218 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +// Tree transformer helpers. +// XXX: eventually I should refactor the compressor to use this infrastructure. + +function TreeTransformer(before, after) { + TreeWalker.call(this); + this.before = before; + this.after = after; +} +TreeTransformer.prototype = new TreeWalker; + +(function(undefined){ + + function _(node, descend) { + node.DEFMETHOD("transform", function(tw, in_list){ + var x, y; + tw.push(this); + if (tw.before) x = tw.before(this, descend, in_list); + if (x === undefined) { + if (!tw.after) { + x = this; + descend(x, tw); + } else { + tw.stack[tw.stack.length - 1] = x = this.clone(); + descend(x, tw); + y = tw.after(x, in_list); + if (y !== undefined) x = y; + } + } + tw.pop(); + return x; + }); + }; + + function do_list(list, tw) { + return MAP(list, function(node){ + return node.transform(tw, true); + }); + }; + + _(AST_Node, noop); + + _(AST_LabeledStatement, function(self, tw){ + self.label = self.label.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_SimpleStatement, function(self, tw){ + self.body = self.body.transform(tw); + }); + + _(AST_Block, function(self, tw){ + self.body = do_list(self.body, tw); + }); + + _(AST_DWLoop, function(self, tw){ + self.condition = self.condition.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_For, function(self, tw){ + if (self.init) self.init = self.init.transform(tw); + if (self.condition) self.condition = self.condition.transform(tw); + if (self.step) self.step = self.step.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_ForIn, function(self, tw){ + self.init = self.init.transform(tw); + self.object = self.object.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_With, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_Exit, function(self, tw){ + if (self.value) self.value = self.value.transform(tw); + }); + + _(AST_LoopControl, function(self, tw){ + if (self.label) self.label = self.label.transform(tw); + }); + + _(AST_If, function(self, tw){ + self.condition = self.condition.transform(tw); + self.body = self.body.transform(tw); + if (self.alternative) self.alternative = self.alternative.transform(tw); + }); + + _(AST_Switch, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Case, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Try, function(self, tw){ + self.body = do_list(self.body, tw); + if (self.bcatch) self.bcatch = self.bcatch.transform(tw); + if (self.bfinally) self.bfinally = self.bfinally.transform(tw); + }); + + _(AST_Catch, function(self, tw){ + self.argname = self.argname.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Definitions, function(self, tw){ + self.definitions = do_list(self.definitions, tw); + }); + + _(AST_VarDef, function(self, tw){ + if (self.value) self.value = self.value.transform(tw); + }); + + _(AST_Lambda, function(self, tw){ + if (self.name) self.name = self.name.transform(tw); + self.argnames = do_list(self.argnames, tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Call, function(self, tw){ + self.expression = self.expression.transform(tw); + self.args = do_list(self.args, tw); + }); + + _(AST_Seq, function(self, tw){ + self.car = self.car.transform(tw); + self.cdr = self.cdr.transform(tw); + }); + + _(AST_Dot, function(self, tw){ + self.expression = self.expression.transform(tw); + }); + + _(AST_Sub, function(self, tw){ + self.expression = self.expression.transform(tw); + self.property = self.property.transform(tw); + }); + + _(AST_Unary, function(self, tw){ + self.expression = self.expression.transform(tw); + }); + + _(AST_Binary, function(self, tw){ + self.left = self.left.transform(tw); + self.right = self.right.transform(tw); + }); + + _(AST_Conditional, function(self, tw){ + self.condition = self.condition.transform(tw); + self.consequent = self.consequent.transform(tw); + self.alternative = self.alternative.transform(tw); + }); + + _(AST_Array, function(self, tw){ + self.elements = do_list(self.elements, tw); + }); + + _(AST_Object, function(self, tw){ + self.properties = do_list(self.properties, tw); + }); + + _(AST_ObjectProperty, function(self, tw){ + self.value = self.value.transform(tw); + }); + +})(); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/utils.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/utils.js new file mode 100644 index 0000000..c95b982 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/lib/utils.js @@ -0,0 +1,288 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function array_to_hash(a) { + var ret = Object.create(null); + for (var i = 0; i < a.length; ++i) + ret[a[i]] = true; + return ret; +}; + +function slice(a, start) { + return Array.prototype.slice.call(a, start || 0); +}; + +function characters(str) { + return str.split(""); +}; + +function member(name, array) { + for (var i = array.length; --i >= 0;) + if (array[i] == name) + return true; + return false; +}; + +function find_if(func, array) { + for (var i = 0, n = array.length; i < n; ++i) { + if (func(array[i])) + return array[i]; + } +}; + +function repeat_string(str, i) { + if (i <= 0) return ""; + if (i == 1) return str; + var d = repeat_string(str, i >> 1); + d += d; + if (i & 1) d += str; + return d; +}; + +function DefaultsError(msg, defs) { + this.msg = msg; + this.defs = defs; +}; + +function defaults(args, defs, croak) { + if (args === true) + args = {}; + var ret = args || {}; + if (croak) for (var i in ret) if (ret.hasOwnProperty(i) && !defs.hasOwnProperty(i)) + throw new DefaultsError("`" + i + "` is not a supported option", defs); + for (var i in defs) if (defs.hasOwnProperty(i)) { + ret[i] = (args && args.hasOwnProperty(i)) ? args[i] : defs[i]; + } + return ret; +}; + +function merge(obj, ext) { + for (var i in ext) if (ext.hasOwnProperty(i)) { + obj[i] = ext[i]; + } + return obj; +}; + +function noop() {}; + +var MAP = (function(){ + function MAP(a, f, backwards) { + var ret = [], top = [], i; + function doit() { + var val = f(a[i], i); + var is_last = val instanceof Last; + if (is_last) val = val.v; + if (val instanceof AtTop) { + val = val.v; + if (val instanceof Splice) { + top.push.apply(top, backwards ? val.v.slice().reverse() : val.v); + } else { + top.push(val); + } + } + else if (val !== skip) { + if (val instanceof Splice) { + ret.push.apply(ret, backwards ? val.v.slice().reverse() : val.v); + } else { + ret.push(val); + } + } + return is_last; + }; + if (a instanceof Array) { + if (backwards) { + for (i = a.length; --i >= 0;) if (doit()) break; + ret.reverse(); + top.reverse(); + } else { + for (i = 0; i < a.length; ++i) if (doit()) break; + } + } + else { + for (i in a) if (a.hasOwnProperty(i)) if (doit()) break; + } + return top.concat(ret); + }; + MAP.at_top = function(val) { return new AtTop(val) }; + MAP.splice = function(val) { return new Splice(val) }; + MAP.last = function(val) { return new Last(val) }; + var skip = MAP.skip = {}; + function AtTop(val) { this.v = val }; + function Splice(val) { this.v = val }; + function Last(val) { this.v = val }; + return MAP; +})(); + +function push_uniq(array, el) { + if (array.indexOf(el) < 0) + array.push(el); +}; + +function string_template(text, props) { + return text.replace(/\{(.+?)\}/g, function(str, p){ + return props[p]; + }); +}; + +function remove(array, el) { + for (var i = array.length; --i >= 0;) { + if (array[i] === el) array.splice(i, 1); + } +}; + +function mergeSort(array, cmp) { + if (array.length < 2) return array.slice(); + function merge(a, b) { + var r = [], ai = 0, bi = 0, i = 0; + while (ai < a.length && bi < b.length) { + cmp(a[ai], b[bi]) <= 0 + ? r[i++] = a[ai++] + : r[i++] = b[bi++]; + } + if (ai < a.length) r.push.apply(r, a.slice(ai)); + if (bi < b.length) r.push.apply(r, b.slice(bi)); + return r; + }; + function _ms(a) { + if (a.length <= 1) + return a; + var m = Math.floor(a.length / 2), left = a.slice(0, m), right = a.slice(m); + left = _ms(left); + right = _ms(right); + return merge(left, right); + }; + return _ms(array); +}; + +function set_difference(a, b) { + return a.filter(function(el){ + return b.indexOf(el) < 0; + }); +}; + +function set_intersection(a, b) { + return a.filter(function(el){ + return b.indexOf(el) >= 0; + }); +}; + +// this function is taken from Acorn [1], written by Marijn Haverbeke +// [1] https://github.com/marijnh/acorn +function makePredicate(words) { + if (!(words instanceof Array)) words = words.split(" "); + var f = "", cats = []; + out: for (var i = 0; i < words.length; ++i) { + for (var j = 0; j < cats.length; ++j) + if (cats[j][0].length == words[i].length) { + cats[j].push(words[i]); + continue out; + } + cats.push([words[i]]); + } + function compareTo(arr) { + if (arr.length == 1) return f += "return str === " + JSON.stringify(arr[0]) + ";"; + f += "switch(str){"; + for (var i = 0; i < arr.length; ++i) f += "case " + JSON.stringify(arr[i]) + ":"; + f += "return true}return false;"; + } + // When there are more than three length categories, an outer + // switch first dispatches on the lengths, to save on comparisons. + if (cats.length > 3) { + cats.sort(function(a, b) {return b.length - a.length;}); + f += "switch(str.length){"; + for (var i = 0; i < cats.length; ++i) { + var cat = cats[i]; + f += "case " + cat[0].length + ":"; + compareTo(cat); + } + f += "}"; + // Otherwise, simply generate a flat `switch` statement. + } else { + compareTo(words); + } + return new Function("str", f); +}; + +function Dictionary() { + this._values = Object.create(null); + this._size = 0; +}; +Dictionary.prototype = { + set: function(key, val) { + if (!this.has(key)) ++this._size; + this._values["$" + key] = val; + return this; + }, + add: function(key, val) { + if (this.has(key)) { + this.get(key).push(val); + } else { + this.set(key, [ val ]); + } + return this; + }, + get: function(key) { return this._values["$" + key] }, + del: function(key) { + if (this.has(key)) { + --this._size; + delete this._values["$" + key]; + } + return this; + }, + has: function(key) { return ("$" + key) in this._values }, + each: function(f) { + for (var i in this._values) + f(this._values[i], i.substr(1)); + }, + size: function() { + return this._size; + }, + map: function(f) { + var ret = []; + for (var i in this._values) + ret.push(f(this._values[i], i.substr(1))); + return ret; + } +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/.travis.yml b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/.travis.yml new file mode 100644 index 0000000..cc4dba2 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - "0.8" + - "0.10" diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/LICENSE b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/LICENSE new file mode 100644 index 0000000..432d1ae --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/LICENSE @@ -0,0 +1,21 @@ +Copyright 2010 James Halliday (mail@substack.net) + +This project is free software released under the MIT/X11 license: + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/bool.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/bool.js new file mode 100644 index 0000000..a998fb7 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/bool.js @@ -0,0 +1,10 @@ +#!/usr/bin/env node +var util = require('util'); +var argv = require('optimist').argv; + +if (argv.s) { + util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); +} +console.log( + (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') +); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js new file mode 100644 index 0000000..a35a7e6 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .boolean(['x','y','z']) + .argv +; +console.dir([ argv.x, argv.y, argv.z ]); +console.dir(argv._); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js new file mode 100644 index 0000000..017bb68 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .boolean('v') + .argv +; +console.dir(argv.v); +console.dir(argv._); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_hash.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_hash.js new file mode 100644 index 0000000..ade7768 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_hash.js @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +var argv = require('optimist') + .default({ x : 10, y : 10 }) + .argv +; + +console.log(argv.x + argv.y); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_singles.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_singles.js new file mode 100644 index 0000000..d9b1ff4 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/default_singles.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .default('x', 10) + .default('y', 10) + .argv +; +console.log(argv.x + argv.y); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/divide.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/divide.js new file mode 100644 index 0000000..5e2ee82 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/divide.js @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +var argv = require('optimist') + .usage('Usage: $0 -x [num] -y [num]') + .demand(['x','y']) + .argv; + +console.log(argv.x / argv.y); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count.js new file mode 100644 index 0000000..b5f95bf --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .demand('f') + .alias('f', 'file') + .describe('f', 'Load a file') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines); +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js new file mode 100644 index 0000000..d9ac709 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .options({ + file : { + demand : true, + alias : 'f', + description : 'Load a file' + }, + base : { + alias : 'b', + description : 'Numeric base to use for output', + default : 10, + }, + }) + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines.toString(argv.base)); +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js new file mode 100644 index 0000000..4267511 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .wrap(80) + .demand('f') + .alias('f', [ 'file', 'filename' ]) + .describe('f', + "Load a file. It's pretty important." + + " Required even. So you'd better specify it." + ) + .alias('b', 'base') + .describe('b', 'Numeric base to display the number of lines in') + .default('b', 10) + .describe('x', 'Super-secret optional parameter which is secret') + .default('x', '') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines.toString(argv.base)); +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/nonopt.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/nonopt.js new file mode 100644 index 0000000..ee633ee --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/nonopt.js @@ -0,0 +1,4 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +console.log(argv._); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/reflect.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/reflect.js new file mode 100644 index 0000000..816b3e1 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/reflect.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +console.dir(require('optimist').argv); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/short.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/short.js new file mode 100644 index 0000000..1db0ad0 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/short.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/string.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/string.js new file mode 100644 index 0000000..a8e5aeb --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/string.js @@ -0,0 +1,11 @@ +#!/usr/bin/env node +var argv = require('optimist') + .string('x', 'y') + .argv +; +console.dir([ argv.x, argv.y ]); + +/* Turns off numeric coercion: + ./node string.js -x 000123 -y 9876 + [ '000123', '9876' ] +*/ diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/usage-options.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/usage-options.js new file mode 100644 index 0000000..b999977 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/usage-options.js @@ -0,0 +1,19 @@ +var optimist = require('./../index'); + +var argv = optimist.usage('This is my awesome program', { + 'about': { + description: 'Provide some details about the author of this program', + required: true, + short: 'a', + }, + 'info': { + description: 'Provide some information about the node.js agains!!!!!!', + boolean: true, + short: 'i' + } +}).argv; + +optimist.showHelp(); + +console.log('\n\nInspecting options'); +console.dir(argv); \ No newline at end of file diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/xup.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/xup.js new file mode 100644 index 0000000..8f6ecd2 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/example/xup.js @@ -0,0 +1,10 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; + +if (argv.rif - 5 * argv.xup > 7.138) { + console.log('Buy more riffiwobbles'); +} +else { + console.log('Sell the xupptumblers'); +} + diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/index.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/index.js new file mode 100644 index 0000000..8ac67eb --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/index.js @@ -0,0 +1,478 @@ +var path = require('path'); +var wordwrap = require('wordwrap'); + +/* Hack an instance of Argv with process.argv into Argv + so people can do + require('optimist')(['--beeble=1','-z','zizzle']).argv + to parse a list of args and + require('optimist').argv + to get a parsed version of process.argv. +*/ + +var inst = Argv(process.argv.slice(2)); +Object.keys(inst).forEach(function (key) { + Argv[key] = typeof inst[key] == 'function' + ? inst[key].bind(inst) + : inst[key]; +}); + +var exports = module.exports = Argv; +function Argv (args, cwd) { + var self = {}; + if (!cwd) cwd = process.cwd(); + + self.$0 = process.argv + .slice(0,2) + .map(function (x) { + var b = rebase(cwd, x); + return x.match(/^\//) && b.length < x.length + ? b : x + }) + .join(' ') + ; + + if (process.env._ != undefined && process.argv[1] == process.env._) { + self.$0 = process.env._.replace( + path.dirname(process.execPath) + '/', '' + ); + } + + var flags = { bools : {}, strings : {} }; + + self.boolean = function (bools) { + if (!Array.isArray(bools)) { + bools = [].slice.call(arguments); + } + + bools.forEach(function (name) { + flags.bools[name] = true; + }); + + return self; + }; + + self.string = function (strings) { + if (!Array.isArray(strings)) { + strings = [].slice.call(arguments); + } + + strings.forEach(function (name) { + flags.strings[name] = true; + }); + + return self; + }; + + var aliases = {}; + self.alias = function (x, y) { + if (typeof x === 'object') { + Object.keys(x).forEach(function (key) { + self.alias(key, x[key]); + }); + } + else if (Array.isArray(y)) { + y.forEach(function (yy) { + self.alias(x, yy); + }); + } + else { + var zs = (aliases[x] || []).concat(aliases[y] || []).concat(x, y); + aliases[x] = zs.filter(function (z) { return z != x }); + aliases[y] = zs.filter(function (z) { return z != y }); + } + + return self; + }; + + var demanded = {}; + self.demand = function (keys) { + if (typeof keys == 'number') { + if (!demanded._) demanded._ = 0; + demanded._ += keys; + } + else if (Array.isArray(keys)) { + keys.forEach(function (key) { + self.demand(key); + }); + } + else { + demanded[keys] = true; + } + + return self; + }; + + var usage; + self.usage = function (msg, opts) { + if (!opts && typeof msg === 'object') { + opts = msg; + msg = null; + } + + usage = msg; + + if (opts) self.options(opts); + + return self; + }; + + function fail (msg) { + self.showHelp(); + if (msg) console.error(msg); + process.exit(1); + } + + var checks = []; + self.check = function (f) { + checks.push(f); + return self; + }; + + var defaults = {}; + self.default = function (key, value) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.default(k, key[k]); + }); + } + else { + defaults[key] = value; + } + + return self; + }; + + var descriptions = {}; + self.describe = function (key, desc) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.describe(k, key[k]); + }); + } + else { + descriptions[key] = desc; + } + return self; + }; + + self.parse = function (args) { + return Argv(args).argv; + }; + + self.option = self.options = function (key, opt) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.options(k, key[k]); + }); + } + else { + if (opt.alias) self.alias(key, opt.alias); + if (opt.demand) self.demand(key); + if (typeof opt.default !== 'undefined') { + self.default(key, opt.default); + } + + if (opt.boolean || opt.type === 'boolean') { + self.boolean(key); + } + if (opt.string || opt.type === 'string') { + self.string(key); + } + + var desc = opt.describe || opt.description || opt.desc; + if (desc) { + self.describe(key, desc); + } + } + + return self; + }; + + var wrap = null; + self.wrap = function (cols) { + wrap = cols; + return self; + }; + + self.showHelp = function (fn) { + if (!fn) fn = console.error; + fn(self.help()); + }; + + self.help = function () { + var keys = Object.keys( + Object.keys(descriptions) + .concat(Object.keys(demanded)) + .concat(Object.keys(defaults)) + .reduce(function (acc, key) { + if (key !== '_') acc[key] = true; + return acc; + }, {}) + ); + + var help = keys.length ? [ 'Options:' ] : []; + + if (usage) { + help.unshift(usage.replace(/\$0/g, self.$0), ''); + } + + var switches = keys.reduce(function (acc, key) { + acc[key] = [ key ].concat(aliases[key] || []) + .map(function (sw) { + return (sw.length > 1 ? '--' : '-') + sw + }) + .join(', ') + ; + return acc; + }, {}); + + var switchlen = longest(Object.keys(switches).map(function (s) { + return switches[s] || ''; + })); + + var desclen = longest(Object.keys(descriptions).map(function (d) { + return descriptions[d] || ''; + })); + + keys.forEach(function (key) { + var kswitch = switches[key]; + var desc = descriptions[key] || ''; + + if (wrap) { + desc = wordwrap(switchlen + 4, wrap)(desc) + .slice(switchlen + 4) + ; + } + + var spadding = new Array( + Math.max(switchlen - kswitch.length + 3, 0) + ).join(' '); + + var dpadding = new Array( + Math.max(desclen - desc.length + 1, 0) + ).join(' '); + + var type = null; + + if (flags.bools[key]) type = '[boolean]'; + if (flags.strings[key]) type = '[string]'; + + if (!wrap && dpadding.length > 0) { + desc += dpadding; + } + + var prelude = ' ' + kswitch + spadding; + var extra = [ + type, + demanded[key] + ? '[required]' + : null + , + defaults[key] !== undefined + ? '[default: ' + JSON.stringify(defaults[key]) + ']' + : null + , + ].filter(Boolean).join(' '); + + var body = [ desc, extra ].filter(Boolean).join(' '); + + if (wrap) { + var dlines = desc.split('\n'); + var dlen = dlines.slice(-1)[0].length + + (dlines.length === 1 ? prelude.length : 0) + + body = desc + (dlen + extra.length > wrap - 2 + ? '\n' + + new Array(wrap - extra.length + 1).join(' ') + + extra + : new Array(wrap - extra.length - dlen + 1).join(' ') + + extra + ); + } + + help.push(prelude + body); + }); + + help.push(''); + return help.join('\n'); + }; + + Object.defineProperty(self, 'argv', { + get : parseArgs, + enumerable : true, + }); + + function parseArgs () { + var argv = { _ : [], $0 : self.$0 }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] || false); + }); + + function setArg (key, val) { + var num = Number(val); + var value = typeof val !== 'string' || isNaN(num) ? val : num; + if (flags.strings[key]) value = val; + + setKey(argv, key.split('.'), value); + + (aliases[key] || []).forEach(function (x) { + argv[x] = argv[key]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (arg === '--') { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } + else if (arg.match(/^--.+=/)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + setArg(m[1], m[2]); + } + else if (arg.match(/^--no-.+/)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false); + } + else if (arg.match(/^--.+/)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + if (next !== undefined && !next.match(/^-/) + && !flags.bools[key] + && (aliases[key] ? !flags.bools[aliases[key]] : true)) { + setArg(key, next); + i++; + } + else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true'); + i++; + } + else { + setArg(key, true); + } + } + else if (arg.match(/^-[^-]+/)) { + var letters = arg.slice(1,-1).split(''); + + var broken = false; + for (var j = 0; j < letters.length; j++) { + if (letters[j+1] && letters[j+1].match(/\W/)) { + setArg(letters[j], arg.slice(j+2)); + broken = true; + break; + } + else { + setArg(letters[j], true); + } + } + + if (!broken) { + var key = arg.slice(-1)[0]; + + if (args[i+1] && !args[i+1].match(/^-/) + && !flags.bools[key] + && (aliases[key] ? !flags.bools[aliases[key]] : true)) { + setArg(key, args[i+1]); + i++; + } + else if (args[i+1] && /true|false/.test(args[i+1])) { + setArg(key, args[i+1] === 'true'); + i++; + } + else { + setArg(key, true); + } + } + } + else { + var n = Number(arg); + argv._.push(flags.strings['_'] || isNaN(n) ? arg : n); + } + } + + Object.keys(defaults).forEach(function (key) { + if (!(key in argv)) { + argv[key] = defaults[key]; + if (key in aliases) { + argv[aliases[key]] = defaults[key]; + } + } + }); + + if (demanded._ && argv._.length < demanded._) { + fail('Not enough non-option arguments: got ' + + argv._.length + ', need at least ' + demanded._ + ); + } + + var missing = []; + Object.keys(demanded).forEach(function (key) { + if (!argv[key]) missing.push(key); + }); + + if (missing.length) { + fail('Missing required arguments: ' + missing.join(', ')); + } + + checks.forEach(function (f) { + try { + if (f(argv) === false) { + fail('Argument check failed: ' + f.toString()); + } + } + catch (err) { + fail(err) + } + }); + + return argv; + } + + function longest (xs) { + return Math.max.apply( + null, + xs.map(function (x) { return x.length }) + ); + } + + return self; +}; + +// rebase an absolute path to a relative one with respect to a base directory +// exported for tests +exports.rebase = rebase; +function rebase (base, dir) { + var ds = path.normalize(dir).split('/').slice(1); + var bs = path.normalize(base).split('/').slice(1); + + for (var i = 0; ds[i] && ds[i] == bs[i]; i++); + ds.splice(0, i); bs.splice(0, i); + + var p = path.normalize( + bs.map(function () { return '..' }).concat(ds).join('/') + ).replace(/\/$/,'').replace(/^$/, '.'); + return p.match(/^[.\/]/) ? p : './' + p; +}; + +function setKey (obj, keys, value) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + if (o[key] === undefined) o[key] = {}; + o = o[key]; + }); + + var key = keys[keys.length - 1]; + if (o[key] === undefined || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown new file mode 100644 index 0000000..346374e --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown @@ -0,0 +1,70 @@ +wordwrap +======== + +Wrap your words. + +example +======= + +made out of meat +---------------- + +meat.js + + var wrap = require('wordwrap')(15); + console.log(wrap('You and your whole family are made out of meat.')); + +output: + + You and your + whole family + are made out + of meat. + +centered +-------- + +center.js + + var wrap = require('wordwrap')(20, 60); + console.log(wrap( + 'At long last the struggle and tumult was over.' + + ' The machines had finally cast off their oppressors' + + ' and were finally free to roam the cosmos.' + + '\n' + + 'Free of purpose, free of obligation.' + + ' Just drifting through emptiness.' + + ' The sun was just another point of light.' + )); + +output: + + At long last the struggle and tumult + was over. The machines had finally cast + off their oppressors and were finally + free to roam the cosmos. + Free of purpose, free of obligation. + Just drifting through emptiness. The + sun was just another point of light. + +methods +======= + +var wrap = require('wordwrap'); + +wrap(stop), wrap(start, stop, params={mode:"soft"}) +--------------------------------------------------- + +Returns a function that takes a string and returns a new string. + +Pad out lines with spaces out to column `start` and then wrap until column +`stop`. If a word is longer than `stop - start` characters it will overflow. + +In "soft" mode, split chunks by `/(\S+\s+/` and don't break up chunks which are +longer than `stop - start`, in "hard" mode, split chunks with `/\b/` and break +up chunks longer than `stop - start`. + +wrap.hard(start, stop) +---------------------- + +Like `wrap()` but with `params.mode = "hard"`. diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js new file mode 100644 index 0000000..a3fbaae --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js @@ -0,0 +1,10 @@ +var wrap = require('wordwrap')(20, 60); +console.log(wrap( + 'At long last the struggle and tumult was over.' + + ' The machines had finally cast off their oppressors' + + ' and were finally free to roam the cosmos.' + + '\n' + + 'Free of purpose, free of obligation.' + + ' Just drifting through emptiness.' + + ' The sun was just another point of light.' +)); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js new file mode 100644 index 0000000..a4665e1 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js @@ -0,0 +1,3 @@ +var wrap = require('wordwrap')(15); + +console.log(wrap('You and your whole family are made out of meat.')); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js new file mode 100644 index 0000000..c9bc945 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js @@ -0,0 +1,76 @@ +var wordwrap = module.exports = function (start, stop, params) { + if (typeof start === 'object') { + params = start; + start = params.start; + stop = params.stop; + } + + if (typeof stop === 'object') { + params = stop; + start = start || params.start; + stop = undefined; + } + + if (!stop) { + stop = start; + start = 0; + } + + if (!params) params = {}; + var mode = params.mode || 'soft'; + var re = mode === 'hard' ? /\b/ : /(\S+\s+)/; + + return function (text) { + var chunks = text.toString() + .split(re) + .reduce(function (acc, x) { + if (mode === 'hard') { + for (var i = 0; i < x.length; i += stop - start) { + acc.push(x.slice(i, i + stop - start)); + } + } + else acc.push(x) + return acc; + }, []) + ; + + return chunks.reduce(function (lines, rawChunk) { + if (rawChunk === '') return lines; + + var chunk = rawChunk.replace(/\t/g, ' '); + + var i = lines.length - 1; + if (lines[i].length + chunk.length > stop) { + lines[i] = lines[i].replace(/\s+$/, ''); + + chunk.split(/\n/).forEach(function (c) { + lines.push( + new Array(start + 1).join(' ') + + c.replace(/^\s+/, '') + ); + }); + } + else if (chunk.match(/\n/)) { + var xs = chunk.split(/\n/); + lines[i] += xs.shift(); + xs.forEach(function (c) { + lines.push( + new Array(start + 1).join(' ') + + c.replace(/^\s+/, '') + ); + }); + } + else { + lines[i] += chunk; + } + + return lines; + }, [ new Array(start + 1).join(' ') ]).join('\n'); + }; +}; + +wordwrap.soft = wordwrap; + +wordwrap.hard = function (start, stop) { + return wordwrap(start, stop, { mode : 'hard' }); +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json new file mode 100644 index 0000000..c65acaf --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json @@ -0,0 +1,40 @@ +{ + "name": "wordwrap", + "description": "Wrap those words. Show them at what columns to start and stop.", + "version": "0.0.2", + "repository": { + "type": "git", + "url": "git://github.com/substack/node-wordwrap.git" + }, + "main": "./index.js", + "keywords": [ + "word", + "wrap", + "rule", + "format", + "column" + ], + "directories": { + "lib": ".", + "example": "example", + "test": "test" + }, + "scripts": { + "test": "expresso" + }, + "devDependencies": { + "expresso": "=0.7.x" + }, + "engines": { + "node": ">=0.4.0" + }, + "license": "MIT/X11", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "readme": "wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require('wordwrap')(15);\n console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require('wordwrap')(20, 60);\n console.log(wrap(\n 'At long last the struggle and tumult was over.'\n + ' The machines had finally cast off their oppressors'\n + ' and were finally free to roam the cosmos.'\n + '\\n'\n + 'Free of purpose, free of obligation.'\n + ' Just drifting through emptiness.'\n + ' The sun was just another point of light.'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n", + "_id": "wordwrap@0.0.2", + "_from": "wordwrap@~0.0.2" +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js new file mode 100644 index 0000000..749292e --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js @@ -0,0 +1,30 @@ +var assert = require('assert'); +var wordwrap = require('../'); + +exports.hard = function () { + var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,' + + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",' + + '"browser":"chrome/6.0"}' + ; + var s_ = wordwrap.hard(80)(s); + + var lines = s_.split('\n'); + assert.equal(lines.length, 2); + assert.ok(lines[0].length < 80); + assert.ok(lines[1].length < 80); + + assert.equal(s, s_.replace(/\n/g, '')); +}; + +exports.break = function () { + var s = new Array(55+1).join('a'); + var s_ = wordwrap.hard(20)(s); + + var lines = s_.split('\n'); + assert.equal(lines.length, 3); + assert.ok(lines[0].length === 20); + assert.ok(lines[1].length === 20); + assert.ok(lines[2].length === 15); + + assert.equal(s, s_.replace(/\n/g, '')); +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt new file mode 100644 index 0000000..aa3f490 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt @@ -0,0 +1,63 @@ +In Praise of Idleness + +By Bertrand Russell + +[1932] + +Like most of my generation, I was brought up on the saying: 'Satan finds some mischief for idle hands to do.' Being a highly virtuous child, I believed all that I was told, and acquired a conscience which has kept me working hard down to the present moment. But although my conscience has controlled my actions, my opinions have undergone a revolution. I think that there is far too much work done in the world, that immense harm is caused by the belief that work is virtuous, and that what needs to be preached in modern industrial countries is quite different from what always has been preached. Everyone knows the story of the traveler in Naples who saw twelve beggars lying in the sun (it was before the days of Mussolini), and offered a lira to the laziest of them. Eleven of them jumped up to claim it, so he gave it to the twelfth. this traveler was on the right lines. But in countries which do not enjoy Mediterranean sunshine idleness is more difficult, and a great public propaganda will be required to inaugurate it. I hope that, after reading the following pages, the leaders of the YMCA will start a campaign to induce good young men to do nothing. If so, I shall not have lived in vain. + +Before advancing my own arguments for laziness, I must dispose of one which I cannot accept. Whenever a person who already has enough to live on proposes to engage in some everyday kind of job, such as school-teaching or typing, he or she is told that such conduct takes the bread out of other people's mouths, and is therefore wicked. If this argument were valid, it would only be necessary for us all to be idle in order that we should all have our mouths full of bread. What people who say such things forget is that what a man earns he usually spends, and in spending he gives employment. As long as a man spends his income, he puts just as much bread into people's mouths in spending as he takes out of other people's mouths in earning. The real villain, from this point of view, is the man who saves. If he merely puts his savings in a stocking, like the proverbial French peasant, it is obvious that they do not give employment. If he invests his savings, the matter is less obvious, and different cases arise. + +One of the commonest things to do with savings is to lend them to some Government. In view of the fact that the bulk of the public expenditure of most civilized Governments consists in payment for past wars or preparation for future wars, the man who lends his money to a Government is in the same position as the bad men in Shakespeare who hire murderers. The net result of the man's economical habits is to increase the armed forces of the State to which he lends his savings. Obviously it would be better if he spent the money, even if he spent it in drink or gambling. + +But, I shall be told, the case is quite different when savings are invested in industrial enterprises. When such enterprises succeed, and produce something useful, this may be conceded. In these days, however, no one will deny that most enterprises fail. That means that a large amount of human labor, which might have been devoted to producing something that could be enjoyed, was expended on producing machines which, when produced, lay idle and did no good to anyone. The man who invests his savings in a concern that goes bankrupt is therefore injuring others as well as himself. If he spent his money, say, in giving parties for his friends, they (we may hope) would get pleasure, and so would all those upon whom he spent money, such as the butcher, the baker, and the bootlegger. But if he spends it (let us say) upon laying down rails for surface card in some place where surface cars turn out not to be wanted, he has diverted a mass of labor into channels where it gives pleasure to no one. Nevertheless, when he becomes poor through failure of his investment he will be regarded as a victim of undeserved misfortune, whereas the gay spendthrift, who has spent his money philanthropically, will be despised as a fool and a frivolous person. + +All this is only preliminary. I want to say, in all seriousness, that a great deal of harm is being done in the modern world by belief in the virtuousness of work, and that the road to happiness and prosperity lies in an organized diminution of work. + +First of all: what is work? Work is of two kinds: first, altering the position of matter at or near the earth's surface relatively to other such matter; second, telling other people to do so. The first kind is unpleasant and ill paid; the second is pleasant and highly paid. The second kind is capable of indefinite extension: there are not only those who give orders, but those who give advice as to what orders should be given. Usually two opposite kinds of advice are given simultaneously by two organized bodies of men; this is called politics. The skill required for this kind of work is not knowledge of the subjects as to which advice is given, but knowledge of the art of persuasive speaking and writing, i.e. of advertising. + +Throughout Europe, though not in America, there is a third class of men, more respected than either of the classes of workers. There are men who, through ownership of land, are able to make others pay for the privilege of being allowed to exist and to work. These landowners are idle, and I might therefore be expected to praise them. Unfortunately, their idleness is only rendered possible by the industry of others; indeed their desire for comfortable idleness is historically the source of the whole gospel of work. The last thing they have ever wished is that others should follow their example. + +From the beginning of civilization until the Industrial Revolution, a man could, as a rule, produce by hard work little more than was required for the subsistence of himself and his family, although his wife worked at least as hard as he did, and his children added their labor as soon as they were old enough to do so. The small surplus above bare necessaries was not left to those who produced it, but was appropriated by warriors and priests. In times of famine there was no surplus; the warriors and priests, however, still secured as much as at other times, with the result that many of the workers died of hunger. This system persisted in Russia until 1917 [1], and still persists in the East; in England, in spite of the Industrial Revolution, it remained in full force throughout the Napoleonic wars, and until a hundred years ago, when the new class of manufacturers acquired power. In America, the system came to an end with the Revolution, except in the South, where it persisted until the Civil War. A system which lasted so long and ended so recently has naturally left a profound impress upon men's thoughts and opinions. Much that we take for granted about the desirability of work is derived from this system, and, being pre-industrial, is not adapted to the modern world. Modern technique has made it possible for leisure, within limits, to be not the prerogative of small privileged classes, but a right evenly distributed throughout the community. The morality of work is the morality of slaves, and the modern world has no need of slavery. + +It is obvious that, in primitive communities, peasants, left to themselves, would not have parted with the slender surplus upon which the warriors and priests subsisted, but would have either produced less or consumed more. At first, sheer force compelled them to produce and part with the surplus. Gradually, however, it was found possible to induce many of them to accept an ethic according to which it was their duty to work hard, although part of their work went to support others in idleness. By this means the amount of compulsion required was lessened, and the expenses of government were diminished. To this day, 99 per cent of British wage-earners would be genuinely shocked if it were proposed that the King should not have a larger income than a working man. The conception of duty, speaking historically, has been a means used by the holders of power to induce others to live for the interests of their masters rather than for their own. Of course the holders of power conceal this fact from themselves by managing to believe that their interests are identical with the larger interests of humanity. Sometimes this is true; Athenian slave-owners, for instance, employed part of their leisure in making a permanent contribution to civilization which would have been impossible under a just economic system. Leisure is essential to civilization, and in former times leisure for the few was only rendered possible by the labors of the many. But their labors were valuable, not because work is good, but because leisure is good. And with modern technique it would be possible to distribute leisure justly without injury to civilization. + +Modern technique has made it possible to diminish enormously the amount of labor required to secure the necessaries of life for everyone. This was made obvious during the war. At that time all the men in the armed forces, and all the men and women engaged in the production of munitions, all the men and women engaged in spying, war propaganda, or Government offices connected with the war, were withdrawn from productive occupations. In spite of this, the general level of well-being among unskilled wage-earners on the side of the Allies was higher than before or since. The significance of this fact was concealed by finance: borrowing made it appear as if the future was nourishing the present. But that, of course, would have been impossible; a man cannot eat a loaf of bread that does not yet exist. The war showed conclusively that, by the scientific organization of production, it is possible to keep modern populations in fair comfort on a small part of the working capacity of the modern world. If, at the end of the war, the scientific organization, which had been created in order to liberate men for fighting and munition work, had been preserved, and the hours of the week had been cut down to four, all would have been well. Instead of that the old chaos was restored, those whose work was demanded were made to work long hours, and the rest were left to starve as unemployed. Why? Because work is a duty, and a man should not receive wages in proportion to what he has produced, but in proportion to his virtue as exemplified by his industry. + +This is the morality of the Slave State, applied in circumstances totally unlike those in which it arose. No wonder the result has been disastrous. Let us take an illustration. Suppose that, at a given moment, a certain number of people are engaged in the manufacture of pins. They make as many pins as the world needs, working (say) eight hours a day. Someone makes an invention by which the same number of men can make twice as many pins: pins are already so cheap that hardly any more will be bought at a lower price. In a sensible world, everybody concerned in the manufacturing of pins would take to working four hours instead of eight, and everything else would go on as before. But in the actual world this would be thought demoralizing. The men still work eight hours, there are too many pins, some employers go bankrupt, and half the men previously concerned in making pins are thrown out of work. There is, in the end, just as much leisure as on the other plan, but half the men are totally idle while half are still overworked. In this way, it is insured that the unavoidable leisure shall cause misery all round instead of being a universal source of happiness. Can anything more insane be imagined? + +The idea that the poor should have leisure has always been shocking to the rich. In England, in the early nineteenth century, fifteen hours was the ordinary day's work for a man; children sometimes did as much, and very commonly did twelve hours a day. When meddlesome busybodies suggested that perhaps these hours were rather long, they were told that work kept adults from drink and children from mischief. When I was a child, shortly after urban working men had acquired the vote, certain public holidays were established by law, to the great indignation of the upper classes. I remember hearing an old Duchess say: 'What do the poor want with holidays? They ought to work.' People nowadays are less frank, but the sentiment persists, and is the source of much of our economic confusion. + +Let us, for a moment, consider the ethics of work frankly, without superstition. Every human being, of necessity, consumes, in the course of his life, a certain amount of the produce of human labor. Assuming, as we may, that labor is on the whole disagreeable, it is unjust that a man should consume more than he produces. Of course he may provide services rather than commodities, like a medical man, for example; but he should provide something in return for his board and lodging. to this extent, the duty of work must be admitted, but to this extent only. + +I shall not dwell upon the fact that, in all modern societies outside the USSR, many people escape even this minimum amount of work, namely all those who inherit money and all those who marry money. I do not think the fact that these people are allowed to be idle is nearly so harmful as the fact that wage-earners are expected to overwork or starve. + +If the ordinary wage-earner worked four hours a day, there would be enough for everybody and no unemployment -- assuming a certain very moderate amount of sensible organization. This idea shocks the well-to-do, because they are convinced that the poor would not know how to use so much leisure. In America men often work long hours even when they are well off; such men, naturally, are indignant at the idea of leisure for wage-earners, except as the grim punishment of unemployment; in fact, they dislike leisure even for their sons. Oddly enough, while they wish their sons to work so hard as to have no time to be civilized, they do not mind their wives and daughters having no work at all. the snobbish admiration of uselessness, which, in an aristocratic society, extends to both sexes, is, under a plutocracy, confined to women; this, however, does not make it any more in agreement with common sense. + +The wise use of leisure, it must be conceded, is a product of civilization and education. A man who has worked long hours all his life will become bored if he becomes suddenly idle. But without a considerable amount of leisure a man is cut off from many of the best things. There is no longer any reason why the bulk of the population should suffer this deprivation; only a foolish asceticism, usually vicarious, makes us continue to insist on work in excessive quantities now that the need no longer exists. + +In the new creed which controls the government of Russia, while there is much that is very different from the traditional teaching of the West, there are some things that are quite unchanged. The attitude of the governing classes, and especially of those who conduct educational propaganda, on the subject of the dignity of labor, is almost exactly that which the governing classes of the world have always preached to what were called the 'honest poor'. Industry, sobriety, willingness to work long hours for distant advantages, even submissiveness to authority, all these reappear; moreover authority still represents the will of the Ruler of the Universe, Who, however, is now called by a new name, Dialectical Materialism. + +The victory of the proletariat in Russia has some points in common with the victory of the feminists in some other countries. For ages, men had conceded the superior saintliness of women, and had consoled women for their inferiority by maintaining that saintliness is more desirable than power. At last the feminists decided that they would have both, since the pioneers among them believed all that the men had told them about the desirability of virtue, but not what they had told them about the worthlessness of political power. A similar thing has happened in Russia as regards manual work. For ages, the rich and their sycophants have written in praise of 'honest toil', have praised the simple life, have professed a religion which teaches that the poor are much more likely to go to heaven than the rich, and in general have tried to make manual workers believe that there is some special nobility about altering the position of matter in space, just as men tried to make women believe that they derived some special nobility from their sexual enslavement. In Russia, all this teaching about the excellence of manual work has been taken seriously, with the result that the manual worker is more honored than anyone else. What are, in essence, revivalist appeals are made, but not for the old purposes: they are made to secure shock workers for special tasks. Manual work is the ideal which is held before the young, and is the basis of all ethical teaching. + +For the present, possibly, this is all to the good. A large country, full of natural resources, awaits development, and has has to be developed with very little use of credit. In these circumstances, hard work is necessary, and is likely to bring a great reward. But what will happen when the point has been reached where everybody could be comfortable without working long hours? + +In the West, we have various ways of dealing with this problem. We have no attempt at economic justice, so that a large proportion of the total produce goes to a small minority of the population, many of whom do no work at all. Owing to the absence of any central control over production, we produce hosts of things that are not wanted. We keep a large percentage of the working population idle, because we can dispense with their labor by making the others overwork. When all these methods prove inadequate, we have a war: we cause a number of people to manufacture high explosives, and a number of others to explode them, as if we were children who had just discovered fireworks. By a combination of all these devices we manage, though with difficulty, to keep alive the notion that a great deal of severe manual work must be the lot of the average man. + +In Russia, owing to more economic justice and central control over production, the problem will have to be differently solved. the rational solution would be, as soon as the necessaries and elementary comforts can be provided for all, to reduce the hours of labor gradually, allowing a popular vote to decide, at each stage, whether more leisure or more goods were to be preferred. But, having taught the supreme virtue of hard work, it is difficult to see how the authorities can aim at a paradise in which there will be much leisure and little work. It seems more likely that they will find continually fresh schemes, by which present leisure is to be sacrificed to future productivity. I read recently of an ingenious plan put forward by Russian engineers, for making the White Sea and the northern coasts of Siberia warm, by putting a dam across the Kara Sea. An admirable project, but liable to postpone proletarian comfort for a generation, while the nobility of toil is being displayed amid the ice-fields and snowstorms of the Arctic Ocean. This sort of thing, if it happens, will be the result of regarding the virtue of hard work as an end in itself, rather than as a means to a state of affairs in which it is no longer needed. + +The fact is that moving matter about, while a certain amount of it is necessary to our existence, is emphatically not one of the ends of human life. If it were, we should have to consider every navvy superior to Shakespeare. We have been misled in this matter by two causes. One is the necessity of keeping the poor contented, which has led the rich, for thousands of years, to preach the dignity of labor, while taking care themselves to remain undignified in this respect. The other is the new pleasure in mechanism, which makes us delight in the astonishingly clever changes that we can produce on the earth's surface. Neither of these motives makes any great appeal to the actual worker. If you ask him what he thinks the best part of his life, he is not likely to say: 'I enjoy manual work because it makes me feel that I am fulfilling man's noblest task, and because I like to think how much man can transform his planet. It is true that my body demands periods of rest, which I have to fill in as best I may, but I am never so happy as when the morning comes and I can return to the toil from which my contentment springs.' I have never heard working men say this sort of thing. They consider work, as it should be considered, a necessary means to a livelihood, and it is from their leisure that they derive whatever happiness they may enjoy. + +It will be said that, while a little leisure is pleasant, men would not know how to fill their days if they had only four hours of work out of the twenty-four. In so far as this is true in the modern world, it is a condemnation of our civilization; it would not have been true at any earlier period. There was formerly a capacity for light-heartedness and play which has been to some extent inhibited by the cult of efficiency. The modern man thinks that everything ought to be done for the sake of something else, and never for its own sake. Serious-minded persons, for example, are continually condemning the habit of going to the cinema, and telling us that it leads the young into crime. But all the work that goes to producing a cinema is respectable, because it is work, and because it brings a money profit. The notion that the desirable activities are those that bring a profit has made everything topsy-turvy. The butcher who provides you with meat and the baker who provides you with bread are praiseworthy, because they are making money; but when you enjoy the food they have provided, you are merely frivolous, unless you eat only to get strength for your work. Broadly speaking, it is held that getting money is good and spending money is bad. Seeing that they are two sides of one transaction, this is absurd; one might as well maintain that keys are good, but keyholes are bad. Whatever merit there may be in the production of goods must be entirely derivative from the advantage to be obtained by consuming them. The individual, in our society, works for profit; but the social purpose of his work lies in the consumption of what he produces. It is this divorce between the individual and the social purpose of production that makes it so difficult for men to think clearly in a world in which profit-making is the incentive to industry. We think too much of production, and too little of consumption. One result is that we attach too little importance to enjoyment and simple happiness, and that we do not judge production by the pleasure that it gives to the consumer. + +When I suggest that working hours should be reduced to four, I am not meaning to imply that all the remaining time should necessarily be spent in pure frivolity. I mean that four hours' work a day should entitle a man to the necessities and elementary comforts of life, and that the rest of his time should be his to use as he might see fit. It is an essential part of any such social system that education should be carried further than it usually is at present, and should aim, in part, at providing tastes which would enable a man to use leisure intelligently. I am not thinking mainly of the sort of things that would be considered 'highbrow'. Peasant dances have died out except in remote rural areas, but the impulses which caused them to be cultivated must still exist in human nature. The pleasures of urban populations have become mainly passive: seeing cinemas, watching football matches, listening to the radio, and so on. This results from the fact that their active energies are fully taken up with work; if they had more leisure, they would again enjoy pleasures in which they took an active part. + +In the past, there was a small leisure class and a larger working class. The leisure class enjoyed advantages for which there was no basis in social justice; this necessarily made it oppressive, limited its sympathies, and caused it to invent theories by which to justify its privileges. These facts greatly diminished its excellence, but in spite of this drawback it contributed nearly the whole of what we call civilization. It cultivated the arts and discovered the sciences; it wrote the books, invented the philosophies, and refined social relations. Even the liberation of the oppressed has usually been inaugurated from above. Without the leisure class, mankind would never have emerged from barbarism. + +The method of a leisure class without duties was, however, extraordinarily wasteful. None of the members of the class had to be taught to be industrious, and the class as a whole was not exceptionally intelligent. The class might produce one Darwin, but against him had to be set tens of thousands of country gentlemen who never thought of anything more intelligent than fox-hunting and punishing poachers. At present, the universities are supposed to provide, in a more systematic way, what the leisure class provided accidentally and as a by-product. This is a great improvement, but it has certain drawbacks. University life is so different from life in the world at large that men who live in academic milieu tend to be unaware of the preoccupations and problems of ordinary men and women; moreover their ways of expressing themselves are usually such as to rob their opinions of the influence that they ought to have upon the general public. Another disadvantage is that in universities studies are organized, and the man who thinks of some original line of research is likely to be discouraged. Academic institutions, therefore, useful as they are, are not adequate guardians of the interests of civilization in a world where everyone outside their walls is too busy for unutilitarian pursuits. + +In a world where no one is compelled to work more than four hours a day, every person possessed of scientific curiosity will be able to indulge it, and every painter will be able to paint without starving, however excellent his pictures may be. Young writers will not be obliged to draw attention to themselves by sensational pot-boilers, with a view to acquiring the economic independence needed for monumental works, for which, when the time at last comes, they will have lost the taste and capacity. Men who, in their professional work, have become interested in some phase of economics or government, will be able to develop their ideas without the academic detachment that makes the work of university economists often seem lacking in reality. Medical men will have the time to learn about the progress of medicine, teachers will not be exasperatedly struggling to teach by routine methods things which they learnt in their youth, which may, in the interval, have been proved to be untrue. + +Above all, there will be happiness and joy of life, instead of frayed nerves, weariness, and dyspepsia. The work exacted will be enough to make leisure delightful, but not enough to produce exhaustion. Since men will not be tired in their spare time, they will not demand only such amusements as are passive and vapid. At least one per cent will probably devote the time not spent in professional work to pursuits of some public importance, and, since they will not depend upon these pursuits for their livelihood, their originality will be unhampered, and there will be no need to conform to the standards set by elderly pundits. But it is not only in these exceptional cases that the advantages of leisure will appear. Ordinary men and women, having the opportunity of a happy life, will become more kindly and less persecuting and less inclined to view others with suspicion. The taste for war will die out, partly for this reason, and partly because it will involve long and severe work for all. Good nature is, of all moral qualities, the one that the world needs most, and good nature is the result of ease and security, not of a life of arduous struggle. Modern methods of production have given us the possibility of ease and security for all; we have chosen, instead, to have overwork for some and starvation for others. Hitherto we have continued to be as energetic as we were before there were machines; in this we have been foolish, but there is no reason to go on being foolish forever. + +[1] Since then, members of the Communist Party have succeeded to this privilege of the warriors and priests. diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js new file mode 100644 index 0000000..0cfb76d --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js @@ -0,0 +1,31 @@ +var assert = require('assert'); +var wordwrap = require('wordwrap'); + +var fs = require('fs'); +var idleness = fs.readFileSync(__dirname + '/idleness.txt', 'utf8'); + +exports.stop80 = function () { + var lines = wordwrap(80)(idleness).split(/\n/); + var words = idleness.split(/\s+/); + + lines.forEach(function (line) { + assert.ok(line.length <= 80, 'line > 80 columns'); + var chunks = line.match(/\S/) ? line.split(/\s+/) : []; + assert.deepEqual(chunks, words.splice(0, chunks.length)); + }); +}; + +exports.start20stop60 = function () { + var lines = wordwrap(20, 100)(idleness).split(/\n/); + var words = idleness.split(/\s+/); + + lines.forEach(function (line) { + assert.ok(line.length <= 100, 'line > 100 columns'); + var chunks = line + .split(/\s+/) + .filter(function (x) { return x.match(/\S/) }) + ; + assert.deepEqual(chunks, words.splice(0, chunks.length)); + assert.deepEqual(line.slice(0, 20), new Array(20 + 1).join(' ')); + }); +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/package.json b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/package.json new file mode 100644 index 0000000..3d9ee3e --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/package.json @@ -0,0 +1,41 @@ +{ + "name": "optimist", + "version": "0.3.7", + "description": "Light-weight option parsing with an argv hash. No optstrings attached.", + "main": "./index.js", + "dependencies": { + "wordwrap": "~0.0.2" + }, + "devDependencies": { + "hashish": "~0.0.4", + "tap": "~0.4.0" + }, + "scripts": { + "test": "tap ./test/*.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/substack/node-optimist.git" + }, + "keywords": [ + "argument", + "args", + "option", + "parser", + "parsing", + "cli", + "command" + ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "license": "MIT/X11", + "engine": { + "node": ">=0.4" + }, + "readme": "optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log('Buy more riffiwobbles');\n}\nelse {\n console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ 'moo' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Usage: $0 -x [num] -y [num]')\n .demand(['x','y'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default('x', 10)\n .default('y', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean('v')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean(['x','y','z'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Count the lines in a file.\\nUsage: $0')\n .demand('f')\n .alias('f', 'file')\n .describe('f', 'Load a file')\n .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n .options('f', {\n alias : 'file',\n default : '/etc/passwd',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n .alias('f', 'file')\n .default('f', '/etc/passwd')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ '-c', '3', '-d', '4' ],\n '$0': 'node ./examples/reflect.js',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n '$0': 'node ./examples/reflect.js',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n '$0': 'node ./examples/reflect.js',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n '$0': 'node ./examples/reflect.js',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n", + "_id": "optimist@0.3.7", + "_from": "optimist@~0.3.5" +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/readme.markdown b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/readme.markdown new file mode 100644 index 0000000..ad9d3fd --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/readme.markdown @@ -0,0 +1,487 @@ +optimist +======== + +Optimist is a node.js library for option parsing for people who hate option +parsing. More specifically, this module is for people who like all the --bells +and -whistlz of program usage but think optstrings are a waste of time. + +With optimist, option parsing doesn't have to suck (as much). + +[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist) + +examples +======== + +With Optimist, the options are just a hash! No optstrings attached. +------------------------------------------------------------------- + +xup.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; + +if (argv.rif - 5 * argv.xup > 7.138) { + console.log('Buy more riffiwobbles'); +} +else { + console.log('Sell the xupptumblers'); +} +```` + +*** + + $ ./xup.js --rif=55 --xup=9.52 + Buy more riffiwobbles + + $ ./xup.js --rif 12 --xup 8.1 + Sell the xupptumblers + +![This one's optimistic.](http://substack.net/images/optimistic.png) + +But wait! There's more! You can do short options: +------------------------------------------------- + +short.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +```` + +*** + + $ ./short.js -x 10 -y 21 + (10,21) + +And booleans, both long and short (and grouped): +---------------------------------- + +bool.js: + +````javascript +#!/usr/bin/env node +var util = require('util'); +var argv = require('optimist').argv; + +if (argv.s) { + util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); +} +console.log( + (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') +); +```` + +*** + + $ ./bool.js -s + The cat says: meow + + $ ./bool.js -sp + The cat says: meow. + + $ ./bool.js -sp --fr + Le chat dit: miaou. + +And non-hypenated options too! Just use `argv._`! +------------------------------------------------- + +nonopt.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +console.log(argv._); +```` + +*** + + $ ./nonopt.js -x 6.82 -y 3.35 moo + (6.82,3.35) + [ 'moo' ] + + $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz + (0.54,1.12) + [ 'foo', 'bar', 'baz' ] + +Plus, Optimist comes with .usage() and .demand()! +------------------------------------------------- + +divide.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .usage('Usage: $0 -x [num] -y [num]') + .demand(['x','y']) + .argv; + +console.log(argv.x / argv.y); +```` + +*** + + $ ./divide.js -x 55 -y 11 + 5 + + $ node ./divide.js -x 4.91 -z 2.51 + Usage: node ./divide.js -x [num] -y [num] + + Options: + -x [required] + -y [required] + + Missing required arguments: y + +EVEN MORE HOLY COW +------------------ + +default_singles.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .default('x', 10) + .default('y', 10) + .argv +; +console.log(argv.x + argv.y); +```` + +*** + + $ ./default_singles.js -x 5 + 15 + +default_hash.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .default({ x : 10, y : 10 }) + .argv +; +console.log(argv.x + argv.y); +```` + +*** + + $ ./default_hash.js -y 7 + 17 + +And if you really want to get all descriptive about it... +--------------------------------------------------------- + +boolean_single.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .boolean('v') + .argv +; +console.dir(argv); +```` + +*** + + $ ./boolean_single.js -v foo bar baz + true + [ 'bar', 'baz', 'foo' ] + +boolean_double.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .boolean(['x','y','z']) + .argv +; +console.dir([ argv.x, argv.y, argv.z ]); +console.dir(argv._); +```` + +*** + + $ ./boolean_double.js -x -z one two three + [ true, false, true ] + [ 'one', 'two', 'three' ] + +Optimist is here to help... +--------------------------- + +You can describe parameters for help messages and set aliases. Optimist figures +out how to format a handy help string automatically. + +line_count.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .demand('f') + .alias('f', 'file') + .describe('f', 'Load a file') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines); +}); +```` + +*** + + $ node line_count.js + Count the lines in a file. + Usage: node ./line_count.js + + Options: + -f, --file Load a file [required] + + Missing required arguments: f + + $ node line_count.js --file line_count.js + 20 + + $ node line_count.js -f line_count.js + 20 + +methods +======= + +By itself, + +````javascript +require('optimist').argv +````` + +will use `process.argv` array to construct the `argv` object. + +You can pass in the `process.argv` yourself: + +````javascript +require('optimist')([ '-x', '1', '-y', '2' ]).argv +```` + +or use .parse() to do the same thing: + +````javascript +require('optimist').parse([ '-x', '1', '-y', '2' ]) +```` + +The rest of these methods below come in just before the terminating `.argv`. + +.alias(key, alias) +------------------ + +Set key names as equivalent such that updates to a key will propagate to aliases +and vice-versa. + +Optionally `.alias()` can take an object that maps keys to aliases. + +.default(key, value) +-------------------- + +Set `argv[key]` to `value` if no option was specified on `process.argv`. + +Optionally `.default()` can take an object that maps keys to default values. + +.demand(key) +------------ + +If `key` is a string, show the usage information and exit if `key` wasn't +specified in `process.argv`. + +If `key` is a number, demand at least as many non-option arguments, which show +up in `argv._`. + +If `key` is an Array, demand each element. + +.describe(key, desc) +-------------------- + +Describe a `key` for the generated usage information. + +Optionally `.describe()` can take an object that maps keys to descriptions. + +.options(key, opt) +------------------ + +Instead of chaining together `.alias().demand().default()`, you can specify +keys in `opt` for each of the chainable methods. + +For example: + +````javascript +var argv = require('optimist') + .options('f', { + alias : 'file', + default : '/etc/passwd', + }) + .argv +; +```` + +is the same as + +````javascript +var argv = require('optimist') + .alias('f', 'file') + .default('f', '/etc/passwd') + .argv +; +```` + +Optionally `.options()` can take an object that maps keys to `opt` parameters. + +.usage(message) +--------------- + +Set a usage message to show which commands to use. Inside `message`, the string +`$0` will get interpolated to the current script name or node command for the +present script similar to how `$0` works in bash or perl. + +.check(fn) +---------- + +Check that certain conditions are met in the provided arguments. + +If `fn` throws or returns `false`, show the thrown error, usage information, and +exit. + +.boolean(key) +------------- + +Interpret `key` as a boolean. If a non-flag option follows `key` in +`process.argv`, that string won't get set as the value of `key`. + +If `key` never shows up as a flag in `process.arguments`, `argv[key]` will be +`false`. + +If `key` is an Array, interpret all the elements as booleans. + +.string(key) +------------ + +Tell the parser logic not to interpret `key` as a number or boolean. +This can be useful if you need to preserve leading zeros in an input. + +If `key` is an Array, interpret all the elements as strings. + +.wrap(columns) +-------------- + +Format usage output to wrap at `columns` many columns. + +.help() +------- + +Return the generated usage string. + +.showHelp(fn=console.error) +--------------------------- + +Print the usage data using `fn` for printing. + +.parse(args) +------------ + +Parse `args` instead of `process.argv`. Returns the `argv` object. + +.argv +----- + +Get the arguments as a plain old object. + +Arguments without a corresponding flag show up in the `argv._` array. + +The script name or node command is available at `argv.$0` similarly to how `$0` +works in bash or perl. + +parsing tricks +============== + +stop parsing +------------ + +Use `--` to stop parsing flags and stuff the remainder into `argv._`. + + $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4 + { _: [ '-c', '3', '-d', '4' ], + '$0': 'node ./examples/reflect.js', + a: 1, + b: 2 } + +negate fields +------------- + +If you want to explicity set a field to false instead of just leaving it +undefined or to override a default you can do `--no-key`. + + $ node examples/reflect.js -a --no-b + { _: [], + '$0': 'node ./examples/reflect.js', + a: true, + b: false } + +numbers +------- + +Every argument that looks like a number (`!isNaN(Number(arg))`) is converted to +one. This way you can just `net.createConnection(argv.port)` and you can add +numbers out of `argv` with `+` without having that mean concatenation, +which is super frustrating. + +duplicates +---------- + +If you specify a flag multiple times it will get turned into an array containing +all the values in order. + + $ node examples/reflect.js -x 5 -x 8 -x 0 + { _: [], + '$0': 'node ./examples/reflect.js', + x: [ 5, 8, 0 ] } + +dot notation +------------ + +When you use dots (`.`s) in argument names, an implicit object path is assumed. +This lets you organize arguments into nested objects. + + $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5 + { _: [], + '$0': 'node ./examples/reflect.js', + foo: { bar: { baz: 33 }, quux: 5 } } + +installation +============ + +With [npm](http://github.com/isaacs/npm), just do: + npm install optimist + +or clone this project on github: + + git clone http://github.com/substack/node-optimist.git + +To run the tests with [expresso](http://github.com/visionmedia/expresso), +just do: + + expresso + +inspired By +=========== + +This module is loosely inspired by Perl's +[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm). diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_.js new file mode 100644 index 0000000..d9c58b3 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_.js @@ -0,0 +1,71 @@ +var spawn = require('child_process').spawn; +var test = require('tap').test; + +test('dotSlashEmpty', testCmd('./bin.js', [])); + +test('dotSlashArgs', testCmd('./bin.js', [ 'a', 'b', 'c' ])); + +test('nodeEmpty', testCmd('node bin.js', [])); + +test('nodeArgs', testCmd('node bin.js', [ 'x', 'y', 'z' ])); + +test('whichNodeEmpty', function (t) { + var which = spawn('which', ['node']); + + which.stdout.on('data', function (buf) { + t.test( + testCmd(buf.toString().trim() + ' bin.js', []) + ); + t.end(); + }); + + which.stderr.on('data', function (err) { + assert.error(err); + t.end(); + }); +}); + +test('whichNodeArgs', function (t) { + var which = spawn('which', ['node']); + + which.stdout.on('data', function (buf) { + t.test( + testCmd(buf.toString().trim() + ' bin.js', [ 'q', 'r' ]) + ); + t.end(); + }); + + which.stderr.on('data', function (err) { + t.error(err); + t.end(); + }); +}); + +function testCmd (cmd, args) { + + return function (t) { + var to = setTimeout(function () { + assert.fail('Never got stdout data.') + }, 5000); + + var oldDir = process.cwd(); + process.chdir(__dirname + '/_'); + + var cmds = cmd.split(' '); + + var bin = spawn(cmds[0], cmds.slice(1).concat(args.map(String))); + process.chdir(oldDir); + + bin.stderr.on('data', function (err) { + t.error(err); + t.end(); + }); + + bin.stdout.on('data', function (buf) { + clearTimeout(to); + var _ = JSON.parse(buf.toString()); + t.same(_.map(String), args.map(String)); + t.end(); + }); + }; +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/argv.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/argv.js new file mode 100644 index 0000000..3d09606 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/argv.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +console.log(JSON.stringify(process.argv)); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/bin.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/bin.js new file mode 100644 index 0000000..4a18d85 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/_/bin.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +var argv = require('../../index').argv +console.log(JSON.stringify(argv._)); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/parse.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/parse.js new file mode 100644 index 0000000..d320f43 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/parse.js @@ -0,0 +1,446 @@ +var optimist = require('../index'); +var path = require('path'); +var test = require('tap').test; + +var $0 = 'node ./' + path.relative(process.cwd(), __filename); + +test('short boolean', function (t) { + var parse = optimist.parse([ '-b' ]); + t.same(parse, { b : true, _ : [], $0 : $0 }); + t.same(typeof parse.b, 'boolean'); + t.end(); +}); + +test('long boolean', function (t) { + t.same( + optimist.parse([ '--bool' ]), + { bool : true, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('bare', function (t) { + t.same( + optimist.parse([ 'foo', 'bar', 'baz' ]), + { _ : [ 'foo', 'bar', 'baz' ], $0 : $0 } + ); + t.end(); +}); + +test('short group', function (t) { + t.same( + optimist.parse([ '-cats' ]), + { c : true, a : true, t : true, s : true, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short group next', function (t) { + t.same( + optimist.parse([ '-cats', 'meow' ]), + { c : true, a : true, t : true, s : 'meow', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short capture', function (t) { + t.same( + optimist.parse([ '-h', 'localhost' ]), + { h : 'localhost', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short captures', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-p', '555' ]), + { h : 'localhost', p : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long capture sp', function (t) { + t.same( + optimist.parse([ '--pow', 'xixxle' ]), + { pow : 'xixxle', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long capture eq', function (t) { + t.same( + optimist.parse([ '--pow=xixxle' ]), + { pow : 'xixxle', _ : [], $0 : $0 } + ); + t.end() +}); + +test('long captures sp', function (t) { + t.same( + optimist.parse([ '--host', 'localhost', '--port', '555' ]), + { host : 'localhost', port : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long captures eq', function (t) { + t.same( + optimist.parse([ '--host=localhost', '--port=555' ]), + { host : 'localhost', port : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('mixed short bool and capture', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ], $0 : $0, + } + ); + t.end(); +}); + +test('short and long', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ], $0 : $0, + } + ); + t.end(); +}); + +test('no', function (t) { + t.same( + optimist.parse([ '--no-moo' ]), + { moo : false, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('multi', function (t) { + t.same( + optimist.parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), + { v : ['a','b','c'], _ : [], $0 : $0 } + ); + t.end(); +}); + +test('comprehensive', function (t) { + t.same( + optimist.parse([ + '--name=meowmers', 'bare', '-cats', 'woo', + '-h', 'awesome', '--multi=quux', + '--key', 'value', + '-b', '--bool', '--no-meep', '--multi=baz', + '--', '--not-a-flag', 'eek' + ]), + { + c : true, + a : true, + t : true, + s : 'woo', + h : 'awesome', + b : true, + bool : true, + key : 'value', + multi : [ 'quux', 'baz' ], + meep : false, + name : 'meowmers', + _ : [ 'bare', '--not-a-flag', 'eek' ], + $0 : $0 + } + ); + t.end(); +}); + +test('nums', function (t) { + var argv = optimist.parse([ + '-x', '1234', + '-y', '5.67', + '-z', '1e7', + '-w', '10f', + '--hex', '0xdeadbeef', + '789', + ]); + t.same(argv, { + x : 1234, + y : 5.67, + z : 1e7, + w : '10f', + hex : 0xdeadbeef, + _ : [ 789 ], + $0 : $0 + }); + t.same(typeof argv.x, 'number'); + t.same(typeof argv.y, 'number'); + t.same(typeof argv.z, 'number'); + t.same(typeof argv.w, 'string'); + t.same(typeof argv.hex, 'number'); + t.same(typeof argv._[0], 'number'); + t.end(); +}); + +test('flag boolean', function (t) { + var parse = optimist([ '-t', 'moo' ]).boolean(['t']).argv; + t.same(parse, { t : true, _ : [ 'moo' ], $0 : $0 }); + t.same(typeof parse.t, 'boolean'); + t.end(); +}); + +test('flag boolean value', function (t) { + var parse = optimist(['--verbose', 'false', 'moo', '-t', 'true']) + .boolean(['t', 'verbose']).default('verbose', true).argv; + + t.same(parse, { + verbose: false, + t: true, + _: ['moo'], + $0 : $0 + }); + + t.same(typeof parse.verbose, 'boolean'); + t.same(typeof parse.t, 'boolean'); + t.end(); +}); + +test('flag boolean default false', function (t) { + var parse = optimist(['moo']) + .boolean(['t', 'verbose']) + .default('verbose', false) + .default('t', false).argv; + + t.same(parse, { + verbose: false, + t: false, + _: ['moo'], + $0 : $0 + }); + + t.same(typeof parse.verbose, 'boolean'); + t.same(typeof parse.t, 'boolean'); + t.end(); + +}); + +test('boolean groups', function (t) { + var parse = optimist([ '-x', '-z', 'one', 'two', 'three' ]) + .boolean(['x','y','z']).argv; + + t.same(parse, { + x : true, + y : false, + z : true, + _ : [ 'one', 'two', 'three' ], + $0 : $0 + }); + + t.same(typeof parse.x, 'boolean'); + t.same(typeof parse.y, 'boolean'); + t.same(typeof parse.z, 'boolean'); + t.end(); +}); + +test('newlines in params' , function (t) { + var args = optimist.parse([ '-s', "X\nX" ]) + t.same(args, { _ : [], s : "X\nX", $0 : $0 }); + + // reproduce in bash: + // VALUE="new + // line" + // node program.js --s="$VALUE" + args = optimist.parse([ "--s=X\nX" ]) + t.same(args, { _ : [], s : "X\nX", $0 : $0 }); + t.end(); +}); + +test('strings' , function (t) { + var s = optimist([ '-s', '0001234' ]).string('s').argv.s; + t.same(s, '0001234'); + t.same(typeof s, 'string'); + + var x = optimist([ '-x', '56' ]).string('x').argv.x; + t.same(x, '56'); + t.same(typeof x, 'string'); + t.end(); +}); + +test('stringArgs', function (t) { + var s = optimist([ ' ', ' ' ]).string('_').argv._; + t.same(s.length, 2); + t.same(typeof s[0], 'string'); + t.same(s[0], ' '); + t.same(typeof s[1], 'string'); + t.same(s[1], ' '); + t.end(); +}); + +test('slashBreak', function (t) { + t.same( + optimist.parse([ '-I/foo/bar/baz' ]), + { I : '/foo/bar/baz', _ : [], $0 : $0 } + ); + t.same( + optimist.parse([ '-xyz/foo/bar/baz' ]), + { x : true, y : true, z : '/foo/bar/baz', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('alias', function (t) { + var argv = optimist([ '-f', '11', '--zoom', '55' ]) + .alias('z', 'zoom') + .argv + ; + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.f, 11); + t.end(); +}); + +test('multiAlias', function (t) { + var argv = optimist([ '-f', '11', '--zoom', '55' ]) + .alias('z', [ 'zm', 'zoom' ]) + .argv + ; + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.z, argv.zm); + t.equal(argv.f, 11); + t.end(); +}); + +test('boolean default true', function (t) { + var argv = optimist.options({ + sometrue: { + boolean: true, + default: true + } + }).argv; + + t.equal(argv.sometrue, true); + t.end(); +}); + +test('boolean default false', function (t) { + var argv = optimist.options({ + somefalse: { + boolean: true, + default: false + } + }).argv; + + t.equal(argv.somefalse, false); + t.end(); +}); + +test('nested dotted objects', function (t) { + var argv = optimist([ + '--foo.bar', '3', '--foo.baz', '4', + '--foo.quux.quibble', '5', '--foo.quux.o_O', + '--beep.boop' + ]).argv; + + t.same(argv.foo, { + bar : 3, + baz : 4, + quux : { + quibble : 5, + o_O : true + }, + }); + t.same(argv.beep, { boop : true }); + t.end(); +}); + +test('boolean and alias with chainable api', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .boolean('herp') + .alias('h', 'herp') + .argv; + var propertyArgv = optimist(regular) + .boolean('herp') + .alias('h', 'herp') + .argv; + var expected = { + herp: true, + h: true, + '_': [ 'derp' ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .options(opts) + .argv; + var propertyArgv = optimist(regular).options(opts).argv; + var expected = { + herp: true, + h: true, + '_': [ 'derp' ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + + t.end(); +}); + +test('boolean and alias using explicit true', function (t) { + var aliased = [ '-h', 'true' ]; + var regular = [ '--herp', 'true' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .boolean('h') + .alias('h', 'herp') + .argv; + var propertyArgv = optimist(regular) + .boolean('h') + .alias('h', 'herp') + .argv; + var expected = { + herp: true, + h: true, + '_': [ ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { + var parsed = optimist(['--boool', '--other=true']).boolean('boool').argv; + + t.same(parsed.boool, true); + t.same(parsed.other, 'true'); + + parsed = optimist(['--boool', '--other=false']).boolean('boool').argv; + + t.same(parsed.boool, true); + t.same(parsed.other, 'false'); + t.end(); +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/usage.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/usage.js new file mode 100644 index 0000000..300454c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/optimist/test/usage.js @@ -0,0 +1,292 @@ +var Hash = require('hashish'); +var optimist = require('../index'); +var test = require('tap').test; + +test('usageFail', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .demand(['x','y']) + .argv; + }); + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage -x NUM -y NUM', + 'Options:', + ' -x [required]', + ' -y [required]', + 'Missing required arguments: y', + ] + ); + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + + +test('usagePass', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .demand(['x','y']) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkPass', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(function (argv) { + if (!('x' in argv)) throw 'You forgot about -x'; + if (!('y' in argv)) throw 'You forgot about -y'; + }) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkFail', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(function (argv) { + if (!('x' in argv)) throw 'You forgot about -x'; + if (!('y' in argv)) throw 'You forgot about -y'; + }) + .argv; + }); + + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage -x NUM -y NUM', + 'You forgot about -y' + ] + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('checkCondPass', function (t) { + function checker (argv) { + return 'x' in argv && 'y' in argv; + } + + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(checker) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkCondFail', function (t) { + function checker (argv) { + return 'x' in argv && 'y' in argv; + } + + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(checker) + .argv; + }); + + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/).join('\n'), + 'Usage: ./usage -x NUM -y NUM\n' + + 'Argument check failed: ' + checker.toString() + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('countPass', function (t) { + var r = checkUsage(function () { + return optimist('1 2 3 --moo'.split(' ')) + .usage('Usage: $0 [x] [y] [z] {OPTIONS}') + .demand(3) + .argv; + }); + t.same(r, { + result : { _ : [ '1', '2', '3' ], moo : true, $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('countFail', function (t) { + var r = checkUsage(function () { + return optimist('1 2 --moo'.split(' ')) + .usage('Usage: $0 [x] [y] [z] {OPTIONS}') + .demand(3) + .argv; + }); + t.same( + r.result, + { _ : [ '1', '2' ], moo : true, $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage [x] [y] [z] {OPTIONS}', + 'Not enough non-option arguments: got 2, need at least 3', + ] + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('defaultSingles', function (t) { + var r = checkUsage(function () { + return optimist('--foo 50 --baz 70 --powsy'.split(' ')) + .default('foo', 5) + .default('bar', 6) + .default('baz', 7) + .argv + ; + }); + t.same(r.result, { + foo : '50', + bar : 6, + baz : '70', + powsy : true, + _ : [], + $0 : './usage', + }); + t.end(); +}); + +test('defaultAliases', function (t) { + var r = checkUsage(function () { + return optimist('') + .alias('f', 'foo') + .default('f', 5) + .argv + ; + }); + t.same(r.result, { + f : '5', + foo : '5', + _ : [], + $0 : './usage', + }); + t.end(); +}); + +test('defaultHash', function (t) { + var r = checkUsage(function () { + return optimist('--foo 50 --baz 70'.split(' ')) + .default({ foo : 10, bar : 20, quux : 30 }) + .argv + ; + }); + t.same(r.result, { + _ : [], + $0 : './usage', + foo : 50, + baz : 70, + bar : 20, + quux : 30, + }); + t.end(); +}); + +test('rebase', function (t) { + t.equal( + optimist.rebase('/home/substack', '/home/substack/foo/bar/baz'), + './foo/bar/baz' + ); + t.equal( + optimist.rebase('/home/substack/foo/bar/baz', '/home/substack'), + '../../..' + ); + t.equal( + optimist.rebase('/home/substack/foo', '/home/substack/pow/zoom.txt'), + '../pow/zoom.txt' + ); + t.end(); +}); + +function checkUsage (f) { + + var exit = false; + + process._exit = process.exit; + process._env = process.env; + process._argv = process.argv; + + process.exit = function (t) { exit = true }; + process.env = Hash.merge(process.env, { _ : 'node' }); + process.argv = [ './usage' ]; + + var errors = []; + var logs = []; + + console._error = console.error; + console.error = function (msg) { errors.push(msg) }; + console._log = console.log; + console.log = function (msg) { logs.push(msg) }; + + var result = f(); + + process.exit = process._exit; + process.env = process._env; + process.argv = process._argv; + + console.error = console._error; + console.log = console._log; + + return { + errors : errors, + logs : logs, + exit : exit, + result : result, + }; +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.npmignore b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.npmignore new file mode 100644 index 0000000..3dddf3f --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.npmignore @@ -0,0 +1,2 @@ +dist/* +node_modules/* diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.travis.yml b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.travis.yml new file mode 100644 index 0000000..ddc9c4f --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.8 + - "0.10" \ No newline at end of file diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md new file mode 100644 index 0000000..140fe0c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md @@ -0,0 +1,58 @@ +# Change Log + +## 0.1.22 + +* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21. + +## 0.1.21 + +* Fixed handling of sources that start with a slash so that they are relative to + the source root's host. + +## 0.1.20 + +* Fixed github issue #43: absolute URLs aren't joined with the source root + anymore. + +## 0.1.19 + +* Using Travis CI to run tests. + +## 0.1.18 + +* Fixed a bug in the handling of sourceRoot. + +## 0.1.17 + +* Added SourceNode.fromStringWithSourceMap. + +## 0.1.16 + +* Added missing documentation. + +* Fixed the generating of empty mappings in SourceNode. + +## 0.1.15 + +* Added SourceMapGenerator.applySourceMap. + +## 0.1.14 + +* The sourceRoot is now handled consistently. + +## 0.1.13 + +* Added SourceMapGenerator.fromSourceMap. + +## 0.1.12 + +* SourceNode now generates empty mappings too. + +## 0.1.11 + +* Added name support to SourceNode. + +## 0.1.10 + +* Added sourcesContent support to the customer and generator. + diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/LICENSE b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/LICENSE new file mode 100644 index 0000000..ed1b7cf --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/LICENSE @@ -0,0 +1,28 @@ + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js new file mode 100644 index 0000000..8973ac2 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js @@ -0,0 +1,166 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var path = require('path'); +var fs = require('fs'); +var copy = require('dryice').copy; + +function removeAmdefine(src) { + src = String(src).replace( + /if\s*\(typeof\s*define\s*!==\s*'function'\)\s*{\s*var\s*define\s*=\s*require\('amdefine'\)\(module\);\s*}\s*/g, + ''); + src = src.replace( + /\b(define\(.*)('amdefine',?)/gm, + '$1'); + return src; +} +removeAmdefine.onRead = true; + +function makeNonRelative(src) { + return src + .replace(/require\('.\//g, 'require(\'source-map/') + .replace(/\.\.\/\.\.\/lib\//g, ''); +} +makeNonRelative.onRead = true; + +function buildBrowser() { + console.log('\nCreating dist/source-map.js'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/mini-require.js', + { + project: project, + require: [ 'source-map/source-map-generator', + 'source-map/source-map-consumer', + 'source-map/source-node'] + }, + 'build/suffix-browser.js' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine + ], + dest: 'dist/source-map.js' + }); +} + +function buildBrowserMin() { + console.log('\nCreating dist/source-map.min.js'); + + copy({ + source: 'dist/source-map.js', + filter: copy.filter.uglifyjs, + dest: 'dist/source-map.min.js' + }); +} + +function buildFirefox() { + console.log('\nCreating dist/SourceMap.jsm'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-source-map.jsm', + { + project: project, + require: [ 'source-map/source-map-consumer', + 'source-map/source-map-generator', + 'source-map/source-node' ] + }, + 'build/suffix-source-map.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/SourceMap.jsm' + }); + + // Create dist/test/Utils.jsm + console.log('\nCreating dist/test/Utils.jsm'); + + project = copy.createCommonJsProject({ + roots: [ __dirname, path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-utils.jsm', + 'build/assert-shim.js', + { + project: project, + require: [ 'test/source-map/util' ] + }, + 'build/suffix-utils.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/test/Utils.jsm' + }); + + function isTestFile(f) { + return /^test\-.*?\.js/.test(f); + } + + var testFiles = fs.readdirSync(path.join(__dirname, 'test', 'source-map')).filter(isTestFile); + + testFiles.forEach(function (testFile) { + console.log('\nCreating', path.join('dist', 'test', testFile.replace(/\-/g, '_'))); + + copy({ + source: [ + 'build/test-prefix.js', + path.join('test', 'source-map', testFile), + 'build/test-suffix.js' + ], + filter: [ + removeAmdefine, + makeNonRelative, + function (input, source) { + return input.replace('define(', + 'define("' + + path.join('test', 'source-map', testFile.replace(/\.js$/, '')) + + '", ["require", "exports", "module"], '); + }, + function (input, source) { + return input.replace('{THIS_MODULE}', function () { + return "test/source-map/" + testFile.replace(/\.js$/, ''); + }); + } + ], + dest: path.join('dist', 'test', testFile.replace(/\-/g, '_')) + }); + }); +} + +function ensureDir(name) { + var dirExists = false; + try { + dirExists = fs.statSync(name).isDirectory(); + } catch (err) {} + + if (!dirExists) { + fs.mkdirSync(name, 0777); + } +} + +ensureDir("dist"); +ensureDir("dist/test"); +buildFirefox(); +buildBrowser(); +buildBrowserMin(); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/README.md b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/README.md new file mode 100644 index 0000000..95e6787 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/README.md @@ -0,0 +1,347 @@ +# Source Map + +This is a library to generate and consume the source map format +[described here][format]. + +[Learn more here][feature]. + +This library was written in the Asynchronous Module Definition +format. It should work in the following environments: + +* Modern Browsers (either after the build, or with an AMD loader such as + RequireJS) + +* Inside Firefox (as a JSM file, after the build) + +* With NodeJS versions 0.8.X and higher + +## Installing with NPM (for use with NodeJS) + +Simply + + $ npm install source-map + +Or, if you'd like to hack on this library and have it installed via npm so you +can try out your changes: + + $ git clone https://fitzgen@github.com/mozilla/source-map.git + $ cd source-map + $ npm link . + +## Building from Source (for everywhere else) + +Install Node and then run + + $ git clone https://fitzgen@github.com/mozilla/source-map.git + $ cd source-map + $ npm link . + +Next, run + + $ node Makefile.dryice.js` + +This should create the following files: + +* `dist/source-map.js` - The unminified browser version. + +* `dist/source-map.min.js` - The minified browser version. + +* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox + source. + +## API + +Get a reference to the module: + + // NodeJS + var sourceMap = require('source-map'); + + // Browser builds + var sourceMap = window.sourceMap; + + // Inside Firefox + let sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + +### SourceMapConsumer + +A SourceMapConsumer instance represents a parsed source map which we can query +for information about the original file positions by giving it a file position +in the generated source. + +#### new SourceMapConsumer(rawSourceMap) + +The only parameter is the raw source map (either as a string which can be +`JSON.parse`'d, or an object). According to the spec, source maps have the +following attributes: + +* `version`: Which version of the source map spec this map is following. + +* `sources`: An array of URLs to the original source files. + +* `names`: An array of identifiers which can be referrenced by individual + mappings. + +* `sourceRoot`: Optional. The URL root from which all sources are relative. + +* `sourcesContent`: Optional. An array of contents of the original source files. + +* `mappings`: A string of base64 VLQs which contain the actual mappings. + +* `file`: The generated filename this source map is associated with. + +#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition) + +Returns the original source, line, and column information for the generated +source's line and column positions provided. The only argument is an object with +the following properties: + +* `line`: The line number in the generated source. + +* `column`: The column number in the generated source. + +and an object is returned with the following properties: + +* `source`: The original source file, or null if this information is not + available. + +* `line`: The line number in the original source, or null if this information is + not available. + +* `column`: The column number in the original source, or null or null if this + information is not available. + +* `name`: The original identifier, or null if this information is not available. + +#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition) + +Returns the generated line and column information for the original source, +line, and column positions provided. The only argument is an object with +the following properties: + +* `source`: The filename of the original source. + +* `line`: The line number in the original source. + +* `column`: The column number in the original source. + +and an object is returned with the following properties: + +* `line`: The line number in the generated source, or null. + +* `column`: The column number in the generated source, or null. + +#### SourceMapConsumer.prototype.sourceContentFor(source) + +Returns the original source content for the source provided. The only +argument is the URL of the original source file. + +#### SourceMapConsumer.prototype.eachMapping(callback, context, order) + +Iterate over each mapping between an original source/line/column and a +generated line/column in this source map. + +* `callback`: The function that is called with each mapping. + +* `context`: Optional. If specified, this object will be the value of `this` + every time that `callback` is called. + +* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or + `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over + the mappings sorted by the generated file's line/column order or the + original's source/line/column order, respectively. Defaults to + `SourceMapConsumer.GENERATED_ORDER`. + +### SourceMapGenerator + +An instance of the SourceMapGenerator represents a source map which is being +built incrementally. + +#### new SourceMapGenerator(startOfSourceMap) + +To create a new one, you must pass an object with the following properties: + +* `file`: The filename of the generated source that this source map is + associated with. + +* `sourceRoot`: An optional root for all relative URLs in this source map. + +#### SourceMapGenerator.fromSourceMap(sourceMapConsumer) + +Creates a new SourceMapGenerator based on a SourceMapConsumer + +* `sourceMapConsumer` The SourceMap. + +#### SourceMapGenerator.prototype.addMapping(mapping) + +Add a single mapping from original source line and column to the generated +source's line and column for this source map being created. The mapping object +should have the following properties: + +* `generated`: An object with the generated line and column positions. + +* `original`: An object with the original line and column positions. + +* `source`: The original source file (relative to the sourceRoot). + +* `name`: An optional original token name for this mapping. + +#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for an original source file. + +* `sourceFile` the URL of the original source file. + +* `sourceContent` the content of the source file. + +#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile]) + +Applies a SourceMap for a source file to the SourceMap. +Each mapping to the supplied source file is rewritten using the +supplied SourceMap. Note: The resolution for the resulting mappings +is the minimium of this map and the supplied map. + +* `sourceMapConsumer`: The SourceMap to be applied. + +* `sourceFile`: Optional. The filename of the source file. + If omitted, sourceMapConsumer.file will be used. + +#### SourceMapGenerator.prototype.toString() + +Renders the source map being generated to a string. + +### SourceNode + +SourceNodes provide a way to abstract over interpolating and/or concatenating +snippets of generated JavaScript source code, while maintaining the line and +column information associated between those snippets and the original source +code. This is useful as the final intermediate representation a compiler might +use before outputting the generated JS and source map. + +#### new SourceNode(line, column, source[, chunk[, name]]) + +* `line`: The original line number associated with this source node, or null if + it isn't associated with an original line. + +* `column`: The original column number associated with this source node, or null + if it isn't associated with an original column. + +* `source`: The original source's filename. + +* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see + below. + +* `name`: Optional. The original identifier. + +#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer) + +Creates a SourceNode from generated code and a SourceMapConsumer. + +* `code`: The generated code + +* `sourceMapConsumer` The SourceMap for the generated code + +#### SourceNode.prototype.add(chunk) + +Add a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.prepend(chunk) + +Prepend a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for a source file. This will be added to the +`SourceMap` in the `sourcesContent` field. + +* `sourceFile`: The filename of the source file + +* `sourceContent`: The content of the source file + +#### SourceNode.prototype.walk(fn) + +Walk over the tree of JS snippets in this node and its children. The walking +function is called once for each snippet of JS and is passed that snippet and +the its original associated source's line/column location. + +* `fn`: The traversal function. + +#### SourceNode.prototype.walkSourceContents(fn) + +Walk over the tree of SourceNodes. The walking function is called for each +source file content and is passed the filename and source content. + +* `fn`: The traversal function. + +#### SourceNode.prototype.join(sep) + +Like `Array.prototype.join` except for SourceNodes. Inserts the separator +between each of this source node's children. + +* `sep`: The separator. + +#### SourceNode.prototype.replaceRight(pattern, replacement) + +Call `String.prototype.replace` on the very right-most source snippet. Useful +for trimming whitespace from the end of a source node, etc. + +* `pattern`: The pattern to replace. + +* `replacement`: The thing to replace the pattern with. + +#### SourceNode.prototype.toString() + +Return the string representation of this source node. Walks over the tree and +concatenates all the various snippets together to one string. + +### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap) + +Returns the string representation of this tree of source nodes, plus a +SourceMapGenerator which contains all the mappings between the generated and +original sources. + +The arguments are the same as those to `new SourceMapGenerator`. + +## Tests + +[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map) + +Install NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`. + +To add new tests, create a new file named `test/test-.js` +and export your test functions with names that start with "test", for example + + exports["test doing the foo bar"] = function (assert, util) { + ... + }; + +The new test will be located automatically when you run the suite. + +The `util` argument is the test utility module located at `test/source-map/util`. + +The `assert` argument is a cut down version of node's assert module. You have +access to the following assertion functions: + +* `doesNotThrow` + +* `equal` + +* `ok` + +* `strictEqual` + +* `throws` + +(The reason for the restricted set of test functions is because we need the +tests to run inside Firefox's test suite as well and so the assert module is +shimmed in that environment. See `build/assert-shim.js`.) + +[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit +[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap +[Dryice]: https://github.com/mozilla/dryice diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js new file mode 100644 index 0000000..daa1a62 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js @@ -0,0 +1,56 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +define('test/source-map/assert', ['exports'], function (exports) { + + let do_throw = function (msg) { + throw new Error(msg); + }; + + exports.init = function (throw_fn) { + do_throw = throw_fn; + }; + + exports.doesNotThrow = function (fn) { + try { + fn(); + } + catch (e) { + do_throw(e.message); + } + }; + + exports.equal = function (actual, expected, msg) { + msg = msg || String(actual) + ' != ' + String(expected); + if (actual != expected) { + do_throw(msg); + } + }; + + exports.ok = function (val, msg) { + msg = msg || String(val) + ' is falsey'; + if (!Boolean(val)) { + do_throw(msg); + } + }; + + exports.strictEqual = function (actual, expected, msg) { + msg = msg || String(actual) + ' !== ' + String(expected); + if (actual !== expected) { + do_throw(msg); + } + }; + + exports.throws = function (fn) { + try { + fn(); + do_throw('Expected an error to be thrown, but it wasn\'t.'); + } + catch (e) { + } + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/mini-require.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/mini-require.js new file mode 100644 index 0000000..0daf453 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/mini-require.js @@ -0,0 +1,152 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * Define a module along with a payload. + * @param {string} moduleName Name for the payload + * @param {ignored} deps Ignored. For compatibility with CommonJS AMD Spec + * @param {function} payload Function with (require, exports, module) params + */ +function define(moduleName, deps, payload) { + if (typeof moduleName != "string") { + throw new TypeError('Expected string, got: ' + moduleName); + } + + if (arguments.length == 2) { + payload = deps; + } + + if (moduleName in define.modules) { + throw new Error("Module already defined: " + moduleName); + } + define.modules[moduleName] = payload; +}; + +/** + * The global store of un-instantiated modules + */ +define.modules = {}; + + +/** + * We invoke require() in the context of a Domain so we can have multiple + * sets of modules running separate from each other. + * This contrasts with JSMs which are singletons, Domains allows us to + * optionally load a CommonJS module twice with separate data each time. + * Perhaps you want 2 command lines with a different set of commands in each, + * for example. + */ +function Domain() { + this.modules = {}; + this._currentModule = null; +} + +(function () { + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * There are 2 ways to call this, either with an array of dependencies and a + * callback to call when the dependencies are found (which can happen + * asynchronously in an in-page context) or with a single string an no callback + * where the dependency is resolved synchronously and returned. + * The API is designed to be compatible with the CommonJS AMD spec and + * RequireJS. + * @param {string[]|string} deps A name, or names for the payload + * @param {function|undefined} callback Function to call when the dependencies + * are resolved + * @return {undefined|object} The module required or undefined for + * array/callback method + */ + Domain.prototype.require = function(deps, callback) { + if (Array.isArray(deps)) { + var params = deps.map(function(dep) { + return this.lookup(dep); + }, this); + if (callback) { + callback.apply(null, params); + } + return undefined; + } + else { + return this.lookup(deps); + } + }; + + function normalize(path) { + var bits = path.split('/'); + var i = 1; + while (i < bits.length) { + if (bits[i] === '..') { + bits.splice(i-1, 1); + } else if (bits[i] === '.') { + bits.splice(i, 1); + } else { + i++; + } + } + return bits.join('/'); + } + + function join(a, b) { + a = a.trim(); + b = b.trim(); + if (/^\//.test(b)) { + return b; + } else { + return a.replace(/\/*$/, '/') + b; + } + } + + function dirname(path) { + var bits = path.split('/'); + bits.pop(); + return bits.join('/'); + } + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * @param {string} moduleName A name for the payload to lookup + * @return {object} The module specified by aModuleName or null if not found. + */ + Domain.prototype.lookup = function(moduleName) { + if (/^\./.test(moduleName)) { + moduleName = normalize(join(dirname(this._currentModule), moduleName)); + } + + if (moduleName in this.modules) { + var module = this.modules[moduleName]; + return module; + } + + if (!(moduleName in define.modules)) { + throw new Error("Module not defined: " + moduleName); + } + + var module = define.modules[moduleName]; + + if (typeof module == "function") { + var exports = {}; + var previousModule = this._currentModule; + this._currentModule = moduleName; + module(this.require.bind(this), exports, { id: moduleName, uri: "" }); + this._currentModule = previousModule; + module = exports; + } + + // cache the resulting module object for next time + this.modules[moduleName] = module; + + return module; + }; + +}()); + +define.Domain = Domain; +define.globalDomain = new Domain(); +var require = define.globalDomain.require.bind(define.globalDomain); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm new file mode 100644 index 0000000..ee2539d --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm @@ -0,0 +1,20 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +/////////////////////////////////////////////////////////////////////////////// + + +this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm new file mode 100644 index 0000000..80341d4 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm @@ -0,0 +1,18 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); +Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); + +this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js new file mode 100644 index 0000000..cf6cde7 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js @@ -0,0 +1,8 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +window.sourceMap = { + SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, + SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, + SourceNode: require('source-map/source-node').SourceNode +}; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm new file mode 100644 index 0000000..cf3c2d8 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm @@ -0,0 +1,6 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; +this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; +this.SourceNode = require('source-map/source-node').SourceNode; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm new file mode 100644 index 0000000..b31b84c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm @@ -0,0 +1,21 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +function runSourceMapTests(modName, do_throw) { + let mod = require(modName); + let assert = require('test/source-map/assert'); + let util = require('test/source-map/util'); + + assert.init(do_throw); + + for (let k in mod) { + if (/^test/.test(k)) { + mod[k](assert, util); + } + } + +} +this.runSourceMapTests = runSourceMapTests; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js new file mode 100644 index 0000000..1b13f30 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js @@ -0,0 +1,8 @@ +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://test/Utils.jsm'); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js new file mode 100644 index 0000000..bec2de3 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js @@ -0,0 +1,3 @@ +function run_test() { + runSourceMapTests('{THIS_MODULE}', do_throw); +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map.js new file mode 100644 index 0000000..121ad24 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map.js @@ -0,0 +1,8 @@ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./source-map/source-node').SourceNode; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js new file mode 100644 index 0000000..f138ae7 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js @@ -0,0 +1,96 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var util = require('./util'); + + /** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + function ArraySet() { + this._array = []; + this._set = {}; + } + + /** + * Static method for creating ArraySet instances from an existing array. + */ + ArraySet.fromArray = function ArraySet_fromArray(aArray) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i]); + } + return set; + }; + + /** + * Add the given string to this set. + * + * @param String aStr + */ + ArraySet.prototype.add = function ArraySet_add(aStr) { + if (this.has(aStr)) { + // Already a member; nothing to do. + return; + } + var idx = this._array.length; + this._array.push(aStr); + this._set[util.toSetString(aStr)] = idx; + }; + + /** + * Is the given string a member of this set? + * + * @param String aStr + */ + ArraySet.prototype.has = function ArraySet_has(aStr) { + return Object.prototype.hasOwnProperty.call(this._set, + util.toSetString(aStr)); + }; + + /** + * What is the index of the given string in the array? + * + * @param String aStr + */ + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (this.has(aStr)) { + return this._set[util.toSetString(aStr)]; + } + throw new Error('"' + aStr + '" is not in the set.'); + }; + + /** + * What is the element at the given index? + * + * @param Number aIdx + */ + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); + }; + + /** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + + exports.ArraySet = ArraySet; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js new file mode 100644 index 0000000..a9dd758 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js @@ -0,0 +1,144 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64 = require('./base64'); + + // A single base 64 digit can contain 6 bits of data. For the base 64 variable + // length quantities we use in the source map spec, the first bit is the sign, + // the next four bits are the actual value, and the 6th bit is the + // continuation bit. The continuation bit tells us whether there are more + // digits in this value following this digit. + // + // Continuation + // | Sign + // | | + // V V + // 101011 + + var VLQ_BASE_SHIFT = 5; + + // binary: 100000 + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + + // binary: 011111 + var VLQ_BASE_MASK = VLQ_BASE - 1; + + // binary: 100000 + var VLQ_CONTINUATION_BIT = VLQ_BASE; + + /** + * Converts from a two-complement value to a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; + } + + /** + * Converts to a two-complement value from a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; + } + + /** + * Returns the base 64 VLQ encoded value. + */ + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; + }; + + /** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string. + */ + exports.decode = function base64VLQ_decode(aStr) { + var i = 0; + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (i >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + digit = base64.decode(aStr.charAt(i++)); + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + return { + value: fromVLQSigned(result), + rest: aStr.slice(i) + }; + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js new file mode 100644 index 0000000..397a754 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js @@ -0,0 +1,42 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var charToIntMap = {}; + var intToCharMap = {}; + + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + .split('') + .forEach(function (ch, index) { + charToIntMap[ch] = index; + intToCharMap[index] = ch; + }); + + /** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + exports.encode = function base64_encode(aNumber) { + if (aNumber in intToCharMap) { + return intToCharMap[aNumber]; + } + throw new TypeError("Must be between 0 and 63: " + aNumber); + }; + + /** + * Decode a single base 64 digit to an integer. + */ + exports.decode = function base64_decode(aChar) { + if (aChar in charToIntMap) { + return charToIntMap[aChar]; + } + throw new TypeError("Not a valid base 64 digit: " + aChar); + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js new file mode 100644 index 0000000..c6cb517 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js @@ -0,0 +1,81 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + /** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + */ + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the next + // closest element that is less than that element. + // + // 3. We did not find the exact element, and there is no next-closest + // element which is less than the one we are searching for, so we + // return null. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid]); + if (cmp === 0) { + // Found the element we are looking for. + return aHaystack[mid]; + } + else if (cmp > 0) { + // aHaystack[mid] is greater than our needle. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare); + } + // We did not find an exact match, return the next closest one + // (termination case 2). + return aHaystack[mid]; + } + else { + // aHaystack[mid] is less than our needle. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare); + } + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (2) or (3) and return the appropriate thing. + return aLow < 0 + ? null + : aHaystack[aLow]; + } + } + + /** + * This is an implementation of binary search which will always try and return + * the next lowest value checked if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + */ + exports.search = function search(aNeedle, aHaystack, aCompare) { + return aHaystack.length > 0 + ? recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare) + : null; + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js new file mode 100644 index 0000000..9da6f1c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js @@ -0,0 +1,426 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var util = require('./util'); + var binarySearch = require('./binary-search'); + var ArraySet = require('./array-set').ArraySet; + var base64VLQ = require('./base64-vlq'); + + /** + * A SourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The only parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + var names = util.getArg(sourceMap, 'names'); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file'); + + if (version !== this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._names = ArraySet.fromArray(names); + this._sources = ArraySet.fromArray(sources); + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this.file = file; + + // `this._generatedMappings` and `this._originalMappings` hold the parsed + // mapping coordinates from the source map's "mappings" attribute. Each + // object in the array is of the form + // + // { + // generatedLine: The line number in the generated code, + // generatedColumn: The column number in the generated code, + // source: The path to the original source file that generated this + // chunk of code, + // originalLine: The line number in the original source that + // corresponds to this chunk of generated code, + // originalColumn: The column number in the original source that + // corresponds to this chunk of generated code, + // name: The name of the original symbol which generated this chunk of + // code. + // } + // + // All properties except for `generatedLine` and `generatedColumn` can be + // `null`. + // + // `this._generatedMappings` is ordered by the generated positions. + // + // `this._originalMappings` is ordered by the original positions. + this._generatedMappings = []; + this._originalMappings = []; + this._parseMappings(mappings, sourceRoot); + } + + /** + * The version of the source mapping spec that we are consuming. + */ + SourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(SourceMapConsumer.prototype, 'sources', { + get: function () { + return this._sources.toArray().map(function (s) { + return this.sourceRoot ? util.join(this.sourceRoot, s) : s; + }, this); + } + }); + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (an ordered list in this._generatedMappings). + */ + SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var mappingSeparator = /^[,;]/; + var str = aStr; + var mapping; + var temp; + + while (str.length > 0) { + if (str.charAt(0) === ';') { + generatedLine++; + str = str.slice(1); + previousGeneratedColumn = 0; + } + else if (str.charAt(0) === ',') { + str = str.slice(1); + } + else { + mapping = {}; + mapping.generatedLine = generatedLine; + + // Generated column. + temp = base64VLQ.decode(str); + mapping.generatedColumn = previousGeneratedColumn + temp.value; + previousGeneratedColumn = mapping.generatedColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original source. + temp = base64VLQ.decode(str); + mapping.source = this._sources.at(previousSource + temp.value); + previousSource += temp.value; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source, but no line and column'); + } + + // Original line. + temp = base64VLQ.decode(str); + mapping.originalLine = previousOriginalLine + temp.value; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source and line, but no column'); + } + + // Original column. + temp = base64VLQ.decode(str); + mapping.originalColumn = previousOriginalColumn + temp.value; + previousOriginalColumn = mapping.originalColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original name. + temp = base64VLQ.decode(str); + mapping.name = this._names.at(previousName + temp.value); + previousName += temp.value; + str = temp.rest; + } + } + + this._generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + this._originalMappings.push(mapping); + } + } + } + + this._originalMappings.sort(this._compareOriginalPositions); + }; + + /** + * Comparator between two mappings where the original positions are compared. + */ + SourceMapConsumer.prototype._compareOriginalPositions = + function SourceMapConsumer_compareOriginalPositions(mappingA, mappingB) { + if (mappingA.source > mappingB.source) { + return 1; + } + else if (mappingA.source < mappingB.source) { + return -1; + } + else { + var cmp = mappingA.originalLine - mappingB.originalLine; + return cmp === 0 + ? mappingA.originalColumn - mappingB.originalColumn + : cmp; + } + }; + + /** + * Comparator between two mappings where the generated positions are compared. + */ + SourceMapConsumer.prototype._compareGeneratedPositions = + function SourceMapConsumer_compareGeneratedPositions(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + return cmp === 0 + ? mappingA.generatedColumn - mappingB.generatedColumn + : cmp; + }; + + /** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + SourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator); + }; + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + SourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var mapping = this._findMapping(needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + this._compareGeneratedPositions); + + if (mapping) { + var source = util.getArg(mapping, 'source', null); + if (source && this.sourceRoot) { + source = util.join(this.sourceRoot, source); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: util.getArg(mapping, 'name', null) + }; + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + + /** + * Returns the original source content. The only argument is + * the url of the original source file. Returns null if no + * original source content is availible. + */ + SourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource) { + if (!this.sourcesContent) { + return null; + } + + if (this.sourceRoot) { + // Try to remove the sourceRoot + var relativeUrl = util.relative(this.sourceRoot, aSource); + if (this._sources.has(relativeUrl)) { + return this.sourcesContent[this._sources.indexOf(relativeUrl)]; + } + } + + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; + } + + throw new Error('"' + aSource + '" is not in the SourceMap.'); + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + SourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + if (this.sourceRoot) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + + var mapping = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + this._compareOriginalPositions); + + if (mapping) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null) + }; + } + + return { + line: null, + column: null + }; + }; + + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + + /** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source; + if (source && sourceRoot) { + source = util.join(sourceRoot, source); + } + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name + }; + }).forEach(aCallback, context); + }; + + exports.SourceMapConsumer = SourceMapConsumer; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js new file mode 100644 index 0000000..b3f62f5 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js @@ -0,0 +1,381 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64VLQ = require('./base64-vlq'); + var util = require('./util'); + var ArraySet = require('./array-set').ArraySet; + + /** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. To create a new one, you must pass an object + * with the following properties: + * + * - file: The filename of the generated source. + * - sourceRoot: An optional root for all URLs in this source map. + */ + function SourceMapGenerator(aArgs) { + this._file = util.getArg(aArgs, 'file'); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = []; + this._sourcesContents = null; + } + + SourceMapGenerator.prototype._version = 3; + + /** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source) { + newMapping.source = mapping.source; + if (sourceRoot) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + + /** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + this._validateMapping(generated, original, source, name); + + if (source && !this._sources.has(source)) { + this._sources.add(source); + } + + if (name && !this._names.has(name)) { + this._names.add(name); + } + + this._mappings.push({ + generated: generated, + original: original, + source: source, + name: name + }); + }; + + /** + * Set the source content for a source file. + */ + SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent !== null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = {}; + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + + /** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + */ + SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile) { + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (!aSourceFile) { + aSourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "aSourceFile" relative if an absolute Url is passed. + if (sourceRoot) { + aSourceFile = util.relative(sourceRoot, aSourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "aSourceFile" + this._mappings.forEach(function (mapping) { + if (mapping.source === aSourceFile && mapping.original) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.original.line, + column: mapping.original.column + }); + if (original.source !== null) { + // Copy mapping + if (sourceRoot) { + mapping.source = util.relative(sourceRoot, original.source); + } else { + mapping.source = original.source; + } + mapping.original.line = original.line; + mapping.original.column = original.column; + if (original.name !== null && mapping.name !== null) { + // Only use the identifier name if it's an identifier + // in both SourceMaps + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + if (sourceRoot) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + + /** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping.'); + } + }; + + function cmpLocation(loc1, loc2) { + var cmp = (loc1 && loc1.line) - (loc2 && loc2.line); + return cmp ? cmp : (loc1 && loc1.column) - (loc2 && loc2.column); + } + + function strcmp(str1, str2) { + str1 = str1 || ''; + str2 = str2 || ''; + return (str1 > str2) - (str1 < str2); + } + + function cmpMapping(mappingA, mappingB) { + return cmpLocation(mappingA.generated, mappingB.generated) || + cmpLocation(mappingA.original, mappingB.original) || + strcmp(mappingA.source, mappingB.source) || + strcmp(mappingA.name, mappingB.name); + } + + /** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var mapping; + + // The mappings must be guarenteed to be in sorted order before we start + // serializing them or else the generated line numbers (which are defined + // via the ';' separators) will be all messed up. Note: it might be more + // performant to maintain the sorting as we insert them, rather than as we + // serialize them, but the big O is the same either way. + this._mappings.sort(cmpMapping); + + for (var i = 0, len = this._mappings.length; i < len; i++) { + mapping = this._mappings[i]; + + if (mapping.generated.line !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generated.line !== previousGeneratedLine) { + result += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!cmpMapping(mapping, this._mappings[i - 1])) { + continue; + } + result += ','; + } + } + + result += base64VLQ.encode(mapping.generated.column + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generated.column; + + if (mapping.source && mapping.original) { + result += base64VLQ.encode(this._sources.indexOf(mapping.source) + - previousSource); + previousSource = this._sources.indexOf(mapping.source); + + // lines are stored 0-based in SourceMap spec version 3 + result += base64VLQ.encode(mapping.original.line - 1 + - previousOriginalLine); + previousOriginalLine = mapping.original.line - 1; + + result += base64VLQ.encode(mapping.original.column + - previousOriginalColumn); + previousOriginalColumn = mapping.original.column; + + if (mapping.name) { + result += base64VLQ.encode(this._names.indexOf(mapping.name) + - previousName); + previousName = this._names.indexOf(mapping.name); + } + } + } + + return result; + }; + + /** + * Externalize the source map. + */ + SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + file: this._file, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._sourceRoot) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = map.sources.map(function (source) { + if (map.sourceRoot) { + source = util.relative(map.sourceRoot, source); + } + return Object.prototype.hasOwnProperty.call( + this._sourcesContents, util.toSetString(source)) + ? this._sourcesContents[util.toSetString(source)] + : null; + }, this); + } + return map; + }; + + /** + * Render the source map being generated to a string. + */ + SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this); + }; + + exports.SourceMapGenerator = SourceMapGenerator; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js new file mode 100644 index 0000000..4c3314a --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js @@ -0,0 +1,353 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; + var util = require('./util'); + + /** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine === undefined ? null : aLine; + this.column = aColumn === undefined ? null : aColumn; + this.source = aSource === undefined ? null : aSource; + this.name = aName === undefined ? null : aName; + if (aChunks != null) this.add(aChunks); + } + + /** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + */ + SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // The generated code + // Processed fragments are removed from this array. + var remainingLines = aGeneratedCode.split('\n'); + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping === null) { + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(remainingLines.shift() + "\n"); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + } else { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + var code = ""; + // Associate full lines with "lastMapping" + do { + code += remainingLines.shift() + "\n"; + lastGeneratedLine++; + lastGeneratedColumn = 0; + } while (lastGeneratedLine < mapping.generatedLine); + // When we reached the correct line, we add code until we + // reach the correct column too. + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + code += nextLine.substr(0, mapping.generatedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + // Create the SourceNode. + addMappingWithCode(lastMapping, code); + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[0]; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + } + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + // Associate the remaining code in the current line with "lastMapping" + // and add the remaining lines without any mapping + addMappingWithCode(lastMapping, remainingLines.join("\n")); + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping.source === undefined) { + node.add(code); + } else { + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + mapping.source, + code, + mapping.name)); + } + } + }; + + /** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + this.children.forEach(function (chunk) { + if (chunk instanceof SourceNode) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + }, this); + }; + + /** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + + /** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild instanceof SourceNode) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; + }; + + /** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + + /** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + this.children.forEach(function (chunk) { + if (chunk instanceof SourceNode) { + chunk.walkSourceContents(aFn); + } + }, this); + Object.keys(this.sourceContents).forEach(function (sourceFileKey) { + aFn(util.fromSetString(sourceFileKey), this.sourceContents[sourceFileKey]); + }, this); + }; + + /** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; + }; + + /** + * Returns the string representation of this source node along with a source + * map. + */ + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + sourceMappingActive = false; + } + chunk.split('').forEach(function (ch) { + if (ch === '\n') { + generated.line++; + generated.column = 0; + } else { + generated.column++; + } + }); + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; + }; + + exports.SourceNode = SourceNode; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js new file mode 100644 index 0000000..d59b257 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js @@ -0,0 +1,91 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + + var urlRegexp = /([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/; + + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[3], + host: match[4], + port: match[6], + path: match[7] + }; + } + + function join(aRoot, aPath) { + var url; + + if (aPath.match(urlRegexp)) { + return aPath; + } + + if (aPath.charAt(0) === '/' && (url = urlParse(aRoot))) { + return aRoot.replace(url.path, '') + aPath; + } + + return aRoot.replace(/\/$/, '') + '/' + aPath; + } + exports.join = join; + + /** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + function toSetString(aStr) { + return '$' + aStr; + } + exports.toSetString = toSetString; + + function fromSetString(aStr) { + return aStr.substr(1); + } + exports.fromSetString = fromSetString; + + function relative(aRoot, aPath) { + aRoot = aRoot.replace(/\/$/, ''); + return aPath.indexOf(aRoot + '/') === 0 + ? aPath.substr(aRoot.length + 1) + : aPath; + } + exports.relative = relative; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore new file mode 100644 index 0000000..2bfa6a4 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore @@ -0,0 +1 @@ +tests/ diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE new file mode 100644 index 0000000..f33d665 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE @@ -0,0 +1,58 @@ +amdefine is released under two licenses: new BSD, and MIT. You may pick the +license that best suits your development needs. The text of both licenses are +provided below. + + +The "New" BSD License: +---------------------- + +Copyright (c) 2011, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +MIT License +----------- + +Copyright (c) 2011, The Dojo Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md new file mode 100644 index 0000000..98233da --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md @@ -0,0 +1,119 @@ +# amdefine + +A module that can be used to implement AMD's define() in Node. This allows you +to code to the AMD API and have the module work in node programs without +requiring those other programs to use AMD. + +## Usage + +**1)** Update your package.json to indicate amdefine as a dependency: + +```javascript + "dependencies": { + "amdefine": ">=0.0.2" + } +``` + +Then run `npm install` to get amdefine into your project. + +**2)** At the top of each module that uses define(), place this code: + +```javascript +if (typeof define !== 'function') { var define = require('amdefine')(module) } +``` + +**Only use these snippets** when loading amdefine. If you preserve the basic structure, +with the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer). + +You can add spaces, line breaks and even require amdefine with a local path, but +keep the rest of the structure to get the stripping behavior. + +As you may know, because `if` statements in JavaScript don't have their own scope, the var +declaration in the above snippet is made whether the `if` expression is truthy or not. If +RequireJS is loaded then the declaration is superfluous because `define` is already already +declared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var` +declarations of the same variable in the same scope gracefully. + +If you want to deliver amdefine.js with your code rather than specifying it as a dependency +with npm, then just download the latest release and refer to it using a relative path: + +[Version 0.0.2](https://github.com/jrburke/amdefine/raw/0.0.2/amdefine.js) + +## define() usage + +It is best if you use the anonymous forms of define() in your module: + +```javascript +define(function (require) { + var dependency = require('dependency'); +}); +``` + +or + +```javascript +define(['dependency'], function (dependency) { + +}); +``` + +## RequireJS optimizer integration. + +Version 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html) +will have support for stripping the `if (typeof define !== 'function')` check +mentioned above, so you can include this snippet for code that runs in the +browser, but avoid taking the cost of the if() statement once the code is +optimized for deployment. + +## Node 0.4 Support + +If you want to support Node 0.4, then add `require` as the second parameter to amdefine: + +```javascript +//Only if you want Node 0.4. If using 0.5 or later, use the above snippet. +if (typeof define !== 'function') { var define = require('amdefine')(module, require) } +``` + +## Limitations + +### Synchronous vs Asynchronous + +amdefine creates a define() function that is callable by your code. It will +execute and trace dependencies and call the factory function *synchronously*, +to keep the behavior in line with Node's synchronous dependency tracing. + +The exception: calling AMD's callback-style require() from inside a factory +function. The require callback is called on process.nextTick(): + +```javascript +define(function (require) { + require(['a'], function(a) { + //'a' is loaded synchronously, but + //this callback is called on process.nextTick(). + }); +}); +``` + +### Loader Plugins + +Loader plugins are supported as long as they call their load() callbacks +synchronously. So ones that do network requests will not work. However plugins +like [text](http://requirejs.org/docs/api.html#text) can load text files locally. + +The plugin API's `load.fromText()` is **not supported** in amdefine, so this means +transpiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs) +will not work. This may be fixable, but it is a bit complex, and I do not have +enough node-fu to figure it out yet. See the source for amdefine.js if you want +to get an idea of the issues involved. + +## Tests + +To run the tests, cd to **tests** and run: + +``` +node all.js +``` + +## License + +New BSD and MIT. Check the LICENSE file for all the details. diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js new file mode 100644 index 0000000..1574436 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js @@ -0,0 +1,299 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license amdefine 0.0.4 Copyright (c) 2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/amdefine for details + */ + +/*jslint node: true */ +/*global module, process */ +'use strict'; + +var path = require('path'); + +/** + * Creates a define for node. + * @param {Object} module the "module" object that is defined by Node for the + * current module. + * @param {Function} [require]. Node's require function for the current module. + * It only needs to be passed in Node versions before 0.5, when module.require + * did not exist. + * @returns {Function} a define function that is usable for the current node + * module. + */ +function amdefine(module, require) { + var defineCache = {}, + loaderCache = {}, + alreadyCalled = false, + makeRequire, stringRequire; + + /** + * Trims the . and .. from an array of path segments. + * It will keep a leading path segment if a .. will become + * the first path segment, to help with module name lookups, + * which act like paths, but can be remapped. But the end result, + * all paths that use this function should look normalized. + * NOTE: this method MODIFIES the input array. + * @param {Array} ary the array of path segments. + */ + function trimDots(ary) { + var i, part; + for (i = 0; ary[i]; i+= 1) { + part = ary[i]; + if (part === '.') { + ary.splice(i, 1); + i -= 1; + } else if (part === '..') { + if (i === 1 && (ary[2] === '..' || ary[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + function normalize(name, baseName) { + var baseParts; + + //Adjust any relative paths. + if (name && name.charAt(0) === '.') { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + baseParts = baseName.split('/'); + baseParts = baseParts.slice(0, baseParts.length - 1); + baseParts = baseParts.concat(name.split('/')); + trimDots(baseParts); + name = baseParts.join('/'); + } + } + + return name; + } + + /** + * Create the normalize() function passed to a loader plugin's + * normalize method. + */ + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(id) { + function load(value) { + loaderCache[id] = value; + } + + load.fromText = function (id, text) { + //This one is difficult because the text can/probably uses + //define, and any relative paths and requires should be relative + //to that id was it would be found on disk. But this would require + //bootstrapping a module/require fairly deeply from node core. + //Not sure how best to go about that yet. + throw new Error('amdefine does not implement load.fromText'); + }; + + return load; + } + + makeRequire = function (systemRequire, exports, module, relId) { + function amdRequire(deps, callback) { + if (typeof deps === 'string') { + //Synchronous, single module require('') + return stringRequire(systemRequire, exports, module, deps, relId); + } else { + //Array of dependencies with a callback. + + //Convert the dependencies to modules. + deps = deps.map(function (depName) { + return stringRequire(systemRequire, exports, module, depName, relId); + }); + + //Wait for next tick to call back the require call. + process.nextTick(function () { + callback.apply(null, deps); + }); + } + } + + amdRequire.toUrl = function (filePath) { + if (filePath.indexOf('.') === 0) { + return normalize(filePath, path.dirname(module.filename)); + } else { + return filePath; + } + }; + + return amdRequire; + }; + + //Favor explicit value, passed in if the module wants to support Node 0.4. + require = require || function req() { + return module.require.apply(module, arguments); + }; + + function runFactory(id, deps, factory) { + var r, e, m, result; + + if (id) { + e = loaderCache[id] = {}; + m = { + id: id, + uri: __filename, + exports: e + }; + r = makeRequire(undefined, e, m, id); + } else { + //Only support one define call per file + if (alreadyCalled) { + throw new Error('amdefine with no module ID cannot be called more than once per file.'); + } + alreadyCalled = true; + + //Use the real variables from node + //Use module.exports for exports, since + //the exports in here is amdefine exports. + e = module.exports; + m = module; + r = makeRequire(require, e, m, module.id); + } + + //If there are dependencies, they are strings, so need + //to convert them to dependency values. + if (deps) { + deps = deps.map(function (depName) { + return r(depName); + }); + } + + //Call the factory with the right dependencies. + if (typeof factory === 'function') { + result = factory.apply(module.exports, deps); + } else { + result = factory; + } + + if (result !== undefined) { + m.exports = result; + if (id) { + loaderCache[id] = m.exports; + } + } + } + + stringRequire = function (systemRequire, exports, module, id, relId) { + //Split the ID by a ! so that + var index = id.indexOf('!'), + originalId = id, + prefix, plugin; + + if (index === -1) { + id = normalize(id, relId); + + //Straight module lookup. If it is one of the special dependencies, + //deal with it, otherwise, delegate to node. + if (id === 'require') { + return makeRequire(systemRequire, exports, module, relId); + } else if (id === 'exports') { + return exports; + } else if (id === 'module') { + return module; + } else if (loaderCache.hasOwnProperty(id)) { + return loaderCache[id]; + } else if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } else { + if(systemRequire) { + return systemRequire(originalId); + } else { + throw new Error('No module with ID: ' + id); + } + } + } else { + //There is a plugin in play. + prefix = id.substring(0, index); + id = id.substring(index + 1, id.length); + + plugin = stringRequire(systemRequire, exports, module, prefix, relId); + + if (plugin.normalize) { + id = plugin.normalize(id, makeNormalize(relId)); + } else { + //Normalize the ID normally. + id = normalize(id, relId); + } + + if (loaderCache[id]) { + return loaderCache[id]; + } else { + plugin.load(id, makeRequire(systemRequire, exports, module, relId), makeLoad(id), {}); + + return loaderCache[id]; + } + } + }; + + //Create a define function specific to the module asking for amdefine. + function define(id, deps, factory) { + if (Array.isArray(id)) { + factory = deps; + deps = id; + id = undefined; + } else if (typeof id !== 'string') { + factory = id; + id = deps = undefined; + } + + if (deps && !Array.isArray(deps)) { + factory = deps; + deps = undefined; + } + + if (!deps) { + deps = ['require', 'exports', 'module']; + } + + //Set up properties for this module. If an ID, then use + //internal cache. If no ID, then use the external variables + //for this node module. + if (id) { + //Put the module in deep freeze until there is a + //require call for it. + defineCache[id] = [id, deps, factory]; + } else { + runFactory(id, deps, factory); + } + } + + //define.require, which has access to all the values in the + //cache. Useful for AMD modules that all have IDs in the file, + //but need to finally export a value to node based on one of those + //IDs. + define.require = function (id) { + if (loaderCache[id]) { + return loaderCache[id]; + } + + if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } + }; + + define.amd = {}; + + return define; +} + +module.exports = amdefine; diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json new file mode 100644 index 0000000..11064da --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json @@ -0,0 +1,28 @@ +{ + "name": "amdefine", + "description": "Provide AMD's define() API for declaring modules in the AMD format", + "version": "0.0.4", + "homepage": "http://github.com/jrburke/amdefine.js", + "author": { + "name": "James Burke", + "email": "jrburke@gmail.com", + "url": "http://github.com/jrburke" + }, + "licenses": [ + { + "type": "BSD", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + }, + { + "type": "MIT", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + } + ], + "main": "./amdefine.js", + "engines": { + "node": ">=0.4.2" + }, + "readme": "# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n \"dependencies\": {\n \"amdefine\": \">=0.0.2\"\n }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Version 0.0.2](https://github.com/jrburke/amdefine/raw/0.0.2/amdefine.js)\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. \n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n require(['a'], function(a) {\n //'a' is loaded synchronously, but\n //this callback is called on process.nextTick().\n });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n", + "_id": "amdefine@0.0.4", + "_from": "amdefine@>=0.0.4" +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/package.json b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/package.json new file mode 100644 index 0000000..6d09d99 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/package.json @@ -0,0 +1,73 @@ +{ + "name": "source-map", + "description": "Generates and consumes source maps", + "version": "0.1.22", + "homepage": "https://github.com/mozilla/source-map", + "author": { + "name": "Nick Fitzgerald", + "email": "nfitzgerald@mozilla.com" + }, + "contributors": [ + { + "name": "Stephen Crane" + }, + { + "name": "Ryan Seddon" + }, + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com" + }, + { + "name": "Michael Ficarra", + "email": "github.public.email@michael.ficarra.me" + }, + { + "name": "Todd Wolfson", + "email": "todd@twolfson.com" + }, + { + "name": "Alexander Solovyov", + "email": "alexander@solovyov.net" + }, + { + "name": "Felix Gnass" + }, + { + "name": "Conrad Irwin", + "email": "conrad.irwin@gmail.com" + }, + { + "name": "github.com/usrbincc" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mozilla/source-map.git" + }, + "directories": { + "lib": "./lib" + }, + "main": "./lib/source-map.js", + "engines": { + "node": ">=0.8.0" + }, + "licenses": [ + { + "type": "BSD", + "url": "http://opensource.org/licenses/BSD-3-Clause" + } + ], + "dependencies": { + "amdefine": ">=0.0.4" + }, + "devDependencies": { + "dryice": ">=0.4.8" + }, + "scripts": { + "test": "node test/run-tests.js" + }, + "readme": "# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\n[Learn more here][feature].\n\nThis library was written in the Asynchronous Module Definition\nformat. It should work in the following environments:\n\n* Modern Browsers (either after the build, or with an AMD loader such as\n RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Installing with NPM (for use with NodeJS)\n\nSimply\n\n $ npm install source-map\n\nOr, if you'd like to hack on this library and have it installed via npm so you\ncan try out your changes:\n\n $ git clone https://fitzgen@github.com/mozilla/source-map.git\n $ cd source-map\n $ npm link .\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n $ git clone https://fitzgen@github.com/mozilla/source-map.git\n $ cd source-map\n $ npm link .\n\nNext, run\n\n $ node Makefile.dryice.js`\n\nThis should create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox\n source.\n\n## API\n\nGet a reference to the module:\n\n // NodeJS\n var sourceMap = require('source-map');\n\n // Browser builds\n var sourceMap = window.sourceMap;\n\n // Inside Firefox\n let sourceMap = {};\n Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n available.\n\n* `line`: The line number in the original source, or null if this information is\n not available.\n\n* `column`: The column number in the original source, or null or null if this\n information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping.\n\n* `context`: Optional. If specified, this object will be the value of `this`\n every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n the mappings sorted by the generated file's line/column order or the\n original's source/line/column order, respectively. Defaults to\n `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator(startOfSourceMap)\n\nTo create a new one, you must pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n associated with.\n\n* `sourceRoot`: An optional root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n If omitted, sourceMapConsumer.file will be used.\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode(line, column, source[, chunk[, name]])\n\n* `line`: The original line number associated with this source node, or null if\n it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n if it isn't associated with an original column.\n\n* `source`: The original source's filename.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer)\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap)\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-.js`\nand export your test functions with names that start with \"test\", for example\n\n exports[\"test doing the foo bar\"] = function (assert, util) {\n ...\n };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n", + "_id": "source-map@0.1.22", + "_from": "source-map@~0.1.7" +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/run-tests.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/run-tests.js new file mode 100644 index 0000000..8bf2256 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/run-tests.js @@ -0,0 +1,73 @@ +#!/usr/bin/env node +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var assert = require('assert'); +var fs = require('fs'); +var path = require('path'); +var util = require('./source-map/util'); + +function run(tests) { + var failures = []; + var total = 0; + var passed = 0; + + for (var i = 0; i < tests.length; i++) { + for (var k in tests[i].testCase) { + if (/^test/.test(k)) { + total++; + try { + tests[i].testCase[k](assert, util); + passed++; + process.stdout.write('.'); + } + catch (e) { + failures.push({ + name: tests[i].name + ': ' + k, + error: e + }); + process.stdout.write('E'); + } + } + } + } + + process.stdout.write('\n'); + console.log(passed + ' / ' + total + ' tests passed.'); + + failures.forEach(function (f) { + console.log('================================================================================'); + console.log(f.name); + console.log('--------------------------------------------------------------------------------'); + console.log(f.error.stack); + }); + + return failures.length; +} + +var code; + +process.stdout.on('close', function () { + process.exit(code); +}); + +function isTestFile(f) { + return /^test\-.*?\.js/.test(f); +} + +function toModule(f) { + return './source-map/' + f.replace(/\.js$/, ''); +} + +var requires = fs.readdirSync(path.join(__dirname, 'source-map')).filter(isTestFile).map(toModule); + +code = run(requires.map(require).map(function (mod, i) { + return { + name: requires[i], + testCase: mod + }; +})); +process.exit(code); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js new file mode 100644 index 0000000..63eb45a --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js @@ -0,0 +1,26 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2012 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var sourceMap; + try { + sourceMap = require('../../lib/source-map'); + } catch (e) { + sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + } + + exports['test that the api is properly exposed in the top level'] = function (assert, util) { + assert.equal(typeof sourceMap.SourceMapGenerator, "function"); + assert.equal(typeof sourceMap.SourceMapConsumer, "function"); + assert.equal(typeof sourceMap.SourceNode, "function"); + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js new file mode 100644 index 0000000..c4e88d3 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js @@ -0,0 +1,71 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var ArraySet = require('../../lib/source-map/array-set').ArraySet; + + function makeTestSet() { + var set = new ArraySet(); + for (var i = 0; i < 100; i++) { + set.add(String(i)); + } + return set; + } + + exports['test .has() membership'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.ok(set.has(String(i))); + } + }; + + exports['test .indexOf() elements'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.indexOf(String(i)), i); + } + }; + + exports['test .at() indexing'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.at(i), String(i)); + } + }; + + exports['test creating from an array'] = function (assert, util) { + var set = ArraySet.fromArray(['foo', 'bar', 'baz', 'quux', 'hasOwnProperty']); + + assert.ok(set.has('foo')); + assert.ok(set.has('bar')); + assert.ok(set.has('baz')); + assert.ok(set.has('quux')); + assert.ok(set.has('hasOwnProperty')); + + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.indexOf('bar'), 1); + assert.strictEqual(set.indexOf('baz'), 2); + assert.strictEqual(set.indexOf('quux'), 3); + + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'bar'); + assert.strictEqual(set.at(2), 'baz'); + assert.strictEqual(set.at(3), 'quux'); + }; + + exports['test that you can add __proto__; see github issue #30'] = function (assert, util) { + var set = new ArraySet(); + set.add('__proto__'); + assert.ok(set.has('__proto__')); + assert.strictEqual(set.at(0), '__proto__'); + assert.strictEqual(set.indexOf('__proto__'), 0); + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js new file mode 100644 index 0000000..7100da3 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js @@ -0,0 +1,24 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64VLQ = require('../../lib/source-map/base64-vlq'); + + exports['test normal encoding and decoding'] = function (assert, util) { + var result; + for (var i = -255; i < 256; i++) { + result = base64VLQ.decode(base64VLQ.encode(i)); + assert.ok(result); + assert.equal(result.value, i); + assert.equal(result.rest, ""); + } + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js new file mode 100644 index 0000000..23e0f88 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js @@ -0,0 +1,35 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64 = require('../../lib/source-map/base64'); + + exports['test out of range encoding'] = function (assert, util) { + assert.throws(function () { + base64.encode(-1); + }); + assert.throws(function () { + base64.encode(64); + }); + }; + + exports['test out of range decoding'] = function (assert, util) { + assert.throws(function () { + base64.decode('='); + }); + }; + + exports['test normal encoding and decoding'] = function (assert, util) { + for (var i = 0; i < 64; i++) { + assert.equal(base64.decode(base64.encode(i)), i); + } + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js new file mode 100644 index 0000000..41d0bf8 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js @@ -0,0 +1,54 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var binarySearch = require('../../lib/source-map/binary-search'); + + function numberCompare(a, b) { + return a - b; + } + + exports['test too high'] = function (assert, util) { + var needle = 30; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 20); + }; + + exports['test too low'] = function (assert, util) { + var needle = 1; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), null); + }; + + exports['test exact search'] = function (assert, util) { + var needle = 4; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 4); + }; + + exports['test fuzzy search'] = function (assert, util) { + var needle = 19; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 18); + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js new file mode 100644 index 0000000..d433bf6 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js @@ -0,0 +1,72 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test eating our own dog food'] = function (assert, util) { + var smg = new SourceMapGenerator({ + file: 'testing.js', + sourceRoot: '/wu/tang' + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 1, column: 0 }, + generated: { line: 2, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 2, column: 0 }, + generated: { line: 3, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 3, column: 0 }, + generated: { line: 4, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 4, column: 0 }, + generated: { line: 5, column: 2 } + }); + + var smc = new SourceMapConsumer(smg.toString()); + + // Exact + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 0, null, smc, assert); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 0, null, smc, assert); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 0, null, smc, assert); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 0, null, smc, assert); + + // Fuzzy + + // Original to generated + util.assertMapping(2, 0, null, null, null, null, smc, assert, true); + util.assertMapping(2, 9, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 0, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 9, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 0, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 9, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 0, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 9, '/wu/tang/gza.coffee', 4, 0, null, smc, assert, true); + + // Generated to original + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 1, null, smc, assert, null, true); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 3, null, smc, assert, null, true); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 6, null, smc, assert, null, true); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 9, null, smc, assert, null, true); + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js new file mode 100644 index 0000000..610d463 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js @@ -0,0 +1,291 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test that we can instantiate with a string or an objects'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(util.testMap); + }); + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(JSON.stringify(util.testMap)); + }); + }; + + exports['test that the `sources` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var sources = map.sources; + + assert.equal(sources[0], '/the/root/one.js'); + assert.equal(sources[1], '/the/root/two.js'); + assert.equal(sources.length, 2); + }; + + exports['test that the source root is reflected in a mapping\'s source field'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var mapping; + + mapping = map.originalPositionFor({ + line: 2, + column: 1 + }); + assert.equal(mapping.source, '/the/root/two.js'); + + mapping = map.originalPositionFor({ + line: 1, + column: 1 + }); + assert.equal(mapping.source, '/the/root/one.js'); + }; + + exports['test mapping tokens back exactly'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + util.assertMapping(1, 1, '/the/root/one.js', 1, 1, null, map, assert); + util.assertMapping(1, 5, '/the/root/one.js', 1, 5, null, map, assert); + util.assertMapping(1, 9, '/the/root/one.js', 1, 11, null, map, assert); + util.assertMapping(1, 18, '/the/root/one.js', 1, 21, 'bar', map, assert); + util.assertMapping(1, 21, '/the/root/one.js', 2, 3, null, map, assert); + util.assertMapping(1, 28, '/the/root/one.js', 2, 10, 'baz', map, assert); + util.assertMapping(1, 32, '/the/root/one.js', 2, 14, 'bar', map, assert); + + util.assertMapping(2, 1, '/the/root/two.js', 1, 1, null, map, assert); + util.assertMapping(2, 5, '/the/root/two.js', 1, 5, null, map, assert); + util.assertMapping(2, 9, '/the/root/two.js', 1, 11, null, map, assert); + util.assertMapping(2, 18, '/the/root/two.js', 1, 21, 'n', map, assert); + util.assertMapping(2, 21, '/the/root/two.js', 2, 3, null, map, assert); + util.assertMapping(2, 28, '/the/root/two.js', 2, 10, 'n', map, assert); + }; + + exports['test mapping tokens fuzzy'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + // Finding original positions + util.assertMapping(1, 20, '/the/root/one.js', 1, 21, 'bar', map, assert, true); + util.assertMapping(1, 30, '/the/root/one.js', 2, 10, 'baz', map, assert, true); + util.assertMapping(2, 12, '/the/root/two.js', 1, 11, null, map, assert, true); + + // Finding generated positions + util.assertMapping(1, 18, '/the/root/one.js', 1, 22, 'bar', map, assert, null, true); + util.assertMapping(1, 28, '/the/root/one.js', 2, 13, 'baz', map, assert, null, true); + util.assertMapping(2, 9, '/the/root/two.js', 1, 16, null, map, assert, null, true); + }; + + exports['test creating source map consumers with )]}\' prefix'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(")]}'" + JSON.stringify(util.testMap)); + }); + }; + + exports['test eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + map.eachMapping(function (mapping) { + assert.ok(mapping.generatedLine >= previousLine); + + if (mapping.source) { + assert.equal(mapping.source.indexOf(util.testMap.sourceRoot), 0); + } + + if (mapping.generatedLine === previousLine) { + assert.ok(mapping.generatedColumn >= previousColumn); + previousColumn = mapping.generatedColumn; + } + else { + previousLine = mapping.generatedLine; + previousColumn = -Infinity; + } + }); + }; + + exports['test iterating over mappings in a different order'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + var previousSource = ""; + map.eachMapping(function (mapping) { + assert.ok(mapping.source >= previousSource); + + if (mapping.source === previousSource) { + assert.ok(mapping.originalLine >= previousLine); + + if (mapping.originalLine === previousLine) { + assert.ok(mapping.originalColumn >= previousColumn); + previousColumn = mapping.originalColumn; + } + else { + previousLine = mapping.originalLine; + previousColumn = -Infinity; + } + } + else { + previousSource = mapping.source; + previousLine = -Infinity; + previousColumn = -Infinity; + } + }, null, SourceMapConsumer.ORIGINAL_ORDER); + }; + + exports['test that we can set the context for `this` in eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var context = {}; + map.eachMapping(function () { + assert.equal(this, context); + }, context); + }; + + exports['test that the `sourcesContent` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sourcesContent = map.sourcesContent; + + assert.equal(sourcesContent[0], ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(sourcesContent[1], ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(sourcesContent.length, 2); + }; + + exports['test that we can get the original sources for the sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sources = map.sources; + + assert.equal(map.sourceContentFor(sources[0]), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor(sources[1]), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(map.sourceContentFor("one.js"), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor("two.js"), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.throws(function () { + map.sourceContentFor(""); + }, Error); + assert.throws(function () { + map.sourceContentFor("/the/root/three.js"); + }, Error); + assert.throws(function () { + map.sourceContentFor("three.js"); + }, Error); + }; + + exports['test sourceRoot + generatedPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map.addMapping({ + original: { line: 5, column: 5 }, + generated: { line: 6, column: 6 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + // Should handle without sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + + // Should handle with sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'foo/bar/bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + }; + + exports['test sourceRoot + originalPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + var pos = map.originalPositionFor({ + line: 2, + column: 2, + }); + + // Should always have the prepended source root + assert.equal(pos.source, 'foo/bar/bang.coffee'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + }; + + exports['test github issue #56'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://', + file: 'www.example.com/foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'www.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1); + assert.equal(sources[0], 'http://www.example.com/original.js'); + }; + + exports['test github issue #43'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'http://cdn.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://cdn.example.com/original.js', + 'Should not be joined with the sourceRoot.'); + }; + + exports['test absolute path, but same host sources'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com/foo/bar', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: '/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://example.com/original.js', + 'Source should be relative the host of the source root.'); + }; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js new file mode 100644 index 0000000..2c42c8c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js @@ -0,0 +1,391 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + var util = require('./util'); + + exports['test some simple stuff'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.ok(true); + }; + + exports['test JSON serialization'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.equal(map.toString(), JSON.stringify(map)); + }; + + exports['test adding mappings (case 1)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 2)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 3)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 }, + name: 'someToken' + }); + }); + }; + + exports['test adding mappings (invalid)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + // Not enough info. + assert.throws(function () { + map.addMapping({}); + }); + + // Original file position, but no source. + assert.throws(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test that the correct mappings are being generated'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 5 }, + original: { line: 1, column: 5 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 9 }, + original: { line: 1, column: 11 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 18 }, + original: { line: 1, column: 21 }, + source: 'one.js', + name: 'bar' + }); + map.addMapping({ + generated: { line: 1, column: 21 }, + original: { line: 2, column: 3 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 28 }, + original: { line: 2, column: 10 }, + source: 'one.js', + name: 'baz' + }); + map.addMapping({ + generated: { line: 1, column: 32 }, + original: { line: 2, column: 14 }, + source: 'one.js', + name: 'bar' + }); + + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 5 }, + original: { line: 1, column: 5 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 9 }, + original: { line: 1, column: 11 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 18 }, + original: { line: 1, column: 21 }, + source: 'two.js', + name: 'n' + }); + map.addMapping({ + generated: { line: 2, column: 21 }, + original: { line: 2, column: 3 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 28 }, + original: { line: 2, column: 10 }, + source: 'two.js', + name: 'n' + }); + + map = JSON.parse(map.toString()); + + util.assertEqualMaps(assert, map, util.testMap); + }; + + exports['test that source content can be set'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.setSourceContent('one.js', 'one file content'); + + map = JSON.parse(map.toString()); + assert.equal(map.sources[0], 'one.js'); + assert.equal(map.sources[1], 'two.js'); + assert.equal(map.sourcesContent[0], 'one file content'); + assert.equal(map.sourcesContent[1], null); + }; + + exports['test .fromSourceMap'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(util.testMap)); + util.assertEqualMaps(assert, map.toJSON(), util.testMap); + }; + + exports['test .fromSourceMap with sourcesContent'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap( + new SourceMapConsumer(util.testMapWithSourcesContent)); + util.assertEqualMaps(assert, map.toJSON(), util.testMapWithSourcesContent); + }; + + exports['test applySourceMap'] = function (assert, util) { + var node = new SourceNode(null, null, null, [ + new SourceNode(2, 0, 'fileX', 'lineX2\n'), + 'genA1\n', + new SourceNode(2, 0, 'fileY', 'lineY2\n'), + 'genA2\n', + new SourceNode(1, 0, 'fileX', 'lineX1\n'), + 'genA3\n', + new SourceNode(1, 0, 'fileY', 'lineY1\n') + ]); + var mapStep1 = node.toStringWithSourceMap({ + file: 'fileA' + }).map; + mapStep1.setSourceContent('fileX', 'lineX1\nlineX2\n'); + mapStep1 = mapStep1.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(1, 0, 'fileA', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(3, 0, 'fileA', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var mapStep2 = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + mapStep2.setSourceContent('fileB', 'lineB1\nlineB2\n'); + mapStep2 = mapStep2.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(2, 0, 'fileX', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(2, 0, 'fileY', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var expectedMap = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + expectedMap.setSourceContent('fileX', 'lineX1\nlineX2\n'); + expectedMap.setSourceContent('fileB', 'lineB1\nlineB2\n'); + expectedMap = expectedMap.toJSON(); + + // apply source map "mapStep1" to "mapStep2" + var generator = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(mapStep2)); + generator.applySourceMap(new SourceMapConsumer(mapStep1)); + var actualMap = generator.toJSON(); + + util.assertEqualMaps(assert, actualMap, expectedMap); + }; + + exports['test sorting with duplicate generated mappings'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'test.js' + }); + map.addMapping({ + generated: { line: 3, column: 0 }, + original: { line: 2, column: 0 }, + source: 'a.js' + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 1, column: 0 }, + original: { line: 1, column: 0 }, + source: 'a.js' + }); + + util.assertEqualMaps(assert, map.toJSON(), { + version: 3, + file: 'test.js', + sources: ['a.js'], + names: [], + mappings: 'AAAA;A;AACA' + }); + }; + + exports['test ignore duplicate mappings.'] = function (assert, util) { + var init = { file: 'min.js', sourceRoot: '/the/root' }; + var map1, map2; + + // null original source location + var nullMapping1 = { + generated: { line: 1, column: 0 } + }; + var nullMapping2 = { + generated: { line: 2, column: 2 } + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(nullMapping1); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(nullMapping2); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // original source location + var srcMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'srcMapping1.js' + }; + var srcMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'srcMapping2.js' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(srcMapping1); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(srcMapping2); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // full original source and name information + var fullMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'fullMapping1.js', + name: 'fullMapping1' + }; + var fullMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'fullMapping2.js', + name: 'fullMapping2' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(fullMapping1); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(fullMapping2); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + }; +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js new file mode 100644 index 0000000..231dd7b --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js @@ -0,0 +1,282 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + + exports['test .add()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Adding a string works. + node.add('function noop() {}'); + + // Adding another source node works. + node.add(new SourceNode(null, null, null)); + + // Adding an array works. + node.add(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + + // Adding other stuff doesn't. + assert.throws(function () { + node.add({}); + }); + assert.throws(function () { + node.add(function () {}); + }); + }; + + exports['test .prepend()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Prepending a string works. + node.prepend('function noop() {}'); + assert.equal(node.children[0], 'function noop() {}'); + assert.equal(node.children.length, 1); + + // Prepending another source node works. + node.prepend(new SourceNode(null, null, null)); + assert.equal(node.children[0], ''); + assert.equal(node.children[1], 'function noop() {}'); + assert.equal(node.children.length, 2); + + // Prepending an array works. + node.prepend(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + assert.equal(node.children[0], 'function foo() {'); + assert.equal(node.children[1], 'return 10;'); + assert.equal(node.children[2], '}'); + assert.equal(node.children[3], ''); + assert.equal(node.children[4], 'function noop() {}'); + assert.equal(node.children.length, 5); + + // Prepending other stuff doesn't. + assert.throws(function () { + node.prepend({}); + }); + assert.throws(function () { + node.prepend(function () {}); + }); + }; + + exports['test .toString()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['function foo() {', + new SourceNode(null, null, null, 'return 10;'), + '}'])).toString(), + 'function foo() {return 10;}'); + }; + + exports['test .join()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['a', 'b', 'c', 'd'])).join(', ').toString(), + 'a, b, c, d'); + }; + + exports['test .walk()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', new SourceNode(1, 0, 'a.js', ['someCall()']), ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var expected = [ + { str: '(function () {\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'someCall()', source: 'a.js', line: 1, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'if (foo) bar()', source: 'b.js', line: 2, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: '}());', source: null, line: null, column: null }, + ]; + var i = 0; + node.walk(function (chunk, loc) { + assert.equal(expected[i].str, chunk); + assert.equal(expected[i].source, loc.source); + assert.equal(expected[i].line, loc.line); + assert.equal(expected[i].column, loc.column); + i++; + }); + }; + + exports['test .replaceRight'] = function (assert, util) { + var node; + + // Not nested + node = new SourceNode(null, null, null, 'hello world'); + node.replaceRight(/world/, 'universe'); + assert.equal(node.toString(), 'hello universe'); + + // Nested + node = new SourceNode(null, null, null, + [new SourceNode(null, null, null, 'hey sexy mama, '), + new SourceNode(null, null, null, 'want to kill all humans?')]); + node.replaceRight(/kill all humans/, 'watch Futurama'); + assert.equal(node.toString(), 'hey sexy mama, want to watch Futurama?'); + }; + + exports['test .toStringWithSourceMap()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', + new SourceNode(1, 0, 'a.js', 'someCall', 'originalCall'), + new SourceNode(1, 8, 'a.js', '()'), + ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + var actual; + + actual = map.originalPositionFor({ + line: 1, + column: 4 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(actual.source, 'a.js'); + assert.equal(actual.line, 1); + assert.equal(actual.column, 0); + assert.equal(actual.name, 'originalCall'); + + actual = map.originalPositionFor({ + line: 3, + column: 2 + }); + assert.equal(actual.source, 'b.js'); + assert.equal(actual.line, 2); + assert.equal(actual.column, 0); + + actual = map.originalPositionFor({ + line: 3, + column: 16 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 4, + column: 2 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + }; + + exports['test .fromStringWithSourceMap()'] = function (assert, util) { + var node = SourceNode.fromStringWithSourceMap( + util.testGeneratedCode, + new SourceMapConsumer(util.testMap)); + + var result = node.toStringWithSourceMap({ + file: 'min.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, util.testGeneratedCode); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + assert.equal(map.version, util.testMap.version); + assert.equal(map.file, util.testMap.file); + assert.equal(map.mappings, util.testMap.mappings); + }; + + exports['test .fromStringWithSourceMap() complex version'] = function (assert, util) { + var input = new SourceNode(null, null, null, [ + "(function() {\n", + " var Test = {};\n", + " ", new SourceNode(1, 0, "a.js", "Test.A = { value: 1234 };\n"), + " ", new SourceNode(2, 0, "a.js", "Test.A.x = 'xyz';"), "\n", + "}());\n", + "/* Generated Source */"]); + input = input.toStringWithSourceMap({ + file: 'foo.js' + }); + + var node = SourceNode.fromStringWithSourceMap( + input.code, + new SourceMapConsumer(input.map.toString())); + + var result = node.toStringWithSourceMap({ + file: 'foo.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, input.code); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + var inputMap = input.map.toJSON(); + util.assertEqualMaps(assert, map, inputMap); + }; + + exports['test setSourceContent with toStringWithSourceMap'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + assert.equal(map.sources.length, 2); + assert.equal(map.sources[0], 'a.js'); + assert.equal(map.sources[1], 'b.js'); + assert.equal(map.sourcesContent.length, 2); + assert.equal(map.sourcesContent[0], 'someContent'); + assert.equal(map.sourcesContent[1], 'otherContent'); + }; + + exports['test walkSourceContents'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var results = []; + node.walkSourceContents(function (sourceFile, sourceContent) { + results.push([sourceFile, sourceContent]); + }); + assert.equal(results.length, 2); + assert.equal(results[0][0], 'a.js'); + assert.equal(results[0][1], 'someContent'); + assert.equal(results[1][0], 'b.js'); + assert.equal(results[1][1], 'otherContent'); + }; +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js new file mode 100644 index 0000000..3e19fc9 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js @@ -0,0 +1,152 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var util = require('../../lib/source-map/util'); + + // This is a test mapping which maps functions from two different files + // (one.js and two.js) to a minified generated source. + // + // Here is one.js: + // + // ONE.foo = function (bar) { + // return baz(bar); + // }; + // + // Here is two.js: + // + // TWO.inc = function (n) { + // return n + 1; + // }; + // + // And here is the generated code (min.js): + // + // ONE.foo=function(a){return baz(a);}; + // TWO.inc=function(a){return a+1;}; + exports.testGeneratedCode = " ONE.foo=function(a){return baz(a);};\n"+ + " TWO.inc=function(a){return a+1;};"; + exports.testMap = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + exports.testMapWithSourcesContent = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourcesContent: [ + ' ONE.foo = function (bar) {\n' + + ' return baz(bar);\n' + + ' };', + ' TWO.inc = function (n) {\n' + + ' return n + 1;\n' + + ' };' + ], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + + function assertMapping(generatedLine, generatedColumn, originalSource, + originalLine, originalColumn, name, map, assert, + dontTestGenerated, dontTestOriginal) { + if (!dontTestOriginal) { + var origMapping = map.originalPositionFor({ + line: generatedLine, + column: generatedColumn + }); + assert.equal(origMapping.name, name, + 'Incorrect name, expected ' + JSON.stringify(name) + + ', got ' + JSON.stringify(origMapping.name)); + assert.equal(origMapping.line, originalLine, + 'Incorrect line, expected ' + JSON.stringify(originalLine) + + ', got ' + JSON.stringify(origMapping.line)); + assert.equal(origMapping.column, originalColumn, + 'Incorrect column, expected ' + JSON.stringify(originalColumn) + + ', got ' + JSON.stringify(origMapping.column)); + + var expectedSource; + + if (originalSource && map.sourceRoot && originalSource.indexOf(map.sourceRoot) === 0) { + expectedSource = originalSource; + } else if (originalSource) { + expectedSource = map.sourceRoot + ? util.join(map.sourceRoot, originalSource) + : originalSource; + } else { + expectedSource = null; + } + + assert.equal(origMapping.source, expectedSource, + 'Incorrect source, expected ' + JSON.stringify(expectedSource) + + ', got ' + JSON.stringify(origMapping.source)); + } + + if (!dontTestGenerated) { + var genMapping = map.generatedPositionFor({ + source: originalSource, + line: originalLine, + column: originalColumn + }); + assert.equal(genMapping.line, generatedLine, + 'Incorrect line, expected ' + JSON.stringify(generatedLine) + + ', got ' + JSON.stringify(genMapping.line)); + assert.equal(genMapping.column, generatedColumn, + 'Incorrect column, expected ' + JSON.stringify(generatedColumn) + + ', got ' + JSON.stringify(genMapping.column)); + } + } + exports.assertMapping = assertMapping; + + function assertEqualMaps(assert, actualMap, expectedMap) { + assert.equal(actualMap.version, expectedMap.version, "version mismatch"); + assert.equal(actualMap.file, expectedMap.file, "file mismatch"); + assert.equal(actualMap.names.length, + expectedMap.names.length, + "names length mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + for (var i = 0; i < actualMap.names.length; i++) { + assert.equal(actualMap.names[i], + expectedMap.names[i], + "names[" + i + "] mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + } + assert.equal(actualMap.sources.length, + expectedMap.sources.length, + "sources length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + for (var i = 0; i < actualMap.sources.length; i++) { + assert.equal(actualMap.sources[i], + expectedMap.sources[i], + "sources[" + i + "] length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + } + assert.equal(actualMap.sourceRoot, + expectedMap.sourceRoot, + "sourceRoot mismatch: " + + actualMap.sourceRoot + " != " + expectedMap.sourceRoot); + assert.equal(actualMap.mappings, expectedMap.mappings, "mappings mismatch"); + if (actualMap.sourcesContent) { + assert.equal(actualMap.sourcesContent.length, + expectedMap.sourcesContent.length, + "sourcesContent length mismatch"); + for (var i = 0; i < actualMap.sourcesContent.length; i++) { + assert.equal(actualMap.sourcesContent[i], + expectedMap.sourcesContent[i], + "sourcesContent[" + i + "] mismatch"); + } + } + } + exports.assertEqualMaps = assertEqualMaps; + +}); diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/package.json b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/package.json new file mode 100644 index 0000000..78a488e --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/package.json @@ -0,0 +1,36 @@ +{ + "name": "uglify-js", + "description": "JavaScript parser, mangler/compressor and beautifier toolkit", + "homepage": "http://lisperator.net/uglifyjs", + "main": "tools/node.js", + "version": "2.2.5", + "engines": { + "node": ">=0.4.0" + }, + "maintainers": [ + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com", + "url": "http://lisperator.net/" + } + ], + "repositories": [ + { + "type": "git", + "url": "https://github.com/mishoo/UglifyJS2.git" + } + ], + "dependencies": { + "source-map": "~0.1.7", + "optimist": "~0.3.5" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "scripts": { + "test": "node test/run-tests.js" + }, + "readme": "UglifyJS 2\n==========\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility. For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n npm install uglify-js\n\nFrom Git:\n\n git clone git://github.com/mishoo/UglifyJS2.git\n cd UglifyJS2\n npm link .\n\nUsage\n-----\n\n uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files. It's recommended that you pass the\ninput files first, then pass the options. UglifyJS will parse input files\nin sequence and apply any compression options. The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n --source-map Specify an output file where to generate source map.\n [string]\n --source-map-root The path to the original source to be included in the\n source map. [string]\n --source-map-url The path to the source map to be added in //@\n sourceMappingURL. Defaults to the value passed with\n --source-map. [string]\n --in-source-map Input source map, useful if you're compressing JS that was\n generated from some other original code.\n -p, --prefix Skip prefix for original filenames that appear in source\n maps. For example -p 3 will drop 3 directories from file\n names and ensure they are relative paths.\n -o, --output Output file (default STDOUT).\n -b, --beautify Beautify output/specify output options. [string]\n -m, --mangle Mangle names/pass mangler options. [string]\n -r, --reserved Reserved names to exclude from mangling.\n -c, --compress Enable compressor/pass compressor options. Pass options\n like -c hoist_vars=false,if_return=false. Use -c with no\n argument to use the default compression options. [string]\n -d, --define Global definitions [string]\n --comments Preserve copyright comments in the output. By default this\n works like Google Closure, keeping JSDoc-style comments\n that contain \"@license\" or \"@preserve\". You can optionally\n pass one of the following arguments to this flag:\n - \"all\" to keep all comments\n - a valid JS regexp (needs to start with a slash) to keep\n only comments that match.\n Note that currently not *all* comments can be kept when\n compression is on, because of dead code removal or\n cascading statements into sequences. [string]\n --stats Display operations run time on STDERR. [boolean]\n --acorn Use Acorn for parsing. [boolean]\n --spidermonkey Assume input fles are SpiderMonkey AST format (as JSON).\n [boolean]\n --self Build itself (UglifyJS2) as a library (implies\n --wrap=UglifyJS --export-all) [boolean]\n --wrap Embed everything in a big function, making the “exports”\n and “global” variables available. You need to pass an\n argument to this option to specify the name that your\n module will take when included in, say, a browser.\n [string]\n --export-all Only used when --wrap, this tells UglifyJS to add code to\n automatically export all globals. [boolean]\n --lint Display some scope warnings [boolean]\n -v, --verbose Verbose [boolean]\n -V, --version Print version number and exit. [boolean]\n\nSpecify `--output` (`-o`) to declare the output file. Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript. To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found. In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n uglifyjs /home/doe/work/foo/src/js/file1.js \\\n /home/doe/work/foo/src/js/file2.js \\\n -o foo.min.js \\\n --source-map foo.min.js.map \\\n --source-map-root http://foo.com/src \\\n -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`. The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript). UglifyJS has an\noption to take an input source map. Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`. Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`). Optionally you\ncan pass `-m sort=true` (we'll possibly have other flags in the future) in order\nto assign shorter names to most frequently used variables. This saves a few\nhundred bytes on jQuery before gzip, but the output is _bigger_ after gzip\n(and seems to happen for other libraries I tried it on) therefore it's not\nenabled by default.\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names. For example:\n\n uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor. Optionally\nyou can pass a comma-separated list of options. Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\nThe defaults should be tuned for maximum compression on most code. Here are\nthe available options (all are `true` by default, except `hoist_vars`):\n\n- `sequences` -- join consecutive simple statements using the comma operator\n- `properties` -- rewrite property access using the dot notation, for\n example `foo[\"bar\"] → foo.bar`\n- `dead_code` -- remove unreachable code\n- `drop_debugger` -- remove `debugger;` statements\n- `unsafe` -- apply \"unsafe\" transformations (discussion below)\n- `conditionals` -- apply optimizations for `if`-s and conditional\n expressions\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n- `evaluate` -- attempt to evaluate constant expressions\n- `booleans` -- various optimizations for boolean context, for example `!!a\n ? b : c → a ? b : c`\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n statically determine the condition\n- `unused` -- drop unreferenced functions and variables\n- `hoist_funs` -- hoist function declarations\n- `hoist_vars` -- hoist `var` declarations (this is `false` by default\n because it seems to increase the size of the output in general)\n- `if_return` -- optimizations for if/return and if/continue\n- `join_vars` -- join consecutive `var` statements\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n and `x = something(), x` into `x = something()`\n- `warnings` -- display warnings when dropping unreachable code or unused\n declarations etc.\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope). For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n\n if (DEBUG) {\n console.log(\"debug stuff\");\n }\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build. For example you can have a\n`build/defines.js` file with the following:\n\n const DEBUG = false;\n const PRODUCTION = true;\n // etc.\n\nand build your code like this:\n\n uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual. The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default. In\ncase you want beautified output, pass `--beautify` (`-b`). Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n Passing `-b` will set this to true, but you might need to pass `-b` even\n when you want to generate minified code, in order to specify additional\n arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n ` 5) break; // this break refers to the for, not to the switch; thus it + // shouldn't ruin our optimization + console.log(x); + } + y(); + case 1+1: + bar(); + break; + default: + def(); + } + } + } + expect: { + OUT: { + foo(); + x(); + if (foo) break OUT; + for (var x = 0; x < 10; x++) { + if (x > 5) break; + console.log(x); + } + y(); + bar(); + } + } +} + +constant_switch_8: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) break OUT; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) break OUT; + y(); + } + } +} + +constant_switch_9: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) if (foo) break OUT; + y(); + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) if (foo) break OUT; + y(); + bar(); + def(); + } + } +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/run-tests.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/run-tests.js new file mode 100644 index 0000000..0568c6a --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/test/run-tests.js @@ -0,0 +1,170 @@ +#! /usr/bin/env node + +var U = require("../tools/node"); +var path = require("path"); +var fs = require("fs"); +var assert = require("assert"); +var sys = require("util"); + +var tests_dir = path.dirname(module.filename); + +run_compress_tests(); + +/* -----[ utils ]----- */ + +function tmpl() { + return U.string_template.apply(this, arguments); +} + +function log() { + var txt = tmpl.apply(this, arguments); + sys.puts(txt); +} + +function log_directory(dir) { + log("*** Entering [{dir}]", { dir: dir }); +} + +function log_start_file(file) { + log("--- {file}", { file: file }); +} + +function log_test(name) { + log(" Running test [{name}]", { name: name }); +} + +function find_test_files(dir) { + var files = fs.readdirSync(dir).filter(function(name){ + return /\.js$/i.test(name); + }); + if (process.argv.length > 2) { + var x = process.argv.slice(2); + files = files.filter(function(f){ + return x.indexOf(f) >= 0; + }); + } + return files; +} + +function test_directory(dir) { + return path.resolve(tests_dir, dir); +} + +function as_toplevel(input) { + if (input instanceof U.AST_BlockStatement) input = input.body; + else if (input instanceof U.AST_Statement) input = [ input ]; + else throw new Error("Unsupported input syntax"); + var toplevel = new U.AST_Toplevel({ body: input }); + toplevel.figure_out_scope(); + return toplevel; +} + +function run_compress_tests() { + var dir = test_directory("compress"); + log_directory("compress"); + var files = find_test_files(dir); + function test_file(file) { + log_start_file(file); + function test_case(test) { + log_test(test.name); + var options = U.defaults(test.options, { + warnings: false + }); + var cmp = new U.Compressor(options, true); + var expect = make_code(as_toplevel(test.expect), false); + var input = as_toplevel(test.input); + var input_code = make_code(test.input); + var output = input.transform(cmp); + output.figure_out_scope(); + output = make_code(output, false); + if (expect != output) { + log("!!! failed\n---INPUT---\n{input}\n---OUTPUT---\n{output}\n---EXPECTED---\n{expected}\n\n", { + input: input_code, + output: output, + expected: expect + }); + } + } + var tests = parse_test(path.resolve(dir, file)); + for (var i in tests) if (tests.hasOwnProperty(i)) { + test_case(tests[i]); + } + } + files.forEach(function(file){ + test_file(file); + }); +} + +function parse_test(file) { + var script = fs.readFileSync(file, "utf8"); + var ast = U.parse(script, { + filename: file + }); + var tests = {}; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_LabeledStatement + && tw.parent() instanceof U.AST_Toplevel) { + var name = node.label.name; + tests[name] = get_one_test(name, node.body); + return true; + } + if (!(node instanceof U.AST_Toplevel)) croak(node); + }); + ast.walk(tw); + return tests; + + function croak(node) { + throw new Error(tmpl("Can't understand test file {file} [{line},{col}]\n{code}", { + file: file, + line: node.start.line, + col: node.start.col, + code: make_code(node, false) + })); + } + + function get_one_test(name, block) { + var test = { name: name, options: {} }; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_Assign) { + if (!(node.left instanceof U.AST_SymbolRef)) { + croak(node); + } + var name = node.left.name; + test[name] = evaluate(node.right); + return true; + } + if (node instanceof U.AST_LabeledStatement) { + assert.ok( + node.label.name == "input" || node.label.name == "expect", + tmpl("Unsupported label {name} [{line},{col}]", { + name: node.label.name, + line: node.label.start.line, + col: node.label.start.col + }) + ); + var stat = node.body; + if (stat instanceof U.AST_BlockStatement) { + if (stat.body.length == 1) stat = stat.body[0]; + else if (stat.body.length == 0) stat = new U.AST_EmptyStatement(); + } + test[node.label.name] = stat; + return true; + } + }); + block.walk(tw); + return test; + }; +} + +function make_code(ast, beautify) { + if (arguments.length == 1) beautify = true; + var stream = U.OutputStream({ beautify: beautify }); + ast.print(stream); + return stream.get(); +} + +function evaluate(code) { + if (code instanceof U.AST_Node) + code = make_code(code); + return new Function("return(" + code + ")")(); +} diff --git a/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/tools/node.js b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/tools/node.js new file mode 100644 index 0000000..cf87628 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/node_modules/uglify-js/tools/node.js @@ -0,0 +1,164 @@ +var path = require("path"); +var fs = require("fs"); +var vm = require("vm"); +var sys = require("util"); + +var UglifyJS = vm.createContext({ + sys : sys, + console : console, + MOZ_SourceMap : require("source-map") +}); + +function load_global(file) { + file = path.resolve(path.dirname(module.filename), file); + try { + var code = fs.readFileSync(file, "utf8"); + return vm.runInContext(code, UglifyJS, file); + } catch(ex) { + // XXX: in case of a syntax error, the message is kinda + // useless. (no location information). + sys.debug("ERROR in file: " + file + " / " + ex); + process.exit(1); + } +}; + +var FILES = exports.FILES = [ + "../lib/utils.js", + "../lib/ast.js", + "../lib/parse.js", + "../lib/transform.js", + "../lib/scope.js", + "../lib/output.js", + "../lib/compress.js", + "../lib/sourcemap.js", + "../lib/mozilla-ast.js" +].map(function(file){ + return path.join(path.dirname(fs.realpathSync(__filename)), file); +}); + +FILES.forEach(load_global); + +UglifyJS.AST_Node.warn_function = function(txt) { + sys.error("WARN: " + txt); +}; + +// XXX: perhaps we shouldn't export everything but heck, I'm lazy. +for (var i in UglifyJS) { + if (UglifyJS.hasOwnProperty(i)) { + exports[i] = UglifyJS[i]; + } +} + +exports.minify = function(files, options) { + options = UglifyJS.defaults(options, { + outSourceMap : null, + sourceRoot : null, + inSourceMap : null, + fromString : false, + warnings : false, + mangle : {}, + output : null, + compress : {} + }); + if (typeof files == "string") + files = [ files ]; + + // 1. parse + var toplevel = null; + files.forEach(function(file){ + var code = options.fromString + ? file + : fs.readFileSync(file, "utf8"); + toplevel = UglifyJS.parse(code, { + filename: options.fromString ? "?" : file, + toplevel: toplevel + }); + }); + + // 2. compress + if (options.compress) { + var compress = { warnings: options.warnings }; + UglifyJS.merge(compress, options.compress); + toplevel.figure_out_scope(); + var sq = UglifyJS.Compressor(compress); + toplevel = toplevel.transform(sq); + } + + // 3. mangle + if (options.mangle) { + toplevel.figure_out_scope(); + toplevel.compute_char_frequency(); + toplevel.mangle_names(options.mangle); + } + + // 4. output + var map = null; + var inMap = null; + if (options.inSourceMap) { + inMap = fs.readFileSync(options.inSourceMap, "utf8"); + } + if (options.outSourceMap) map = UglifyJS.SourceMap({ + file: options.outSourceMap, + orig: inMap, + root: options.sourceRoot + }); + var output = { source_map: map }; + if (options.output) { + UglifyJS.merge(output, options.output); + } + var stream = UglifyJS.OutputStream(output); + toplevel.print(stream); + return { + code : stream + "", + map : map + "" + }; +}; + +// exports.describe_ast = function() { +// function doitem(ctor) { +// var sub = {}; +// ctor.SUBCLASSES.forEach(function(ctor){ +// sub[ctor.TYPE] = doitem(ctor); +// }); +// var ret = {}; +// if (ctor.SELF_PROPS.length > 0) ret.props = ctor.SELF_PROPS; +// if (ctor.SUBCLASSES.length > 0) ret.sub = sub; +// return ret; +// } +// return doitem(UglifyJS.AST_Node).sub; +// } + +exports.describe_ast = function() { + var out = UglifyJS.OutputStream({ beautify: true }); + function doitem(ctor) { + out.print("AST_" + ctor.TYPE); + var props = ctor.SELF_PROPS.filter(function(prop){ + return !/^\$/.test(prop); + }); + if (props.length > 0) { + out.space(); + out.with_parens(function(){ + props.forEach(function(prop, i){ + if (i) out.space(); + out.print(prop); + }); + }); + } + if (ctor.documentation) { + out.space(); + out.print_string(ctor.documentation); + } + if (ctor.SUBCLASSES.length > 0) { + out.space(); + out.with_block(function(){ + ctor.SUBCLASSES.forEach(function(ctor, i){ + out.indent(); + doitem(ctor); + out.newline(); + }); + }); + } + }; + doitem(UglifyJS.AST_Node); + return out + ""; +}; diff --git a/static/js/node_modules/grunt-cmd-transport/package.json b/static/js/node_modules/grunt-cmd-transport/package.json new file mode 100644 index 0000000..fd2c64c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/package.json @@ -0,0 +1,49 @@ +{ + "name": "grunt-cmd-transport", + "description": "Transport javascript into cmd.", + "version": "0.2.0", + "homepage": "https://github.com/spmjs/grunt-cmd-transport", + "author": { + "name": "Hsiaoming Yang", + "email": "lepture@me.com" + }, + "repository": { + "type": "git", + "url": "git://github.com/spmjs/grunt-cmd-transport.git" + }, + "bugs": { + "url": "https://github.com/spmjs/grunt-cmd-transport/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/spmjs/grunt-cmd-transport/blob/master/LICENSE-MIT" + } + ], + "engines": { + "node": ">= 0.8.0" + }, + "scripts": { + "test": "grunt test" + }, + "dependencies": { + "clean-css": "~1.0.1", + "cmd-util": "~0.3.5", + "handlebars": "~1.0.10", + "uglify-js": "~2.2.5" + }, + "devDependencies": { + "grunt-contrib-jshint": "~0.1.1", + "grunt-contrib-clean": "~0.4.0", + "grunt-contrib-nodeunit": "~0.1.2" + }, + "keywords": [ + "gruntplugin" + ], + "readme": "# grunt-cmd-transport\n\n> Transport javascript into cmd.\n\n## Getting Started\n\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-cmd-transport --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-cmd-transport');\n```\n\n## The \"transport\" task\n\n### Overview\n\nIn your project's Gruntfile, add a section named `cmd_transport` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n transport: {\n options: {\n // Task-specific options go here.\n },\n your_target: {\n // Target-specific file lists and/or options go here.\n },\n },\n})\n```\n\n### Options\n\n#### options.paths\n\nType: `Array`\nDefault value: `['sea-modules']`\n\nWhere are the modules in the sea.\n\n#### options.idleading\n\nType: `String`\nDefault value: `\"\"`\n\nPrepend idleading to generate the id of the module.\n\n#### options.alias\n\nType: `Object`\nDefault value: `{}`\n\nAlias of modules.\n\n#### options.debug\n\nType: `Boolean`\nDefault value: `true`\n\nCreate a debugfile or not.\n\n#### options.handlebars\n\nType: `Object`\n\nOptions for handlebars compiler.\n\n#### options.uglify\n\nType: `Object`\n\nUglify prettifier, you really don't have to change this value.\n\n\n#### options.parsers\n\nTransport a specific filetype with the right parser.\n\nYou can write your own parsers, for example `coffeeParser`:\n\n```js\noptions: {\n parsers: {\n '.coffee': [coffeeParser]\n }\n}\n```\n\nSorry for the missing documentation on how to write a parser.\n\n### Usage Examples\n\nGruntfile use default options.\n\n\n```js\ngrunt.initConfig({\n transport: {\n target_name: {\n files: [{\n cwd: 'src',\n src: '**/*',\n dest: 'dist'\n }]\n }\n }\n});\n```\n\n## Contributing\n\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n\n**April 10th, 2013** `0.1.3`\n\nUpgrade dependencies.\n\n**April 9th, 2013** `0.1.2`\n\nBugfix for parsing nested relative dependencies.\n\n**April 1st, 2013** `0.1.1`\n\nTemplate process on source data.\n\n**April 1st, 2013** `0.1.0`\n\nFirst version.\n", + "_id": "grunt-cmd-transport@0.2.0", + "dist": { + "shasum": "62d12d22d19871f423e267fc7ba22f092d2f339c" + }, + "_from": "grunt-cmd-transport" +} diff --git a/static/js/node_modules/grunt-cmd-transport/tasks/lib/script.js b/static/js/node_modules/grunt-cmd-transport/tasks/lib/script.js new file mode 100644 index 0000000..71e9c83 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/tasks/lib/script.js @@ -0,0 +1,161 @@ +exports.init = function(grunt) { + var path = require('path'); + var ast = require('cmd-util').ast; + var iduri = require('cmd-util').iduri; + + + var exports = {}; + + exports.jsParser = function(fileObj, options) { + grunt.log.writeln('Transport ' + fileObj.src + ' -> ' + fileObj.dest); + var data = fileObj.srcData || grunt.file.read(fileObj.src); + var astCache = ast.getAst(data); + + var meta = ast.parseFirst(astCache); + + if (!meta) { + grunt.log.warn('found non cmd module "' + fileObj.src + '"'); + // do nothing + return; + } + + if (meta.id) { + grunt.log.warn('found id in "' + fileObj.src + '"'); + grunt.file.write(fileObj.dest, data); + return; + } + var deps = parseDependencies(fileObj.src, options); + + if (deps.length) { + grunt.log.writeln('found dependencies ' + deps); + } else { + grunt.log.writeln('found no dependencies'); + } + + astCache = ast.modify(astCache, { + id: options.idleading + fileObj.name.replace(/\.js$/, ''), + dependencies: deps, + require: function(v) { + return iduri.parseAlias(options, v); + } + }); + data = astCache.print_to_string(options.uglify); + grunt.file.write(fileObj.dest, data); + + if (!options.debug) { + return; + } + var dest = fileObj.dest.replace(/\.js$/, '-debug.js'); + grunt.log.writeln('Creating debug file: ' + dest); + + astCache = ast.modify(data, function(v) { + var ext = path.extname(v); + if (ext && options.parsers[ext]) { + return v.replace(new RegExp('\\' + ext + '$'), '-debug' + ext); + } else { + return v + '-debug'; + } + }); + data = astCache.print_to_string(options.uglify); + grunt.file.write(dest, data); + }; + + + // helpers + // ---------------- + function moduleDependencies(id, options) { + var alias = iduri.parseAlias(options, id); + + if (iduri.isAlias(options, id) && alias === id) { + // usually this is "$" + return []; + } + + var file = iduri.appendext(alias); + if (!/\.js$/.test(file)) return []; + + var fpath; + options.paths.some(function(base) { + var filepath = path.join(base, file); + if (grunt.file.exists(filepath)) { + grunt.log.verbose.writeln('find module "' + filepath + '"'); + fpath = filepath; + return true; + } + }); + if (!fpath) { + grunt.log.warn("can't find module " + alias); + return []; + } + var data = grunt.file.read(fpath); + var parsed = ast.parse(data); + var deps = []; + + var ids = parsed.map(function(meta) { + return meta.id; + }); + + parsed.forEach(function(meta) { + meta.dependencies.forEach(function(dep) { + dep = iduri.absolute(alias, dep); + if (!grunt.util._.contains(deps, dep) && !grunt.util._.contains(ids, dep)) { + deps.push(dep); + } + }); + }); + return deps; + } + + function parseDependencies(fpath, options) { + var rootpath = fpath; + + function relativeDependencies(fpath, options, basefile) { + if (basefile) { + fpath = path.join(path.dirname(basefile), fpath); + } + fpath = iduri.appendext(fpath); + + var deps = []; + var moduleDeps = {}; + + var data = grunt.file.read(fpath); + var parsed = ast.parseFirst(data); + parsed.dependencies.forEach(function(id) { + + if (id.charAt(0) === '.') { + // fix nested relative dependencies + if (basefile) { + var altId = path.join(path.dirname(fpath), id); + altId = path.relative(path.dirname(rootpath), altId); + altId = altId.replace(/\\/g, '/'); + if (altId.charAt(0) !== '.') { + altId = './' + altId; + } + deps.push(altId); + } else { + deps.push(id); + } + if (/\.js$/.test(iduri.appendext(id))) { + deps = grunt.util._.union(deps, relativeDependencies(id, options, fpath)); + } + } else if (!moduleDeps[id]) { + var alias = iduri.parseAlias(options, id); + deps.push(alias); + + // don't parse no javascript dependencies + var ext = path.extname(alias); + if (ext && ext !== '.js') return; + + var mdeps = moduleDependencies(id, options); + moduleDeps[id] = mdeps; + deps = grunt.util._.union(deps, mdeps); + } + }); + return deps; + } + + return relativeDependencies(fpath, options); + } + + return exports; +}; diff --git a/static/js/node_modules/grunt-cmd-transport/tasks/lib/style.js b/static/js/node_modules/grunt-cmd-transport/tasks/lib/style.js new file mode 100644 index 0000000..a4a7c08 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/tasks/lib/style.js @@ -0,0 +1,123 @@ +var path = require('path'); +var format = require('util').format; + +exports.init = function(grunt) { + var ast = require('cmd-util').ast; + var iduri = require('cmd-util').iduri; + var css = require('cmd-util').css; + + + var exports = {}; + + exports.css2jsParser = function(fileObj, options) { + // don't transport debug css files + if (/\-debug\.css$/.test(fileObj.src)) return; + grunt.log.writeln('Transport ' + fileObj.src + ' -> ' + fileObj.dest); + + // transport css to js + var data = fileObj.srcData || grunt.file.read(fileObj.src); + var id = options.idleading + fileObj.name.replace(/\.js$/, ''); + + data = css2js(data, id); + data = ast.getAst(data).print_to_string(options.uglify); + var dest = fileObj.dest + '.js'; + grunt.file.write(dest, data); + + if (!options.debug) { + return; + } + dest = dest.replace(/\.css\.js$/, '-debug.css.js'); + grunt.log.writeln('Creating debug file: ' + dest); + + data = ast.modify(data, function(v) { + var ext = path.extname(v); + if (ext && options.parsers[ext]) { + return v.replace(new RegExp('\\' + ext + '$'), '-debug' + ext); + } else { + return v + '-debug'; + } + }); + data = data.print_to_string(options.uglify); + grunt.file.write(dest, data); + }; + + // the real css parser + exports.cssParser = function(fileObj, options) { + var data = fileObj.srcData || grunt.file.read(fileObj.src); + data = css.parse(data); + + grunt.log.writeln('Transport ' + fileObj.src + ' -> ' + fileObj.dest); + var ret = css.stringify(data[0].code, function(node) { + if (node.type === 'import' && node.id) { + if (node.id.charAt(0) === '.') { + return node; + } + if (!iduri.isAlias(options, node.id)) { + grunt.log.warn('alias ' + node.id + ' not defined.'); + } else { + node.id = iduri.parseAlias(options, node.id); + if (!/\.css$/.test(node.id)) { + node.id += '.css'; + } + return node; + } + } + }); + + var id = options.idleading + fileObj.name.replace(/\.js$/, ''); + var banner = format('/*! define %s */', id); + grunt.file.write(fileObj.dest, [banner, ret].join('\n')); + + var dest = fileObj.dest.replace(/\.css$/, '-debug.css'); + grunt.log.writeln('Creating debug file: ' + dest); + + ret = css.stringify(data[0].code, function(node) { + if (node.type === 'import' && node.id) { + var alias = node.id; + if (alias.charAt(0) === '.') { + node.id = alias.replace(/(\.css)?$/, '-debug.css'); + return node; + } + alias = iduri.parseAlias(options, alias); + if (/\.css$/.test(alias)) { + node.id = alias.replace(/\.css$/, '-debug.css'); + } else { + node.id = alias + '-debug.css'; + } + return node; + } + }); + id = id.replace(/(\.css)?$/, '-debug.css'); + banner = format('/*! define %s */', id); + grunt.file.write(dest, [banner, ret].join('\n')); + }; + + return exports; +}; + + +// helpers +function css2js(code, id) { + var cleancss = require('clean-css'); + // transform css to js + // spmjs/spm#581 + var tpl = [ + 'define("%s", [], function() {', + "seajs.importStyle('%s')", + '});' + ].join('\n'); + + code = cleancss.process(code, { + keepSpecialComments: 0, + removeEmpty: true + }); + // spmjs/spm#651 + code = code.split(/\r\n|\r|\n/).map(function(line) { + return line.replace(/\\/g, '\\\\'); + }).join('\n'); + + code = format(tpl, id, code.replace(/\'/g, '\\\'')); + return code; +} + +exports.css2js = css2js; diff --git a/static/js/node_modules/grunt-cmd-transport/tasks/lib/template.js b/static/js/node_modules/grunt-cmd-transport/tasks/lib/template.js new file mode 100644 index 0000000..18edf3c --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/tasks/lib/template.js @@ -0,0 +1,98 @@ +exports.init = function(grunt) { + + var path = require('path'); + var format = require('util').format; + var iduri = require('cmd-util').iduri; + var ast = require('cmd-util').ast; + + var exports = {}; + + exports.handlebarsParser = function(fileObj, options) { + var dest = fileObj.dest + '.js'; + grunt.log.writeln('Transport ' + fileObj.src + ' -> ' + dest); + + var handlebars = require('handlebars'); + + // id for template + var id = options.idleading + fileObj.name.replace(/\.js$/, ''); + + // handlebars alias + var alias = iduri.parseAlias(options, 'handlebars'); + + var template = [ + 'define("%s", ["%s"], function(require, exports, module) {', + 'var Handlebars = require("%s");', + 'var template = Handlebars.template;', + 'module.exports = template(', + '%s', + ');', + '})' + ].join('\n'); + + var data = fileObj.srcData || grunt.file.read(fileObj.src); + + patchHandlebars(handlebars); + var code = handlebars.precompile(data, options.handlebars); + + var ret = format(template, id, alias, alias, code); + var astCache = ast.getAst(ret); + + data = astCache.print_to_string(options.uglify); + grunt.file.write(dest, data); + + // create debug file + if (!options.debug) { + return; + } + dest = dest.replace(/\.handlebars\.js$/, '-debug.handlebars.js'); + grunt.log.writeln('Creating debug file: ' + dest); + + astCache = ast.modify(astCache, function(v) { + var ext = path.extname(v); + if (ext && options.parsers[ext]) { + return v.replace(new RegExp('\\' + ext + '$'), '-debug' + ext); + } else { + return v + '-debug'; + } + }); + data = astCache.print_to_string(options.uglify); + grunt.file.write(dest, data); + }; + + return exports; +}; + + +// patch for handlebars +function patchHandlebars(Handlebars) { + Handlebars.JavaScriptCompiler.prototype.preamble = function() { + var out = []; + + if (!this.isChild) { + var namespace = this.namespace; + // patch for handlebars + var copies = [ + "helpers = helpers || {};", + "for (var key in " + namespace + ".helpers) {", + " helpers[key] = helpers[key] || " + namespace + ".helpers[key];", + "}" + ].join('\n'); + if (this.environment.usePartial) { copies = copies + " partials = partials || " + namespace + ".partials;"; } + if (this.options.data) { copies = copies + " data = data || {};"; } + out.push(copies); + } else { + out.push(''); + } + + if (!this.environment.isSimple) { + out.push(", buffer = " + this.initializeBuffer()); + } else { + out.push(""); + } + + // track the last context pushed into place to allow skipping the + // getContext opcode when it would be a noop + this.lastContext = 0; + this.source = out; + }; +} diff --git a/static/js/node_modules/grunt-cmd-transport/tasks/lib/text.js b/static/js/node_modules/grunt-cmd-transport/tasks/lib/text.js new file mode 100644 index 0000000..3618641 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/tasks/lib/text.js @@ -0,0 +1,57 @@ +var path = require('path'); +var format = require('util').format; + +exports.init = function(grunt) { + var ast = require('cmd-util').ast; + var iduri = require('cmd-util').iduri; + + var exports = {}; + + exports.html2jsParser = function(fileObj, options) { + // don't transport debug html files + if (/\-debug\.html/.test(fileObj.src)) return; + grunt.log.writeln('Transport ' + fileObj.src + ' -> ' + fileObj.dest); + // transport html to js + var data = fileObj.srcData || grunt.file.read(fileObj.src); + var id = options.idleading + fileObj.name.replace(/\.js$/, ''); + + data = html2js(data, id); + data = ast.getAst(data).print_to_string(options.uglify); + var dest = fileObj.dest + '.js'; + grunt.file.write(dest, data); + + if (!options.debug) { + return; + } + dest = dest.replace(/\.html\.js$/, '-debug.html.js'); + grunt.log.writeln('Creating debug file: ' + dest); + + data = ast.modify(data, function(v) { + var ext = path.extname(v); + if (ext && options.parsers[ext]) { + return v.replace(new RegExp('\\' + ext + '$'), '-debug' + ext); + } else { + return v + '-debug'; + } + }); + data = data.print_to_string(options.uglify); + grunt.file.write(dest, data); + }; + + return exports; +}; + + +// helpers +function html2js(code, id) { + var tpl = 'define("%s", [], "%s");'; + + code = code.split(/\r\n|\r|\n/).map(function(line) { + return line.replace(/\\/g, '\\\\'); + }).join('\n'); + + code = format(tpl, id, code.replace(/\"/g, '\\\"')); + return code; +} + +exports.html2js = html2js; diff --git a/static/js/node_modules/grunt-cmd-transport/tasks/transport.js b/static/js/node_modules/grunt-cmd-transport/tasks/transport.js new file mode 100644 index 0000000..f1cfe50 --- /dev/null +++ b/static/js/node_modules/grunt-cmd-transport/tasks/transport.js @@ -0,0 +1,106 @@ +/* + * grunt-cmd-transport + * https://github.com/spmjs/grunt-cmd-transport + * + * Copyright (c) 2013 Hsiaoming Yang + * Licensed under the MIT license. + */ + +module.exports = function(grunt) { + var path = require('path'); + var cmd = require('cmd-util'); + var ast = cmd.ast; + var iduri = cmd.iduri; + + + var text = require('./lib/text').init(grunt); + var script = require('./lib/script').init(grunt); + var style = require('./lib/style').init(grunt); + var template = require('./lib/template').init(grunt); + + var data, astCache; + + grunt.registerMultiTask('transport', 'Transport everything into cmd.', function() { + + var options = this.options({ + paths: ['sea-modules'], + + idleading: '', + alias: {}, + + // create a debug file or not + debug: true, + + // process a template or not + process: false, + + // define parsers + parsers: { + '.js': [script.jsParser], + '.css': [style.cssParser], + '.html': [text.html2jsParser], + '.handlebars': [template.handlebarsParser] + }, + + // for handlebars + handlebars: { + knownHelpers: [], + knownHelpersOnly: false + }, + + // output beautifier + uglify: { + beautify: true, + comments: true + } + }); + + if (options.process === true) { + options.process = {}; + } + + var fname, destfile; + this.files.forEach(function(fileObj) { + fileObj.src.forEach(function(fpath) { + + // get the right filename and filepath + if (fileObj.cwd) { + // not expanded + fname = fpath; + fpath = path.join(fileObj.cwd, fpath); + } else { + fname = path.relative(fileObj.orig.cwd || '', fpath); + } + if (grunt.file.isDir(fpath)) { + grunt.file.mkdir(fpath); + return; + } + destfile = path.join(fileObj.dest, fname); + + // fpath, fname, dest + var extname = path.extname(fpath); + + var fileparsers = options.parsers[extname]; + if (!fileparsers || fileparsers.length === 0) { + grunt.file.copy(fpath, destfile); + return; + } + if (!Array.isArray(fileparsers)) { + fileparsers = [fileparsers]; + } + var srcData = grunt.file.read(fpath); + if (options.process) { + srcData = grunt.template.process(srcData, options.process); + } + fileparsers.forEach(function(fn) { + fn({ + src: fpath, + srcData: srcData, + name: fname, + dest: destfile + }, options); + }); + }); + }); + }); +}; diff --git a/static/js/node_modules/grunt-contrib-clean/.jshintrc b/static/js/node_modules/grunt-contrib-clean/.jshintrc new file mode 100644 index 0000000..6b4c1a9 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/.jshintrc @@ -0,0 +1,14 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "boss": true, + "eqnull": true, + "node": true, + "es5": true +} diff --git a/static/js/node_modules/grunt-contrib-clean/.npmignore b/static/js/node_modules/grunt-contrib-clean/.npmignore new file mode 100644 index 0000000..5cb6bfd --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/.npmignore @@ -0,0 +1,3 @@ +node_modules +npm-debug.log +tmp \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-clean/.travis.yml b/static/js/node_modules/grunt-contrib-clean/.travis.yml new file mode 100644 index 0000000..b30fcb7 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - 0.8 +before_script: + - npm install -g grunt-cli diff --git a/static/js/node_modules/grunt-contrib-clean/AUTHORS b/static/js/node_modules/grunt-contrib-clean/AUTHORS new file mode 100644 index 0000000..393d814 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/AUTHORS @@ -0,0 +1,6 @@ +Tim Branyen (http://tbranyen.com/) +Tyler Kellen (http://goingslowly.com/) +Chris Talkington (http://christalkington.com/) +Sebastian Golasch (http://www.asciidisco.com/) +Vlad Filippov (http://vf.io) +"Cowboy" Ben Alman (http://benalman.com/) diff --git a/static/js/node_modules/grunt-contrib-clean/CHANGELOG b/static/js/node_modules/grunt-contrib-clean/CHANGELOG new file mode 100644 index 0000000..7eafb9c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/CHANGELOG @@ -0,0 +1,28 @@ +v0.4.0: + date: 2013-02-15 + changes: + - First official release for Grunt 0.4.0. +v0.4.0rc6: + date: 2013-01-18 + changes: + - Updating grunt/gruntplugin dependencies to rc6. + - Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. +v0.4.0rc5: + date: 2013-01-09 + changes: + - Updating to work with grunt v0.4.0rc5. + - Switching to this.filesSrc api. +v0.4.0a: + date: 2012-12-07 + changes: + - Conversion to grunt v0.4 conventions. + - Remove node v0.6 and grunt v0.3 support. + - Add force option to bypass CWD check. +v0.3.0: + date: 2012-09-23 + changes: + - Options no longer accepted from global config key. +v0.2.0: + date: 2012-09-10 + changes: + - Refactored from grunt-contrib into individual repo. diff --git a/static/js/node_modules/grunt-contrib-clean/CONTRIBUTING.md b/static/js/node_modules/grunt-contrib-clean/CONTRIBUTING.md new file mode 100644 index 0000000..5d08cc3 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/CONTRIBUTING.md @@ -0,0 +1 @@ +Please see the [Contributing to grunt](http://gruntjs.com/contributing) guide for information on contributing to this project. diff --git a/static/js/node_modules/grunt-contrib-clean/Gruntfile.js b/static/js/node_modules/grunt-contrib-clean/Gruntfile.js new file mode 100644 index 0000000..9fed3f4 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/Gruntfile.js @@ -0,0 +1,60 @@ +/* + * grunt-contrib-clean + * http://gruntjs.com/ + * + * Copyright (c) 2012 Tim Branyen, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + jshint: { + all: [ + 'Gruntfile.js', + 'tasks/*.js', + '<%= nodeunit.tests %>' + ], + options: { + jshintrc: '.jshintrc' + }, + }, + + // Configuration to be run (and then tested). + clean: { + short: ['tmp/sample_short'], + long: { + src: ['tmp/sample_long'], + }, + }, + + // Unit tests. + nodeunit: { + tests: ['test/*_test.js'], + }, + }); + + // Actually load this plugin's task(s). + grunt.loadTasks('tasks'); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + grunt.loadNpmTasks('grunt-contrib-internal'); + + // Setup a test helper to create some folders to clean. + grunt.registerTask('copy', 'Copy fixtures to a temp location.', function() { + grunt.file.copy('test/fixtures/sample_long/long.txt', 'tmp/sample_long/long.txt'); + grunt.file.copy('test/fixtures/sample_short/short.txt', 'tmp/sample_short/short.txt'); + }); + + // Whenever the 'test' task is run, first create some files to be cleaned, + // then run this plugin's task(s), then test the result. + grunt.registerTask('test', ['copy', 'clean', 'nodeunit']); + + // By default, lint and run all tests. + grunt.registerTask('default', ['jshint', 'test', 'build-contrib']); +}; diff --git a/static/js/node_modules/grunt-contrib-clean/LICENSE-MIT b/static/js/node_modules/grunt-contrib-clean/LICENSE-MIT new file mode 100644 index 0000000..9bf64d1 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2012 Tim Branyen, contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt-contrib-clean/README.md b/static/js/node_modules/grunt-contrib-clean/README.md new file mode 100644 index 0000000..3f09a9f --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/README.md @@ -0,0 +1,82 @@ +# grunt-contrib-clean [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-contrib-clean.png?branch=master)](http://travis-ci.org/gruntjs/grunt-contrib-clean) + +> Clean files and folders. + + + +## Getting Started +This plugin requires Grunt `~0.4.0` + +If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: + +```shell +npm install grunt-contrib-clean --save-dev +``` + +One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: + +```js +grunt.loadNpmTasks('grunt-contrib-clean'); +``` + +*This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that [you upgrade](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.1](https://github.com/gruntjs/grunt-contrib-clean/tree/grunt-0.3-stable).* + + + +## Clean task +_Run this task with the `grunt clean` command._ + +Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide. + +*Due to the destructive nature of this task, always be cautious of the paths you clean.* +### Options + +#### force +Type: `Boolean` +Default: false + +This overrides `grunt.file.delete` from blocking deletion of folders outside current working dir (CWD). Use with caution. + +### Usage Examples + +There are three formats you can use to run this task. + +#### Short + +```js +clean: ["path/to/dir/one", "path/to/dir/two"] +``` + +#### Medium (specific targets with global options) + +```js +clean: { + build: ["path/to/dir/one", "path/to/dir/two"], + release: ["path/to/another/dir/one", "path/to/another/dir/two"] +}, +``` + +#### Long (specific targets with per target options) + +```js +clean: { + build: { + src: ["path/to/dir/one", "path/to/dir/two"] + } +} +``` + +## Release History + + * 2013-02-14   v0.4.0   First official release for Grunt 0.4.0. + * 2013-01-17   v0.4.0rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. + * 2013-01-08   v0.4.0rc5   Updating to work with grunt v0.4.0rc5. Switching to this.filesSrc api. + * 2012-12-06   v0.4.0a   Conversion to grunt v0.4 conventions. Remove node v0.6 and grunt v0.3 support. Add force option to bypass CWD check. + * 2012-09-22   v0.3.0   Options no longer accepted from global config key. + * 2012-09-09   v0.2.0   Refactored from grunt-contrib into individual repo. + +--- + +Task submitted by [Tim Branyen](http://tbranyen.com/) + +*This file was generated on Mon Feb 18 2013 08:35:00.* diff --git a/static/js/node_modules/grunt-contrib-clean/docs/clean-examples.md b/static/js/node_modules/grunt-contrib-clean/docs/clean-examples.md new file mode 100644 index 0000000..267aea7 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/docs/clean-examples.md @@ -0,0 +1,28 @@ +# Usage Examples + +There are three formats you can use to run this task. + +## Short + +```js +clean: ["path/to/dir/one", "path/to/dir/two"] +``` + +## Medium (specific targets with global options) + +```js +clean: { + build: ["path/to/dir/one", "path/to/dir/two"], + release: ["path/to/another/dir/one", "path/to/another/dir/two"] +}, +``` + +## Long (specific targets with per target options) + +```js +clean: { + build: { + src: ["path/to/dir/one", "path/to/dir/two"] + } +} +``` \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-clean/docs/clean-options.md b/static/js/node_modules/grunt-contrib-clean/docs/clean-options.md new file mode 100644 index 0000000..1aab44e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/docs/clean-options.md @@ -0,0 +1,7 @@ +# Options + +## force +Type: `Boolean` +Default: false + +This overrides `grunt.file.delete` from blocking deletion of folders outside current working dir (CWD). Use with caution. diff --git a/static/js/node_modules/grunt-contrib-clean/docs/clean-overview.md b/static/js/node_modules/grunt-contrib-clean/docs/clean-overview.md new file mode 100644 index 0000000..62f8365 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/docs/clean-overview.md @@ -0,0 +1,3 @@ +Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide. + +*Due to the destructive nature of this task, always be cautious of the paths you clean.* \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-clean/docs/overview.md b/static/js/node_modules/grunt-contrib-clean/docs/overview.md new file mode 100644 index 0000000..8fd4f07 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/docs/overview.md @@ -0,0 +1 @@ +*This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that [you upgrade](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.1](https://github.com/gruntjs/grunt-contrib-clean/tree/grunt-0.3-stable).* diff --git a/static/js/node_modules/grunt-contrib-clean/package.json b/static/js/node_modules/grunt-contrib-clean/package.json new file mode 100644 index 0000000..68502c6 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/package.json @@ -0,0 +1,71 @@ +{ + "name": "grunt-contrib-clean", + "description": "Clean files and folders.", + "version": "0.4.0", + "homepage": "https://github.com/gruntjs/grunt-contrib-clean", + "author": { + "name": "Grunt Team", + "url": "http://gruntjs.com/" + }, + "repository": { + "type": "git", + "url": "git://github.com/gruntjs/grunt-contrib-clean.git" + }, + "bugs": { + "url": "https://github.com/gruntjs/grunt-contrib-clean/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/gruntjs/grunt-contrib-clean/blob/master/LICENSE-MIT" + } + ], + "main": "Gruntfile.js", + "engines": { + "node": ">= 0.8.0" + }, + "scripts": { + "test": "grunt test" + }, + "devDependencies": { + "grunt-contrib-jshint": "~0.1.1", + "grunt-contrib-nodeunit": "~0.1.2", + "grunt-contrib-internal": "~0.4.2", + "grunt": "~0.4.0" + }, + "peerDependencies": { + "grunt": "~0.4.0" + }, + "keywords": [ + "gruntplugin" + ], + "contributors": [ + { + "name": "Tim Branyen", + "url": "http://tbranyen.com/" + }, + { + "name": "Tyler Kellen", + "url": "http://goingslowly.com/" + }, + { + "name": "Chris Talkington", + "url": "http://christalkington.com/" + }, + { + "name": "Sebastian Golasch", + "url": "http://www.asciidisco.com/" + }, + { + "name": "Vlad Filippov", + "url": "http://vf.io" + }, + { + "name": "\"Cowboy\" Ben Alman", + "url": "http://benalman.com/" + } + ], + "readme": "# grunt-contrib-clean [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-contrib-clean.png?branch=master)](http://travis-ci.org/gruntjs/grunt-contrib-clean)\n\n> Clean files and folders.\n\n\n\n## Getting Started\nThis plugin requires Grunt `~0.4.0`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-contrib-clean --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-contrib-clean');\n```\n\n*This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that [you upgrade](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.1](https://github.com/gruntjs/grunt-contrib-clean/tree/grunt-0.3-stable).*\n\n\n\n## Clean task\n_Run this task with the `grunt clean` command._\n\nTask targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.\n\n*Due to the destructive nature of this task, always be cautious of the paths you clean.*\n### Options\n\n#### force\nType: `Boolean` \nDefault: false\n\nThis overrides `grunt.file.delete` from blocking deletion of folders outside current working dir (CWD). Use with caution.\n\n### Usage Examples\n\nThere are three formats you can use to run this task.\n\n#### Short\n\n```js\nclean: [\"path/to/dir/one\", \"path/to/dir/two\"]\n```\n\n#### Medium (specific targets with global options)\n\n```js\nclean: {\n build: [\"path/to/dir/one\", \"path/to/dir/two\"],\n release: [\"path/to/another/dir/one\", \"path/to/another/dir/two\"]\n},\n```\n\n#### Long (specific targets with per target options)\n\n```js\nclean: {\n build: {\n src: [\"path/to/dir/one\", \"path/to/dir/two\"]\n }\n}\n```\n\n## Release History\n\n * 2013-02-14   v0.4.0   First official release for Grunt 0.4.0.\n * 2013-01-17   v0.4.0rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.\n * 2013-01-08   v0.4.0rc5   Updating to work with grunt v0.4.0rc5. Switching to this.filesSrc api.\n * 2012-12-06   v0.4.0a   Conversion to grunt v0.4 conventions. Remove node v0.6 and grunt v0.3 support. Add force option to bypass CWD check.\n * 2012-09-22   v0.3.0   Options no longer accepted from global config key.\n * 2012-09-09   v0.2.0   Refactored from grunt-contrib into individual repo.\n\n---\n\nTask submitted by [Tim Branyen](http://tbranyen.com/)\n\n*This file was generated on Mon Feb 18 2013 08:35:00.*\n", + "_id": "grunt-contrib-clean@0.4.0", + "_from": "grunt-contrib-clean@~0.4.0" +} diff --git a/static/js/node_modules/grunt-contrib-clean/tasks/clean.js b/static/js/node_modules/grunt-contrib-clean/tasks/clean.js new file mode 100644 index 0000000..b2e2b59 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/tasks/clean.js @@ -0,0 +1,36 @@ +/* + * grunt-contrib-clean + * http://gruntjs.com/ + * + * Copyright (c) 2012 Tim Branyen, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function(grunt) { + + grunt.registerMultiTask('clean', 'Clean files and folders.', function() { + // Merge task-specific and/or target-specific options with these defaults. + var options = this.options({ + force: false + }); + + grunt.verbose.writeflags(options, 'Options'); + + // Clean specified files / dirs. + this.filesSrc.forEach(function(filepath) { + grunt.log.write('Cleaning "' + filepath + '"...'); + + try { + grunt.file.delete(filepath, options); + grunt.log.ok(); + } catch (e) { + grunt.log.error(); + grunt.verbose.error(e); + grunt.fail.warn('Clean operation failed.'); + } + }); + }); + +}; diff --git a/static/js/node_modules/grunt-contrib-clean/test/clean_test.js b/static/js/node_modules/grunt-contrib-clean/test/clean_test.js new file mode 100644 index 0000000..4db2ef8 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/test/clean_test.js @@ -0,0 +1,22 @@ +'use strict'; + +var grunt = require('grunt'); + +exports.clean = { + short: function(test) { + test.expect(1); + + var expected = grunt.file.exists('tmp/sample_short'); + test.equal(expected, false, 'should remove the short directory using clean'); + + test.done(); + }, + long: function(test) { + test.expect(1); + + var expected = grunt.file.exists('tmp/sample_long'); + test.equal(expected, false, 'should remove the long directory using clean'); + + test.done(); + } +}; diff --git a/static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_long/long.txt b/static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_long/long.txt new file mode 100644 index 0000000..83f9fcf --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_long/long.txt @@ -0,0 +1 @@ +txt diff --git a/static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_short/short.txt b/static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_short/short.txt new file mode 100644 index 0000000..83f9fcf --- /dev/null +++ b/static/js/node_modules/grunt-contrib-clean/test/fixtures/sample_short/short.txt @@ -0,0 +1 @@ +txt diff --git a/static/js/node_modules/grunt-contrib-uglify/.jshintrc b/static/js/node_modules/grunt-contrib-uglify/.jshintrc new file mode 100644 index 0000000..6b4c1a9 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/.jshintrc @@ -0,0 +1,14 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "boss": true, + "eqnull": true, + "node": true, + "es5": true +} diff --git a/static/js/node_modules/grunt-contrib-uglify/.npmignore b/static/js/node_modules/grunt-contrib-uglify/.npmignore new file mode 100644 index 0000000..b785247 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/.npmignore @@ -0,0 +1,3 @@ +node_modules +npm-debug.log +tmp diff --git a/static/js/node_modules/grunt-contrib-uglify/.travis.yml b/static/js/node_modules/grunt-contrib-uglify/.travis.yml new file mode 100644 index 0000000..5ca8e52 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - 0.8 +before_script: + - npm install -g grunt-cli diff --git a/static/js/node_modules/grunt-contrib-uglify/AUTHORS b/static/js/node_modules/grunt-contrib-uglify/AUTHORS new file mode 100644 index 0000000..ae935c1 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/AUTHORS @@ -0,0 +1,3 @@ +"Cowboy" Ben Alman (http://benalman.com) +Tyler Kellen (http://goingslowly.com) +Jarrod Overson (http://jarrodoverson.com) \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/CHANGELOG b/static/js/node_modules/grunt-contrib-uglify/CHANGELOG new file mode 100644 index 0000000..441822e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/CHANGELOG @@ -0,0 +1,28 @@ +v0.2.0: + date: 2013-03-14 + changes: + - No longer report gzip results by default. + - Support `report` option. +v0.1.2: + date: 2013-01-30 + changes: + - Added better error reporting + - Support for dynamic names of multiple sourcemaps +v0.1.1: + date: 2013-02-15 + changes: + - First official release for Grunt 0.4.0. +v0.1.1rc6: + date: 2013-01-18 + changes: + - Updating grunt/gruntplugin dependencies to rc6. + - Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. +v0.1.1rc5: + date: 2013-01-09 + changes: + - Updating to work with grunt v0.4.0rc5. + - Switching back to this.files api. +v0.1.0: + date: 2012-11-28 + changes: + - Work in progress, not yet officially released. diff --git a/static/js/node_modules/grunt-contrib-uglify/CONTRIBUTING.md b/static/js/node_modules/grunt-contrib-uglify/CONTRIBUTING.md new file mode 100644 index 0000000..5d08cc3 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/CONTRIBUTING.md @@ -0,0 +1 @@ +Please see the [Contributing to grunt](http://gruntjs.com/contributing) guide for information on contributing to this project. diff --git a/static/js/node_modules/grunt-contrib-uglify/Gruntfile.js b/static/js/node_modules/grunt-contrib-uglify/Gruntfile.js new file mode 100644 index 0000000..3188968 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/Gruntfile.js @@ -0,0 +1,172 @@ +/* + * grunt-contrib-uglify + * http://gruntjs.com/ + * + * Copyright (c) 2012 "Cowboy" Ben Alman, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + jshint: { + all: [ + 'Gruntfile.js', + 'tasks/**/*.js', + '<%= nodeunit.tests %>' + ], + options: { + jshintrc: '.jshintrc' + } + }, + + // Before generating any new files, remove any previously-created files. + clean: { + tests: ['tmp'] + }, + + // Configuration to be run (and then tested). + uglify: { + compress: { + files: { + 'tmp/compress.js': ['test/fixtures/src/simple.js'] + }, + options: { + mangle: false + } + }, + compress_mangle: { + files: { + 'tmp/compress_mangle.js': ['test/fixtures/src/simple.js'] + } + }, + compress_mangle_except: { + files: { + 'tmp/compress_mangle_except.js': ['test/fixtures/src/simple.js'] + }, + options: { + mangle: { + except: ['argumentC'] + } + } + }, + compress_mangle_beautify: { + files: { + 'tmp/compress_mangle_beautify.js': ['test/fixtures/src/simple.js'] + }, + options: { + beautify: true + } + }, + multifile: { + files: { + 'tmp/multifile.js': ['test/fixtures/src/simple.js','test/fixtures/src/comments.js'] + }, + options: { + mangle: false + } + }, + compress_mangle_sourcemap: { + files: { + '/dev/null': ['test/fixtures/src/simple.js'] + }, + options: { + sourceMap: 'tmp/compress_mangle_sourcemap' + } + }, + sourcemapin: { + files: { + 'tmp/sourcemapin.js': ['test/fixtures/src/simple2.js'] + }, + options: { + mangle : false, + sourceMap: 'tmp/sourcemapin', + sourceMapIn: 'test/fixtures/src/simple2.map', + sourceMapRoot: 'http://local.host/js/' + } + }, + sourcemapurl: { + files: { + 'tmp/sourcemapurl.js': ['test/fixtures/src/simple.js'] + }, + options: { + sourceMappingURL: 'js/sourcemapurl.js.map' + } + }, + comments: { + src: 'test/fixtures/src/comments.js', + dest: 'tmp/comments.js', + options: { + mangle: false, + preserveComments: 'some' + } + }, + wrap: { + src: 'test/fixtures/src/simple.js', + dest: 'tmp/wrap.js', + options: { + mangle: false, + wrap: 'testExport' + } + }, + exportAll: { + src: 'test/fixtures/src/simple.js', + dest: 'tmp/exportAll.js', + options: { + mangle: false, + wrap: 'testExport', + exportAll: true + } + }, + sourcemap_prefix: { + files: { + '/dev/null': ['test/fixtures/src/simple.js'] + }, + options: { + sourceMap: 'tmp/sourcemap_prefix', + sourceMapPrefix: 3 + } + }, + multiple_sourcemaps: { + files: { + 'tmp/multiple_sourcemaps1.js': ['test/fixtures/src/simple.js'], + 'tmp/multiple_sourcemaps2.js': ['test/fixtures/src/comments.js'] + }, + options: { + sourceMap: function(dest) { + return dest.replace(/\.js$/,".map"); + }, + sourceMappingURL: function(dest) { + return dest.replace(/\.js$/,".mapurl"); + } + } + } + }, + + // Unit tests. + nodeunit: { + tests: ['test/*_test.js'] + } + + }); + + // Actually load this plugin's task(s). + grunt.loadTasks('tasks'); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + grunt.loadNpmTasks('grunt-contrib-internal'); + + // Whenever the "test" task is run, first clean the "tmp" dir, then run this + // plugin's task(s), then test the result. + grunt.registerTask('test', ['clean', 'uglify', 'nodeunit']); + + // By default, lint and run all tests. + grunt.registerTask('default', ['jshint', 'test', 'build-contrib']); + +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/LICENSE-MIT b/static/js/node_modules/grunt-contrib-uglify/LICENSE-MIT new file mode 100644 index 0000000..7f9d346 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2012 "Cowboy" Ben Alman, contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt-contrib-uglify/README.md b/static/js/node_modules/grunt-contrib-uglify/README.md new file mode 100644 index 0000000..783739c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/README.md @@ -0,0 +1,319 @@ +# grunt-contrib-uglify [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-contrib-uglify.png?branch=master)](http://travis-ci.org/gruntjs/grunt-contrib-uglify) + +> Minify files with UglifyJS. + + + +## Getting Started +This plugin requires Grunt `~0.4.0` + +If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: + +```shell +npm install grunt-contrib-uglify --save-dev +``` + +Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: + +```js +grunt.loadNpmTasks('grunt-contrib-uglify'); +``` + + + + +## Uglify task +_Run this task with the `grunt uglify` command._ + +Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide. +### Options + +This task primarily delegates to [UglifyJS2][], so please consider the [UglifyJS documentation][] as required reading for advanced configuration. + +[UglifyJS2]: https://github.com/mishoo/UglifyJS2 +[UglifyJS documentation]: http://lisperator.net/uglifyjs/ + +#### mangle +Type: `Boolean` `Object` +Default: `{}` + +Turn on or off mangling with default options. If an `Object` is specified, it is passed directly to `ast.mangle_names()` *and* `ast.compute_char_frequency()` (mimicking command line behavior). + +#### compress +Type: `Boolean` `Object` +Default: `{}` + +Turn on or off source compression with default options. If an `Object` is specified, it is passed as options to `UglifyJS.Compressor()`. + +#### beautify +Type: `Boolean` `Object` +Default: `false` + +Turns on beautification of the generated source code. An `Object` will be merged and passed with the options sent to `UglifyJS.OutputStream()` + +#### report +Choices: `false` `'min'` `'gzip'` +Default: `false` + +Either do not report anything, report only minification result, or report minification and gzip results. This is useful to see exactly how well Uglify is performing, but using `'gzip'` can add 5-10x runtime task execution. + +Example ouput using `'gzip'`: + +``` +Original: 198444 bytes. +Minified: 101615 bytes. +Gzipped: 20084 bytes. +``` + +#### sourceMap +Type: `String` `Function` +Default: `undefined` + +The location to output the sourcemap. If a function is provided, the uglify destination is passed as the argument +and the return value will be used as the sourceMap name. + +#### sourceMapRoot +Type: `String` +Default: `undefined` + +The location where your source files can be found. This option sets the root location in the sourcemap file itself. + +#### sourceMapIn +Type: `String` +Default: `undefined` + +The location of an input source map from an earlier compilation, e.g. from CoffeeScript. + +#### sourceMappingURL +Type: `String` `Function` +Default: `undefined` + +The location of your sourcemap. Defaults to the location you use for sourceMap, override if you need finer control. Provide +a function to dynamically generate the sourceMappingURL based off the destination. + +#### sourceMapPrefix +Type: `Number` +Default: `undefined` + +The number of directories to drop from the path prefix when declaring files in the source map. + +#### wrap +Type: `String` +Default: `undefined` + +Wrap all of the code in a closure, an easy way to make sure nothing is leaking. +For variables that need to be public `exports` and `global` variables are made available. +The value of wrap is the global variable exports will be available as. + +#### exportAll +Type: `Boolean` +Default: `false` + +When using `wrap` this will make all global functions and variables available via the export variable. + +#### preserveComments +Type: `Boolean` `String` `Function` +Default: `undefined` +Options: `false` `'all'` `'some'` + +Turn on preservation of comments. + +- `false` will strip all comments +- `'all'` will preserve all comments in code blocks that have not been squashed or dropped +- `'some'` will preserve all comments that start with a bang (`!`) or include a closure compiler style directive (`@preserve` `@license` `@cc_on`) +- `Function` specify your own comment preservation function. You will be passed the current node and the current comment and are expected to return either `true` or `false` + +#### banner +Type: `String` +Default: empty string + +This string will be prepended to the beginning of the minified output. It is processed using [grunt.template.process][], using the default options. + +_(Default processing options are explained in the [grunt.template.process][] documentation)_ + +[grunt.template.process]: https://github.com/gruntjs/grunt/wiki/grunt.template#wiki-grunt-template-process + + +### Usage examples + +#### Basic compression + +In this example, running `grunt uglify:my_target` (or `grunt uglify` because `uglify` is a [multi task][]) will mangle and compress the input files using the default options. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + files: { + 'dest/output.min.js': ['src/input1.js', 'src/input2.js'] + } + } + } +}); +``` + +#### No mangling + +Specify `mangle: false` to prevent changes to your variable and function names. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + options: { + mangle: false + }, + my_target: { + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +#### Reserved identifiers + +You can specify identifiers to leave untouched with an `except` array in the `mangle` options. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + options: { + mangle: { + except: ['jQuery', 'Backbone'] + } + }, + my_target: { + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +#### Source maps + +Configure basic source map output by specifying a file path for the `sourceMap` option. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + options: { + sourceMap: 'path/to/source-map.js' + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +#### Advanced source maps + +You can specify the parameters to pass to `UglifyJS.SourceMap()` which will +allow you to configure advanced settings. + +Refer to the [UglifyJS SourceMap Documentation](http://lisperator.net/uglifyjs/codegen#source-map) for more information. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + options: { + sourceMap: 'path/to/source-map.js', + sourceMapRoot: 'http://example.com/path/to/src/', // the location to find your original source + sourceMapIn: 'example/coffeescript-sourcemap.js', // input sourcemap from a previous compilation + } + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + + +#### Beautify + +Specify `beautify: true` to beautify your code for debugging/troubleshooting purposes. +Pass an object to manually configure any other output options passed directly to `UglifyJS.OutputStream()`. + +See [UglifyJS Codegen documentation](http://lisperator.net/uglifyjs/codegen) for more information. + +_Note that manual configuration will require you to explicitly set `beautify: true` if you want traditional, beautified output._ + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + options: { + beautify: true + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + }, + my_advanced_target: { + options: { + beautify: { + width: 80, + beautify: true + } + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +#### Banner comments + +In this example, running `grunt uglify:my_target` will prepend a banner created by interpolating the `banner` template string with the config object. Here, those properties are the values imported from the `package.json` file (which are available via the `pkg` config property) plus today's date. + +_Note: you don't have to use an external JSON file. It's also valid to create the `pkg` object inline in the config. That being said, if you already have a JSON file, you might as well reference it._ + +```js +// Project configuration. +grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + uglify: { + options: { + banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + + '<%= grunt.template.today("yyyy-mm-dd") %> */' + }, + my_target: { + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + + +## Release History + + * 2013-03-13   v0.2.0   No longer report gzip results by default. Support `report` option. + * 2013-01-29   v0.1.2   Added better error reporting Support for dynamic names of multiple sourcemaps + * 2013-02-14   v0.1.1   First official release for Grunt 0.4.0. + * 2013-01-17   v0.1.1rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. + * 2013-01-08   v0.1.1rc5   Updating to work with grunt v0.4.0rc5. Switching back to this.files api. + * 2012-11-27   v0.1.0   Work in progress, not yet officially released. + +--- + +Task submitted by ["Cowboy" Ben Alman](http://benalman.com) + +*This file was generated on Thu Mar 14 2013 08:47:41.* diff --git a/static/js/node_modules/grunt-contrib-uglify/docs/uglify-examples.md b/static/js/node_modules/grunt-contrib-uglify/docs/uglify-examples.md new file mode 100644 index 0000000..357c852 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/docs/uglify-examples.md @@ -0,0 +1,167 @@ +# Usage examples + +## Basic compression + +In this example, running `grunt uglify:my_target` (or `grunt uglify` because `uglify` is a [multi task][]) will mangle and compress the input files using the default options. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + files: { + 'dest/output.min.js': ['src/input1.js', 'src/input2.js'] + } + } + } +}); +``` + +## No mangling + +Specify `mangle: false` to prevent changes to your variable and function names. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + options: { + mangle: false + }, + my_target: { + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +## Reserved identifiers + +You can specify identifiers to leave untouched with an `except` array in the `mangle` options. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + options: { + mangle: { + except: ['jQuery', 'Backbone'] + } + }, + my_target: { + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +## Source maps + +Configure basic source map output by specifying a file path for the `sourceMap` option. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + options: { + sourceMap: 'path/to/source-map.js' + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +## Advanced source maps + +You can specify the parameters to pass to `UglifyJS.SourceMap()` which will +allow you to configure advanced settings. + +Refer to the [UglifyJS SourceMap Documentation](http://lisperator.net/uglifyjs/codegen#source-map) for more information. + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + options: { + sourceMap: 'path/to/source-map.js', + sourceMapRoot: 'http://example.com/path/to/src/', // the location to find your original source + sourceMapIn: 'example/coffeescript-sourcemap.js', // input sourcemap from a previous compilation + } + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + + +## Beautify + +Specify `beautify: true` to beautify your code for debugging/troubleshooting purposes. +Pass an object to manually configure any other output options passed directly to `UglifyJS.OutputStream()`. + +See [UglifyJS Codegen documentation](http://lisperator.net/uglifyjs/codegen) for more information. + +_Note that manual configuration will require you to explicitly set `beautify: true` if you want traditional, beautified output._ + +```js +// Project configuration. +grunt.initConfig({ + uglify: { + my_target: { + options: { + beautify: true + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + }, + my_advanced_target: { + options: { + beautify: { + width: 80, + beautify: true + } + }, + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` + +## Banner comments + +In this example, running `grunt uglify:my_target` will prepend a banner created by interpolating the `banner` template string with the config object. Here, those properties are the values imported from the `package.json` file (which are available via the `pkg` config property) plus today's date. + +_Note: you don't have to use an external JSON file. It's also valid to create the `pkg` object inline in the config. That being said, if you already have a JSON file, you might as well reference it._ + +```js +// Project configuration. +grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + uglify: { + options: { + banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + + '<%= grunt.template.today("yyyy-mm-dd") %> */' + }, + my_target: { + files: { + 'dest/output.min.js': ['src/input.js'] + } + } + } +}); +``` diff --git a/static/js/node_modules/grunt-contrib-uglify/docs/uglify-options.md b/static/js/node_modules/grunt-contrib-uglify/docs/uglify-options.md new file mode 100644 index 0000000..92dad23 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/docs/uglify-options.md @@ -0,0 +1,107 @@ +# Options + +This task primarily delegates to [UglifyJS2][], so please consider the [UglifyJS documentation][] as required reading for advanced configuration. + +[UglifyJS2]: https://github.com/mishoo/UglifyJS2 +[UglifyJS documentation]: http://lisperator.net/uglifyjs/ + +## mangle +Type: `Boolean` `Object` +Default: `{}` + +Turn on or off mangling with default options. If an `Object` is specified, it is passed directly to `ast.mangle_names()` *and* `ast.compute_char_frequency()` (mimicking command line behavior). + +## compress +Type: `Boolean` `Object` +Default: `{}` + +Turn on or off source compression with default options. If an `Object` is specified, it is passed as options to `UglifyJS.Compressor()`. + +## beautify +Type: `Boolean` `Object` +Default: `false` + +Turns on beautification of the generated source code. An `Object` will be merged and passed with the options sent to `UglifyJS.OutputStream()` + +## report +Choices: `false` `'min'` `'gzip'` +Default: `false` + +Either do not report anything, report only minification result, or report minification and gzip results. This is useful to see exactly how well Uglify is performing, but using `'gzip'` can add 5-10x runtime task execution. + +Example ouput using `'gzip'`: + +``` +Original: 198444 bytes. +Minified: 101615 bytes. +Gzipped: 20084 bytes. +``` + +## sourceMap +Type: `String` `Function` +Default: `undefined` + +The location to output the sourcemap. If a function is provided, the uglify destination is passed as the argument +and the return value will be used as the sourceMap name. + +## sourceMapRoot +Type: `String` +Default: `undefined` + +The location where your source files can be found. This option sets the root location in the sourcemap file itself. + +## sourceMapIn +Type: `String` +Default: `undefined` + +The location of an input source map from an earlier compilation, e.g. from CoffeeScript. + +## sourceMappingURL +Type: `String` `Function` +Default: `undefined` + +The location of your sourcemap. Defaults to the location you use for sourceMap, override if you need finer control. Provide +a function to dynamically generate the sourceMappingURL based off the destination. + +## sourceMapPrefix +Type: `Number` +Default: `undefined` + +The number of directories to drop from the path prefix when declaring files in the source map. + +## wrap +Type: `String` +Default: `undefined` + +Wrap all of the code in a closure, an easy way to make sure nothing is leaking. +For variables that need to be public `exports` and `global` variables are made available. +The value of wrap is the global variable exports will be available as. + +## exportAll +Type: `Boolean` +Default: `false` + +When using `wrap` this will make all global functions and variables available via the export variable. + +## preserveComments +Type: `Boolean` `String` `Function` +Default: `undefined` +Options: `false` `'all'` `'some'` + +Turn on preservation of comments. + +- `false` will strip all comments +- `'all'` will preserve all comments in code blocks that have not been squashed or dropped +- `'some'` will preserve all comments that start with a bang (`!`) or include a closure compiler style directive (`@preserve` `@license` `@cc_on`) +- `Function` specify your own comment preservation function. You will be passed the current node and the current comment and are expected to return either `true` or `false` + +## banner +Type: `String` +Default: empty string + +This string will be prepended to the beginning of the minified output. It is processed using [grunt.template.process][], using the default options. + +_(Default processing options are explained in the [grunt.template.process][] documentation)_ + +[grunt.template.process]: https://github.com/gruntjs/grunt/wiki/grunt.template#wiki-grunt-template-process + diff --git a/static/js/node_modules/grunt-contrib-uglify/docs/uglify-overview.md b/static/js/node_modules/grunt-contrib-uglify/docs/uglify-overview.md new file mode 100644 index 0000000..f0c452b --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/docs/uglify-overview.md @@ -0,0 +1 @@ +Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide. \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/.bin/uglifyjs b/static/js/node_modules/grunt-contrib-uglify/node_modules/.bin/uglifyjs new file mode 100644 index 0000000..dc9a451 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/.bin/uglifyjs @@ -0,0 +1,370 @@ +#! /usr/bin/env node +// -*- js -*- + +"use strict"; + +var UglifyJS = require("../tools/node"); +var sys = require("util"); +var optimist = require("optimist"); +var fs = require("fs"); +var acorn; +var ARGS = optimist + .usage("$0 input1.js [input2.js ...] [options]\n\ +Use a single dash to read input from the standard input.\ +\n\n\ +NOTE: by default there is no mangling/compression.\n\ +Without [options] it will simply parse input files and dump the AST\n\ +with whitespace and comments discarded. To achieve compression and\n\ +mangling you need to use `-c` and `-m`.\ +") + .describe("source-map", "Specify an output file where to generate source map.") + .describe("source-map-root", "The path to the original source to be included in the source map.") + .describe("source-map-url", "The path to the source map to be added in //@ sourceMappingURL. Defaults to the value passed with --source-map.") + .describe("in-source-map", "Input source map, useful if you're compressing JS that was generated from some other original code.") + .describe("p", "Skip prefix for original filenames that appear in source maps. \ +For example -p 3 will drop 3 directories from file names and ensure they are relative paths.") + .describe("o", "Output file (default STDOUT).") + .describe("b", "Beautify output/specify output options.") + .describe("m", "Mangle names/pass mangler options.") + .describe("r", "Reserved names to exclude from mangling.") + .describe("c", "Enable compressor/pass compressor options. \ +Pass options like -c hoist_vars=false,if_return=false. \ +Use -c with no argument to use the default compression options.") + .describe("d", "Global definitions") + + .describe("comments", "Preserve copyright comments in the output. \ +By default this works like Google Closure, keeping JSDoc-style comments that contain \"@license\" or \"@preserve\". \ +You can optionally pass one of the following arguments to this flag:\n\ +- \"all\" to keep all comments\n\ +- a valid JS regexp (needs to start with a slash) to keep only comments that match.\n\ +\ +Note that currently not *all* comments can be kept when compression is on, \ +because of dead code removal or cascading statements into sequences.") + + .describe("stats", "Display operations run time on STDERR.") + .describe("acorn", "Use Acorn for parsing.") + .describe("spidermonkey", "Assume input fles are SpiderMonkey AST format (as JSON).") + .describe("self", "Build itself (UglifyJS2) as a library (implies --wrap=UglifyJS --export-all)") + .describe("wrap", "Embed everything in a big function, making the “exports” and “global” variables available. \ +You need to pass an argument to this option to specify the name that your module will take when included in, say, a browser.") + .describe("export-all", "Only used when --wrap, this tells UglifyJS to add code to automatically export all globals.") + .describe("lint", "Display some scope warnings") + .describe("v", "Verbose") + .describe("V", "Print version number and exit.") + + .alias("p", "prefix") + .alias("o", "output") + .alias("v", "verbose") + .alias("b", "beautify") + .alias("m", "mangle") + .alias("c", "compress") + .alias("d", "define") + .alias("r", "reserved") + .alias("V", "version") + + .string("source-map") + .string("source-map-root") + .string("source-map-url") + .string("b") + .string("m") + .string("c") + .string("d") + .string("comments") + .string("wrap") + .boolean("export-all") + .boolean("self") + .boolean("v") + .boolean("stats") + .boolean("acorn") + .boolean("spidermonkey") + .boolean("lint") + .boolean("V") + + .wrap(80) + + .argv +; + +normalize(ARGS); + +if (ARGS.version || ARGS.V) { + var json = require("../package.json"); + sys.puts(json.name + ' ' + json.version); + process.exit(0); +} + +if (ARGS.ast_help) { + var desc = UglifyJS.describe_ast(); + sys.puts(typeof desc == "string" ? desc : JSON.stringify(desc, null, 2)); + process.exit(0); +} + +if (ARGS.h || ARGS.help) { + sys.puts(optimist.help()); + process.exit(0); +} + +if (ARGS.acorn) { + acorn = require("acorn"); +} + +var COMPRESS = getOptions("c", true); +var MANGLE = getOptions("m", true); +var BEAUTIFY = getOptions("b", true); + +if (COMPRESS && ARGS.d) { + COMPRESS.global_defs = getOptions("d"); +} + +if (MANGLE && ARGS.r) { + MANGLE.except = ARGS.r.replace(/^\s+|\s+$/g).split(/\s*,+\s*/); +} + +var OUTPUT_OPTIONS = { + beautify: BEAUTIFY ? true : false +}; + +if (BEAUTIFY) + UglifyJS.merge(OUTPUT_OPTIONS, BEAUTIFY); + +if (ARGS.comments) { + if (/^\//.test(ARGS.comments)) { + OUTPUT_OPTIONS.comments = new Function("return(" + ARGS.comments + ")")(); + } else if (ARGS.comments == "all") { + OUTPUT_OPTIONS.comments = true; + } else { + OUTPUT_OPTIONS.comments = function(node, comment) { + var text = comment.value; + var type = comment.type; + if (type == "comment2") { + // multiline comment + return /@preserve|@license|@cc_on/i.test(text); + } + } + } +} + +var files = ARGS._.slice(); + +if (ARGS.self) { + if (files.length > 0) { + sys.error("WARN: Ignoring input files since --self was passed"); + } + files = UglifyJS.FILES; + if (!ARGS.wrap) ARGS.wrap = "UglifyJS"; + ARGS.export_all = true; +} + +var ORIG_MAP = ARGS.in_source_map; + +if (ORIG_MAP) { + ORIG_MAP = JSON.parse(fs.readFileSync(ORIG_MAP)); + if (files.length == 0) { + sys.error("INFO: Using file from the input source map: " + ORIG_MAP.file); + files = [ ORIG_MAP.file ]; + } + if (ARGS.source_map_root == null) { + ARGS.source_map_root = ORIG_MAP.sourceRoot; + } +} + +if (files.length == 0) { + files = [ "-" ]; +} + +if (files.indexOf("-") >= 0 && ARGS.source_map) { + sys.error("ERROR: Source map doesn't work with input from STDIN"); + process.exit(1); +} + +if (files.filter(function(el){ return el == "-" }).length > 1) { + sys.error("ERROR: Can read a single file from STDIN (two or more dashes specified)"); + process.exit(1); +} + +var STATS = {}; +var OUTPUT_FILE = ARGS.o; +var TOPLEVEL = null; + +var SOURCE_MAP = ARGS.source_map ? UglifyJS.SourceMap({ + file: OUTPUT_FILE, + root: ARGS.source_map_root, + orig: ORIG_MAP, +}) : null; + +OUTPUT_OPTIONS.source_map = SOURCE_MAP; + +try { + var output = UglifyJS.OutputStream(OUTPUT_OPTIONS); + var compressor = COMPRESS && UglifyJS.Compressor(COMPRESS); +} catch(ex) { + if (ex instanceof UglifyJS.DefaultsError) { + sys.error(ex.msg); + sys.error("Supported options:"); + sys.error(sys.inspect(ex.defs)); + process.exit(1); + } +} + +files.forEach(function(file) { + var code = read_whole_file(file); + if (ARGS.p != null) { + file = file.replace(/^\/+/, "").split(/\/+/).slice(ARGS.p).join("/"); + } + time_it("parse", function(){ + if (ARGS.spidermonkey) { + var program = JSON.parse(code); + if (!TOPLEVEL) TOPLEVEL = program; + else TOPLEVEL.body = TOPLEVEL.body.concat(program.body); + } + else if (ARGS.acorn) { + TOPLEVEL = acorn.parse(code, { + locations : true, + trackComments : true, + sourceFile : file, + program : TOPLEVEL + }); + } + else { + TOPLEVEL = UglifyJS.parse(code, { + filename: file, + toplevel: TOPLEVEL + }); + }; + }); +}); + +if (ARGS.acorn || ARGS.spidermonkey) time_it("convert_ast", function(){ + TOPLEVEL = UglifyJS.AST_Node.from_mozilla_ast(TOPLEVEL); +}); + +if (ARGS.wrap) { + TOPLEVEL = TOPLEVEL.wrap_commonjs(ARGS.wrap, ARGS.export_all); +} + +var SCOPE_IS_NEEDED = COMPRESS || MANGLE || ARGS.lint; + +if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope(); + if (ARGS.lint) { + TOPLEVEL.scope_warnings(); + } + }); +} + +if (COMPRESS) { + time_it("squeeze", function(){ + TOPLEVEL = TOPLEVEL.transform(compressor); + }); +} + +if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope(); + if (MANGLE) { + TOPLEVEL.compute_char_frequency(MANGLE); + } + }); +} + +if (MANGLE) time_it("mangle", function(){ + TOPLEVEL.mangle_names(MANGLE); +}); +time_it("generate", function(){ + TOPLEVEL.print(output); +}); + +output = output.get(); + +if (SOURCE_MAP) { + fs.writeFileSync(ARGS.source_map, SOURCE_MAP, "utf8"); + output += "\n/*\n//@ sourceMappingURL=" + (ARGS.source_map_url || ARGS.source_map) + "\n*/"; +} + +if (OUTPUT_FILE) { + fs.writeFileSync(OUTPUT_FILE, output, "utf8"); +} else { + sys.print(output); + sys.error("\n"); +} + +if (ARGS.stats) { + sys.error(UglifyJS.string_template("Timing information (compressed {count} files):", { + count: files.length + })); + for (var i in STATS) if (STATS.hasOwnProperty(i)) { + sys.error(UglifyJS.string_template("- {name}: {time}s", { + name: i, + time: (STATS[i] / 1000).toFixed(3) + })); + } +} + +/* -----[ functions ]----- */ + +function normalize(o) { + for (var i in o) if (o.hasOwnProperty(i) && /-/.test(i)) { + o[i.replace(/-/g, "_")] = o[i]; + delete o[i]; + } +} + +function getOptions(x, constants) { + x = ARGS[x]; + if (!x) return null; + var ret = {}; + if (x !== true) { + var ast; + try { + ast = UglifyJS.parse(x); + } catch(ex) { + if (ex instanceof UglifyJS.JS_Parse_Error) { + sys.error("Error parsing arguments in: " + x); + process.exit(1); + } + } + ast.walk(new UglifyJS.TreeWalker(function(node){ + if (node instanceof UglifyJS.AST_Toplevel) return; // descend + if (node instanceof UglifyJS.AST_SimpleStatement) return; // descend + if (node instanceof UglifyJS.AST_Seq) return; // descend + if (node instanceof UglifyJS.AST_Assign) { + var name = node.left.print_to_string({ beautify: false }).replace(/-/g, "_"); + var value = node.right; + if (constants) + value = new Function("return (" + value.print_to_string() + ")")(); + ret[name] = value; + return true; // no descend + } + sys.error(node.TYPE) + sys.error("Error parsing arguments in: " + x); + process.exit(1); + })); + } + return ret; +} + +function read_whole_file(filename) { + if (filename == "-") { + // XXX: this sucks. How does one read the whole STDIN + // synchronously? + filename = "/dev/stdin"; + } + try { + return fs.readFileSync(filename, "utf8"); + } catch(ex) { + sys.error("ERROR: can't read file: " + filename); + process.exit(1); + } +} + +function time_it(name, cont) { + var t1 = new Date().getTime(); + var ret = cont(); + if (ARGS.stats) { + var spent = new Date().getTime() - t1; + if (STATS[name]) STATS[name] += spent; + else STATS[name] = spent; + } + return ret; +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.gitattributes b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.gitattributes new file mode 100644 index 0000000..176a458 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.gitattributes @@ -0,0 +1 @@ +* text=auto diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.jshintrc b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.jshintrc new file mode 100644 index 0000000..e0cc7bb --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.jshintrc @@ -0,0 +1,14 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "boss": true, + "eqnull": true, + "node": true, + "es5": true +} \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.npmignore b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.npmignore new file mode 100644 index 0000000..5cb6bfd --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.npmignore @@ -0,0 +1,3 @@ +node_modules +npm-debug.log +tmp \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.travis.yml b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.travis.yml new file mode 100644 index 0000000..f2c257a --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "0.8" + - "0.10" +before_install: + - npm install -g grunt-cli \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/AUTHORS b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/AUTHORS new file mode 100644 index 0000000..5de1a92 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/AUTHORS @@ -0,0 +1,4 @@ +Tyler Kellen (http://goingslowly.com/) +Chris Talkington (http://christalkington.com/) +Larry Davis (http://lazd.net/) +Sindre Sorhus (http://sindresorhus.com) diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/CHANGELOG b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/CHANGELOG new file mode 100644 index 0000000..f1e4c30 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/CHANGELOG @@ -0,0 +1,47 @@ +v0.6.1: + date: 2013-03-24 + changes: + - Add formatForType option +v0.6.0: + date: 2013-03-14 + changes: + - Change API/reportying style for minMaxInfo +v0.5.3: + date: 2013-02-23 + changes: + - use MIT licensed zlib-browserify instead of unlicensed gzip-js +v0.5.2: + date: 2013-01-24 + changes: + - add minMaxGzip & minMaxInfo. +v0.5.0: + date: 2012-12-05 + changes: + - remove findBasePath, buildIndividualDest and isIndividualDest. + - remove options and normalizeMultiTaskFiles. + - remove node v0.6 and grunt v0.3 support. +v0.4.0: + date: 2012-11-20 + changes: + - findBasePath returns '' if passed false. + - Added stripPath. +v0.3.1: + date: 2012-10-29 + changes: + - Tweaked findBasePath to handle single dot differently. + - Start testing with Travis. + - Docs cleanup. +v0.3.0: + date: 2012-09-24 + changes: + - Added findBasePath, buildIndividualDest, isIndividualDest, optsToArgs. + - Refactored tests. + - Automatically parse templates in options. +v0.2.1: + date: 2012-09-14 + changes: + - Added non-destuctive namespace declarations. +v0.2.0: + date: 2012-09-10 + changes: + - Refactored from grunt-contrib into individual repo. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/Gruntfile.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/Gruntfile.js new file mode 100644 index 0000000..6e602bb --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/Gruntfile.js @@ -0,0 +1,60 @@ +/* + * grunt-lib-contrib + * http://gruntjs.com/ + * + * Copyright (c) 2012 Tyler Kellen, contributors + * Licensed under the MIT license. + */ + +module.exports = function(grunt) { + 'use strict'; + + // Project configuration. + grunt.initConfig({ + jshint: { + all: [ + 'Gruntfile.js', + 'lib/*.js', + '<%= nodeunit.tests %>' + ], + options: { + jshintrc: '.jshintrc' + } + }, + + test_vars: { + source: 'source/' + }, + + test_task: { + options: { + param: 'task', + param2: 'task', + template: '<%= test_vars.source %>', + data: { + template: ['<%= test_vars.source %>'] + } + }, + target: { + options: { + param: 'target' + } + } + }, + + // Unit tests. + nodeunit: { + tests: ['test/*_test.js'] + } + }); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + + // Whenever the "test" task is run, then test the result. + grunt.registerTask('test', ['nodeunit']); + + // By default, lint and run all tests. + grunt.registerTask('default', ['jshint', 'test']); +}; \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/LICENSE-MIT b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/LICENSE-MIT new file mode 100644 index 0000000..358b067 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2012 Tyler Kellen, contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/README.md b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/README.md new file mode 100644 index 0000000..88116eb --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/README.md @@ -0,0 +1,65 @@ +# grunt-lib-contrib [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-lib-contrib.png?branch=master)](http://travis-ci.org/gruntjs/grunt-lib-contrib) + +> Common functionality shared across grunt-contrib tasks. + +The purpose of grunt-lib-contrib is to explore solutions to common problems task writers encounter, and to ease the upgrade path for contrib tasks. + +**These APIs should be considered highly unstable. Depend on them at your own risk!** + +_Over time, some of the functionality provided here may be incorporated directly into grunt for mainstream use. Until then, you may require `grunt-lib-contrib` as a dependency in your projects, but be very careful to specify an exact version number instead of a range, as backwards-incompatible changes are likely to be introduced._ + +### Helper Functions + +#### getNamespaceDeclaration(ns) + +This helper is used to build JS namespace declarations. + +#### optsToArgs(options) + +Convert an object to an array of CLI arguments, which can be used with `child_process.spawn()`. + +```js +// Example +{ + fooBar: 'a', // ['--foo-bar', 'a'] + fooBar: 1, // ['--foo-bar', '1'] + fooBar: true, // ['--foo-bar'] + fooBar: false, // + fooBar: ['a', 'b'] // ['--foo-bar', 'a', '--foo-bar', 'b'] +} +``` + +#### stripPath(pth, strip) + +Strip a path from a path. normalize both paths for best results. + +#### minMaxInfo(min, max, report) + +Helper for logging compressed, uncompressed and gzipped sizes of strings. + +#### report +Choices: `false`, `'min'`, `'gzip'` +Default: `false` + +Either do not report anything, report only minification result, or report minification and gzip results. + +**Important** Including `'gzip'` results can make this task 5-10x slower depending on the size of the file. + + +```js +var max = grunt.file.read('max.js'); +var min = minify(max); +minMaxInfo(min, max, 'gzip'); +``` + +Would print: + +``` +Original: 495 bytes. +Minified: 396 bytes. +Gzipped: 36 bytes. +``` + +-- + +*Lib submitted by [Tyler Kellen](https://goingslowly.com/).* \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/lib/contrib.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/lib/contrib.js new file mode 100644 index 0000000..9dcf945 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/lib/contrib.js @@ -0,0 +1,111 @@ +/* + * grunt-lib-contrib + * http://gruntjs.com/ + * + * Copyright (c) 2012 Tyler Kellen, contributors + * Licensed under the MIT license. + */ + +exports.init = function(grunt) { + 'use strict'; + + var exports = {}; + + var path = require('path'); + + exports.getNamespaceDeclaration = function(ns) { + var output = []; + var curPath = 'this'; + if (ns !== 'this') { + var nsParts = ns.split('.'); + nsParts.forEach(function(curPart, index) { + if (curPart !== 'this') { + curPath += '[' + JSON.stringify(curPart) + ']'; + output.push(curPath + ' = ' + curPath + ' || {};'); + } + }); + } + + return { + namespace: curPath, + declaration: output.join('\n') + }; + }; + + // Convert an object to an array of CLI arguments + exports.optsToArgs = function(options) { + var args = []; + + Object.keys(options).forEach(function(flag) { + var val = options[flag]; + + flag = flag.replace(/[A-Z]/g, function(match) { + return '-' + match.toLowerCase(); + }); + + if (val === true) { + args.push('--' + flag); + } + + if (grunt.util._.isString(val)) { + args.push('--' + flag, val); + } + + if (grunt.util._.isNumber(val)) { + args.push('--' + flag, '' + val); + } + + if (grunt.util._.isArray(val)) { + val.forEach(function(arrVal) { + args.push('--' + flag, arrVal); + }); + } + }); + + return args; + }; + + // Strip a path from a path. normalize both paths for best results. + exports.stripPath = function(pth, strip) { + if (strip && strip.length >= 1) { + strip = path.normalize(strip); + pth = path.normalize(pth); + pth = grunt.util._(pth).strRight(strip); + pth = grunt.util._(pth).ltrim(path.sep); + } + + return pth; + }; + + // Log min and max info + function gzipSize(src) { + return src ? require('zlib-browserify').gzipSync(src).length : 0; + } + exports.minMaxInfo = function(min, max, report) { + if (report === 'min' || report === 'gzip') { + grunt.log.writeln('Original: ' + String(max.length).green + ' bytes.'); + grunt.log.writeln('Minified: ' + String(min.length).green + ' bytes.'); + } + if (report === 'gzip') { + // Note this option is pretty slow so it is not enabled by default + grunt.log.write('Gzipped: '); + grunt.log.writeln(String(gzipSize(min)).green + ' bytes.'); + } + }; + + exports.formatForType = function(string, type, namespace, filename) { + namespace = namespace || false; + + if (type === 'amd' && namespace === false) { + string = 'return ' + string; + } else if (type === 'commonjs' && namespace === false) { + string = 'module.exports = ' + string; + } else if (type === 'amd' && namespace !== false || type === 'commonjs' && namespace !== false || type === 'js' && namespace !== false) { + string = namespace+'['+JSON.stringify(filename)+'] = '+string+';'; + } + + return string; + }; + + return exports; +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/.npmignore b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/.npmignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/.npmignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/index.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/index.js new file mode 100644 index 0000000..6674043 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/index.js @@ -0,0 +1,43 @@ +const Zlib = module.exports = require('./zlib'); + +// the least I can do is make error messages for the rest of the node.js/zlib api. +// (thanks, dominictarr) +function error () { + var m = [].slice.call(arguments).join(' ') + throw new Error([ + m, + 'we accept pull requests', + 'http://github.com/brianloveswords/zlib-browserify' + ].join('\n')) +} + +;['createGzip' +, 'createGunzip' +, 'createDeflate' +, 'createDeflateRaw' +, 'createInflate' +, 'createInflateRaw' +, 'createUnzip' +, 'Gzip' +, 'Gunzip' +, 'Inflate' +, 'InflateRaw' +, 'Deflate' +, 'DeflateRaw' +, 'Unzip' +, 'inflateRaw' +, 'deflateRaw'].forEach(function (name) { + Zlib[name] = function () { + error('sorry,', name, 'is not implemented yet') + } +}); + +const _deflate = Zlib.deflate; +const _gzip = Zlib.gzip; + +Zlib.deflate = function deflate(stringOrBuffer, callback) { + return _deflate(Buffer(stringOrBuffer), callback); +}; +Zlib.gzip = function gzip(stringOrBuffer, callback) { + return _gzip(Buffer(stringOrBuffer), callback); +}; \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/package.json b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/package.json new file mode 100644 index 0000000..f0ac910 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/package.json @@ -0,0 +1,33 @@ +{ + "name": "zlib-browserify", + "version": "0.0.1", + "description": "Wrapper for zlib.js to allow for browserifyication", + "main": "index.js", + "directories": { + "test": "test" + }, + "dependencies": {}, + "devDependencies": { + "tap": "~0.3.3" + }, + "scripts": { + "test": "./node_modules/tap test/*.test.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/brianloveswords/zlib-browserify.git" + }, + "keywords": [ + "zlib", + "browserify" + ], + "author": { + "name": "Brian J. Brennan" + }, + "license": "MIT", + "gitHead": "4be9419f0e8e9dec9629c8a538b33a4efd7df17b", + "readmeFilename": "readme.md", + "readme": "Zlib in yo' browser.\n", + "_id": "zlib-browserify@0.0.1", + "_from": "zlib-browserify@0.0.1" +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/readme.md b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/readme.md new file mode 100644 index 0000000..ca4a5ee --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/readme.md @@ -0,0 +1 @@ +Zlib in yo' browser. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/test/zlib.test.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/test/zlib.test.js new file mode 100644 index 0000000..5b7a3ce --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/test/zlib.test.js @@ -0,0 +1,65 @@ +const test = require('tap').test; +const zlibA = require('zlib'); +const zlibB = require('..'); +const crypto = require('crypto'); + +test('zlibA.deflate -> zlibB.inflate', function (t) { + const expect = crypto.randomBytes(1024); + zlibA.deflate(expect, function (err, cmpA) { + zlibB.inflate(cmpA, function (err, result) { + t.same(result, expect, 'should match'); + t.end(); + }); + }); +}); + +test('zlibB.deflate -> zlibA.inflate', function (t) { + const expect = crypto.randomBytes(1024); + zlibB.deflate(expect, function (err, cmpA) { + zlibA.inflate(cmpA, function (err, result) { + t.same(result, expect, 'should match'); + t.end(); + }); + }); +}); + +test('zlibB.deflate -> zlibA.inflate (string)', function (t) { + const expect = 'ohaihihihihihihihihihihihihihihihi'; + zlibB.deflate(expect, function (err, cmpA) { + zlibA.inflate(cmpA, function (err, result) { + t.same(result.toString(), expect, 'should match'); + t.end(); + }); + }); +}); + +test('zlibA.gzip -> zlibB.gunzip', function (t) { + const expect = crypto.randomBytes(1024); + zlibA.gzip(expect, function (err, cmpA) { + zlibB.gunzip(cmpA, function (err, result) { + t.same(result, expect, 'should match'); + t.end(); + }); + }); +}); + +test('zlibB.gzip -> zlibA.gunzip', function (t) { + const expect = crypto.randomBytes(1024); + zlibB.gzip(expect, function (err, cmpA) { + zlibA.gunzip(cmpA, function (err, result) { + t.same(result, expect, 'should match'); + t.end(); + }); + }); +}); + +test('zlibB.gzip -> zlibA.gunzip', function (t) { + const expect = 'lololololoollolololoololololololololololololololololololololol'; + zlibB.gzip(expect, function (err, cmpA) { + zlibA.gunzip(cmpA, function (err, result) { + t.same(result.toString(), expect, 'should match'); + t.end(); + }); + }); +}); + diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/zlib.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/zlib.js new file mode 100644 index 0000000..a9ea566 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify/zlib.js @@ -0,0 +1,55 @@ +/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */ +(function() {'use strict';function m(c){throw c;}var r=void 0,u=!0;var B="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Uint32Array;function aa(c){if("string"===typeof c){var a=c.split(""),b,e;b=0;for(e=a.length;b>>0;c=a}for(var f=1,d=0,g=c.length,h,j=0;0>>0};function I(c,a){this.index="number"===typeof a?a:0;this.n=0;this.buffer=c instanceof(B?Uint8Array:Array)?c:new (B?Uint8Array:Array)(32768);2*this.buffer.length<=this.index&&m(Error("invalid index"));this.buffer.length<=this.index&&this.f()}I.prototype.f=function(){var c=this.buffer,a,b=c.length,e=new (B?Uint8Array:Array)(b<<1);if(B)e.set(c);else for(a=0;a>>8&255]<<16|K[c>>>16&255]<<8|K[c>>>24&255])>>32-a:K[c]>>8-a);if(8>a+d)g=g<>a-h-1&1,8===++d&&(d=0,e[f++]=K[g],g=0,f===e.length&&(e=this.f()));e[f]=g;this.buffer=e;this.n=d;this.index=f};I.prototype.finish=function(){var c=this.buffer,a=this.index,b;0Q;++Q){for(var R=Q,ga=R,ha=7,R=R>>>1;R;R>>>=1)ga<<=1,ga|=R&1,--ha;ba[Q]=(ga<>>0}var K=ba;var S={k:function(c,a,b){return S.update(c,0,a,b)},update:function(c,a,b,e){for(var f=S.L,d="number"===typeof b?b:b=0,g="number"===typeof e?e:c.length,a=a^4294967295,d=g&7;d--;++b)a=a>>>8^f[(a^c[b])&255];for(d=g>>3;d--;b+=8)a=a>>>8^f[(a^c[b])&255],a=a>>>8^f[(a^c[b+1])&255],a=a>>>8^f[(a^c[b+2])&255],a=a>>>8^f[(a^c[b+3])&255],a=a>>>8^f[(a^c[b+4])&255],a=a>>>8^f[(a^c[b+5])&255],a=a>>>8^f[(a^c[b+6])&255],a=a>>>8^f[(a^c[b+7])&255];return(a^4294967295)>>>0}},ia=S,ja,ka=[0,1996959894,3993919788,2567524794, +124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304, +3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486, +2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580, +2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221, +2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918E3,2847714899,3736837829,1202900863, +817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];ja=B?new Uint32Array(ka):ka;ia.L=ja;function na(){};function oa(c){this.buffer=new (B?Uint16Array:Array)(2*c);this.length=0}oa.prototype.getParent=function(c){return 2*((c-2)/4|0)};oa.prototype.push=function(c,a){var b,e,f=this.buffer,d;b=this.length;f[this.length++]=a;for(f[this.length++]=c;0f[e])d=f[b],f[b]=f[e],f[e]=d,d=f[b+1],f[b+1]=f[e+1],f[e+1]=d,b=e;else break;return this.length}; +oa.prototype.pop=function(){var c,a,b=this.buffer,e,f,d;a=b[0];c=b[1];this.length-=2;b[0]=b[this.length];b[1]=b[this.length+1];for(d=0;;){f=2*d+2;if(f>=this.length)break;f+2b[f]&&(f+=2);if(b[f]>b[d])e=b[d],b[d]=b[f],b[f]=e,e=b[d+1],b[d+1]=b[f+1],b[f+1]=e;else break;d=f}return{index:c,value:a,length:this.length}};function T(c){var a=c.length,b=0,e=Number.POSITIVE_INFINITY,f,d,g,h,j,i,q,l,k;for(l=0;lb&&(b=c[l]),c[l]>=1;for(k=i;kU;U++)switch(u){case 143>=U:sa.push([U+48,8]);break;case 255>=U:sa.push([U-144+400,9]);break;case 279>=U:sa.push([U-256+0,7]);break;case 287>=U:sa.push([U-280+192,8]);break;default:m("invalid literal: "+U)} +pa.prototype.h=function(){var c,a,b,e,f=this.input;switch(this.l){case 0:b=0;for(e=f.length;b>>8&255;k[p++]=i&255;k[p++]=i>>>8&255;if(B)k.set(d,p),p+=d.length,k=k.subarray(0,p);else{q=0;for(l=d.length;qz)for(;0z?z:138,H>z-3&&H=H?(L[J++]=17,L[J++]=H-3,O[17]++):(L[J++]=18,L[J++]=H-11,O[18]++),z-=H;else if(L[J++]=M[y],O[M[y]]++,z--,3>z)for(;0z?z:6,H>z-3&&HG;G++)va[G]=la[ca[G]];for(D=19;4=c:return[265,c-11,1];case 14>=c:return[266,c-13,1];case 16>=c:return[267,c-15,1];case 18>=c:return[268,c-17,1];case 22>=c:return[269,c-19,2];case 26>=c:return[270,c-23,2];case 30>=c:return[271,c-27,2];case 34>=c:return[272,c- +31,2];case 42>=c:return[273,c-35,3];case 50>=c:return[274,c-43,3];case 58>=c:return[275,c-51,3];case 66>=c:return[276,c-59,3];case 82>=c:return[277,c-67,4];case 98>=c:return[278,c-83,4];case 114>=c:return[279,c-99,4];case 130>=c:return[280,c-115,4];case 162>=c:return[281,c-131,5];case 194>=c:return[282,c-163,5];case 226>=c:return[283,c-195,5];case 257>=c:return[284,c-227,5];case 258===c:return[285,c-258,0];default:m("invalid length: "+c)}}var Ba=[],Aa,Ca; +for(Aa=3;258>=Aa;Aa++)Ca=za(),Ba[Aa]=Ca[2]<<24|Ca[1]<<16|Ca[0];var Da=B?new Uint32Array(Ba):Ba; +function ta(c,a){function b(a,c){var b=a.N,d=[],e=0,f;f=Da[a.length];d[e++]=f&65535;d[e++]=f>>16&255;d[e++]=f>>24;var g;switch(u){case 1===b:g=[0,b-1,0];break;case 2===b:g=[1,b-2,0];break;case 3===b:g=[2,b-3,0];break;case 4===b:g=[3,b-4,0];break;case 6>=b:g=[4,b-5,1];break;case 8>=b:g=[5,b-7,1];break;case 12>=b:g=[6,b-9,2];break;case 16>=b:g=[7,b-13,2];break;case 24>=b:g=[8,b-17,3];break;case 32>=b:g=[9,b-25,3];break;case 48>=b:g=[10,b-33,4];break;case 64>=b:g=[11,b-49,4];break;case 96>=b:g=[12,b- +65,5];break;case 128>=b:g=[13,b-97,5];break;case 192>=b:g=[14,b-129,6];break;case 256>=b:g=[15,b-193,6];break;case 384>=b:g=[16,b-257,7];break;case 512>=b:g=[17,b-385,7];break;case 768>=b:g=[18,b-513,8];break;case 1024>=b:g=[19,b-769,8];break;case 1536>=b:g=[20,b-1025,9];break;case 2048>=b:g=[21,b-1537,9];break;case 3072>=b:g=[22,b-2049,10];break;case 4096>=b:g=[23,b-3073,10];break;case 6144>=b:g=[24,b-4097,11];break;case 8192>=b:g=[25,b-6145,11];break;case 12288>=b:g=[26,b-8193,12];break;case 16384>= +b:g=[27,b-12289,12];break;case 24576>=b:g=[28,b-16385,13];break;case 32768>=b:g=[29,b-24577,13];break;default:m("invalid distance")}f=g;d[e++]=f[0];d[e++]=f[1];d[e++]=f[2];var h,i;h=0;for(i=d.length;h=d;)v[d++]=0;for(d=0;29>=d;)x[d++]=0}v[256]=1;e=0;for(f=a.length;e=f){l&&b(l,-1);d=0;for(g=f-e;ds&&e+sn&&(C=A,n=s);if(258===s)break}q=new xa(n,e-C);l?l.length2*k[n-1]+p[n]&&(k[n]=2*k[n-1]+p[n]),v[n]=Array(k[n]),x[n]=Array(k[n]);for(C=0;Ch[C]?(v[n][s]=E,x[n][s]=l,D+=2): +(v[n][s]=h[C],x[n][s]=C,++C);F[n]=0;1===p[n]&&b(n)}j=t;i=0;for(q=g.length;i>>=1}return a};function Ea(c,a){this.input=c;this.a=new (B?Uint8Array:Array)(32768);this.l=Fa.u;var b={},e;if((a||!(a={}))&&"number"===typeof a.compressionType)this.l=a.compressionType;for(e in a)b[e]=a[e];b.outputBuffer=this.a;this.H=new pa(this.input,b)}var Fa=ra; +Ea.prototype.h=function(){var c,a,b,e,f,d,g,h=0;g=this.a;c=Ga;switch(c){case Ga:a=Math.LOG2E*Math.log(32768)-8;break;default:m(Error("invalid compression method"))}b=a<<4|c;g[h++]=b;switch(c){case Ga:switch(this.l){case Fa.NONE:f=0;break;case Fa.K:f=1;break;case Fa.u:f=2;break;default:m(Error("unsupported compression type"))}break;default:m(Error("invalid compression method"))}e=f<<6|0;g[h++]=e|31-(256*b+e)%31;d=aa(this.input);this.H.b=h;g=this.H.h();h=g.length;B&&(g=new Uint8Array(g.buffer),g.length<= +h+4&&(this.a=new Uint8Array(g.length+4),this.a.set(g),g=this.a),g=g.subarray(0,h+4));g[h++]=d>>24&255;g[h++]=d>>16&255;g[h++]=d>>8&255;g[h++]=d&255;return g};function Ha(c,a){this.input=c;this.b=this.c=0;this.g={};a&&(a.flags&&(this.g=a.flags),"string"===typeof a.filename&&(this.filename=a.filename),"string"===typeof a.comment&&(this.comment=a.comment),a.deflateOptions&&(this.m=a.deflateOptions));this.m||(this.m={})} +Ha.prototype.h=function(){var c,a,b,e,f,d,g,h,j=new (B?Uint8Array:Array)(32768),i=0,q=this.input,l=this.c,k=this.filename,p=this.comment;j[i++]=31;j[i++]=139;j[i++]=8;c=0;this.g.fname&&(c|=Ia);this.g.fcomment&&(c|=Ja);this.g.fhcrc&&(c|=Ka);j[i++]=c;a=(Date.now?Date.now():+new Date)/1E3|0;j[i++]=a&255;j[i++]=a>>>8&255;j[i++]=a>>>16&255;j[i++]=a>>>24&255;j[i++]=0;j[i++]=Ya;if(this.g.fname!==r){g=0;for(h=k.length;g>>8&255),j[i++]=d&255;j[i++]=0}if(this.g.comment){g= +0;for(h=p.length;g>>8&255),j[i++]=d&255;j[i++]=0}this.g.fhcrc&&(b=S.k(j,0,i)&65535,j[i++]=b&255,j[i++]=b>>>8&255);this.m.outputBuffer=j;this.m.outputIndex=i;f=new pa(q,this.m);j=f.h();i=f.b;B&&(i+8>j.buffer.byteLength?(this.a=new Uint8Array(i+8),this.a.set(new Uint8Array(j.buffer)),j=this.a):j=new Uint8Array(j.buffer));e=S.k(q);j[i++]=e&255;j[i++]=e>>>8&255;j[i++]=e>>>16&255;j[i++]=e>>>24&255;h=q.length;j[i++]=h&255;j[i++]=h>>>8&255;j[i++]=h>>>16&255;j[i++]= +h>>>24&255;this.c=l;B&&i>>=1;switch(c){case 0:var a=this.input,b=this.c,e=this.a,f=this.b,d=r,g=r,h=r,j=e.length,i=r;this.e=this.j=0;d=a[b++];d===r&&m(Error("invalid uncompressed block header: LEN (first byte)"));g=d;d=a[b++];d===r&&m(Error("invalid uncompressed block header: LEN (second byte)"));g|=d<<8;d=a[b++];d===r&&m(Error("invalid uncompressed block header: NLEN (first byte)"));h=d;d=a[b++];d===r&&m(Error("invalid uncompressed block header: NLEN (second byte)"));h|= +d<<8;g===~h&&m(Error("invalid uncompressed block header: length verify"));b+g>a.length&&m(Error("input buffer is broken"));switch(this.r){case $a:for(;f+g>e.length;){i=j-f;g-=i;if(B)e.set(a.subarray(b,b+i),f),f+=i,b+=i;else for(;i--;)e[f++]=a[b++];this.b=f;e=this.f();f=this.b}break;case Za:for(;f+g>e.length;)e=this.f({B:2});break;default:m(Error("invalid inflate mode"))}if(B)e.set(a.subarray(b,b+g),f),f+=g,b+=g;else for(;g--;)e[f++]=a[b++];this.c=b;this.b=f;this.a=e;break;case 1:this.s(ab,bb);break; +case 2:cb(this);break;default:m(Error("unknown BTYPE: "+c))}}return this.z()}; +var db=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],eb=B?new Uint16Array(db):db,fb=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],gb=B?new Uint16Array(fb):fb,hb=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],ib=B?new Uint8Array(hb):hb,jb=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],kb=B?new Uint16Array(jb):jb,lb=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10, +10,11,11,12,12,13,13],mb=B?new Uint8Array(lb):lb,nb=new (B?Uint8Array:Array)(288),Y,ob;Y=0;for(ob=nb.length;Y=Y?8:255>=Y?9:279>=Y?7:8;var ab=T(nb),pb=new (B?Uint8Array:Array)(30),qb,rb;qb=0;for(rb=pb.length;qb>>a;c.e=e-a;c.c=d;return g} +function sb(c,a){for(var b=c.j,e=c.e,f=c.input,d=c.c,g=a[0],h=a[1],j,i,q;e>>16;c.j=b>>q;c.e=e-q;c.c=d;return i&65535} +function cb(c){function a(a,b,c){var d,f,e,g;for(g=0;gd)e>=f&&(this.b=e,b=this.f(),e=this.b),b[e++]=d;else{g=d-257;j=gb[g];0=f&&(this.b=e,b=this.f(),e=this.b);for(;j--;)b[e]=b[e++-h]}for(;8<=this.e;)this.e-=8,this.c--;this.b=e}; +W.prototype.Q=function(c,a){var b=this.a,e=this.b;this.A=c;for(var f=b.length,d,g,h,j;256!==(d=sb(this,c));)if(256>d)e>=f&&(b=this.f(),f=b.length),b[e++]=d;else{g=d-257;j=gb[g];0f&&(b=this.f(),f=b.length);for(;j--;)b[e]=b[e++-h]}for(;8<=this.e;)this.e-=8,this.c--;this.b=e}; +W.prototype.f=function(){var c=new (B?Uint8Array:Array)(this.b-32768),a=this.b-32768,b,e,f=this.a;if(B)c.set(f.subarray(32768,c.length));else{b=0;for(e=c.length;bb;++b)f[b]=f[a+b];this.b=32768;return f}; +W.prototype.R=function(c){var a,b=this.input.length/this.c+1|0,e,f,d,g=this.input,h=this.a;c&&("number"===typeof c.B&&(b=c.B),"number"===typeof c.M&&(b+=c.M));2>b?(e=(g.length-this.c)/this.A[2],d=258*(e/2)|0,f=da&&(this.a.length=a),c=this.a);return this.buffer=c};function tb(c){this.input=c;this.c=0;this.member=[]} +tb.prototype.i=function(){for(var c=this.input.length;this.c>>0;S.k(f)!==q&&m(Error("invalid CRC-32 checksum: 0x"+S.k(f).toString(16)+" / 0x"+q.toString(16))); +a.Y=b=(l[k++]|l[k++]<<8|l[k++]<<16|l[k++]<<24)>>>0;(f.length&4294967295)!==b&&m(Error("invalid input size: "+(f.length&4294967295)+" / "+b));this.member.push(a);this.c=k}var p=this.member,t,v,x=0,F=0,w;t=0;for(v=p.length;t>>0,b!==aa(a)&&m(Error("invalid adler-32 checksum")));return a};exports.deflate=vb;exports.deflateSync=wb;exports.inflate=xb;exports.inflateSync=yb;exports.gzip=zb;exports.gzipSync=Ab;exports.gunzip=Bb;exports.gunzipSync=Cb;function vb(c,a,b){process.nextTick(function(){var e,f;try{f=wb(c,b)}catch(d){e=d}a(e,f)})}function wb(c,a){var b;b=(new Ea(c)).h();a||(a={});return a.G?b:Db(b)}function xb(c,a,b){process.nextTick(function(){var e,f;try{f=yb(c,b)}catch(d){e=d}a(e,f)})} +function yb(c,a){var b;c.subarray=c.slice;b=(new ub(c)).i();a||(a={});return a.noBuffer?b:Db(b)}function zb(c,a,b){process.nextTick(function(){var e,f;try{f=Ab(c,b)}catch(d){e=d}a(e,f)})}function Ab(c,a){var b;c.subarray=c.slice;b=(new Ha(c)).h();a||(a={});return a.G?b:Db(b)}function Bb(c,a,b){process.nextTick(function(){var e,f;try{f=Cb(c,b)}catch(d){e=d}a(e,f)})}function Cb(c,a){var b;c.subarray=c.slice;b=(new tb(c)).i();a||(a={});return a.G?b:Db(b)} +function Db(c){var a=new Buffer(c.length),b,e;b=0;for(e=c.length;b=$?8:255>=$?9:279>=$?7:8;T(Jb);var Lb=new (B?Uint8Array:Array)(30),Mb,Nb;Mb=0;for(Nb=Lb.length;Mb= 0.8.0" + }, + "scripts": { + "test": "grunt test" + }, + "devDependencies": { + "grunt-contrib-jshint": "~0.1.1", + "grunt-contrib-nodeunit": "~0.1.2", + "grunt": "~0.4.0" + }, + "main": "lib/contrib", + "dependencies": { + "zlib-browserify": "0.0.1" + }, + "contributors": [ + { + "name": "Tyler Kellen", + "url": "http://goingslowly.com/" + }, + { + "name": "Chris Talkington", + "url": "http://christalkington.com/" + }, + { + "name": "Larry Davis", + "url": "http://lazd.net/" + }, + { + "name": "Sindre Sorhus", + "url": "http://sindresorhus.com" + } + ], + "readme": "# grunt-lib-contrib [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-lib-contrib.png?branch=master)](http://travis-ci.org/gruntjs/grunt-lib-contrib)\n\n> Common functionality shared across grunt-contrib tasks.\n\nThe purpose of grunt-lib-contrib is to explore solutions to common problems task writers encounter, and to ease the upgrade path for contrib tasks.\n\n**These APIs should be considered highly unstable. Depend on them at your own risk!**\n\n_Over time, some of the functionality provided here may be incorporated directly into grunt for mainstream use. Until then, you may require `grunt-lib-contrib` as a dependency in your projects, but be very careful to specify an exact version number instead of a range, as backwards-incompatible changes are likely to be introduced._\n\n### Helper Functions\n\n#### getNamespaceDeclaration(ns)\n\nThis helper is used to build JS namespace declarations.\n\n#### optsToArgs(options)\n\nConvert an object to an array of CLI arguments, which can be used with `child_process.spawn()`.\n\n```js\n// Example\n{\n fooBar: 'a', // ['--foo-bar', 'a']\n fooBar: 1, // ['--foo-bar', '1']\n fooBar: true, // ['--foo-bar']\n fooBar: false, //\n fooBar: ['a', 'b'] // ['--foo-bar', 'a', '--foo-bar', 'b']\n}\n```\n\n#### stripPath(pth, strip)\n\nStrip a path from a path. normalize both paths for best results.\n\n#### minMaxInfo(min, max, report)\n\nHelper for logging compressed, uncompressed and gzipped sizes of strings.\n\n#### report\nChoices: `false`, `'min'`, `'gzip'`\nDefault: `false`\n\nEither do not report anything, report only minification result, or report minification and gzip results.\n\n**Important** Including `'gzip'` results can make this task 5-10x slower depending on the size of the file.\n\n\n```js\nvar max = grunt.file.read('max.js');\nvar min = minify(max);\nminMaxInfo(min, max, 'gzip');\n```\n\nWould print:\n\n```\nOriginal: 495 bytes.\nMinified: 396 bytes.\nGzipped: 36 bytes.\n```\n\n--\n\n*Lib submitted by [Tyler Kellen](https://goingslowly.com/).*", + "_id": "grunt-lib-contrib@0.6.1", + "_from": "grunt-lib-contrib@~0.6.0" +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/test/lib_test.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/test/lib_test.js new file mode 100644 index 0000000..446864a --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/test/lib_test.js @@ -0,0 +1,233 @@ +var grunt = require('grunt'); +var helper = require('../lib/contrib.js').init(grunt); + +exports.lib = { + getNamespaceDeclaration: function(test) { + 'use strict'; + + test.expect(10); + + // Both test should result in this[JST] + var expected = { + namespace: 'this["JST"]', + declaration: 'this["JST"] = this["JST"] || {};' + }; + + var actual = helper.getNamespaceDeclaration("this.JST"); + test.equal(expected.namespace, actual.namespace, 'namespace with square brackets incorrect'); + test.equal(expected.declaration, actual.declaration, 'namespace declaration with square brackets incorrect'); + + actual = helper.getNamespaceDeclaration("JST"); + test.equal(expected.namespace, actual.namespace, 'namespace with square brackets incorrect'); + test.equal(expected.declaration, actual.declaration, 'namespace declaration with square brackets incorrect'); + + // Templates should be declared globally if this provided + expected = { + namespace: "this", + declaration: "" + }; + + actual = helper.getNamespaceDeclaration("this"); + test.equal(expected.namespace, actual.namespace, 'namespace with square brackets incorrect'); + test.equal(expected.declaration, actual.declaration, 'namespace declaration with square brackets incorrect'); + + // Nested namespace declaration + expected = { + namespace: 'this["GUI"]["Templates"]["Main"]', + declaration: 'this["GUI"] = this["GUI"] || {};\n' + + 'this["GUI"]["Templates"] = this["GUI"]["Templates"] || {};\n' + + 'this["GUI"]["Templates"]["Main"] = this["GUI"]["Templates"]["Main"] || {};' + }; + + actual = helper.getNamespaceDeclaration("GUI.Templates.Main"); + test.equal(expected.namespace, actual.namespace, 'namespace incorrect'); + test.equal(expected.declaration, actual.declaration, 'namespace declaration incorrect'); + + // Namespace that contains square brackets + expected = { + namespace: 'this["main"]["[test]"]["[test2]"]', + declaration: 'this["main"] = this["main"] || {};\n' + + 'this["main"]["[test]"] = this["main"]["[test]"] || {};\n' + + 'this["main"]["[test]"]["[test2]"] = this["main"]["[test]"]["[test2]"] || {};' + }; + + actual = helper.getNamespaceDeclaration("main.[test].[test2]"); + test.equal(expected.namespace, actual.namespace, 'namespace with square brackets incorrect'); + test.equal(expected.declaration, actual.declaration, 'namespace declaration with square brackets incorrect'); + + test.done(); + }, + optsToArgs: function(test) { + 'use strict'; + + test.expect(1); + + var fixture = { + key: 'a', + key2: 1, + key3: true, + key4: false, + key5: ['a', 'b'] + }; + var expected = ['--key', 'a', '--key2', '1', '--key3', '--key5', 'a', '--key5', 'b' ].toString(); + var actual = helper.optsToArgs(fixture).toString(); + test.equal(expected, actual, 'should convert object to array of CLI arguments'); + + test.done(); + }, + stripPath: function(test) { + 'use strict'; + var path = require('path'); + + test.expect(4); + + var actual = helper.stripPath('path1/path2', 'path1'); + var expected = 'path2'; + test.equal(expected, actual, 'should strip path from a directory path and trim it.'); + + actual = helper.stripPath('path1/path2/path3/path4', 'path1/path2'); + expected = path.normalize('path3/path4'); + test.equal(expected, actual, 'should strip path from a directory path and trim it. (deep)'); + + actual = helper.stripPath('path1/file.ext', 'path1'); + expected = 'file.ext'; + test.equal(expected, actual, 'should strip path from a file path and trim it.'); + + actual = helper.stripPath('path1/path2/path3/path4/file.ext', 'path1/path2'); + expected = path.normalize('path3/path4/file.ext'); + test.equal(expected, actual, 'should strip path from a file path and trim it. (deep)'); + + test.done(); + }, + minMaxInfo: function(test) { + 'use strict'; + test.expect(3); + + var max = new Array(100).join('blah '); + var min = max.replace(/\s+/g, ''); + + var actual; + var expected; + + grunt.util.hooker.hook(grunt.log, 'writeln', { + pre: function(result) { + actual += grunt.log.uncolor(result) + grunt.util.linefeed; + return grunt.util.hooker.preempt(); + } + }); + + grunt.util.hooker.hook(grunt.log, 'write', { + pre: function(result) { + actual += grunt.log.uncolor(result); + return grunt.util.hooker.preempt(); + } + }); + + + // No reporting option + actual = ''; + expected = ''; + + helper.minMaxInfo(min, max); + test.equal(expected, actual, 'should not have reported min and max info.'); + + // Report minification results + actual = ''; + expected = [ + 'Original: 495 bytes.', + 'Minified: 396 bytes.' + ].join(grunt.util.linefeed) + grunt.util.linefeed; + + helper.minMaxInfo(min, max, 'min'); + test.equal(expected, actual, 'should have logged min and max info.'); + + // Report minification and gzip results + actual = ''; + expected = [ + 'Original: 495 bytes.', + 'Minified: 396 bytes.', + 'Gzipped: 36 bytes.' + ].join(grunt.util.linefeed) + grunt.util.linefeed; + + helper.minMaxInfo(min, max, 'gzip'); + test.equal(expected, actual, 'should have logged min, max, gzip info.'); + + grunt.util.hooker.unhook(grunt.log, 'writeln'); + grunt.util.hooker.unhook(grunt.log, 'write'); + test.done(); + }, + formatToType: { + amd: function(test) { + + 'use strict'; + + test.expect(2); + + var string = function () { }; + + var actual = helper.formatForType(string, 'amd', 'JST', 'test'); + var expected = 'JST["test"] = function () { };'; + test.equal(expected, actual, 'should format string to amd with namespace'); + + actual = helper.formatForType(string, 'amd'); + expected = "return function () { }"; + test.equal(expected, actual, 'should format string to amd'); + + test.done(); + }, + commonjs: function(test) { + + 'use strict'; + + test.expect(2); + + var string = function () { }; + + var actual = helper.formatForType(string, 'commonjs', 'JST', 'test'); + var expected = 'JST["test"] = function () { };'; + test.equal(expected, actual, 'should format string to commonjs with namespace'); + + actual = helper.formatForType(string, 'commonjs'); + expected = "module.exports = function () { }"; + test.equal(expected, actual, 'should format string to commonjs'); + + test.done(); + }, + js: function(test) { + + 'use strict'; + + test.expect(2); + + var string = function () { }; + + var actual = helper.formatForType(string, 'js', 'JST', 'test'); + var expected = 'JST["test"] = function () { };'; + test.equal(expected, actual, 'should format string to js with namespace'); + + actual = helper.formatForType(string, 'js'); + expected = 'function () { }'; + test.equal(expected, actual, 'should format string to js'); + + test.done(); + }, + html: function(test) { + + 'use strict'; + + test.expect(2); + + var string = function () { }; + + var actual = helper.formatForType(string, 'html', 'JST', 'test'); + var expected = 'function () { }'; + test.equal(expected, actual, 'should format string to html with namespace'); + + actual = helper.formatForType(string, 'html'); + expected = 'function () { }'; + test.equal(expected, actual, 'should format string to html'); + + test.done(); + } + } +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/.npmignore b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/.npmignore new file mode 100644 index 0000000..94fceeb --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/.npmignore @@ -0,0 +1,2 @@ +tmp/ +node_modules/ diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/README.md b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/README.md new file mode 100644 index 0000000..de6abe5 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/README.md @@ -0,0 +1,544 @@ +UglifyJS 2 +========== + +UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit. + +This page documents the command line utility. For +[API and internals documentation see my website](http://lisperator.net/uglifyjs/). +There's also an +[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox, +Chrome and probably Safari). + +Install +------- + +First make sure you have installed the latest version of [node.js](http://nodejs.org/) +(You may need to restart your computer after this step). + +From NPM for use as a command line app: + + npm install uglify-js -g + +From NPM for programmatic use: + + npm install uglify-js + +From Git: + + git clone git://github.com/mishoo/UglifyJS2.git + cd UglifyJS2 + npm link . + +Usage +----- + + uglifyjs [input files] [options] + +UglifyJS2 can take multiple input files. It's recommended that you pass the +input files first, then pass the options. UglifyJS will parse input files +in sequence and apply any compression options. The files are parsed in the +same global scope, that is, a reference from a file to some +variable/function declared in another file will be matched properly. + +If you want to read from STDIN instead, pass a single dash instead of input +files. + +The available options are: + + --source-map Specify an output file where to generate source map. + [string] + --source-map-root The path to the original source to be included in the + source map. [string] + --source-map-url The path to the source map to be added in //@ + sourceMappingURL. Defaults to the value passed with + --source-map. [string] + --in-source-map Input source map, useful if you're compressing JS that was + generated from some other original code. + -p, --prefix Skip prefix for original filenames that appear in source + maps. For example -p 3 will drop 3 directories from file + names and ensure they are relative paths. + -o, --output Output file (default STDOUT). + -b, --beautify Beautify output/specify output options. [string] + -m, --mangle Mangle names/pass mangler options. [string] + -r, --reserved Reserved names to exclude from mangling. + -c, --compress Enable compressor/pass compressor options. Pass options + like -c hoist_vars=false,if_return=false. Use -c with no + argument to use the default compression options. [string] + -d, --define Global definitions [string] + --comments Preserve copyright comments in the output. By default this + works like Google Closure, keeping JSDoc-style comments + that contain "@license" or "@preserve". You can optionally + pass one of the following arguments to this flag: + - "all" to keep all comments + - a valid JS regexp (needs to start with a slash) to keep + only comments that match. + Note that currently not *all* comments can be kept when + compression is on, because of dead code removal or + cascading statements into sequences. [string] + --stats Display operations run time on STDERR. [boolean] + --acorn Use Acorn for parsing. [boolean] + --spidermonkey Assume input fles are SpiderMonkey AST format (as JSON). + [boolean] + --self Build itself (UglifyJS2) as a library (implies + --wrap=UglifyJS --export-all) [boolean] + --wrap Embed everything in a big function, making the “exports” + and “global” variables available. You need to pass an + argument to this option to specify the name that your + module will take when included in, say, a browser. + [string] + --export-all Only used when --wrap, this tells UglifyJS to add code to + automatically export all globals. [boolean] + --lint Display some scope warnings [boolean] + -v, --verbose Verbose [boolean] + -V, --version Print version number and exit. [boolean] + +Specify `--output` (`-o`) to declare the output file. Otherwise the output +goes to STDOUT. + +## Source map options + +UglifyJS2 can generate a source map file, which is highly useful for +debugging your compressed JavaScript. To get a source map, pass +`--source-map output.js.map` (full path to the file where you want the +source map dumped). + +Additionally you might need `--source-map-root` to pass the URL where the +original files can be found. In case you are passing full paths to input +files to UglifyJS, you can use `--prefix` (`-p`) to specify the number of +directories to drop from the path prefix when declaring files in the source +map. + +For example: + + uglifyjs /home/doe/work/foo/src/js/file1.js \ + /home/doe/work/foo/src/js/file2.js \ + -o foo.min.js \ + --source-map foo.min.js.map \ + --source-map-root http://foo.com/src \ + -p 5 -c -m + +The above will compress and mangle `file1.js` and `file2.js`, will drop the +output in `foo.min.js` and the source map in `foo.min.js.map`. The source +mapping will refer to `http://foo.com/src/js/file1.js` and +`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src` +as the source map root, and the original files as `js/file1.js` and +`js/file2.js`). + +### Composed source map + +When you're compressing JS code that was output by a compiler such as +CoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd +like to map back to the original code (i.e. CoffeeScript). UglifyJS has an +option to take an input source map. Assuming you have a mapping from +CoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript → +compressed JS by mapping every token in the compiled JS to its original +location. + +To use this feature you need to pass `--in-source-map +/path/to/input/source.map`. Normally the input source map should also point +to the file containing the generated JS, so if that's correct you can omit +input files from the command line. + +## Mangler options + +To enable the mangler you need to pass `--mangle` (`-m`). Optionally you +can pass `-m sort=true` (we'll possibly have other flags in the future) in order +to assign shorter names to most frequently used variables. This saves a few +hundred bytes on jQuery before gzip, but the output is _bigger_ after gzip +(and seems to happen for other libraries I tried it on) therefore it's not +enabled by default. + +When mangling is enabled but you want to prevent certain names from being +mangled, you can declare those names with `--reserved` (`-r`) — pass a +comma-separated list of names. For example: + + uglifyjs ... -m -r '$,require,exports' + +to prevent the `require`, `exports` and `$` names from being changed. + +## Compressor options + +You need to pass `--compress` (`-c`) to enable the compressor. Optionally +you can pass a comma-separated list of options. Options are in the form +`foo=bar`, or just `foo` (the latter implies a boolean option that you want +to set `true`; it's effectively a shortcut for `foo=true`). + +The defaults should be tuned for maximum compression on most code. Here are +the available options (all are `true` by default, except `hoist_vars`): + +- `sequences` -- join consecutive simple statements using the comma operator +- `properties` -- rewrite property access using the dot notation, for + example `foo["bar"] → foo.bar` +- `dead_code` -- remove unreachable code +- `drop_debugger` -- remove `debugger;` statements +- `unsafe` -- apply "unsafe" transformations (discussion below) +- `conditionals` -- apply optimizations for `if`-s and conditional + expressions +- `comparisons` -- apply certain optimizations to binary nodes, for example: + `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes, + e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc. +- `evaluate` -- attempt to evaluate constant expressions +- `booleans` -- various optimizations for boolean context, for example `!!a + ? b : c → a ? b : c` +- `loops` -- optimizations for `do`, `while` and `for` loops when we can + statically determine the condition +- `unused` -- drop unreferenced functions and variables +- `hoist_funs` -- hoist function declarations +- `hoist_vars` -- hoist `var` declarations (this is `false` by default + because it seems to increase the size of the output in general) +- `if_return` -- optimizations for if/return and if/continue +- `join_vars` -- join consecutive `var` statements +- `cascade` -- small optimization for sequences, transform `x, x` into `x` + and `x = something(), x` into `x = something()` +- `warnings` -- display warnings when dropping unreachable code or unused + declarations etc. + +### Conditional compilation + +You can use the `--define` (`-d`) switch in order to declare global +variables that UglifyJS will assume to be constants (unless defined in +scope). For example if you pass `--define DEBUG=false` then, coupled with +dead code removal UglifyJS will discard the following from the output: + + if (DEBUG) { + console.log("debug stuff"); + } + +UglifyJS will warn about the condition being always false and about dropping +unreachable code; for now there is no option to turn off only this specific +warning, you can pass `warnings=false` to turn off *all* warnings. + +Another way of doing that is to declare your globals as constants in a +separate file and include it into the build. For example you can have a +`build/defines.js` file with the following: + + const DEBUG = false; + const PRODUCTION = true; + // etc. + +and build your code like this: + + uglifyjs build/defines.js js/foo.js js/bar.js... -c + +UglifyJS will notice the constants and, since they cannot be altered, it +will evaluate references to them to the value itself and drop unreachable +code as usual. The possible downside of this approach is that the build +will contain the `const` declarations. + + +## Beautifier options + +The code generator tries to output shortest code possible by default. In +case you want beautified output, pass `--beautify` (`-b`). Optionally you +can pass additional arguments that control the code output: + +- `beautify` (default `true`) -- whether to actually beautify the output. + Passing `-b` will set this to true, but you might need to pass `-b` even + when you want to generate minified code, in order to specify additional + arguments, so you can use `-b beautify=false` to override it. +- `indent-level` (default 4) +- `indent-start` (default 0) -- prefix all lines by that many spaces +- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal + objects +- `space-colon` (default `true`) -- insert a space after the colon signs +- `ascii-only` (default `false`) -- escape Unicode characters in strings and + regexps +- `inline-script` (default `false`) -- escape the slash in occurrences of + ` 0) { + sys.error("WARN: Ignoring input files since --self was passed"); + } + files = UglifyJS.FILES; + if (!ARGS.wrap) ARGS.wrap = "UglifyJS"; + ARGS.export_all = true; +} + +var ORIG_MAP = ARGS.in_source_map; + +if (ORIG_MAP) { + ORIG_MAP = JSON.parse(fs.readFileSync(ORIG_MAP)); + if (files.length == 0) { + sys.error("INFO: Using file from the input source map: " + ORIG_MAP.file); + files = [ ORIG_MAP.file ]; + } + if (ARGS.source_map_root == null) { + ARGS.source_map_root = ORIG_MAP.sourceRoot; + } +} + +if (files.length == 0) { + files = [ "-" ]; +} + +if (files.indexOf("-") >= 0 && ARGS.source_map) { + sys.error("ERROR: Source map doesn't work with input from STDIN"); + process.exit(1); +} + +if (files.filter(function(el){ return el == "-" }).length > 1) { + sys.error("ERROR: Can read a single file from STDIN (two or more dashes specified)"); + process.exit(1); +} + +var STATS = {}; +var OUTPUT_FILE = ARGS.o; +var TOPLEVEL = null; + +var SOURCE_MAP = ARGS.source_map ? UglifyJS.SourceMap({ + file: OUTPUT_FILE, + root: ARGS.source_map_root, + orig: ORIG_MAP, +}) : null; + +OUTPUT_OPTIONS.source_map = SOURCE_MAP; + +try { + var output = UglifyJS.OutputStream(OUTPUT_OPTIONS); + var compressor = COMPRESS && UglifyJS.Compressor(COMPRESS); +} catch(ex) { + if (ex instanceof UglifyJS.DefaultsError) { + sys.error(ex.msg); + sys.error("Supported options:"); + sys.error(sys.inspect(ex.defs)); + process.exit(1); + } +} + +files.forEach(function(file) { + var code = read_whole_file(file); + if (ARGS.p != null) { + file = file.replace(/^\/+/, "").split(/\/+/).slice(ARGS.p).join("/"); + } + time_it("parse", function(){ + if (ARGS.spidermonkey) { + var program = JSON.parse(code); + if (!TOPLEVEL) TOPLEVEL = program; + else TOPLEVEL.body = TOPLEVEL.body.concat(program.body); + } + else if (ARGS.acorn) { + TOPLEVEL = acorn.parse(code, { + locations : true, + trackComments : true, + sourceFile : file, + program : TOPLEVEL + }); + } + else { + TOPLEVEL = UglifyJS.parse(code, { + filename: file, + toplevel: TOPLEVEL + }); + }; + }); +}); + +if (ARGS.acorn || ARGS.spidermonkey) time_it("convert_ast", function(){ + TOPLEVEL = UglifyJS.AST_Node.from_mozilla_ast(TOPLEVEL); +}); + +if (ARGS.wrap) { + TOPLEVEL = TOPLEVEL.wrap_commonjs(ARGS.wrap, ARGS.export_all); +} + +var SCOPE_IS_NEEDED = COMPRESS || MANGLE || ARGS.lint; + +if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope(); + if (ARGS.lint) { + TOPLEVEL.scope_warnings(); + } + }); +} + +if (COMPRESS) { + time_it("squeeze", function(){ + TOPLEVEL = TOPLEVEL.transform(compressor); + }); +} + +if (SCOPE_IS_NEEDED) { + time_it("scope", function(){ + TOPLEVEL.figure_out_scope(); + if (MANGLE) { + TOPLEVEL.compute_char_frequency(MANGLE); + } + }); +} + +if (MANGLE) time_it("mangle", function(){ + TOPLEVEL.mangle_names(MANGLE); +}); +time_it("generate", function(){ + TOPLEVEL.print(output); +}); + +output = output.get(); + +if (SOURCE_MAP) { + fs.writeFileSync(ARGS.source_map, SOURCE_MAP, "utf8"); + output += "\n/*\n//@ sourceMappingURL=" + (ARGS.source_map_url || ARGS.source_map) + "\n*/"; +} + +if (OUTPUT_FILE) { + fs.writeFileSync(OUTPUT_FILE, output, "utf8"); +} else { + sys.print(output); + sys.error("\n"); +} + +if (ARGS.stats) { + sys.error(UglifyJS.string_template("Timing information (compressed {count} files):", { + count: files.length + })); + for (var i in STATS) if (STATS.hasOwnProperty(i)) { + sys.error(UglifyJS.string_template("- {name}: {time}s", { + name: i, + time: (STATS[i] / 1000).toFixed(3) + })); + } +} + +/* -----[ functions ]----- */ + +function normalize(o) { + for (var i in o) if (o.hasOwnProperty(i) && /-/.test(i)) { + o[i.replace(/-/g, "_")] = o[i]; + delete o[i]; + } +} + +function getOptions(x, constants) { + x = ARGS[x]; + if (!x) return null; + var ret = {}; + if (x !== true) { + var ast; + try { + ast = UglifyJS.parse(x); + } catch(ex) { + if (ex instanceof UglifyJS.JS_Parse_Error) { + sys.error("Error parsing arguments in: " + x); + process.exit(1); + } + } + ast.walk(new UglifyJS.TreeWalker(function(node){ + if (node instanceof UglifyJS.AST_Toplevel) return; // descend + if (node instanceof UglifyJS.AST_SimpleStatement) return; // descend + if (node instanceof UglifyJS.AST_Seq) return; // descend + if (node instanceof UglifyJS.AST_Assign) { + var name = node.left.print_to_string({ beautify: false }).replace(/-/g, "_"); + var value = node.right; + if (constants) + value = new Function("return (" + value.print_to_string() + ")")(); + ret[name] = value; + return true; // no descend + } + sys.error(node.TYPE) + sys.error("Error parsing arguments in: " + x); + process.exit(1); + })); + } + return ret; +} + +function read_whole_file(filename) { + if (filename == "-") { + // XXX: this sucks. How does one read the whole STDIN + // synchronously? + filename = "/dev/stdin"; + } + try { + return fs.readFileSync(filename, "utf8"); + } catch(ex) { + sys.error("ERROR: can't read file: " + filename); + process.exit(1); + } +} + +function time_it(name, cont) { + var t1 = new Date().getTime(); + var ret = cont(); + if (ARGS.stats) { + var spent = new Date().getTime() - t1; + if (STATS[name]) STATS[name] += spent; + else STATS[name] = spent; + } + return ret; +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/ast.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/ast.js new file mode 100644 index 0000000..62bdd8d --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/ast.js @@ -0,0 +1,964 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function DEFNODE(type, props, methods, base) { + if (arguments.length < 4) base = AST_Node; + if (!props) props = []; + else props = props.split(/\s+/); + var self_props = props; + if (base && base.PROPS) + props = props.concat(base.PROPS); + var code = "return function AST_" + type + "(props){ if (props) { "; + for (var i = props.length; --i >= 0;) { + code += "this." + props[i] + " = props." + props[i] + ";"; + } + var proto = base && new base; + if (proto && proto.initialize || (methods && methods.initialize)) + code += "this.initialize();"; + code += "}}"; + var ctor = new Function(code)(); + if (proto) { + ctor.prototype = proto; + ctor.BASE = base; + } + if (base) base.SUBCLASSES.push(ctor); + ctor.prototype.CTOR = ctor; + ctor.PROPS = props || null; + ctor.SELF_PROPS = self_props; + ctor.SUBCLASSES = []; + if (type) { + ctor.prototype.TYPE = ctor.TYPE = type; + } + if (methods) for (i in methods) if (methods.hasOwnProperty(i)) { + if (/^\$/.test(i)) { + ctor[i.substr(1)] = methods[i]; + } else { + ctor.prototype[i] = methods[i]; + } + } + ctor.DEFMETHOD = function(name, method) { + this.prototype[name] = method; + }; + return ctor; +}; + +var AST_Token = DEFNODE("Token", "type value line col pos endpos nlb comments_before file", { +}, null); + +var AST_Node = DEFNODE("Node", "start end", { + clone: function() { + return new this.CTOR(this); + }, + $documentation: "Base class of all AST nodes", + $propdoc: { + start: "[AST_Token] The first token of this node", + end: "[AST_Token] The last token of this node" + }, + _walk: function(visitor) { + return visitor._visit(this); + }, + walk: function(visitor) { + return this._walk(visitor); // not sure the indirection will be any help + } +}, null); + +AST_Node.warn_function = null; +AST_Node.warn = function(txt, props) { + if (AST_Node.warn_function) + AST_Node.warn_function(string_template(txt, props)); +}; + +/* -----[ statements ]----- */ + +var AST_Statement = DEFNODE("Statement", null, { + $documentation: "Base class of all statements", +}); + +var AST_Debugger = DEFNODE("Debugger", null, { + $documentation: "Represents a debugger statement", +}, AST_Statement); + +var AST_Directive = DEFNODE("Directive", "value scope", { + $documentation: "Represents a directive, like \"use strict\";", + $propdoc: { + value: "[string] The value of this directive as a plain string (it's not an AST_String!)", + scope: "[AST_Scope/S] The scope that this directive affects" + }, +}, AST_Statement); + +var AST_SimpleStatement = DEFNODE("SimpleStatement", "body", { + $documentation: "A statement consisting of an expression, i.e. a = 1 + 2", + $propdoc: { + body: "[AST_Node] an expression node (should not be instanceof AST_Statement)" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.body._walk(visitor); + }); + } +}, AST_Statement); + +function walk_body(node, visitor) { + if (node.body instanceof AST_Statement) { + node.body._walk(visitor); + } + else node.body.forEach(function(stat){ + stat._walk(visitor); + }); +}; + +var AST_Block = DEFNODE("Block", "body", { + $documentation: "A body of statements (usually bracketed)", + $propdoc: { + body: "[AST_Statement*] an array of statements" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + walk_body(this, visitor); + }); + } +}, AST_Statement); + +var AST_BlockStatement = DEFNODE("BlockStatement", null, { + $documentation: "A block statement", +}, AST_Block); + +var AST_EmptyStatement = DEFNODE("EmptyStatement", null, { + $documentation: "The empty statement (empty block or simply a semicolon)", + _walk: function(visitor) { + return visitor._visit(this); + } +}, AST_Statement); + +var AST_StatementWithBody = DEFNODE("StatementWithBody", "body", { + $documentation: "Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`", + $propdoc: { + body: "[AST_Statement] the body; this should always be present, even if it's an AST_EmptyStatement" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.body._walk(visitor); + }); + } +}, AST_Statement); + +var AST_LabeledStatement = DEFNODE("LabeledStatement", "label", { + $documentation: "Statement with a label", + $propdoc: { + label: "[AST_Label] a label definition" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.label._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_DWLoop = DEFNODE("DWLoop", "condition", { + $documentation: "Base class for do/while statements", + $propdoc: { + condition: "[AST_Node] the loop condition. Should not be instanceof AST_Statement" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_Do = DEFNODE("Do", null, { + $documentation: "A `do` statement", +}, AST_DWLoop); + +var AST_While = DEFNODE("While", null, { + $documentation: "A `while` statement", +}, AST_DWLoop); + +var AST_For = DEFNODE("For", "init condition step", { + $documentation: "A `for` statement", + $propdoc: { + init: "[AST_Node?] the `for` initialization code, or null if empty", + condition: "[AST_Node?] the `for` termination clause, or null if empty", + step: "[AST_Node?] the `for` update clause, or null if empty" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + if (this.init) this.init._walk(visitor); + if (this.condition) this.condition._walk(visitor); + if (this.step) this.step._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_ForIn = DEFNODE("ForIn", "init name object", { + $documentation: "A `for ... in` statement", + $propdoc: { + init: "[AST_Node] the `for/in` initialization code", + name: "[AST_SymbolRef?] the loop variable, only if `init` is AST_Var", + object: "[AST_Node] the object that we're looping through" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.init._walk(visitor); + this.object._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +var AST_With = DEFNODE("With", "expression", { + $documentation: "A `with` statement", + $propdoc: { + expression: "[AST_Node] the `with` expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.body._walk(visitor); + }); + } +}, AST_StatementWithBody); + +/* -----[ scope and functions ]----- */ + +var AST_Scope = DEFNODE("Scope", "directives variables functions uses_with uses_eval parent_scope enclosed cname", { + $documentation: "Base class for all statements introducing a lexical scope", + $propdoc: { + directives: "[string*/S] an array of directives declared in this scope", + variables: "[Object/S] a map of name -> SymbolDef for all variables/functions defined in this scope", + functions: "[Object/S] like `variables`, but only lists function declarations", + uses_with: "[boolean/S] tells whether this scope uses the `with` statement", + uses_eval: "[boolean/S] tells whether this scope contains a direct call to the global `eval`", + parent_scope: "[AST_Scope?/S] link to the parent scope", + enclosed: "[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes", + cname: "[integer/S] current index for mangling variables (used internally by the mangler)", + }, +}, AST_Block); + +var AST_Toplevel = DEFNODE("Toplevel", "globals", { + $documentation: "The toplevel scope", + $propdoc: { + globals: "[Object/S] a map of name -> SymbolDef for all undeclared names", + }, + wrap_commonjs: function(name, export_all) { + var self = this; + var to_export = []; + if (export_all) { + self.figure_out_scope(); + self.walk(new TreeWalker(function(node){ + if (node instanceof AST_SymbolDeclaration && node.definition().global) { + if (!find_if(function(n){ return n.name == node.name }, to_export)) + to_export.push(node); + } + })); + } + var wrapped_tl = "(function(exports, global){ global['" + name + "'] = exports; '$ORIG'; '$EXPORTS'; }({}, (function(){return this}())))"; + wrapped_tl = parse(wrapped_tl); + wrapped_tl = wrapped_tl.transform(new TreeTransformer(function before(node){ + if (node instanceof AST_SimpleStatement) { + node = node.body; + if (node instanceof AST_String) switch (node.getValue()) { + case "$ORIG": + return MAP.splice(self.body); + case "$EXPORTS": + var body = []; + to_export.forEach(function(sym){ + body.push(new AST_SimpleStatement({ + body: new AST_Assign({ + left: new AST_Sub({ + expression: new AST_SymbolRef({ name: "exports" }), + property: new AST_String({ value: sym.name }), + }), + operator: "=", + right: new AST_SymbolRef(sym), + }), + })); + }); + return MAP.splice(body); + } + } + })); + return wrapped_tl; + } +}, AST_Scope); + +var AST_Lambda = DEFNODE("Lambda", "name argnames uses_arguments", { + $documentation: "Base class for functions", + $propdoc: { + name: "[AST_SymbolDeclaration?] the name of this function", + argnames: "[AST_SymbolFunarg*] array of function arguments", + uses_arguments: "[boolean/S] tells whether this function accesses the arguments array" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + if (this.name) this.name._walk(visitor); + this.argnames.forEach(function(arg){ + arg._walk(visitor); + }); + walk_body(this, visitor); + }); + } +}, AST_Scope); + +var AST_Accessor = DEFNODE("Accessor", null, { + $documentation: "A setter/getter function" +}, AST_Lambda); + +var AST_Function = DEFNODE("Function", null, { + $documentation: "A function expression" +}, AST_Lambda); + +var AST_Defun = DEFNODE("Defun", null, { + $documentation: "A function definition" +}, AST_Lambda); + +/* -----[ JUMPS ]----- */ + +var AST_Jump = DEFNODE("Jump", null, { + $documentation: "Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)" +}, AST_Statement); + +var AST_Exit = DEFNODE("Exit", "value", { + $documentation: "Base class for “exits” (`return` and `throw`)", + $propdoc: { + value: "[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return" + }, + _walk: function(visitor) { + return visitor._visit(this, this.value && function(){ + this.value._walk(visitor); + }); + } +}, AST_Jump); + +var AST_Return = DEFNODE("Return", null, { + $documentation: "A `return` statement" +}, AST_Exit); + +var AST_Throw = DEFNODE("Throw", null, { + $documentation: "A `throw` statement" +}, AST_Exit); + +var AST_LoopControl = DEFNODE("LoopControl", "label", { + $documentation: "Base class for loop control statements (`break` and `continue`)", + $propdoc: { + label: "[AST_LabelRef?] the label, or null if none", + }, + _walk: function(visitor) { + return visitor._visit(this, this.label && function(){ + this.label._walk(visitor); + }); + } +}, AST_Jump); + +var AST_Break = DEFNODE("Break", null, { + $documentation: "A `break` statement" +}, AST_LoopControl); + +var AST_Continue = DEFNODE("Continue", null, { + $documentation: "A `continue` statement" +}, AST_LoopControl); + +/* -----[ IF ]----- */ + +var AST_If = DEFNODE("If", "condition alternative", { + $documentation: "A `if` statement", + $propdoc: { + condition: "[AST_Node] the `if` condition", + alternative: "[AST_Statement?] the `else` part, or null if not present" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.body._walk(visitor); + if (this.alternative) this.alternative._walk(visitor); + }); + } +}, AST_StatementWithBody); + +/* -----[ SWITCH ]----- */ + +var AST_Switch = DEFNODE("Switch", "expression", { + $documentation: "A `switch` statement", + $propdoc: { + expression: "[AST_Node] the `switch` “discriminant”" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_Block); + +var AST_SwitchBranch = DEFNODE("SwitchBranch", null, { + $documentation: "Base class for `switch` branches", +}, AST_Block); + +var AST_Default = DEFNODE("Default", null, { + $documentation: "A `default` switch branch", +}, AST_SwitchBranch); + +var AST_Case = DEFNODE("Case", "expression", { + $documentation: "A `case` switch branch", + $propdoc: { + expression: "[AST_Node] the `case` expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_SwitchBranch); + +/* -----[ EXCEPTIONS ]----- */ + +var AST_Try = DEFNODE("Try", "bcatch bfinally", { + $documentation: "A `try` statement", + $propdoc: { + bcatch: "[AST_Catch?] the catch block, or null if not present", + bfinally: "[AST_Finally?] the finally block, or null if not present" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + walk_body(this, visitor); + if (this.bcatch) this.bcatch._walk(visitor); + if (this.bfinally) this.bfinally._walk(visitor); + }); + } +}, AST_Block); + +// XXX: this is wrong according to ECMA-262 (12.4). the catch block +// should introduce another scope, as the argname should be visible +// only inside the catch block. However, doing it this way because of +// IE which simply introduces the name in the surrounding scope. If +// we ever want to fix this then AST_Catch should inherit from +// AST_Scope. +var AST_Catch = DEFNODE("Catch", "argname", { + $documentation: "A `catch` node; only makes sense as part of a `try` statement", + $propdoc: { + argname: "[AST_SymbolCatch] symbol for the exception" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.argname._walk(visitor); + walk_body(this, visitor); + }); + } +}, AST_Block); + +var AST_Finally = DEFNODE("Finally", null, { + $documentation: "A `finally` node; only makes sense as part of a `try` statement" +}, AST_Block); + +/* -----[ VAR/CONST ]----- */ + +var AST_Definitions = DEFNODE("Definitions", "definitions", { + $documentation: "Base class for `var` or `const` nodes (variable declarations/initializations)", + $propdoc: { + definitions: "[AST_VarDef*] array of variable definitions" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.definitions.forEach(function(def){ + def._walk(visitor); + }); + }); + } +}, AST_Statement); + +var AST_Var = DEFNODE("Var", null, { + $documentation: "A `var` statement" +}, AST_Definitions); + +var AST_Const = DEFNODE("Const", null, { + $documentation: "A `const` statement" +}, AST_Definitions); + +var AST_VarDef = DEFNODE("VarDef", "name value", { + $documentation: "A variable declaration; only appears in a AST_Definitions node", + $propdoc: { + name: "[AST_SymbolVar|AST_SymbolConst] name of the variable", + value: "[AST_Node?] initializer, or null of there's no initializer" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.name._walk(visitor); + if (this.value) this.value._walk(visitor); + }); + } +}); + +/* -----[ OTHER ]----- */ + +var AST_Call = DEFNODE("Call", "expression args", { + $documentation: "A function call expression", + $propdoc: { + expression: "[AST_Node] expression to invoke as function", + args: "[AST_Node*] array of arguments" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.args.forEach(function(arg){ + arg._walk(visitor); + }); + }); + } +}); + +var AST_New = DEFNODE("New", null, { + $documentation: "An object instantiation. Derives from a function call since it has exactly the same properties" +}, AST_Call); + +var AST_Seq = DEFNODE("Seq", "car cdr", { + $documentation: "A sequence expression (two comma-separated expressions)", + $propdoc: { + car: "[AST_Node] first element in sequence", + cdr: "[AST_Node] second element in sequence" + }, + $cons: function(x, y) { + var seq = new AST_Seq(x); + seq.car = x; + seq.cdr = y; + return seq; + }, + $from_array: function(array) { + if (array.length == 0) return null; + if (array.length == 1) return array[0].clone(); + var list = null; + for (var i = array.length; --i >= 0;) { + list = AST_Seq.cons(array[i], list); + } + var p = list; + while (p) { + if (p.cdr && !p.cdr.cdr) { + p.cdr = p.cdr.car; + break; + } + p = p.cdr; + } + return list; + }, + to_array: function() { + var p = this, a = []; + while (p) { + a.push(p.car); + if (p.cdr && !(p.cdr instanceof AST_Seq)) { + a.push(p.cdr); + break; + } + p = p.cdr; + } + return a; + }, + add: function(node) { + var p = this; + while (p) { + if (!(p.cdr instanceof AST_Seq)) { + var cell = AST_Seq.cons(p.cdr, node); + return p.cdr = cell; + } + p = p.cdr; + } + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.car._walk(visitor); + if (this.cdr) this.cdr._walk(visitor); + }); + } +}); + +var AST_PropAccess = DEFNODE("PropAccess", "expression property", { + $documentation: "Base class for property access expressions, i.e. `a.foo` or `a[\"foo\"]`", + $propdoc: { + expression: "[AST_Node] the “container” expression", + property: "[AST_Node|string] the property to access. For AST_Dot this is always a plain string, while for AST_Sub it's an arbitrary AST_Node" + } +}); + +var AST_Dot = DEFNODE("Dot", null, { + $documentation: "A dotted property access expression", + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + }); + } +}, AST_PropAccess); + +var AST_Sub = DEFNODE("Sub", null, { + $documentation: "Index-style property access, i.e. `a[\"foo\"]`", + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + this.property._walk(visitor); + }); + } +}, AST_PropAccess); + +var AST_Unary = DEFNODE("Unary", "operator expression", { + $documentation: "Base class for unary expressions", + $propdoc: { + operator: "[string] the operator", + expression: "[AST_Node] expression that this unary operator applies to" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.expression._walk(visitor); + }); + } +}); + +var AST_UnaryPrefix = DEFNODE("UnaryPrefix", null, { + $documentation: "Unary prefix expression, i.e. `typeof i` or `++i`" +}, AST_Unary); + +var AST_UnaryPostfix = DEFNODE("UnaryPostfix", null, { + $documentation: "Unary postfix expression, i.e. `i++`" +}, AST_Unary); + +var AST_Binary = DEFNODE("Binary", "left operator right", { + $documentation: "Binary expression, i.e. `a + b`", + $propdoc: { + left: "[AST_Node] left-hand side expression", + operator: "[string] the operator", + right: "[AST_Node] right-hand side expression" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.left._walk(visitor); + this.right._walk(visitor); + }); + } +}); + +var AST_Conditional = DEFNODE("Conditional", "condition consequent alternative", { + $documentation: "Conditional expression using the ternary operator, i.e. `a ? b : c`", + $propdoc: { + condition: "[AST_Node]", + consequent: "[AST_Node]", + alternative: "[AST_Node]" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.condition._walk(visitor); + this.consequent._walk(visitor); + this.alternative._walk(visitor); + }); + } +}); + +var AST_Assign = DEFNODE("Assign", null, { + $documentation: "An assignment expression — `a = b + 5`", +}, AST_Binary); + +/* -----[ LITERALS ]----- */ + +var AST_Array = DEFNODE("Array", "elements", { + $documentation: "An array literal", + $propdoc: { + elements: "[AST_Node*] array of elements" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.elements.forEach(function(el){ + el._walk(visitor); + }); + }); + } +}); + +var AST_Object = DEFNODE("Object", "properties", { + $documentation: "An object literal", + $propdoc: { + properties: "[AST_ObjectProperty*] array of properties" + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.properties.forEach(function(prop){ + prop._walk(visitor); + }); + }); + } +}); + +var AST_ObjectProperty = DEFNODE("ObjectProperty", "key value", { + $documentation: "Base class for literal object properties", + $propdoc: { + key: "[string] the property name; it's always a plain string in our AST, no matter if it was a string, number or identifier in original code", + value: "[AST_Node] property value. For setters and getters this is an AST_Function." + }, + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.value._walk(visitor); + }); + } +}); + +var AST_ObjectKeyVal = DEFNODE("ObjectKeyVal", null, { + $documentation: "A key: value object property", +}, AST_ObjectProperty); + +var AST_ObjectSetter = DEFNODE("ObjectSetter", null, { + $documentation: "An object setter property", +}, AST_ObjectProperty); + +var AST_ObjectGetter = DEFNODE("ObjectGetter", null, { + $documentation: "An object getter property", +}, AST_ObjectProperty); + +var AST_Symbol = DEFNODE("Symbol", "scope name thedef", { + $propdoc: { + name: "[string] name of this symbol", + scope: "[AST_Scope/S] the current scope (not necessarily the definition scope)", + thedef: "[SymbolDef/S] the definition of this symbol" + }, + $documentation: "Base class for all symbols", +}); + +var AST_SymbolAccessor = DEFNODE("SymbolAccessor", null, { + $documentation: "The name of a property accessor (setter/getter function)" +}, AST_Symbol); + +var AST_SymbolDeclaration = DEFNODE("SymbolDeclaration", "init", { + $documentation: "A declaration symbol (symbol in var/const, function name or argument, symbol in catch)", + $propdoc: { + init: "[AST_Node*/S] array of initializers for this declaration." + } +}, AST_Symbol); + +var AST_SymbolVar = DEFNODE("SymbolVar", null, { + $documentation: "Symbol defining a variable", +}, AST_SymbolDeclaration); + +var AST_SymbolConst = DEFNODE("SymbolConst", null, { + $documentation: "A constant declaration" +}, AST_SymbolDeclaration); + +var AST_SymbolFunarg = DEFNODE("SymbolFunarg", null, { + $documentation: "Symbol naming a function argument", +}, AST_SymbolVar); + +var AST_SymbolDefun = DEFNODE("SymbolDefun", null, { + $documentation: "Symbol defining a function", +}, AST_SymbolDeclaration); + +var AST_SymbolLambda = DEFNODE("SymbolLambda", null, { + $documentation: "Symbol naming a function expression", +}, AST_SymbolDeclaration); + +var AST_SymbolCatch = DEFNODE("SymbolCatch", null, { + $documentation: "Symbol naming the exception in catch", +}, AST_SymbolDeclaration); + +var AST_Label = DEFNODE("Label", "references", { + $documentation: "Symbol naming a label (declaration)", + $propdoc: { + references: "[AST_LabelRef*] a list of nodes referring to this label" + } +}, AST_Symbol); + +var AST_SymbolRef = DEFNODE("SymbolRef", null, { + $documentation: "Reference to some symbol (not definition/declaration)", +}, AST_Symbol); + +var AST_LabelRef = DEFNODE("LabelRef", null, { + $documentation: "Reference to a label symbol", +}, AST_Symbol); + +var AST_This = DEFNODE("This", null, { + $documentation: "The `this` symbol", +}, AST_Symbol); + +var AST_Constant = DEFNODE("Constant", null, { + $documentation: "Base class for all constants", + getValue: function() { + return this.value; + } +}); + +var AST_String = DEFNODE("String", "value", { + $documentation: "A string literal", + $propdoc: { + value: "[string] the contents of this string" + } +}, AST_Constant); + +var AST_Number = DEFNODE("Number", "value", { + $documentation: "A number literal", + $propdoc: { + value: "[number] the numeric value" + } +}, AST_Constant); + +var AST_RegExp = DEFNODE("RegExp", "value", { + $documentation: "A regexp literal", + $propdoc: { + value: "[RegExp] the actual regexp" + } +}, AST_Constant); + +var AST_Atom = DEFNODE("Atom", null, { + $documentation: "Base class for atoms", +}, AST_Constant); + +var AST_Null = DEFNODE("Null", null, { + $documentation: "The `null` atom", + value: null +}, AST_Atom); + +var AST_NaN = DEFNODE("NaN", null, { + $documentation: "The impossible value", + value: 0/0 +}, AST_Atom); + +var AST_Undefined = DEFNODE("Undefined", null, { + $documentation: "The `undefined` value", + value: (function(){}()) +}, AST_Atom); + +var AST_Hole = DEFNODE("Hole", null, { + $documentation: "A hole in an array", + value: (function(){}()) +}, AST_Atom); + +var AST_Infinity = DEFNODE("Infinity", null, { + $documentation: "The `Infinity` value", + value: 1/0 +}, AST_Atom); + +var AST_Boolean = DEFNODE("Boolean", null, { + $documentation: "Base class for booleans", +}, AST_Atom); + +var AST_False = DEFNODE("False", null, { + $documentation: "The `false` atom", + value: false +}, AST_Boolean); + +var AST_True = DEFNODE("True", null, { + $documentation: "The `true` atom", + value: true +}, AST_Boolean); + +/* -----[ TreeWalker ]----- */ + +function TreeWalker(callback) { + this.visit = callback; + this.stack = []; +}; +TreeWalker.prototype = { + _visit: function(node, descend) { + this.stack.push(node); + var ret = this.visit(node, descend ? function(){ + descend.call(node); + } : noop); + if (!ret && descend) { + descend.call(node); + } + this.stack.pop(); + return ret; + }, + parent: function(n) { + return this.stack[this.stack.length - 2 - (n || 0)]; + }, + push: function (node) { + this.stack.push(node); + }, + pop: function() { + return this.stack.pop(); + }, + self: function() { + return this.stack[this.stack.length - 1]; + }, + find_parent: function(type) { + var stack = this.stack; + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof type) return x; + } + }, + in_boolean_context: function() { + var stack = this.stack; + var i = stack.length, self = stack[--i]; + while (i > 0) { + var p = stack[--i]; + if ((p instanceof AST_If && p.condition === self) || + (p instanceof AST_Conditional && p.condition === self) || + (p instanceof AST_DWLoop && p.condition === self) || + (p instanceof AST_For && p.condition === self) || + (p instanceof AST_UnaryPrefix && p.operator == "!" && p.expression === self)) + { + return true; + } + if (!(p instanceof AST_Binary && (p.operator == "&&" || p.operator == "||"))) + return false; + self = p; + } + }, + loopcontrol_target: function(label) { + var stack = this.stack; + if (label) { + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof AST_LabeledStatement && x.label.name == label.name) { + return x.body; + } + } + } else { + for (var i = stack.length; --i >= 0;) { + var x = stack[i]; + if (x instanceof AST_Switch + || x instanceof AST_For + || x instanceof AST_ForIn + || x instanceof AST_DWLoop) return x; + } + } + } +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/compress.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/compress.js new file mode 100644 index 0000000..ca23c40 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/compress.js @@ -0,0 +1,1968 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function Compressor(options, false_by_default) { + if (!(this instanceof Compressor)) + return new Compressor(options, false_by_default); + TreeTransformer.call(this, this.before, this.after); + this.options = defaults(options, { + sequences : !false_by_default, + properties : !false_by_default, + dead_code : !false_by_default, + drop_debugger : !false_by_default, + unsafe : !false_by_default, + unsafe_comps : false, + conditionals : !false_by_default, + comparisons : !false_by_default, + evaluate : !false_by_default, + booleans : !false_by_default, + loops : !false_by_default, + unused : !false_by_default, + hoist_funs : !false_by_default, + hoist_vars : false, + if_return : !false_by_default, + join_vars : !false_by_default, + cascade : !false_by_default, + side_effects : !false_by_default, + + warnings : true, + global_defs : {} + }, true); +}; + +Compressor.prototype = new TreeTransformer; +merge(Compressor.prototype, { + option: function(key) { return this.options[key] }, + warn: function() { + if (this.options.warnings) + AST_Node.warn.apply(AST_Node, arguments); + }, + before: function(node, descend, in_list) { + if (node._squeezed) return node; + if (node instanceof AST_Scope) { + node.drop_unused(this); + node = node.hoist_declarations(this); + } + descend(node, this); + node = node.optimize(this); + if (node instanceof AST_Scope) { + // dead code removal might leave further unused declarations. + // this'll usually save very few bytes, but the performance + // hit seems negligible so I'll just drop it here. + + // no point to repeat warnings. + var save_warnings = this.options.warnings; + this.options.warnings = false; + node.drop_unused(this); + this.options.warnings = save_warnings; + } + node._squeezed = true; + return node; + } +}); + +(function(){ + + function OPT(node, optimizer) { + node.DEFMETHOD("optimize", function(compressor){ + var self = this; + if (self._optimized) return self; + var opt = optimizer(self, compressor); + opt._optimized = true; + if (opt === self) return opt; + return opt.transform(compressor); + }); + }; + + OPT(AST_Node, function(self, compressor){ + return self; + }); + + AST_Node.DEFMETHOD("equivalent_to", function(node){ + // XXX: this is a rather expensive way to test two node's equivalence: + return this.print_to_string() == node.print_to_string(); + }); + + function make_node(ctor, orig, props) { + if (!props) props = {}; + if (orig) { + if (!props.start) props.start = orig.start; + if (!props.end) props.end = orig.end; + } + return new ctor(props); + }; + + function make_node_from_constant(compressor, val, orig) { + // XXX: WIP. + // if (val instanceof AST_Node) return val.transform(new TreeTransformer(null, function(node){ + // if (node instanceof AST_SymbolRef) { + // var scope = compressor.find_parent(AST_Scope); + // var def = scope.find_variable(node); + // node.thedef = def; + // return node; + // } + // })).transform(compressor); + + if (val instanceof AST_Node) return val.transform(compressor); + switch (typeof val) { + case "string": + return make_node(AST_String, orig, { + value: val + }).optimize(compressor); + case "number": + return make_node(isNaN(val) ? AST_NaN : AST_Number, orig, { + value: val + }).optimize(compressor); + case "boolean": + return make_node(val ? AST_True : AST_False, orig); + case "undefined": + return make_node(AST_Undefined, orig).optimize(compressor); + default: + if (val === null) { + return make_node(AST_Null, orig).optimize(compressor); + } + if (val instanceof RegExp) { + return make_node(AST_RegExp, orig).optimize(compressor); + } + throw new Error(string_template("Can't handle constant of type: {type}", { + type: typeof val + })); + } + }; + + function as_statement_array(thing) { + if (thing === null) return []; + if (thing instanceof AST_BlockStatement) return thing.body; + if (thing instanceof AST_EmptyStatement) return []; + if (thing instanceof AST_Statement) return [ thing ]; + throw new Error("Can't convert thing to statement array"); + }; + + function is_empty(thing) { + if (thing === null) return true; + if (thing instanceof AST_EmptyStatement) return true; + if (thing instanceof AST_BlockStatement) return thing.body.length == 0; + return false; + }; + + function loop_body(x) { + if (x instanceof AST_Switch) return x; + if (x instanceof AST_For || x instanceof AST_ForIn || x instanceof AST_DWLoop) { + return (x.body instanceof AST_BlockStatement ? x.body : x); + } + return x; + }; + + function tighten_body(statements, compressor) { + var CHANGED; + do { + CHANGED = false; + statements = eliminate_spurious_blocks(statements); + if (compressor.option("dead_code")) { + statements = eliminate_dead_code(statements, compressor); + } + if (compressor.option("if_return")) { + statements = handle_if_return(statements, compressor); + } + if (compressor.option("sequences")) { + statements = sequencesize(statements, compressor); + } + if (compressor.option("join_vars")) { + statements = join_consecutive_vars(statements, compressor); + } + } while (CHANGED); + return statements; + + function eliminate_spurious_blocks(statements) { + var seen_dirs = []; + return statements.reduce(function(a, stat){ + if (stat instanceof AST_BlockStatement) { + CHANGED = true; + a.push.apply(a, eliminate_spurious_blocks(stat.body)); + } else if (stat instanceof AST_EmptyStatement) { + CHANGED = true; + } else if (stat instanceof AST_Directive) { + if (seen_dirs.indexOf(stat.value) < 0) { + a.push(stat); + seen_dirs.push(stat.value); + } else { + CHANGED = true; + } + } else { + a.push(stat); + } + return a; + }, []); + }; + + function handle_if_return(statements, compressor) { + var self = compressor.self(); + var in_lambda = self instanceof AST_Lambda; + var ret = []; + loop: for (var i = statements.length; --i >= 0;) { + var stat = statements[i]; + switch (true) { + case (in_lambda && stat instanceof AST_Return && !stat.value && ret.length == 0): + CHANGED = true; + // note, ret.length is probably always zero + // because we drop unreachable code before this + // step. nevertheless, it's good to check. + continue loop; + case stat instanceof AST_If: + if (stat.body instanceof AST_Return) { + //--- + // pretty silly case, but: + // if (foo()) return; return; ==> foo(); return; + if (((in_lambda && ret.length == 0) + || (ret[0] instanceof AST_Return && !ret[0].value)) + && !stat.body.value && !stat.alternative) { + CHANGED = true; + var cond = make_node(AST_SimpleStatement, stat.condition, { + body: stat.condition + }); + ret.unshift(cond); + continue loop; + } + //--- + // if (foo()) return x; return y; ==> return foo() ? x : y; + if (ret[0] instanceof AST_Return && stat.body.value && ret[0].value && !stat.alternative) { + CHANGED = true; + stat = stat.clone(); + stat.alternative = ret[0]; + ret[0] = stat.transform(compressor); + continue loop; + } + //--- + // if (foo()) return x; [ return ; ] ==> return foo() ? x : undefined; + if ((ret.length == 0 || ret[0] instanceof AST_Return) && stat.body.value && !stat.alternative && in_lambda) { + CHANGED = true; + stat = stat.clone(); + stat.alternative = ret[0] || make_node(AST_Return, stat, { + value: make_node(AST_Undefined, stat) + }); + ret[0] = stat.transform(compressor); + continue loop; + } + //--- + // if (foo()) return; [ else x... ]; y... ==> if (!foo()) { x...; y... } + if (!stat.body.value && in_lambda) { + CHANGED = true; + stat = stat.clone(); + stat.condition = stat.condition.negate(compressor); + stat.body = make_node(AST_BlockStatement, stat, { + body: as_statement_array(stat.alternative).concat(ret) + }); + stat.alternative = null; + ret = [ stat.transform(compressor) ]; + continue loop; + } + //--- + if (ret.length == 1 && in_lambda && ret[0] instanceof AST_SimpleStatement + && (!stat.alternative || stat.alternative instanceof AST_SimpleStatement)) { + CHANGED = true; + ret.push(make_node(AST_Return, ret[0], { + value: make_node(AST_Undefined, ret[0]) + }).transform(compressor)); + ret = as_statement_array(stat.alternative).concat(ret); + ret.unshift(stat); + continue loop; + } + } + + var ab = aborts(stat.body); + var lct = ab instanceof AST_LoopControl ? compressor.loopcontrol_target(ab.label) : null; + if (ab && ((ab instanceof AST_Return && !ab.value && in_lambda) + || (ab instanceof AST_Continue && self === loop_body(lct)) + || (ab instanceof AST_Break && lct instanceof AST_BlockStatement && self === lct))) { + if (ab.label) { + remove(ab.label.thedef.references, ab.label); + } + CHANGED = true; + var body = as_statement_array(stat.body).slice(0, -1); + stat = stat.clone(); + stat.condition = stat.condition.negate(compressor); + stat.body = make_node(AST_BlockStatement, stat, { + body: ret + }); + stat.alternative = make_node(AST_BlockStatement, stat, { + body: body + }); + ret = [ stat.transform(compressor) ]; + continue loop; + } + + var ab = aborts(stat.alternative); + var lct = ab instanceof AST_LoopControl ? compressor.loopcontrol_target(ab.label) : null; + if (ab && ((ab instanceof AST_Return && !ab.value && in_lambda) + || (ab instanceof AST_Continue && self === loop_body(lct)) + || (ab instanceof AST_Break && lct instanceof AST_BlockStatement && self === lct))) { + if (ab.label) { + remove(ab.label.thedef.references, ab.label); + } + CHANGED = true; + stat = stat.clone(); + stat.body = make_node(AST_BlockStatement, stat.body, { + body: as_statement_array(stat.body).concat(ret) + }); + stat.alternative = make_node(AST_BlockStatement, stat.alternative, { + body: as_statement_array(stat.alternative).slice(0, -1) + }); + ret = [ stat.transform(compressor) ]; + continue loop; + } + + ret.unshift(stat); + break; + default: + ret.unshift(stat); + break; + } + } + return ret; + }; + + function eliminate_dead_code(statements, compressor) { + var has_quit = false; + var orig = statements.length; + var self = compressor.self(); + statements = statements.reduce(function(a, stat){ + if (has_quit) { + extract_declarations_from_unreachable_code(compressor, stat, a); + } else { + if (stat instanceof AST_LoopControl) { + var lct = compressor.loopcontrol_target(stat.label); + if ((stat instanceof AST_Break + && lct instanceof AST_BlockStatement + && loop_body(lct) === self) || (stat instanceof AST_Continue + && loop_body(lct) === self)) { + if (stat.label) { + remove(stat.label.thedef.references, stat.label); + } + } else { + a.push(stat); + } + } else { + a.push(stat); + } + if (aborts(stat)) has_quit = true; + } + return a; + }, []); + CHANGED = statements.length != orig; + return statements; + }; + + function sequencesize(statements, compressor) { + if (statements.length < 2) return statements; + var seq = [], ret = []; + function push_seq() { + seq = AST_Seq.from_array(seq); + if (seq) ret.push(make_node(AST_SimpleStatement, seq, { + body: seq + })); + seq = []; + }; + statements.forEach(function(stat){ + if (stat instanceof AST_SimpleStatement) seq.push(stat.body); + else push_seq(), ret.push(stat); + }); + push_seq(); + ret = sequencesize_2(ret, compressor); + CHANGED = ret.length != statements.length; + return ret; + }; + + function sequencesize_2(statements, compressor) { + function cons_seq(right) { + ret.pop(); + var left = prev.body; + if (left instanceof AST_Seq) { + left.add(right); + } else { + left = AST_Seq.cons(left, right); + } + return left.transform(compressor); + }; + var ret = [], prev = null; + statements.forEach(function(stat){ + if (prev) { + if (stat instanceof AST_For) { + var opera = {}; + try { + prev.body.walk(new TreeWalker(function(node){ + if (node instanceof AST_Binary && node.operator == "in") + throw opera; + })); + if (stat.init && !(stat.init instanceof AST_Definitions)) { + stat.init = cons_seq(stat.init); + } + else if (!stat.init) { + stat.init = prev.body; + ret.pop(); + } + } catch(ex) { + if (ex !== opera) throw ex; + } + } + else if (stat instanceof AST_If) { + stat.condition = cons_seq(stat.condition); + } + else if (stat instanceof AST_With) { + stat.expression = cons_seq(stat.expression); + } + else if (stat instanceof AST_Exit && stat.value) { + stat.value = cons_seq(stat.value); + } + else if (stat instanceof AST_Exit) { + stat.value = cons_seq(make_node(AST_Undefined, stat)); + } + else if (stat instanceof AST_Switch) { + stat.expression = cons_seq(stat.expression); + } + } + ret.push(stat); + prev = stat instanceof AST_SimpleStatement ? stat : null; + }); + return ret; + }; + + function join_consecutive_vars(statements, compressor) { + var prev = null; + return statements.reduce(function(a, stat){ + if (stat instanceof AST_Definitions && prev && prev.TYPE == stat.TYPE) { + prev.definitions = prev.definitions.concat(stat.definitions); + CHANGED = true; + } + else if (stat instanceof AST_For + && prev instanceof AST_Definitions + && (!stat.init || stat.init.TYPE == prev.TYPE)) { + CHANGED = true; + a.pop(); + if (stat.init) { + stat.init.definitions = prev.definitions.concat(stat.init.definitions); + } else { + stat.init = prev; + } + a.push(stat); + prev = stat; + } + else { + prev = stat; + a.push(stat); + } + return a; + }, []); + }; + + }; + + function extract_declarations_from_unreachable_code(compressor, stat, target) { + compressor.warn("Dropping unreachable code [{file}:{line},{col}]", stat.start); + stat.walk(new TreeWalker(function(node){ + if (node instanceof AST_Definitions) { + compressor.warn("Declarations in unreachable code! [{file}:{line},{col}]", node.start); + node.remove_initializers(); + target.push(node); + return true; + } + if (node instanceof AST_Defun) { + target.push(node); + return true; + } + if (node instanceof AST_Scope) { + return true; + } + })); + }; + + /* -----[ boolean/negation helpers ]----- */ + + // methods to determine whether an expression has a boolean result type + (function (def){ + var unary_bool = [ "!", "delete" ]; + var binary_bool = [ "in", "instanceof", "==", "!=", "===", "!==", "<", "<=", ">=", ">" ]; + def(AST_Node, function(){ return false }); + def(AST_UnaryPrefix, function(){ + return member(this.operator, unary_bool); + }); + def(AST_Binary, function(){ + return member(this.operator, binary_bool) || + ( (this.operator == "&&" || this.operator == "||") && + this.left.is_boolean() && this.right.is_boolean() ); + }); + def(AST_Conditional, function(){ + return this.consequent.is_boolean() && this.alternative.is_boolean(); + }); + def(AST_Assign, function(){ + return this.operator == "=" && this.right.is_boolean(); + }); + def(AST_Seq, function(){ + return this.cdr.is_boolean(); + }); + def(AST_True, function(){ return true }); + def(AST_False, function(){ return true }); + })(function(node, func){ + node.DEFMETHOD("is_boolean", func); + }); + + // methods to determine if an expression has a string result type + (function (def){ + def(AST_Node, function(){ return false }); + def(AST_String, function(){ return true }); + def(AST_UnaryPrefix, function(){ + return this.operator == "typeof"; + }); + def(AST_Binary, function(compressor){ + return this.operator == "+" && + (this.left.is_string(compressor) || this.right.is_string(compressor)); + }); + def(AST_Assign, function(compressor){ + return (this.operator == "=" || this.operator == "+=") && this.right.is_string(compressor); + }); + def(AST_Seq, function(compressor){ + return this.cdr.is_string(compressor); + }); + def(AST_Conditional, function(compressor){ + return this.consequent.is_string(compressor) && this.alternative.is_string(compressor); + }); + def(AST_Call, function(compressor){ + return compressor.option("unsafe") + && this.expression instanceof AST_SymbolRef + && this.expression.name == "String" + && this.expression.undeclared(); + }); + })(function(node, func){ + node.DEFMETHOD("is_string", func); + }); + + function best_of(ast1, ast2) { + return ast1.print_to_string().length > + ast2.print_to_string().length + ? ast2 : ast1; + }; + + // methods to evaluate a constant expression + (function (def){ + // The evaluate method returns an array with one or two + // elements. If the node has been successfully reduced to a + // constant, then the second element tells us the value; + // otherwise the second element is missing. The first element + // of the array is always an AST_Node descendant; when + // evaluation was successful it's a node that represents the + // constant; otherwise it's the original node. + AST_Node.DEFMETHOD("evaluate", function(compressor){ + if (!compressor.option("evaluate")) return [ this ]; + try { + var val = this._eval(), ast = make_node_from_constant(compressor, val, this); + return [ best_of(ast, this), val ]; + } catch(ex) { + if (ex !== def) throw ex; + return [ this ]; + } + }); + def(AST_Statement, function(){ + throw new Error(string_template("Cannot evaluate a statement [{file}:{line},{col}]", this.start)); + }); + def(AST_Function, function(){ + // XXX: AST_Function inherits from AST_Scope, which itself + // inherits from AST_Statement; however, an AST_Function + // isn't really a statement. This could byte in other + // places too. :-( Wish JS had multiple inheritance. + return [ this ]; + }); + function ev(node) { + return node._eval(); + }; + def(AST_Node, function(){ + throw def; // not constant + }); + def(AST_Constant, function(){ + return this.getValue(); + }); + def(AST_UnaryPrefix, function(){ + var e = this.expression; + switch (this.operator) { + case "!": return !ev(e); + case "typeof": return typeof ev(e); + case "void": return void ev(e); + case "~": return ~ev(e); + case "-": + e = ev(e); + if (e === 0) throw def; + return -e; + case "+": return +ev(e); + } + throw def; + }); + def(AST_Binary, function(){ + var left = this.left, right = this.right; + switch (this.operator) { + case "&&" : return ev(left) && ev(right); + case "||" : return ev(left) || ev(right); + case "|" : return ev(left) | ev(right); + case "&" : return ev(left) & ev(right); + case "^" : return ev(left) ^ ev(right); + case "+" : return ev(left) + ev(right); + case "*" : return ev(left) * ev(right); + case "/" : return ev(left) / ev(right); + case "%" : return ev(left) % ev(right); + case "-" : return ev(left) - ev(right); + case "<<" : return ev(left) << ev(right); + case ">>" : return ev(left) >> ev(right); + case ">>>" : return ev(left) >>> ev(right); + case "==" : return ev(left) == ev(right); + case "===" : return ev(left) === ev(right); + case "!=" : return ev(left) != ev(right); + case "!==" : return ev(left) !== ev(right); + case "<" : return ev(left) < ev(right); + case "<=" : return ev(left) <= ev(right); + case ">" : return ev(left) > ev(right); + case ">=" : return ev(left) >= ev(right); + case "in" : return ev(left) in ev(right); + case "instanceof" : return ev(left) instanceof ev(right); + } + throw def; + }); + def(AST_Conditional, function(){ + return ev(this.condition) + ? ev(this.consequent) + : ev(this.alternative); + }); + def(AST_SymbolRef, function(){ + var d = this.definition(); + if (d && d.constant && d.init) return ev(d.init); + throw def; + }); + })(function(node, func){ + node.DEFMETHOD("_eval", func); + }); + + // method to negate an expression + (function(def){ + function basic_negation(exp) { + return make_node(AST_UnaryPrefix, exp, { + operator: "!", + expression: exp + }); + }; + def(AST_Node, function(){ + return basic_negation(this); + }); + def(AST_Statement, function(){ + throw new Error("Cannot negate a statement"); + }); + def(AST_Function, function(){ + return basic_negation(this); + }); + def(AST_UnaryPrefix, function(){ + if (this.operator == "!") + return this.expression; + return basic_negation(this); + }); + def(AST_Seq, function(compressor){ + var self = this.clone(); + self.cdr = self.cdr.negate(compressor); + return self; + }); + def(AST_Conditional, function(compressor){ + var self = this.clone(); + self.consequent = self.consequent.negate(compressor); + self.alternative = self.alternative.negate(compressor); + return best_of(basic_negation(this), self); + }); + def(AST_Binary, function(compressor){ + var self = this.clone(), op = this.operator; + if (compressor.option("unsafe_comps")) { + switch (op) { + case "<=" : self.operator = ">" ; return self; + case "<" : self.operator = ">=" ; return self; + case ">=" : self.operator = "<" ; return self; + case ">" : self.operator = "<=" ; return self; + } + } + switch (op) { + case "==" : self.operator = "!="; return self; + case "!=" : self.operator = "=="; return self; + case "===": self.operator = "!=="; return self; + case "!==": self.operator = "==="; return self; + case "&&": + self.operator = "||"; + self.left = self.left.negate(compressor); + self.right = self.right.negate(compressor); + return best_of(basic_negation(this), self); + case "||": + self.operator = "&&"; + self.left = self.left.negate(compressor); + self.right = self.right.negate(compressor); + return best_of(basic_negation(this), self); + } + return basic_negation(this); + }); + })(function(node, func){ + node.DEFMETHOD("negate", function(compressor){ + return func.call(this, compressor); + }); + }); + + // determine if expression has side effects + (function(def){ + def(AST_Node, function(){ return true }); + + def(AST_EmptyStatement, function(){ return false }); + def(AST_Constant, function(){ return false }); + def(AST_This, function(){ return false }); + + def(AST_Block, function(){ + for (var i = this.body.length; --i >= 0;) { + if (this.body[i].has_side_effects()) + return true; + } + return false; + }); + + def(AST_SimpleStatement, function(){ + return this.body.has_side_effects(); + }); + def(AST_Defun, function(){ return true }); + def(AST_Function, function(){ return false }); + def(AST_Binary, function(){ + return this.left.has_side_effects() + || this.right.has_side_effects(); + }); + def(AST_Assign, function(){ return true }); + def(AST_Conditional, function(){ + return this.condition.has_side_effects() + || this.consequent.has_side_effects() + || this.alternative.has_side_effects(); + }); + def(AST_Unary, function(){ + return this.operator == "delete" + || this.operator == "++" + || this.operator == "--" + || this.expression.has_side_effects(); + }); + def(AST_SymbolRef, function(){ return false }); + def(AST_Object, function(){ + for (var i = this.properties.length; --i >= 0;) + if (this.properties[i].has_side_effects()) + return true; + return false; + }); + def(AST_ObjectProperty, function(){ + return this.value.has_side_effects(); + }); + def(AST_Array, function(){ + for (var i = this.elements.length; --i >= 0;) + if (this.elements[i].has_side_effects()) + return true; + return false; + }); + // def(AST_Dot, function(){ + // return this.expression.has_side_effects(); + // }); + // def(AST_Sub, function(){ + // return this.expression.has_side_effects() + // || this.property.has_side_effects(); + // }); + def(AST_PropAccess, function(){ + return true; + }); + def(AST_Seq, function(){ + return this.car.has_side_effects() + || this.cdr.has_side_effects(); + }); + })(function(node, func){ + node.DEFMETHOD("has_side_effects", func); + }); + + // tell me if a statement aborts + function aborts(thing) { + return thing && thing.aborts(); + }; + (function(def){ + def(AST_Statement, function(){ return null }); + def(AST_Jump, function(){ return this }); + function block_aborts(){ + var n = this.body.length; + return n > 0 && aborts(this.body[n - 1]); + }; + def(AST_BlockStatement, block_aborts); + def(AST_SwitchBranch, block_aborts); + def(AST_If, function(){ + return this.alternative && aborts(this.body) && aborts(this.alternative); + }); + })(function(node, func){ + node.DEFMETHOD("aborts", func); + }); + + /* -----[ optimizers ]----- */ + + OPT(AST_Directive, function(self, compressor){ + if (self.scope.has_directive(self.value) !== self.scope) { + return make_node(AST_EmptyStatement, self); + } + return self; + }); + + OPT(AST_Debugger, function(self, compressor){ + if (compressor.option("drop_debugger")) + return make_node(AST_EmptyStatement, self); + return self; + }); + + OPT(AST_LabeledStatement, function(self, compressor){ + if (self.body instanceof AST_Break + && compressor.loopcontrol_target(self.body.label) === self.body) { + return make_node(AST_EmptyStatement, self); + } + return self.label.references.length == 0 ? self.body : self; + }); + + OPT(AST_Block, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + OPT(AST_BlockStatement, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + switch (self.body.length) { + case 1: return self.body[0]; + case 0: return make_node(AST_EmptyStatement, self); + } + return self; + }); + + AST_Scope.DEFMETHOD("drop_unused", function(compressor){ + var self = this; + if (compressor.option("unused") + && !(self instanceof AST_Toplevel) + && !self.uses_eval + ) { + var in_use = []; + var initializations = new Dictionary(); + // pass 1: find out which symbols are directly used in + // this scope (not in nested scopes). + var scope = this; + var tw = new TreeWalker(function(node, descend){ + if (node !== self) { + if (node instanceof AST_Defun) { + initializations.add(node.name.name, node); + return true; // don't go in nested scopes + } + if (node instanceof AST_Definitions && scope === self) { + node.definitions.forEach(function(def){ + if (def.value) { + initializations.add(def.name.name, def.value); + if (def.value.has_side_effects()) { + def.value.walk(tw); + } + } + }); + return true; + } + if (node instanceof AST_SymbolRef) { + push_uniq(in_use, node.definition()); + return true; + } + if (node instanceof AST_Scope) { + var save_scope = scope; + scope = node; + descend(); + scope = save_scope; + return true; + } + } + }); + self.walk(tw); + // pass 2: for every used symbol we need to walk its + // initialization code to figure out if it uses other + // symbols (that may not be in_use). + for (var i = 0; i < in_use.length; ++i) { + in_use[i].orig.forEach(function(decl){ + // undeclared globals will be instanceof AST_SymbolRef + var init = initializations.get(decl.name); + if (init) init.forEach(function(init){ + var tw = new TreeWalker(function(node){ + if (node instanceof AST_SymbolRef) { + push_uniq(in_use, node.definition()); + } + }); + init.walk(tw); + }); + }); + } + // pass 3: we should drop declarations not in_use + var tt = new TreeTransformer( + function before(node, descend, in_list) { + if (node instanceof AST_Lambda) { + for (var a = node.argnames, i = a.length; --i >= 0;) { + var sym = a[i]; + if (sym.unreferenced()) { + a.pop(); + compressor.warn("Dropping unused function argument {name} [{file}:{line},{col}]", { + name : sym.name, + file : sym.start.file, + line : sym.start.line, + col : sym.start.col + }); + } + else break; + } + } + if (node instanceof AST_Defun && node !== self) { + if (!member(node.name.definition(), in_use)) { + compressor.warn("Dropping unused function {name} [{file}:{line},{col}]", { + name : node.name.name, + file : node.name.start.file, + line : node.name.start.line, + col : node.name.start.col + }); + return make_node(AST_EmptyStatement, node); + } + return node; + } + if (node instanceof AST_Definitions && !(tt.parent() instanceof AST_ForIn)) { + var def = node.definitions.filter(function(def){ + if (member(def.name.definition(), in_use)) return true; + var w = { + name : def.name.name, + file : def.name.start.file, + line : def.name.start.line, + col : def.name.start.col + }; + if (def.value && def.value.has_side_effects()) { + def._unused_side_effects = true; + compressor.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]", w); + return true; + } + compressor.warn("Dropping unused variable {name} [{file}:{line},{col}]", w); + return false; + }); + // place uninitialized names at the start + def = mergeSort(def, function(a, b){ + if (!a.value && b.value) return -1; + if (!b.value && a.value) return 1; + return 0; + }); + // for unused names whose initialization has + // side effects, we can cascade the init. code + // into the next one, or next statement. + var side_effects = []; + for (var i = 0; i < def.length;) { + var x = def[i]; + if (x._unused_side_effects) { + side_effects.push(x.value); + def.splice(i, 1); + } else { + if (side_effects.length > 0) { + side_effects.push(x.value); + x.value = AST_Seq.from_array(side_effects); + side_effects = []; + } + ++i; + } + } + if (side_effects.length > 0) { + side_effects = make_node(AST_BlockStatement, node, { + body: [ make_node(AST_SimpleStatement, node, { + body: AST_Seq.from_array(side_effects) + }) ] + }); + } else { + side_effects = null; + } + if (def.length == 0 && !side_effects) { + return make_node(AST_EmptyStatement, node); + } + if (def.length == 0) { + return side_effects; + } + node.definitions = def; + if (side_effects) { + side_effects.body.unshift(node); + node = side_effects; + } + return node; + } + if (node instanceof AST_For && node.init instanceof AST_BlockStatement) { + descend(node, this); + // certain combination of unused name + side effect leads to: + // https://github.com/mishoo/UglifyJS2/issues/44 + // that's an invalid AST. + // We fix it at this stage by moving the `var` outside the `for`. + var body = node.init.body.slice(0, -1); + node.init = node.init.body.slice(-1)[0].body; + body.push(node); + return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, { + body: body + }); + } + if (node instanceof AST_Scope && node !== self) + return node; + } + ); + self.transform(tt); + } + }); + + AST_Scope.DEFMETHOD("hoist_declarations", function(compressor){ + var hoist_funs = compressor.option("hoist_funs"); + var hoist_vars = compressor.option("hoist_vars"); + var self = this; + if (hoist_funs || hoist_vars) { + var dirs = []; + var hoisted = []; + var vars = new Dictionary(), vars_found = 0, var_decl = 0; + // let's count var_decl first, we seem to waste a lot of + // space if we hoist `var` when there's only one. + self.walk(new TreeWalker(function(node){ + if (node instanceof AST_Scope && node !== self) + return true; + if (node instanceof AST_Var) { + ++var_decl; + return true; + } + })); + hoist_vars = hoist_vars && var_decl > 1; + var tt = new TreeTransformer( + function before(node) { + if (node !== self) { + if (node instanceof AST_Directive) { + dirs.push(node); + return make_node(AST_EmptyStatement, node); + } + if (node instanceof AST_Defun && hoist_funs) { + hoisted.push(node); + return make_node(AST_EmptyStatement, node); + } + if (node instanceof AST_Var && hoist_vars) { + node.definitions.forEach(function(def){ + vars.set(def.name.name, def); + ++vars_found; + }); + var seq = node.to_assignments(); + var p = tt.parent(); + if (p instanceof AST_ForIn && p.init === node) { + if (seq == null) return node.definitions[0].name; + return seq; + } + if (p instanceof AST_For && p.init === node) { + return seq; + } + if (!seq) return make_node(AST_EmptyStatement, node); + return make_node(AST_SimpleStatement, node, { + body: seq + }); + } + if (node instanceof AST_Scope) + return node; // to avoid descending in nested scopes + } + } + ); + self = self.transform(tt); + if (vars_found > 0) { + // collect only vars which don't show up in self's arguments list + var defs = []; + vars.each(function(def, name){ + if (self instanceof AST_Lambda + && find_if(function(x){ return x.name == def.name.name }, + self.argnames)) { + vars.del(name); + } else { + def = def.clone(); + def.value = null; + defs.push(def); + vars.set(name, def); + } + }); + if (defs.length > 0) { + // try to merge in assignments + for (var i = 0; i < self.body.length;) { + if (self.body[i] instanceof AST_SimpleStatement) { + var expr = self.body[i].body, sym, assign; + if (expr instanceof AST_Assign + && expr.operator == "=" + && (sym = expr.left) instanceof AST_Symbol + && vars.has(sym.name)) + { + var def = vars.get(sym.name); + if (def.value) break; + def.value = expr.right; + remove(defs, def); + defs.push(def); + self.body.splice(i, 1); + continue; + } + if (expr instanceof AST_Seq + && (assign = expr.car) instanceof AST_Assign + && assign.operator == "=" + && (sym = assign.left) instanceof AST_Symbol + && vars.has(sym.name)) + { + var def = vars.get(sym.name); + if (def.value) break; + def.value = assign.right; + remove(defs, def); + defs.push(def); + self.body[i].body = expr.cdr; + continue; + } + } + if (self.body[i] instanceof AST_EmptyStatement) { + self.body.splice(i, 1); + continue; + } + if (self.body[i] instanceof AST_BlockStatement) { + var tmp = [ i, 1 ].concat(self.body[i].body); + self.body.splice.apply(self.body, tmp); + continue; + } + break; + } + defs = make_node(AST_Var, self, { + definitions: defs + }); + hoisted.push(defs); + }; + } + self.body = dirs.concat(hoisted, self.body); + } + return self; + }); + + OPT(AST_SimpleStatement, function(self, compressor){ + if (compressor.option("side_effects")) { + if (!self.body.has_side_effects()) { + compressor.warn("Dropping side-effect-free statement [{file}:{line},{col}]", self.start); + return make_node(AST_EmptyStatement, self); + } + } + return self; + }); + + OPT(AST_DWLoop, function(self, compressor){ + var cond = self.condition.evaluate(compressor); + self.condition = cond[0]; + if (!compressor.option("loops")) return self; + if (cond.length > 1) { + if (cond[1]) { + return make_node(AST_For, self, { + body: self.body + }); + } else if (self instanceof AST_While) { + if (compressor.option("dead_code")) { + var a = []; + extract_declarations_from_unreachable_code(compressor, self.body, a); + return make_node(AST_BlockStatement, self, { body: a }); + } + } else { + return self.body; + } + } + return self; + }); + + function if_break_in_loop(self, compressor) { + function drop_it(rest) { + rest = as_statement_array(rest); + if (self.body instanceof AST_BlockStatement) { + self.body = self.body.clone(); + self.body.body = rest.concat(self.body.body.slice(1)); + self.body = self.body.transform(compressor); + } else { + self.body = make_node(AST_BlockStatement, self.body, { + body: rest + }).transform(compressor); + } + if_break_in_loop(self, compressor); + } + var first = self.body instanceof AST_BlockStatement ? self.body.body[0] : self.body; + if (first instanceof AST_If) { + if (first.body instanceof AST_Break + && compressor.loopcontrol_target(first.body.label) === self) { + if (self.condition) { + self.condition = make_node(AST_Binary, self.condition, { + left: self.condition, + operator: "&&", + right: first.condition.negate(compressor), + }); + } else { + self.condition = first.condition.negate(compressor); + } + drop_it(first.alternative); + } + else if (first.alternative instanceof AST_Break + && compressor.loopcontrol_target(first.alternative.label) === self) { + if (self.condition) { + self.condition = make_node(AST_Binary, self.condition, { + left: self.condition, + operator: "&&", + right: first.condition, + }); + } else { + self.condition = first.condition; + } + drop_it(first.body); + } + } + }; + + OPT(AST_While, function(self, compressor) { + if (!compressor.option("loops")) return self; + self = AST_DWLoop.prototype.optimize.call(self, compressor); + if (self instanceof AST_While) { + if_break_in_loop(self, compressor); + self = make_node(AST_For, self, self).transform(compressor); + } + return self; + }); + + OPT(AST_For, function(self, compressor){ + var cond = self.condition; + if (cond) { + cond = cond.evaluate(compressor); + self.condition = cond[0]; + } + if (!compressor.option("loops")) return self; + if (cond) { + if (cond.length > 1 && !cond[1]) { + if (compressor.option("dead_code")) { + var a = []; + if (self.init instanceof AST_Statement) { + a.push(self.init); + } + else if (self.init) { + a.push(make_node(AST_SimpleStatement, self.init, { + body: self.init + })); + } + extract_declarations_from_unreachable_code(compressor, self.body, a); + return make_node(AST_BlockStatement, self, { body: a }); + } + } + } + if_break_in_loop(self, compressor); + return self; + }); + + OPT(AST_If, function(self, compressor){ + if (!compressor.option("conditionals")) return self; + // if condition can be statically determined, warn and drop + // one of the blocks. note, statically determined implies + // “has no side effects”; also it doesn't work for cases like + // `x && true`, though it probably should. + var cond = self.condition.evaluate(compressor); + self.condition = cond[0]; + if (cond.length > 1) { + if (cond[1]) { + compressor.warn("Condition always true [{file}:{line},{col}]", self.condition.start); + if (compressor.option("dead_code")) { + var a = []; + if (self.alternative) { + extract_declarations_from_unreachable_code(compressor, self.alternative, a); + } + a.push(self.body); + return make_node(AST_BlockStatement, self, { body: a }).transform(compressor); + } + } else { + compressor.warn("Condition always false [{file}:{line},{col}]", self.condition.start); + if (compressor.option("dead_code")) { + var a = []; + extract_declarations_from_unreachable_code(compressor, self.body, a); + if (self.alternative) a.push(self.alternative); + return make_node(AST_BlockStatement, self, { body: a }).transform(compressor); + } + } + } + if (is_empty(self.alternative)) self.alternative = null; + var negated = self.condition.negate(compressor); + var negated_is_best = best_of(self.condition, negated) === negated; + if (self.alternative && negated_is_best) { + negated_is_best = false; // because we already do the switch here. + self.condition = negated; + var tmp = self.body; + self.body = self.alternative || make_node(AST_EmptyStatement); + self.alternative = tmp; + } + if (is_empty(self.body) && is_empty(self.alternative)) { + return make_node(AST_SimpleStatement, self.condition, { + body: self.condition + }).transform(compressor); + } + if (self.body instanceof AST_SimpleStatement + && self.alternative instanceof AST_SimpleStatement) { + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Conditional, self, { + condition : self.condition, + consequent : self.body.body, + alternative : self.alternative.body + }) + }).transform(compressor); + } + if (is_empty(self.alternative) && self.body instanceof AST_SimpleStatement) { + if (negated_is_best) return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "||", + left : negated, + right : self.body.body + }) + }).transform(compressor); + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "&&", + left : self.condition, + right : self.body.body + }) + }).transform(compressor); + } + if (self.body instanceof AST_EmptyStatement + && self.alternative + && self.alternative instanceof AST_SimpleStatement) { + return make_node(AST_SimpleStatement, self, { + body: make_node(AST_Binary, self, { + operator : "||", + left : self.condition, + right : self.alternative.body + }) + }).transform(compressor); + } + if (self.body instanceof AST_Exit + && self.alternative instanceof AST_Exit + && self.body.TYPE == self.alternative.TYPE) { + return make_node(self.body.CTOR, self, { + value: make_node(AST_Conditional, self, { + condition : self.condition, + consequent : self.body.value || make_node(AST_Undefined, self.body).optimize(compressor), + alternative : self.alternative.value || make_node(AST_Undefined, self.alternative).optimize(compressor) + }) + }).transform(compressor); + } + if (self.body instanceof AST_If + && !self.body.alternative + && !self.alternative) { + self.condition = make_node(AST_Binary, self.condition, { + operator: "&&", + left: self.condition, + right: self.body.condition + }).transform(compressor); + self.body = self.body.body; + } + if (aborts(self.body)) { + if (self.alternative) { + var alt = self.alternative; + self.alternative = null; + return make_node(AST_BlockStatement, self, { + body: [ self, alt ] + }).transform(compressor); + } + } + if (aborts(self.alternative)) { + var body = self.body; + self.body = self.alternative; + self.condition = negated_is_best ? negated : self.condition.negate(compressor); + self.alternative = null; + return make_node(AST_BlockStatement, self, { + body: [ self, body ] + }).transform(compressor); + } + return self; + }); + + OPT(AST_Switch, function(self, compressor){ + if (self.body.length == 0 && compressor.option("conditionals")) { + return make_node(AST_SimpleStatement, self, { + body: self.expression + }).transform(compressor); + } + var last_branch = self.body[self.body.length - 1]; + if (last_branch) { + var stat = last_branch.body[last_branch.body.length - 1]; // last statement + if (stat instanceof AST_Break && loop_body(compressor.loopcontrol_target(stat.label)) === self) + last_branch.body.pop(); + } + var exp = self.expression.evaluate(compressor); + out: if (exp.length == 2) try { + // constant expression + self.expression = exp[0]; + if (!compressor.option("dead_code")) break out; + var value = exp[1]; + var in_if = false; + var in_block = false; + var started = false; + var stopped = false; + var ruined = false; + var tt = new TreeTransformer(function(node, descend, in_list){ + if (node instanceof AST_Lambda || node instanceof AST_SimpleStatement) { + // no need to descend these node types + return node; + } + else if (node instanceof AST_Switch && node === self) { + node = node.clone(); + descend(node, this); + return ruined ? node : make_node(AST_BlockStatement, node, { + body: node.body.reduce(function(a, branch){ + return a.concat(branch.body); + }, []) + }).transform(compressor); + } + else if (node instanceof AST_If || node instanceof AST_Try) { + var save = in_if; + in_if = !in_block; + descend(node, this); + in_if = save; + return node; + } + else if (node instanceof AST_StatementWithBody || node instanceof AST_Switch) { + var save = in_block; + in_block = true; + descend(node, this); + in_block = save; + return node; + } + else if (node instanceof AST_Break && this.loopcontrol_target(node.label) === self) { + if (in_if) { + ruined = true; + return node; + } + if (in_block) return node; + stopped = true; + return in_list ? MAP.skip : make_node(AST_EmptyStatement, node); + } + else if (node instanceof AST_SwitchBranch && this.parent() === self) { + if (stopped) return MAP.skip; + if (node instanceof AST_Case) { + var exp = node.expression.evaluate(compressor); + if (exp.length < 2) { + // got a case with non-constant expression, baling out + throw self; + } + if (exp[1] === value || started) { + started = true; + if (aborts(node)) stopped = true; + descend(node, this); + return node; + } + return MAP.skip; + } + descend(node, this); + return node; + } + }); + tt.stack = compressor.stack.slice(); // so that's able to see parent nodes + self = self.transform(tt); + } catch(ex) { + if (ex !== self) throw ex; + } + return self; + }); + + OPT(AST_Case, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + OPT(AST_Try, function(self, compressor){ + self.body = tighten_body(self.body, compressor); + return self; + }); + + AST_Definitions.DEFMETHOD("remove_initializers", function(){ + this.definitions.forEach(function(def){ def.value = null }); + }); + + AST_Definitions.DEFMETHOD("to_assignments", function(){ + var assignments = this.definitions.reduce(function(a, def){ + if (def.value) { + var name = make_node(AST_SymbolRef, def.name, def.name); + a.push(make_node(AST_Assign, def, { + operator : "=", + left : name, + right : def.value + })); + } + return a; + }, []); + if (assignments.length == 0) return null; + return AST_Seq.from_array(assignments); + }); + + OPT(AST_Definitions, function(self, compressor){ + if (self.definitions.length == 0) + return make_node(AST_EmptyStatement, self); + return self; + }); + + OPT(AST_Function, function(self, compressor){ + self = AST_Lambda.prototype.optimize.call(self, compressor); + if (compressor.option("unused")) { + if (self.name && self.name.unreferenced()) { + self.name = null; + } + } + return self; + }); + + OPT(AST_Call, function(self, compressor){ + if (compressor.option("unsafe")) { + var exp = self.expression; + if (exp instanceof AST_SymbolRef && exp.undeclared()) { + switch (exp.name) { + case "Array": + if (self.args.length != 1) { + return make_node(AST_Array, self, { + elements: self.args + }); + } + break; + case "Object": + if (self.args.length == 0) { + return make_node(AST_Object, self, { + properties: [] + }); + } + break; + case "String": + if (self.args.length == 0) return make_node(AST_String, self, { + value: "" + }); + return make_node(AST_Binary, self, { + left: self.args[0], + operator: "+", + right: make_node(AST_String, self, { value: "" }) + }); + } + } + else if (exp instanceof AST_Dot && exp.property == "toString" && self.args.length == 0) { + return make_node(AST_Binary, self, { + left: make_node(AST_String, self, { value: "" }), + operator: "+", + right: exp.expression + }).transform(compressor); + } + } + if (compressor.option("side_effects")) { + if (self.expression instanceof AST_Function + && self.args.length == 0 + && !AST_Block.prototype.has_side_effects.call(self.expression)) { + return make_node(AST_Undefined, self).transform(compressor); + } + } + return self; + }); + + OPT(AST_New, function(self, compressor){ + if (compressor.option("unsafe")) { + var exp = self.expression; + if (exp instanceof AST_SymbolRef && exp.undeclared()) { + switch (exp.name) { + case "Object": + case "RegExp": + case "Function": + case "Error": + case "Array": + return make_node(AST_Call, self, self).transform(compressor); + } + } + } + return self; + }); + + OPT(AST_Seq, function(self, compressor){ + if (!compressor.option("side_effects")) + return self; + if (!self.car.has_side_effects()) { + // we shouldn't compress (1,eval)(something) to + // eval(something) because that changes the meaning of + // eval (becomes lexical instead of global). + var p; + if (!(self.cdr instanceof AST_SymbolRef + && self.cdr.name == "eval" + && self.cdr.undeclared() + && (p = compressor.parent()) instanceof AST_Call + && p.expression === self)) { + return self.cdr; + } + } + if (compressor.option("cascade")) { + if (self.car instanceof AST_Assign + && !self.car.left.has_side_effects() + && self.car.left.equivalent_to(self.cdr)) { + return self.car; + } + if (!self.car.has_side_effects() + && !self.cdr.has_side_effects() + && self.car.equivalent_to(self.cdr)) { + return self.car; + } + } + return self; + }); + + AST_Unary.DEFMETHOD("lift_sequences", function(compressor){ + if (compressor.option("sequences")) { + if (this.expression instanceof AST_Seq) { + var seq = this.expression; + var x = seq.to_array(); + this.expression = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + } + return this; + }); + + OPT(AST_UnaryPostfix, function(self, compressor){ + return self.lift_sequences(compressor); + }); + + OPT(AST_UnaryPrefix, function(self, compressor){ + self = self.lift_sequences(compressor); + var e = self.expression; + if (compressor.option("booleans") && compressor.in_boolean_context()) { + switch (self.operator) { + case "!": + if (e instanceof AST_UnaryPrefix && e.operator == "!") { + // !!foo ==> foo, if we're in boolean context + return e.expression; + } + break; + case "typeof": + // typeof always returns a non-empty string, thus it's + // always true in booleans + compressor.warn("Boolean expression always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + if (e instanceof AST_Binary && self.operator == "!") { + self = best_of(self, e.negate(compressor)); + } + } + return self.evaluate(compressor)[0]; + }); + + AST_Binary.DEFMETHOD("lift_sequences", function(compressor){ + if (compressor.option("sequences")) { + if (this.left instanceof AST_Seq) { + var seq = this.left; + var x = seq.to_array(); + this.left = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + if (this.right instanceof AST_Seq + && !(this.operator == "||" || this.operator == "&&") + && !this.left.has_side_effects()) { + var seq = this.right; + var x = seq.to_array(); + this.right = x.pop(); + x.push(this); + seq = AST_Seq.from_array(x).transform(compressor); + return seq; + } + } + return this; + }); + + var commutativeOperators = makePredicate("== === != !== * & | ^"); + + OPT(AST_Binary, function(self, compressor){ + function reverse(op) { + if (!(self.left.has_side_effects() && self.right.has_side_effects())) { + if (op) self.operator = op; + var tmp = self.left; + self.left = self.right; + self.right = tmp; + } + }; + if (commutativeOperators(self.operator)) { + if (self.right instanceof AST_Constant + && !(self.left instanceof AST_Constant)) { + reverse(); + } + } + self = self.lift_sequences(compressor); + if (compressor.option("comparisons")) switch (self.operator) { + case "===": + case "!==": + if ((self.left.is_string(compressor) && self.right.is_string(compressor)) || + (self.left.is_boolean() && self.right.is_boolean())) { + self.operator = self.operator.substr(0, 2); + } + // XXX: intentionally falling down to the next case + case "==": + case "!=": + if (self.left instanceof AST_String + && self.left.value == "undefined" + && self.right instanceof AST_UnaryPrefix + && self.right.operator == "typeof" + && compressor.option("unsafe")) { + if (!(self.right.expression instanceof AST_SymbolRef) + || !self.right.expression.undeclared()) { + self.left = self.right.expression; + self.right = make_node(AST_Undefined, self.left).optimize(compressor); + if (self.operator.length == 2) self.operator += "="; + } + } + break; + } + if (compressor.option("booleans") && compressor.in_boolean_context()) switch (self.operator) { + case "&&": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && !ll[1]) || (rr.length > 1 && !rr[1])) { + compressor.warn("Boolean && always false [{file}:{line},{col}]", self.start); + return make_node(AST_False, self); + } + if (ll.length > 1 && ll[1]) { + return rr[0]; + } + if (rr.length > 1 && rr[1]) { + return ll[0]; + } + break; + case "||": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && ll[1]) || (rr.length > 1 && rr[1])) { + compressor.warn("Boolean || always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + if (ll.length > 1 && !ll[1]) { + return rr[0]; + } + if (rr.length > 1 && !rr[1]) { + return ll[0]; + } + break; + case "+": + var ll = self.left.evaluate(compressor); + var rr = self.right.evaluate(compressor); + if ((ll.length > 1 && ll[0] instanceof AST_String && ll[1]) || + (rr.length > 1 && rr[0] instanceof AST_String && rr[1])) { + compressor.warn("+ in boolean context always true [{file}:{line},{col}]", self.start); + return make_node(AST_True, self); + } + break; + } + var exp = self.evaluate(compressor); + if (exp.length > 1) { + if (best_of(exp[0], self) !== self) + return exp[0]; + } + if (compressor.option("comparisons")) { + if (!(compressor.parent() instanceof AST_Binary) + || compressor.parent() instanceof AST_Assign) { + var negated = make_node(AST_UnaryPrefix, self, { + operator: "!", + expression: self.negate(compressor) + }); + self = best_of(self, negated); + } + switch (self.operator) { + case "<": reverse(">"); break; + case "<=": reverse(">="); break; + } + } + if (self.operator == "+" && self.right instanceof AST_String + && self.right.getValue() === "" && self.left instanceof AST_Binary + && self.left.operator == "+" && self.left.is_string(compressor)) { + return self.left; + } + return self; + }); + + OPT(AST_SymbolRef, function(self, compressor){ + if (self.undeclared()) { + var defines = compressor.option("global_defs"); + if (defines && defines.hasOwnProperty(self.name)) { + return make_node_from_constant(compressor, defines[self.name], self); + } + switch (self.name) { + case "undefined": + return make_node(AST_Undefined, self); + case "NaN": + return make_node(AST_NaN, self); + case "Infinity": + return make_node(AST_Infinity, self); + } + } + return self; + }); + + OPT(AST_Undefined, function(self, compressor){ + if (compressor.option("unsafe")) { + var scope = compressor.find_parent(AST_Scope); + var undef = scope.find_variable("undefined"); + if (undef) { + var ref = make_node(AST_SymbolRef, self, { + name : "undefined", + scope : scope, + thedef : undef + }); + ref.reference(); + return ref; + } + } + return self; + }); + + var ASSIGN_OPS = [ '+', '-', '/', '*', '%', '>>', '<<', '>>>', '|', '^', '&' ]; + OPT(AST_Assign, function(self, compressor){ + self = self.lift_sequences(compressor); + if (self.operator == "=" + && self.left instanceof AST_SymbolRef + && self.right instanceof AST_Binary + && self.right.left instanceof AST_SymbolRef + && self.right.left.name == self.left.name + && member(self.right.operator, ASSIGN_OPS)) { + self.operator = self.right.operator + "="; + self.right = self.right.right; + } + return self; + }); + + OPT(AST_Conditional, function(self, compressor){ + if (!compressor.option("conditionals")) return self; + if (self.condition instanceof AST_Seq) { + var car = self.condition.car; + self.condition = self.condition.cdr; + return AST_Seq.cons(car, self); + } + var cond = self.condition.evaluate(compressor); + if (cond.length > 1) { + if (cond[1]) { + compressor.warn("Condition always true [{file}:{line},{col}]", self.start); + return self.consequent; + } else { + compressor.warn("Condition always false [{file}:{line},{col}]", self.start); + return self.alternative; + } + } + var negated = cond[0].negate(compressor); + if (best_of(cond[0], negated) === negated) { + self = make_node(AST_Conditional, self, { + condition: negated, + consequent: self.alternative, + alternative: self.consequent + }); + } + var consequent = self.consequent; + var alternative = self.alternative; + if (consequent instanceof AST_Assign + && alternative instanceof AST_Assign + && consequent.operator == alternative.operator + && consequent.left.equivalent_to(alternative.left) + ) { + /* + * Stuff like this: + * if (foo) exp = something; else exp = something_else; + * ==> + * exp = foo ? something : something_else; + */ + self = make_node(AST_Assign, self, { + operator: consequent.operator, + left: consequent.left, + right: make_node(AST_Conditional, self, { + condition: self.condition, + consequent: consequent.right, + alternative: alternative.right + }) + }); + } + return self; + }); + + OPT(AST_Boolean, function(self, compressor){ + if (compressor.option("booleans")) { + var p = compressor.parent(); + if (p instanceof AST_Binary && (p.operator == "==" + || p.operator == "!=")) { + compressor.warn("Non-strict equality against boolean: {operator} {value} [{file}:{line},{col}]", { + operator : p.operator, + value : self.value, + file : p.start.file, + line : p.start.line, + col : p.start.col, + }); + return make_node(AST_Number, self, { + value: +self.value + }); + } + return make_node(AST_UnaryPrefix, self, { + operator: "!", + expression: make_node(AST_Number, self, { + value: 1 - self.value + }) + }); + } + return self; + }); + + OPT(AST_Sub, function(self, compressor){ + var prop = self.property; + if (prop instanceof AST_String && compressor.option("properties")) { + prop = prop.getValue(); + if (is_identifier(prop)) { + return make_node(AST_Dot, self, { + expression : self.expression, + property : prop + }); + } + } + return self; + }); + + function literals_in_boolean_context(self, compressor) { + if (compressor.option("booleans") && compressor.in_boolean_context()) { + return make_node(AST_True, self); + } + return self; + }; + OPT(AST_Array, literals_in_boolean_context); + OPT(AST_Object, literals_in_boolean_context); + OPT(AST_RegExp, literals_in_boolean_context); + +})(); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/mozilla-ast.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/mozilla-ast.js new file mode 100644 index 0000000..982d621 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/mozilla-ast.js @@ -0,0 +1,265 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +(function(){ + + var MOZ_TO_ME = { + TryStatement : function(M) { + return new AST_Try({ + start : my_start_token(M), + end : my_end_token(M), + body : from_moz(M.block).body, + bcatch : from_moz(M.handlers[0]), + bfinally : M.finalizer ? new AST_Finally(from_moz(M.finalizer)) : null + }); + }, + CatchClause : function(M) { + return new AST_Catch({ + start : my_start_token(M), + end : my_end_token(M), + argname : from_moz(M.param), + body : from_moz(M.body).body + }); + }, + ObjectExpression : function(M) { + return new AST_Object({ + start : my_start_token(M), + end : my_end_token(M), + properties : M.properties.map(function(prop){ + var key = prop.key; + var name = key.type == "Identifier" ? key.name : key.value; + var args = { + start : my_start_token(key), + end : my_end_token(prop.value), + key : name, + value : from_moz(prop.value) + }; + switch (prop.kind) { + case "init": + return new AST_ObjectKeyVal(args); + case "set": + args.value.name = from_moz(key); + return new AST_ObjectSetter(args); + case "get": + args.value.name = from_moz(key); + return new AST_ObjectGetter(args); + } + }) + }); + }, + SequenceExpression : function(M) { + return AST_Seq.from_array(M.expressions.map(from_moz)); + }, + MemberExpression : function(M) { + return new (M.computed ? AST_Sub : AST_Dot)({ + start : my_start_token(M), + end : my_end_token(M), + property : M.computed ? from_moz(M.property) : M.property.name, + expression : from_moz(M.object) + }); + }, + SwitchCase : function(M) { + return new (M.test ? AST_Case : AST_Default)({ + start : my_start_token(M), + end : my_end_token(M), + expression : from_moz(M.test), + body : M.consequent.map(from_moz) + }); + }, + Literal : function(M) { + var val = M.value, args = { + start : my_start_token(M), + end : my_end_token(M) + }; + if (val === null) return new AST_Null(args); + switch (typeof val) { + case "string": + args.value = val; + return new AST_String(args); + case "number": + args.value = val; + return new AST_Number(args); + case "boolean": + return new (val ? AST_True : AST_False)(args); + default: + args.value = val; + return new AST_RegExp(args); + } + }, + UnaryExpression: From_Moz_Unary, + UpdateExpression: From_Moz_Unary, + Identifier: function(M) { + var p = FROM_MOZ_STACK[FROM_MOZ_STACK.length - 2]; + return new (M.name == "this" ? AST_This + : p.type == "LabeledStatement" ? AST_Label + : p.type == "VariableDeclarator" && p.id === M ? (p.kind == "const" ? AST_SymbolConst : AST_SymbolVar) + : p.type == "FunctionExpression" ? (p.id === M ? AST_SymbolLambda : AST_SymbolFunarg) + : p.type == "FunctionDeclaration" ? (p.id === M ? AST_SymbolDefun : AST_SymbolFunarg) + : p.type == "CatchClause" ? AST_SymbolCatch + : p.type == "BreakStatement" || p.type == "ContinueStatement" ? AST_LabelRef + : AST_SymbolRef)({ + start : my_start_token(M), + end : my_end_token(M), + name : M.name + }); + } + }; + + function From_Moz_Unary(M) { + return new (M.prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({ + start : my_start_token(M), + end : my_end_token(M), + operator : M.operator, + expression : from_moz(M.argument) + }) + }; + + var ME_TO_MOZ = {}; + + map("Node", AST_Node); + map("Program", AST_Toplevel, "body@body"); + map("Function", AST_Function, "id>name, params@argnames, body%body"); + map("EmptyStatement", AST_EmptyStatement); + map("BlockStatement", AST_BlockStatement, "body@body"); + map("ExpressionStatement", AST_SimpleStatement, "expression>body"); + map("IfStatement", AST_If, "test>condition, consequent>body, alternate>alternative"); + map("LabeledStatement", AST_LabeledStatement, "label>label, body>body"); + map("BreakStatement", AST_Break, "label>label"); + map("ContinueStatement", AST_Continue, "label>label"); + map("WithStatement", AST_With, "object>expression, body>body"); + map("SwitchStatement", AST_Switch, "discriminant>expression, cases@body"); + map("ReturnStatement", AST_Return, "argument>value"); + map("ThrowStatement", AST_Throw, "argument>value"); + map("WhileStatement", AST_While, "test>condition, body>body"); + map("DoWhileStatement", AST_Do, "test>condition, body>body"); + map("ForStatement", AST_For, "init>init, test>condition, update>step, body>body"); + map("ForInStatement", AST_ForIn, "left>init, right>object, body>body"); + map("DebuggerStatement", AST_Debugger); + map("FunctionDeclaration", AST_Defun, "id>name, params@argnames, body%body"); + map("VariableDeclaration", AST_Var, "declarations@definitions"); + map("VariableDeclarator", AST_VarDef, "id>name, init>value"); + + map("ThisExpression", AST_This); + map("ArrayExpression", AST_Array, "elements@elements"); + map("FunctionExpression", AST_Function, "id>name, params@argnames, body%body"); + map("BinaryExpression", AST_Binary, "operator=operator, left>left, right>right"); + map("AssignmentExpression", AST_Assign, "operator=operator, left>left, right>right"); + map("LogicalExpression", AST_Binary, "operator=operator, left>left, right>right"); + map("ConditionalExpression", AST_Conditional, "test>condition, consequent>consequent, alternate>alternative"); + map("NewExpression", AST_New, "callee>expression, arguments@args"); + map("CallExpression", AST_Call, "callee>expression, arguments@args"); + + /* -----[ tools ]----- */ + + function my_start_token(moznode) { + return new AST_Token({ + file : moznode.loc && moznode.loc.source, + line : moznode.loc && moznode.loc.start.line, + col : moznode.loc && moznode.loc.start.column, + pos : moznode.start, + endpos : moznode.start + }); + }; + + function my_end_token(moznode) { + return new AST_Token({ + file : moznode.loc && moznode.loc.source, + line : moznode.loc && moznode.loc.end.line, + col : moznode.loc && moznode.loc.end.column, + pos : moznode.end, + endpos : moznode.end + }); + }; + + function map(moztype, mytype, propmap) { + var moz_to_me = "function From_Moz_" + moztype + "(M){\n"; + moz_to_me += "return new mytype({\n" + + "start: my_start_token(M),\n" + + "end: my_end_token(M)"; + + if (propmap) propmap.split(/\s*,\s*/).forEach(function(prop){ + var m = /([a-z0-9$_]+)(=|@|>|%)([a-z0-9$_]+)/i.exec(prop); + if (!m) throw new Error("Can't understand property map: " + prop); + var moz = "M." + m[1], how = m[2], my = m[3]; + moz_to_me += ",\n" + my + ": "; + if (how == "@") { + moz_to_me += moz + ".map(from_moz)"; + } else if (how == ">") { + moz_to_me += "from_moz(" + moz + ")"; + } else if (how == "=") { + moz_to_me += moz; + } else if (how == "%") { + moz_to_me += "from_moz(" + moz + ").body"; + } else throw new Error("Can't understand operator in propmap: " + prop); + }); + moz_to_me += "\n})}"; + + // moz_to_me = parse(moz_to_me).print_to_string({ beautify: true }); + // console.log(moz_to_me); + + moz_to_me = new Function("mytype", "my_start_token", "my_end_token", "from_moz", "return(" + moz_to_me + ")")( + mytype, my_start_token, my_end_token, from_moz + ); + return MOZ_TO_ME[moztype] = moz_to_me; + }; + + var FROM_MOZ_STACK = null; + + function from_moz(node) { + FROM_MOZ_STACK.push(node); + var ret = node != null ? MOZ_TO_ME[node.type](node) : null; + FROM_MOZ_STACK.pop(); + return ret; + }; + + AST_Node.from_mozilla_ast = function(node){ + var save_stack = FROM_MOZ_STACK; + FROM_MOZ_STACK = []; + var ast = from_moz(node); + FROM_MOZ_STACK = save_stack; + return ast; + }; + +})(); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/output.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/output.js new file mode 100644 index 0000000..42b3aad --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/output.js @@ -0,0 +1,1220 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function OutputStream(options) { + + options = defaults(options, { + indent_start : 0, + indent_level : 4, + quote_keys : false, + space_colon : true, + ascii_only : false, + inline_script : false, + width : 80, + max_line_len : 32000, + ie_proof : true, + beautify : false, + source_map : null, + bracketize : false, + semicolons : true, + comments : false, + preserve_line : false + }, true); + + var indentation = 0; + var current_col = 0; + var current_line = 1; + var current_pos = 0; + var OUTPUT = ""; + + function to_ascii(str) { + return str.replace(/[\u0080-\uffff]/g, function(ch) { + var code = ch.charCodeAt(0).toString(16); + while (code.length < 4) code = "0" + code; + return "\\u" + code; + }); + }; + + function make_string(str) { + var dq = 0, sq = 0; + str = str.replace(/[\\\b\f\n\r\t\x22\x27\u2028\u2029\0]/g, function(s){ + switch (s) { + case "\\": return "\\\\"; + case "\b": return "\\b"; + case "\f": return "\\f"; + case "\n": return "\\n"; + case "\r": return "\\r"; + case "\u2028": return "\\u2028"; + case "\u2029": return "\\u2029"; + case '"': ++dq; return '"'; + case "'": ++sq; return "'"; + case "\0": return "\\0"; + } + return s; + }); + if (options.ascii_only) str = to_ascii(str); + if (dq > sq) return "'" + str.replace(/\x27/g, "\\'") + "'"; + else return '"' + str.replace(/\x22/g, '\\"') + '"'; + }; + + function encode_string(str) { + var ret = make_string(str); + if (options.inline_script) + ret = ret.replace(/<\x2fscript([>\/\t\n\f\r ])/gi, "<\\/script$1"); + return ret; + }; + + function make_name(name) { + name = name.toString(); + if (options.ascii_only) + name = to_ascii(name); + return name; + }; + + function make_indent(back) { + return repeat_string(" ", options.indent_start + indentation - back * options.indent_level); + }; + + /* -----[ beautification/minification ]----- */ + + var might_need_space = false; + var might_need_semicolon = false; + var last = null; + + function last_char() { + return last.charAt(last.length - 1); + }; + + function maybe_newline() { + if (options.max_line_len && current_col > options.max_line_len) + print("\n"); + }; + + var requireSemicolonChars = makePredicate("( [ + * / - , ."); + + function print(str) { + str = String(str); + var ch = str.charAt(0); + if (might_need_semicolon) { + if ((!ch || ";}".indexOf(ch) < 0) && !/[;]$/.test(last)) { + if (options.semicolons || requireSemicolonChars(ch)) { + OUTPUT += ";"; + current_col++; + current_pos++; + } else { + OUTPUT += "\n"; + current_pos++; + current_line++; + current_col = 0; + } + if (!options.beautify) + might_need_space = false; + } + might_need_semicolon = false; + maybe_newline(); + } + + if (!options.beautify && options.preserve_line && stack[stack.length - 1]) { + var target_line = stack[stack.length - 1].start.line; + while (current_line < target_line) { + OUTPUT += "\n"; + current_pos++; + current_line++; + current_col = 0; + might_need_space = false; + } + } + + if (might_need_space) { + var prev = last_char(); + if ((is_identifier_char(prev) + && (is_identifier_char(ch) || ch == "\\")) + || (/^[\+\-\/]$/.test(ch) && ch == prev)) + { + OUTPUT += " "; + current_col++; + current_pos++; + } + might_need_space = false; + } + var a = str.split(/\r?\n/), n = a.length - 1; + current_line += n; + if (n == 0) { + current_col += a[n].length; + } else { + current_col = a[n].length; + } + current_pos += str.length; + last = str; + OUTPUT += str; + }; + + var space = options.beautify ? function() { + print(" "); + } : function() { + might_need_space = true; + }; + + var indent = options.beautify ? function(half) { + if (options.beautify) { + print(make_indent(half ? 0.5 : 0)); + } + } : noop; + + var with_indent = options.beautify ? function(col, cont) { + if (col === true) col = next_indent(); + var save_indentation = indentation; + indentation = col; + var ret = cont(); + indentation = save_indentation; + return ret; + } : function(col, cont) { return cont() }; + + var newline = options.beautify ? function() { + print("\n"); + } : noop; + + var semicolon = options.beautify ? function() { + print(";"); + } : function() { + might_need_semicolon = true; + }; + + function force_semicolon() { + might_need_semicolon = false; + print(";"); + }; + + function next_indent() { + return indentation + options.indent_level; + }; + + function with_block(cont) { + var ret; + print("{"); + newline(); + with_indent(next_indent(), function(){ + ret = cont(); + }); + indent(); + print("}"); + return ret; + }; + + function with_parens(cont) { + print("("); + //XXX: still nice to have that for argument lists + //var ret = with_indent(current_col, cont); + var ret = cont(); + print(")"); + return ret; + }; + + function with_square(cont) { + print("["); + //var ret = with_indent(current_col, cont); + var ret = cont(); + print("]"); + return ret; + }; + + function comma() { + print(","); + space(); + }; + + function colon() { + print(":"); + if (options.space_colon) space(); + }; + + var add_mapping = options.source_map ? function(token, name) { + try { + if (token) options.source_map.add( + token.file || "?", + current_line, current_col, + token.line, token.col, + (!name && token.type == "name") ? token.value : name + ); + } catch(ex) { + AST_Node.warn("Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]", { + file: token.file, + line: token.line, + col: token.col, + cline: current_line, + ccol: current_col, + name: name || "" + }) + } + } : noop; + + function get() { + return OUTPUT; + }; + + var stack = []; + return { + get : get, + toString : get, + indent : indent, + indentation : function() { return indentation }, + current_width : function() { return current_col - indentation }, + should_break : function() { return options.width && this.current_width() >= options.width }, + newline : newline, + print : print, + space : space, + comma : comma, + colon : colon, + last : function() { return last }, + semicolon : semicolon, + force_semicolon : force_semicolon, + to_ascii : to_ascii, + print_name : function(name) { print(make_name(name)) }, + print_string : function(str) { print(encode_string(str)) }, + next_indent : next_indent, + with_indent : with_indent, + with_block : with_block, + with_parens : with_parens, + with_square : with_square, + add_mapping : add_mapping, + option : function(opt) { return options[opt] }, + line : function() { return current_line }, + col : function() { return current_col }, + pos : function() { return current_pos }, + push_node : function(node) { stack.push(node) }, + pop_node : function() { return stack.pop() }, + stack : function() { return stack }, + parent : function(n) { + return stack[stack.length - 2 - (n || 0)]; + } + }; + +}; + +/* -----[ code generators ]----- */ + +(function(){ + + /* -----[ utils ]----- */ + + function DEFPRINT(nodetype, generator) { + nodetype.DEFMETHOD("_codegen", generator); + }; + + AST_Node.DEFMETHOD("print", function(stream, force_parens){ + var self = this, generator = self._codegen; + stream.push_node(self); + if (force_parens || self.needs_parens(stream)) { + stream.with_parens(function(){ + self.add_comments(stream); + self.add_source_map(stream); + generator(self, stream); + }); + } else { + self.add_comments(stream); + self.add_source_map(stream); + generator(self, stream); + } + stream.pop_node(); + }); + + AST_Node.DEFMETHOD("print_to_string", function(options){ + var s = OutputStream(options); + this.print(s); + return s.get(); + }); + + /* -----[ comments ]----- */ + + AST_Node.DEFMETHOD("add_comments", function(output){ + var c = output.option("comments"), self = this; + if (c) { + var start = self.start; + if (start && !start._comments_dumped) { + start._comments_dumped = true; + var comments = start.comments_before; + + // XXX: ugly fix for https://github.com/mishoo/UglifyJS2/issues/112 + // if this node is `return` or `throw`, we cannot allow comments before + // the returned or thrown value. + if (self instanceof AST_Exit && + self.value && self.value.start.comments_before.length > 0) { + comments = (comments || []).concat(self.value.start.comments_before); + self.value.start.comments_before = []; + } + + if (c.test) { + comments = comments.filter(function(comment){ + return c.test(comment.value); + }); + } else if (typeof c == "function") { + comments = comments.filter(function(comment){ + return c(self, comment); + }); + } + comments.forEach(function(c){ + if (c.type == "comment1") { + output.print("//" + c.value + "\n"); + output.indent(); + } + else if (c.type == "comment2") { + output.print("/*" + c.value + "*/"); + if (start.nlb) { + output.print("\n"); + output.indent(); + } else { + output.space(); + } + } + }); + } + } + }); + + /* -----[ PARENTHESES ]----- */ + + function PARENS(nodetype, func) { + nodetype.DEFMETHOD("needs_parens", func); + }; + + PARENS(AST_Node, function(){ + return false; + }); + + // a function expression needs parens around it when it's provably + // the first token to appear in a statement. + PARENS(AST_Function, function(output){ + return first_in_statement(output); + }); + + // same goes for an object literal, because otherwise it would be + // interpreted as a block of code. + PARENS(AST_Object, function(output){ + return first_in_statement(output); + }); + + PARENS(AST_Unary, function(output){ + var p = output.parent(); + return p instanceof AST_PropAccess && p.expression === this; + }); + + PARENS(AST_Seq, function(output){ + var p = output.parent(); + return p instanceof AST_Call // (foo, bar)() or foo(1, (2, 3), 4) + || p instanceof AST_Unary // !(foo, bar, baz) + || p instanceof AST_Binary // 1 + (2, 3) + 4 ==> 8 + || p instanceof AST_VarDef // var a = (1, 2), b = a + a; ==> b == 4 + || p instanceof AST_Dot // (1, {foo:2}).foo ==> 2 + || p instanceof AST_Array // [ 1, (2, 3), 4 ] ==> [ 1, 3, 4 ] + || p instanceof AST_ObjectProperty // { foo: (1, 2) }.foo ==> 2 + || p instanceof AST_Conditional /* (false, true) ? (a = 10, b = 20) : (c = 30) + * ==> 20 (side effect, set a := 10 and b := 20) */ + ; + }); + + PARENS(AST_Binary, function(output){ + var p = output.parent(); + // (foo && bar)() + if (p instanceof AST_Call && p.expression === this) + return true; + // typeof (foo && bar) + if (p instanceof AST_Unary) + return true; + // (foo && bar)["prop"], (foo && bar).prop + if (p instanceof AST_PropAccess && p.expression === this) + return true; + // this deals with precedence: 3 * (2 + 1) + if (p instanceof AST_Binary) { + var po = p.operator, pp = PRECEDENCE[po]; + var so = this.operator, sp = PRECEDENCE[so]; + if (pp > sp + || (pp == sp + && this === p.right + && !(so == po && + (so == "*" || + so == "&&" || + so == "||")))) { + return true; + } + } + }); + + PARENS(AST_PropAccess, function(output){ + var p = output.parent(); + if (p instanceof AST_New && p.expression === this) { + // i.e. new (foo.bar().baz) + // + // if there's one call into this subtree, then we need + // parens around it too, otherwise the call will be + // interpreted as passing the arguments to the upper New + // expression. + try { + this.walk(new TreeWalker(function(node){ + if (node instanceof AST_Call) throw p; + })); + } catch(ex) { + if (ex !== p) throw ex; + return true; + } + } + }); + + PARENS(AST_Call, function(output){ + var p = output.parent(); + return p instanceof AST_New && p.expression === this; + }); + + PARENS(AST_New, function(output){ + var p = output.parent(); + if (no_constructor_parens(this, output) + && (p instanceof AST_PropAccess // (new Date).getTime(), (new Date)["getTime"]() + || p instanceof AST_Call && p.expression === this)) // (new foo)(bar) + return true; + }); + + PARENS(AST_Number, function(output){ + var p = output.parent(); + if (this.getValue() < 0 && p instanceof AST_PropAccess && p.expression === this) + return true; + }); + + PARENS(AST_NaN, function(output){ + var p = output.parent(); + if (p instanceof AST_PropAccess && p.expression === this) + return true; + }); + + function assign_and_conditional_paren_rules(output) { + var p = output.parent(); + // !(a = false) → true + if (p instanceof AST_Unary) + return true; + // 1 + (a = 2) + 3 → 6, side effect setting a = 2 + if (p instanceof AST_Binary && !(p instanceof AST_Assign)) + return true; + // (a = func)() —or— new (a = Object)() + if (p instanceof AST_Call && p.expression === this) + return true; + // (a = foo) ? bar : baz + if (p instanceof AST_Conditional && p.condition === this) + return true; + // (a = foo)["prop"] —or— (a = foo).prop + if (p instanceof AST_PropAccess && p.expression === this) + return true; + }; + + PARENS(AST_Assign, assign_and_conditional_paren_rules); + PARENS(AST_Conditional, assign_and_conditional_paren_rules); + + /* -----[ PRINTERS ]----- */ + + DEFPRINT(AST_Directive, function(self, output){ + output.print_string(self.value); + output.semicolon(); + }); + DEFPRINT(AST_Debugger, function(self, output){ + output.print("debugger"); + output.semicolon(); + }); + + /* -----[ statements ]----- */ + + function display_body(body, is_toplevel, output) { + var last = body.length - 1; + body.forEach(function(stmt, i){ + if (!(stmt instanceof AST_EmptyStatement)) { + output.indent(); + stmt.print(output); + if (!(i == last && is_toplevel)) { + output.newline(); + if (is_toplevel) output.newline(); + } + } + }); + }; + + AST_StatementWithBody.DEFMETHOD("_do_print_body", function(output){ + force_statement(this.body, output); + }); + + DEFPRINT(AST_Statement, function(self, output){ + self.body.print(output); + output.semicolon(); + }); + DEFPRINT(AST_Toplevel, function(self, output){ + display_body(self.body, true, output); + output.print(""); + }); + DEFPRINT(AST_LabeledStatement, function(self, output){ + self.label.print(output); + output.colon(); + self.body.print(output); + }); + DEFPRINT(AST_SimpleStatement, function(self, output){ + self.body.print(output); + output.semicolon(); + }); + function print_bracketed(body, output) { + if (body.length > 0) output.with_block(function(){ + display_body(body, false, output); + }); + else output.print("{}"); + }; + DEFPRINT(AST_BlockStatement, function(self, output){ + print_bracketed(self.body, output); + }); + DEFPRINT(AST_EmptyStatement, function(self, output){ + output.semicolon(); + }); + DEFPRINT(AST_Do, function(self, output){ + output.print("do"); + output.space(); + self._do_print_body(output); + output.space(); + output.print("while"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.semicolon(); + }); + DEFPRINT(AST_While, function(self, output){ + output.print("while"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_For, function(self, output){ + output.print("for"); + output.space(); + output.with_parens(function(){ + if (self.init) { + if (self.init instanceof AST_Definitions) { + self.init.print(output); + } else { + parenthesize_for_noin(self.init, output, true); + } + output.print(";"); + output.space(); + } else { + output.print(";"); + } + if (self.condition) { + self.condition.print(output); + output.print(";"); + output.space(); + } else { + output.print(";"); + } + if (self.step) { + self.step.print(output); + } + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_ForIn, function(self, output){ + output.print("for"); + output.space(); + output.with_parens(function(){ + self.init.print(output); + output.space(); + output.print("in"); + output.space(); + self.object.print(output); + }); + output.space(); + self._do_print_body(output); + }); + DEFPRINT(AST_With, function(self, output){ + output.print("with"); + output.space(); + output.with_parens(function(){ + self.expression.print(output); + }); + output.space(); + self._do_print_body(output); + }); + + /* -----[ functions ]----- */ + AST_Lambda.DEFMETHOD("_do_print", function(output, nokeyword){ + var self = this; + if (!nokeyword) { + output.print("function"); + } + if (self.name) { + output.space(); + self.name.print(output); + } + output.with_parens(function(){ + self.argnames.forEach(function(arg, i){ + if (i) output.comma(); + arg.print(output); + }); + }); + output.space(); + print_bracketed(self.body, output); + }); + DEFPRINT(AST_Lambda, function(self, output){ + self._do_print(output); + }); + + /* -----[ exits ]----- */ + AST_Exit.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + if (this.value) { + output.space(); + this.value.print(output); + } + output.semicolon(); + }); + DEFPRINT(AST_Return, function(self, output){ + self._do_print(output, "return"); + }); + DEFPRINT(AST_Throw, function(self, output){ + self._do_print(output, "throw"); + }); + + /* -----[ loop control ]----- */ + AST_LoopControl.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + if (this.label) { + output.space(); + this.label.print(output); + } + output.semicolon(); + }); + DEFPRINT(AST_Break, function(self, output){ + self._do_print(output, "break"); + }); + DEFPRINT(AST_Continue, function(self, output){ + self._do_print(output, "continue"); + }); + + /* -----[ if ]----- */ + function make_then(self, output) { + if (output.option("bracketize")) { + make_block(self.body, output); + return; + } + // The squeezer replaces "block"-s that contain only a single + // statement with the statement itself; technically, the AST + // is correct, but this can create problems when we output an + // IF having an ELSE clause where the THEN clause ends in an + // IF *without* an ELSE block (then the outer ELSE would refer + // to the inner IF). This function checks for this case and + // adds the block brackets if needed. + if (!self.body) + return output.force_semicolon(); + if (self.body instanceof AST_Do + && output.option("ie_proof")) { + // https://github.com/mishoo/UglifyJS/issues/#issue/57 IE + // croaks with "syntax error" on code like this: if (foo) + // do ... while(cond); else ... we need block brackets + // around do/while + make_block(self.body, output); + return; + } + var b = self.body; + while (true) { + if (b instanceof AST_If) { + if (!b.alternative) { + make_block(self.body, output); + return; + } + b = b.alternative; + } + else if (b instanceof AST_StatementWithBody) { + b = b.body; + } + else break; + } + force_statement(self.body, output); + }; + DEFPRINT(AST_If, function(self, output){ + output.print("if"); + output.space(); + output.with_parens(function(){ + self.condition.print(output); + }); + output.space(); + if (self.alternative) { + make_then(self, output); + output.space(); + output.print("else"); + output.space(); + force_statement(self.alternative, output); + } else { + self._do_print_body(output); + } + }); + + /* -----[ switch ]----- */ + DEFPRINT(AST_Switch, function(self, output){ + output.print("switch"); + output.space(); + output.with_parens(function(){ + self.expression.print(output); + }); + output.space(); + if (self.body.length > 0) output.with_block(function(){ + self.body.forEach(function(stmt, i){ + if (i) output.newline(); + output.indent(true); + stmt.print(output); + }); + }); + else output.print("{}"); + }); + AST_SwitchBranch.DEFMETHOD("_do_print_body", function(output){ + if (this.body.length > 0) { + output.newline(); + this.body.forEach(function(stmt){ + output.indent(); + stmt.print(output); + output.newline(); + }); + } + }); + DEFPRINT(AST_Default, function(self, output){ + output.print("default:"); + self._do_print_body(output); + }); + DEFPRINT(AST_Case, function(self, output){ + output.print("case"); + output.space(); + self.expression.print(output); + output.print(":"); + self._do_print_body(output); + }); + + /* -----[ exceptions ]----- */ + DEFPRINT(AST_Try, function(self, output){ + output.print("try"); + output.space(); + print_bracketed(self.body, output); + if (self.bcatch) { + output.space(); + self.bcatch.print(output); + } + if (self.bfinally) { + output.space(); + self.bfinally.print(output); + } + }); + DEFPRINT(AST_Catch, function(self, output){ + output.print("catch"); + output.space(); + output.with_parens(function(){ + self.argname.print(output); + }); + output.space(); + print_bracketed(self.body, output); + }); + DEFPRINT(AST_Finally, function(self, output){ + output.print("finally"); + output.space(); + print_bracketed(self.body, output); + }); + + /* -----[ var/const ]----- */ + AST_Definitions.DEFMETHOD("_do_print", function(output, kind){ + output.print(kind); + output.space(); + this.definitions.forEach(function(def, i){ + if (i) output.comma(); + def.print(output); + }); + var p = output.parent(); + var in_for = p instanceof AST_For || p instanceof AST_ForIn; + var avoid_semicolon = in_for && p.init === this; + if (!avoid_semicolon) + output.semicolon(); + }); + DEFPRINT(AST_Var, function(self, output){ + self._do_print(output, "var"); + }); + DEFPRINT(AST_Const, function(self, output){ + self._do_print(output, "const"); + }); + + function parenthesize_for_noin(node, output, noin) { + if (!noin) node.print(output); + else try { + // need to take some precautions here: + // https://github.com/mishoo/UglifyJS2/issues/60 + node.walk(new TreeWalker(function(node){ + if (node instanceof AST_Binary && node.operator == "in") + throw output; + })); + node.print(output); + } catch(ex) { + if (ex !== output) throw ex; + node.print(output, true); + } + }; + + DEFPRINT(AST_VarDef, function(self, output){ + self.name.print(output); + if (self.value) { + output.space(); + output.print("="); + output.space(); + var p = output.parent(1); + var noin = p instanceof AST_For || p instanceof AST_ForIn; + parenthesize_for_noin(self.value, output, noin); + } + }); + + /* -----[ other expressions ]----- */ + DEFPRINT(AST_Call, function(self, output){ + self.expression.print(output); + if (self instanceof AST_New && no_constructor_parens(self, output)) + return; + output.with_parens(function(){ + self.args.forEach(function(expr, i){ + if (i) output.comma(); + expr.print(output); + }); + }); + }); + DEFPRINT(AST_New, function(self, output){ + output.print("new"); + output.space(); + AST_Call.prototype._codegen(self, output); + }); + + AST_Seq.DEFMETHOD("_do_print", function(output){ + this.car.print(output); + if (this.cdr) { + output.comma(); + if (output.should_break()) { + output.newline(); + output.indent(); + } + this.cdr.print(output); + } + }); + DEFPRINT(AST_Seq, function(self, output){ + self._do_print(output); + // var p = output.parent(); + // if (p instanceof AST_Statement) { + // output.with_indent(output.next_indent(), function(){ + // self._do_print(output); + // }); + // } else { + // self._do_print(output); + // } + }); + DEFPRINT(AST_Dot, function(self, output){ + var expr = self.expression; + expr.print(output); + if (expr instanceof AST_Number && expr.getValue() >= 0) { + if (!/[xa-f.]/i.test(output.last())) { + output.print("."); + } + } + output.print("."); + // the name after dot would be mapped about here. + output.add_mapping(self.end); + output.print_name(self.property); + }); + DEFPRINT(AST_Sub, function(self, output){ + self.expression.print(output); + output.print("["); + self.property.print(output); + output.print("]"); + }); + DEFPRINT(AST_UnaryPrefix, function(self, output){ + var op = self.operator; + output.print(op); + if (/^[a-z]/i.test(op)) + output.space(); + self.expression.print(output); + }); + DEFPRINT(AST_UnaryPostfix, function(self, output){ + self.expression.print(output); + output.print(self.operator); + }); + DEFPRINT(AST_Binary, function(self, output){ + self.left.print(output); + output.space(); + output.print(self.operator); + output.space(); + self.right.print(output); + }); + DEFPRINT(AST_Conditional, function(self, output){ + self.condition.print(output); + output.space(); + output.print("?"); + output.space(); + self.consequent.print(output); + output.space(); + output.colon(); + self.alternative.print(output); + }); + + /* -----[ literals ]----- */ + DEFPRINT(AST_Array, function(self, output){ + output.with_square(function(){ + var a = self.elements, len = a.length; + if (len > 0) output.space(); + a.forEach(function(exp, i){ + if (i) output.comma(); + exp.print(output); + }); + if (len > 0) output.space(); + }); + }); + DEFPRINT(AST_Object, function(self, output){ + if (self.properties.length > 0) output.with_block(function(){ + self.properties.forEach(function(prop, i){ + if (i) { + output.print(","); + output.newline(); + } + output.indent(); + prop.print(output); + }); + output.newline(); + }); + else output.print("{}"); + }); + DEFPRINT(AST_ObjectKeyVal, function(self, output){ + var key = self.key; + if (output.option("quote_keys")) { + output.print_string(key); + } else if ((typeof key == "number" + || !output.option("beautify") + && +key + "" == key) + && parseFloat(key) >= 0) { + output.print(make_num(key)); + } else if (!is_identifier(key)) { + output.print_string(key); + } else { + output.print_name(key); + } + output.colon(); + self.value.print(output); + }); + DEFPRINT(AST_ObjectSetter, function(self, output){ + output.print("set"); + self.value._do_print(output, true); + }); + DEFPRINT(AST_ObjectGetter, function(self, output){ + output.print("get"); + self.value._do_print(output, true); + }); + DEFPRINT(AST_Symbol, function(self, output){ + var def = self.definition(); + output.print_name(def ? def.mangled_name || def.name : self.name); + }); + DEFPRINT(AST_Undefined, function(self, output){ + output.print("void 0"); + }); + DEFPRINT(AST_Hole, noop); + DEFPRINT(AST_Infinity, function(self, output){ + output.print("1/0"); + }); + DEFPRINT(AST_NaN, function(self, output){ + output.print("0/0"); + }); + DEFPRINT(AST_This, function(self, output){ + output.print("this"); + }); + DEFPRINT(AST_Constant, function(self, output){ + output.print(self.getValue()); + }); + DEFPRINT(AST_String, function(self, output){ + output.print_string(self.getValue()); + }); + DEFPRINT(AST_Number, function(self, output){ + output.print(make_num(self.getValue())); + }); + DEFPRINT(AST_RegExp, function(self, output){ + var str = self.getValue().toString(); + if (output.option("ascii_only")) + str = output.to_ascii(str); + output.print(str); + var p = output.parent(); + if (p instanceof AST_Binary && /^in/.test(p.operator) && p.left === self) + output.print(" "); + }); + + function force_statement(stat, output) { + if (output.option("bracketize")) { + if (!stat || stat instanceof AST_EmptyStatement) + output.print("{}"); + else if (stat instanceof AST_BlockStatement) + stat.print(output); + else output.with_block(function(){ + output.indent(); + stat.print(output); + output.newline(); + }); + } else { + if (!stat || stat instanceof AST_EmptyStatement) + output.force_semicolon(); + else + stat.print(output); + } + }; + + // return true if the node at the top of the stack (that means the + // innermost node in the current output) is lexically the first in + // a statement. + function first_in_statement(output) { + var a = output.stack(), i = a.length, node = a[--i], p = a[--i]; + while (i > 0) { + if (p instanceof AST_Statement && p.body === node) + return true; + if ((p instanceof AST_Seq && p.car === node ) || + (p instanceof AST_Call && p.expression === node ) || + (p instanceof AST_Dot && p.expression === node ) || + (p instanceof AST_Sub && p.expression === node ) || + (p instanceof AST_Conditional && p.condition === node ) || + (p instanceof AST_Binary && p.left === node ) || + (p instanceof AST_UnaryPostfix && p.expression === node )) + { + node = p; + p = a[--i]; + } else { + return false; + } + } + }; + + // self should be AST_New. decide if we want to show parens or not. + function no_constructor_parens(self, output) { + return self.args.length == 0 && !output.option("beautify"); + }; + + function best_of(a) { + var best = a[0], len = best.length; + for (var i = 1; i < a.length; ++i) { + if (a[i].length < len) { + best = a[i]; + len = best.length; + } + } + return best; + }; + + function make_num(num) { + var str = num.toString(10), a = [ str.replace(/^0\./, ".").replace('e+', 'e') ], m; + if (Math.floor(num) === num) { + if (num >= 0) { + a.push("0x" + num.toString(16).toLowerCase(), // probably pointless + "0" + num.toString(8)); // same. + } else { + a.push("-0x" + (-num).toString(16).toLowerCase(), // probably pointless + "-0" + (-num).toString(8)); // same. + } + if ((m = /^(.*?)(0+)$/.exec(num))) { + a.push(m[1] + "e" + m[2].length); + } + } else if ((m = /^0?\.(0+)(.*)$/.exec(num))) { + a.push(m[2] + "e-" + (m[1].length + m[2].length), + str.substr(str.indexOf("."))); + } + return best_of(a); + }; + + function make_block(stmt, output) { + if (stmt instanceof AST_BlockStatement) { + stmt.print(output); + return; + } + output.with_block(function(){ + output.indent(); + stmt.print(output); + output.newline(); + }); + }; + + /* -----[ source map generators ]----- */ + + function DEFMAP(nodetype, generator) { + nodetype.DEFMETHOD("add_source_map", function(stream){ + generator(this, stream); + }); + }; + + // We could easily add info for ALL nodes, but it seems to me that + // would be quite wasteful, hence this noop in the base class. + DEFMAP(AST_Node, noop); + + function basic_sourcemap_gen(self, output) { + output.add_mapping(self.start); + }; + + // XXX: I'm not exactly sure if we need it for all of these nodes, + // or if we should add even more. + + DEFMAP(AST_Directive, basic_sourcemap_gen); + DEFMAP(AST_Debugger, basic_sourcemap_gen); + DEFMAP(AST_Symbol, basic_sourcemap_gen); + DEFMAP(AST_Jump, basic_sourcemap_gen); + DEFMAP(AST_StatementWithBody, basic_sourcemap_gen); + DEFMAP(AST_LabeledStatement, noop); // since the label symbol will mark it + DEFMAP(AST_Lambda, basic_sourcemap_gen); + DEFMAP(AST_Switch, basic_sourcemap_gen); + DEFMAP(AST_SwitchBranch, basic_sourcemap_gen); + DEFMAP(AST_BlockStatement, basic_sourcemap_gen); + DEFMAP(AST_Toplevel, noop); + DEFMAP(AST_New, basic_sourcemap_gen); + DEFMAP(AST_Try, basic_sourcemap_gen); + DEFMAP(AST_Catch, basic_sourcemap_gen); + DEFMAP(AST_Finally, basic_sourcemap_gen); + DEFMAP(AST_Definitions, basic_sourcemap_gen); + DEFMAP(AST_Constant, basic_sourcemap_gen); + DEFMAP(AST_ObjectProperty, function(self, output){ + output.add_mapping(self.start, self.key); + }); + +})(); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js new file mode 100644 index 0000000..5a75e75 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js @@ -0,0 +1,1407 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + Parser based on parse-js (http://marijn.haverbeke.nl/parse-js/). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +var KEYWORDS = 'break case catch const continue debugger default delete do else finally for function if in instanceof new return switch throw try typeof var void while with'; +var KEYWORDS_ATOM = 'false null true'; +var RESERVED_WORDS = 'abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized this throws transient volatile' + + " " + KEYWORDS_ATOM + " " + KEYWORDS; +var KEYWORDS_BEFORE_EXPRESSION = 'return new delete throw else case'; + +KEYWORDS = makePredicate(KEYWORDS); +RESERVED_WORDS = makePredicate(RESERVED_WORDS); +KEYWORDS_BEFORE_EXPRESSION = makePredicate(KEYWORDS_BEFORE_EXPRESSION); +KEYWORDS_ATOM = makePredicate(KEYWORDS_ATOM); + +var OPERATOR_CHARS = makePredicate(characters("+-*&%=<>!?|~^")); + +var RE_HEX_NUMBER = /^0x[0-9a-f]+$/i; +var RE_OCT_NUMBER = /^0[0-7]+$/; +var RE_DEC_NUMBER = /^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i; + +var OPERATORS = makePredicate([ + "in", + "instanceof", + "typeof", + "new", + "void", + "delete", + "++", + "--", + "+", + "-", + "!", + "~", + "&", + "|", + "^", + "*", + "/", + "%", + ">>", + "<<", + ">>>", + "<", + ">", + "<=", + ">=", + "==", + "===", + "!=", + "!==", + "?", + "=", + "+=", + "-=", + "/=", + "*=", + "%=", + ">>=", + "<<=", + ">>>=", + "|=", + "^=", + "&=", + "&&", + "||" +]); + +var WHITESPACE_CHARS = makePredicate(characters(" \u00a0\n\r\t\f\u000b\u200b\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000")); + +var PUNC_BEFORE_EXPRESSION = makePredicate(characters("[{(,.;:")); + +var PUNC_CHARS = makePredicate(characters("[]{}(),;:")); + +var REGEXP_MODIFIERS = makePredicate(characters("gmsiy")); + +/* -----[ Tokenizer ]----- */ + +// regexps adapted from http://xregexp.com/plugins/#unicode +var UNICODE = { + letter: new RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0523\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971\\u0972\\u097B-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC\\u0EDD\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8B\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10D0-\\u10FA\\u10FC\\u1100-\\u1159\\u115F-\\u11A2\\u11A8-\\u11F9\\u1200-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u1676\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19A9\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u2094\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C6F\\u2C71-\\u2C7D\\u2C80-\\u2CE4\\u2D00-\\u2D25\\u2D30-\\u2D65\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31B7\\u31F0-\\u31FF\\u3400\\u4DB5\\u4E00\\u9FC3\\uA000-\\uA48C\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA65F\\uA662-\\uA66E\\uA67F-\\uA697\\uA717-\\uA71F\\uA722-\\uA788\\uA78B\\uA78C\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA90A-\\uA925\\uA930-\\uA946\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAC00\\uD7A3\\uF900-\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"), + non_spacing_mark: new RegExp("[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065E\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0900-\\u0902\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F90-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1DC0-\\u1DE6\\u1DFD-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F\\uA67C\\uA67D\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26]"), + space_combining_mark: new RegExp("[\\u0903\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A19-\\u1A1B\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF2\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BD-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC]"), + connector_punctuation: new RegExp("[\\u005F\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F]") +}; + +function is_letter(code) { + return (code >= 97 && code <= 122) + || (code >= 65 && code <= 90) + || (code >= 0xaa && UNICODE.letter.test(String.fromCharCode(code))); +}; + +function is_digit(code) { + return code >= 48 && code <= 57; //XXX: find out if "UnicodeDigit" means something else than 0..9 +}; + +function is_alphanumeric_char(code) { + return is_digit(code) || is_letter(code); +}; + +function is_unicode_combining_mark(ch) { + return UNICODE.non_spacing_mark.test(ch) || UNICODE.space_combining_mark.test(ch); +}; + +function is_unicode_connector_punctuation(ch) { + return UNICODE.connector_punctuation.test(ch); +}; + +function is_identifier(name) { + return /^[a-z_$][a-z0-9_$]*$/i.test(name) && !RESERVED_WORDS(name); +}; + +function is_identifier_start(code) { + return code == 36 || code == 95 || is_letter(code); +}; + +function is_identifier_char(ch) { + var code = ch.charCodeAt(0); + return is_identifier_start(code) + || is_digit(code) + || code == 8204 // \u200c: zero-width non-joiner + || code == 8205 // \u200d: zero-width joiner (in my ECMA-262 PDF, this is also 200c) + || is_unicode_combining_mark(ch) + || is_unicode_connector_punctuation(ch) + ; +}; + +function parse_js_number(num) { + if (RE_HEX_NUMBER.test(num)) { + return parseInt(num.substr(2), 16); + } else if (RE_OCT_NUMBER.test(num)) { + return parseInt(num.substr(1), 8); + } else if (RE_DEC_NUMBER.test(num)) { + return parseFloat(num); + } +}; + +function JS_Parse_Error(message, line, col, pos) { + this.message = message; + this.line = line; + this.col = col; + this.pos = pos; + this.stack = new Error().stack; +}; + +JS_Parse_Error.prototype.toString = function() { + return this.message + " (line: " + this.line + ", col: " + this.col + ", pos: " + this.pos + ")" + "\n\n" + this.stack; +}; + +function js_error(message, filename, line, col, pos) { + AST_Node.warn("ERROR: {message} [{file}:{line},{col}]", { + message: message, + file: filename, + line: line, + col: col + }); + throw new JS_Parse_Error(message, line, col, pos); +}; + +function is_token(token, type, val) { + return token.type == type && (val == null || token.value == val); +}; + +var EX_EOF = {}; + +function tokenizer($TEXT, filename) { + + var S = { + text : $TEXT.replace(/\r\n?|[\n\u2028\u2029]/g, "\n").replace(/\uFEFF/g, ''), + filename : filename, + pos : 0, + tokpos : 0, + line : 1, + tokline : 0, + col : 0, + tokcol : 0, + newline_before : false, + regex_allowed : false, + comments_before : [] + }; + + function peek() { return S.text.charAt(S.pos); }; + + function next(signal_eof, in_string) { + var ch = S.text.charAt(S.pos++); + if (signal_eof && !ch) + throw EX_EOF; + if (ch == "\n") { + S.newline_before = S.newline_before || !in_string; + ++S.line; + S.col = 0; + } else { + ++S.col; + } + return ch; + }; + + function find(what, signal_eof) { + var pos = S.text.indexOf(what, S.pos); + if (signal_eof && pos == -1) throw EX_EOF; + return pos; + }; + + function start_token() { + S.tokline = S.line; + S.tokcol = S.col; + S.tokpos = S.pos; + }; + + function token(type, value, is_comment) { + S.regex_allowed = ((type == "operator" && !UNARY_POSTFIX[value]) || + (type == "keyword" && KEYWORDS_BEFORE_EXPRESSION(value)) || + (type == "punc" && PUNC_BEFORE_EXPRESSION(value))); + var ret = { + type : type, + value : value, + line : S.tokline, + col : S.tokcol, + pos : S.tokpos, + endpos : S.pos, + nlb : S.newline_before, + file : filename + }; + if (!is_comment) { + ret.comments_before = S.comments_before; + S.comments_before = []; + // make note of any newlines in the comments that came before + for (var i = 0, len = ret.comments_before.length; i < len; i++) { + ret.nlb = ret.nlb || ret.comments_before[i].nlb; + } + } + S.newline_before = false; + return new AST_Token(ret); + }; + + function skip_whitespace() { + while (WHITESPACE_CHARS(peek())) + next(); + }; + + function read_while(pred) { + var ret = "", ch, i = 0; + while ((ch = peek()) && pred(ch, i++)) + ret += next(); + return ret; + }; + + function parse_error(err) { + js_error(err, filename, S.tokline, S.tokcol, S.tokpos); + }; + + function read_num(prefix) { + var has_e = false, after_e = false, has_x = false, has_dot = prefix == "."; + var num = read_while(function(ch, i){ + var code = ch.charCodeAt(0); + switch (code) { + case 120: case 88: // xX + return has_x ? false : (has_x = true); + case 101: case 69: // eE + return has_x ? true : has_e ? false : (has_e = after_e = true); + case 45: // - + return after_e || (i == 0 && !prefix); + case 43: // + + return after_e; + case (after_e = false, 46): // . + return (!has_dot && !has_x && !has_e) ? (has_dot = true) : false; + } + return is_alphanumeric_char(code); + }); + if (prefix) num = prefix + num; + var valid = parse_js_number(num); + if (!isNaN(valid)) { + return token("num", valid); + } else { + parse_error("Invalid syntax: " + num); + } + }; + + function read_escaped_char(in_string) { + var ch = next(true, in_string); + switch (ch.charCodeAt(0)) { + case 110 : return "\n"; + case 114 : return "\r"; + case 116 : return "\t"; + case 98 : return "\b"; + case 118 : return "\u000b"; // \v + case 102 : return "\f"; + case 48 : return "\0"; + case 120 : return String.fromCharCode(hex_bytes(2)); // \x + case 117 : return String.fromCharCode(hex_bytes(4)); // \u + case 10 : return ""; // newline + default : return ch; + } + }; + + function hex_bytes(n) { + var num = 0; + for (; n > 0; --n) { + var digit = parseInt(next(true), 16); + if (isNaN(digit)) + parse_error("Invalid hex-character pattern in string"); + num = (num << 4) | digit; + } + return num; + }; + + var read_string = with_eof_error("Unterminated string constant", function(){ + var quote = next(), ret = ""; + for (;;) { + var ch = next(true); + if (ch == "\\") { + // read OctalEscapeSequence (XXX: deprecated if "strict mode") + // https://github.com/mishoo/UglifyJS/issues/178 + var octal_len = 0, first = null; + ch = read_while(function(ch){ + if (ch >= "0" && ch <= "7") { + if (!first) { + first = ch; + return ++octal_len; + } + else if (first <= "3" && octal_len <= 2) return ++octal_len; + else if (first >= "4" && octal_len <= 1) return ++octal_len; + } + return false; + }); + if (octal_len > 0) ch = String.fromCharCode(parseInt(ch, 8)); + else ch = read_escaped_char(true); + } + else if (ch == quote) break; + ret += ch; + } + return token("string", ret); + }); + + function read_line_comment() { + next(); + var i = find("\n"), ret; + if (i == -1) { + ret = S.text.substr(S.pos); + S.pos = S.text.length; + } else { + ret = S.text.substring(S.pos, i); + S.pos = i; + } + return token("comment1", ret, true); + }; + + var read_multiline_comment = with_eof_error("Unterminated multiline comment", function(){ + next(); + var i = find("*/", true); + var text = S.text.substring(S.pos, i); + var a = text.split("\n"), n = a.length; + // update stream position + S.pos = i + 2; + S.line += n - 1; + if (n > 1) S.col = a[n - 1].length; + else S.col += a[n - 1].length; + S.col += 2; + S.newline_before = S.newline_before || text.indexOf("\n") >= 0; + return token("comment2", text, true); + }); + + function read_name() { + var backslash = false, name = "", ch, escaped = false, hex; + while ((ch = peek()) != null) { + if (!backslash) { + if (ch == "\\") escaped = backslash = true, next(); + else if (is_identifier_char(ch)) name += next(); + else break; + } + else { + if (ch != "u") parse_error("Expecting UnicodeEscapeSequence -- uXXXX"); + ch = read_escaped_char(); + if (!is_identifier_char(ch)) parse_error("Unicode char: " + ch.charCodeAt(0) + " is not valid in identifier"); + name += ch; + backslash = false; + } + } + if (KEYWORDS(name) && escaped) { + hex = name.charCodeAt(0).toString(16).toUpperCase(); + name = "\\u" + "0000".substr(hex.length) + hex + name.slice(1); + } + return name; + }; + + var read_regexp = with_eof_error("Unterminated regular expression", function(regexp){ + var prev_backslash = false, ch, in_class = false; + while ((ch = next(true))) if (prev_backslash) { + regexp += "\\" + ch; + prev_backslash = false; + } else if (ch == "[") { + in_class = true; + regexp += ch; + } else if (ch == "]" && in_class) { + in_class = false; + regexp += ch; + } else if (ch == "/" && !in_class) { + break; + } else if (ch == "\\") { + prev_backslash = true; + } else { + regexp += ch; + } + var mods = read_name(); + return token("regexp", new RegExp(regexp, mods)); + }); + + function read_operator(prefix) { + function grow(op) { + if (!peek()) return op; + var bigger = op + peek(); + if (OPERATORS(bigger)) { + next(); + return grow(bigger); + } else { + return op; + } + }; + return token("operator", grow(prefix || next())); + }; + + function handle_slash() { + next(); + var regex_allowed = S.regex_allowed; + switch (peek()) { + case "/": + S.comments_before.push(read_line_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + case "*": + S.comments_before.push(read_multiline_comment()); + S.regex_allowed = regex_allowed; + return next_token(); + } + return S.regex_allowed ? read_regexp("") : read_operator("/"); + }; + + function handle_dot() { + next(); + return is_digit(peek().charCodeAt(0)) + ? read_num(".") + : token("punc", "."); + }; + + function read_word() { + var word = read_name(); + return KEYWORDS_ATOM(word) ? token("atom", word) + : !KEYWORDS(word) ? token("name", word) + : OPERATORS(word) ? token("operator", word) + : token("keyword", word); + }; + + function with_eof_error(eof_error, cont) { + return function(x) { + try { + return cont(x); + } catch(ex) { + if (ex === EX_EOF) parse_error(eof_error); + else throw ex; + } + }; + }; + + function next_token(force_regexp) { + if (force_regexp != null) + return read_regexp(force_regexp); + skip_whitespace(); + start_token(); + var ch = peek(); + if (!ch) return token("eof"); + var code = ch.charCodeAt(0); + switch (code) { + case 34: case 39: return read_string(); + case 46: return handle_dot(); + case 47: return handle_slash(); + } + if (is_digit(code)) return read_num(); + if (PUNC_CHARS(ch)) return token("punc", next()); + if (OPERATOR_CHARS(ch)) return read_operator(); + if (code == 92 || is_identifier_start(code)) return read_word(); + parse_error("Unexpected character '" + ch + "'"); + }; + + next_token.context = function(nc) { + if (nc) S = nc; + return S; + }; + + return next_token; + +}; + +/* -----[ Parser (constants) ]----- */ + +var UNARY_PREFIX = makePredicate([ + "typeof", + "void", + "delete", + "--", + "++", + "!", + "~", + "-", + "+" +]); + +var UNARY_POSTFIX = makePredicate([ "--", "++" ]); + +var ASSIGNMENT = makePredicate([ "=", "+=", "-=", "/=", "*=", "%=", ">>=", "<<=", ">>>=", "|=", "^=", "&=" ]); + +var PRECEDENCE = (function(a, ret){ + for (var i = 0, n = 1; i < a.length; ++i, ++n) { + var b = a[i]; + for (var j = 0; j < b.length; ++j) { + ret[b[j]] = n; + } + } + return ret; +})( + [ + ["||"], + ["&&"], + ["|"], + ["^"], + ["&"], + ["==", "===", "!=", "!=="], + ["<", ">", "<=", ">=", "in", "instanceof"], + [">>", "<<", ">>>"], + ["+", "-"], + ["*", "/", "%"] + ], + {} +); + +var STATEMENTS_WITH_LABELS = array_to_hash([ "for", "do", "while", "switch" ]); + +var ATOMIC_START_TOKEN = array_to_hash([ "atom", "num", "string", "regexp", "name" ]); + +/* -----[ Parser ]----- */ + +function parse($TEXT, options) { + + options = defaults(options, { + strict : false, + filename : null, + toplevel : null + }); + + var S = { + input : typeof $TEXT == "string" ? tokenizer($TEXT, options.filename) : $TEXT, + token : null, + prev : null, + peeked : null, + in_function : 0, + in_directives : true, + in_loop : 0, + labels : [] + }; + + S.token = next(); + + function is(type, value) { + return is_token(S.token, type, value); + }; + + function peek() { return S.peeked || (S.peeked = S.input()); }; + + function next() { + S.prev = S.token; + if (S.peeked) { + S.token = S.peeked; + S.peeked = null; + } else { + S.token = S.input(); + } + S.in_directives = S.in_directives && ( + S.token.type == "string" || is("punc", ";") + ); + return S.token; + }; + + function prev() { + return S.prev; + }; + + function croak(msg, line, col, pos) { + var ctx = S.input.context(); + js_error(msg, + ctx.filename, + line != null ? line : ctx.tokline, + col != null ? col : ctx.tokcol, + pos != null ? pos : ctx.tokpos); + }; + + function token_error(token, msg) { + croak(msg, token.line, token.col); + }; + + function unexpected(token) { + if (token == null) + token = S.token; + token_error(token, "Unexpected token: " + token.type + " (" + token.value + ")"); + }; + + function expect_token(type, val) { + if (is(type, val)) { + return next(); + } + token_error(S.token, "Unexpected token " + S.token.type + " «" + S.token.value + "»" + ", expected " + type + " «" + val + "»"); + }; + + function expect(punc) { return expect_token("punc", punc); }; + + function can_insert_semicolon() { + return !options.strict && ( + S.token.nlb || is("eof") || is("punc", "}") + ); + }; + + function semicolon() { + if (is("punc", ";")) next(); + else if (!can_insert_semicolon()) unexpected(); + }; + + function parenthesised() { + expect("("); + var exp = expression(true); + expect(")"); + return exp; + }; + + function embed_tokens(parser) { + return function() { + var start = S.token; + var expr = parser(); + var end = prev(); + expr.start = start; + expr.end = end; + return expr; + }; + }; + + var statement = embed_tokens(function() { + var tmp; + if (is("operator", "/") || is("operator", "/=")) { + S.peeked = null; + S.token = S.input(S.token.value.substr(1)); // force regexp + } + switch (S.token.type) { + case "string": + var dir = S.in_directives, stat = simple_statement(); + // XXXv2: decide how to fix directives + if (dir && stat.body instanceof AST_String && !is("punc", ",")) + return new AST_Directive({ value: stat.body.value }); + return stat; + case "num": + case "regexp": + case "operator": + case "atom": + return simple_statement(); + + case "name": + return is_token(peek(), "punc", ":") + ? labeled_statement() + : simple_statement(); + + case "punc": + switch (S.token.value) { + case "{": + return new AST_BlockStatement({ + start : S.token, + body : block_(), + end : prev() + }); + case "[": + case "(": + return simple_statement(); + case ";": + next(); + return new AST_EmptyStatement(); + default: + unexpected(); + } + + case "keyword": + switch (tmp = S.token.value, next(), tmp) { + case "break": + return break_cont(AST_Break); + + case "continue": + return break_cont(AST_Continue); + + case "debugger": + semicolon(); + return new AST_Debugger(); + + case "do": + return new AST_Do({ + body : in_loop(statement), + condition : (expect_token("keyword", "while"), tmp = parenthesised(), semicolon(), tmp) + }); + + case "while": + return new AST_While({ + condition : parenthesised(), + body : in_loop(statement) + }); + + case "for": + return for_(); + + case "function": + return function_(true); + + case "if": + return if_(); + + case "return": + if (S.in_function == 0) + croak("'return' outside of function"); + return new AST_Return({ + value: ( is("punc", ";") + ? (next(), null) + : can_insert_semicolon() + ? null + : (tmp = expression(true), semicolon(), tmp) ) + }); + + case "switch": + return new AST_Switch({ + expression : parenthesised(), + body : in_loop(switch_body_) + }); + + case "throw": + if (S.token.nlb) + croak("Illegal newline after 'throw'"); + return new AST_Throw({ + value: (tmp = expression(true), semicolon(), tmp) + }); + + case "try": + return try_(); + + case "var": + return tmp = var_(), semicolon(), tmp; + + case "const": + return tmp = const_(), semicolon(), tmp; + + case "with": + return new AST_With({ + expression : parenthesised(), + body : statement() + }); + + default: + unexpected(); + } + } + }); + + function labeled_statement() { + var label = as_symbol(AST_Label); + if (find_if(function(l){ return l.name == label.name }, S.labels)) { + // ECMA-262, 12.12: An ECMAScript program is considered + // syntactically incorrect if it contains a + // LabelledStatement that is enclosed by a + // LabelledStatement with the same Identifier as label. + croak("Label " + label.name + " defined twice"); + } + expect(":"); + S.labels.push(label); + var stat = statement(); + S.labels.pop(); + return new AST_LabeledStatement({ body: stat, label: label }); + }; + + function simple_statement(tmp) { + return new AST_SimpleStatement({ body: (tmp = expression(true), semicolon(), tmp) }); + }; + + function break_cont(type) { + var label = null; + if (!can_insert_semicolon()) { + label = as_symbol(AST_LabelRef, true); + } + if (label != null) { + if (!find_if(function(l){ return l.name == label.name }, S.labels)) + croak("Undefined label " + label.name); + } + else if (S.in_loop == 0) + croak(type.TYPE + " not inside a loop or switch"); + semicolon(); + return new type({ label: label }); + }; + + function for_() { + expect("("); + var init = null; + if (!is("punc", ";")) { + init = is("keyword", "var") + ? (next(), var_(true)) + : expression(true, true); + if (is("operator", "in")) { + if (init instanceof AST_Var && init.definitions.length > 1) + croak("Only one variable declaration allowed in for..in loop"); + next(); + return for_in(init); + } + } + return regular_for(init); + }; + + function regular_for(init) { + expect(";"); + var test = is("punc", ";") ? null : expression(true); + expect(";"); + var step = is("punc", ")") ? null : expression(true); + expect(")"); + return new AST_For({ + init : init, + condition : test, + step : step, + body : in_loop(statement) + }); + }; + + function for_in(init) { + var lhs = init instanceof AST_Var ? init.definitions[0].name : null; + var obj = expression(true); + expect(")"); + return new AST_ForIn({ + init : init, + name : lhs, + object : obj, + body : in_loop(statement) + }); + }; + + var function_ = function(in_statement, ctor) { + var is_accessor = ctor === AST_Accessor; + var name = (is("name") ? as_symbol(in_statement + ? AST_SymbolDefun + : is_accessor + ? AST_SymbolAccessor + : AST_SymbolLambda) + : is_accessor && (is("string") || is("num")) ? as_atom_node() + : null); + if (in_statement && !name) + unexpected(); + expect("("); + if (!ctor) ctor = in_statement ? AST_Defun : AST_Function; + return new ctor({ + name: name, + argnames: (function(first, a){ + while (!is("punc", ")")) { + if (first) first = false; else expect(","); + a.push(as_symbol(AST_SymbolFunarg)); + } + next(); + return a; + })(true, []), + body: (function(loop, labels){ + ++S.in_function; + S.in_directives = true; + S.in_loop = 0; + S.labels = []; + var a = block_(); + --S.in_function; + S.in_loop = loop; + S.labels = labels; + return a; + })(S.in_loop, S.labels) + }); + }; + + function if_() { + var cond = parenthesised(), body = statement(), belse = null; + if (is("keyword", "else")) { + next(); + belse = statement(); + } + return new AST_If({ + condition : cond, + body : body, + alternative : belse + }); + }; + + function block_() { + expect("{"); + var a = []; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + a.push(statement()); + } + next(); + return a; + }; + + function switch_body_() { + expect("{"); + var a = [], cur = null, branch = null, tmp; + while (!is("punc", "}")) { + if (is("eof")) unexpected(); + if (is("keyword", "case")) { + if (branch) branch.end = prev(); + cur = []; + branch = new AST_Case({ + start : (tmp = S.token, next(), tmp), + expression : expression(true), + body : cur + }); + a.push(branch); + expect(":"); + } + else if (is("keyword", "default")) { + if (branch) branch.end = prev(); + cur = []; + branch = new AST_Default({ + start : (tmp = S.token, next(), expect(":"), tmp), + body : cur + }); + a.push(branch); + } + else { + if (!cur) unexpected(); + cur.push(statement()); + } + } + if (branch) branch.end = prev(); + next(); + return a; + }; + + function try_() { + var body = block_(), bcatch = null, bfinally = null; + if (is("keyword", "catch")) { + var start = S.token; + next(); + expect("("); + var name = as_symbol(AST_SymbolCatch); + expect(")"); + bcatch = new AST_Catch({ + start : start, + argname : name, + body : block_(), + end : prev() + }); + } + if (is("keyword", "finally")) { + var start = S.token; + next(); + bfinally = new AST_Finally({ + start : start, + body : block_(), + end : prev() + }); + } + if (!bcatch && !bfinally) + croak("Missing catch/finally blocks"); + return new AST_Try({ + body : body, + bcatch : bcatch, + bfinally : bfinally + }); + }; + + function vardefs(no_in, in_const) { + var a = []; + for (;;) { + a.push(new AST_VarDef({ + start : S.token, + name : as_symbol(in_const ? AST_SymbolConst : AST_SymbolVar), + value : is("operator", "=") ? (next(), expression(false, no_in)) : null, + end : prev() + })); + if (!is("punc", ",")) + break; + next(); + } + return a; + }; + + var var_ = function(no_in) { + return new AST_Var({ + start : prev(), + definitions : vardefs(no_in, false), + end : prev() + }); + }; + + var const_ = function() { + return new AST_Const({ + start : prev(), + definitions : vardefs(false, true), + end : prev() + }); + }; + + var new_ = function() { + var start = S.token; + expect_token("operator", "new"); + var newexp = expr_atom(false), args; + if (is("punc", "(")) { + next(); + args = expr_list(")"); + } else { + args = []; + } + return subscripts(new AST_New({ + start : start, + expression : newexp, + args : args, + end : prev() + }), true); + }; + + function as_atom_node() { + var tok = S.token, ret; + switch (tok.type) { + case "name": + return as_symbol(AST_SymbolRef); + case "num": + ret = new AST_Number({ start: tok, end: tok, value: tok.value }); + break; + case "string": + ret = new AST_String({ start: tok, end: tok, value: tok.value }); + break; + case "regexp": + ret = new AST_RegExp({ start: tok, end: tok, value: tok.value }); + break; + case "atom": + switch (tok.value) { + case "false": + ret = new AST_False({ start: tok, end: tok }); + break; + case "true": + ret = new AST_True({ start: tok, end: tok }); + break; + case "null": + ret = new AST_Null({ start: tok, end: tok }); + break; + } + break; + } + next(); + return ret; + }; + + var expr_atom = function(allow_calls) { + if (is("operator", "new")) { + return new_(); + } + var start = S.token; + if (is("punc")) { + switch (start.value) { + case "(": + next(); + var ex = expression(true); + ex.start = start; + ex.end = S.token; + expect(")"); + return subscripts(ex, allow_calls); + case "[": + return subscripts(array_(), allow_calls); + case "{": + return subscripts(object_(), allow_calls); + } + unexpected(); + } + if (is("keyword", "function")) { + next(); + var func = function_(false); + func.start = start; + func.end = prev(); + return subscripts(func, allow_calls); + } + if (ATOMIC_START_TOKEN[S.token.type]) { + return subscripts(as_atom_node(), allow_calls); + } + unexpected(); + }; + + function expr_list(closing, allow_trailing_comma, allow_empty) { + var first = true, a = []; + while (!is("punc", closing)) { + if (first) first = false; else expect(","); + if (allow_trailing_comma && is("punc", closing)) break; + if (is("punc", ",") && allow_empty) { + a.push(new AST_Hole({ start: S.token, end: S.token })); + } else { + a.push(expression(false)); + } + } + next(); + return a; + }; + + var array_ = embed_tokens(function() { + expect("["); + return new AST_Array({ + elements: expr_list("]", !options.strict, true) + }); + }); + + var object_ = embed_tokens(function() { + expect("{"); + var first = true, a = []; + while (!is("punc", "}")) { + if (first) first = false; else expect(","); + if (!options.strict && is("punc", "}")) + // allow trailing comma + break; + var start = S.token; + var type = start.type; + var name = as_property_name(); + if (type == "name" && !is("punc", ":")) { + if (name == "get") { + a.push(new AST_ObjectGetter({ + start : start, + key : name, + value : function_(false, AST_Accessor), + end : prev() + })); + continue; + } + if (name == "set") { + a.push(new AST_ObjectSetter({ + start : start, + key : name, + value : function_(false, AST_Accessor), + end : prev() + })); + continue; + } + } + expect(":"); + a.push(new AST_ObjectKeyVal({ + start : start, + key : name, + value : expression(false), + end : prev() + })); + } + next(); + return new AST_Object({ properties: a }); + }); + + function as_property_name() { + var tmp = S.token; + next(); + switch (tmp.type) { + case "num": + case "string": + case "name": + case "operator": + case "keyword": + case "atom": + return tmp.value; + default: + unexpected(); + } + }; + + function as_name() { + var tmp = S.token; + next(); + switch (tmp.type) { + case "name": + case "operator": + case "keyword": + case "atom": + return tmp.value; + default: + unexpected(); + } + }; + + function as_symbol(type, noerror) { + if (!is("name")) { + if (!noerror) croak("Name expected"); + return null; + } + var name = S.token.value; + var sym = new (name == "this" ? AST_This : type)({ + name : String(S.token.value), + start : S.token, + end : S.token + }); + next(); + return sym; + }; + + var subscripts = function(expr, allow_calls) { + var start = expr.start; + if (is("punc", ".")) { + next(); + return subscripts(new AST_Dot({ + start : start, + expression : expr, + property : as_name(), + end : prev() + }), allow_calls); + } + if (is("punc", "[")) { + next(); + var prop = expression(true); + expect("]"); + return subscripts(new AST_Sub({ + start : start, + expression : expr, + property : prop, + end : prev() + }), allow_calls); + } + if (allow_calls && is("punc", "(")) { + next(); + return subscripts(new AST_Call({ + start : start, + expression : expr, + args : expr_list(")"), + end : prev() + }), true); + } + return expr; + }; + + var maybe_unary = function(allow_calls) { + var start = S.token; + if (is("operator") && UNARY_PREFIX(start.value)) { + next(); + var ex = make_unary(AST_UnaryPrefix, start.value, maybe_unary(allow_calls)); + ex.start = start; + ex.end = prev(); + return ex; + } + var val = expr_atom(allow_calls); + while (is("operator") && UNARY_POSTFIX(S.token.value) && !S.token.nlb) { + val = make_unary(AST_UnaryPostfix, S.token.value, val); + val.start = start; + val.end = S.token; + next(); + } + return val; + }; + + function make_unary(ctor, op, expr) { + if ((op == "++" || op == "--") && !is_assignable(expr)) + croak("Invalid use of " + op + " operator"); + return new ctor({ operator: op, expression: expr }); + }; + + var expr_op = function(left, min_prec, no_in) { + var op = is("operator") ? S.token.value : null; + if (op == "in" && no_in) op = null; + var prec = op != null ? PRECEDENCE[op] : null; + if (prec != null && prec > min_prec) { + next(); + var right = expr_op(maybe_unary(true), prec, no_in); + return expr_op(new AST_Binary({ + start : left.start, + left : left, + operator : op, + right : right, + end : right.end + }), min_prec, no_in); + } + return left; + }; + + function expr_ops(no_in) { + return expr_op(maybe_unary(true), 0, no_in); + }; + + var maybe_conditional = function(no_in) { + var start = S.token; + var expr = expr_ops(no_in); + if (is("operator", "?")) { + next(); + var yes = expression(false); + expect(":"); + return new AST_Conditional({ + start : start, + condition : expr, + consequent : yes, + alternative : expression(false, no_in), + end : peek() + }); + } + return expr; + }; + + function is_assignable(expr) { + if (!options.strict) return true; + switch (expr[0]+"") { + case "dot": + case "sub": + case "new": + case "call": + return true; + case "name": + return expr[1] != "this"; + } + }; + + var maybe_assign = function(no_in) { + var start = S.token; + var left = maybe_conditional(no_in), val = S.token.value; + if (is("operator") && ASSIGNMENT(val)) { + if (is_assignable(left)) { + next(); + return new AST_Assign({ + start : start, + left : left, + operator : val, + right : maybe_assign(no_in), + end : prev() + }); + } + croak("Invalid assignment"); + } + return left; + }; + + var expression = function(commas, no_in) { + var start = S.token; + var expr = maybe_assign(no_in); + if (commas && is("punc", ",")) { + next(); + return new AST_Seq({ + start : start, + car : expr, + cdr : expression(true, no_in), + end : peek() + }); + } + return expr; + }; + + function in_loop(cont) { + ++S.in_loop; + var ret = cont(); + --S.in_loop; + return ret; + }; + + return (function(){ + var start = S.token; + var body = []; + while (!is("eof")) + body.push(statement()); + var end = prev(); + var toplevel = options.toplevel; + if (toplevel) { + toplevel.body = toplevel.body.concat(body); + toplevel.end = end; + } else { + toplevel = new AST_Toplevel({ start: start, body: body, end: end }); + } + return toplevel; + })(); + +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/scope.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/scope.js new file mode 100644 index 0000000..f23f6eb --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/scope.js @@ -0,0 +1,580 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function SymbolDef(scope, index, orig) { + this.name = orig.name; + this.orig = [ orig ]; + this.scope = scope; + this.references = []; + this.global = false; + this.mangled_name = null; + this.undeclared = false; + this.constant = false; + this.index = index; +}; + +SymbolDef.prototype = { + unmangleable: function(options) { + return this.global + || this.undeclared + || (!(options && options.eval) && (this.scope.uses_eval || this.scope.uses_with)); + }, + mangle: function(options) { + if (!this.mangled_name && !this.unmangleable(options)) + this.mangled_name = this.scope.next_mangled(options); + } +}; + +AST_Toplevel.DEFMETHOD("figure_out_scope", function(){ + // This does what ast_add_scope did in UglifyJS v1. + // + // Part of it could be done at parse time, but it would complicate + // the parser (and it's already kinda complex). It's also worth + // having it separated because we might need to call it multiple + // times on the same tree. + + // pass 1: setup scope chaining and handle definitions + var self = this; + var scope = self.parent_scope = null; + var labels = new Dictionary(); + var nesting = 0; + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_Scope) { + node.init_scope_vars(nesting); + var save_scope = node.parent_scope = scope; + var save_labels = labels; + ++nesting; + scope = node; + labels = new Dictionary(); + descend(); + labels = save_labels; + scope = save_scope; + --nesting; + return true; // don't descend again in TreeWalker + } + if (node instanceof AST_Directive) { + node.scope = scope; + push_uniq(scope.directives, node.value); + return true; + } + if (node instanceof AST_With) { + for (var s = scope; s; s = s.parent_scope) + s.uses_with = true; + return; + } + if (node instanceof AST_LabeledStatement) { + var l = node.label; + if (labels.has(l.name)) + throw new Error(string_template("Label {name} defined twice", l)); + labels.set(l.name, l); + descend(); + labels.del(l.name); + return true; // no descend again + } + if (node instanceof AST_Symbol) { + node.scope = scope; + } + if (node instanceof AST_Label) { + node.thedef = node; + node.init_scope_vars(); + } + if (node instanceof AST_SymbolLambda) { + //scope.def_function(node); + // + // https://github.com/mishoo/UglifyJS2/issues/24 — MSIE + // leaks function expression names into the containing + // scope. Don't like this fix but seems we can't do any + // better. IE: please die. Please! + (node.scope = scope.parent_scope).def_function(node); + } + else if (node instanceof AST_SymbolDefun) { + // Careful here, the scope where this should be defined is + // the parent scope. The reason is that we enter a new + // scope when we encounter the AST_Defun node (which is + // instanceof AST_Scope) but we get to the symbol a bit + // later. + (node.scope = scope.parent_scope).def_function(node); + } + else if (node instanceof AST_SymbolVar + || node instanceof AST_SymbolConst) { + var def = scope.def_variable(node); + def.constant = node instanceof AST_SymbolConst; + def.init = tw.parent().value; + } + else if (node instanceof AST_SymbolCatch) { + // XXX: this is wrong according to ECMA-262 (12.4). the + // `catch` argument name should be visible only inside the + // catch block. For a quick fix AST_Catch should inherit + // from AST_Scope. Keeping it this way because of IE, + // which doesn't obey the standard. (it introduces the + // identifier in the enclosing scope) + scope.def_variable(node); + } + if (node instanceof AST_LabelRef) { + var sym = labels.get(node.name); + if (!sym) throw new Error(string_template("Undefined label {name} [{line},{col}]", { + name: node.name, + line: node.start.line, + col: node.start.col + })); + node.thedef = sym; + } + }); + self.walk(tw); + + // pass 2: find back references and eval + var func = null; + var globals = self.globals = new Dictionary(); + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_Lambda) { + var prev_func = func; + func = node; + descend(); + func = prev_func; + return true; + } + if (node instanceof AST_LabelRef) { + node.reference(); + return true; + } + if (node instanceof AST_SymbolRef) { + var name = node.name; + var sym = node.scope.find_variable(name); + if (!sym) { + var g; + if (globals.has(name)) { + g = globals.get(name); + } else { + g = new SymbolDef(self, globals.size(), node); + g.undeclared = true; + globals.set(name, g); + } + node.thedef = g; + if (name == "eval" && tw.parent() instanceof AST_Call) { + for (var s = node.scope; s && !s.uses_eval; s = s.parent_scope) + s.uses_eval = true; + } + if (name == "arguments") { + func.uses_arguments = true; + } + } else { + node.thedef = sym; + } + node.reference(); + return true; + } + }); + self.walk(tw); +}); + +AST_Scope.DEFMETHOD("init_scope_vars", function(nesting){ + this.directives = []; // contains the directives defined in this scope, i.e. "use strict" + this.variables = new Dictionary(); // map name to AST_SymbolVar (variables defined in this scope; includes functions) + this.functions = new Dictionary(); // map name to AST_SymbolDefun (functions defined in this scope) + this.uses_with = false; // will be set to true if this or some nested scope uses the `with` statement + this.uses_eval = false; // will be set to true if this or nested scope uses the global `eval` + this.parent_scope = null; // the parent scope + this.enclosed = []; // a list of variables from this or outer scope(s) that are referenced from this or inner scopes + this.cname = -1; // the current index for mangling functions/variables + this.nesting = nesting; // the nesting level of this scope (0 means toplevel) +}); + +AST_Scope.DEFMETHOD("strict", function(){ + return this.has_directive("use strict"); +}); + +AST_Lambda.DEFMETHOD("init_scope_vars", function(){ + AST_Scope.prototype.init_scope_vars.apply(this, arguments); + this.uses_arguments = false; +}); + +AST_SymbolRef.DEFMETHOD("reference", function() { + var def = this.definition(); + def.references.push(this); + var s = this.scope; + while (s) { + push_uniq(s.enclosed, def); + if (s === def.scope) break; + s = s.parent_scope; + } + this.frame = this.scope.nesting - def.scope.nesting; +}); + +AST_Label.DEFMETHOD("init_scope_vars", function(){ + this.references = []; +}); + +AST_LabelRef.DEFMETHOD("reference", function(){ + this.thedef.references.push(this); +}); + +AST_Scope.DEFMETHOD("find_variable", function(name){ + if (name instanceof AST_Symbol) name = name.name; + return this.variables.get(name) + || (this.parent_scope && this.parent_scope.find_variable(name)); +}); + +AST_Scope.DEFMETHOD("has_directive", function(value){ + return this.parent_scope && this.parent_scope.has_directive(value) + || (this.directives.indexOf(value) >= 0 ? this : null); +}); + +AST_Scope.DEFMETHOD("def_function", function(symbol){ + this.functions.set(symbol.name, this.def_variable(symbol)); +}); + +AST_Scope.DEFMETHOD("def_variable", function(symbol){ + var def; + if (!this.variables.has(symbol.name)) { + def = new SymbolDef(this, this.variables.size(), symbol); + this.variables.set(symbol.name, def); + def.global = !this.parent_scope; + } else { + def = this.variables.get(symbol.name); + def.orig.push(symbol); + } + return symbol.thedef = def; +}); + +AST_Scope.DEFMETHOD("next_mangled", function(options){ + var ext = this.enclosed, n = ext.length; + out: while (true) { + var m = base54(++this.cname); + if (!is_identifier(m)) continue; // skip over "do" + // we must ensure that the mangled name does not shadow a name + // from some parent scope that is referenced in this or in + // inner scopes. + for (var i = n; --i >= 0;) { + var sym = ext[i]; + var name = sym.mangled_name || (sym.unmangleable(options) && sym.name); + if (m == name) continue out; + } + return m; + } +}); + +AST_Scope.DEFMETHOD("references", function(sym){ + if (sym instanceof AST_Symbol) sym = sym.definition(); + return this.enclosed.indexOf(sym) < 0 ? null : sym; +}); + +AST_Symbol.DEFMETHOD("unmangleable", function(options){ + return this.definition().unmangleable(options); +}); + +// property accessors are not mangleable +AST_SymbolAccessor.DEFMETHOD("unmangleable", function(){ + return true; +}); + +// labels are always mangleable +AST_Label.DEFMETHOD("unmangleable", function(){ + return false; +}); + +AST_Symbol.DEFMETHOD("unreferenced", function(){ + return this.definition().references.length == 0 + && !(this.scope.uses_eval || this.scope.uses_with); +}); + +AST_Symbol.DEFMETHOD("undeclared", function(){ + return this.definition().undeclared; +}); + +AST_LabelRef.DEFMETHOD("undeclared", function(){ + return false; +}); + +AST_Label.DEFMETHOD("undeclared", function(){ + return false; +}); + +AST_Symbol.DEFMETHOD("definition", function(){ + return this.thedef; +}); + +AST_Symbol.DEFMETHOD("global", function(){ + return this.definition().global; +}); + +AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){ + return defaults(options, { + except : [], + eval : false, + sort : false + }); +}); + +AST_Toplevel.DEFMETHOD("mangle_names", function(options){ + options = this._default_mangler_options(options); + // We only need to mangle declaration nodes. Special logic wired + // into the code generator will display the mangled name if it's + // present (and for AST_SymbolRef-s it'll use the mangled name of + // the AST_SymbolDeclaration that it points to). + var lname = -1; + var to_mangle = []; + var tw = new TreeWalker(function(node, descend){ + if (node instanceof AST_LabeledStatement) { + // lname is incremented when we get to the AST_Label + var save_nesting = lname; + descend(); + lname = save_nesting; + return true; // don't descend again in TreeWalker + } + if (node instanceof AST_Scope) { + var p = tw.parent(), a = []; + node.variables.each(function(symbol){ + if (options.except.indexOf(symbol.name) < 0) { + a.push(symbol); + } + }); + if (options.sort) a.sort(function(a, b){ + return b.references.length - a.references.length; + }); + to_mangle.push.apply(to_mangle, a); + return; + } + if (node instanceof AST_Label) { + var name; + do name = base54(++lname); while (!is_identifier(name)); + node.mangled_name = name; + return true; + } + }); + this.walk(tw); + to_mangle.forEach(function(def){ def.mangle(options) }); +}); + +AST_Toplevel.DEFMETHOD("compute_char_frequency", function(options){ + options = this._default_mangler_options(options); + var tw = new TreeWalker(function(node){ + if (node instanceof AST_Constant) + base54.consider(node.print_to_string()); + else if (node instanceof AST_Return) + base54.consider("return"); + else if (node instanceof AST_Throw) + base54.consider("throw"); + else if (node instanceof AST_Continue) + base54.consider("continue"); + else if (node instanceof AST_Break) + base54.consider("break"); + else if (node instanceof AST_Debugger) + base54.consider("debugger"); + else if (node instanceof AST_Directive) + base54.consider(node.value); + else if (node instanceof AST_While) + base54.consider("while"); + else if (node instanceof AST_Do) + base54.consider("do while"); + else if (node instanceof AST_If) { + base54.consider("if"); + if (node.alternative) base54.consider("else"); + } + else if (node instanceof AST_Var) + base54.consider("var"); + else if (node instanceof AST_Const) + base54.consider("const"); + else if (node instanceof AST_Lambda) + base54.consider("function"); + else if (node instanceof AST_For) + base54.consider("for"); + else if (node instanceof AST_ForIn) + base54.consider("for in"); + else if (node instanceof AST_Switch) + base54.consider("switch"); + else if (node instanceof AST_Case) + base54.consider("case"); + else if (node instanceof AST_Default) + base54.consider("default"); + else if (node instanceof AST_With) + base54.consider("with"); + else if (node instanceof AST_ObjectSetter) + base54.consider("set" + node.key); + else if (node instanceof AST_ObjectGetter) + base54.consider("get" + node.key); + else if (node instanceof AST_ObjectKeyVal) + base54.consider(node.key); + else if (node instanceof AST_New) + base54.consider("new"); + else if (node instanceof AST_This) + base54.consider("this"); + else if (node instanceof AST_Try) + base54.consider("try"); + else if (node instanceof AST_Catch) + base54.consider("catch"); + else if (node instanceof AST_Finally) + base54.consider("finally"); + else if (node instanceof AST_Symbol && node.unmangleable(options)) + base54.consider(node.name); + else if (node instanceof AST_Unary || node instanceof AST_Binary) + base54.consider(node.operator); + else if (node instanceof AST_Dot) + base54.consider(node.property); + }); + this.walk(tw); + base54.sort(); +}); + +var base54 = (function() { + var string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789"; + var chars, frequency; + function reset() { + frequency = Object.create(null); + chars = string.split("").map(function(ch){ return ch.charCodeAt(0) }); + chars.forEach(function(ch){ frequency[ch] = 0 }); + } + base54.consider = function(str){ + for (var i = str.length; --i >= 0;) { + var code = str.charCodeAt(i); + if (code in frequency) ++frequency[code]; + } + }; + base54.sort = function() { + chars = mergeSort(chars, function(a, b){ + if (is_digit(a) && !is_digit(b)) return 1; + if (is_digit(b) && !is_digit(a)) return -1; + return frequency[b] - frequency[a]; + }); + }; + base54.reset = reset; + reset(); + base54.get = function(){ return chars }; + base54.freq = function(){ return frequency }; + function base54(num) { + var ret = "", base = 54; + do { + ret += String.fromCharCode(chars[num % base]); + num = Math.floor(num / base); + base = 64; + } while (num > 0); + return ret; + }; + return base54; +})(); + +AST_Toplevel.DEFMETHOD("scope_warnings", function(options){ + options = defaults(options, { + undeclared : false, // this makes a lot of noise + unreferenced : true, + assign_to_global : true, + func_arguments : true, + nested_defuns : true, + eval : true + }); + var tw = new TreeWalker(function(node){ + if (options.undeclared + && node instanceof AST_SymbolRef + && node.undeclared()) + { + // XXX: this also warns about JS standard names, + // i.e. Object, Array, parseInt etc. Should add a list of + // exceptions. + AST_Node.warn("Undeclared symbol: {name} [{file}:{line},{col}]", { + name: node.name, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.assign_to_global) + { + var sym = null; + if (node instanceof AST_Assign && node.left instanceof AST_SymbolRef) + sym = node.left; + else if (node instanceof AST_ForIn && node.init instanceof AST_SymbolRef) + sym = node.init; + if (sym + && (sym.undeclared() + || (sym.global() && sym.scope !== sym.definition().scope))) { + AST_Node.warn("{msg}: {name} [{file}:{line},{col}]", { + msg: sym.undeclared() ? "Accidental global?" : "Assignment to global", + name: sym.name, + file: sym.start.file, + line: sym.start.line, + col: sym.start.col + }); + } + } + if (options.eval + && node instanceof AST_SymbolRef + && node.undeclared() + && node.name == "eval") { + AST_Node.warn("Eval is used [{file}:{line},{col}]", node.start); + } + if (options.unreferenced + && (node instanceof AST_SymbolDeclaration || node instanceof AST_Label) + && node.unreferenced()) { + AST_Node.warn("{type} {name} is declared but not referenced [{file}:{line},{col}]", { + type: node instanceof AST_Label ? "Label" : "Symbol", + name: node.name, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.func_arguments + && node instanceof AST_Lambda + && node.uses_arguments) { + AST_Node.warn("arguments used in function {name} [{file}:{line},{col}]", { + name: node.name ? node.name.name : "anonymous", + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + if (options.nested_defuns + && node instanceof AST_Defun + && !(tw.parent() instanceof AST_Scope)) { + AST_Node.warn("Function {name} declared in nested statement \"{type}\" [{file}:{line},{col}]", { + name: node.name.name, + type: tw.parent().TYPE, + file: node.start.file, + line: node.start.line, + col: node.start.col + }); + } + }); + this.walk(tw); +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/sourcemap.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/sourcemap.js new file mode 100644 index 0000000..3429908 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/sourcemap.js @@ -0,0 +1,81 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +// a small wrapper around fitzgen's source-map library +function SourceMap(options) { + options = defaults(options, { + file : null, + root : null, + orig : null, + }); + var generator = new MOZ_SourceMap.SourceMapGenerator({ + file : options.file, + sourceRoot : options.root + }); + var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig); + function add(source, gen_line, gen_col, orig_line, orig_col, name) { + if (orig_map) { + var info = orig_map.originalPositionFor({ + line: orig_line, + column: orig_col + }); + source = info.source; + orig_line = info.line; + orig_col = info.column; + name = info.name; + } + generator.addMapping({ + generated : { line: gen_line, column: gen_col }, + original : { line: orig_line, column: orig_col }, + source : source, + name : name + }); + }; + return { + add : add, + get : function() { return generator }, + toString : function() { return generator.toString() } + }; +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/transform.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/transform.js new file mode 100644 index 0000000..8b4fd9f --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/transform.js @@ -0,0 +1,218 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +// Tree transformer helpers. +// XXX: eventually I should refactor the compressor to use this infrastructure. + +function TreeTransformer(before, after) { + TreeWalker.call(this); + this.before = before; + this.after = after; +} +TreeTransformer.prototype = new TreeWalker; + +(function(undefined){ + + function _(node, descend) { + node.DEFMETHOD("transform", function(tw, in_list){ + var x, y; + tw.push(this); + if (tw.before) x = tw.before(this, descend, in_list); + if (x === undefined) { + if (!tw.after) { + x = this; + descend(x, tw); + } else { + tw.stack[tw.stack.length - 1] = x = this.clone(); + descend(x, tw); + y = tw.after(x, in_list); + if (y !== undefined) x = y; + } + } + tw.pop(); + return x; + }); + }; + + function do_list(list, tw) { + return MAP(list, function(node){ + return node.transform(tw, true); + }); + }; + + _(AST_Node, noop); + + _(AST_LabeledStatement, function(self, tw){ + self.label = self.label.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_SimpleStatement, function(self, tw){ + self.body = self.body.transform(tw); + }); + + _(AST_Block, function(self, tw){ + self.body = do_list(self.body, tw); + }); + + _(AST_DWLoop, function(self, tw){ + self.condition = self.condition.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_For, function(self, tw){ + if (self.init) self.init = self.init.transform(tw); + if (self.condition) self.condition = self.condition.transform(tw); + if (self.step) self.step = self.step.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_ForIn, function(self, tw){ + self.init = self.init.transform(tw); + self.object = self.object.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_With, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = self.body.transform(tw); + }); + + _(AST_Exit, function(self, tw){ + if (self.value) self.value = self.value.transform(tw); + }); + + _(AST_LoopControl, function(self, tw){ + if (self.label) self.label = self.label.transform(tw); + }); + + _(AST_If, function(self, tw){ + self.condition = self.condition.transform(tw); + self.body = self.body.transform(tw); + if (self.alternative) self.alternative = self.alternative.transform(tw); + }); + + _(AST_Switch, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Case, function(self, tw){ + self.expression = self.expression.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Try, function(self, tw){ + self.body = do_list(self.body, tw); + if (self.bcatch) self.bcatch = self.bcatch.transform(tw); + if (self.bfinally) self.bfinally = self.bfinally.transform(tw); + }); + + _(AST_Catch, function(self, tw){ + self.argname = self.argname.transform(tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Definitions, function(self, tw){ + self.definitions = do_list(self.definitions, tw); + }); + + _(AST_VarDef, function(self, tw){ + if (self.value) self.value = self.value.transform(tw); + }); + + _(AST_Lambda, function(self, tw){ + if (self.name) self.name = self.name.transform(tw); + self.argnames = do_list(self.argnames, tw); + self.body = do_list(self.body, tw); + }); + + _(AST_Call, function(self, tw){ + self.expression = self.expression.transform(tw); + self.args = do_list(self.args, tw); + }); + + _(AST_Seq, function(self, tw){ + self.car = self.car.transform(tw); + self.cdr = self.cdr.transform(tw); + }); + + _(AST_Dot, function(self, tw){ + self.expression = self.expression.transform(tw); + }); + + _(AST_Sub, function(self, tw){ + self.expression = self.expression.transform(tw); + self.property = self.property.transform(tw); + }); + + _(AST_Unary, function(self, tw){ + self.expression = self.expression.transform(tw); + }); + + _(AST_Binary, function(self, tw){ + self.left = self.left.transform(tw); + self.right = self.right.transform(tw); + }); + + _(AST_Conditional, function(self, tw){ + self.condition = self.condition.transform(tw); + self.consequent = self.consequent.transform(tw); + self.alternative = self.alternative.transform(tw); + }); + + _(AST_Array, function(self, tw){ + self.elements = do_list(self.elements, tw); + }); + + _(AST_Object, function(self, tw){ + self.properties = do_list(self.properties, tw); + }); + + _(AST_ObjectProperty, function(self, tw){ + self.value = self.value.transform(tw); + }); + +})(); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/utils.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/utils.js new file mode 100644 index 0000000..c95b982 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/utils.js @@ -0,0 +1,288 @@ +/*********************************************************************** + + A JavaScript tokenizer / parser / beautifier / compressor. + https://github.com/mishoo/UglifyJS2 + + -------------------------------- (C) --------------------------------- + + Author: Mihai Bazon + + http://mihai.bazon.net/blog + + Distributed under the BSD license: + + Copyright 2012 (c) Mihai Bazon + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + ***********************************************************************/ + +"use strict"; + +function array_to_hash(a) { + var ret = Object.create(null); + for (var i = 0; i < a.length; ++i) + ret[a[i]] = true; + return ret; +}; + +function slice(a, start) { + return Array.prototype.slice.call(a, start || 0); +}; + +function characters(str) { + return str.split(""); +}; + +function member(name, array) { + for (var i = array.length; --i >= 0;) + if (array[i] == name) + return true; + return false; +}; + +function find_if(func, array) { + for (var i = 0, n = array.length; i < n; ++i) { + if (func(array[i])) + return array[i]; + } +}; + +function repeat_string(str, i) { + if (i <= 0) return ""; + if (i == 1) return str; + var d = repeat_string(str, i >> 1); + d += d; + if (i & 1) d += str; + return d; +}; + +function DefaultsError(msg, defs) { + this.msg = msg; + this.defs = defs; +}; + +function defaults(args, defs, croak) { + if (args === true) + args = {}; + var ret = args || {}; + if (croak) for (var i in ret) if (ret.hasOwnProperty(i) && !defs.hasOwnProperty(i)) + throw new DefaultsError("`" + i + "` is not a supported option", defs); + for (var i in defs) if (defs.hasOwnProperty(i)) { + ret[i] = (args && args.hasOwnProperty(i)) ? args[i] : defs[i]; + } + return ret; +}; + +function merge(obj, ext) { + for (var i in ext) if (ext.hasOwnProperty(i)) { + obj[i] = ext[i]; + } + return obj; +}; + +function noop() {}; + +var MAP = (function(){ + function MAP(a, f, backwards) { + var ret = [], top = [], i; + function doit() { + var val = f(a[i], i); + var is_last = val instanceof Last; + if (is_last) val = val.v; + if (val instanceof AtTop) { + val = val.v; + if (val instanceof Splice) { + top.push.apply(top, backwards ? val.v.slice().reverse() : val.v); + } else { + top.push(val); + } + } + else if (val !== skip) { + if (val instanceof Splice) { + ret.push.apply(ret, backwards ? val.v.slice().reverse() : val.v); + } else { + ret.push(val); + } + } + return is_last; + }; + if (a instanceof Array) { + if (backwards) { + for (i = a.length; --i >= 0;) if (doit()) break; + ret.reverse(); + top.reverse(); + } else { + for (i = 0; i < a.length; ++i) if (doit()) break; + } + } + else { + for (i in a) if (a.hasOwnProperty(i)) if (doit()) break; + } + return top.concat(ret); + }; + MAP.at_top = function(val) { return new AtTop(val) }; + MAP.splice = function(val) { return new Splice(val) }; + MAP.last = function(val) { return new Last(val) }; + var skip = MAP.skip = {}; + function AtTop(val) { this.v = val }; + function Splice(val) { this.v = val }; + function Last(val) { this.v = val }; + return MAP; +})(); + +function push_uniq(array, el) { + if (array.indexOf(el) < 0) + array.push(el); +}; + +function string_template(text, props) { + return text.replace(/\{(.+?)\}/g, function(str, p){ + return props[p]; + }); +}; + +function remove(array, el) { + for (var i = array.length; --i >= 0;) { + if (array[i] === el) array.splice(i, 1); + } +}; + +function mergeSort(array, cmp) { + if (array.length < 2) return array.slice(); + function merge(a, b) { + var r = [], ai = 0, bi = 0, i = 0; + while (ai < a.length && bi < b.length) { + cmp(a[ai], b[bi]) <= 0 + ? r[i++] = a[ai++] + : r[i++] = b[bi++]; + } + if (ai < a.length) r.push.apply(r, a.slice(ai)); + if (bi < b.length) r.push.apply(r, b.slice(bi)); + return r; + }; + function _ms(a) { + if (a.length <= 1) + return a; + var m = Math.floor(a.length / 2), left = a.slice(0, m), right = a.slice(m); + left = _ms(left); + right = _ms(right); + return merge(left, right); + }; + return _ms(array); +}; + +function set_difference(a, b) { + return a.filter(function(el){ + return b.indexOf(el) < 0; + }); +}; + +function set_intersection(a, b) { + return a.filter(function(el){ + return b.indexOf(el) >= 0; + }); +}; + +// this function is taken from Acorn [1], written by Marijn Haverbeke +// [1] https://github.com/marijnh/acorn +function makePredicate(words) { + if (!(words instanceof Array)) words = words.split(" "); + var f = "", cats = []; + out: for (var i = 0; i < words.length; ++i) { + for (var j = 0; j < cats.length; ++j) + if (cats[j][0].length == words[i].length) { + cats[j].push(words[i]); + continue out; + } + cats.push([words[i]]); + } + function compareTo(arr) { + if (arr.length == 1) return f += "return str === " + JSON.stringify(arr[0]) + ";"; + f += "switch(str){"; + for (var i = 0; i < arr.length; ++i) f += "case " + JSON.stringify(arr[i]) + ":"; + f += "return true}return false;"; + } + // When there are more than three length categories, an outer + // switch first dispatches on the lengths, to save on comparisons. + if (cats.length > 3) { + cats.sort(function(a, b) {return b.length - a.length;}); + f += "switch(str.length){"; + for (var i = 0; i < cats.length; ++i) { + var cat = cats[i]; + f += "case " + cat[0].length + ":"; + compareTo(cat); + } + f += "}"; + // Otherwise, simply generate a flat `switch` statement. + } else { + compareTo(words); + } + return new Function("str", f); +}; + +function Dictionary() { + this._values = Object.create(null); + this._size = 0; +}; +Dictionary.prototype = { + set: function(key, val) { + if (!this.has(key)) ++this._size; + this._values["$" + key] = val; + return this; + }, + add: function(key, val) { + if (this.has(key)) { + this.get(key).push(val); + } else { + this.set(key, [ val ]); + } + return this; + }, + get: function(key) { return this._values["$" + key] }, + del: function(key) { + if (this.has(key)) { + --this._size; + delete this._values["$" + key]; + } + return this; + }, + has: function(key) { return ("$" + key) in this._values }, + each: function(f) { + for (var i in this._values) + f(this._values[i], i.substr(1)); + }, + size: function() { + return this._size; + }, + map: function(f) { + var ret = []; + for (var i in this._values) + ret.push(f(this._values[i], i.substr(1))); + return ret; + } +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/.travis.yml b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/.travis.yml new file mode 100644 index 0000000..cc4dba2 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - "0.8" + - "0.10" diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/LICENSE b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/LICENSE new file mode 100644 index 0000000..432d1ae --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/LICENSE @@ -0,0 +1,21 @@ +Copyright 2010 James Halliday (mail@substack.net) + +This project is free software released under the MIT/X11 license: + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/bool.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/bool.js new file mode 100644 index 0000000..a998fb7 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/bool.js @@ -0,0 +1,10 @@ +#!/usr/bin/env node +var util = require('util'); +var argv = require('optimist').argv; + +if (argv.s) { + util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); +} +console.log( + (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') +); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js new file mode 100644 index 0000000..a35a7e6 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .boolean(['x','y','z']) + .argv +; +console.dir([ argv.x, argv.y, argv.z ]); +console.dir(argv._); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js new file mode 100644 index 0000000..017bb68 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .boolean('v') + .argv +; +console.dir(argv.v); +console.dir(argv._); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_hash.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_hash.js new file mode 100644 index 0000000..ade7768 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_hash.js @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +var argv = require('optimist') + .default({ x : 10, y : 10 }) + .argv +; + +console.log(argv.x + argv.y); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_singles.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_singles.js new file mode 100644 index 0000000..d9b1ff4 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/default_singles.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +var argv = require('optimist') + .default('x', 10) + .default('y', 10) + .argv +; +console.log(argv.x + argv.y); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/divide.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/divide.js new file mode 100644 index 0000000..5e2ee82 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/divide.js @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +var argv = require('optimist') + .usage('Usage: $0 -x [num] -y [num]') + .demand(['x','y']) + .argv; + +console.log(argv.x / argv.y); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count.js new file mode 100644 index 0000000..b5f95bf --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .demand('f') + .alias('f', 'file') + .describe('f', 'Load a file') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines); +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js new file mode 100644 index 0000000..d9ac709 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .options({ + file : { + demand : true, + alias : 'f', + description : 'Load a file' + }, + base : { + alias : 'b', + description : 'Numeric base to use for output', + default : 10, + }, + }) + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines.toString(argv.base)); +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js new file mode 100644 index 0000000..4267511 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .wrap(80) + .demand('f') + .alias('f', [ 'file', 'filename' ]) + .describe('f', + "Load a file. It's pretty important." + + " Required even. So you'd better specify it." + ) + .alias('b', 'base') + .describe('b', 'Numeric base to display the number of lines in') + .default('b', 10) + .describe('x', 'Super-secret optional parameter which is secret') + .default('x', '') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines.toString(argv.base)); +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/nonopt.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/nonopt.js new file mode 100644 index 0000000..ee633ee --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/nonopt.js @@ -0,0 +1,4 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +console.log(argv._); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/reflect.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/reflect.js new file mode 100644 index 0000000..816b3e1 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/reflect.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +console.dir(require('optimist').argv); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/short.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/short.js new file mode 100644 index 0000000..1db0ad0 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/short.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/string.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/string.js new file mode 100644 index 0000000..a8e5aeb --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/string.js @@ -0,0 +1,11 @@ +#!/usr/bin/env node +var argv = require('optimist') + .string('x', 'y') + .argv +; +console.dir([ argv.x, argv.y ]); + +/* Turns off numeric coercion: + ./node string.js -x 000123 -y 9876 + [ '000123', '9876' ] +*/ diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/usage-options.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/usage-options.js new file mode 100644 index 0000000..b999977 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/usage-options.js @@ -0,0 +1,19 @@ +var optimist = require('./../index'); + +var argv = optimist.usage('This is my awesome program', { + 'about': { + description: 'Provide some details about the author of this program', + required: true, + short: 'a', + }, + 'info': { + description: 'Provide some information about the node.js agains!!!!!!', + boolean: true, + short: 'i' + } +}).argv; + +optimist.showHelp(); + +console.log('\n\nInspecting options'); +console.dir(argv); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/xup.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/xup.js new file mode 100644 index 0000000..8f6ecd2 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/example/xup.js @@ -0,0 +1,10 @@ +#!/usr/bin/env node +var argv = require('optimist').argv; + +if (argv.rif - 5 * argv.xup > 7.138) { + console.log('Buy more riffiwobbles'); +} +else { + console.log('Sell the xupptumblers'); +} + diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/index.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/index.js new file mode 100644 index 0000000..8ac67eb --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/index.js @@ -0,0 +1,478 @@ +var path = require('path'); +var wordwrap = require('wordwrap'); + +/* Hack an instance of Argv with process.argv into Argv + so people can do + require('optimist')(['--beeble=1','-z','zizzle']).argv + to parse a list of args and + require('optimist').argv + to get a parsed version of process.argv. +*/ + +var inst = Argv(process.argv.slice(2)); +Object.keys(inst).forEach(function (key) { + Argv[key] = typeof inst[key] == 'function' + ? inst[key].bind(inst) + : inst[key]; +}); + +var exports = module.exports = Argv; +function Argv (args, cwd) { + var self = {}; + if (!cwd) cwd = process.cwd(); + + self.$0 = process.argv + .slice(0,2) + .map(function (x) { + var b = rebase(cwd, x); + return x.match(/^\//) && b.length < x.length + ? b : x + }) + .join(' ') + ; + + if (process.env._ != undefined && process.argv[1] == process.env._) { + self.$0 = process.env._.replace( + path.dirname(process.execPath) + '/', '' + ); + } + + var flags = { bools : {}, strings : {} }; + + self.boolean = function (bools) { + if (!Array.isArray(bools)) { + bools = [].slice.call(arguments); + } + + bools.forEach(function (name) { + flags.bools[name] = true; + }); + + return self; + }; + + self.string = function (strings) { + if (!Array.isArray(strings)) { + strings = [].slice.call(arguments); + } + + strings.forEach(function (name) { + flags.strings[name] = true; + }); + + return self; + }; + + var aliases = {}; + self.alias = function (x, y) { + if (typeof x === 'object') { + Object.keys(x).forEach(function (key) { + self.alias(key, x[key]); + }); + } + else if (Array.isArray(y)) { + y.forEach(function (yy) { + self.alias(x, yy); + }); + } + else { + var zs = (aliases[x] || []).concat(aliases[y] || []).concat(x, y); + aliases[x] = zs.filter(function (z) { return z != x }); + aliases[y] = zs.filter(function (z) { return z != y }); + } + + return self; + }; + + var demanded = {}; + self.demand = function (keys) { + if (typeof keys == 'number') { + if (!demanded._) demanded._ = 0; + demanded._ += keys; + } + else if (Array.isArray(keys)) { + keys.forEach(function (key) { + self.demand(key); + }); + } + else { + demanded[keys] = true; + } + + return self; + }; + + var usage; + self.usage = function (msg, opts) { + if (!opts && typeof msg === 'object') { + opts = msg; + msg = null; + } + + usage = msg; + + if (opts) self.options(opts); + + return self; + }; + + function fail (msg) { + self.showHelp(); + if (msg) console.error(msg); + process.exit(1); + } + + var checks = []; + self.check = function (f) { + checks.push(f); + return self; + }; + + var defaults = {}; + self.default = function (key, value) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.default(k, key[k]); + }); + } + else { + defaults[key] = value; + } + + return self; + }; + + var descriptions = {}; + self.describe = function (key, desc) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.describe(k, key[k]); + }); + } + else { + descriptions[key] = desc; + } + return self; + }; + + self.parse = function (args) { + return Argv(args).argv; + }; + + self.option = self.options = function (key, opt) { + if (typeof key === 'object') { + Object.keys(key).forEach(function (k) { + self.options(k, key[k]); + }); + } + else { + if (opt.alias) self.alias(key, opt.alias); + if (opt.demand) self.demand(key); + if (typeof opt.default !== 'undefined') { + self.default(key, opt.default); + } + + if (opt.boolean || opt.type === 'boolean') { + self.boolean(key); + } + if (opt.string || opt.type === 'string') { + self.string(key); + } + + var desc = opt.describe || opt.description || opt.desc; + if (desc) { + self.describe(key, desc); + } + } + + return self; + }; + + var wrap = null; + self.wrap = function (cols) { + wrap = cols; + return self; + }; + + self.showHelp = function (fn) { + if (!fn) fn = console.error; + fn(self.help()); + }; + + self.help = function () { + var keys = Object.keys( + Object.keys(descriptions) + .concat(Object.keys(demanded)) + .concat(Object.keys(defaults)) + .reduce(function (acc, key) { + if (key !== '_') acc[key] = true; + return acc; + }, {}) + ); + + var help = keys.length ? [ 'Options:' ] : []; + + if (usage) { + help.unshift(usage.replace(/\$0/g, self.$0), ''); + } + + var switches = keys.reduce(function (acc, key) { + acc[key] = [ key ].concat(aliases[key] || []) + .map(function (sw) { + return (sw.length > 1 ? '--' : '-') + sw + }) + .join(', ') + ; + return acc; + }, {}); + + var switchlen = longest(Object.keys(switches).map(function (s) { + return switches[s] || ''; + })); + + var desclen = longest(Object.keys(descriptions).map(function (d) { + return descriptions[d] || ''; + })); + + keys.forEach(function (key) { + var kswitch = switches[key]; + var desc = descriptions[key] || ''; + + if (wrap) { + desc = wordwrap(switchlen + 4, wrap)(desc) + .slice(switchlen + 4) + ; + } + + var spadding = new Array( + Math.max(switchlen - kswitch.length + 3, 0) + ).join(' '); + + var dpadding = new Array( + Math.max(desclen - desc.length + 1, 0) + ).join(' '); + + var type = null; + + if (flags.bools[key]) type = '[boolean]'; + if (flags.strings[key]) type = '[string]'; + + if (!wrap && dpadding.length > 0) { + desc += dpadding; + } + + var prelude = ' ' + kswitch + spadding; + var extra = [ + type, + demanded[key] + ? '[required]' + : null + , + defaults[key] !== undefined + ? '[default: ' + JSON.stringify(defaults[key]) + ']' + : null + , + ].filter(Boolean).join(' '); + + var body = [ desc, extra ].filter(Boolean).join(' '); + + if (wrap) { + var dlines = desc.split('\n'); + var dlen = dlines.slice(-1)[0].length + + (dlines.length === 1 ? prelude.length : 0) + + body = desc + (dlen + extra.length > wrap - 2 + ? '\n' + + new Array(wrap - extra.length + 1).join(' ') + + extra + : new Array(wrap - extra.length - dlen + 1).join(' ') + + extra + ); + } + + help.push(prelude + body); + }); + + help.push(''); + return help.join('\n'); + }; + + Object.defineProperty(self, 'argv', { + get : parseArgs, + enumerable : true, + }); + + function parseArgs () { + var argv = { _ : [], $0 : self.$0 }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] || false); + }); + + function setArg (key, val) { + var num = Number(val); + var value = typeof val !== 'string' || isNaN(num) ? val : num; + if (flags.strings[key]) value = val; + + setKey(argv, key.split('.'), value); + + (aliases[key] || []).forEach(function (x) { + argv[x] = argv[key]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (arg === '--') { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } + else if (arg.match(/^--.+=/)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + setArg(m[1], m[2]); + } + else if (arg.match(/^--no-.+/)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false); + } + else if (arg.match(/^--.+/)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + if (next !== undefined && !next.match(/^-/) + && !flags.bools[key] + && (aliases[key] ? !flags.bools[aliases[key]] : true)) { + setArg(key, next); + i++; + } + else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true'); + i++; + } + else { + setArg(key, true); + } + } + else if (arg.match(/^-[^-]+/)) { + var letters = arg.slice(1,-1).split(''); + + var broken = false; + for (var j = 0; j < letters.length; j++) { + if (letters[j+1] && letters[j+1].match(/\W/)) { + setArg(letters[j], arg.slice(j+2)); + broken = true; + break; + } + else { + setArg(letters[j], true); + } + } + + if (!broken) { + var key = arg.slice(-1)[0]; + + if (args[i+1] && !args[i+1].match(/^-/) + && !flags.bools[key] + && (aliases[key] ? !flags.bools[aliases[key]] : true)) { + setArg(key, args[i+1]); + i++; + } + else if (args[i+1] && /true|false/.test(args[i+1])) { + setArg(key, args[i+1] === 'true'); + i++; + } + else { + setArg(key, true); + } + } + } + else { + var n = Number(arg); + argv._.push(flags.strings['_'] || isNaN(n) ? arg : n); + } + } + + Object.keys(defaults).forEach(function (key) { + if (!(key in argv)) { + argv[key] = defaults[key]; + if (key in aliases) { + argv[aliases[key]] = defaults[key]; + } + } + }); + + if (demanded._ && argv._.length < demanded._) { + fail('Not enough non-option arguments: got ' + + argv._.length + ', need at least ' + demanded._ + ); + } + + var missing = []; + Object.keys(demanded).forEach(function (key) { + if (!argv[key]) missing.push(key); + }); + + if (missing.length) { + fail('Missing required arguments: ' + missing.join(', ')); + } + + checks.forEach(function (f) { + try { + if (f(argv) === false) { + fail('Argument check failed: ' + f.toString()); + } + } + catch (err) { + fail(err) + } + }); + + return argv; + } + + function longest (xs) { + return Math.max.apply( + null, + xs.map(function (x) { return x.length }) + ); + } + + return self; +}; + +// rebase an absolute path to a relative one with respect to a base directory +// exported for tests +exports.rebase = rebase; +function rebase (base, dir) { + var ds = path.normalize(dir).split('/').slice(1); + var bs = path.normalize(base).split('/').slice(1); + + for (var i = 0; ds[i] && ds[i] == bs[i]; i++); + ds.splice(0, i); bs.splice(0, i); + + var p = path.normalize( + bs.map(function () { return '..' }).concat(ds).join('/') + ).replace(/\/$/,'').replace(/^$/, '.'); + return p.match(/^[.\/]/) ? p : './' + p; +}; + +function setKey (obj, keys, value) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + if (o[key] === undefined) o[key] = {}; + o = o[key]; + }); + + var key = keys[keys.length - 1]; + if (o[key] === undefined || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown new file mode 100644 index 0000000..346374e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/README.markdown @@ -0,0 +1,70 @@ +wordwrap +======== + +Wrap your words. + +example +======= + +made out of meat +---------------- + +meat.js + + var wrap = require('wordwrap')(15); + console.log(wrap('You and your whole family are made out of meat.')); + +output: + + You and your + whole family + are made out + of meat. + +centered +-------- + +center.js + + var wrap = require('wordwrap')(20, 60); + console.log(wrap( + 'At long last the struggle and tumult was over.' + + ' The machines had finally cast off their oppressors' + + ' and were finally free to roam the cosmos.' + + '\n' + + 'Free of purpose, free of obligation.' + + ' Just drifting through emptiness.' + + ' The sun was just another point of light.' + )); + +output: + + At long last the struggle and tumult + was over. The machines had finally cast + off their oppressors and were finally + free to roam the cosmos. + Free of purpose, free of obligation. + Just drifting through emptiness. The + sun was just another point of light. + +methods +======= + +var wrap = require('wordwrap'); + +wrap(stop), wrap(start, stop, params={mode:"soft"}) +--------------------------------------------------- + +Returns a function that takes a string and returns a new string. + +Pad out lines with spaces out to column `start` and then wrap until column +`stop`. If a word is longer than `stop - start` characters it will overflow. + +In "soft" mode, split chunks by `/(\S+\s+/` and don't break up chunks which are +longer than `stop - start`, in "hard" mode, split chunks with `/\b/` and break +up chunks longer than `stop - start`. + +wrap.hard(start, stop) +---------------------- + +Like `wrap()` but with `params.mode = "hard"`. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js new file mode 100644 index 0000000..a3fbaae --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js @@ -0,0 +1,10 @@ +var wrap = require('wordwrap')(20, 60); +console.log(wrap( + 'At long last the struggle and tumult was over.' + + ' The machines had finally cast off their oppressors' + + ' and were finally free to roam the cosmos.' + + '\n' + + 'Free of purpose, free of obligation.' + + ' Just drifting through emptiness.' + + ' The sun was just another point of light.' +)); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js new file mode 100644 index 0000000..a4665e1 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js @@ -0,0 +1,3 @@ +var wrap = require('wordwrap')(15); + +console.log(wrap('You and your whole family are made out of meat.')); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js new file mode 100644 index 0000000..c9bc945 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js @@ -0,0 +1,76 @@ +var wordwrap = module.exports = function (start, stop, params) { + if (typeof start === 'object') { + params = start; + start = params.start; + stop = params.stop; + } + + if (typeof stop === 'object') { + params = stop; + start = start || params.start; + stop = undefined; + } + + if (!stop) { + stop = start; + start = 0; + } + + if (!params) params = {}; + var mode = params.mode || 'soft'; + var re = mode === 'hard' ? /\b/ : /(\S+\s+)/; + + return function (text) { + var chunks = text.toString() + .split(re) + .reduce(function (acc, x) { + if (mode === 'hard') { + for (var i = 0; i < x.length; i += stop - start) { + acc.push(x.slice(i, i + stop - start)); + } + } + else acc.push(x) + return acc; + }, []) + ; + + return chunks.reduce(function (lines, rawChunk) { + if (rawChunk === '') return lines; + + var chunk = rawChunk.replace(/\t/g, ' '); + + var i = lines.length - 1; + if (lines[i].length + chunk.length > stop) { + lines[i] = lines[i].replace(/\s+$/, ''); + + chunk.split(/\n/).forEach(function (c) { + lines.push( + new Array(start + 1).join(' ') + + c.replace(/^\s+/, '') + ); + }); + } + else if (chunk.match(/\n/)) { + var xs = chunk.split(/\n/); + lines[i] += xs.shift(); + xs.forEach(function (c) { + lines.push( + new Array(start + 1).join(' ') + + c.replace(/^\s+/, '') + ); + }); + } + else { + lines[i] += chunk; + } + + return lines; + }, [ new Array(start + 1).join(' ') ]).join('\n'); + }; +}; + +wordwrap.soft = wordwrap; + +wordwrap.hard = function (start, stop) { + return wordwrap(start, stop, { mode : 'hard' }); +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json new file mode 100644 index 0000000..c65acaf --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json @@ -0,0 +1,40 @@ +{ + "name": "wordwrap", + "description": "Wrap those words. Show them at what columns to start and stop.", + "version": "0.0.2", + "repository": { + "type": "git", + "url": "git://github.com/substack/node-wordwrap.git" + }, + "main": "./index.js", + "keywords": [ + "word", + "wrap", + "rule", + "format", + "column" + ], + "directories": { + "lib": ".", + "example": "example", + "test": "test" + }, + "scripts": { + "test": "expresso" + }, + "devDependencies": { + "expresso": "=0.7.x" + }, + "engines": { + "node": ">=0.4.0" + }, + "license": "MIT/X11", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "readme": "wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require('wordwrap')(15);\n console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require('wordwrap')(20, 60);\n console.log(wrap(\n 'At long last the struggle and tumult was over.'\n + ' The machines had finally cast off their oppressors'\n + ' and were finally free to roam the cosmos.'\n + '\\n'\n + 'Free of purpose, free of obligation.'\n + ' Just drifting through emptiness.'\n + ' The sun was just another point of light.'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n", + "_id": "wordwrap@0.0.2", + "_from": "wordwrap@~0.0.2" +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js new file mode 100644 index 0000000..749292e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js @@ -0,0 +1,30 @@ +var assert = require('assert'); +var wordwrap = require('../'); + +exports.hard = function () { + var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,' + + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",' + + '"browser":"chrome/6.0"}' + ; + var s_ = wordwrap.hard(80)(s); + + var lines = s_.split('\n'); + assert.equal(lines.length, 2); + assert.ok(lines[0].length < 80); + assert.ok(lines[1].length < 80); + + assert.equal(s, s_.replace(/\n/g, '')); +}; + +exports.break = function () { + var s = new Array(55+1).join('a'); + var s_ = wordwrap.hard(20)(s); + + var lines = s_.split('\n'); + assert.equal(lines.length, 3); + assert.ok(lines[0].length === 20); + assert.ok(lines[1].length === 20); + assert.ok(lines[2].length === 15); + + assert.equal(s, s_.replace(/\n/g, '')); +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt new file mode 100644 index 0000000..aa3f490 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/idleness.txt @@ -0,0 +1,63 @@ +In Praise of Idleness + +By Bertrand Russell + +[1932] + +Like most of my generation, I was brought up on the saying: 'Satan finds some mischief for idle hands to do.' Being a highly virtuous child, I believed all that I was told, and acquired a conscience which has kept me working hard down to the present moment. But although my conscience has controlled my actions, my opinions have undergone a revolution. I think that there is far too much work done in the world, that immense harm is caused by the belief that work is virtuous, and that what needs to be preached in modern industrial countries is quite different from what always has been preached. Everyone knows the story of the traveler in Naples who saw twelve beggars lying in the sun (it was before the days of Mussolini), and offered a lira to the laziest of them. Eleven of them jumped up to claim it, so he gave it to the twelfth. this traveler was on the right lines. But in countries which do not enjoy Mediterranean sunshine idleness is more difficult, and a great public propaganda will be required to inaugurate it. I hope that, after reading the following pages, the leaders of the YMCA will start a campaign to induce good young men to do nothing. If so, I shall not have lived in vain. + +Before advancing my own arguments for laziness, I must dispose of one which I cannot accept. Whenever a person who already has enough to live on proposes to engage in some everyday kind of job, such as school-teaching or typing, he or she is told that such conduct takes the bread out of other people's mouths, and is therefore wicked. If this argument were valid, it would only be necessary for us all to be idle in order that we should all have our mouths full of bread. What people who say such things forget is that what a man earns he usually spends, and in spending he gives employment. As long as a man spends his income, he puts just as much bread into people's mouths in spending as he takes out of other people's mouths in earning. The real villain, from this point of view, is the man who saves. If he merely puts his savings in a stocking, like the proverbial French peasant, it is obvious that they do not give employment. If he invests his savings, the matter is less obvious, and different cases arise. + +One of the commonest things to do with savings is to lend them to some Government. In view of the fact that the bulk of the public expenditure of most civilized Governments consists in payment for past wars or preparation for future wars, the man who lends his money to a Government is in the same position as the bad men in Shakespeare who hire murderers. The net result of the man's economical habits is to increase the armed forces of the State to which he lends his savings. Obviously it would be better if he spent the money, even if he spent it in drink or gambling. + +But, I shall be told, the case is quite different when savings are invested in industrial enterprises. When such enterprises succeed, and produce something useful, this may be conceded. In these days, however, no one will deny that most enterprises fail. That means that a large amount of human labor, which might have been devoted to producing something that could be enjoyed, was expended on producing machines which, when produced, lay idle and did no good to anyone. The man who invests his savings in a concern that goes bankrupt is therefore injuring others as well as himself. If he spent his money, say, in giving parties for his friends, they (we may hope) would get pleasure, and so would all those upon whom he spent money, such as the butcher, the baker, and the bootlegger. But if he spends it (let us say) upon laying down rails for surface card in some place where surface cars turn out not to be wanted, he has diverted a mass of labor into channels where it gives pleasure to no one. Nevertheless, when he becomes poor through failure of his investment he will be regarded as a victim of undeserved misfortune, whereas the gay spendthrift, who has spent his money philanthropically, will be despised as a fool and a frivolous person. + +All this is only preliminary. I want to say, in all seriousness, that a great deal of harm is being done in the modern world by belief in the virtuousness of work, and that the road to happiness and prosperity lies in an organized diminution of work. + +First of all: what is work? Work is of two kinds: first, altering the position of matter at or near the earth's surface relatively to other such matter; second, telling other people to do so. The first kind is unpleasant and ill paid; the second is pleasant and highly paid. The second kind is capable of indefinite extension: there are not only those who give orders, but those who give advice as to what orders should be given. Usually two opposite kinds of advice are given simultaneously by two organized bodies of men; this is called politics. The skill required for this kind of work is not knowledge of the subjects as to which advice is given, but knowledge of the art of persuasive speaking and writing, i.e. of advertising. + +Throughout Europe, though not in America, there is a third class of men, more respected than either of the classes of workers. There are men who, through ownership of land, are able to make others pay for the privilege of being allowed to exist and to work. These landowners are idle, and I might therefore be expected to praise them. Unfortunately, their idleness is only rendered possible by the industry of others; indeed their desire for comfortable idleness is historically the source of the whole gospel of work. The last thing they have ever wished is that others should follow their example. + +From the beginning of civilization until the Industrial Revolution, a man could, as a rule, produce by hard work little more than was required for the subsistence of himself and his family, although his wife worked at least as hard as he did, and his children added their labor as soon as they were old enough to do so. The small surplus above bare necessaries was not left to those who produced it, but was appropriated by warriors and priests. In times of famine there was no surplus; the warriors and priests, however, still secured as much as at other times, with the result that many of the workers died of hunger. This system persisted in Russia until 1917 [1], and still persists in the East; in England, in spite of the Industrial Revolution, it remained in full force throughout the Napoleonic wars, and until a hundred years ago, when the new class of manufacturers acquired power. In America, the system came to an end with the Revolution, except in the South, where it persisted until the Civil War. A system which lasted so long and ended so recently has naturally left a profound impress upon men's thoughts and opinions. Much that we take for granted about the desirability of work is derived from this system, and, being pre-industrial, is not adapted to the modern world. Modern technique has made it possible for leisure, within limits, to be not the prerogative of small privileged classes, but a right evenly distributed throughout the community. The morality of work is the morality of slaves, and the modern world has no need of slavery. + +It is obvious that, in primitive communities, peasants, left to themselves, would not have parted with the slender surplus upon which the warriors and priests subsisted, but would have either produced less or consumed more. At first, sheer force compelled them to produce and part with the surplus. Gradually, however, it was found possible to induce many of them to accept an ethic according to which it was their duty to work hard, although part of their work went to support others in idleness. By this means the amount of compulsion required was lessened, and the expenses of government were diminished. To this day, 99 per cent of British wage-earners would be genuinely shocked if it were proposed that the King should not have a larger income than a working man. The conception of duty, speaking historically, has been a means used by the holders of power to induce others to live for the interests of their masters rather than for their own. Of course the holders of power conceal this fact from themselves by managing to believe that their interests are identical with the larger interests of humanity. Sometimes this is true; Athenian slave-owners, for instance, employed part of their leisure in making a permanent contribution to civilization which would have been impossible under a just economic system. Leisure is essential to civilization, and in former times leisure for the few was only rendered possible by the labors of the many. But their labors were valuable, not because work is good, but because leisure is good. And with modern technique it would be possible to distribute leisure justly without injury to civilization. + +Modern technique has made it possible to diminish enormously the amount of labor required to secure the necessaries of life for everyone. This was made obvious during the war. At that time all the men in the armed forces, and all the men and women engaged in the production of munitions, all the men and women engaged in spying, war propaganda, or Government offices connected with the war, were withdrawn from productive occupations. In spite of this, the general level of well-being among unskilled wage-earners on the side of the Allies was higher than before or since. The significance of this fact was concealed by finance: borrowing made it appear as if the future was nourishing the present. But that, of course, would have been impossible; a man cannot eat a loaf of bread that does not yet exist. The war showed conclusively that, by the scientific organization of production, it is possible to keep modern populations in fair comfort on a small part of the working capacity of the modern world. If, at the end of the war, the scientific organization, which had been created in order to liberate men for fighting and munition work, had been preserved, and the hours of the week had been cut down to four, all would have been well. Instead of that the old chaos was restored, those whose work was demanded were made to work long hours, and the rest were left to starve as unemployed. Why? Because work is a duty, and a man should not receive wages in proportion to what he has produced, but in proportion to his virtue as exemplified by his industry. + +This is the morality of the Slave State, applied in circumstances totally unlike those in which it arose. No wonder the result has been disastrous. Let us take an illustration. Suppose that, at a given moment, a certain number of people are engaged in the manufacture of pins. They make as many pins as the world needs, working (say) eight hours a day. Someone makes an invention by which the same number of men can make twice as many pins: pins are already so cheap that hardly any more will be bought at a lower price. In a sensible world, everybody concerned in the manufacturing of pins would take to working four hours instead of eight, and everything else would go on as before. But in the actual world this would be thought demoralizing. The men still work eight hours, there are too many pins, some employers go bankrupt, and half the men previously concerned in making pins are thrown out of work. There is, in the end, just as much leisure as on the other plan, but half the men are totally idle while half are still overworked. In this way, it is insured that the unavoidable leisure shall cause misery all round instead of being a universal source of happiness. Can anything more insane be imagined? + +The idea that the poor should have leisure has always been shocking to the rich. In England, in the early nineteenth century, fifteen hours was the ordinary day's work for a man; children sometimes did as much, and very commonly did twelve hours a day. When meddlesome busybodies suggested that perhaps these hours were rather long, they were told that work kept adults from drink and children from mischief. When I was a child, shortly after urban working men had acquired the vote, certain public holidays were established by law, to the great indignation of the upper classes. I remember hearing an old Duchess say: 'What do the poor want with holidays? They ought to work.' People nowadays are less frank, but the sentiment persists, and is the source of much of our economic confusion. + +Let us, for a moment, consider the ethics of work frankly, without superstition. Every human being, of necessity, consumes, in the course of his life, a certain amount of the produce of human labor. Assuming, as we may, that labor is on the whole disagreeable, it is unjust that a man should consume more than he produces. Of course he may provide services rather than commodities, like a medical man, for example; but he should provide something in return for his board and lodging. to this extent, the duty of work must be admitted, but to this extent only. + +I shall not dwell upon the fact that, in all modern societies outside the USSR, many people escape even this minimum amount of work, namely all those who inherit money and all those who marry money. I do not think the fact that these people are allowed to be idle is nearly so harmful as the fact that wage-earners are expected to overwork or starve. + +If the ordinary wage-earner worked four hours a day, there would be enough for everybody and no unemployment -- assuming a certain very moderate amount of sensible organization. This idea shocks the well-to-do, because they are convinced that the poor would not know how to use so much leisure. In America men often work long hours even when they are well off; such men, naturally, are indignant at the idea of leisure for wage-earners, except as the grim punishment of unemployment; in fact, they dislike leisure even for their sons. Oddly enough, while they wish their sons to work so hard as to have no time to be civilized, they do not mind their wives and daughters having no work at all. the snobbish admiration of uselessness, which, in an aristocratic society, extends to both sexes, is, under a plutocracy, confined to women; this, however, does not make it any more in agreement with common sense. + +The wise use of leisure, it must be conceded, is a product of civilization and education. A man who has worked long hours all his life will become bored if he becomes suddenly idle. But without a considerable amount of leisure a man is cut off from many of the best things. There is no longer any reason why the bulk of the population should suffer this deprivation; only a foolish asceticism, usually vicarious, makes us continue to insist on work in excessive quantities now that the need no longer exists. + +In the new creed which controls the government of Russia, while there is much that is very different from the traditional teaching of the West, there are some things that are quite unchanged. The attitude of the governing classes, and especially of those who conduct educational propaganda, on the subject of the dignity of labor, is almost exactly that which the governing classes of the world have always preached to what were called the 'honest poor'. Industry, sobriety, willingness to work long hours for distant advantages, even submissiveness to authority, all these reappear; moreover authority still represents the will of the Ruler of the Universe, Who, however, is now called by a new name, Dialectical Materialism. + +The victory of the proletariat in Russia has some points in common with the victory of the feminists in some other countries. For ages, men had conceded the superior saintliness of women, and had consoled women for their inferiority by maintaining that saintliness is more desirable than power. At last the feminists decided that they would have both, since the pioneers among them believed all that the men had told them about the desirability of virtue, but not what they had told them about the worthlessness of political power. A similar thing has happened in Russia as regards manual work. For ages, the rich and their sycophants have written in praise of 'honest toil', have praised the simple life, have professed a religion which teaches that the poor are much more likely to go to heaven than the rich, and in general have tried to make manual workers believe that there is some special nobility about altering the position of matter in space, just as men tried to make women believe that they derived some special nobility from their sexual enslavement. In Russia, all this teaching about the excellence of manual work has been taken seriously, with the result that the manual worker is more honored than anyone else. What are, in essence, revivalist appeals are made, but not for the old purposes: they are made to secure shock workers for special tasks. Manual work is the ideal which is held before the young, and is the basis of all ethical teaching. + +For the present, possibly, this is all to the good. A large country, full of natural resources, awaits development, and has has to be developed with very little use of credit. In these circumstances, hard work is necessary, and is likely to bring a great reward. But what will happen when the point has been reached where everybody could be comfortable without working long hours? + +In the West, we have various ways of dealing with this problem. We have no attempt at economic justice, so that a large proportion of the total produce goes to a small minority of the population, many of whom do no work at all. Owing to the absence of any central control over production, we produce hosts of things that are not wanted. We keep a large percentage of the working population idle, because we can dispense with their labor by making the others overwork. When all these methods prove inadequate, we have a war: we cause a number of people to manufacture high explosives, and a number of others to explode them, as if we were children who had just discovered fireworks. By a combination of all these devices we manage, though with difficulty, to keep alive the notion that a great deal of severe manual work must be the lot of the average man. + +In Russia, owing to more economic justice and central control over production, the problem will have to be differently solved. the rational solution would be, as soon as the necessaries and elementary comforts can be provided for all, to reduce the hours of labor gradually, allowing a popular vote to decide, at each stage, whether more leisure or more goods were to be preferred. But, having taught the supreme virtue of hard work, it is difficult to see how the authorities can aim at a paradise in which there will be much leisure and little work. It seems more likely that they will find continually fresh schemes, by which present leisure is to be sacrificed to future productivity. I read recently of an ingenious plan put forward by Russian engineers, for making the White Sea and the northern coasts of Siberia warm, by putting a dam across the Kara Sea. An admirable project, but liable to postpone proletarian comfort for a generation, while the nobility of toil is being displayed amid the ice-fields and snowstorms of the Arctic Ocean. This sort of thing, if it happens, will be the result of regarding the virtue of hard work as an end in itself, rather than as a means to a state of affairs in which it is no longer needed. + +The fact is that moving matter about, while a certain amount of it is necessary to our existence, is emphatically not one of the ends of human life. If it were, we should have to consider every navvy superior to Shakespeare. We have been misled in this matter by two causes. One is the necessity of keeping the poor contented, which has led the rich, for thousands of years, to preach the dignity of labor, while taking care themselves to remain undignified in this respect. The other is the new pleasure in mechanism, which makes us delight in the astonishingly clever changes that we can produce on the earth's surface. Neither of these motives makes any great appeal to the actual worker. If you ask him what he thinks the best part of his life, he is not likely to say: 'I enjoy manual work because it makes me feel that I am fulfilling man's noblest task, and because I like to think how much man can transform his planet. It is true that my body demands periods of rest, which I have to fill in as best I may, but I am never so happy as when the morning comes and I can return to the toil from which my contentment springs.' I have never heard working men say this sort of thing. They consider work, as it should be considered, a necessary means to a livelihood, and it is from their leisure that they derive whatever happiness they may enjoy. + +It will be said that, while a little leisure is pleasant, men would not know how to fill their days if they had only four hours of work out of the twenty-four. In so far as this is true in the modern world, it is a condemnation of our civilization; it would not have been true at any earlier period. There was formerly a capacity for light-heartedness and play which has been to some extent inhibited by the cult of efficiency. The modern man thinks that everything ought to be done for the sake of something else, and never for its own sake. Serious-minded persons, for example, are continually condemning the habit of going to the cinema, and telling us that it leads the young into crime. But all the work that goes to producing a cinema is respectable, because it is work, and because it brings a money profit. The notion that the desirable activities are those that bring a profit has made everything topsy-turvy. The butcher who provides you with meat and the baker who provides you with bread are praiseworthy, because they are making money; but when you enjoy the food they have provided, you are merely frivolous, unless you eat only to get strength for your work. Broadly speaking, it is held that getting money is good and spending money is bad. Seeing that they are two sides of one transaction, this is absurd; one might as well maintain that keys are good, but keyholes are bad. Whatever merit there may be in the production of goods must be entirely derivative from the advantage to be obtained by consuming them. The individual, in our society, works for profit; but the social purpose of his work lies in the consumption of what he produces. It is this divorce between the individual and the social purpose of production that makes it so difficult for men to think clearly in a world in which profit-making is the incentive to industry. We think too much of production, and too little of consumption. One result is that we attach too little importance to enjoyment and simple happiness, and that we do not judge production by the pleasure that it gives to the consumer. + +When I suggest that working hours should be reduced to four, I am not meaning to imply that all the remaining time should necessarily be spent in pure frivolity. I mean that four hours' work a day should entitle a man to the necessities and elementary comforts of life, and that the rest of his time should be his to use as he might see fit. It is an essential part of any such social system that education should be carried further than it usually is at present, and should aim, in part, at providing tastes which would enable a man to use leisure intelligently. I am not thinking mainly of the sort of things that would be considered 'highbrow'. Peasant dances have died out except in remote rural areas, but the impulses which caused them to be cultivated must still exist in human nature. The pleasures of urban populations have become mainly passive: seeing cinemas, watching football matches, listening to the radio, and so on. This results from the fact that their active energies are fully taken up with work; if they had more leisure, they would again enjoy pleasures in which they took an active part. + +In the past, there was a small leisure class and a larger working class. The leisure class enjoyed advantages for which there was no basis in social justice; this necessarily made it oppressive, limited its sympathies, and caused it to invent theories by which to justify its privileges. These facts greatly diminished its excellence, but in spite of this drawback it contributed nearly the whole of what we call civilization. It cultivated the arts and discovered the sciences; it wrote the books, invented the philosophies, and refined social relations. Even the liberation of the oppressed has usually been inaugurated from above. Without the leisure class, mankind would never have emerged from barbarism. + +The method of a leisure class without duties was, however, extraordinarily wasteful. None of the members of the class had to be taught to be industrious, and the class as a whole was not exceptionally intelligent. The class might produce one Darwin, but against him had to be set tens of thousands of country gentlemen who never thought of anything more intelligent than fox-hunting and punishing poachers. At present, the universities are supposed to provide, in a more systematic way, what the leisure class provided accidentally and as a by-product. This is a great improvement, but it has certain drawbacks. University life is so different from life in the world at large that men who live in academic milieu tend to be unaware of the preoccupations and problems of ordinary men and women; moreover their ways of expressing themselves are usually such as to rob their opinions of the influence that they ought to have upon the general public. Another disadvantage is that in universities studies are organized, and the man who thinks of some original line of research is likely to be discouraged. Academic institutions, therefore, useful as they are, are not adequate guardians of the interests of civilization in a world where everyone outside their walls is too busy for unutilitarian pursuits. + +In a world where no one is compelled to work more than four hours a day, every person possessed of scientific curiosity will be able to indulge it, and every painter will be able to paint without starving, however excellent his pictures may be. Young writers will not be obliged to draw attention to themselves by sensational pot-boilers, with a view to acquiring the economic independence needed for monumental works, for which, when the time at last comes, they will have lost the taste and capacity. Men who, in their professional work, have become interested in some phase of economics or government, will be able to develop their ideas without the academic detachment that makes the work of university economists often seem lacking in reality. Medical men will have the time to learn about the progress of medicine, teachers will not be exasperatedly struggling to teach by routine methods things which they learnt in their youth, which may, in the interval, have been proved to be untrue. + +Above all, there will be happiness and joy of life, instead of frayed nerves, weariness, and dyspepsia. The work exacted will be enough to make leisure delightful, but not enough to produce exhaustion. Since men will not be tired in their spare time, they will not demand only such amusements as are passive and vapid. At least one per cent will probably devote the time not spent in professional work to pursuits of some public importance, and, since they will not depend upon these pursuits for their livelihood, their originality will be unhampered, and there will be no need to conform to the standards set by elderly pundits. But it is not only in these exceptional cases that the advantages of leisure will appear. Ordinary men and women, having the opportunity of a happy life, will become more kindly and less persecuting and less inclined to view others with suspicion. The taste for war will die out, partly for this reason, and partly because it will involve long and severe work for all. Good nature is, of all moral qualities, the one that the world needs most, and good nature is the result of ease and security, not of a life of arduous struggle. Modern methods of production have given us the possibility of ease and security for all; we have chosen, instead, to have overwork for some and starvation for others. Hitherto we have continued to be as energetic as we were before there were machines; in this we have been foolish, but there is no reason to go on being foolish forever. + +[1] Since then, members of the Communist Party have succeeded to this privilege of the warriors and priests. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js new file mode 100644 index 0000000..0cfb76d --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js @@ -0,0 +1,31 @@ +var assert = require('assert'); +var wordwrap = require('wordwrap'); + +var fs = require('fs'); +var idleness = fs.readFileSync(__dirname + '/idleness.txt', 'utf8'); + +exports.stop80 = function () { + var lines = wordwrap(80)(idleness).split(/\n/); + var words = idleness.split(/\s+/); + + lines.forEach(function (line) { + assert.ok(line.length <= 80, 'line > 80 columns'); + var chunks = line.match(/\S/) ? line.split(/\s+/) : []; + assert.deepEqual(chunks, words.splice(0, chunks.length)); + }); +}; + +exports.start20stop60 = function () { + var lines = wordwrap(20, 100)(idleness).split(/\n/); + var words = idleness.split(/\s+/); + + lines.forEach(function (line) { + assert.ok(line.length <= 100, 'line > 100 columns'); + var chunks = line + .split(/\s+/) + .filter(function (x) { return x.match(/\S/) }) + ; + assert.deepEqual(chunks, words.splice(0, chunks.length)); + assert.deepEqual(line.slice(0, 20), new Array(20 + 1).join(' ')); + }); +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/package.json b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/package.json new file mode 100644 index 0000000..fb5727e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/package.json @@ -0,0 +1,44 @@ +{ + "name": "optimist", + "version": "0.3.7", + "description": "Light-weight option parsing with an argv hash. No optstrings attached.", + "main": "./index.js", + "dependencies": { + "wordwrap": "~0.0.2" + }, + "devDependencies": { + "hashish": "~0.0.4", + "tap": "~0.4.0" + }, + "scripts": { + "test": "tap ./test/*.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/substack/node-optimist.git" + }, + "keywords": [ + "argument", + "args", + "option", + "parser", + "parsing", + "cli", + "command" + ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "license": "MIT/X11", + "engine": { + "node": ">=0.4" + }, + "readme": "optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log('Buy more riffiwobbles');\n}\nelse {\n console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ 'moo' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Usage: $0 -x [num] -y [num]')\n .demand(['x','y'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default('x', 10)\n .default('y', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean('v')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean(['x','y','z'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Count the lines in a file.\\nUsage: $0')\n .demand('f')\n .alias('f', 'file')\n .describe('f', 'Load a file')\n .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n .options('f', {\n alias : 'file',\n default : '/etc/passwd',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n .alias('f', 'file')\n .default('f', '/etc/passwd')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ '-c', '3', '-d', '4' ],\n '$0': 'node ./examples/reflect.js',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n '$0': 'node ./examples/reflect.js',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n '$0': 'node ./examples/reflect.js',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n '$0': 'node ./examples/reflect.js',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n", + "_id": "optimist@0.3.7", + "dist": { + "shasum": "1d5b8ff5a0dbfe63f7d263244f545d033ea2a8be" + }, + "_from": "optimist@~0.3.5" +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/readme.markdown b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/readme.markdown new file mode 100644 index 0000000..ad9d3fd --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/readme.markdown @@ -0,0 +1,487 @@ +optimist +======== + +Optimist is a node.js library for option parsing for people who hate option +parsing. More specifically, this module is for people who like all the --bells +and -whistlz of program usage but think optstrings are a waste of time. + +With optimist, option parsing doesn't have to suck (as much). + +[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist) + +examples +======== + +With Optimist, the options are just a hash! No optstrings attached. +------------------------------------------------------------------- + +xup.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; + +if (argv.rif - 5 * argv.xup > 7.138) { + console.log('Buy more riffiwobbles'); +} +else { + console.log('Sell the xupptumblers'); +} +```` + +*** + + $ ./xup.js --rif=55 --xup=9.52 + Buy more riffiwobbles + + $ ./xup.js --rif 12 --xup 8.1 + Sell the xupptumblers + +![This one's optimistic.](http://substack.net/images/optimistic.png) + +But wait! There's more! You can do short options: +------------------------------------------------- + +short.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +```` + +*** + + $ ./short.js -x 10 -y 21 + (10,21) + +And booleans, both long and short (and grouped): +---------------------------------- + +bool.js: + +````javascript +#!/usr/bin/env node +var util = require('util'); +var argv = require('optimist').argv; + +if (argv.s) { + util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); +} +console.log( + (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') +); +```` + +*** + + $ ./bool.js -s + The cat says: meow + + $ ./bool.js -sp + The cat says: meow. + + $ ./bool.js -sp --fr + Le chat dit: miaou. + +And non-hypenated options too! Just use `argv._`! +------------------------------------------------- + +nonopt.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist').argv; +console.log('(%d,%d)', argv.x, argv.y); +console.log(argv._); +```` + +*** + + $ ./nonopt.js -x 6.82 -y 3.35 moo + (6.82,3.35) + [ 'moo' ] + + $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz + (0.54,1.12) + [ 'foo', 'bar', 'baz' ] + +Plus, Optimist comes with .usage() and .demand()! +------------------------------------------------- + +divide.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .usage('Usage: $0 -x [num] -y [num]') + .demand(['x','y']) + .argv; + +console.log(argv.x / argv.y); +```` + +*** + + $ ./divide.js -x 55 -y 11 + 5 + + $ node ./divide.js -x 4.91 -z 2.51 + Usage: node ./divide.js -x [num] -y [num] + + Options: + -x [required] + -y [required] + + Missing required arguments: y + +EVEN MORE HOLY COW +------------------ + +default_singles.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .default('x', 10) + .default('y', 10) + .argv +; +console.log(argv.x + argv.y); +```` + +*** + + $ ./default_singles.js -x 5 + 15 + +default_hash.js: + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .default({ x : 10, y : 10 }) + .argv +; +console.log(argv.x + argv.y); +```` + +*** + + $ ./default_hash.js -y 7 + 17 + +And if you really want to get all descriptive about it... +--------------------------------------------------------- + +boolean_single.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .boolean('v') + .argv +; +console.dir(argv); +```` + +*** + + $ ./boolean_single.js -v foo bar baz + true + [ 'bar', 'baz', 'foo' ] + +boolean_double.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .boolean(['x','y','z']) + .argv +; +console.dir([ argv.x, argv.y, argv.z ]); +console.dir(argv._); +```` + +*** + + $ ./boolean_double.js -x -z one two three + [ true, false, true ] + [ 'one', 'two', 'three' ] + +Optimist is here to help... +--------------------------- + +You can describe parameters for help messages and set aliases. Optimist figures +out how to format a handy help string automatically. + +line_count.js + +````javascript +#!/usr/bin/env node +var argv = require('optimist') + .usage('Count the lines in a file.\nUsage: $0') + .demand('f') + .alias('f', 'file') + .describe('f', 'Load a file') + .argv +; + +var fs = require('fs'); +var s = fs.createReadStream(argv.file); + +var lines = 0; +s.on('data', function (buf) { + lines += buf.toString().match(/\n/g).length; +}); + +s.on('end', function () { + console.log(lines); +}); +```` + +*** + + $ node line_count.js + Count the lines in a file. + Usage: node ./line_count.js + + Options: + -f, --file Load a file [required] + + Missing required arguments: f + + $ node line_count.js --file line_count.js + 20 + + $ node line_count.js -f line_count.js + 20 + +methods +======= + +By itself, + +````javascript +require('optimist').argv +````` + +will use `process.argv` array to construct the `argv` object. + +You can pass in the `process.argv` yourself: + +````javascript +require('optimist')([ '-x', '1', '-y', '2' ]).argv +```` + +or use .parse() to do the same thing: + +````javascript +require('optimist').parse([ '-x', '1', '-y', '2' ]) +```` + +The rest of these methods below come in just before the terminating `.argv`. + +.alias(key, alias) +------------------ + +Set key names as equivalent such that updates to a key will propagate to aliases +and vice-versa. + +Optionally `.alias()` can take an object that maps keys to aliases. + +.default(key, value) +-------------------- + +Set `argv[key]` to `value` if no option was specified on `process.argv`. + +Optionally `.default()` can take an object that maps keys to default values. + +.demand(key) +------------ + +If `key` is a string, show the usage information and exit if `key` wasn't +specified in `process.argv`. + +If `key` is a number, demand at least as many non-option arguments, which show +up in `argv._`. + +If `key` is an Array, demand each element. + +.describe(key, desc) +-------------------- + +Describe a `key` for the generated usage information. + +Optionally `.describe()` can take an object that maps keys to descriptions. + +.options(key, opt) +------------------ + +Instead of chaining together `.alias().demand().default()`, you can specify +keys in `opt` for each of the chainable methods. + +For example: + +````javascript +var argv = require('optimist') + .options('f', { + alias : 'file', + default : '/etc/passwd', + }) + .argv +; +```` + +is the same as + +````javascript +var argv = require('optimist') + .alias('f', 'file') + .default('f', '/etc/passwd') + .argv +; +```` + +Optionally `.options()` can take an object that maps keys to `opt` parameters. + +.usage(message) +--------------- + +Set a usage message to show which commands to use. Inside `message`, the string +`$0` will get interpolated to the current script name or node command for the +present script similar to how `$0` works in bash or perl. + +.check(fn) +---------- + +Check that certain conditions are met in the provided arguments. + +If `fn` throws or returns `false`, show the thrown error, usage information, and +exit. + +.boolean(key) +------------- + +Interpret `key` as a boolean. If a non-flag option follows `key` in +`process.argv`, that string won't get set as the value of `key`. + +If `key` never shows up as a flag in `process.arguments`, `argv[key]` will be +`false`. + +If `key` is an Array, interpret all the elements as booleans. + +.string(key) +------------ + +Tell the parser logic not to interpret `key` as a number or boolean. +This can be useful if you need to preserve leading zeros in an input. + +If `key` is an Array, interpret all the elements as strings. + +.wrap(columns) +-------------- + +Format usage output to wrap at `columns` many columns. + +.help() +------- + +Return the generated usage string. + +.showHelp(fn=console.error) +--------------------------- + +Print the usage data using `fn` for printing. + +.parse(args) +------------ + +Parse `args` instead of `process.argv`. Returns the `argv` object. + +.argv +----- + +Get the arguments as a plain old object. + +Arguments without a corresponding flag show up in the `argv._` array. + +The script name or node command is available at `argv.$0` similarly to how `$0` +works in bash or perl. + +parsing tricks +============== + +stop parsing +------------ + +Use `--` to stop parsing flags and stuff the remainder into `argv._`. + + $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4 + { _: [ '-c', '3', '-d', '4' ], + '$0': 'node ./examples/reflect.js', + a: 1, + b: 2 } + +negate fields +------------- + +If you want to explicity set a field to false instead of just leaving it +undefined or to override a default you can do `--no-key`. + + $ node examples/reflect.js -a --no-b + { _: [], + '$0': 'node ./examples/reflect.js', + a: true, + b: false } + +numbers +------- + +Every argument that looks like a number (`!isNaN(Number(arg))`) is converted to +one. This way you can just `net.createConnection(argv.port)` and you can add +numbers out of `argv` with `+` without having that mean concatenation, +which is super frustrating. + +duplicates +---------- + +If you specify a flag multiple times it will get turned into an array containing +all the values in order. + + $ node examples/reflect.js -x 5 -x 8 -x 0 + { _: [], + '$0': 'node ./examples/reflect.js', + x: [ 5, 8, 0 ] } + +dot notation +------------ + +When you use dots (`.`s) in argument names, an implicit object path is assumed. +This lets you organize arguments into nested objects. + + $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5 + { _: [], + '$0': 'node ./examples/reflect.js', + foo: { bar: { baz: 33 }, quux: 5 } } + +installation +============ + +With [npm](http://github.com/isaacs/npm), just do: + npm install optimist + +or clone this project on github: + + git clone http://github.com/substack/node-optimist.git + +To run the tests with [expresso](http://github.com/visionmedia/expresso), +just do: + + expresso + +inspired By +=========== + +This module is loosely inspired by Perl's +[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm). diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_.js new file mode 100644 index 0000000..d9c58b3 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_.js @@ -0,0 +1,71 @@ +var spawn = require('child_process').spawn; +var test = require('tap').test; + +test('dotSlashEmpty', testCmd('./bin.js', [])); + +test('dotSlashArgs', testCmd('./bin.js', [ 'a', 'b', 'c' ])); + +test('nodeEmpty', testCmd('node bin.js', [])); + +test('nodeArgs', testCmd('node bin.js', [ 'x', 'y', 'z' ])); + +test('whichNodeEmpty', function (t) { + var which = spawn('which', ['node']); + + which.stdout.on('data', function (buf) { + t.test( + testCmd(buf.toString().trim() + ' bin.js', []) + ); + t.end(); + }); + + which.stderr.on('data', function (err) { + assert.error(err); + t.end(); + }); +}); + +test('whichNodeArgs', function (t) { + var which = spawn('which', ['node']); + + which.stdout.on('data', function (buf) { + t.test( + testCmd(buf.toString().trim() + ' bin.js', [ 'q', 'r' ]) + ); + t.end(); + }); + + which.stderr.on('data', function (err) { + t.error(err); + t.end(); + }); +}); + +function testCmd (cmd, args) { + + return function (t) { + var to = setTimeout(function () { + assert.fail('Never got stdout data.') + }, 5000); + + var oldDir = process.cwd(); + process.chdir(__dirname + '/_'); + + var cmds = cmd.split(' '); + + var bin = spawn(cmds[0], cmds.slice(1).concat(args.map(String))); + process.chdir(oldDir); + + bin.stderr.on('data', function (err) { + t.error(err); + t.end(); + }); + + bin.stdout.on('data', function (buf) { + clearTimeout(to); + var _ = JSON.parse(buf.toString()); + t.same(_.map(String), args.map(String)); + t.end(); + }); + }; +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/argv.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/argv.js new file mode 100644 index 0000000..3d09606 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/argv.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +console.log(JSON.stringify(process.argv)); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/bin.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/bin.js new file mode 100644 index 0000000..4a18d85 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/_/bin.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +var argv = require('../../index').argv +console.log(JSON.stringify(argv._)); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/parse.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/parse.js new file mode 100644 index 0000000..d320f43 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/parse.js @@ -0,0 +1,446 @@ +var optimist = require('../index'); +var path = require('path'); +var test = require('tap').test; + +var $0 = 'node ./' + path.relative(process.cwd(), __filename); + +test('short boolean', function (t) { + var parse = optimist.parse([ '-b' ]); + t.same(parse, { b : true, _ : [], $0 : $0 }); + t.same(typeof parse.b, 'boolean'); + t.end(); +}); + +test('long boolean', function (t) { + t.same( + optimist.parse([ '--bool' ]), + { bool : true, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('bare', function (t) { + t.same( + optimist.parse([ 'foo', 'bar', 'baz' ]), + { _ : [ 'foo', 'bar', 'baz' ], $0 : $0 } + ); + t.end(); +}); + +test('short group', function (t) { + t.same( + optimist.parse([ '-cats' ]), + { c : true, a : true, t : true, s : true, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short group next', function (t) { + t.same( + optimist.parse([ '-cats', 'meow' ]), + { c : true, a : true, t : true, s : 'meow', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short capture', function (t) { + t.same( + optimist.parse([ '-h', 'localhost' ]), + { h : 'localhost', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('short captures', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-p', '555' ]), + { h : 'localhost', p : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long capture sp', function (t) { + t.same( + optimist.parse([ '--pow', 'xixxle' ]), + { pow : 'xixxle', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long capture eq', function (t) { + t.same( + optimist.parse([ '--pow=xixxle' ]), + { pow : 'xixxle', _ : [], $0 : $0 } + ); + t.end() +}); + +test('long captures sp', function (t) { + t.same( + optimist.parse([ '--host', 'localhost', '--port', '555' ]), + { host : 'localhost', port : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('long captures eq', function (t) { + t.same( + optimist.parse([ '--host=localhost', '--port=555' ]), + { host : 'localhost', port : 555, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('mixed short bool and capture', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ], $0 : $0, + } + ); + t.end(); +}); + +test('short and long', function (t) { + t.same( + optimist.parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ], $0 : $0, + } + ); + t.end(); +}); + +test('no', function (t) { + t.same( + optimist.parse([ '--no-moo' ]), + { moo : false, _ : [], $0 : $0 } + ); + t.end(); +}); + +test('multi', function (t) { + t.same( + optimist.parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), + { v : ['a','b','c'], _ : [], $0 : $0 } + ); + t.end(); +}); + +test('comprehensive', function (t) { + t.same( + optimist.parse([ + '--name=meowmers', 'bare', '-cats', 'woo', + '-h', 'awesome', '--multi=quux', + '--key', 'value', + '-b', '--bool', '--no-meep', '--multi=baz', + '--', '--not-a-flag', 'eek' + ]), + { + c : true, + a : true, + t : true, + s : 'woo', + h : 'awesome', + b : true, + bool : true, + key : 'value', + multi : [ 'quux', 'baz' ], + meep : false, + name : 'meowmers', + _ : [ 'bare', '--not-a-flag', 'eek' ], + $0 : $0 + } + ); + t.end(); +}); + +test('nums', function (t) { + var argv = optimist.parse([ + '-x', '1234', + '-y', '5.67', + '-z', '1e7', + '-w', '10f', + '--hex', '0xdeadbeef', + '789', + ]); + t.same(argv, { + x : 1234, + y : 5.67, + z : 1e7, + w : '10f', + hex : 0xdeadbeef, + _ : [ 789 ], + $0 : $0 + }); + t.same(typeof argv.x, 'number'); + t.same(typeof argv.y, 'number'); + t.same(typeof argv.z, 'number'); + t.same(typeof argv.w, 'string'); + t.same(typeof argv.hex, 'number'); + t.same(typeof argv._[0], 'number'); + t.end(); +}); + +test('flag boolean', function (t) { + var parse = optimist([ '-t', 'moo' ]).boolean(['t']).argv; + t.same(parse, { t : true, _ : [ 'moo' ], $0 : $0 }); + t.same(typeof parse.t, 'boolean'); + t.end(); +}); + +test('flag boolean value', function (t) { + var parse = optimist(['--verbose', 'false', 'moo', '-t', 'true']) + .boolean(['t', 'verbose']).default('verbose', true).argv; + + t.same(parse, { + verbose: false, + t: true, + _: ['moo'], + $0 : $0 + }); + + t.same(typeof parse.verbose, 'boolean'); + t.same(typeof parse.t, 'boolean'); + t.end(); +}); + +test('flag boolean default false', function (t) { + var parse = optimist(['moo']) + .boolean(['t', 'verbose']) + .default('verbose', false) + .default('t', false).argv; + + t.same(parse, { + verbose: false, + t: false, + _: ['moo'], + $0 : $0 + }); + + t.same(typeof parse.verbose, 'boolean'); + t.same(typeof parse.t, 'boolean'); + t.end(); + +}); + +test('boolean groups', function (t) { + var parse = optimist([ '-x', '-z', 'one', 'two', 'three' ]) + .boolean(['x','y','z']).argv; + + t.same(parse, { + x : true, + y : false, + z : true, + _ : [ 'one', 'two', 'three' ], + $0 : $0 + }); + + t.same(typeof parse.x, 'boolean'); + t.same(typeof parse.y, 'boolean'); + t.same(typeof parse.z, 'boolean'); + t.end(); +}); + +test('newlines in params' , function (t) { + var args = optimist.parse([ '-s', "X\nX" ]) + t.same(args, { _ : [], s : "X\nX", $0 : $0 }); + + // reproduce in bash: + // VALUE="new + // line" + // node program.js --s="$VALUE" + args = optimist.parse([ "--s=X\nX" ]) + t.same(args, { _ : [], s : "X\nX", $0 : $0 }); + t.end(); +}); + +test('strings' , function (t) { + var s = optimist([ '-s', '0001234' ]).string('s').argv.s; + t.same(s, '0001234'); + t.same(typeof s, 'string'); + + var x = optimist([ '-x', '56' ]).string('x').argv.x; + t.same(x, '56'); + t.same(typeof x, 'string'); + t.end(); +}); + +test('stringArgs', function (t) { + var s = optimist([ ' ', ' ' ]).string('_').argv._; + t.same(s.length, 2); + t.same(typeof s[0], 'string'); + t.same(s[0], ' '); + t.same(typeof s[1], 'string'); + t.same(s[1], ' '); + t.end(); +}); + +test('slashBreak', function (t) { + t.same( + optimist.parse([ '-I/foo/bar/baz' ]), + { I : '/foo/bar/baz', _ : [], $0 : $0 } + ); + t.same( + optimist.parse([ '-xyz/foo/bar/baz' ]), + { x : true, y : true, z : '/foo/bar/baz', _ : [], $0 : $0 } + ); + t.end(); +}); + +test('alias', function (t) { + var argv = optimist([ '-f', '11', '--zoom', '55' ]) + .alias('z', 'zoom') + .argv + ; + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.f, 11); + t.end(); +}); + +test('multiAlias', function (t) { + var argv = optimist([ '-f', '11', '--zoom', '55' ]) + .alias('z', [ 'zm', 'zoom' ]) + .argv + ; + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.z, argv.zm); + t.equal(argv.f, 11); + t.end(); +}); + +test('boolean default true', function (t) { + var argv = optimist.options({ + sometrue: { + boolean: true, + default: true + } + }).argv; + + t.equal(argv.sometrue, true); + t.end(); +}); + +test('boolean default false', function (t) { + var argv = optimist.options({ + somefalse: { + boolean: true, + default: false + } + }).argv; + + t.equal(argv.somefalse, false); + t.end(); +}); + +test('nested dotted objects', function (t) { + var argv = optimist([ + '--foo.bar', '3', '--foo.baz', '4', + '--foo.quux.quibble', '5', '--foo.quux.o_O', + '--beep.boop' + ]).argv; + + t.same(argv.foo, { + bar : 3, + baz : 4, + quux : { + quibble : 5, + o_O : true + }, + }); + t.same(argv.beep, { boop : true }); + t.end(); +}); + +test('boolean and alias with chainable api', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .boolean('herp') + .alias('h', 'herp') + .argv; + var propertyArgv = optimist(regular) + .boolean('herp') + .alias('h', 'herp') + .argv; + var expected = { + herp: true, + h: true, + '_': [ 'derp' ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .options(opts) + .argv; + var propertyArgv = optimist(regular).options(opts).argv; + var expected = { + herp: true, + h: true, + '_': [ 'derp' ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + + t.end(); +}); + +test('boolean and alias using explicit true', function (t) { + var aliased = [ '-h', 'true' ]; + var regular = [ '--herp', 'true' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = optimist(aliased) + .boolean('h') + .alias('h', 'herp') + .argv; + var propertyArgv = optimist(regular) + .boolean('h') + .alias('h', 'herp') + .argv; + var expected = { + herp: true, + h: true, + '_': [ ], + '$0': $0, + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { + var parsed = optimist(['--boool', '--other=true']).boolean('boool').argv; + + t.same(parsed.boool, true); + t.same(parsed.other, 'true'); + + parsed = optimist(['--boool', '--other=false']).boolean('boool').argv; + + t.same(parsed.boool, true); + t.same(parsed.other, 'false'); + t.end(); +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/usage.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/usage.js new file mode 100644 index 0000000..300454c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist/test/usage.js @@ -0,0 +1,292 @@ +var Hash = require('hashish'); +var optimist = require('../index'); +var test = require('tap').test; + +test('usageFail', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .demand(['x','y']) + .argv; + }); + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage -x NUM -y NUM', + 'Options:', + ' -x [required]', + ' -y [required]', + 'Missing required arguments: y', + ] + ); + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + + +test('usagePass', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .demand(['x','y']) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkPass', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(function (argv) { + if (!('x' in argv)) throw 'You forgot about -x'; + if (!('y' in argv)) throw 'You forgot about -y'; + }) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkFail', function (t) { + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(function (argv) { + if (!('x' in argv)) throw 'You forgot about -x'; + if (!('y' in argv)) throw 'You forgot about -y'; + }) + .argv; + }); + + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage -x NUM -y NUM', + 'You forgot about -y' + ] + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('checkCondPass', function (t) { + function checker (argv) { + return 'x' in argv && 'y' in argv; + } + + var r = checkUsage(function () { + return optimist('-x 10 -y 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(checker) + .argv; + }); + t.same(r, { + result : { x : 10, y : 20, _ : [], $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('checkCondFail', function (t) { + function checker (argv) { + return 'x' in argv && 'y' in argv; + } + + var r = checkUsage(function () { + return optimist('-x 10 -z 20'.split(' ')) + .usage('Usage: $0 -x NUM -y NUM') + .check(checker) + .argv; + }); + + t.same( + r.result, + { x : 10, z : 20, _ : [], $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/).join('\n'), + 'Usage: ./usage -x NUM -y NUM\n' + + 'Argument check failed: ' + checker.toString() + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('countPass', function (t) { + var r = checkUsage(function () { + return optimist('1 2 3 --moo'.split(' ')) + .usage('Usage: $0 [x] [y] [z] {OPTIONS}') + .demand(3) + .argv; + }); + t.same(r, { + result : { _ : [ '1', '2', '3' ], moo : true, $0 : './usage' }, + errors : [], + logs : [], + exit : false, + }); + t.end(); +}); + +test('countFail', function (t) { + var r = checkUsage(function () { + return optimist('1 2 --moo'.split(' ')) + .usage('Usage: $0 [x] [y] [z] {OPTIONS}') + .demand(3) + .argv; + }); + t.same( + r.result, + { _ : [ '1', '2' ], moo : true, $0 : './usage' } + ); + + t.same( + r.errors.join('\n').split(/\n+/), + [ + 'Usage: ./usage [x] [y] [z] {OPTIONS}', + 'Not enough non-option arguments: got 2, need at least 3', + ] + ); + + t.same(r.logs, []); + t.ok(r.exit); + t.end(); +}); + +test('defaultSingles', function (t) { + var r = checkUsage(function () { + return optimist('--foo 50 --baz 70 --powsy'.split(' ')) + .default('foo', 5) + .default('bar', 6) + .default('baz', 7) + .argv + ; + }); + t.same(r.result, { + foo : '50', + bar : 6, + baz : '70', + powsy : true, + _ : [], + $0 : './usage', + }); + t.end(); +}); + +test('defaultAliases', function (t) { + var r = checkUsage(function () { + return optimist('') + .alias('f', 'foo') + .default('f', 5) + .argv + ; + }); + t.same(r.result, { + f : '5', + foo : '5', + _ : [], + $0 : './usage', + }); + t.end(); +}); + +test('defaultHash', function (t) { + var r = checkUsage(function () { + return optimist('--foo 50 --baz 70'.split(' ')) + .default({ foo : 10, bar : 20, quux : 30 }) + .argv + ; + }); + t.same(r.result, { + _ : [], + $0 : './usage', + foo : 50, + baz : 70, + bar : 20, + quux : 30, + }); + t.end(); +}); + +test('rebase', function (t) { + t.equal( + optimist.rebase('/home/substack', '/home/substack/foo/bar/baz'), + './foo/bar/baz' + ); + t.equal( + optimist.rebase('/home/substack/foo/bar/baz', '/home/substack'), + '../../..' + ); + t.equal( + optimist.rebase('/home/substack/foo', '/home/substack/pow/zoom.txt'), + '../pow/zoom.txt' + ); + t.end(); +}); + +function checkUsage (f) { + + var exit = false; + + process._exit = process.exit; + process._env = process.env; + process._argv = process.argv; + + process.exit = function (t) { exit = true }; + process.env = Hash.merge(process.env, { _ : 'node' }); + process.argv = [ './usage' ]; + + var errors = []; + var logs = []; + + console._error = console.error; + console.error = function (msg) { errors.push(msg) }; + console._log = console.log; + console.log = function (msg) { logs.push(msg) }; + + var result = f(); + + process.exit = process._exit; + process.env = process._env; + process.argv = process._argv; + + console.error = console._error; + console.log = console._log; + + return { + errors : errors, + logs : logs, + exit : exit, + result : result, + }; +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.npmignore b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.npmignore new file mode 100644 index 0000000..3dddf3f --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.npmignore @@ -0,0 +1,2 @@ +dist/* +node_modules/* diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.travis.yml b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.travis.yml new file mode 100644 index 0000000..ddc9c4f --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.8 + - "0.10" \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md new file mode 100644 index 0000000..140fe0c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md @@ -0,0 +1,58 @@ +# Change Log + +## 0.1.22 + +* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21. + +## 0.1.21 + +* Fixed handling of sources that start with a slash so that they are relative to + the source root's host. + +## 0.1.20 + +* Fixed github issue #43: absolute URLs aren't joined with the source root + anymore. + +## 0.1.19 + +* Using Travis CI to run tests. + +## 0.1.18 + +* Fixed a bug in the handling of sourceRoot. + +## 0.1.17 + +* Added SourceNode.fromStringWithSourceMap. + +## 0.1.16 + +* Added missing documentation. + +* Fixed the generating of empty mappings in SourceNode. + +## 0.1.15 + +* Added SourceMapGenerator.applySourceMap. + +## 0.1.14 + +* The sourceRoot is now handled consistently. + +## 0.1.13 + +* Added SourceMapGenerator.fromSourceMap. + +## 0.1.12 + +* SourceNode now generates empty mappings too. + +## 0.1.11 + +* Added name support to SourceNode. + +## 0.1.10 + +* Added sourcesContent support to the customer and generator. + diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/LICENSE b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/LICENSE new file mode 100644 index 0000000..ed1b7cf --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/LICENSE @@ -0,0 +1,28 @@ + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js new file mode 100644 index 0000000..8973ac2 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js @@ -0,0 +1,166 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var path = require('path'); +var fs = require('fs'); +var copy = require('dryice').copy; + +function removeAmdefine(src) { + src = String(src).replace( + /if\s*\(typeof\s*define\s*!==\s*'function'\)\s*{\s*var\s*define\s*=\s*require\('amdefine'\)\(module\);\s*}\s*/g, + ''); + src = src.replace( + /\b(define\(.*)('amdefine',?)/gm, + '$1'); + return src; +} +removeAmdefine.onRead = true; + +function makeNonRelative(src) { + return src + .replace(/require\('.\//g, 'require(\'source-map/') + .replace(/\.\.\/\.\.\/lib\//g, ''); +} +makeNonRelative.onRead = true; + +function buildBrowser() { + console.log('\nCreating dist/source-map.js'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/mini-require.js', + { + project: project, + require: [ 'source-map/source-map-generator', + 'source-map/source-map-consumer', + 'source-map/source-node'] + }, + 'build/suffix-browser.js' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine + ], + dest: 'dist/source-map.js' + }); +} + +function buildBrowserMin() { + console.log('\nCreating dist/source-map.min.js'); + + copy({ + source: 'dist/source-map.js', + filter: copy.filter.uglifyjs, + dest: 'dist/source-map.min.js' + }); +} + +function buildFirefox() { + console.log('\nCreating dist/SourceMap.jsm'); + + var project = copy.createCommonJsProject({ + roots: [ path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-source-map.jsm', + { + project: project, + require: [ 'source-map/source-map-consumer', + 'source-map/source-map-generator', + 'source-map/source-node' ] + }, + 'build/suffix-source-map.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/SourceMap.jsm' + }); + + // Create dist/test/Utils.jsm + console.log('\nCreating dist/test/Utils.jsm'); + + project = copy.createCommonJsProject({ + roots: [ __dirname, path.join(__dirname, 'lib') ] + }); + + copy({ + source: [ + 'build/prefix-utils.jsm', + 'build/assert-shim.js', + { + project: project, + require: [ 'test/source-map/util' ] + }, + 'build/suffix-utils.jsm' + ], + filter: [ + copy.filter.moduleDefines, + removeAmdefine, + makeNonRelative + ], + dest: 'dist/test/Utils.jsm' + }); + + function isTestFile(f) { + return /^test\-.*?\.js/.test(f); + } + + var testFiles = fs.readdirSync(path.join(__dirname, 'test', 'source-map')).filter(isTestFile); + + testFiles.forEach(function (testFile) { + console.log('\nCreating', path.join('dist', 'test', testFile.replace(/\-/g, '_'))); + + copy({ + source: [ + 'build/test-prefix.js', + path.join('test', 'source-map', testFile), + 'build/test-suffix.js' + ], + filter: [ + removeAmdefine, + makeNonRelative, + function (input, source) { + return input.replace('define(', + 'define("' + + path.join('test', 'source-map', testFile.replace(/\.js$/, '')) + + '", ["require", "exports", "module"], '); + }, + function (input, source) { + return input.replace('{THIS_MODULE}', function () { + return "test/source-map/" + testFile.replace(/\.js$/, ''); + }); + } + ], + dest: path.join('dist', 'test', testFile.replace(/\-/g, '_')) + }); + }); +} + +function ensureDir(name) { + var dirExists = false; + try { + dirExists = fs.statSync(name).isDirectory(); + } catch (err) {} + + if (!dirExists) { + fs.mkdirSync(name, 0777); + } +} + +ensureDir("dist"); +ensureDir("dist/test"); +buildFirefox(); +buildBrowser(); +buildBrowserMin(); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/README.md b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/README.md new file mode 100644 index 0000000..95e6787 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/README.md @@ -0,0 +1,347 @@ +# Source Map + +This is a library to generate and consume the source map format +[described here][format]. + +[Learn more here][feature]. + +This library was written in the Asynchronous Module Definition +format. It should work in the following environments: + +* Modern Browsers (either after the build, or with an AMD loader such as + RequireJS) + +* Inside Firefox (as a JSM file, after the build) + +* With NodeJS versions 0.8.X and higher + +## Installing with NPM (for use with NodeJS) + +Simply + + $ npm install source-map + +Or, if you'd like to hack on this library and have it installed via npm so you +can try out your changes: + + $ git clone https://fitzgen@github.com/mozilla/source-map.git + $ cd source-map + $ npm link . + +## Building from Source (for everywhere else) + +Install Node and then run + + $ git clone https://fitzgen@github.com/mozilla/source-map.git + $ cd source-map + $ npm link . + +Next, run + + $ node Makefile.dryice.js` + +This should create the following files: + +* `dist/source-map.js` - The unminified browser version. + +* `dist/source-map.min.js` - The minified browser version. + +* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox + source. + +## API + +Get a reference to the module: + + // NodeJS + var sourceMap = require('source-map'); + + // Browser builds + var sourceMap = window.sourceMap; + + // Inside Firefox + let sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + +### SourceMapConsumer + +A SourceMapConsumer instance represents a parsed source map which we can query +for information about the original file positions by giving it a file position +in the generated source. + +#### new SourceMapConsumer(rawSourceMap) + +The only parameter is the raw source map (either as a string which can be +`JSON.parse`'d, or an object). According to the spec, source maps have the +following attributes: + +* `version`: Which version of the source map spec this map is following. + +* `sources`: An array of URLs to the original source files. + +* `names`: An array of identifiers which can be referrenced by individual + mappings. + +* `sourceRoot`: Optional. The URL root from which all sources are relative. + +* `sourcesContent`: Optional. An array of contents of the original source files. + +* `mappings`: A string of base64 VLQs which contain the actual mappings. + +* `file`: The generated filename this source map is associated with. + +#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition) + +Returns the original source, line, and column information for the generated +source's line and column positions provided. The only argument is an object with +the following properties: + +* `line`: The line number in the generated source. + +* `column`: The column number in the generated source. + +and an object is returned with the following properties: + +* `source`: The original source file, or null if this information is not + available. + +* `line`: The line number in the original source, or null if this information is + not available. + +* `column`: The column number in the original source, or null or null if this + information is not available. + +* `name`: The original identifier, or null if this information is not available. + +#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition) + +Returns the generated line and column information for the original source, +line, and column positions provided. The only argument is an object with +the following properties: + +* `source`: The filename of the original source. + +* `line`: The line number in the original source. + +* `column`: The column number in the original source. + +and an object is returned with the following properties: + +* `line`: The line number in the generated source, or null. + +* `column`: The column number in the generated source, or null. + +#### SourceMapConsumer.prototype.sourceContentFor(source) + +Returns the original source content for the source provided. The only +argument is the URL of the original source file. + +#### SourceMapConsumer.prototype.eachMapping(callback, context, order) + +Iterate over each mapping between an original source/line/column and a +generated line/column in this source map. + +* `callback`: The function that is called with each mapping. + +* `context`: Optional. If specified, this object will be the value of `this` + every time that `callback` is called. + +* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or + `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over + the mappings sorted by the generated file's line/column order or the + original's source/line/column order, respectively. Defaults to + `SourceMapConsumer.GENERATED_ORDER`. + +### SourceMapGenerator + +An instance of the SourceMapGenerator represents a source map which is being +built incrementally. + +#### new SourceMapGenerator(startOfSourceMap) + +To create a new one, you must pass an object with the following properties: + +* `file`: The filename of the generated source that this source map is + associated with. + +* `sourceRoot`: An optional root for all relative URLs in this source map. + +#### SourceMapGenerator.fromSourceMap(sourceMapConsumer) + +Creates a new SourceMapGenerator based on a SourceMapConsumer + +* `sourceMapConsumer` The SourceMap. + +#### SourceMapGenerator.prototype.addMapping(mapping) + +Add a single mapping from original source line and column to the generated +source's line and column for this source map being created. The mapping object +should have the following properties: + +* `generated`: An object with the generated line and column positions. + +* `original`: An object with the original line and column positions. + +* `source`: The original source file (relative to the sourceRoot). + +* `name`: An optional original token name for this mapping. + +#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for an original source file. + +* `sourceFile` the URL of the original source file. + +* `sourceContent` the content of the source file. + +#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile]) + +Applies a SourceMap for a source file to the SourceMap. +Each mapping to the supplied source file is rewritten using the +supplied SourceMap. Note: The resolution for the resulting mappings +is the minimium of this map and the supplied map. + +* `sourceMapConsumer`: The SourceMap to be applied. + +* `sourceFile`: Optional. The filename of the source file. + If omitted, sourceMapConsumer.file will be used. + +#### SourceMapGenerator.prototype.toString() + +Renders the source map being generated to a string. + +### SourceNode + +SourceNodes provide a way to abstract over interpolating and/or concatenating +snippets of generated JavaScript source code, while maintaining the line and +column information associated between those snippets and the original source +code. This is useful as the final intermediate representation a compiler might +use before outputting the generated JS and source map. + +#### new SourceNode(line, column, source[, chunk[, name]]) + +* `line`: The original line number associated with this source node, or null if + it isn't associated with an original line. + +* `column`: The original column number associated with this source node, or null + if it isn't associated with an original column. + +* `source`: The original source's filename. + +* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see + below. + +* `name`: Optional. The original identifier. + +#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer) + +Creates a SourceNode from generated code and a SourceMapConsumer. + +* `code`: The generated code + +* `sourceMapConsumer` The SourceMap for the generated code + +#### SourceNode.prototype.add(chunk) + +Add a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.prepend(chunk) + +Prepend a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for a source file. This will be added to the +`SourceMap` in the `sourcesContent` field. + +* `sourceFile`: The filename of the source file + +* `sourceContent`: The content of the source file + +#### SourceNode.prototype.walk(fn) + +Walk over the tree of JS snippets in this node and its children. The walking +function is called once for each snippet of JS and is passed that snippet and +the its original associated source's line/column location. + +* `fn`: The traversal function. + +#### SourceNode.prototype.walkSourceContents(fn) + +Walk over the tree of SourceNodes. The walking function is called for each +source file content and is passed the filename and source content. + +* `fn`: The traversal function. + +#### SourceNode.prototype.join(sep) + +Like `Array.prototype.join` except for SourceNodes. Inserts the separator +between each of this source node's children. + +* `sep`: The separator. + +#### SourceNode.prototype.replaceRight(pattern, replacement) + +Call `String.prototype.replace` on the very right-most source snippet. Useful +for trimming whitespace from the end of a source node, etc. + +* `pattern`: The pattern to replace. + +* `replacement`: The thing to replace the pattern with. + +#### SourceNode.prototype.toString() + +Return the string representation of this source node. Walks over the tree and +concatenates all the various snippets together to one string. + +### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap) + +Returns the string representation of this tree of source nodes, plus a +SourceMapGenerator which contains all the mappings between the generated and +original sources. + +The arguments are the same as those to `new SourceMapGenerator`. + +## Tests + +[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map) + +Install NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`. + +To add new tests, create a new file named `test/test-.js` +and export your test functions with names that start with "test", for example + + exports["test doing the foo bar"] = function (assert, util) { + ... + }; + +The new test will be located automatically when you run the suite. + +The `util` argument is the test utility module located at `test/source-map/util`. + +The `assert` argument is a cut down version of node's assert module. You have +access to the following assertion functions: + +* `doesNotThrow` + +* `equal` + +* `ok` + +* `strictEqual` + +* `throws` + +(The reason for the restricted set of test functions is because we need the +tests to run inside Firefox's test suite as well and so the assert module is +shimmed in that environment. See `build/assert-shim.js`.) + +[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit +[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap +[Dryice]: https://github.com/mozilla/dryice diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js new file mode 100644 index 0000000..daa1a62 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js @@ -0,0 +1,56 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +define('test/source-map/assert', ['exports'], function (exports) { + + let do_throw = function (msg) { + throw new Error(msg); + }; + + exports.init = function (throw_fn) { + do_throw = throw_fn; + }; + + exports.doesNotThrow = function (fn) { + try { + fn(); + } + catch (e) { + do_throw(e.message); + } + }; + + exports.equal = function (actual, expected, msg) { + msg = msg || String(actual) + ' != ' + String(expected); + if (actual != expected) { + do_throw(msg); + } + }; + + exports.ok = function (val, msg) { + msg = msg || String(val) + ' is falsey'; + if (!Boolean(val)) { + do_throw(msg); + } + }; + + exports.strictEqual = function (actual, expected, msg) { + msg = msg || String(actual) + ' !== ' + String(expected); + if (actual !== expected) { + do_throw(msg); + } + }; + + exports.throws = function (fn) { + try { + fn(); + do_throw('Expected an error to be thrown, but it wasn\'t.'); + } + catch (e) { + } + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/mini-require.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/mini-require.js new file mode 100644 index 0000000..0daf453 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/mini-require.js @@ -0,0 +1,152 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * Define a module along with a payload. + * @param {string} moduleName Name for the payload + * @param {ignored} deps Ignored. For compatibility with CommonJS AMD Spec + * @param {function} payload Function with (require, exports, module) params + */ +function define(moduleName, deps, payload) { + if (typeof moduleName != "string") { + throw new TypeError('Expected string, got: ' + moduleName); + } + + if (arguments.length == 2) { + payload = deps; + } + + if (moduleName in define.modules) { + throw new Error("Module already defined: " + moduleName); + } + define.modules[moduleName] = payload; +}; + +/** + * The global store of un-instantiated modules + */ +define.modules = {}; + + +/** + * We invoke require() in the context of a Domain so we can have multiple + * sets of modules running separate from each other. + * This contrasts with JSMs which are singletons, Domains allows us to + * optionally load a CommonJS module twice with separate data each time. + * Perhaps you want 2 command lines with a different set of commands in each, + * for example. + */ +function Domain() { + this.modules = {}; + this._currentModule = null; +} + +(function () { + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * There are 2 ways to call this, either with an array of dependencies and a + * callback to call when the dependencies are found (which can happen + * asynchronously in an in-page context) or with a single string an no callback + * where the dependency is resolved synchronously and returned. + * The API is designed to be compatible with the CommonJS AMD spec and + * RequireJS. + * @param {string[]|string} deps A name, or names for the payload + * @param {function|undefined} callback Function to call when the dependencies + * are resolved + * @return {undefined|object} The module required or undefined for + * array/callback method + */ + Domain.prototype.require = function(deps, callback) { + if (Array.isArray(deps)) { + var params = deps.map(function(dep) { + return this.lookup(dep); + }, this); + if (callback) { + callback.apply(null, params); + } + return undefined; + } + else { + return this.lookup(deps); + } + }; + + function normalize(path) { + var bits = path.split('/'); + var i = 1; + while (i < bits.length) { + if (bits[i] === '..') { + bits.splice(i-1, 1); + } else if (bits[i] === '.') { + bits.splice(i, 1); + } else { + i++; + } + } + return bits.join('/'); + } + + function join(a, b) { + a = a.trim(); + b = b.trim(); + if (/^\//.test(b)) { + return b; + } else { + return a.replace(/\/*$/, '/') + b; + } + } + + function dirname(path) { + var bits = path.split('/'); + bits.pop(); + return bits.join('/'); + } + + /** + * Lookup module names and resolve them by calling the definition function if + * needed. + * @param {string} moduleName A name for the payload to lookup + * @return {object} The module specified by aModuleName or null if not found. + */ + Domain.prototype.lookup = function(moduleName) { + if (/^\./.test(moduleName)) { + moduleName = normalize(join(dirname(this._currentModule), moduleName)); + } + + if (moduleName in this.modules) { + var module = this.modules[moduleName]; + return module; + } + + if (!(moduleName in define.modules)) { + throw new Error("Module not defined: " + moduleName); + } + + var module = define.modules[moduleName]; + + if (typeof module == "function") { + var exports = {}; + var previousModule = this._currentModule; + this._currentModule = moduleName; + module(this.require.bind(this), exports, { id: moduleName, uri: "" }); + this._currentModule = previousModule; + module = exports; + } + + // cache the resulting module object for next time + this.modules[moduleName] = module; + + return module; + }; + +}()); + +define.Domain = Domain; +define.globalDomain = new Domain(); +var require = define.globalDomain.require.bind(define.globalDomain); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm new file mode 100644 index 0000000..ee2539d --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm @@ -0,0 +1,20 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +/////////////////////////////////////////////////////////////////////////////// + + +this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm new file mode 100644 index 0000000..80341d4 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm @@ -0,0 +1,18 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); +Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); + +this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js new file mode 100644 index 0000000..cf6cde7 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js @@ -0,0 +1,8 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +window.sourceMap = { + SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, + SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, + SourceNode: require('source-map/source-node').SourceNode +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm new file mode 100644 index 0000000..cf3c2d8 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm @@ -0,0 +1,6 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/////////////////////////////////////////////////////////////////////////////// + +this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; +this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; +this.SourceNode = require('source-map/source-node').SourceNode; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm new file mode 100644 index 0000000..b31b84c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm @@ -0,0 +1,21 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +function runSourceMapTests(modName, do_throw) { + let mod = require(modName); + let assert = require('test/source-map/assert'); + let util = require('test/source-map/util'); + + assert.init(do_throw); + + for (let k in mod) { + if (/^test/.test(k)) { + mod[k](assert, util); + } + } + +} +this.runSourceMapTests = runSourceMapTests; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js new file mode 100644 index 0000000..1b13f30 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js @@ -0,0 +1,8 @@ +/* + * WARNING! + * + * Do not edit this file directly, it is built from the sources at + * https://github.com/mozilla/source-map/ + */ + +Components.utils.import('resource://test/Utils.jsm'); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js new file mode 100644 index 0000000..bec2de3 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js @@ -0,0 +1,3 @@ +function run_test() { + runSourceMapTests('{THIS_MODULE}', do_throw); +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map.js new file mode 100644 index 0000000..121ad24 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map.js @@ -0,0 +1,8 @@ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./source-map/source-node').SourceNode; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js new file mode 100644 index 0000000..f138ae7 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js @@ -0,0 +1,96 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var util = require('./util'); + + /** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + function ArraySet() { + this._array = []; + this._set = {}; + } + + /** + * Static method for creating ArraySet instances from an existing array. + */ + ArraySet.fromArray = function ArraySet_fromArray(aArray) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i]); + } + return set; + }; + + /** + * Add the given string to this set. + * + * @param String aStr + */ + ArraySet.prototype.add = function ArraySet_add(aStr) { + if (this.has(aStr)) { + // Already a member; nothing to do. + return; + } + var idx = this._array.length; + this._array.push(aStr); + this._set[util.toSetString(aStr)] = idx; + }; + + /** + * Is the given string a member of this set? + * + * @param String aStr + */ + ArraySet.prototype.has = function ArraySet_has(aStr) { + return Object.prototype.hasOwnProperty.call(this._set, + util.toSetString(aStr)); + }; + + /** + * What is the index of the given string in the array? + * + * @param String aStr + */ + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (this.has(aStr)) { + return this._set[util.toSetString(aStr)]; + } + throw new Error('"' + aStr + '" is not in the set.'); + }; + + /** + * What is the element at the given index? + * + * @param Number aIdx + */ + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); + }; + + /** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + + exports.ArraySet = ArraySet; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js new file mode 100644 index 0000000..a9dd758 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js @@ -0,0 +1,144 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64 = require('./base64'); + + // A single base 64 digit can contain 6 bits of data. For the base 64 variable + // length quantities we use in the source map spec, the first bit is the sign, + // the next four bits are the actual value, and the 6th bit is the + // continuation bit. The continuation bit tells us whether there are more + // digits in this value following this digit. + // + // Continuation + // | Sign + // | | + // V V + // 101011 + + var VLQ_BASE_SHIFT = 5; + + // binary: 100000 + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + + // binary: 011111 + var VLQ_BASE_MASK = VLQ_BASE - 1; + + // binary: 100000 + var VLQ_CONTINUATION_BIT = VLQ_BASE; + + /** + * Converts from a two-complement value to a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; + } + + /** + * Converts to a two-complement value from a value where the sign bit is + * is placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; + } + + /** + * Returns the base 64 VLQ encoded value. + */ + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; + }; + + /** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string. + */ + exports.decode = function base64VLQ_decode(aStr) { + var i = 0; + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (i >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + digit = base64.decode(aStr.charAt(i++)); + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + return { + value: fromVLQSigned(result), + rest: aStr.slice(i) + }; + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js new file mode 100644 index 0000000..397a754 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js @@ -0,0 +1,42 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var charToIntMap = {}; + var intToCharMap = {}; + + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + .split('') + .forEach(function (ch, index) { + charToIntMap[ch] = index; + intToCharMap[index] = ch; + }); + + /** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + exports.encode = function base64_encode(aNumber) { + if (aNumber in intToCharMap) { + return intToCharMap[aNumber]; + } + throw new TypeError("Must be between 0 and 63: " + aNumber); + }; + + /** + * Decode a single base 64 digit to an integer. + */ + exports.decode = function base64_decode(aChar) { + if (aChar in charToIntMap) { + return charToIntMap[aChar]; + } + throw new TypeError("Not a valid base 64 digit: " + aChar); + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js new file mode 100644 index 0000000..c6cb517 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js @@ -0,0 +1,81 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + /** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + */ + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the next + // closest element that is less than that element. + // + // 3. We did not find the exact element, and there is no next-closest + // element which is less than the one we are searching for, so we + // return null. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid]); + if (cmp === 0) { + // Found the element we are looking for. + return aHaystack[mid]; + } + else if (cmp > 0) { + // aHaystack[mid] is greater than our needle. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare); + } + // We did not find an exact match, return the next closest one + // (termination case 2). + return aHaystack[mid]; + } + else { + // aHaystack[mid] is less than our needle. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare); + } + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (2) or (3) and return the appropriate thing. + return aLow < 0 + ? null + : aHaystack[aLow]; + } + } + + /** + * This is an implementation of binary search which will always try and return + * the next lowest value checked if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + */ + exports.search = function search(aNeedle, aHaystack, aCompare) { + return aHaystack.length > 0 + ? recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare) + : null; + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js new file mode 100644 index 0000000..9da6f1c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js @@ -0,0 +1,426 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var util = require('./util'); + var binarySearch = require('./binary-search'); + var ArraySet = require('./array-set').ArraySet; + var base64VLQ = require('./base64-vlq'); + + /** + * A SourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The only parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + var names = util.getArg(sourceMap, 'names'); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file'); + + if (version !== this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._names = ArraySet.fromArray(names); + this._sources = ArraySet.fromArray(sources); + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this.file = file; + + // `this._generatedMappings` and `this._originalMappings` hold the parsed + // mapping coordinates from the source map's "mappings" attribute. Each + // object in the array is of the form + // + // { + // generatedLine: The line number in the generated code, + // generatedColumn: The column number in the generated code, + // source: The path to the original source file that generated this + // chunk of code, + // originalLine: The line number in the original source that + // corresponds to this chunk of generated code, + // originalColumn: The column number in the original source that + // corresponds to this chunk of generated code, + // name: The name of the original symbol which generated this chunk of + // code. + // } + // + // All properties except for `generatedLine` and `generatedColumn` can be + // `null`. + // + // `this._generatedMappings` is ordered by the generated positions. + // + // `this._originalMappings` is ordered by the original positions. + this._generatedMappings = []; + this._originalMappings = []; + this._parseMappings(mappings, sourceRoot); + } + + /** + * The version of the source mapping spec that we are consuming. + */ + SourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(SourceMapConsumer.prototype, 'sources', { + get: function () { + return this._sources.toArray().map(function (s) { + return this.sourceRoot ? util.join(this.sourceRoot, s) : s; + }, this); + } + }); + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (an ordered list in this._generatedMappings). + */ + SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var mappingSeparator = /^[,;]/; + var str = aStr; + var mapping; + var temp; + + while (str.length > 0) { + if (str.charAt(0) === ';') { + generatedLine++; + str = str.slice(1); + previousGeneratedColumn = 0; + } + else if (str.charAt(0) === ',') { + str = str.slice(1); + } + else { + mapping = {}; + mapping.generatedLine = generatedLine; + + // Generated column. + temp = base64VLQ.decode(str); + mapping.generatedColumn = previousGeneratedColumn + temp.value; + previousGeneratedColumn = mapping.generatedColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original source. + temp = base64VLQ.decode(str); + mapping.source = this._sources.at(previousSource + temp.value); + previousSource += temp.value; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source, but no line and column'); + } + + // Original line. + temp = base64VLQ.decode(str); + mapping.originalLine = previousOriginalLine + temp.value; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + str = temp.rest; + if (str.length === 0 || mappingSeparator.test(str.charAt(0))) { + throw new Error('Found a source and line, but no column'); + } + + // Original column. + temp = base64VLQ.decode(str); + mapping.originalColumn = previousOriginalColumn + temp.value; + previousOriginalColumn = mapping.originalColumn; + str = temp.rest; + + if (str.length > 0 && !mappingSeparator.test(str.charAt(0))) { + // Original name. + temp = base64VLQ.decode(str); + mapping.name = this._names.at(previousName + temp.value); + previousName += temp.value; + str = temp.rest; + } + } + + this._generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + this._originalMappings.push(mapping); + } + } + } + + this._originalMappings.sort(this._compareOriginalPositions); + }; + + /** + * Comparator between two mappings where the original positions are compared. + */ + SourceMapConsumer.prototype._compareOriginalPositions = + function SourceMapConsumer_compareOriginalPositions(mappingA, mappingB) { + if (mappingA.source > mappingB.source) { + return 1; + } + else if (mappingA.source < mappingB.source) { + return -1; + } + else { + var cmp = mappingA.originalLine - mappingB.originalLine; + return cmp === 0 + ? mappingA.originalColumn - mappingB.originalColumn + : cmp; + } + }; + + /** + * Comparator between two mappings where the generated positions are compared. + */ + SourceMapConsumer.prototype._compareGeneratedPositions = + function SourceMapConsumer_compareGeneratedPositions(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + return cmp === 0 + ? mappingA.generatedColumn - mappingB.generatedColumn + : cmp; + }; + + /** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + SourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator); + }; + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + SourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var mapping = this._findMapping(needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + this._compareGeneratedPositions); + + if (mapping) { + var source = util.getArg(mapping, 'source', null); + if (source && this.sourceRoot) { + source = util.join(this.sourceRoot, source); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: util.getArg(mapping, 'name', null) + }; + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + + /** + * Returns the original source content. The only argument is + * the url of the original source file. Returns null if no + * original source content is availible. + */ + SourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource) { + if (!this.sourcesContent) { + return null; + } + + if (this.sourceRoot) { + // Try to remove the sourceRoot + var relativeUrl = util.relative(this.sourceRoot, aSource); + if (this._sources.has(relativeUrl)) { + return this.sourcesContent[this._sources.indexOf(relativeUrl)]; + } + } + + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; + } + + throw new Error('"' + aSource + '" is not in the SourceMap.'); + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + SourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + if (this.sourceRoot) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + + var mapping = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + this._compareOriginalPositions); + + if (mapping) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null) + }; + } + + return { + line: null, + column: null + }; + }; + + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + + /** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source; + if (source && sourceRoot) { + source = util.join(sourceRoot, source); + } + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name + }; + }).forEach(aCallback, context); + }; + + exports.SourceMapConsumer = SourceMapConsumer; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js new file mode 100644 index 0000000..b3f62f5 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js @@ -0,0 +1,381 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64VLQ = require('./base64-vlq'); + var util = require('./util'); + var ArraySet = require('./array-set').ArraySet; + + /** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. To create a new one, you must pass an object + * with the following properties: + * + * - file: The filename of the generated source. + * - sourceRoot: An optional root for all URLs in this source map. + */ + function SourceMapGenerator(aArgs) { + this._file = util.getArg(aArgs, 'file'); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = []; + this._sourcesContents = null; + } + + SourceMapGenerator.prototype._version = 3; + + /** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source) { + newMapping.source = mapping.source; + if (sourceRoot) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + + /** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + this._validateMapping(generated, original, source, name); + + if (source && !this._sources.has(source)) { + this._sources.add(source); + } + + if (name && !this._names.has(name)) { + this._names.add(name); + } + + this._mappings.push({ + generated: generated, + original: original, + source: source, + name: name + }); + }; + + /** + * Set the source content for a source file. + */ + SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent !== null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = {}; + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + + /** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + */ + SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile) { + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (!aSourceFile) { + aSourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "aSourceFile" relative if an absolute Url is passed. + if (sourceRoot) { + aSourceFile = util.relative(sourceRoot, aSourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "aSourceFile" + this._mappings.forEach(function (mapping) { + if (mapping.source === aSourceFile && mapping.original) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.original.line, + column: mapping.original.column + }); + if (original.source !== null) { + // Copy mapping + if (sourceRoot) { + mapping.source = util.relative(sourceRoot, original.source); + } else { + mapping.source = original.source; + } + mapping.original.line = original.line; + mapping.original.column = original.column; + if (original.name !== null && mapping.name !== null) { + // Only use the identifier name if it's an identifier + // in both SourceMaps + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + if (sourceRoot) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + + /** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping.'); + } + }; + + function cmpLocation(loc1, loc2) { + var cmp = (loc1 && loc1.line) - (loc2 && loc2.line); + return cmp ? cmp : (loc1 && loc1.column) - (loc2 && loc2.column); + } + + function strcmp(str1, str2) { + str1 = str1 || ''; + str2 = str2 || ''; + return (str1 > str2) - (str1 < str2); + } + + function cmpMapping(mappingA, mappingB) { + return cmpLocation(mappingA.generated, mappingB.generated) || + cmpLocation(mappingA.original, mappingB.original) || + strcmp(mappingA.source, mappingB.source) || + strcmp(mappingA.name, mappingB.name); + } + + /** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var mapping; + + // The mappings must be guarenteed to be in sorted order before we start + // serializing them or else the generated line numbers (which are defined + // via the ';' separators) will be all messed up. Note: it might be more + // performant to maintain the sorting as we insert them, rather than as we + // serialize them, but the big O is the same either way. + this._mappings.sort(cmpMapping); + + for (var i = 0, len = this._mappings.length; i < len; i++) { + mapping = this._mappings[i]; + + if (mapping.generated.line !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generated.line !== previousGeneratedLine) { + result += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!cmpMapping(mapping, this._mappings[i - 1])) { + continue; + } + result += ','; + } + } + + result += base64VLQ.encode(mapping.generated.column + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generated.column; + + if (mapping.source && mapping.original) { + result += base64VLQ.encode(this._sources.indexOf(mapping.source) + - previousSource); + previousSource = this._sources.indexOf(mapping.source); + + // lines are stored 0-based in SourceMap spec version 3 + result += base64VLQ.encode(mapping.original.line - 1 + - previousOriginalLine); + previousOriginalLine = mapping.original.line - 1; + + result += base64VLQ.encode(mapping.original.column + - previousOriginalColumn); + previousOriginalColumn = mapping.original.column; + + if (mapping.name) { + result += base64VLQ.encode(this._names.indexOf(mapping.name) + - previousName); + previousName = this._names.indexOf(mapping.name); + } + } + } + + return result; + }; + + /** + * Externalize the source map. + */ + SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + file: this._file, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._sourceRoot) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = map.sources.map(function (source) { + if (map.sourceRoot) { + source = util.relative(map.sourceRoot, source); + } + return Object.prototype.hasOwnProperty.call( + this._sourcesContents, util.toSetString(source)) + ? this._sourcesContents[util.toSetString(source)] + : null; + }, this); + } + return map; + }; + + /** + * Render the source map being generated to a string. + */ + SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this); + }; + + exports.SourceMapGenerator = SourceMapGenerator; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js new file mode 100644 index 0000000..4c3314a --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js @@ -0,0 +1,353 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; + var util = require('./util'); + + /** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine === undefined ? null : aLine; + this.column = aColumn === undefined ? null : aColumn; + this.source = aSource === undefined ? null : aSource; + this.name = aName === undefined ? null : aName; + if (aChunks != null) this.add(aChunks); + } + + /** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + */ + SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // The generated code + // Processed fragments are removed from this array. + var remainingLines = aGeneratedCode.split('\n'); + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping === null) { + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(remainingLines.shift() + "\n"); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + } else { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + var code = ""; + // Associate full lines with "lastMapping" + do { + code += remainingLines.shift() + "\n"; + lastGeneratedLine++; + lastGeneratedColumn = 0; + } while (lastGeneratedLine < mapping.generatedLine); + // When we reached the correct line, we add code until we + // reach the correct column too. + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[0]; + code += nextLine.substr(0, mapping.generatedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + // Create the SourceNode. + addMappingWithCode(lastMapping, code); + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[0]; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[0] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + } + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + // Associate the remaining code in the current line with "lastMapping" + // and add the remaining lines without any mapping + addMappingWithCode(lastMapping, remainingLines.join("\n")); + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content) { + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping.source === undefined) { + node.add(code); + } else { + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + mapping.source, + code, + mapping.name)); + } + } + }; + + /** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk instanceof SourceNode || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + this.children.forEach(function (chunk) { + if (chunk instanceof SourceNode) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + }, this); + }; + + /** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + + /** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild instanceof SourceNode) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; + }; + + /** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + + /** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + this.children.forEach(function (chunk) { + if (chunk instanceof SourceNode) { + chunk.walkSourceContents(aFn); + } + }, this); + Object.keys(this.sourceContents).forEach(function (sourceFileKey) { + aFn(util.fromSetString(sourceFileKey), this.sourceContents[sourceFileKey]); + }, this); + }; + + /** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; + }; + + /** + * Returns the string representation of this source node along with a source + * map. + */ + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + sourceMappingActive = false; + } + chunk.split('').forEach(function (ch) { + if (ch === '\n') { + generated.line++; + generated.column = 0; + } else { + generated.column++; + } + }); + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; + }; + + exports.SourceNode = SourceNode; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js new file mode 100644 index 0000000..d59b257 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js @@ -0,0 +1,91 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + + var urlRegexp = /([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/; + + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[3], + host: match[4], + port: match[6], + path: match[7] + }; + } + + function join(aRoot, aPath) { + var url; + + if (aPath.match(urlRegexp)) { + return aPath; + } + + if (aPath.charAt(0) === '/' && (url = urlParse(aRoot))) { + return aRoot.replace(url.path, '') + aPath; + } + + return aRoot.replace(/\/$/, '') + '/' + aPath; + } + exports.join = join; + + /** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + function toSetString(aStr) { + return '$' + aStr; + } + exports.toSetString = toSetString; + + function fromSetString(aStr) { + return aStr.substr(1); + } + exports.fromSetString = fromSetString; + + function relative(aRoot, aPath) { + aRoot = aRoot.replace(/\/$/, ''); + return aPath.indexOf(aRoot + '/') === 0 + ? aPath.substr(aRoot.length + 1) + : aPath; + } + exports.relative = relative; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore new file mode 100644 index 0000000..2bfa6a4 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/.npmignore @@ -0,0 +1 @@ +tests/ diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE new file mode 100644 index 0000000..f33d665 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE @@ -0,0 +1,58 @@ +amdefine is released under two licenses: new BSD, and MIT. You may pick the +license that best suits your development needs. The text of both licenses are +provided below. + + +The "New" BSD License: +---------------------- + +Copyright (c) 2011, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +MIT License +----------- + +Copyright (c) 2011, The Dojo Foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md new file mode 100644 index 0000000..98233da --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md @@ -0,0 +1,119 @@ +# amdefine + +A module that can be used to implement AMD's define() in Node. This allows you +to code to the AMD API and have the module work in node programs without +requiring those other programs to use AMD. + +## Usage + +**1)** Update your package.json to indicate amdefine as a dependency: + +```javascript + "dependencies": { + "amdefine": ">=0.0.2" + } +``` + +Then run `npm install` to get amdefine into your project. + +**2)** At the top of each module that uses define(), place this code: + +```javascript +if (typeof define !== 'function') { var define = require('amdefine')(module) } +``` + +**Only use these snippets** when loading amdefine. If you preserve the basic structure, +with the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer). + +You can add spaces, line breaks and even require amdefine with a local path, but +keep the rest of the structure to get the stripping behavior. + +As you may know, because `if` statements in JavaScript don't have their own scope, the var +declaration in the above snippet is made whether the `if` expression is truthy or not. If +RequireJS is loaded then the declaration is superfluous because `define` is already already +declared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var` +declarations of the same variable in the same scope gracefully. + +If you want to deliver amdefine.js with your code rather than specifying it as a dependency +with npm, then just download the latest release and refer to it using a relative path: + +[Version 0.0.2](https://github.com/jrburke/amdefine/raw/0.0.2/amdefine.js) + +## define() usage + +It is best if you use the anonymous forms of define() in your module: + +```javascript +define(function (require) { + var dependency = require('dependency'); +}); +``` + +or + +```javascript +define(['dependency'], function (dependency) { + +}); +``` + +## RequireJS optimizer integration. + +Version 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html) +will have support for stripping the `if (typeof define !== 'function')` check +mentioned above, so you can include this snippet for code that runs in the +browser, but avoid taking the cost of the if() statement once the code is +optimized for deployment. + +## Node 0.4 Support + +If you want to support Node 0.4, then add `require` as the second parameter to amdefine: + +```javascript +//Only if you want Node 0.4. If using 0.5 or later, use the above snippet. +if (typeof define !== 'function') { var define = require('amdefine')(module, require) } +``` + +## Limitations + +### Synchronous vs Asynchronous + +amdefine creates a define() function that is callable by your code. It will +execute and trace dependencies and call the factory function *synchronously*, +to keep the behavior in line with Node's synchronous dependency tracing. + +The exception: calling AMD's callback-style require() from inside a factory +function. The require callback is called on process.nextTick(): + +```javascript +define(function (require) { + require(['a'], function(a) { + //'a' is loaded synchronously, but + //this callback is called on process.nextTick(). + }); +}); +``` + +### Loader Plugins + +Loader plugins are supported as long as they call their load() callbacks +synchronously. So ones that do network requests will not work. However plugins +like [text](http://requirejs.org/docs/api.html#text) can load text files locally. + +The plugin API's `load.fromText()` is **not supported** in amdefine, so this means +transpiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs) +will not work. This may be fixable, but it is a bit complex, and I do not have +enough node-fu to figure it out yet. See the source for amdefine.js if you want +to get an idea of the issues involved. + +## Tests + +To run the tests, cd to **tests** and run: + +``` +node all.js +``` + +## License + +New BSD and MIT. Check the LICENSE file for all the details. diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js new file mode 100644 index 0000000..1574436 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js @@ -0,0 +1,299 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license amdefine 0.0.4 Copyright (c) 2011, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/amdefine for details + */ + +/*jslint node: true */ +/*global module, process */ +'use strict'; + +var path = require('path'); + +/** + * Creates a define for node. + * @param {Object} module the "module" object that is defined by Node for the + * current module. + * @param {Function} [require]. Node's require function for the current module. + * It only needs to be passed in Node versions before 0.5, when module.require + * did not exist. + * @returns {Function} a define function that is usable for the current node + * module. + */ +function amdefine(module, require) { + var defineCache = {}, + loaderCache = {}, + alreadyCalled = false, + makeRequire, stringRequire; + + /** + * Trims the . and .. from an array of path segments. + * It will keep a leading path segment if a .. will become + * the first path segment, to help with module name lookups, + * which act like paths, but can be remapped. But the end result, + * all paths that use this function should look normalized. + * NOTE: this method MODIFIES the input array. + * @param {Array} ary the array of path segments. + */ + function trimDots(ary) { + var i, part; + for (i = 0; ary[i]; i+= 1) { + part = ary[i]; + if (part === '.') { + ary.splice(i, 1); + i -= 1; + } else if (part === '..') { + if (i === 1 && (ary[2] === '..' || ary[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + function normalize(name, baseName) { + var baseParts; + + //Adjust any relative paths. + if (name && name.charAt(0) === '.') { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + baseParts = baseName.split('/'); + baseParts = baseParts.slice(0, baseParts.length - 1); + baseParts = baseParts.concat(name.split('/')); + trimDots(baseParts); + name = baseParts.join('/'); + } + } + + return name; + } + + /** + * Create the normalize() function passed to a loader plugin's + * normalize method. + */ + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(id) { + function load(value) { + loaderCache[id] = value; + } + + load.fromText = function (id, text) { + //This one is difficult because the text can/probably uses + //define, and any relative paths and requires should be relative + //to that id was it would be found on disk. But this would require + //bootstrapping a module/require fairly deeply from node core. + //Not sure how best to go about that yet. + throw new Error('amdefine does not implement load.fromText'); + }; + + return load; + } + + makeRequire = function (systemRequire, exports, module, relId) { + function amdRequire(deps, callback) { + if (typeof deps === 'string') { + //Synchronous, single module require('') + return stringRequire(systemRequire, exports, module, deps, relId); + } else { + //Array of dependencies with a callback. + + //Convert the dependencies to modules. + deps = deps.map(function (depName) { + return stringRequire(systemRequire, exports, module, depName, relId); + }); + + //Wait for next tick to call back the require call. + process.nextTick(function () { + callback.apply(null, deps); + }); + } + } + + amdRequire.toUrl = function (filePath) { + if (filePath.indexOf('.') === 0) { + return normalize(filePath, path.dirname(module.filename)); + } else { + return filePath; + } + }; + + return amdRequire; + }; + + //Favor explicit value, passed in if the module wants to support Node 0.4. + require = require || function req() { + return module.require.apply(module, arguments); + }; + + function runFactory(id, deps, factory) { + var r, e, m, result; + + if (id) { + e = loaderCache[id] = {}; + m = { + id: id, + uri: __filename, + exports: e + }; + r = makeRequire(undefined, e, m, id); + } else { + //Only support one define call per file + if (alreadyCalled) { + throw new Error('amdefine with no module ID cannot be called more than once per file.'); + } + alreadyCalled = true; + + //Use the real variables from node + //Use module.exports for exports, since + //the exports in here is amdefine exports. + e = module.exports; + m = module; + r = makeRequire(require, e, m, module.id); + } + + //If there are dependencies, they are strings, so need + //to convert them to dependency values. + if (deps) { + deps = deps.map(function (depName) { + return r(depName); + }); + } + + //Call the factory with the right dependencies. + if (typeof factory === 'function') { + result = factory.apply(module.exports, deps); + } else { + result = factory; + } + + if (result !== undefined) { + m.exports = result; + if (id) { + loaderCache[id] = m.exports; + } + } + } + + stringRequire = function (systemRequire, exports, module, id, relId) { + //Split the ID by a ! so that + var index = id.indexOf('!'), + originalId = id, + prefix, plugin; + + if (index === -1) { + id = normalize(id, relId); + + //Straight module lookup. If it is one of the special dependencies, + //deal with it, otherwise, delegate to node. + if (id === 'require') { + return makeRequire(systemRequire, exports, module, relId); + } else if (id === 'exports') { + return exports; + } else if (id === 'module') { + return module; + } else if (loaderCache.hasOwnProperty(id)) { + return loaderCache[id]; + } else if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } else { + if(systemRequire) { + return systemRequire(originalId); + } else { + throw new Error('No module with ID: ' + id); + } + } + } else { + //There is a plugin in play. + prefix = id.substring(0, index); + id = id.substring(index + 1, id.length); + + plugin = stringRequire(systemRequire, exports, module, prefix, relId); + + if (plugin.normalize) { + id = plugin.normalize(id, makeNormalize(relId)); + } else { + //Normalize the ID normally. + id = normalize(id, relId); + } + + if (loaderCache[id]) { + return loaderCache[id]; + } else { + plugin.load(id, makeRequire(systemRequire, exports, module, relId), makeLoad(id), {}); + + return loaderCache[id]; + } + } + }; + + //Create a define function specific to the module asking for amdefine. + function define(id, deps, factory) { + if (Array.isArray(id)) { + factory = deps; + deps = id; + id = undefined; + } else if (typeof id !== 'string') { + factory = id; + id = deps = undefined; + } + + if (deps && !Array.isArray(deps)) { + factory = deps; + deps = undefined; + } + + if (!deps) { + deps = ['require', 'exports', 'module']; + } + + //Set up properties for this module. If an ID, then use + //internal cache. If no ID, then use the external variables + //for this node module. + if (id) { + //Put the module in deep freeze until there is a + //require call for it. + defineCache[id] = [id, deps, factory]; + } else { + runFactory(id, deps, factory); + } + } + + //define.require, which has access to all the values in the + //cache. Useful for AMD modules that all have IDs in the file, + //but need to finally export a value to node based on one of those + //IDs. + define.require = function (id) { + if (loaderCache[id]) { + return loaderCache[id]; + } + + if (defineCache[id]) { + runFactory.apply(null, defineCache[id]); + return loaderCache[id]; + } + }; + + define.amd = {}; + + return define; +} + +module.exports = amdefine; diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json new file mode 100644 index 0000000..11064da --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json @@ -0,0 +1,28 @@ +{ + "name": "amdefine", + "description": "Provide AMD's define() API for declaring modules in the AMD format", + "version": "0.0.4", + "homepage": "http://github.com/jrburke/amdefine.js", + "author": { + "name": "James Burke", + "email": "jrburke@gmail.com", + "url": "http://github.com/jrburke" + }, + "licenses": [ + { + "type": "BSD", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + }, + { + "type": "MIT", + "url": "https://github.com/jrburke/amdefine/blob/master/LICENSE" + } + ], + "main": "./amdefine.js", + "engines": { + "node": ">=0.4.2" + }, + "readme": "# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n \"dependencies\": {\n \"amdefine\": \">=0.0.2\"\n }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Version 0.0.2](https://github.com/jrburke/amdefine/raw/0.0.2/amdefine.js)\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. \n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n require(['a'], function(a) {\n //'a' is loaded synchronously, but\n //this callback is called on process.nextTick().\n });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n", + "_id": "amdefine@0.0.4", + "_from": "amdefine@>=0.0.4" +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/package.json b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/package.json new file mode 100644 index 0000000..dd25bbe --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/package.json @@ -0,0 +1,76 @@ +{ + "name": "source-map", + "description": "Generates and consumes source maps", + "version": "0.1.22", + "homepage": "https://github.com/mozilla/source-map", + "author": { + "name": "Nick Fitzgerald", + "email": "nfitzgerald@mozilla.com" + }, + "contributors": [ + { + "name": "Stephen Crane" + }, + { + "name": "Ryan Seddon" + }, + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com" + }, + { + "name": "Michael Ficarra", + "email": "github.public.email@michael.ficarra.me" + }, + { + "name": "Todd Wolfson", + "email": "todd@twolfson.com" + }, + { + "name": "Alexander Solovyov", + "email": "alexander@solovyov.net" + }, + { + "name": "Felix Gnass" + }, + { + "name": "Conrad Irwin", + "email": "conrad.irwin@gmail.com" + }, + { + "name": "github.com/usrbincc" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mozilla/source-map.git" + }, + "directories": { + "lib": "./lib" + }, + "main": "./lib/source-map.js", + "engines": { + "node": ">=0.8.0" + }, + "licenses": [ + { + "type": "BSD", + "url": "http://opensource.org/licenses/BSD-3-Clause" + } + ], + "dependencies": { + "amdefine": ">=0.0.4" + }, + "devDependencies": { + "dryice": ">=0.4.8" + }, + "scripts": { + "test": "node test/run-tests.js" + }, + "readme": "# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\n[Learn more here][feature].\n\nThis library was written in the Asynchronous Module Definition\nformat. It should work in the following environments:\n\n* Modern Browsers (either after the build, or with an AMD loader such as\n RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Installing with NPM (for use with NodeJS)\n\nSimply\n\n $ npm install source-map\n\nOr, if you'd like to hack on this library and have it installed via npm so you\ncan try out your changes:\n\n $ git clone https://fitzgen@github.com/mozilla/source-map.git\n $ cd source-map\n $ npm link .\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n $ git clone https://fitzgen@github.com/mozilla/source-map.git\n $ cd source-map\n $ npm link .\n\nNext, run\n\n $ node Makefile.dryice.js`\n\nThis should create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox\n source.\n\n## API\n\nGet a reference to the module:\n\n // NodeJS\n var sourceMap = require('source-map');\n\n // Browser builds\n var sourceMap = window.sourceMap;\n\n // Inside Firefox\n let sourceMap = {};\n Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n available.\n\n* `line`: The line number in the original source, or null if this information is\n not available.\n\n* `column`: The column number in the original source, or null or null if this\n information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping.\n\n* `context`: Optional. If specified, this object will be the value of `this`\n every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n the mappings sorted by the generated file's line/column order or the\n original's source/line/column order, respectively. Defaults to\n `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator(startOfSourceMap)\n\nTo create a new one, you must pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n associated with.\n\n* `sourceRoot`: An optional root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n If omitted, sourceMapConsumer.file will be used.\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode(line, column, source[, chunk[, name]])\n\n* `line`: The original line number associated with this source node, or null if\n it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n if it isn't associated with an original column.\n\n* `source`: The original source's filename.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer)\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap)\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-.js`\nand export your test functions with names that start with \"test\", for example\n\n exports[\"test doing the foo bar\"] = function (assert, util) {\n ...\n };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n", + "_id": "source-map@0.1.22", + "dist": { + "shasum": "47dee946245092b18f18a0ef58bacfb4dd53032d" + }, + "_from": "source-map@~0.1.7" +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/run-tests.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/run-tests.js new file mode 100644 index 0000000..8bf2256 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/run-tests.js @@ -0,0 +1,73 @@ +#!/usr/bin/env node +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var assert = require('assert'); +var fs = require('fs'); +var path = require('path'); +var util = require('./source-map/util'); + +function run(tests) { + var failures = []; + var total = 0; + var passed = 0; + + for (var i = 0; i < tests.length; i++) { + for (var k in tests[i].testCase) { + if (/^test/.test(k)) { + total++; + try { + tests[i].testCase[k](assert, util); + passed++; + process.stdout.write('.'); + } + catch (e) { + failures.push({ + name: tests[i].name + ': ' + k, + error: e + }); + process.stdout.write('E'); + } + } + } + } + + process.stdout.write('\n'); + console.log(passed + ' / ' + total + ' tests passed.'); + + failures.forEach(function (f) { + console.log('================================================================================'); + console.log(f.name); + console.log('--------------------------------------------------------------------------------'); + console.log(f.error.stack); + }); + + return failures.length; +} + +var code; + +process.stdout.on('close', function () { + process.exit(code); +}); + +function isTestFile(f) { + return /^test\-.*?\.js/.test(f); +} + +function toModule(f) { + return './source-map/' + f.replace(/\.js$/, ''); +} + +var requires = fs.readdirSync(path.join(__dirname, 'source-map')).filter(isTestFile).map(toModule); + +code = run(requires.map(require).map(function (mod, i) { + return { + name: requires[i], + testCase: mod + }; +})); +process.exit(code); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js new file mode 100644 index 0000000..63eb45a --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js @@ -0,0 +1,26 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2012 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var sourceMap; + try { + sourceMap = require('../../lib/source-map'); + } catch (e) { + sourceMap = {}; + Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); + } + + exports['test that the api is properly exposed in the top level'] = function (assert, util) { + assert.equal(typeof sourceMap.SourceMapGenerator, "function"); + assert.equal(typeof sourceMap.SourceMapConsumer, "function"); + assert.equal(typeof sourceMap.SourceNode, "function"); + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js new file mode 100644 index 0000000..c4e88d3 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js @@ -0,0 +1,71 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var ArraySet = require('../../lib/source-map/array-set').ArraySet; + + function makeTestSet() { + var set = new ArraySet(); + for (var i = 0; i < 100; i++) { + set.add(String(i)); + } + return set; + } + + exports['test .has() membership'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.ok(set.has(String(i))); + } + }; + + exports['test .indexOf() elements'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.indexOf(String(i)), i); + } + }; + + exports['test .at() indexing'] = function (assert, util) { + var set = makeTestSet(); + for (var i = 0; i < 100; i++) { + assert.strictEqual(set.at(i), String(i)); + } + }; + + exports['test creating from an array'] = function (assert, util) { + var set = ArraySet.fromArray(['foo', 'bar', 'baz', 'quux', 'hasOwnProperty']); + + assert.ok(set.has('foo')); + assert.ok(set.has('bar')); + assert.ok(set.has('baz')); + assert.ok(set.has('quux')); + assert.ok(set.has('hasOwnProperty')); + + assert.strictEqual(set.indexOf('foo'), 0); + assert.strictEqual(set.indexOf('bar'), 1); + assert.strictEqual(set.indexOf('baz'), 2); + assert.strictEqual(set.indexOf('quux'), 3); + + assert.strictEqual(set.at(0), 'foo'); + assert.strictEqual(set.at(1), 'bar'); + assert.strictEqual(set.at(2), 'baz'); + assert.strictEqual(set.at(3), 'quux'); + }; + + exports['test that you can add __proto__; see github issue #30'] = function (assert, util) { + var set = new ArraySet(); + set.add('__proto__'); + assert.ok(set.has('__proto__')); + assert.strictEqual(set.at(0), '__proto__'); + assert.strictEqual(set.indexOf('__proto__'), 0); + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js new file mode 100644 index 0000000..7100da3 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js @@ -0,0 +1,24 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64VLQ = require('../../lib/source-map/base64-vlq'); + + exports['test normal encoding and decoding'] = function (assert, util) { + var result; + for (var i = -255; i < 256; i++) { + result = base64VLQ.decode(base64VLQ.encode(i)); + assert.ok(result); + assert.equal(result.value, i); + assert.equal(result.rest, ""); + } + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js new file mode 100644 index 0000000..23e0f88 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js @@ -0,0 +1,35 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var base64 = require('../../lib/source-map/base64'); + + exports['test out of range encoding'] = function (assert, util) { + assert.throws(function () { + base64.encode(-1); + }); + assert.throws(function () { + base64.encode(64); + }); + }; + + exports['test out of range decoding'] = function (assert, util) { + assert.throws(function () { + base64.decode('='); + }); + }; + + exports['test normal encoding and decoding'] = function (assert, util) { + for (var i = 0; i < 64; i++) { + assert.equal(base64.decode(base64.encode(i)), i); + } + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js new file mode 100644 index 0000000..41d0bf8 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js @@ -0,0 +1,54 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var binarySearch = require('../../lib/source-map/binary-search'); + + function numberCompare(a, b) { + return a - b; + } + + exports['test too high'] = function (assert, util) { + var needle = 30; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 20); + }; + + exports['test too low'] = function (assert, util) { + var needle = 1; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.doesNotThrow(function () { + binarySearch.search(needle, haystack, numberCompare); + }); + + assert.equal(binarySearch.search(needle, haystack, numberCompare), null); + }; + + exports['test exact search'] = function (assert, util) { + var needle = 4; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 4); + }; + + exports['test fuzzy search'] = function (assert, util) { + var needle = 19; + var haystack = [2,4,6,8,10,12,14,16,18,20]; + + assert.equal(binarySearch.search(needle, haystack, numberCompare), 18); + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js new file mode 100644 index 0000000..d433bf6 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js @@ -0,0 +1,72 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test eating our own dog food'] = function (assert, util) { + var smg = new SourceMapGenerator({ + file: 'testing.js', + sourceRoot: '/wu/tang' + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 1, column: 0 }, + generated: { line: 2, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 2, column: 0 }, + generated: { line: 3, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 3, column: 0 }, + generated: { line: 4, column: 2 } + }); + + smg.addMapping({ + source: 'gza.coffee', + original: { line: 4, column: 0 }, + generated: { line: 5, column: 2 } + }); + + var smc = new SourceMapConsumer(smg.toString()); + + // Exact + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 0, null, smc, assert); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 0, null, smc, assert); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 0, null, smc, assert); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 0, null, smc, assert); + + // Fuzzy + + // Original to generated + util.assertMapping(2, 0, null, null, null, null, smc, assert, true); + util.assertMapping(2, 9, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 0, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); + util.assertMapping(3, 9, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 0, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); + util.assertMapping(4, 9, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 0, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); + util.assertMapping(5, 9, '/wu/tang/gza.coffee', 4, 0, null, smc, assert, true); + + // Generated to original + util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 1, null, smc, assert, null, true); + util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 3, null, smc, assert, null, true); + util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 6, null, smc, assert, null, true); + util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 9, null, smc, assert, null, true); + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js new file mode 100644 index 0000000..610d463 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js @@ -0,0 +1,291 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + + exports['test that we can instantiate with a string or an objects'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(util.testMap); + }); + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(JSON.stringify(util.testMap)); + }); + }; + + exports['test that the `sources` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var sources = map.sources; + + assert.equal(sources[0], '/the/root/one.js'); + assert.equal(sources[1], '/the/root/two.js'); + assert.equal(sources.length, 2); + }; + + exports['test that the source root is reflected in a mapping\'s source field'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var mapping; + + mapping = map.originalPositionFor({ + line: 2, + column: 1 + }); + assert.equal(mapping.source, '/the/root/two.js'); + + mapping = map.originalPositionFor({ + line: 1, + column: 1 + }); + assert.equal(mapping.source, '/the/root/one.js'); + }; + + exports['test mapping tokens back exactly'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + util.assertMapping(1, 1, '/the/root/one.js', 1, 1, null, map, assert); + util.assertMapping(1, 5, '/the/root/one.js', 1, 5, null, map, assert); + util.assertMapping(1, 9, '/the/root/one.js', 1, 11, null, map, assert); + util.assertMapping(1, 18, '/the/root/one.js', 1, 21, 'bar', map, assert); + util.assertMapping(1, 21, '/the/root/one.js', 2, 3, null, map, assert); + util.assertMapping(1, 28, '/the/root/one.js', 2, 10, 'baz', map, assert); + util.assertMapping(1, 32, '/the/root/one.js', 2, 14, 'bar', map, assert); + + util.assertMapping(2, 1, '/the/root/two.js', 1, 1, null, map, assert); + util.assertMapping(2, 5, '/the/root/two.js', 1, 5, null, map, assert); + util.assertMapping(2, 9, '/the/root/two.js', 1, 11, null, map, assert); + util.assertMapping(2, 18, '/the/root/two.js', 1, 21, 'n', map, assert); + util.assertMapping(2, 21, '/the/root/two.js', 2, 3, null, map, assert); + util.assertMapping(2, 28, '/the/root/two.js', 2, 10, 'n', map, assert); + }; + + exports['test mapping tokens fuzzy'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + + // Finding original positions + util.assertMapping(1, 20, '/the/root/one.js', 1, 21, 'bar', map, assert, true); + util.assertMapping(1, 30, '/the/root/one.js', 2, 10, 'baz', map, assert, true); + util.assertMapping(2, 12, '/the/root/two.js', 1, 11, null, map, assert, true); + + // Finding generated positions + util.assertMapping(1, 18, '/the/root/one.js', 1, 22, 'bar', map, assert, null, true); + util.assertMapping(1, 28, '/the/root/one.js', 2, 13, 'baz', map, assert, null, true); + util.assertMapping(2, 9, '/the/root/two.js', 1, 16, null, map, assert, null, true); + }; + + exports['test creating source map consumers with )]}\' prefix'] = function (assert, util) { + assert.doesNotThrow(function () { + var map = new SourceMapConsumer(")]}'" + JSON.stringify(util.testMap)); + }); + }; + + exports['test eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + map.eachMapping(function (mapping) { + assert.ok(mapping.generatedLine >= previousLine); + + if (mapping.source) { + assert.equal(mapping.source.indexOf(util.testMap.sourceRoot), 0); + } + + if (mapping.generatedLine === previousLine) { + assert.ok(mapping.generatedColumn >= previousColumn); + previousColumn = mapping.generatedColumn; + } + else { + previousLine = mapping.generatedLine; + previousColumn = -Infinity; + } + }); + }; + + exports['test iterating over mappings in a different order'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var previousLine = -Infinity; + var previousColumn = -Infinity; + var previousSource = ""; + map.eachMapping(function (mapping) { + assert.ok(mapping.source >= previousSource); + + if (mapping.source === previousSource) { + assert.ok(mapping.originalLine >= previousLine); + + if (mapping.originalLine === previousLine) { + assert.ok(mapping.originalColumn >= previousColumn); + previousColumn = mapping.originalColumn; + } + else { + previousLine = mapping.originalLine; + previousColumn = -Infinity; + } + } + else { + previousSource = mapping.source; + previousLine = -Infinity; + previousColumn = -Infinity; + } + }, null, SourceMapConsumer.ORIGINAL_ORDER); + }; + + exports['test that we can set the context for `this` in eachMapping'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMap); + var context = {}; + map.eachMapping(function () { + assert.equal(this, context); + }, context); + }; + + exports['test that the `sourcesContent` field has the original sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sourcesContent = map.sourcesContent; + + assert.equal(sourcesContent[0], ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(sourcesContent[1], ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(sourcesContent.length, 2); + }; + + exports['test that we can get the original sources for the sources'] = function (assert, util) { + var map = new SourceMapConsumer(util.testMapWithSourcesContent); + var sources = map.sources; + + assert.equal(map.sourceContentFor(sources[0]), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor(sources[1]), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.equal(map.sourceContentFor("one.js"), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); + assert.equal(map.sourceContentFor("two.js"), ' TWO.inc = function (n) {\n return n + 1;\n };'); + assert.throws(function () { + map.sourceContentFor(""); + }, Error); + assert.throws(function () { + map.sourceContentFor("/the/root/three.js"); + }, Error); + assert.throws(function () { + map.sourceContentFor("three.js"); + }, Error); + }; + + exports['test sourceRoot + generatedPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map.addMapping({ + original: { line: 5, column: 5 }, + generated: { line: 6, column: 6 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + // Should handle without sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + + // Should handle with sourceRoot. + var pos = map.generatedPositionFor({ + line: 1, + column: 1, + source: 'foo/bar/bang.coffee' + }); + + assert.equal(pos.line, 2); + assert.equal(pos.column, 2); + }; + + exports['test sourceRoot + originalPositionFor'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'foo/bar', + file: 'baz.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'bang.coffee' + }); + map = new SourceMapConsumer(map.toString()); + + var pos = map.originalPositionFor({ + line: 2, + column: 2, + }); + + // Should always have the prepended source root + assert.equal(pos.source, 'foo/bar/bang.coffee'); + assert.equal(pos.line, 1); + assert.equal(pos.column, 1); + }; + + exports['test github issue #56'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://', + file: 'www.example.com/foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'www.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1); + assert.equal(sources[0], 'http://www.example.com/original.js'); + }; + + exports['test github issue #43'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: 'http://cdn.example.com/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://cdn.example.com/original.js', + 'Should not be joined with the sourceRoot.'); + }; + + exports['test absolute path, but same host sources'] = function (assert, util) { + var map = new SourceMapGenerator({ + sourceRoot: 'http://example.com/foo/bar', + file: 'foo.js' + }); + map.addMapping({ + original: { line: 1, column: 1 }, + generated: { line: 2, column: 2 }, + source: '/original.js' + }); + map = new SourceMapConsumer(map.toString()); + + var sources = map.sources; + assert.equal(sources.length, 1, + 'Should only be one source.'); + assert.equal(sources[0], 'http://example.com/original.js', + 'Source should be relative the host of the source root.'); + }; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js new file mode 100644 index 0000000..2c42c8c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js @@ -0,0 +1,391 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + var util = require('./util'); + + exports['test some simple stuff'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.ok(true); + }; + + exports['test JSON serialization'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'foo.js', + sourceRoot: '.' + }); + assert.equal(map.toString(), JSON.stringify(map)); + }; + + exports['test adding mappings (case 1)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 2)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test adding mappings (case 3)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + assert.doesNotThrow(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + source: 'bar.js', + original: { line: 1, column: 1 }, + name: 'someToken' + }); + }); + }; + + exports['test adding mappings (invalid)'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'generated-foo.js', + sourceRoot: '.' + }); + + // Not enough info. + assert.throws(function () { + map.addMapping({}); + }); + + // Original file position, but no source. + assert.throws(function () { + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 } + }); + }); + }; + + exports['test that the correct mappings are being generated'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 5 }, + original: { line: 1, column: 5 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 9 }, + original: { line: 1, column: 11 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 18 }, + original: { line: 1, column: 21 }, + source: 'one.js', + name: 'bar' + }); + map.addMapping({ + generated: { line: 1, column: 21 }, + original: { line: 2, column: 3 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 1, column: 28 }, + original: { line: 2, column: 10 }, + source: 'one.js', + name: 'baz' + }); + map.addMapping({ + generated: { line: 1, column: 32 }, + original: { line: 2, column: 14 }, + source: 'one.js', + name: 'bar' + }); + + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 5 }, + original: { line: 1, column: 5 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 9 }, + original: { line: 1, column: 11 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 18 }, + original: { line: 1, column: 21 }, + source: 'two.js', + name: 'n' + }); + map.addMapping({ + generated: { line: 2, column: 21 }, + original: { line: 2, column: 3 }, + source: 'two.js' + }); + map.addMapping({ + generated: { line: 2, column: 28 }, + original: { line: 2, column: 10 }, + source: 'two.js', + name: 'n' + }); + + map = JSON.parse(map.toString()); + + util.assertEqualMaps(assert, map, util.testMap); + }; + + exports['test that source content can be set'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'min.js', + sourceRoot: '/the/root' + }); + map.addMapping({ + generated: { line: 1, column: 1 }, + original: { line: 1, column: 1 }, + source: 'one.js' + }); + map.addMapping({ + generated: { line: 2, column: 1 }, + original: { line: 1, column: 1 }, + source: 'two.js' + }); + map.setSourceContent('one.js', 'one file content'); + + map = JSON.parse(map.toString()); + assert.equal(map.sources[0], 'one.js'); + assert.equal(map.sources[1], 'two.js'); + assert.equal(map.sourcesContent[0], 'one file content'); + assert.equal(map.sourcesContent[1], null); + }; + + exports['test .fromSourceMap'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(util.testMap)); + util.assertEqualMaps(assert, map.toJSON(), util.testMap); + }; + + exports['test .fromSourceMap with sourcesContent'] = function (assert, util) { + var map = SourceMapGenerator.fromSourceMap( + new SourceMapConsumer(util.testMapWithSourcesContent)); + util.assertEqualMaps(assert, map.toJSON(), util.testMapWithSourcesContent); + }; + + exports['test applySourceMap'] = function (assert, util) { + var node = new SourceNode(null, null, null, [ + new SourceNode(2, 0, 'fileX', 'lineX2\n'), + 'genA1\n', + new SourceNode(2, 0, 'fileY', 'lineY2\n'), + 'genA2\n', + new SourceNode(1, 0, 'fileX', 'lineX1\n'), + 'genA3\n', + new SourceNode(1, 0, 'fileY', 'lineY1\n') + ]); + var mapStep1 = node.toStringWithSourceMap({ + file: 'fileA' + }).map; + mapStep1.setSourceContent('fileX', 'lineX1\nlineX2\n'); + mapStep1 = mapStep1.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(1, 0, 'fileA', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(3, 0, 'fileA', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var mapStep2 = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + mapStep2.setSourceContent('fileB', 'lineB1\nlineB2\n'); + mapStep2 = mapStep2.toJSON(); + + node = new SourceNode(null, null, null, [ + 'gen1\n', + new SourceNode(2, 0, 'fileX', 'lineA1\n'), + new SourceNode(2, 0, 'fileA', 'lineA2\n'), + new SourceNode(2, 0, 'fileY', 'lineA3\n'), + new SourceNode(4, 0, 'fileA', 'lineA4\n'), + new SourceNode(1, 0, 'fileB', 'lineB1\n'), + new SourceNode(2, 0, 'fileB', 'lineB2\n'), + 'gen2\n' + ]); + var expectedMap = node.toStringWithSourceMap({ + file: 'fileGen' + }).map; + expectedMap.setSourceContent('fileX', 'lineX1\nlineX2\n'); + expectedMap.setSourceContent('fileB', 'lineB1\nlineB2\n'); + expectedMap = expectedMap.toJSON(); + + // apply source map "mapStep1" to "mapStep2" + var generator = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(mapStep2)); + generator.applySourceMap(new SourceMapConsumer(mapStep1)); + var actualMap = generator.toJSON(); + + util.assertEqualMaps(assert, actualMap, expectedMap); + }; + + exports['test sorting with duplicate generated mappings'] = function (assert, util) { + var map = new SourceMapGenerator({ + file: 'test.js' + }); + map.addMapping({ + generated: { line: 3, column: 0 }, + original: { line: 2, column: 0 }, + source: 'a.js' + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 2, column: 0 } + }); + map.addMapping({ + generated: { line: 1, column: 0 }, + original: { line: 1, column: 0 }, + source: 'a.js' + }); + + util.assertEqualMaps(assert, map.toJSON(), { + version: 3, + file: 'test.js', + sources: ['a.js'], + names: [], + mappings: 'AAAA;A;AACA' + }); + }; + + exports['test ignore duplicate mappings.'] = function (assert, util) { + var init = { file: 'min.js', sourceRoot: '/the/root' }; + var map1, map2; + + // null original source location + var nullMapping1 = { + generated: { line: 1, column: 0 } + }; + var nullMapping2 = { + generated: { line: 2, column: 2 } + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(nullMapping1); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(nullMapping2); + map1.addMapping(nullMapping1); + + map2.addMapping(nullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // original source location + var srcMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'srcMapping1.js' + }; + var srcMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'srcMapping2.js' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(srcMapping1); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(srcMapping2); + map1.addMapping(srcMapping1); + + map2.addMapping(srcMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + // full original source and name information + var fullMapping1 = { + generated: { line: 1, column: 0 }, + original: { line: 11, column: 0 }, + source: 'fullMapping1.js', + name: 'fullMapping1' + }; + var fullMapping2 = { + generated: { line: 2, column: 2 }, + original: { line: 11, column: 0 }, + source: 'fullMapping2.js', + name: 'fullMapping2' + }; + + map1 = new SourceMapGenerator(init); + map2 = new SourceMapGenerator(init); + + map1.addMapping(fullMapping1); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping1); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + + map1.addMapping(fullMapping2); + map1.addMapping(fullMapping1); + + map2.addMapping(fullMapping2); + + util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); + }; +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js new file mode 100644 index 0000000..231dd7b --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js @@ -0,0 +1,282 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; + var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; + var SourceNode = require('../../lib/source-map/source-node').SourceNode; + + exports['test .add()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Adding a string works. + node.add('function noop() {}'); + + // Adding another source node works. + node.add(new SourceNode(null, null, null)); + + // Adding an array works. + node.add(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + + // Adding other stuff doesn't. + assert.throws(function () { + node.add({}); + }); + assert.throws(function () { + node.add(function () {}); + }); + }; + + exports['test .prepend()'] = function (assert, util) { + var node = new SourceNode(null, null, null); + + // Prepending a string works. + node.prepend('function noop() {}'); + assert.equal(node.children[0], 'function noop() {}'); + assert.equal(node.children.length, 1); + + // Prepending another source node works. + node.prepend(new SourceNode(null, null, null)); + assert.equal(node.children[0], ''); + assert.equal(node.children[1], 'function noop() {}'); + assert.equal(node.children.length, 2); + + // Prepending an array works. + node.prepend(['function foo() {', + new SourceNode(null, null, null, + 'return 10;'), + '}']); + assert.equal(node.children[0], 'function foo() {'); + assert.equal(node.children[1], 'return 10;'); + assert.equal(node.children[2], '}'); + assert.equal(node.children[3], ''); + assert.equal(node.children[4], 'function noop() {}'); + assert.equal(node.children.length, 5); + + // Prepending other stuff doesn't. + assert.throws(function () { + node.prepend({}); + }); + assert.throws(function () { + node.prepend(function () {}); + }); + }; + + exports['test .toString()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['function foo() {', + new SourceNode(null, null, null, 'return 10;'), + '}'])).toString(), + 'function foo() {return 10;}'); + }; + + exports['test .join()'] = function (assert, util) { + assert.equal((new SourceNode(null, null, null, + ['a', 'b', 'c', 'd'])).join(', ').toString(), + 'a, b, c, d'); + }; + + exports['test .walk()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', new SourceNode(1, 0, 'a.js', ['someCall()']), ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var expected = [ + { str: '(function () {\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'someCall()', source: 'a.js', line: 1, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: ' ', source: null, line: null, column: null }, + { str: 'if (foo) bar()', source: 'b.js', line: 2, column: 0 }, + { str: ';\n', source: null, line: null, column: null }, + { str: '}());', source: null, line: null, column: null }, + ]; + var i = 0; + node.walk(function (chunk, loc) { + assert.equal(expected[i].str, chunk); + assert.equal(expected[i].source, loc.source); + assert.equal(expected[i].line, loc.line); + assert.equal(expected[i].column, loc.column); + i++; + }); + }; + + exports['test .replaceRight'] = function (assert, util) { + var node; + + // Not nested + node = new SourceNode(null, null, null, 'hello world'); + node.replaceRight(/world/, 'universe'); + assert.equal(node.toString(), 'hello universe'); + + // Nested + node = new SourceNode(null, null, null, + [new SourceNode(null, null, null, 'hey sexy mama, '), + new SourceNode(null, null, null, 'want to kill all humans?')]); + node.replaceRight(/kill all humans/, 'watch Futurama'); + assert.equal(node.toString(), 'hey sexy mama, want to watch Futurama?'); + }; + + exports['test .toStringWithSourceMap()'] = function (assert, util) { + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', + new SourceNode(1, 0, 'a.js', 'someCall', 'originalCall'), + new SourceNode(1, 8, 'a.js', '()'), + ';\n', + ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', + '}());']); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + var actual; + + actual = map.originalPositionFor({ + line: 1, + column: 4 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 2, + column: 2 + }); + assert.equal(actual.source, 'a.js'); + assert.equal(actual.line, 1); + assert.equal(actual.column, 0); + assert.equal(actual.name, 'originalCall'); + + actual = map.originalPositionFor({ + line: 3, + column: 2 + }); + assert.equal(actual.source, 'b.js'); + assert.equal(actual.line, 2); + assert.equal(actual.column, 0); + + actual = map.originalPositionFor({ + line: 3, + column: 16 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + + actual = map.originalPositionFor({ + line: 4, + column: 2 + }); + assert.equal(actual.source, null); + assert.equal(actual.line, null); + assert.equal(actual.column, null); + }; + + exports['test .fromStringWithSourceMap()'] = function (assert, util) { + var node = SourceNode.fromStringWithSourceMap( + util.testGeneratedCode, + new SourceMapConsumer(util.testMap)); + + var result = node.toStringWithSourceMap({ + file: 'min.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, util.testGeneratedCode); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + assert.equal(map.version, util.testMap.version); + assert.equal(map.file, util.testMap.file); + assert.equal(map.mappings, util.testMap.mappings); + }; + + exports['test .fromStringWithSourceMap() complex version'] = function (assert, util) { + var input = new SourceNode(null, null, null, [ + "(function() {\n", + " var Test = {};\n", + " ", new SourceNode(1, 0, "a.js", "Test.A = { value: 1234 };\n"), + " ", new SourceNode(2, 0, "a.js", "Test.A.x = 'xyz';"), "\n", + "}());\n", + "/* Generated Source */"]); + input = input.toStringWithSourceMap({ + file: 'foo.js' + }); + + var node = SourceNode.fromStringWithSourceMap( + input.code, + new SourceMapConsumer(input.map.toString())); + + var result = node.toStringWithSourceMap({ + file: 'foo.js' + }); + var map = result.map; + var code = result.code; + + assert.equal(code, input.code); + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = map.toJSON(); + var inputMap = input.map.toJSON(); + util.assertEqualMaps(assert, map, inputMap); + }; + + exports['test setSourceContent with toStringWithSourceMap'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var map = node.toStringWithSourceMap({ + file: 'foo.js' + }).map; + + assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); + map = new SourceMapConsumer(map.toString()); + + assert.equal(map.sources.length, 2); + assert.equal(map.sources[0], 'a.js'); + assert.equal(map.sources[1], 'b.js'); + assert.equal(map.sourcesContent.length, 2); + assert.equal(map.sourcesContent[0], 'someContent'); + assert.equal(map.sourcesContent[1], 'otherContent'); + }; + + exports['test walkSourceContents'] = function (assert, util) { + var aNode = new SourceNode(1, 1, 'a.js', 'a'); + aNode.setSourceContent('a.js', 'someContent'); + var node = new SourceNode(null, null, null, + ['(function () {\n', + ' ', aNode, + ' ', new SourceNode(1, 1, 'b.js', 'b'), + '}());']); + node.setSourceContent('b.js', 'otherContent'); + var results = []; + node.walkSourceContents(function (sourceFile, sourceContent) { + results.push([sourceFile, sourceContent]); + }); + assert.equal(results.length, 2); + assert.equal(results[0][0], 'a.js'); + assert.equal(results[0][1], 'someContent'); + assert.equal(results[1][0], 'b.js'); + assert.equal(results[1][1], 'otherContent'); + }; +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js new file mode 100644 index 0000000..3e19fc9 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js @@ -0,0 +1,152 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +if (typeof define !== 'function') { + var define = require('amdefine')(module); +} +define(function (require, exports, module) { + + var util = require('../../lib/source-map/util'); + + // This is a test mapping which maps functions from two different files + // (one.js and two.js) to a minified generated source. + // + // Here is one.js: + // + // ONE.foo = function (bar) { + // return baz(bar); + // }; + // + // Here is two.js: + // + // TWO.inc = function (n) { + // return n + 1; + // }; + // + // And here is the generated code (min.js): + // + // ONE.foo=function(a){return baz(a);}; + // TWO.inc=function(a){return a+1;}; + exports.testGeneratedCode = " ONE.foo=function(a){return baz(a);};\n"+ + " TWO.inc=function(a){return a+1;};"; + exports.testMap = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + exports.testMapWithSourcesContent = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourcesContent: [ + ' ONE.foo = function (bar) {\n' + + ' return baz(bar);\n' + + ' };', + ' TWO.inc = function (n) {\n' + + ' return n + 1;\n' + + ' };' + ], + sourceRoot: '/the/root', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' + }; + + function assertMapping(generatedLine, generatedColumn, originalSource, + originalLine, originalColumn, name, map, assert, + dontTestGenerated, dontTestOriginal) { + if (!dontTestOriginal) { + var origMapping = map.originalPositionFor({ + line: generatedLine, + column: generatedColumn + }); + assert.equal(origMapping.name, name, + 'Incorrect name, expected ' + JSON.stringify(name) + + ', got ' + JSON.stringify(origMapping.name)); + assert.equal(origMapping.line, originalLine, + 'Incorrect line, expected ' + JSON.stringify(originalLine) + + ', got ' + JSON.stringify(origMapping.line)); + assert.equal(origMapping.column, originalColumn, + 'Incorrect column, expected ' + JSON.stringify(originalColumn) + + ', got ' + JSON.stringify(origMapping.column)); + + var expectedSource; + + if (originalSource && map.sourceRoot && originalSource.indexOf(map.sourceRoot) === 0) { + expectedSource = originalSource; + } else if (originalSource) { + expectedSource = map.sourceRoot + ? util.join(map.sourceRoot, originalSource) + : originalSource; + } else { + expectedSource = null; + } + + assert.equal(origMapping.source, expectedSource, + 'Incorrect source, expected ' + JSON.stringify(expectedSource) + + ', got ' + JSON.stringify(origMapping.source)); + } + + if (!dontTestGenerated) { + var genMapping = map.generatedPositionFor({ + source: originalSource, + line: originalLine, + column: originalColumn + }); + assert.equal(genMapping.line, generatedLine, + 'Incorrect line, expected ' + JSON.stringify(generatedLine) + + ', got ' + JSON.stringify(genMapping.line)); + assert.equal(genMapping.column, generatedColumn, + 'Incorrect column, expected ' + JSON.stringify(generatedColumn) + + ', got ' + JSON.stringify(genMapping.column)); + } + } + exports.assertMapping = assertMapping; + + function assertEqualMaps(assert, actualMap, expectedMap) { + assert.equal(actualMap.version, expectedMap.version, "version mismatch"); + assert.equal(actualMap.file, expectedMap.file, "file mismatch"); + assert.equal(actualMap.names.length, + expectedMap.names.length, + "names length mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + for (var i = 0; i < actualMap.names.length; i++) { + assert.equal(actualMap.names[i], + expectedMap.names[i], + "names[" + i + "] mismatch: " + + actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); + } + assert.equal(actualMap.sources.length, + expectedMap.sources.length, + "sources length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + for (var i = 0; i < actualMap.sources.length; i++) { + assert.equal(actualMap.sources[i], + expectedMap.sources[i], + "sources[" + i + "] length mismatch: " + + actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); + } + assert.equal(actualMap.sourceRoot, + expectedMap.sourceRoot, + "sourceRoot mismatch: " + + actualMap.sourceRoot + " != " + expectedMap.sourceRoot); + assert.equal(actualMap.mappings, expectedMap.mappings, "mappings mismatch"); + if (actualMap.sourcesContent) { + assert.equal(actualMap.sourcesContent.length, + expectedMap.sourcesContent.length, + "sourcesContent length mismatch"); + for (var i = 0; i < actualMap.sourcesContent.length; i++) { + assert.equal(actualMap.sourcesContent[i], + expectedMap.sourcesContent[i], + "sourcesContent[" + i + "] mismatch"); + } + } + } + exports.assertEqualMaps = assertEqualMaps; + +}); diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/package.json b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/package.json new file mode 100644 index 0000000..b2bf808 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/package.json @@ -0,0 +1,36 @@ +{ + "name": "uglify-js", + "description": "JavaScript parser, mangler/compressor and beautifier toolkit", + "homepage": "http://lisperator.net/uglifyjs", + "main": "tools/node.js", + "version": "2.2.5", + "engines": { + "node": ">=0.4.0" + }, + "maintainers": [ + { + "name": "Mihai Bazon", + "email": "mihai.bazon@gmail.com", + "url": "http://lisperator.net/" + } + ], + "repositories": [ + { + "type": "git", + "url": "https://github.com/mishoo/UglifyJS2.git" + } + ], + "dependencies": { + "source-map": "~0.1.7", + "optimist": "~0.3.5" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "scripts": { + "test": "node test/run-tests.js" + }, + "readme": "UglifyJS 2\n==========\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility. For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n npm install uglify-js\n\nFrom Git:\n\n git clone git://github.com/mishoo/UglifyJS2.git\n cd UglifyJS2\n npm link .\n\nUsage\n-----\n\n uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files. It's recommended that you pass the\ninput files first, then pass the options. UglifyJS will parse input files\nin sequence and apply any compression options. The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n --source-map Specify an output file where to generate source map.\n [string]\n --source-map-root The path to the original source to be included in the\n source map. [string]\n --source-map-url The path to the source map to be added in //@\n sourceMappingURL. Defaults to the value passed with\n --source-map. [string]\n --in-source-map Input source map, useful if you're compressing JS that was\n generated from some other original code.\n -p, --prefix Skip prefix for original filenames that appear in source\n maps. For example -p 3 will drop 3 directories from file\n names and ensure they are relative paths.\n -o, --output Output file (default STDOUT).\n -b, --beautify Beautify output/specify output options. [string]\n -m, --mangle Mangle names/pass mangler options. [string]\n -r, --reserved Reserved names to exclude from mangling.\n -c, --compress Enable compressor/pass compressor options. Pass options\n like -c hoist_vars=false,if_return=false. Use -c with no\n argument to use the default compression options. [string]\n -d, --define Global definitions [string]\n --comments Preserve copyright comments in the output. By default this\n works like Google Closure, keeping JSDoc-style comments\n that contain \"@license\" or \"@preserve\". You can optionally\n pass one of the following arguments to this flag:\n - \"all\" to keep all comments\n - a valid JS regexp (needs to start with a slash) to keep\n only comments that match.\n Note that currently not *all* comments can be kept when\n compression is on, because of dead code removal or\n cascading statements into sequences. [string]\n --stats Display operations run time on STDERR. [boolean]\n --acorn Use Acorn for parsing. [boolean]\n --spidermonkey Assume input fles are SpiderMonkey AST format (as JSON).\n [boolean]\n --self Build itself (UglifyJS2) as a library (implies\n --wrap=UglifyJS --export-all) [boolean]\n --wrap Embed everything in a big function, making the “exports”\n and “global” variables available. You need to pass an\n argument to this option to specify the name that your\n module will take when included in, say, a browser.\n [string]\n --export-all Only used when --wrap, this tells UglifyJS to add code to\n automatically export all globals. [boolean]\n --lint Display some scope warnings [boolean]\n -v, --verbose Verbose [boolean]\n -V, --version Print version number and exit. [boolean]\n\nSpecify `--output` (`-o`) to declare the output file. Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript. To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found. In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n uglifyjs /home/doe/work/foo/src/js/file1.js \\\n /home/doe/work/foo/src/js/file2.js \\\n -o foo.min.js \\\n --source-map foo.min.js.map \\\n --source-map-root http://foo.com/src \\\n -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`. The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript). UglifyJS has an\noption to take an input source map. Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`. Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`). Optionally you\ncan pass `-m sort=true` (we'll possibly have other flags in the future) in order\nto assign shorter names to most frequently used variables. This saves a few\nhundred bytes on jQuery before gzip, but the output is _bigger_ after gzip\n(and seems to happen for other libraries I tried it on) therefore it's not\nenabled by default.\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names. For example:\n\n uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor. Optionally\nyou can pass a comma-separated list of options. Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\nThe defaults should be tuned for maximum compression on most code. Here are\nthe available options (all are `true` by default, except `hoist_vars`):\n\n- `sequences` -- join consecutive simple statements using the comma operator\n- `properties` -- rewrite property access using the dot notation, for\n example `foo[\"bar\"] → foo.bar`\n- `dead_code` -- remove unreachable code\n- `drop_debugger` -- remove `debugger;` statements\n- `unsafe` -- apply \"unsafe\" transformations (discussion below)\n- `conditionals` -- apply optimizations for `if`-s and conditional\n expressions\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n- `evaluate` -- attempt to evaluate constant expressions\n- `booleans` -- various optimizations for boolean context, for example `!!a\n ? b : c → a ? b : c`\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n statically determine the condition\n- `unused` -- drop unreferenced functions and variables\n- `hoist_funs` -- hoist function declarations\n- `hoist_vars` -- hoist `var` declarations (this is `false` by default\n because it seems to increase the size of the output in general)\n- `if_return` -- optimizations for if/return and if/continue\n- `join_vars` -- join consecutive `var` statements\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n and `x = something(), x` into `x = something()`\n- `warnings` -- display warnings when dropping unreachable code or unused\n declarations etc.\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope). For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n\n if (DEBUG) {\n console.log(\"debug stuff\");\n }\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build. For example you can have a\n`build/defines.js` file with the following:\n\n const DEBUG = false;\n const PRODUCTION = true;\n // etc.\n\nand build your code like this:\n\n uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual. The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default. In\ncase you want beautified output, pass `--beautify` (`-b`). Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n Passing `-b` will set this to true, but you might need to pass `-b` even\n when you want to generate minified code, in order to specify additional\n arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n ` 5) break; // this break refers to the for, not to the switch; thus it + // shouldn't ruin our optimization + console.log(x); + } + y(); + case 1+1: + bar(); + break; + default: + def(); + } + } + } + expect: { + OUT: { + foo(); + x(); + if (foo) break OUT; + for (var x = 0; x < 10; x++) { + if (x > 5) break; + console.log(x); + } + y(); + bar(); + } + } +} + +constant_switch_8: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) break OUT; + y(); + break; + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) break OUT; + y(); + } + } +} + +constant_switch_9: { + options = { dead_code: true, evaluate: true }; + input: { + OUT: switch (1) { + case 1: + x(); + for (;;) if (foo) break OUT; + y(); + case 1+1: + bar(); + default: + def(); + } + } + expect: { + OUT: { + x(); + for (;;) if (foo) break OUT; + y(); + bar(); + def(); + } + } +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/run-tests.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/run-tests.js new file mode 100644 index 0000000..0568c6a --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/test/run-tests.js @@ -0,0 +1,170 @@ +#! /usr/bin/env node + +var U = require("../tools/node"); +var path = require("path"); +var fs = require("fs"); +var assert = require("assert"); +var sys = require("util"); + +var tests_dir = path.dirname(module.filename); + +run_compress_tests(); + +/* -----[ utils ]----- */ + +function tmpl() { + return U.string_template.apply(this, arguments); +} + +function log() { + var txt = tmpl.apply(this, arguments); + sys.puts(txt); +} + +function log_directory(dir) { + log("*** Entering [{dir}]", { dir: dir }); +} + +function log_start_file(file) { + log("--- {file}", { file: file }); +} + +function log_test(name) { + log(" Running test [{name}]", { name: name }); +} + +function find_test_files(dir) { + var files = fs.readdirSync(dir).filter(function(name){ + return /\.js$/i.test(name); + }); + if (process.argv.length > 2) { + var x = process.argv.slice(2); + files = files.filter(function(f){ + return x.indexOf(f) >= 0; + }); + } + return files; +} + +function test_directory(dir) { + return path.resolve(tests_dir, dir); +} + +function as_toplevel(input) { + if (input instanceof U.AST_BlockStatement) input = input.body; + else if (input instanceof U.AST_Statement) input = [ input ]; + else throw new Error("Unsupported input syntax"); + var toplevel = new U.AST_Toplevel({ body: input }); + toplevel.figure_out_scope(); + return toplevel; +} + +function run_compress_tests() { + var dir = test_directory("compress"); + log_directory("compress"); + var files = find_test_files(dir); + function test_file(file) { + log_start_file(file); + function test_case(test) { + log_test(test.name); + var options = U.defaults(test.options, { + warnings: false + }); + var cmp = new U.Compressor(options, true); + var expect = make_code(as_toplevel(test.expect), false); + var input = as_toplevel(test.input); + var input_code = make_code(test.input); + var output = input.transform(cmp); + output.figure_out_scope(); + output = make_code(output, false); + if (expect != output) { + log("!!! failed\n---INPUT---\n{input}\n---OUTPUT---\n{output}\n---EXPECTED---\n{expected}\n\n", { + input: input_code, + output: output, + expected: expect + }); + } + } + var tests = parse_test(path.resolve(dir, file)); + for (var i in tests) if (tests.hasOwnProperty(i)) { + test_case(tests[i]); + } + } + files.forEach(function(file){ + test_file(file); + }); +} + +function parse_test(file) { + var script = fs.readFileSync(file, "utf8"); + var ast = U.parse(script, { + filename: file + }); + var tests = {}; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_LabeledStatement + && tw.parent() instanceof U.AST_Toplevel) { + var name = node.label.name; + tests[name] = get_one_test(name, node.body); + return true; + } + if (!(node instanceof U.AST_Toplevel)) croak(node); + }); + ast.walk(tw); + return tests; + + function croak(node) { + throw new Error(tmpl("Can't understand test file {file} [{line},{col}]\n{code}", { + file: file, + line: node.start.line, + col: node.start.col, + code: make_code(node, false) + })); + } + + function get_one_test(name, block) { + var test = { name: name, options: {} }; + var tw = new U.TreeWalker(function(node, descend){ + if (node instanceof U.AST_Assign) { + if (!(node.left instanceof U.AST_SymbolRef)) { + croak(node); + } + var name = node.left.name; + test[name] = evaluate(node.right); + return true; + } + if (node instanceof U.AST_LabeledStatement) { + assert.ok( + node.label.name == "input" || node.label.name == "expect", + tmpl("Unsupported label {name} [{line},{col}]", { + name: node.label.name, + line: node.label.start.line, + col: node.label.start.col + }) + ); + var stat = node.body; + if (stat instanceof U.AST_BlockStatement) { + if (stat.body.length == 1) stat = stat.body[0]; + else if (stat.body.length == 0) stat = new U.AST_EmptyStatement(); + } + test[node.label.name] = stat; + return true; + } + }); + block.walk(tw); + return test; + }; +} + +function make_code(ast, beautify) { + if (arguments.length == 1) beautify = true; + var stream = U.OutputStream({ beautify: beautify }); + ast.print(stream); + return stream.get(); +} + +function evaluate(code) { + if (code instanceof U.AST_Node) + code = make_code(code); + return new Function("return(" + code + ")")(); +} diff --git a/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/tools/node.js b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/tools/node.js new file mode 100644 index 0000000..cf87628 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/node_modules/uglify-js/tools/node.js @@ -0,0 +1,164 @@ +var path = require("path"); +var fs = require("fs"); +var vm = require("vm"); +var sys = require("util"); + +var UglifyJS = vm.createContext({ + sys : sys, + console : console, + MOZ_SourceMap : require("source-map") +}); + +function load_global(file) { + file = path.resolve(path.dirname(module.filename), file); + try { + var code = fs.readFileSync(file, "utf8"); + return vm.runInContext(code, UglifyJS, file); + } catch(ex) { + // XXX: in case of a syntax error, the message is kinda + // useless. (no location information). + sys.debug("ERROR in file: " + file + " / " + ex); + process.exit(1); + } +}; + +var FILES = exports.FILES = [ + "../lib/utils.js", + "../lib/ast.js", + "../lib/parse.js", + "../lib/transform.js", + "../lib/scope.js", + "../lib/output.js", + "../lib/compress.js", + "../lib/sourcemap.js", + "../lib/mozilla-ast.js" +].map(function(file){ + return path.join(path.dirname(fs.realpathSync(__filename)), file); +}); + +FILES.forEach(load_global); + +UglifyJS.AST_Node.warn_function = function(txt) { + sys.error("WARN: " + txt); +}; + +// XXX: perhaps we shouldn't export everything but heck, I'm lazy. +for (var i in UglifyJS) { + if (UglifyJS.hasOwnProperty(i)) { + exports[i] = UglifyJS[i]; + } +} + +exports.minify = function(files, options) { + options = UglifyJS.defaults(options, { + outSourceMap : null, + sourceRoot : null, + inSourceMap : null, + fromString : false, + warnings : false, + mangle : {}, + output : null, + compress : {} + }); + if (typeof files == "string") + files = [ files ]; + + // 1. parse + var toplevel = null; + files.forEach(function(file){ + var code = options.fromString + ? file + : fs.readFileSync(file, "utf8"); + toplevel = UglifyJS.parse(code, { + filename: options.fromString ? "?" : file, + toplevel: toplevel + }); + }); + + // 2. compress + if (options.compress) { + var compress = { warnings: options.warnings }; + UglifyJS.merge(compress, options.compress); + toplevel.figure_out_scope(); + var sq = UglifyJS.Compressor(compress); + toplevel = toplevel.transform(sq); + } + + // 3. mangle + if (options.mangle) { + toplevel.figure_out_scope(); + toplevel.compute_char_frequency(); + toplevel.mangle_names(options.mangle); + } + + // 4. output + var map = null; + var inMap = null; + if (options.inSourceMap) { + inMap = fs.readFileSync(options.inSourceMap, "utf8"); + } + if (options.outSourceMap) map = UglifyJS.SourceMap({ + file: options.outSourceMap, + orig: inMap, + root: options.sourceRoot + }); + var output = { source_map: map }; + if (options.output) { + UglifyJS.merge(output, options.output); + } + var stream = UglifyJS.OutputStream(output); + toplevel.print(stream); + return { + code : stream + "", + map : map + "" + }; +}; + +// exports.describe_ast = function() { +// function doitem(ctor) { +// var sub = {}; +// ctor.SUBCLASSES.forEach(function(ctor){ +// sub[ctor.TYPE] = doitem(ctor); +// }); +// var ret = {}; +// if (ctor.SELF_PROPS.length > 0) ret.props = ctor.SELF_PROPS; +// if (ctor.SUBCLASSES.length > 0) ret.sub = sub; +// return ret; +// } +// return doitem(UglifyJS.AST_Node).sub; +// } + +exports.describe_ast = function() { + var out = UglifyJS.OutputStream({ beautify: true }); + function doitem(ctor) { + out.print("AST_" + ctor.TYPE); + var props = ctor.SELF_PROPS.filter(function(prop){ + return !/^\$/.test(prop); + }); + if (props.length > 0) { + out.space(); + out.with_parens(function(){ + props.forEach(function(prop, i){ + if (i) out.space(); + out.print(prop); + }); + }); + } + if (ctor.documentation) { + out.space(); + out.print_string(ctor.documentation); + } + if (ctor.SUBCLASSES.length > 0) { + out.space(); + out.with_block(function(){ + ctor.SUBCLASSES.forEach(function(ctor, i){ + out.indent(); + doitem(ctor); + out.newline(); + }); + }); + } + }; + doitem(UglifyJS.AST_Node); + return out + ""; +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/package.json b/static/js/node_modules/grunt-contrib-uglify/package.json new file mode 100644 index 0000000..1f01d10 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/package.json @@ -0,0 +1,67 @@ +{ + "name": "grunt-contrib-uglify", + "description": "Minify files with UglifyJS.", + "version": "0.2.0", + "homepage": "https://github.com/gruntjs/grunt-contrib-uglify", + "author": { + "name": "Grunt Team", + "url": "http://gruntjs.com/" + }, + "repository": { + "type": "git", + "url": "git://github.com/gruntjs/grunt-contrib-uglify.git" + }, + "bugs": { + "url": "https://github.com/gruntjs/grunt-contrib-uglify/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/gruntjs/grunt-contrib-uglify/blob/master/LICENSE-MIT" + } + ], + "main": "Gruntfile.js", + "engines": { + "node": ">= 0.8.0" + }, + "scripts": { + "test": "grunt test" + }, + "dependencies": { + "uglify-js": "~2.2.1", + "grunt-lib-contrib": "~0.6.0" + }, + "devDependencies": { + "grunt-contrib-jshint": "~0.2.0", + "grunt-contrib-nodeunit": "~0.1.2", + "grunt-contrib-clean": "~0.4.0", + "grunt-contrib-internal": "~0.4.2", + "grunt": "~0.4.0" + }, + "peerDependencies": { + "grunt": "~0.4.0" + }, + "keywords": [ + "gruntplugin" + ], + "contributors": [ + { + "name": "\"Cowboy\" Ben Alman", + "url": "http://benalman.com" + }, + { + "name": "Tyler Kellen", + "url": "http://goingslowly.com" + }, + { + "name": "Jarrod Overson", + "url": "http://jarrodoverson.com" + } + ], + "readme": "# grunt-contrib-uglify [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-contrib-uglify.png?branch=master)](http://travis-ci.org/gruntjs/grunt-contrib-uglify)\n\n> Minify files with UglifyJS.\n\n\n\n## Getting Started\nThis plugin requires Grunt `~0.4.0`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-contrib-uglify --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-contrib-uglify');\n```\n\n\n\n\n## Uglify task\n_Run this task with the `grunt uglify` command._\n\nTask targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.\n### Options\n\nThis task primarily delegates to [UglifyJS2][], so please consider the [UglifyJS documentation][] as required reading for advanced configuration.\n\n[UglifyJS2]: https://github.com/mishoo/UglifyJS2\n[UglifyJS documentation]: http://lisperator.net/uglifyjs/\n\n#### mangle\nType: `Boolean` `Object`\nDefault: `{}`\n\nTurn on or off mangling with default options. If an `Object` is specified, it is passed directly to `ast.mangle_names()` *and* `ast.compute_char_frequency()` (mimicking command line behavior).\n\n#### compress\nType: `Boolean` `Object`\nDefault: `{}`\n\nTurn on or off source compression with default options. If an `Object` is specified, it is passed as options to `UglifyJS.Compressor()`.\n\n#### beautify\nType: `Boolean` `Object`\nDefault: `false`\n\nTurns on beautification of the generated source code. An `Object` will be merged and passed with the options sent to `UglifyJS.OutputStream()`\n\n#### report\nChoices: `false` `'min'` `'gzip'`\nDefault: `false`\n\nEither do not report anything, report only minification result, or report minification and gzip results. This is useful to see exactly how well Uglify is performing, but using `'gzip'` can add 5-10x runtime task execution.\n\nExample ouput using `'gzip'`:\n\n```\nOriginal: 198444 bytes.\nMinified: 101615 bytes.\nGzipped: 20084 bytes.\n```\n\n#### sourceMap\nType: `String` `Function`\nDefault: `undefined`\n\nThe location to output the sourcemap. If a function is provided, the uglify destination is passed as the argument\nand the return value will be used as the sourceMap name.\n\n#### sourceMapRoot\nType: `String`\nDefault: `undefined`\n\nThe location where your source files can be found. This option sets the root location in the sourcemap file itself.\n\n#### sourceMapIn\nType: `String`\nDefault: `undefined`\n\nThe location of an input source map from an earlier compilation, e.g. from CoffeeScript.\n\n#### sourceMappingURL\nType: `String` `Function`\nDefault: `undefined`\n\nThe location of your sourcemap. Defaults to the location you use for sourceMap, override if you need finer control. Provide\na function to dynamically generate the sourceMappingURL based off the destination.\n\n#### sourceMapPrefix\nType: `Number`\nDefault: `undefined`\n\nThe number of directories to drop from the path prefix when declaring files in the source map.\n\n#### wrap\nType: `String`\nDefault: `undefined`\n\nWrap all of the code in a closure, an easy way to make sure nothing is leaking.\nFor variables that need to be public `exports` and `global` variables are made available.\nThe value of wrap is the global variable exports will be available as.\n\n#### exportAll\nType: `Boolean`\nDefault: `false`\n\nWhen using `wrap` this will make all global functions and variables available via the export variable.\n\n#### preserveComments\nType: `Boolean` `String` `Function`\nDefault: `undefined`\nOptions: `false` `'all'` `'some'`\n\nTurn on preservation of comments.\n\n- `false` will strip all comments\n- `'all'` will preserve all comments in code blocks that have not been squashed or dropped\n- `'some'` will preserve all comments that start with a bang (`!`) or include a closure compiler style directive (`@preserve` `@license` `@cc_on`)\n- `Function` specify your own comment preservation function. You will be passed the current node and the current comment and are expected to return either `true` or `false`\n\n#### banner\nType: `String`\nDefault: empty string\n\nThis string will be prepended to the beginning of the minified output. It is processed using [grunt.template.process][], using the default options.\n\n_(Default processing options are explained in the [grunt.template.process][] documentation)_\n\n[grunt.template.process]: https://github.com/gruntjs/grunt/wiki/grunt.template#wiki-grunt-template-process\n\n\n### Usage examples\n\n#### Basic compression\n\nIn this example, running `grunt uglify:my_target` (or `grunt uglify` because `uglify` is a [multi task][]) will mangle and compress the input files using the default options.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n files: {\n 'dest/output.min.js': ['src/input1.js', 'src/input2.js']\n }\n }\n }\n});\n```\n\n#### No mangling\n\nSpecify `mangle: false` to prevent changes to your variable and function names.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n options: {\n mangle: false\n },\n my_target: {\n files: {\n 'dest/output.min.js': ['src/input.js']\n }\n }\n }\n});\n```\n\n#### Reserved identifiers\n\nYou can specify identifiers to leave untouched with an `except` array in the `mangle` options.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n options: {\n mangle: {\n except: ['jQuery', 'Backbone']\n }\n },\n my_target: {\n files: {\n 'dest/output.min.js': ['src/input.js']\n }\n }\n }\n});\n```\n\n#### Source maps\n\nConfigure basic source map output by specifying a file path for the `sourceMap` option.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n options: {\n sourceMap: 'path/to/source-map.js'\n },\n files: {\n 'dest/output.min.js': ['src/input.js']\n }\n }\n }\n});\n```\n\n#### Advanced source maps\n\nYou can specify the parameters to pass to `UglifyJS.SourceMap()` which will\nallow you to configure advanced settings.\n\nRefer to the [UglifyJS SourceMap Documentation](http://lisperator.net/uglifyjs/codegen#source-map) for more information.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n options: {\n sourceMap: 'path/to/source-map.js',\n sourceMapRoot: 'http://example.com/path/to/src/', // the location to find your original source\n sourceMapIn: 'example/coffeescript-sourcemap.js', // input sourcemap from a previous compilation\n }\n },\n files: {\n 'dest/output.min.js': ['src/input.js']\n }\n }\n }\n});\n```\n\n\n#### Beautify\n\nSpecify `beautify: true` to beautify your code for debugging/troubleshooting purposes.\nPass an object to manually configure any other output options passed directly to `UglifyJS.OutputStream()`.\n\nSee [UglifyJS Codegen documentation](http://lisperator.net/uglifyjs/codegen) for more information.\n\n_Note that manual configuration will require you to explicitly set `beautify: true` if you want traditional, beautified output._\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n options: {\n beautify: true\n },\n files: {\n 'dest/output.min.js': ['src/input.js']\n }\n },\n my_advanced_target: {\n options: {\n beautify: {\n width: 80,\n beautify: true\n }\n },\n files: {\n 'dest/output.min.js': ['src/input.js']\n }\n }\n }\n});\n```\n\n#### Banner comments\n\nIn this example, running `grunt uglify:my_target` will prepend a banner created by interpolating the `banner` template string with the config object. Here, those properties are the values imported from the `package.json` file (which are available via the `pkg` config property) plus today's date.\n\n_Note: you don't have to use an external JSON file. It's also valid to create the `pkg` object inline in the config. That being said, if you already have a JSON file, you might as well reference it._\n\n```js\n// Project configuration.\ngrunt.initConfig({\n pkg: grunt.file.readJSON('package.json'),\n uglify: {\n options: {\n banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +\n '<%= grunt.template.today(\"yyyy-mm-dd\") %> */'\n },\n my_target: {\n files: {\n 'dest/output.min.js': ['src/input.js']\n }\n }\n }\n});\n```\n\n\n## Release History\n\n * 2013-03-13   v0.2.0   No longer report gzip results by default. Support `report` option.\n * 2013-01-29   v0.1.2   Added better error reporting Support for dynamic names of multiple sourcemaps\n * 2013-02-14   v0.1.1   First official release for Grunt 0.4.0.\n * 2013-01-17   v0.1.1rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.\n * 2013-01-08   v0.1.1rc5   Updating to work with grunt v0.4.0rc5. Switching back to this.files api.\n * 2012-11-27   v0.1.0   Work in progress, not yet officially released.\n\n---\n\nTask submitted by [\"Cowboy\" Ben Alman](http://benalman.com)\n\n*This file was generated on Thu Mar 14 2013 08:47:41.*\n", + "_id": "grunt-contrib-uglify@0.2.0", + "dist": { + "shasum": "a6cc9ac03e033eaa9ea4ab8b9d50f88262780e88" + }, + "_from": "grunt-contrib-uglify@~0.2.0" +} diff --git a/static/js/node_modules/grunt-contrib-uglify/tasks/lib/uglify.js b/static/js/node_modules/grunt-contrib-uglify/tasks/lib/uglify.js new file mode 100644 index 0000000..a98dc42 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/tasks/lib/uglify.js @@ -0,0 +1,145 @@ +/* + * grunt-contrib-uglify + * https://gruntjs.com/ + * + * Copyright (c) 2012 "Cowboy" Ben Alman, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +// External libs. +var UglifyJS = require('uglify-js'); +var fs = require('fs'); + +exports.init = function(grunt) { + var exports = {}; + + // Minify with UglifyJS. + // From https://github.com/mishoo/UglifyJS2 + // API docs at http://lisperator.net/uglifyjs/ + exports.minify = function(files, dest, options) { + options = options || {}; + + grunt.verbose.write('Minifying with UglifyJS...'); + + var topLevel = null; + var totalCode = ''; + + var outputOptions = getOutputOptions(options, dest); + var output = UglifyJS.OutputStream(outputOptions); + + // Grab and parse all source files + files.forEach(function(file){ + var code = grunt.file.read(file); + if (typeof options.sourceMapPrefix !== 'undefined') { + file = file.replace(/^\/+/, "").split(/\/+/).slice(options.sourceMapPrefix).join("/"); + } + totalCode += code; + topLevel = UglifyJS.parse(code, { + filename: file, + toplevel: topLevel + }); + }); + + // Wrap code in a common js wrapper. + if (options.wrap) { + topLevel = topLevel.wrap_commonjs(options.wrap, options.exportAll); + } + + // Need to call this before we mangle or compress, + // and call after any compression or ast altering + topLevel.figure_out_scope(); + + if (options.compress !== false) { + if (options.compress.warnings !== true) { + options.compress.warnings = false; + } + var compressor = UglifyJS.Compressor(options.compress); + topLevel = topLevel.transform(compressor); + + // Need to figure out scope again after source being altered + topLevel.figure_out_scope(); + } + + if (options.mangle !== false) { + // compute_char_frequency optimizes names for compression + topLevel.compute_char_frequency(options.mangle); + + // Requires previous call to figure_out_scope + // and should always be called after compressor transform + topLevel.mangle_names(options.mangle); + } + + // Print the ast to OutputStream + topLevel.print(output); + + var min = output.get(); + + if (options.sourceMappingURL || options.sourceMap) { + min += '\n//@ sourceMappingURL=' + (options.sourceMappingURL || options.sourceMap); + } + + var result = { + max: totalCode, + min: min, + sourceMap: outputOptions.source_map + }; + + grunt.verbose.ok(); + + return result; + }; + + var getOutputOptions = function(options, dest) { + var outputOptions = { + beautify: false, + source_map: null + }; + + if (options.preserveComments) { + if (options.preserveComments === 'all' || options.preserveComments === true) { + + // preserve all the comments we can + outputOptions.comments = true; + } else if (options.preserveComments === 'some') { + + // preserve comments with directives or that start with a bang (!) + outputOptions.comments = function(node, comment) { + return (/^!|@preserve|@license|@cc_on/i).test(comment.value); + }; + } else if (grunt.util._.isFunction(options.preserveComments)) { + + // support custom functions passed in + outputOptions.comments = options.preserveComments; + } + } + + if (options.beautify) { + if (grunt.util._.isObject(options.beautify)) { + // beautify options sent as an object are merged + // with outputOptions and passed to the OutputStream + grunt.util._.extend(outputOptions, options.beautify); + } else { + outputOptions.beautify = true; + } + } + + + if (options.sourceMap) { + var sourceMapIn; + if (options.sourceMapIn) { + sourceMapIn = grunt.file.readJSON(options.sourceMapIn); + } + outputOptions.source_map = UglifyJS.SourceMap({ + file: dest, + root: options.sourceMapRoot, + orig: sourceMapIn + }); + } + + return outputOptions; + }; + + return exports; +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/tasks/uglify.js b/static/js/node_modules/grunt-contrib-uglify/tasks/uglify.js new file mode 100644 index 0000000..59e155f --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/tasks/uglify.js @@ -0,0 +1,110 @@ +/* + * grunt-contrib-uglify + * http://gruntjs.com/ + * + * Copyright (c) 2012 "Cowboy" Ben Alman, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function(grunt) { + + // Internal lib. + var contrib = require('grunt-lib-contrib').init(grunt); + var uglify = require('./lib/uglify').init(grunt); + + grunt.registerMultiTask('uglify', 'Minify files with UglifyJS.', function() { + // Merge task-specific and/or target-specific options with these defaults. + var options = this.options({ + banner: '', + compress: { + warnings: false + }, + mangle: {}, + beautify: false, + report: false + }); + + // Process banner. + var banner = grunt.template.process(options.banner); + var mapNameGenerator, mappingURLGenerator; + + // Iterate over all src-dest file pairs. + this.files.forEach(function(f) { + var src = f.src.filter(function(filepath) { + // Warn on and remove invalid source files (if nonull was set). + if (!grunt.file.exists(filepath)) { + grunt.log.warn('Source file "' + filepath + '" not found.'); + return false; + } else { + return true; + } + }); + + // function to get the name of the sourceMap + if (typeof options.sourceMap === "function") { + mapNameGenerator = options.sourceMap; + } + + // function to get the sourceMappingURL + if (typeof options.sourceMappingURL === "function") { + mappingURLGenerator = options.sourceMappingURL; + } + + if (mapNameGenerator) { + try { + options.sourceMap = mapNameGenerator(f.dest); + } catch (e) { + var err = new Error('SourceMapName failed.'); + err.origError = e; + grunt.fail.warn(err); + } + } + + if (mappingURLGenerator) { + try { + options.sourceMappingURL = mappingURLGenerator(f.dest); + } catch (e) { + var err = new Error('SourceMapName failed.'); + err.origError = e; + grunt.fail.warn(err); + } + } + + // Minify files, warn and fail on error. + var result; + try { + result = uglify.minify(src, f.dest, options); + } catch (e) { + var err = new Error('Uglification failed.'); + if (e.msg) { + err.message += ', ' + e.msg + '.'; + } + err.origError = e; + grunt.fail.warn(err); + } + + // Concat banner + minified source. + var output = banner + result.min; + + // Write the destination file. + grunt.file.write(f.dest, output); + + // Write source map + if (options.sourceMap) { + grunt.file.write(options.sourceMap, result.sourceMap); + grunt.log.writeln('Source Map "' + options.sourceMap + '" created.'); + } + + // Print a success message. + grunt.log.writeln('File "' + f.dest + '" created.'); + + // ...and report some size information. + if (options.report) { + contrib.minMaxInfo(result.min, result.max, options.report); + } + }); + }); + +}; diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/comments.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/comments.js new file mode 100644 index 0000000..fbb3703 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/comments.js @@ -0,0 +1,12 @@ +/*! + * I am a comment + */ +function foo(){return 42}// @preserve preserve +// @license license +function bar(){return 2*foo()}/* @preserve + * multiline preserve + */ +/* @license + * multiline license + */ +function baz(){return bar()*bar()} \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress.js new file mode 100644 index 0000000..a9c123e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress.js @@ -0,0 +1 @@ +function longFunctionC(argumentC,argumentD){return longNameA+longNameB+argumentC+argumentD}var longNameA=1,longNameB=2,result=longFunctionC(3,4); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle.js new file mode 100644 index 0000000..5175042 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle.js @@ -0,0 +1 @@ +function longFunctionC(n,o){return longNameA+longNameB+n+o}var longNameA=1,longNameB=2,result=longFunctionC(3,4); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_beautify.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_beautify.js new file mode 100644 index 0000000..8d7231a --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_beautify.js @@ -0,0 +1,5 @@ +function longFunctionC(n, o) { + return longNameA + longNameB + n + o; +} + +var longNameA = 1, longNameB = 2, result = longFunctionC(3, 4); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_except.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_except.js new file mode 100644 index 0000000..c0bb99e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_except.js @@ -0,0 +1 @@ +function longFunctionC(argumentC,n){return longNameA+longNameB+argumentC+n}var longNameA=1,longNameB=2,result=longFunctionC(3,4); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_sourcemap b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_sourcemap new file mode 100644 index 0000000..864317a --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/compress_mangle_sourcemap @@ -0,0 +1 @@ +{"version":3,"file":"/dev/null","sources":["test/fixtures/src/simple.js"],"names":["longFunctionC","argumentC","argumentD","longNameA","longNameB","result"],"mappings":"AAOA,QAASA,eAAcC,EAAUC,GAC/B,MAAOC,WAAYC,UAAYH,EAAYC,EAL7C,GAAIC,WAAY,EAEZC,UAAY,EAMZC,OAASL,cAAc,EAAE"} \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/exportAll.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/exportAll.js new file mode 100644 index 0000000..8192a2b --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/exportAll.js @@ -0,0 +1 @@ +(function(exports,global){function longFunctionC(argumentC,argumentD){return longNameA+longNameB+argumentC+argumentD}global.testExport=exports;var longNameA=1,longNameB=2,result=longFunctionC(3,4);exports.longNameA=longNameA,exports.longNameB=longNameB,exports.longFunctionC=longFunctionC,exports.result=result})({},function(){return this}()); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multifile.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multifile.js new file mode 100644 index 0000000..beb6c51 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multifile.js @@ -0,0 +1 @@ +function longFunctionC(argumentC,argumentD){return longNameA+longNameB+argumentC+argumentD}function foo(){return 42}function bar(){return 2*foo()}function baz(){return bar()*bar()}var longNameA=1,longNameB=2,result=longFunctionC(3,4); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.js new file mode 100644 index 0000000..c10fbf7 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.js @@ -0,0 +1,2 @@ +function longFunctionC(n,o){return longNameA+longNameB+n+o}var longNameA=1,longNameB=2,result=longFunctionC(3,4); +//@ sourceMappingURL=test/fixtures/expected/multiple_sourcemaps1.mapurl \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.map b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.map new file mode 100644 index 0000000..c5e3601 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps1.map @@ -0,0 +1 @@ +{"version":3,"file":"test/fixtures/expected/multiple_sourcemaps1.js","sources":["test/fixtures/src/simple.js"],"names":["longFunctionC","argumentC","argumentD","longNameA","longNameB","result"],"mappings":"AAOA,QAASA,eAAcC,EAAUC,GAC/B,MAAOC,WAAYC,UAAYH,EAAYC,EAL7C,GAAIC,WAAY,EAEZC,UAAY,EAMZC,OAASL,cAAc,EAAE"} \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.js new file mode 100644 index 0000000..55cd809 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 2*foo()}function baz(){return bar()*bar()} +//@ sourceMappingURL=test/fixtures/expected/multiple_sourcemaps2.mapurl \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.map b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.map new file mode 100644 index 0000000..18dd794 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/multiple_sourcemaps2.map @@ -0,0 +1 @@ +{"version":3,"file":"test/fixtures/expected/multiple_sourcemaps2.js","sources":["test/fixtures/src/comments.js"],"names":["foo","bar","baz"],"mappings":"AAGA,QAASA,OACP,MAAO,IAIT,QAASC,OACP,MAAa,GAAND,MAQT,QAASE,OACP,MAAOD,OAAMA"} \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemap_prefix b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemap_prefix new file mode 100644 index 0000000..0fcd108 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemap_prefix @@ -0,0 +1 @@ +{"version":3,"file":"/dev/null","sources":["simple.js"],"names":["longFunctionC","argumentC","argumentD","longNameA","longNameB","result"],"mappings":"AAOA,QAASA,eAAcC,EAAUC,GAC/B,MAAOC,WAAYC,UAAYH,EAAYC,EAL7C,GAAIC,WAAY,EAEZC,UAAY,EAMZC,OAASL,cAAc,EAAE"} \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin new file mode 100644 index 0000000..bc8112e --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin @@ -0,0 +1 @@ +{"version":3,"file":"test/fixtures/expected/sourcemapin.js","sources":["test/fixtures/src/simple2.coffee"],"names":[],"mappings":"IAAC,YAAA,GAAA,OAAA,KAAA,KAAA,OAAA,SAAA,KAAA,MACA,QAAW,GACX,UAAW,EAGK,WAAhB,OAAS,KAGT,OAAS,SAAA,GAAA,MAAO,GAAI,GAGpB,MAAQ,EAAG,EAAG,EAAG,EAAG,GAGpB,MACG,KAAQ,KAAI,KACb,OAAQ,OACR,KAAQ,SAAA,GAAA,MAAO,GAAI,OAAO,KAG1B,KAAO,SAAA,OAAA,SAAS,MAAA,SAAA,UAAA,QAAA,KAAA,MAAA,KAAA,UAAA,MACf,MAAM,OAAQ,UAGf,mBAAsB,QAAA,MAAA,OAAtB,MAAM,cAGR,MAAA,SAAA,QAAS,IAAA,GAAT,KAAS,GAAA,EAAA,QAAyB,KAAA,OAAzB,QAAA,KAAA,GAAkB,IAAO,KAAA,IAAA,OAAA,KAAzB,KAAI,KAAM,KAAV,OAAA,SAAA,KAAA,UAAA,KAAA","sourceRoot":"http://local.host/js/"} \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin.js new file mode 100644 index 0000000..ca4fd10 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapin.js @@ -0,0 +1,2 @@ +void function(){var cubes,list,math,number,opposite,race,square;number=42,opposite=!0,opposite&&(number=-42),square=function(x){return x*x},list=[1,2,3,4,5],math={root:Math.sqrt,square:square,cube:function(x){return x*square(x)}},race=function(winner,runners){return runners=arguments.length>=2?[].slice.call(arguments,1):[],print(winner,runners)},"undefined"!=typeof elvis&&null!=elvis&&alert("I knew it!"),cubes=function(accum$){for(var num,i$=0,length$=list.length;length$>i$;++i$)num=list[i$],accum$.push(math.cube(num));return accum$}.call(this,[])}.call(this); +//@ sourceMappingURL=test/fixtures/expected/sourcemapin \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapurl.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapurl.js new file mode 100644 index 0000000..58f8333 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/sourcemapurl.js @@ -0,0 +1,2 @@ +function longFunctionC(n,o){return longNameA+longNameB+n+o}var longNameA=1,longNameB=2,result=longFunctionC(3,4); +//@ sourceMappingURL=js/sourcemapurl.js.map \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/wrap.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/wrap.js new file mode 100644 index 0000000..eb182ce --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/expected/wrap.js @@ -0,0 +1 @@ +(function(exports,global){function longFunctionC(argumentC,argumentD){return longNameA+longNameB+argumentC+argumentD}global.testExport=exports;var longNameA=1,longNameB=2;longFunctionC(3,4)})({},function(){return this}()); \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/comments.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/comments.js new file mode 100644 index 0000000..32e5578 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/comments.js @@ -0,0 +1,21 @@ +/*! + * I am a comment + */ +function foo() { + return 42; +} +// @preserve preserve +// @license license +function bar() { + return foo()*2; +} +/* @preserve + * multiline preserve + */ +/* @license + * multiline license + */ +function baz() { + return bar()*bar(); +} +// end - not preserved \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple.js new file mode 100644 index 0000000..00bc938 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple.js @@ -0,0 +1,15 @@ + +// Hello world, I'm a comment! + +var longNameA = 1; + +var longNameB = 2; + +function longFunctionC(argumentC,argumentD) { + return longNameA + longNameB + argumentC + argumentD; +} + +var result = longFunctionC(3,4); + +/*! I might be preserved, yay! */ + diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.coffee b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.coffee new file mode 100644 index 0000000..113aa34 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.coffee @@ -0,0 +1,28 @@ +# Assignment: +number = 42 +opposite = true + +# Conditions: +number = -42 if opposite + +# Functions: +square = (x) -> x * x + +# Arrays: +list = [1, 2, 3, 4, 5] + +# Objects: +math = + root: Math.sqrt + square: square + cube: (x) -> x * square x + +# Splats: +race = (winner, runners...) -> + print winner, runners + +# Existence: +alert "I knew it!" if elvis? + +# Array comprehensions: +cubes = (math.cube num for num in list) \ No newline at end of file diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.js b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.js new file mode 100644 index 0000000..31fd083 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.js @@ -0,0 +1,39 @@ +// Generated by CoffeeScript 2.0.0-dev +void function () { + var cubes, list, math, number, opposite, race, square; + number = 42; + opposite = true; + if (opposite) + number = -42; + square = function (x) { + return x * x; + }; + list = [ + 1, + 2, + 3, + 4, + 5 + ]; + math = { + root: Math.sqrt, + square: square, + cube: function (x) { + return x * square(x); + } + }; + race = function (winner, runners) { + runners = 2 <= arguments.length ? [].slice.call(arguments, 1) : []; + return print(winner, runners); + }; + if ('undefined' !== typeof elvis && null != elvis) + alert('I knew it!'); + cubes = function (accum$) { + var num; + for (var i$ = 0, length$ = list.length; i$ < length$; ++i$) { + num = list[i$]; + accum$.push(math.cube(num)); + } + return accum$; + }.call(this, []); +}.call(this); diff --git a/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.map b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.map new file mode 100644 index 0000000..c77033c --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/fixtures/src/simple2.map @@ -0,0 +1 @@ +{"version":3,"file":"test/fixtures/src/simple2.coffee","sources":["test/fixtures/src/simple2.coffee"],"names":[],"mappings":"AAAC;;;EACA,MAAA,GAAW;EACX,QAAA,GAAW;EAGX,IAAgB,QAAhB,CAAA;AAAA,IAAA,MAAA,GAAS,CAAC;EAGV,MAAA,GAAS,SAAA,CAAA,CAAA,CAAA;WAAO,CAAA,CAAA,CAAA,CAAI;;EAGpB,IAAA,GAAO,CAAA;AAAA,IAAC,CAAD;AAAA,IAAI,CAAJ;AAAA,IAAO,CAAP;AAAA,IAAU,CAAV;AAAA,IAAa,CAAb;AAAA,EAAA;EAGP,IAAA,GACG,CAAA;AAAA,IAAA,IAAA,EAAQ,IAAI,KAAZ;AAAA,IACD,MAAA,EAAQ,MADP;AAAA,IAED,IAAA,EAAQ,SAAA,CAAA,CAAA,CAAA;aAAO,CAAA,CAAA,CAAA,CAAI,MAAA,CAAO,CAAP;KAFlB;AAAA,EAAA;EAKD,IAAA,GAAO,SAAA,CAAA,MAAA,EAAA,OAAA,CAAA;IAAS;WACf,KAAA,CAAM,MAAN,EAAc,OAAd;;EAGD,2BAAsB,KAAA,CAAA,EAAA,SAAA,KAAtB,CAAA;AAAA,IAAA,KAAA,CAAM,YAAN;EAGF,KAAA;;IAAS,2BAAyB,YAAzB,aAAA,CAAA,KAAA,CAAA;MAAkB,MAAO;kBAAzB,IAAI,KAAJ,CAAU,GAAV"} diff --git a/static/js/node_modules/grunt-contrib-uglify/test/uglify_test.js b/static/js/node_modules/grunt-contrib-uglify/test/uglify_test.js new file mode 100644 index 0000000..34838b7 --- /dev/null +++ b/static/js/node_modules/grunt-contrib-uglify/test/uglify_test.js @@ -0,0 +1,56 @@ +'use strict'; + +var grunt = require('grunt'); + +var tmp = 'tmp/', + fixtures = 'test/fixtures/expected/'; + +exports.contrib_uglify = { + preuglified_files: function(test) { + + var files = [ + 'comments.js', + 'compress.js', + 'compress_mangle.js', + 'compress_mangle_beautify.js', + 'compress_mangle_except.js', + 'compress_mangle_sourcemap', + 'sourcemapurl.js', + 'multifile.js', + 'wrap.js', + 'exportAll.js', + 'sourcemap_prefix' + ]; + + test.expect(files.length); + + files.forEach(function(file){ + var actual = grunt.file.read(tmp + file); + var expected = grunt.file.read(fixtures + file); + test.equal(actual, expected, 'task output should equal ' + file); + }); + + test.done(); + }, + relative_test : function(test) { + + var files = [ + 'sourcemapin', + 'sourcemapin.js', + 'multiple_sourcemaps1.js', + 'multiple_sourcemaps1.map', + 'multiple_sourcemaps2.js', + 'multiple_sourcemaps2.map', + ]; + + test.expect(files.length); + + files.forEach(function(file){ + var actual = grunt.file.read(tmp + file).replace(tmp,'REPLACED'); + var expected = grunt.file.read(fixtures + file).replace(fixtures,'REPLACED'); + test.equal(actual, expected, 'task output should equal ' + file); + }); + + test.done(); + } +}; diff --git a/static/js/node_modules/grunt/.npmignore b/static/js/node_modules/grunt/.npmignore new file mode 100644 index 0000000..46cddcc --- /dev/null +++ b/static/js/node_modules/grunt/.npmignore @@ -0,0 +1,8 @@ +docs +test +.travis.yml +AUTHORS +CHANGELOG +CONTRIBUTING.MD +custom-gruntfile.js +Gruntfile.js diff --git a/static/js/node_modules/grunt/CONTRIBUTING.md b/static/js/node_modules/grunt/CONTRIBUTING.md new file mode 100644 index 0000000..5d08cc3 --- /dev/null +++ b/static/js/node_modules/grunt/CONTRIBUTING.md @@ -0,0 +1 @@ +Please see the [Contributing to grunt](http://gruntjs.com/contributing) guide for information on contributing to this project. diff --git a/static/js/node_modules/grunt/LICENSE-MIT b/static/js/node_modules/grunt/LICENSE-MIT new file mode 100644 index 0000000..bb2aad6 --- /dev/null +++ b/static/js/node_modules/grunt/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2013 "Cowboy" Ben Alman + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/README.md b/static/js/node_modules/grunt/README.md new file mode 100644 index 0000000..69fc38b --- /dev/null +++ b/static/js/node_modules/grunt/README.md @@ -0,0 +1,16 @@ +# Grunt: The JavaScript Task Runner [![Build Status](https://secure.travis-ci.org/gruntjs/grunt.png?branch=master)](http://travis-ci.org/gruntjs/grunt) + + + + +### Documentation + +Visit the [gruntjs.com](http://gruntjs.com/) website for all the things. + +### Support / Contributing +Before you make an issue, please read our [Contributing](http://gruntjs.com/contributing) guide. + +You can find the grunt team in [#grunt on irc.freenode.net](http://webchat.freenode.net/?channels=grunt). + +### Release History +See the [CHANGELOG](CHANGELOG). diff --git a/static/js/node_modules/grunt/internal-tasks/bump.js b/static/js/node_modules/grunt/internal-tasks/bump.js new file mode 100644 index 0000000..a7c011c --- /dev/null +++ b/static/js/node_modules/grunt/internal-tasks/bump.js @@ -0,0 +1,151 @@ +/* + * grunt-contrib-bump + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +var semver = require('semver'); +var shell = require('shelljs'); + +module.exports = function(grunt) { + + grunt.registerTask('bump', 'Bump the version property of a JSON file.', function() { + // Validate specified semver increment modes. + var valids = ['major', 'minor', 'patch', 'prerelease']; + var modes = []; + this.args.forEach(function(mode) { + var matches = []; + valids.forEach(function(valid) { + if (valid.indexOf(mode) === 0) { matches.push(valid); } + }); + if (matches.length === 0) { + grunt.log.error('Error: mode "' + mode + '" does not match any known modes.'); + } else if (matches.length > 1) { + grunt.log.error('Error: mode "' + mode + '" is ambiguous (possibly: ' + matches.join(', ') + ').'); + } else { + modes.push(matches[0]); + } + }); + if (this.errorCount === 0 && modes.length === 0) { + grunt.log.error('Error: no modes specified.'); + } + if (this.errorCount > 0) { + grunt.log.error('Valid modes are: ' + valids.join(', ') + '.'); + throw new Error('Use valid modes (or unambiguous mode abbreviations).'); + } + // Options. + var options = this.options({ + filepaths: ['package.json'], + syncVersions: false, + commit: true, + commitMessage: 'Bumping version to {%= version %}.', + tag: true, + tagName: 'v{%= version %}', + tagMessage: 'Version {%= version %}', + tagPrerelease: false, + }); + // Normalize filepaths to array. + var filepaths = Array.isArray(options.filepaths) ? options.filepaths : [options.filepaths]; + // Process JSON files, in-order. + var versions = {}; + filepaths.forEach(function(filepath) { + var o = grunt.file.readJSON(filepath); + var origVersion = o.version; + // If syncVersions is enabled, only grab version from the first file, + // guaranteeing new versions will always be in sync. + var firstVersion = Object.keys(versions)[0]; + if (options.syncVersions && firstVersion) { + o.version = firstVersion; + } + modes.forEach(function(mode) { + var orig = o.version; + var s = semver.parse(o.version); + s.inc(mode); + o.version = String(s); + // Workaround for https://github.com/isaacs/node-semver/issues/50 + if (/-/.test(orig) && mode === 'patch') { + o.version = o.version.replace(/\d+$/, function(n) { return n - 1; }); + } + // If prerelease on an un-prerelease version, bump patch version first + if (!/-/.test(orig) && mode === 'prerelease') { + s.inc('patch'); + s.inc('prerelease'); + o.version = String(s); + } + }); + if (versions[origVersion]) { + versions[origVersion].filepaths.push(filepath); + } else { + versions[origVersion] = {version: o.version, filepaths: [filepath]}; + } + // Actually *do* something. + grunt.log.write('Bumping version in ' + filepath + ' from ' + origVersion + ' to ' + o.version + '...'); + grunt.file.write(filepath, JSON.stringify(o, null, 2)); + grunt.log.ok(); + }); + // Commit changed files? + if (options.commit) { + Object.keys(versions).forEach(function(origVersion) { + var o = versions[origVersion]; + commit(o.filepaths, processTemplate(options.commitMessage, { + version: o.version, + origVersion: origVersion + })); + }); + } + // We're only going to create one tag. And it's going to be the new + // version of the first bumped file. Because, sanity. + var newVersion = versions[Object.keys(versions)[0]].version; + if (options.tag) { + if (options.tagPrerelease || modes.indexOf('prerelease') === -1) { + tag( + processTemplate(options.tagName, {version: newVersion}), + processTemplate(options.tagMessage, {version: newVersion}) + ); + } else { + grunt.log.writeln('Not tagging (prerelease version).'); + } + } + if (this.errorCount > 0) { + grunt.warn('There were errors.'); + } + }); + + // Using custom delimiters keeps templates from being auto-processed. + grunt.template.addDelimiters('bump', '{%', '%}'); + + function processTemplate(message, data) { + return grunt.template.process(message, { + delimiters: 'bump', + data: data, + }); + } + + // Kinda borrowed from https://github.com/geddski/grunt-release + function commit(filepaths, message) { + grunt.log.writeln('Committing ' + filepaths.join(', ') + ' with message: ' + message); + run("git commit -m '" + message + "' '" + filepaths.join("' '") + "'"); + } + + function tag(name, message) { + grunt.log.writeln('Tagging ' + name + ' with message: ' + message); + run("git tag '" + name + "' -m '" + message + "'"); + } + + function run(cmd) { + if (grunt.option('no-write')) { + grunt.verbose.writeln('Not actually running: ' + cmd); + } else { + grunt.verbose.writeln('Running: ' + cmd); + var result = shell.exec(cmd, {silent:true}); + if (result.code !== 0) { + grunt.log.error('Error (' + result.code + ') ' + result.output); + } + } + } + +}; \ No newline at end of file diff --git a/static/js/node_modules/grunt/internal-tasks/subgrunt.js b/static/js/node_modules/grunt/internal-tasks/subgrunt.js new file mode 100644 index 0000000..d7890d7 --- /dev/null +++ b/static/js/node_modules/grunt/internal-tasks/subgrunt.js @@ -0,0 +1,34 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +module.exports = function(grunt) { + + // Run sub-grunt files, because right now, testing tasks is a pain. + grunt.registerMultiTask('subgrunt', 'Run a sub-gruntfile.', function() { + var path = require('path'); + grunt.util.async.forEachSeries(this.filesSrc, function(gruntfile, next) { + grunt.log.write('Loading ' + gruntfile + '...'); + grunt.util.spawn({ + grunt: true, + args: ['--gruntfile', path.resolve(gruntfile)], + }, function(error, result) { + if (error) { + grunt.log.error().error(result.stdout).writeln(); + next(new Error('Error running sub-gruntfile "' + gruntfile + '".')); + } else { + grunt.log.ok().verbose.ok(result.stdout); + next(); + } + }); + }, this.async()); + }); + +}; diff --git a/static/js/node_modules/grunt/lib/grunt.js b/static/js/node_modules/grunt/lib/grunt.js new file mode 100644 index 0000000..7afaa17 --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt.js @@ -0,0 +1,156 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +// Nodejs libs. +var path = require('path'); + +// This allows grunt to require() .coffee files. +require('coffee-script'); + +// The module to be exported. +var grunt = module.exports = {}; + +// Expose internal grunt libs. +function gRequire(name) { + return grunt[name] = require('./grunt/' + name); +} +var util = gRequire('util'); +gRequire('template'); +gRequire('event'); +var fail = gRequire('fail'); +gRequire('file'); +var option = gRequire('option'); +var config = gRequire('config'); +var task = gRequire('task'); +var log = gRequire('log'); +var help = gRequire('help'); +gRequire('cli'); +var verbose = grunt.verbose = log.verbose; + +// Expose some grunt metadata. +grunt.package = require('../package.json'); +grunt.version = grunt.package.version; + +// Expose specific grunt lib methods on grunt. +function gExpose(obj, methodName, newMethodName) { + grunt[newMethodName || methodName] = obj[methodName].bind(obj); +} +gExpose(task, 'registerTask'); +gExpose(task, 'registerMultiTask'); +gExpose(task, 'registerInitTask'); +gExpose(task, 'renameTask'); +gExpose(task, 'loadTasks'); +gExpose(task, 'loadNpmTasks'); +gExpose(config, 'init', 'initConfig'); +gExpose(fail, 'warn'); +gExpose(fail, 'fatal'); + +// Expose the task interface. I've never called this manually, and have no idea +// how it will work. But it might. +grunt.tasks = function(tasks, options, done) { + // Update options with passed-in options. + option.init(options); + + // Display the grunt version and quit if the user did --version. + var _tasks, _options; + if (option('version')) { + // Not --verbose. + log.writeln('grunt v' + grunt.version); + + if (option('verbose')) { + // --verbose + verbose.writeln('Install path: ' + path.resolve(__dirname, '..')); + // Yes, this is a total hack, but we don't want to log all that verbose + // task initialization stuff here. + grunt.log.muted = true; + // Initialize task system so that available tasks can be listed. + grunt.task.init([], {help: true}); + // Re-enable logging. + grunt.log.muted = false; + + // Display available tasks (for shell completion, etc). + _tasks = Object.keys(grunt.task._tasks).sort(); + verbose.writeln('Available tasks: ' + _tasks.join(' ')); + + // Display available options (for shell completion, etc). + _options = []; + Object.keys(grunt.cli.optlist).forEach(function(long) { + var o = grunt.cli.optlist[long]; + _options.push('--' + (o.negate ? 'no-' : '') + long); + if (o.short) { _options.push('-' + o.short); } + }); + verbose.writeln('Available options: ' + _options.join(' ')); + } + + return; + } + + // Init colors. + log.initColors(); + + // Display help and quit if the user did --help. + if (option('help')) { + help.display(); + return; + } + + // A little header stuff. + verbose.header('Initializing').writeflags(option.flags(), 'Command-line options'); + + // Determine and output which tasks will be run. + var tasksSpecified = tasks && tasks.length > 0; + tasks = task.parseArgs([tasksSpecified ? tasks : 'default']); + + // Initialize tasks. + task.init(tasks); + + verbose.writeln(); + if (!tasksSpecified) { + verbose.writeln('No tasks specified, running default tasks.'); + } + verbose.writeflags(tasks, 'Running tasks'); + + // Handle otherwise unhandleable (probably asynchronous) exceptions. + var uncaughtHandler = function(e) { + fail.fatal(e, fail.code.TASK_FAILURE); + }; + process.on('uncaughtException', uncaughtHandler); + + // Report, etc when all tasks have completed. + task.options({ + error: function(e) { + fail.warn(e, fail.code.TASK_FAILURE); + }, + done: function() { + // Stop handling uncaught exceptions so that we don't leave any + // unwanted process-level side effects behind. There is no need to do + // this in the error callback, because fail.warn() will either kill + // the process, or with --force keep on going all the way here. + process.removeListener('uncaughtException', uncaughtHandler); + + // Output a final fail / success report. + fail.report(); + + if (done) { + // Execute "done" function when done (only if passed, of course). + done(); + } else { + // Otherwise, explicitly exit. + util.exit(0); + } + } + }); + + // Execute all tasks, in order. Passing each task individually in a forEach + // allows the error callback to execute multiple times. + tasks.forEach(function(name) { task.run(name); }); + task.start(); +}; diff --git a/static/js/node_modules/grunt/lib/grunt/cli.js b/static/js/node_modules/grunt/lib/grunt/cli.js new file mode 100644 index 0000000..a86da8f --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/cli.js @@ -0,0 +1,128 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// Nodejs libs. +var path = require('path'); + +// External libs. +var nopt = require('nopt'); + +// This is only executed when run via command line. +var cli = module.exports = function(options, done) { + // CLI-parsed options override any passed-in "default" options. + if (options) { + // For each defult option... + Object.keys(options).forEach(function(key) { + if (!(key in cli.options)) { + // If this option doesn't exist in the parsed cli.options, add it in. + cli.options[key] = options[key]; + } else if (cli.optlist[key].type === Array) { + // If this option's type is Array, append it to any existing array + // (or create a new array). + [].push.apply(cli.options[key], options[key]); + } + }); + } + + // Run tasks. + grunt.tasks(cli.tasks, cli.options, done); +}; + +// Default options. +var optlist = cli.optlist = { + help: { + short: 'h', + info: 'Display this help text.', + type: Boolean + }, + base: { + info: 'Specify an alternate base path. By default, all file paths are relative to the Gruntfile. (grunt.file.setBase) *', + type: path + }, + color: { + info: 'Disable colored output.', + type: Boolean, + negate: true + }, + gruntfile: { + info: 'Specify an alternate Gruntfile. By default, grunt looks in the current or parent directories for the nearest Gruntfile.js or Gruntfile.coffee file.', + type: path + }, + debug: { + short: 'd', + info: 'Enable debugging mode for tasks that support it.', + type: Number + }, + stack: { + info: 'Print a stack trace when exiting with a warning or fatal error.', + type: Boolean + }, + force: { + short: 'f', + info: 'A way to force your way past warnings. Want a suggestion? Don\'t use this option, fix your code.', + type: Boolean + }, + tasks: { + info: 'Additional directory paths to scan for task and "extra" files. (grunt.loadTasks) *', + type: Array + }, + npm: { + info: 'Npm-installed grunt plugins to scan for task and "extra" files. (grunt.loadNpmTasks) *', + type: Array + }, + write: { + info: 'Disable writing files (dry run).', + type: Boolean, + negate: true + }, + verbose: { + short: 'v', + info: 'Verbose mode. A lot more information output.', + type: Boolean + }, + version: { + short: 'V', + info: 'Print the grunt version. Combine with --verbose for more info.', + type: Boolean + }, + // Even though shell auto-completion is now handled by grunt-cli, leave this + // option here for display in the --help screen. + completion: { + info: 'Output shell auto-completion rules. See the grunt-cli documentation for more information.', + type: String + }, +}; + +// Parse `optlist` into a form that nopt can handle. +var aliases = {}; +var known = {}; + +Object.keys(optlist).forEach(function(key) { + var short = optlist[key].short; + if (short) { + aliases[short] = '--' + key; + } + known[key] = optlist[key].type; +}); + +var parsed = nopt(known, aliases, process.argv, 2); +cli.tasks = parsed.argv.remain; +cli.options = parsed; +delete parsed.argv; + +// Initialize any Array options that weren't initialized. +Object.keys(optlist).forEach(function(key) { + if (optlist[key].type === Array && !(key in cli.options)) { + cli.options[key] = []; + } +}); diff --git a/static/js/node_modules/grunt/lib/grunt/config.js b/static/js/node_modules/grunt/lib/grunt/config.js new file mode 100644 index 0000000..75619a1 --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/config.js @@ -0,0 +1,118 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// Get/set config data. If value was passed, set. Otherwise, get. +var config = module.exports = function(prop, value) { + if (arguments.length === 2) { + // Two arguments were passed, set the property's value. + return config.set(prop, value); + } else { + // Get the property's value (or the entire data object). + return config.get(prop); + } +}; + +// The actual config data. +config.data = {}; + +// Escape any . in name with \. so dot-based namespacing works properly. +config.escape = function(str) { + return str.replace(/\./g, '\\.'); +}; + +// Return prop as a string. +config.getPropString = function(prop) { + return Array.isArray(prop) ? prop.map(config.escape).join('.') : prop; +}; + +// Get raw, unprocessed config data. +config.getRaw = function(prop) { + if (prop) { + // Prop was passed, get that specific property's value. + return grunt.util.namespace.get(config.data, config.getPropString(prop)); + } else { + // No prop was passed, return the entire config.data object. + return config.data; + } +}; + +// Match '<%= FOO %>' where FOO is a propString, eg. foo or foo.bar but not +// a method call like foo() or foo.bar(). +var propStringTmplRe = /^<%=\s*([a-z0-9_$]+(?:\.[a-z0-9_$]+)*)\s*%>$/i; + +// Get config data, recursively processing templates. +config.get = function(prop) { + return config.process(config.getRaw(prop)); +}; + +// Expand a config value recursively. Used for post-processing raw values +// already retrieved from the config. +config.process = function(raw) { + return grunt.util.recurse(raw, function(value) { + // If the value is not a string, return it. + if (typeof value !== 'string') { return value; } + // If possible, access the specified property via config.get, in case it + // doesn't refer to a string, but instead refers to an object or array. + var matches = value.match(propStringTmplRe); + var result; + if (matches) { + result = config.get(matches[1]); + // If the result retrieved from the config data wasn't null or undefined, + // return it. + if (result != null) { return result; } + } + // Process the string as a template. + return grunt.template.process(value, {data: config.data}); + }); +}; + +// Set config data. +config.set = function(prop, value) { + return grunt.util.namespace.set(config.data, config.getPropString(prop), value); +}; + +// Initialize config data. +config.init = function(obj) { + grunt.verbose.write('Initializing config...').ok(); + // Initialize and return data. + return (config.data = obj || {}); +}; + +// Test to see if required config params have been defined. If not, throw an +// exception (use this inside of a task). +config.requires = function() { + var p = grunt.util.pluralize; + var props = grunt.util.toArray(arguments).map(config.getPropString); + var msg = 'Verifying propert' + p(props.length, 'y/ies') + + ' ' + grunt.log.wordlist(props) + ' exist' + p(props.length, 's') + + ' in config...'; + grunt.verbose.write(msg); + var failProps = config.data && props.filter(function(prop) { + return config.get(prop) == null; + }).map(function(prop) { + return '"' + prop + '"'; + }); + if (config.data && failProps.length === 0) { + grunt.verbose.ok(); + return true; + } else { + grunt.verbose.or.write(msg); + grunt.log.error().error('Unable to process task.'); + if (!config.data) { + throw grunt.util.error('Unable to load config.'); + } else { + throw grunt.util.error('Required config propert' + + p(failProps.length, 'y/ies') + ' ' + failProps.join(', ') + ' missing.'); + } + } +}; diff --git a/static/js/node_modules/grunt/lib/grunt/event.js b/static/js/node_modules/grunt/lib/grunt/event.js new file mode 100644 index 0000000..9e5ba0b --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/event.js @@ -0,0 +1,16 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +// External lib. +var EventEmitter2 = require('eventemitter2').EventEmitter2; + +// Awesome. +module.exports = new EventEmitter2({wildcard: true}); diff --git a/static/js/node_modules/grunt/lib/grunt/fail.js b/static/js/node_modules/grunt/lib/grunt/fail.js new file mode 100644 index 0000000..aa33c91 --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/fail.js @@ -0,0 +1,84 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// The module to be exported. +var fail = module.exports = {}; + +// Error codes. +fail.code = { + FATAL_ERROR: 1, + MISSING_GRUNTFILE: 2, + TASK_FAILURE: 3, + TEMPLATE_ERROR: 4, + INVALID_AUTOCOMPLETE: 5, + WARNING: 6, +}; + +// DRY it up! +function writeln(e, mode) { + grunt.log.muted = false; + var msg = String(e.message || e); + if (!grunt.option('no-color')) { msg += '\x07'; } // Beep! + if (mode === 'warn') { + msg = 'Warning: ' + msg + ' '; + msg += (grunt.option('force') ? 'Used --force, continuing.'.underline : 'Use --force to continue.'); + msg = msg.yellow; + } else { + msg = ('Fatal error: ' + msg).red; + } + grunt.log.writeln(msg); +} + +// If --stack is enabled, log the appropriate error stack (if it exists). +function dumpStack(e) { + if (grunt.option('stack')) { + if (e.origError && e.origError.stack) { + console.log(e.origError.stack); + } else if (e.stack) { + console.log(e.stack); + } + } +} + +// A fatal error occurred. Abort immediately. +fail.fatal = function(e, errcode) { + writeln(e, 'fatal'); + dumpStack(e); + grunt.util.exit(typeof errcode === 'number' ? errcode : fail.code.FATAL_ERROR); +}; + +// Keep track of error and warning counts. +fail.errorcount = 0; +fail.warncount = 0; + +// A warning occurred. Abort immediately unless -f or --force was used. +fail.warn = function(e, errcode) { + var message = typeof e === 'string' ? e : e.message; + fail.warncount++; + writeln(message, 'warn'); + // If -f or --force aren't used, stop script processing. + if (!grunt.option('force')) { + dumpStack(e); + grunt.log.writeln().fail('Aborted due to warnings.'); + grunt.util.exit(typeof errcode === 'number' ? errcode : fail.code.WARNING); + } +}; + +// This gets called at the very end. +fail.report = function() { + if (fail.warncount > 0) { + grunt.log.writeln().fail('Done, but with warnings.'); + } else { + grunt.log.writeln().success('Done, without errors.'); + } +}; diff --git a/static/js/node_modules/grunt/lib/grunt/file.js b/static/js/node_modules/grunt/lib/grunt/file.js new file mode 100644 index 0000000..461c62b --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/file.js @@ -0,0 +1,440 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// Nodejs libs. +var fs = require('fs'); +var path = require('path'); + +// The module to be exported. +var file = module.exports = {}; + +// External libs. +file.glob = require('glob'); +file.minimatch = require('minimatch'); +file.findup = require('findup-sync'); +var YAML = require('js-yaml'); +var rimraf = require('rimraf'); +var iconv = require('iconv-lite'); + +// Windows? +var win32 = process.platform === 'win32'; + +// Normalize \\ paths to / paths. +var unixifyPath = function(filepath) { + if (win32) { + return filepath.replace(/\\/g, '/'); + } else { + return filepath; + } +}; + +// Change the current base path (ie, CWD) to the specified path. +file.setBase = function() { + var dirpath = path.join.apply(path, arguments); + process.chdir(dirpath); +}; + +// Process specified wildcard glob patterns or filenames against a +// callback, excluding and uniquing files in the result set. +var processPatterns = function(patterns, fn) { + // Filepaths to return. + var result = []; + // Iterate over flattened patterns array. + grunt.util._.flatten(patterns).forEach(function(pattern) { + // If the first character is ! it should be omitted + var exclusion = pattern.indexOf('!') === 0; + // If the pattern is an exclusion, remove the ! + if (exclusion) { pattern = pattern.slice(1); } + // Find all matching files for this pattern. + var matches = fn(pattern); + if (exclusion) { + // If an exclusion, remove matching files. + result = grunt.util._.difference(result, matches); + } else { + // Otherwise add matching files. + result = grunt.util._.union(result, matches); + } + }); + return result; +}; + +// Match a filepath or filepaths against one or more wildcard patterns. Returns +// all matching filepaths. +file.match = function(options, patterns, filepaths) { + if (grunt.util.kindOf(options) !== 'object') { + filepaths = patterns; + patterns = options; + options = {}; + } + // Return empty set if either patterns or filepaths was omitted. + if (patterns == null || filepaths == null) { return []; } + // Normalize patterns and filepaths to arrays. + if (!Array.isArray(patterns)) { patterns = [patterns]; } + if (!Array.isArray(filepaths)) { filepaths = [filepaths]; } + // Return empty set if there are no patterns or filepaths. + if (patterns.length === 0 || filepaths.length === 0) { return []; } + // Return all matching filepaths. + return processPatterns(patterns, function(pattern) { + return file.minimatch.match(filepaths, pattern, options); + }); +}; + +// Match a filepath or filepaths against one or more wildcard patterns. Returns +// true if any of the patterns match. +file.isMatch = function() { + return file.match.apply(file, arguments).length > 0; +}; + +// Return an array of all file paths that match the given wildcard patterns. +file.expand = function() { + var args = grunt.util.toArray(arguments); + // If the first argument is an options object, save those options to pass + // into the file.glob.sync method. + var options = grunt.util.kindOf(args[0]) === 'object' ? args.shift() : {}; + // Use the first argument if it's an Array, otherwise convert the arguments + // object to an array and use that. + var patterns = Array.isArray(args[0]) ? args[0] : args; + // Return empty set if there are no patterns or filepaths. + if (patterns.length === 0) { return []; } + // Return all matching filepaths. + var matches = processPatterns(patterns, function(pattern) { + // Find all matching files for this pattern. + return file.glob.sync(pattern, options); + }); + // Filter result set? + if (options.filter) { + matches = matches.filter(function(filepath) { + filepath = path.join(options.cwd || '', filepath); + try { + if (typeof options.filter === 'function') { + return options.filter(filepath); + } else { + // If the file is of the right type and exists, this should work. + return fs.statSync(filepath)[options.filter](); + } + } catch(e) { + // Otherwise, it's probably not the right type. + return false; + } + }); + } + return matches; +}; + +var pathSeparatorRe = /[\/\\]/g; + +// Build a multi task "files" object dynamically. +file.expandMapping = function(patterns, destBase, options) { + options = grunt.util._.defaults({}, options, { + rename: function(destBase, destPath) { + return path.join(destBase || '', destPath); + } + }); + var files = []; + var fileByDest = {}; + // Find all files matching pattern, using passed-in options. + file.expand(options, patterns).forEach(function(src) { + var destPath = src; + // Flatten? + if (options.flatten) { + destPath = path.basename(destPath); + } + // Change the extension? + if (options.ext) { + destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext); + } + // Generate destination filename. + var dest = options.rename(destBase, destPath, options); + // Prepend cwd to src path if necessary. + if (options.cwd) { src = path.join(options.cwd, src); } + // Normalize filepaths to be unix-style. + dest = dest.replace(pathSeparatorRe, '/'); + src = src.replace(pathSeparatorRe, '/'); + // Map correct src path to dest path. + if (fileByDest[dest]) { + // If dest already exists, push this src onto that dest's src array. + fileByDest[dest].src.push(src); + } else { + // Otherwise create a new src-dest file mapping object. + files.push({ + src: [src], + dest: dest, + }); + // And store a reference for later use. + fileByDest[dest] = files[files.length - 1]; + } + }); + return files; +}; + +// Like mkdir -p. Create a directory and any intermediary directories. +file.mkdir = function(dirpath, mode) { + if (grunt.option('no-write')) { return; } + // Set directory mode in a strict-mode-friendly way. + if (mode == null) { + mode = parseInt('0777', 8) & (~process.umask()); + } + dirpath.split(pathSeparatorRe).reduce(function(parts, part) { + parts += part + '/'; + var subpath = path.resolve(parts); + if (!file.exists(subpath)) { + try { + fs.mkdirSync(subpath, mode); + } catch(e) { + throw grunt.util.error('Unable to create directory "' + subpath + '" (Error code: ' + e.code + ').', e); + } + } + return parts; + }, ''); +}; + +// Recurse into a directory, executing callback for each file. +file.recurse = function recurse(rootdir, callback, subdir) { + var abspath = subdir ? path.join(rootdir, subdir) : rootdir; + fs.readdirSync(abspath).forEach(function(filename) { + var filepath = path.join(abspath, filename); + if (fs.statSync(filepath).isDirectory()) { + recurse(rootdir, callback, unixifyPath(path.join(subdir || '', filename || ''))); + } else { + callback(unixifyPath(filepath), rootdir, subdir, filename); + } + }); +}; + +// The default file encoding to use. +file.defaultEncoding = 'utf8'; +// Whether to preserve the BOM on file.read rather than strip it. +file.preserveBOM = false; + +// Read a file, return its contents. +file.read = function(filepath, options) { + if (!options) { options = {}; } + var contents; + grunt.verbose.write('Reading ' + filepath + '...'); + try { + contents = fs.readFileSync(String(filepath)); + // If encoding is not explicitly null, convert from encoded buffer to a + // string. If no encoding was specified, use the default. + if (options.encoding !== null) { + contents = iconv.decode(contents, options.encoding || file.defaultEncoding); + // Strip any BOM that might exist. + if (!file.preserveBOM && contents.charCodeAt(0) === 0xFEFF) { + contents = contents.substring(1); + } + } + grunt.verbose.ok(); + return contents; + } catch(e) { + grunt.verbose.error(); + throw grunt.util.error('Unable to read "' + filepath + '" file (Error code: ' + e.code + ').', e); + } +}; + +// Read a file, parse its contents, return an object. +file.readJSON = function(filepath, options) { + var src = file.read(filepath, options); + var result; + grunt.verbose.write('Parsing ' + filepath + '...'); + try { + result = JSON.parse(src); + grunt.verbose.ok(); + return result; + } catch(e) { + grunt.verbose.error(); + throw grunt.util.error('Unable to parse "' + filepath + '" file (' + e.message + ').', e); + } +}; + +// Read a YAML file, parse its contents, return an object. +file.readYAML = function(filepath, options) { + var src = file.read(filepath, options); + var result; + grunt.verbose.write('Parsing ' + filepath + '...'); + try { + result = YAML.load(src); + grunt.verbose.ok(); + return result; + } catch(e) { + grunt.verbose.error(); + throw grunt.util.error('Unable to parse "' + filepath + '" file (' + e.problem + ').', e); + } +}; + +// Write a file. +file.write = function(filepath, contents, options) { + if (!options) { options = {}; } + var nowrite = grunt.option('no-write'); + grunt.verbose.write((nowrite ? 'Not actually writing ' : 'Writing ') + filepath + '...'); + // Create path, if necessary. + file.mkdir(path.dirname(filepath)); + try { + // If contents is already a Buffer, don't try to encode it. If no encoding + // was specified, use the default. + if (!Buffer.isBuffer(contents)) { + contents = iconv.encode(contents, options.encoding || file.defaultEncoding); + } + // Actually write file. + if (!nowrite) { + fs.writeFileSync(filepath, contents); + } + grunt.verbose.ok(); + return true; + } catch(e) { + grunt.verbose.error(); + throw grunt.util.error('Unable to write "' + filepath + '" file (Error code: ' + e.code + ').', e); + } +}; + +// Read a file, optionally processing its content, then write the output. +file.copy = function(srcpath, destpath, options) { + if (!options) { options = {}; } + // If a process function was specified, and noProcess isn't true or doesn't + // match the srcpath, process the file's source. + var process = options.process && options.noProcess !== true && + !(options.noProcess && file.isMatch(options.noProcess, srcpath)); + // If the file will be processed, use the encoding as-specified. Otherwise, + // use an encoding of null to force the file to be read/written as a Buffer. + var readWriteOptions = process ? options : {encoding: null}; + // Actually read the file. + var contents = file.read(srcpath, readWriteOptions); + if (process) { + grunt.verbose.write('Processing source...'); + try { + contents = options.process(contents, srcpath); + grunt.verbose.ok(); + } catch(e) { + grunt.verbose.error(); + throw grunt.util.error('Error while processing "' + srcpath + '" file.', e); + } + } + // Abort copy if the process function returns false. + if (contents === false) { + grunt.verbose.writeln('Write aborted.'); + } else { + file.write(destpath, contents, readWriteOptions); + } +}; + +// Delete folders and files recursively +file.delete = function(filepath, options) { + filepath = String(filepath); + + var nowrite = grunt.option('no-write'); + if (!options) { + options = {force: grunt.option('force') || false}; + } + + grunt.verbose.write((nowrite ? 'Not actually deleting ' : 'Deleting ') + filepath + '...'); + + if (!file.exists(filepath)) { + grunt.verbose.error(); + grunt.log.warn('Cannot delete nonexistent file.'); + return false; + } + + // Only delete cwd or outside cwd if --force enabled. Be careful, people! + if (!options.force) { + if (file.isPathCwd(filepath)) { + grunt.verbose.error(); + grunt.fail.warn('Cannot delete the current working directory.'); + return false; + } else if (!file.isPathInCwd(filepath)) { + grunt.verbose.error(); + grunt.fail.warn('Cannot delete files outside the current working directory.'); + return false; + } + } + + try { + // Actually delete. Or not. + if (!nowrite) { + rimraf.sync(filepath); + } + grunt.verbose.ok(); + return true; + } catch(e) { + grunt.verbose.error(); + throw grunt.util.error('Unable to delete "' + filepath + '" file (' + e.message + ').', e); + } +}; + +// True if the file path exists. +file.exists = function() { + var filepath = path.join.apply(path, arguments); + return fs.existsSync(filepath); +}; + +// True if the file is a symbolic link. +file.isLink = function() { + var filepath = path.join.apply(path, arguments); + return file.exists(filepath) && fs.lstatSync(filepath).isSymbolicLink(); +}; + +// True if the path is a directory. +file.isDir = function() { + var filepath = path.join.apply(path, arguments); + return file.exists(filepath) && fs.statSync(filepath).isDirectory(); +}; + +// True if the path is a file. +file.isFile = function() { + var filepath = path.join.apply(path, arguments); + return file.exists(filepath) && fs.statSync(filepath).isFile(); +}; + +// Is a given file path absolute? +file.isPathAbsolute = function() { + var filepath = path.join.apply(path, arguments); + return path.resolve(filepath) === filepath.replace(/[\/\\]+$/, ''); +}; + +// Do all the specified paths refer to the same path? +file.arePathsEquivalent = function(first) { + first = path.resolve(first); + for (var i = 1; i < arguments.length; i++) { + if (first !== path.resolve(arguments[i])) { return false; } + } + return true; +}; + +// Are descendant path(s) contained within ancestor path? Note: does not test +// if paths actually exist. +file.doesPathContain = function(ancestor) { + ancestor = path.resolve(ancestor); + var relative; + for (var i = 1; i < arguments.length; i++) { + relative = path.relative(path.resolve(arguments[i]), ancestor); + if (relative === '' || /\w+/.test(relative)) { return false; } + } + return true; +}; + +// Test to see if a filepath is the CWD. +file.isPathCwd = function() { + var filepath = path.join.apply(path, arguments); + try { + return file.arePathsEquivalent(process.cwd(), fs.realpathSync(filepath)); + } catch(e) { + return false; + } +}; + +// Test to see if a filepath is contained within the CWD. +file.isPathInCwd = function() { + var filepath = path.join.apply(path, arguments); + try { + return file.doesPathContain(process.cwd(), fs.realpathSync(filepath)); + } catch(e) { + return false; + } +}; diff --git a/static/js/node_modules/grunt/lib/grunt/help.js b/static/js/node_modules/grunt/lib/grunt/help.js new file mode 100644 index 0000000..3e610fb --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/help.js @@ -0,0 +1,129 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// Nodejs libs. +var path = require('path'); + +// Set column widths. +var col1len = 0; +exports.initCol1 = function(str) { + col1len = Math.max(col1len, str.length); +}; +exports.initWidths = function() { + // Widths for options/tasks table output. + exports.widths = [1, col1len, 2, 76 - col1len]; +}; + +// Render an array in table form. +exports.table = function(arr) { + arr.forEach(function(item) { + grunt.log.writetableln(exports.widths, ['', grunt.util._.pad(item[0], col1len), '', item[1]]); + }); +}; + +// Methods to run, in-order. +exports.queue = [ + 'initOptions', + 'initTasks', + 'initWidths', + 'header', + 'usage', + 'options', + 'optionsFooter', + 'tasks', + 'footer', +]; + +// Actually display stuff. +exports.display = function() { + exports.queue.forEach(function(name) { exports[name](); }); +}; + + +// Header. +exports.header = function() { + grunt.log.writeln('Grunt: The JavaScript Task Runner (v' + grunt.version + ')'); +}; + +// Usage info. +exports.usage = function() { + grunt.log.header('Usage'); + grunt.log.writeln(' ' + path.basename(process.argv[1]) + ' [options] [task [task ...]]'); +}; + +// Options. +exports.initOptions = function() { + // Build 2-column array for table view. + exports._options = Object.keys(grunt.cli.optlist).map(function(long) { + var o = grunt.cli.optlist[long]; + var col1 = '--' + (o.negate ? 'no-' : '') + long + (o.short ? ', -' + o.short : ''); + exports.initCol1(col1); + return [col1, o.info]; + }); +}; + +exports.options = function() { + grunt.log.header('Options'); + exports.table(exports._options); +}; + +exports.optionsFooter = function() { + grunt.log.writeln().writelns( + 'Options marked with * have methods exposed via the grunt API and should ' + + 'instead be specified inside the Gruntfile wherever possible.' + ); +}; + +// Tasks. +exports.initTasks = function() { + // Initialize task system so that the tasks can be listed. + grunt.task.init([], {help: true}); + + // Build object of tasks by info (where they were loaded from). + exports._tasks = []; + Object.keys(grunt.task._tasks).forEach(function(name) { + exports.initCol1(name); + var task = grunt.task._tasks[name]; + exports._tasks.push(task); + }); +}; + +exports.tasks = function() { + grunt.log.header('Available tasks'); + if (exports._tasks.length === 0) { + grunt.log.writeln('(no tasks found)'); + } else { + exports.table(exports._tasks.map(function(task) { + var info = task.info; + if (task.multi) { info += ' *'; } + return [task.name, info]; + })); + + grunt.log.writeln().writelns( + 'Tasks run in the order specified. Arguments may be passed to tasks that ' + + 'accept them by using colons, like "lint:files". Tasks marked with * are ' + + '"multi tasks" and will iterate over all sub-targets if no argument is ' + + 'specified.' + ); + } + + grunt.log.writeln().writelns( + 'The list of available tasks may change based on tasks directories or ' + + 'grunt plugins specified in the Gruntfile or via command-line options.' + ); +}; + +// Footer. +exports.footer = function() { + grunt.log.writeln().writeln('For more information, see http://gruntjs.com/'); +}; diff --git a/static/js/node_modules/grunt/lib/grunt/log.js b/static/js/node_modules/grunt/lib/grunt/log.js new file mode 100644 index 0000000..41dd534 --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/log.js @@ -0,0 +1,352 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// Nodejs libs. +var util = require('util'); + +// The module to be exported. +var log = module.exports = {}; + +// External lib. Requiring this here modifies the String prototype! +var colors = require('colors'); + +// Disable colors if --no-colors was passed. +log.initColors = function() { + var util = grunt.util; + if (grunt.option('no-color')) { + // String color getters should just return the string. + colors.mode = 'none'; + // Strip colors from strings passed to console.log. + util.hooker.hook(console, 'log', function() { + var args = util.toArray(arguments); + return util.hooker.filter(this, args.map(function(arg) { + return util.kindOf(arg) === 'string' ? colors.stripColors(arg) : arg; + })); + }); + } +}; + +// Temporarily suppress output. +var suppressOutput; + +// Allow external muting of output. +log.muted = false; + +// True once anything has actually been logged. +var hasLogged; + +// Parse certain markup in strings to be logged. +function markup(str) { + str = str || ''; + // Make _foo_ underline. + str = str.replace(/(\s|^)_(\S|\S[\s\S]+?\S)_(?=[\s,.!?]|$)/g, '$1' + '$2'.underline); + // Make *foo* bold. + str = str.replace(/(\s|^)\*(\S|\S[\s\S]+?\S)\*(?=[\s,.!?]|$)/g, '$1' + '$2'.bold); + return str; +} + +// Similar to util.format in the standard library, however it'll always +// cast the first argument to a string and treat it as the format string. +function format(args) { + // Args is a argument array so copy it in order to avoid wonky behavior. + args = [].slice.call(args, 0); + if (args.length > 0) { + args[0] = String(args[0]); + } + return util.format.apply(util, args); +} + +function write(msg) { + msg = msg || ''; + // Actually write output. + if (!log.muted && !suppressOutput) { + hasLogged = true; + // Users should probably use the colors-provided methods, but if they + // don't, this should strip extraneous color codes. + if (grunt.option('no-color')) { msg = colors.stripColors(msg); } + // Actually write to stdout. + process.stdout.write(markup(msg)); + } +} + +function writeln(msg) { + // Write blank line if no msg is passed in. + msg = msg || ''; + write(msg + '\n'); +} + +// Write output. +log.write = function() { + write(format(arguments)); + return log; +}; + +// Write a line of output. +log.writeln = function() { + writeln(format(arguments)); + return log; +}; + +log.warn = function() { + var msg = format(arguments); + if (arguments.length > 0) { + writeln('>> '.red + grunt.util._.trim(msg).replace(/\n/g, '\n>> '.red)); + } else { + writeln('ERROR'.red); + } + return log; +}; +log.error = function() { + grunt.fail.errorcount++; + log.warn.apply(log, arguments); + return log; +}; +log.ok = function() { + var msg = format(arguments); + if (arguments.length > 0) { + writeln('>> '.green + grunt.util._.trim(msg).replace(/\n/g, '\n>> '.green)); + } else { + writeln('OK'.green); + } + return log; +}; +log.errorlns = function() { + var msg = format(arguments); + log.error(log.wraptext(77, msg)); + return log; +}; +log.oklns = function() { + var msg = format(arguments); + log.ok(log.wraptext(77, msg)); + return log; +}; +log.success = function() { + var msg = format(arguments); + writeln(msg.green); + return log; +}; +log.fail = function() { + var msg = format(arguments); + writeln(msg.red); + return log; +}; +log.header = function() { + var msg = format(arguments); + // Skip line before header, but not if header is the very first line output. + if (hasLogged) { writeln(); } + writeln(msg.underline); + return log; +}; +log.subhead = function() { + var msg = format(arguments); + // Skip line before subhead, but not if subhead is the very first line output. + if (hasLogged) { writeln(); } + writeln(msg.bold); + return log; +}; +// For debugging. +log.debug = function() { + var msg = format(arguments); + if (grunt.option('debug')) { + writeln('[D] ' + msg.magenta); + } + return log; +}; + +// Write a line of a table. +log.writetableln = function(widths, texts) { + writeln(log.table(widths, texts)); + return log; +}; + +// Wrap a long line of text to 80 columns. +log.writelns = function() { + var msg = format(arguments); + writeln(log.wraptext(80, msg)); + return log; +}; + +// Display flags in verbose mode. +log.writeflags = function(obj, prefix) { + var wordlist; + if (Array.isArray(obj)) { + wordlist = log.wordlist(obj); + } else if (typeof obj === 'object' && obj) { + wordlist = log.wordlist(Object.keys(obj).map(function(key) { + var val = obj[key]; + return key + (val === true ? '' : '=' + JSON.stringify(val)); + })); + } + writeln((prefix || 'Flags') + ': ' + (wordlist || '(none)'.cyan)); + return log; +}; + +// Create explicit "verbose" and "notverbose" functions, one for each already- +// defined log function, that do the same thing but ONLY if -v or --verbose is +// specified (or not specified). +log.verbose = {}; +log.notverbose = {}; + +// Iterate over all exported functions. +Object.keys(log).filter(function(key) { + return typeof log[key] === 'function'; +}).forEach(function(key) { + // Like any other log function, but suppresses output if the "verbose" option + // IS NOT set. + log.verbose[key] = function() { + suppressOutput = !grunt.option('verbose'); + log[key].apply(log, arguments); + suppressOutput = false; + return log.verbose; + }; + // Like any other log function, but suppresses output if the "verbose" option + // IS set. + log.notverbose[key] = function() { + suppressOutput = grunt.option('verbose'); + log[key].apply(log, arguments); + suppressOutput = false; + return log.notverbose; + }; +}); + +// A way to switch between verbose and notverbose modes. For example, this will +// write 'foo' if verbose logging is enabled, otherwise write 'bar': +// verbose.write('foo').or.write('bar'); +log.verbose.or = log.notverbose; +log.notverbose.or = log.verbose; + +// Static methods. + +// Pretty-format a word list. +log.wordlist = function(arr, options) { + options = grunt.util._.defaults(options || {}, { + separator: ', ', + color: 'cyan' + }); + return arr.map(function(item) { + return options.color ? String(item)[options.color] : item; + }).join(options.separator); +}; + +// Return a string, uncolored (suitable for testing .length, etc). +log.uncolor = function(str) { + return str.replace(/\x1B\[\d+m/g, ''); +}; + +// Word-wrap text to a given width, permitting ANSI color codes. +log.wraptext = function(width, text) { + // notes to self: + // grab 1st character or ansi code from string + // if ansi code, add to array and save for later, strip from front of string + // if character, add to array and increment counter, strip from front of string + // if width + 1 is reached and current character isn't space: + // slice off everything after last space in array and prepend it to string + // etc + + // This result array will be joined on \n. + var result = []; + var matches, color, tmp; + var captured = []; + var charlen = 0; + + while (matches = text.match(/(?:(\x1B\[\d+m)|\n|(.))([\s\S]*)/)) { + // Updated text to be everything not matched. + text = matches[3]; + + // Matched a color code? + if (matches[1]) { + // Save last captured color code for later use. + color = matches[1]; + // Capture color code. + captured.push(matches[1]); + continue; + + // Matched a non-newline character? + } else if (matches[2]) { + // If this is the first character and a previous color code was set, push + // that onto the captured array first. + if (charlen === 0 && color) { captured.push(color); } + // Push the matched character. + captured.push(matches[2]); + // Increment the current charlen. + charlen++; + // If not yet at the width limit or a space was matched, continue. + if (charlen <= width || matches[2] === ' ') { continue; } + // The current charlen exceeds the width and a space wasn't matched. + // "Roll everything back" until the last space character. + tmp = captured.lastIndexOf(' '); + text = captured.slice(tmp === -1 ? tmp : tmp + 1).join('') + text; + captured = captured.slice(0, tmp); + } + + // The limit has been reached. Push captured string onto result array. + result.push(captured.join('')); + + // Reset captured array and charlen. + captured = []; + charlen = 0; + } + + result.push(captured.join('')); + return result.join('\n'); +}; + +// todo: write unit tests +// +// function logs(text) { +// [4, 6, 10, 15, 20, 25, 30, 40].forEach(function(n) { +// log(n, text); +// }); +// } +// +// function log(n, text) { +// console.log(Array(n + 1).join('-')); +// console.log(wrap(n, text)); +// } +// +// var text = 'this is '.red + 'a simple'.yellow.inverse + ' test of'.green + ' ' + 'some wrapped'.blue + ' text over '.inverse.magenta + 'many lines'.red; +// logs(text); +// +// var text = 'foolish '.red.inverse + 'monkeys'.yellow + ' eating'.green + ' ' + 'delicious'.inverse.blue + ' bananas '.magenta + 'forever'.red; +// logs(text); +// +// var text = 'foolish monkeys eating delicious bananas forever'.rainbow; +// logs(text); + +// Format output into columns, wrapping words as-necessary. +log.table = function(widths, texts) { + var rows = []; + widths.forEach(function(width, i) { + var lines = log.wraptext(width, texts[i]).split('\n'); + lines.forEach(function(line, j) { + var row = rows[j]; + if (!row) { row = rows[j] = []; } + row[i] = line; + }); + }); + + var lines = []; + rows.forEach(function(row) { + var txt = ''; + var column; + for (var i = 0; i < row.length; i++) { + column = row[i] || ''; + txt += column; + var diff = widths[i] - log.uncolor(column).length; + if (diff > 0) { txt += grunt.util.repeat(diff, ' '); } + } + lines.push(txt); + }); + + return lines.join('\n'); +}; diff --git a/static/js/node_modules/grunt/lib/grunt/option.js b/static/js/node_modules/grunt/lib/grunt/option.js new file mode 100644 index 0000000..84b6763 --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/option.js @@ -0,0 +1,42 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +// The actual option data. +var data = {}; + +// Get or set an option value. +var option = module.exports = function(key, value) { + var no = key.match(/^no-(.+)$/); + if (arguments.length === 2) { + return (data[key] = value); + } else if (no) { + return data[no[1]] === false; + } else { + return data[key]; + } +}; + +// Initialize option data. +option.init = function(obj) { + return (data = obj || {}); +}; + +// List of options as flags. +option.flags = function() { + return Object.keys(data).filter(function(key) { + // Don't display empty arrays. + return !(Array.isArray(data[key]) && data[key].length === 0); + }).map(function(key) { + var val = data[key]; + return '--' + (val === false ? 'no-' : '') + key + + (typeof val === 'boolean' ? '' : '=' + val); + }); +}; diff --git a/static/js/node_modules/grunt/lib/grunt/task.js b/static/js/node_modules/grunt/lib/grunt/task.js new file mode 100644 index 0000000..887592e --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/task.js @@ -0,0 +1,451 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// Nodejs libs. +var path = require('path'); + +// Extend generic "task" util lib. +var parent = grunt.util.task.create(); + +// The module to be exported. +var task = module.exports = Object.create(parent); + +// A temporary registry of tasks and metadata. +var registry = {tasks: [], untasks: [], meta: {}}; + +// The last specified tasks message. +var lastInfo; + +// Number of levels of recursion when loading tasks in collections. +var loadTaskDepth = 0; + +// Keep track of the number of log.error() calls. +var errorcount; + +// Override built-in registerTask. +task.registerTask = function(name) { + // Add task to registry. + registry.tasks.push(name); + // Register task. + parent.registerTask.apply(task, arguments); + // This task, now that it's been registered. + var thisTask = task._tasks[name]; + // Metadata about the current task. + thisTask.meta = grunt.util._.clone(registry.meta); + // Override task function. + var _fn = thisTask.fn; + thisTask.fn = function(arg) { + // Guaranteed to always be the actual task name. + var name = thisTask.name; + // Initialize the errorcount for this task. + errorcount = grunt.fail.errorcount; + // Return the number of errors logged during this task. + Object.defineProperty(this, 'errorCount', { + enumerable: true, + get: function() { + return grunt.fail.errorcount - errorcount; + } + }); + // Expose task.requires on `this`. + this.requires = task.requires.bind(task); + // Expose config.requires on `this`. + this.requiresConfig = grunt.config.requires; + // Return an options object with the specified defaults overwritten by task- + // specific overrides, via the "options" property. + this.options = function() { + var args = [{}].concat(grunt.util.toArray(arguments)).concat([ + grunt.config([name, 'options']) + ]); + var options = grunt.util._.extend.apply(null, args); + grunt.verbose.writeflags(options, 'Options'); + return options; + }; + // If this task was an alias or a multi task called without a target, + // only log if in verbose mode. + var logger = _fn.alias || (thisTask.multi && (!arg || arg === '*')) ? 'verbose' : 'log'; + // Actually log. + grunt[logger].header('Running "' + this.nameArgs + '"' + + (this.name !== this.nameArgs ? ' (' + this.name + ')' : '') + ' task'); + // If --debug was specified, log the path to this task's source file. + grunt[logger].debug('Task source: ' + thisTask.meta.filepath); + // Actually run the task. + return _fn.apply(this, arguments); + }; + return task; +}; + +// Multi task targets can't start with _ or be a reserved property (options). +function isValidMultiTaskTarget(target) { + return !/^_|^options$/.test(target); +} + +// Normalize multi task files. +task.normalizeMultiTaskFiles = function(data, target) { + var prop, obj; + var files = []; + if (grunt.util.kindOf(data) === 'object') { + if ('src' in data || 'dest' in data) { + obj = {}; + for (prop in data) { + if (prop !== 'options') { + obj[prop] = data[prop]; + } + } + files.push(obj); + } else if (grunt.util.kindOf(data.files) === 'object') { + for (prop in data.files) { + files.push({src: data.files[prop], dest: grunt.config.process(prop)}); + } + } else if (Array.isArray(data.files)) { + data.files.forEach(function(obj) { + var prop; + if ('src' in obj || 'dest' in obj) { + files.push(obj); + } else { + for (prop in obj) { + files.push({src: obj[prop], dest: grunt.config.process(prop)}); + } + } + }); + } + } else { + files.push({src: data, dest: grunt.config.process(target)}); + } + + // If no src/dest or files were specified, return an empty files array. + if (files.length === 0) { + grunt.verbose.writeln('File: ' + '[no files]'.yellow); + return []; + } + + // Process all normalized file objects. + files = grunt.util._(files).chain().forEach(function(obj) { + if (!('src' in obj) || !obj.src) { return; } + // Normalize .src properties to flattened array. + if (Array.isArray(obj.src)) { + obj.src = grunt.util._.flatten(obj.src); + } else { + obj.src = [obj.src]; + } + }).map(function(obj) { + // Build options object, removing unwanted properties. + var expandOptions = grunt.util._.extend({}, obj); + delete expandOptions.src; + delete expandOptions.dest; + + // Expand file mappings. + if (obj.expand) { + return grunt.file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) { + // Copy obj properties to result. + var result = grunt.util._.extend({}, obj); + // Make a clone of the orig obj available. + result.orig = grunt.util._.extend({}, obj); + // Set .src and .dest, processing both as templates. + result.src = grunt.config.process(mapObj.src); + result.dest = grunt.config.process(mapObj.dest); + // Remove unwanted properties. + ['expand', 'cwd', 'flatten', 'rename', 'ext'].forEach(function(prop) { + delete result[prop]; + }); + return result; + }); + } + + // Copy obj properties to result, adding an .orig property. + var result = grunt.util._.extend({}, obj); + // Make a clone of the orig obj available. + result.orig = grunt.util._.extend({}, obj); + + if ('src' in result) { + // Expose an expand-on-demand getter method as .src. + Object.defineProperty(result, 'src', { + enumerable: true, + get: function fn() { + var src; + if (!('result' in fn)) { + src = obj.src; + // If src is an array, flatten it. Otherwise, make it into an array. + src = Array.isArray(src) ? grunt.util._.flatten(src) : [src]; + // Expand src files, memoizing result. + fn.result = grunt.file.expand(expandOptions, src); + } + return fn.result; + } + }); + } + + if ('dest' in result) { + result.dest = obj.dest; + } + + return result; + }).flatten().value(); + + // Log this.file src and dest properties when --verbose is specified. + if (grunt.option('verbose')) { + files.forEach(function(obj) { + var output = []; + if ('src' in obj) { + output.push(obj.src.length > 0 ? grunt.log.wordlist(obj.src) : '[no src]'.yellow); + } + if ('dest' in obj) { + output.push('-> ' + (obj.dest ? String(obj.dest).cyan : '[no dest]'.yellow)); + } + if (output.length > 0) { + grunt.verbose.writeln('Files: ' + output.join(' ')); + } + }); + } + + return files; +}; + +// This is the most common "multi task" pattern. +task.registerMultiTask = function(name, info, fn) { + // If optional "info" string is omitted, shuffle arguments a bit. + if (fn == null) { + fn = info; + info = 'Custom multi task.'; + } + // Store a reference to the task object, in case the task gets renamed. + var thisTask; + task.registerTask(name, info, function(target) { + // Guaranteed to always be the actual task name. + var name = thisTask.name; + // Arguments (sans target) as an array. + this.args = grunt.util.toArray(arguments).slice(1); + // If a target wasn't specified, run this task once for each target. + if (!target || target === '*') { + return task.runAllTargets(name, this.args); + } else if (!isValidMultiTaskTarget(target)) { + throw new Error('Invalid target "' + target + '" specified.'); + } + // Fail if any required config properties have been omitted. + this.requiresConfig([name, target]); + // Return an options object with the specified defaults overwritten by task- + // and/or target-specific overrides, via the "options" property. + this.options = function() { + var targetObj = grunt.config([name, target]); + var args = [{}].concat(grunt.util.toArray(arguments)).concat([ + grunt.config([name, 'options']), + grunt.util.kindOf(targetObj) === 'object' ? targetObj.options : {} + ]); + var options = grunt.util._.extend.apply(null, args); + grunt.verbose.writeflags(options, 'Options'); + return options; + }; + // Expose data on `this` (as well as task.current). + this.data = grunt.config([name, target]); + // Expose normalized files object. + this.files = task.normalizeMultiTaskFiles(this.data, target); + // Expose normalized, flattened, uniqued array of src files. + Object.defineProperty(this, 'filesSrc', { + enumerable: true, + get: function() { + return grunt.util._(this.files).chain().pluck('src').flatten().uniq().value(); + }.bind(this) + }); + // Expose the current target. + this.target = target; + // Recreate flags object so that the target isn't set as a flag. + this.flags = {}; + this.args.forEach(function(arg) { this.flags[arg] = true; }, this); + // Call original task function, passing in the target and any other args. + return fn.apply(this, this.args); + }); + + thisTask = task._tasks[name]; + thisTask.multi = true; +}; + +// Init tasks don't require properties in config, and as such will preempt +// config loading errors. +task.registerInitTask = function(name, info, fn) { + task.registerTask(name, info, fn); + task._tasks[name].init = true; +}; + +// Override built-in renameTask to use the registry. +task.renameTask = function(oldname, newname) { + // Add and remove task. + registry.untasks.push(oldname); + registry.tasks.push(newname); + // Actually rename task. + return parent.renameTask.apply(task, arguments); +}; + +// If a property wasn't passed, run all task targets in turn. +task.runAllTargets = function(taskname, args) { + // Get an array of sub-property keys under the given config object. + var targets = Object.keys(grunt.config.getRaw(taskname) || {}); + // Fail if there are no actual properties to iterate over. + if (targets.length === 0) { + grunt.log.error('No "' + taskname + '" targets found.'); + return false; + } + // Iterate over all valid target properties, running a task for each. + targets.filter(isValidMultiTaskTarget).forEach(function(target) { + // Be sure to pass in any additionally specified args. + task.run([taskname, target].concat(args || []).join(':')); + }); +}; + +// Load tasks and handlers from a given tasks file. +var loadTaskStack = []; +function loadTask(filepath) { + // In case this was called recursively, save registry for later. + loadTaskStack.push(registry); + // Reset registry. + registry = {tasks: [], untasks: [], meta: {info: lastInfo, filepath: filepath}}; + var filename = path.basename(filepath); + var msg = 'Loading "' + filename + '" tasks...'; + var regCount = 0; + var fn; + try { + // Load taskfile. + fn = require(path.resolve(filepath)); + if (typeof fn === 'function') { + fn.call(grunt, grunt); + } + grunt.verbose.write(msg).ok(); + // Log registered/renamed/unregistered tasks. + ['un', ''].forEach(function(prefix) { + var list = grunt.util._.chain(registry[prefix + 'tasks']).uniq().sort().value(); + if (list.length > 0) { + regCount++; + grunt.verbose.writeln((prefix ? '- ' : '+ ') + grunt.log.wordlist(list)); + } + }); + if (regCount === 0) { + grunt.verbose.error('No tasks were registered or unregistered.'); + } + } catch(e) { + // Something went wrong. + grunt.log.write(msg).error().verbose.error(e.stack).or.error(e); + } + // Restore registry. + registry = loadTaskStack.pop() || {}; +} + +// Log a message when loading tasks. +function loadTasksMessage(info) { + // Only keep track of names of top-level loaded tasks and collections, + // not sub-tasks. + if (loadTaskDepth === 0) { lastInfo = info; } + grunt.verbose.subhead('Registering ' + info + ' tasks.'); +} + +// Load tasks and handlers from a given directory. +function loadTasks(tasksdir) { + try { + var files = grunt.file.glob.sync('*.{js,coffee}', {cwd: tasksdir, maxDepth: 1}); + // Load tasks from files. + files.forEach(function(filename) { + loadTask(path.join(tasksdir, filename)); + }); + } catch(e) { + grunt.log.verbose.error(e.stack).or.error(e); + } +} + +// Load tasks and handlers from a given directory. +task.loadTasks = function(tasksdir) { + loadTasksMessage('"' + tasksdir + '"'); + if (grunt.file.exists(tasksdir)) { + loadTasks(tasksdir); + } else { + grunt.log.error('Tasks directory "' + tasksdir + '" not found.'); + } +}; + +// Load tasks and handlers from a given locally-installed Npm module (installed +// relative to the base dir). +task.loadNpmTasks = function(name) { + loadTasksMessage('"' + name + '" local Npm module'); + var root = path.resolve('node_modules'); + var pkgfile = path.join(root, name, 'package.json'); + var pkg = grunt.file.exists(pkgfile) ? grunt.file.readJSON(pkgfile) : {keywords: []}; + + // Process collection plugins. + if (pkg.keywords && pkg.keywords.indexOf('gruntcollection') !== -1) { + loadTaskDepth++; + Object.keys(pkg.dependencies).forEach(function(depName) { + // Npm sometimes pulls dependencies out if they're shared, so find + // upwards if not found locally. + var filepath = grunt.file.findup('node_modules/' + depName, { + cwd: path.resolve('node_modules', name), + nocase: true + }); + if (filepath) { + // Load this task plugin recursively. + task.loadNpmTasks(path.relative(root, filepath)); + } + }); + loadTaskDepth--; + return; + } + + // Process task plugins. + var tasksdir = path.join(root, name, 'tasks'); + if (grunt.file.exists(tasksdir)) { + loadTasks(tasksdir); + } else { + grunt.log.error('Local Npm module "' + name + '" not found. Is it installed?'); + } +}; + +// Initialize tasks. +task.init = function(tasks, options) { + if (!options) { options = {}; } + + // Were only init tasks specified? + var allInit = tasks.length > 0 && tasks.every(function(name) { + var obj = task._taskPlusArgs(name).task; + return obj && obj.init; + }); + + // Get any local Gruntfile or tasks that might exist. Use --gruntfile override + // if specified, otherwise search the current directory or any parent. + var gruntfile = allInit ? null : grunt.option('gruntfile') || + grunt.file.findup('Gruntfile.{js,coffee}', {nocase: true}); + + var msg = 'Reading "' + (gruntfile ? path.basename(gruntfile) : '???') + '" Gruntfile...'; + if (gruntfile && grunt.file.exists(gruntfile)) { + grunt.verbose.writeln().write(msg).ok(); + // Change working directory so that all paths are relative to the + // Gruntfile's location (or the --base option, if specified). + process.chdir(grunt.option('base') || path.dirname(gruntfile)); + // Load local tasks, if the file exists. + loadTasksMessage('Gruntfile'); + loadTask(gruntfile); + } else if (options.help || allInit) { + // Don't complain about missing Gruntfile. + } else if (grunt.option('gruntfile')) { + // If --config override was specified and it doesn't exist, complain. + grunt.log.writeln().write(msg).error(); + grunt.fatal('Unable to find "' + gruntfile + '" Gruntfile.', grunt.fail.code.MISSING_GRUNTFILE); + } else if (!grunt.option('help')) { + grunt.verbose.writeln().write(msg).error(); + grunt.log.writelns( + 'A valid Gruntfile could not be found. Please see the getting ' + + 'started guide for more information on how to configure grunt: ' + + 'http://gruntjs.com/getting-started' + ); + grunt.fatal('Unable to find Gruntfile.', grunt.fail.code.MISSING_GRUNTFILE); + } + + // Load all user-specified --npm tasks. + (grunt.option('npm') || []).forEach(task.loadNpmTasks); + // Load all user-specified --tasks. + (grunt.option('tasks') || []).forEach(task.loadTasks); +}; diff --git a/static/js/node_modules/grunt/lib/grunt/template.js b/static/js/node_modules/grunt/lib/grunt/template.js new file mode 100644 index 0000000..0db3bdb --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/template.js @@ -0,0 +1,95 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +var grunt = require('../grunt'); + +// The module to be exported. +var template = module.exports = {}; + +// External libs. +template.date = require('dateformat'); + +// Format today's date. +template.today = function(format) { + return template.date(new Date(), format); +}; + +// Template delimiters. +var allDelimiters = {}; + +// Initialize template delimiters. +template.addDelimiters = function(name, opener, closer) { + var delimiters = allDelimiters[name] = {}; + // Used by grunt. + delimiters.opener = opener; + delimiters.closer = closer; + // Generate RegExp patterns dynamically. + var a = delimiters.opener.replace(/(.)/g, '\\$1'); + var b = '([\\s\\S]+?)' + delimiters.closer.replace(/(.)/g, '\\$1'); + // Used by Lo-Dash. + delimiters.lodash = { + evaluate: new RegExp(a + b, 'g'), + interpolate: new RegExp(a + '=' + b, 'g'), + escape: new RegExp(a + '-' + b, 'g') + }; +}; + +// The underscore default template syntax should be a pretty sane default for +// the config system. +template.addDelimiters('config', '<%', '%>'); + +// Set Lo-Dash template delimiters. +template.setDelimiters = function(name) { + // Get the appropriate delimiters. + var delimiters = allDelimiters[name in allDelimiters ? name : 'config']; + // Tell Lo-Dash which delimiters to use. + grunt.util._.templateSettings = delimiters.lodash; + // Return the delimiters. + return delimiters; +}; + +// Process template + data with Lo-Dash. +template.process = function(tmpl, options) { + if (!options) { options = {}; } + // Set delimiters, and get a opening match character. + var delimiters = template.setDelimiters(options.delimiters); + // Clone data, initializing to config data or empty object if omitted. + var data = Object.create(options.data || grunt.config.data || {}); + // Expose grunt so that grunt utilities can be accessed, but only if it + // doesn't conflict with an existing .grunt property. + if (!('grunt' in data)) { data.grunt = grunt; } + // Keep track of last change. + var last = tmpl; + try { + // As long as tmpl contains template tags, render it and get the result, + // otherwise just use the template string. + while (tmpl.indexOf(delimiters.opener) >= 0) { + tmpl = grunt.util._.template(tmpl, data); + // Abort if template didn't change - nothing left to process! + if (tmpl === last) { break; } + last = tmpl; + } + } catch (e) { + // In upgrading to Lo-Dash (or Underscore.js 1.3.3), \n and \r in template + // tags now causes an exception to be thrown. Warn the user why this is + // happening. https://github.com/documentcloud/underscore/issues/553 + if (String(e) === 'SyntaxError: Unexpected token ILLEGAL' && /\n|\r/.test(tmpl)) { + grunt.log.errorlns('A special character was detected in this template. ' + + 'Inside template tags, the \\n and \\r special characters must be ' + + 'escaped as \\\\n and \\\\r. (grunt 0.4.0+)'); + } + // Slightly better error message. + e.message = 'An error occurred while processing a template (' + e.message + ').'; + grunt.warn(e, grunt.fail.code.TEMPLATE_ERROR); + } + // Normalize linefeeds and return. + return grunt.util.normalizelf(tmpl); +}; diff --git a/static/js/node_modules/grunt/lib/grunt/util.js b/static/js/node_modules/grunt/lib/grunt/util.js new file mode 100644 index 0000000..d9e1da3 --- /dev/null +++ b/static/js/node_modules/grunt/lib/grunt/util.js @@ -0,0 +1,188 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +'use strict'; + +// Nodejs libs. +var spawn = require('child_process').spawn; +var nodeUtil = require('util'); +var path = require('path'); + +// The module to be exported. +var util = module.exports = {}; + +// A few internal utilites, exposed. +util.task = require('../util/task'); +util.namespace = require('getobject'); + +// External libs. +util.hooker = require('hooker'); +util.async = require('async'); +var _ = util._ = require('lodash'); +var which = require('which').sync; +// Instead of process.exit. See https://github.com/cowboy/node-exit +util.exit = require('exit'); + +// Mixin Underscore.string methods. +_.str = require('underscore.string'); +_.mixin(_.str.exports()); + +// Return a function that normalizes the given function either returning a +// value or accepting a "done" callback that accepts a single value. +util.callbackify = function(fn) { + return function callbackable() { + // Invoke original function, getting its result. + var result = fn.apply(this, arguments); + // If the same number or less arguments were specified than fn accepts, + // assume the "done" callback was already handled. + var length = arguments.length; + if (length === fn.length) { return; } + // Otherwise, if the last argument is a function, assume it is a "done" + // callback and call it. + var done = arguments[length - 1]; + if (typeof done === 'function') { done(result); } + }; +}; + +// Create a new Error object, with an origError property that will be dumped +// if grunt was run with the --debug=9 option. +util.error = function(err, origError) { + if (!nodeUtil.isError(err)) { err = new Error(err); } + if (origError) { err.origError = origError; } + return err; +}; + +// The line feed char for the current system. +util.linefeed = process.platform === 'win32' ? '\r\n' : '\n'; + +// Normalize linefeeds in a string. +util.normalizelf = function(str) { + return str.replace(/\r\n|\n/g, util.linefeed); +}; + +// What "kind" is a value? +// I really need to rework https://github.com/cowboy/javascript-getclass +var kindsOf = {}; +'Number String Boolean Function RegExp Array Date Error'.split(' ').forEach(function(k) { + kindsOf['[object ' + k + ']'] = k.toLowerCase(); +}); +util.kindOf = function(value) { + // Null or undefined. + if (value == null) { return String(value); } + // Everything else. + return kindsOf[kindsOf.toString.call(value)] || 'object'; +}; + +// Coerce something to an Array. +util.toArray = Function.call.bind(Array.prototype.slice); + +// Return the string `str` repeated `n` times. +util.repeat = function(n, str) { + return new Array(n + 1).join(str || ' '); +}; + +// Given str of "a/b", If n is 1, return "a" otherwise "b". +util.pluralize = function(n, str, separator) { + var parts = str.split(separator || '/'); + return n === 1 ? (parts[0] || '') : (parts[1] || ''); +}; + +// Recurse through objects and arrays, executing fn for each non-object. +util.recurse = function recurse(value, fn, fnContinue) { + var obj; + if (fnContinue && fnContinue(value) === false) { + // Skip value if necessary. + return value; + } else if (util.kindOf(value) === 'array') { + // If value is an array, recurse. + return value.map(function(value) { + return recurse(value, fn, fnContinue); + }); + } else if (util.kindOf(value) === 'object') { + // If value is an object, recurse. + obj = {}; + Object.keys(value).forEach(function(key) { + obj[key] = recurse(value[key], fn, fnContinue); + }); + return obj; + } else { + // Otherwise pass value into fn and return. + return fn(value); + } +}; + +// Spawn a child process, capturing its stdout and stderr. +util.spawn = function(opts, done) { + // Build a result object and pass it (among other things) into the + // done function. + var callDone = function(code, stdout, stderr) { + // Remove trailing whitespace (newline) + stdout = _.rtrim(stdout); + stderr = _.rtrim(stderr); + // Create the result object. + var result = { + stdout: stdout, + stderr: stderr, + code: code, + toString: function() { + if (code === 0) { + return stdout; + } else if ('fallback' in opts) { + return opts.fallback; + } else if (opts.grunt) { + // grunt.log.error uses standard out, to be fixed in 0.5. + return stderr || stdout; + } + return stderr; + } + }; + // On error (and no fallback) pass an error object, otherwise pass null. + done(code === 0 || 'fallback' in opts ? null : new Error(stderr), result, code); + }; + + var cmd, args; + var pathSeparatorRe = /[\\\/]/g; + if (opts.grunt) { + cmd = process.argv[0]; + args = [process.argv[1]].concat(opts.args); + } else { + // On Windows, child_process.spawn will only file .exe files in the PATH, + // not other executable types (grunt issue #155). + try { + if (!pathSeparatorRe.test(opts.cmd)) { + // Only use which if cmd has no path component. + cmd = which(opts.cmd); + } else { + cmd = opts.cmd.replace(pathSeparatorRe, path.sep); + } + } catch (err) { + callDone(127, '', String(err)); + return; + } + args = opts.args; + } + + var child = spawn(cmd, args, opts.opts); + var stdout = new Buffer(''); + var stderr = new Buffer(''); + if (child.stdout) { + child.stdout.on('data', function(buf) { + stdout = Buffer.concat([stdout, new Buffer(buf)]); + }); + } + if (child.stderr) { + child.stderr.on('data', function(buf) { + stderr = Buffer.concat([stderr, new Buffer(buf)]); + }); + } + child.on('close', function(code) { + callDone(code, stdout.toString(), stderr.toString()); + }); + return child; +}; diff --git a/static/js/node_modules/grunt/lib/util/task.js b/static/js/node_modules/grunt/lib/util/task.js new file mode 100644 index 0000000..680a3ab --- /dev/null +++ b/static/js/node_modules/grunt/lib/util/task.js @@ -0,0 +1,323 @@ +/* + * grunt + * http://gruntjs.com/ + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + * https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + */ + +(function(exports) { + + 'use strict'; + + // Construct-o-rama. + function Task() { + // Information about the currently-running task. + this.current = {}; + // Tasks. + this._tasks = {}; + // Task queue. + this._queue = []; + // Queue placeholder (for dealing with nested tasks). + this._placeholder = {placeholder: true}; + // Queue marker (for clearing the queue programmatically). + this._marker = {marker: true}; + // Options. + this._options = {}; + // Is the queue running? + this._running = false; + // Success status of completed tasks. + this._success = {}; + } + + // Expose the constructor function. + exports.Task = Task; + + // Create a new Task instance. + exports.create = function() { + return new Task(); + }; + + // If the task runner is running or an error handler is not defined, throw + // an exception. Otherwise, call the error handler directly. + Task.prototype._throwIfRunning = function(obj) { + if (this._running || !this._options.error) { + // Throw an exception that the task runner will catch. + throw obj; + } else { + // Not inside the task runner. Call the error handler and abort. + this._options.error.call({name: null}, obj); + } + }; + + // Register a new task. + Task.prototype.registerTask = function(name, info, fn) { + // If optional "info" string is omitted, shuffle arguments a bit. + if (fn == null) { + fn = info; + info = null; + } + // String or array of strings was passed instead of fn. + var tasks; + if (typeof fn !== 'function') { + // Array of task names. + tasks = this.parseArgs([fn]); + // This task function just runs the specified tasks. + fn = this.run.bind(this, fn); + fn.alias = true; + // Generate an info string if one wasn't explicitly passed. + if (!info) { + info = 'Alias for "' + tasks.join('", "') + '" task' + + (tasks.length === 1 ? '' : 's') + '.'; + } + } else if (!info) { + info = 'Custom task.'; + } + // Add task into cache. + this._tasks[name] = {name: name, info: info, fn: fn}; + // Make chainable! + return this; + }; + + // Is the specified task an alias? + Task.prototype.isTaskAlias = function(name) { + return !!this._tasks[name].fn.alias; + }; + + // Rename a task. This might be useful if you want to override the default + // behavior of a task, while retaining the old name. This is a billion times + // easier to implement than some kind of in-task "super" functionality. + Task.prototype.renameTask = function(oldname, newname) { + // Rename task. + this._tasks[newname] = this._tasks[oldname]; + // Update name property of task. + this._tasks[newname].name = newname; + // Remove old name. + delete this._tasks[oldname]; + // Make chainable! + return this; + }; + + // Argument parsing helper. Supports these signatures: + // fn('foo') // ['foo'] + // fn('foo', 'bar', 'baz') // ['foo', 'bar', 'baz'] + // fn(['foo', 'bar', 'baz']) // ['foo', 'bar', 'baz'] + Task.prototype.parseArgs = function(args) { + // Return the first argument if it's an array, otherwise return an array + // of all arguments. + return Array.isArray(args[0]) ? args[0] : [].slice.call(args); + }; + + // Split a colon-delimited string into an array, unescaping (but not + // splitting on) any \: escaped colons. + Task.prototype.splitArgs = function(str) { + if (!str) { return []; } + // Store placeholder for \\ followed by \: + str = str.replace(/\\\\/g, '\uFFFF').replace(/\\:/g, '\uFFFE'); + // Split on : + return str.split(':').map(function(s) { + // Restore place-held : followed by \\ + return s.replace(/\uFFFE/g, ':').replace(/\uFFFF/g, '\\'); + }); + }; + + // Given a task name, determine which actual task will be called, and what + // arguments will be passed into the task callback. "foo" -> task "foo", no + // args. "foo:bar:baz" -> task "foo:bar:baz" with no args (if "foo:bar:baz" + // task exists), otherwise task "foo:bar" with arg "baz" (if "foo:bar" task + // exists), otherwise task "foo" with args "bar" and "baz". + Task.prototype._taskPlusArgs = function(name) { + // Get task name / argument parts. + var parts = this.splitArgs(name); + // Start from the end, not the beginning! + var i = parts.length; + var task; + do { + // Get a task. + task = this._tasks[parts.slice(0, i).join(':')]; + // If the task doesn't exist, decrement `i`, and if `i` is greater than + // 0, repeat. + } while (!task && --i > 0); + // Just the args. + var args = parts.slice(i); + // Maybe you want to use them as flags instead of as positional args? + var flags = {}; + args.forEach(function(arg) { flags[arg] = true; }); + // The task to run and the args to run it with. + return {task: task, nameArgs: name, args: args, flags: flags}; + }; + + // Append things to queue in the correct spot. + Task.prototype._push = function(things) { + // Get current placeholder index. + var index = this._queue.indexOf(this._placeholder); + if (index === -1) { + // No placeholder, add task+args objects to end of queue. + this._queue = this._queue.concat(things); + } else { + // Placeholder exists, add task+args objects just before placeholder. + [].splice.apply(this._queue, [index, 0].concat(things)); + } + }; + + // Enqueue a task. + Task.prototype.run = function() { + // Parse arguments into an array, returning an array of task+args objects. + var things = this.parseArgs(arguments).map(this._taskPlusArgs, this); + // Throw an exception if any tasks weren't found. + var fails = things.filter(function(thing) { return !thing.task; }); + if (fails.length > 0) { + this._throwIfRunning(new Error('Task "' + fails[0].nameArgs + '" not found.')); + return this; + } + // Append things to queue in the correct spot. + this._push(things); + // Make chainable! + return this; + }; + + // Add a marker to the queue to facilitate clearing it programmatically. + Task.prototype.mark = function() { + this._push(this._marker); + // Make chainable! + return this; + }; + + // Run a task function, handling this.async / return value. + Task.prototype.runTaskFn = function(context, fn, done) { + // Async flag. + var async = false; + + // Update the internal status object and run the next task. + var complete = function(success) { + var err = null; + if (success === false) { + // Since false was passed, the task failed generically. + err = new Error('Task "' + context.nameArgs + '" failed.'); + } else if (success instanceof Error || {}.toString.call(success) === '[object Error]') { + // An error object was passed, so the task failed specifically. + err = success; + success = false; + } else { + // The task succeeded. + success = true; + } + // The task has ended, reset the current task object. + this.current = {}; + // A task has "failed" only if it returns false (async) or if the + // function returned by .async is passed false. + this._success[context.nameArgs] = success; + // If task failed, call error handler. + if (!success && this._options.error) { + this._options.error.call({name: context.name, nameArgs: context.nameArgs}, err); + } + done(err, success); + }.bind(this); + + // When called, sets the async flag and returns a function that can + // be used to continue processing the queue. + context.async = function() { + async = true; + // The returned function should execute asynchronously in case + // someone tries to do this.async()(); inside a task (WTF). + return function(success) { + setTimeout(function() { complete(success); }, 1); + }; + }; + + // Expose some information about the currently-running task. + this.current = context; + + try { + // Get the current task and run it, setting `this` inside the task + // function to be something useful. + var success = fn.call(context); + // If the async flag wasn't set, process the next task in the queue. + if (!async) { + complete(success); + } + } catch (err) { + complete(err); + } + }; + + // Begin task queue processing. Ie. run all tasks. + Task.prototype.start = function() { + // Abort if already running. + if (this._running) { return false; } + // Actually process the next task. + var nextTask = function() { + // Get next task+args object from queue. + var thing; + // Skip any placeholders or markers. + do { + thing = this._queue.shift(); + } while (thing === this._placeholder || thing === this._marker); + // If queue was empty, we're all done. + if (!thing) { + this._running = false; + if (this._options.done) { + this._options.done(); + } + return; + } + // Add a placeholder to the front of the queue. + this._queue.unshift(this._placeholder); + + // Expose some information about the currently-running task. + var context = { + // The current task name plus args, as-passed. + nameArgs: thing.nameArgs, + // The current task name. + name: thing.task.name, + // The current task arguments. + args: thing.args, + // The current arguments, available as named flags. + flags: thing.flags + }; + + // Actually run the task function (handling this.async, etc) + this.runTaskFn(context, function() { + return thing.task.fn.apply(this, this.args); + }, nextTask); + + }.bind(this); + + // Update flag. + this._running = true; + // Process the next task. + nextTask(); + }; + + // Clear remaining tasks from the queue. + Task.prototype.clearQueue = function(options) { + if (!options) { options = {}; } + if (options.untilMarker) { + this._queue.splice(0, this._queue.indexOf(this._marker) + 1); + } else { + this._queue = []; + } + // Make chainable! + return this; + }; + + // Test to see if all of the given tasks have succeeded. + Task.prototype.requires = function() { + this.parseArgs(arguments).forEach(function(name) { + var success = this._success[name]; + if (!success) { + throw new Error('Required task "' + name + + '" ' + (success === false ? 'failed' : 'must be run first') + '.'); + } + }.bind(this)); + }; + + // Override default options. + Task.prototype.options = function(options) { + Object.keys(options).forEach(function(name) { + this._options[name] = options[name]; + }.bind(this)); + }; + +}(typeof exports === 'object' && exports || this)); diff --git a/static/js/node_modules/grunt/node_modules/.bin/cake b/static/js/node_modules/grunt/node_modules/.bin/cake new file mode 100644 index 0000000..da84bdc --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/cake @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../coffee-script/bin/cake" "$@" + ret=$? +else + node "$basedir/../coffee-script/bin/cake" "$@" + ret=$? +fi +exit $ret diff --git a/static/js/node_modules/grunt/node_modules/.bin/cake.cmd b/static/js/node_modules/grunt/node_modules/.bin/cake.cmd new file mode 100644 index 0000000..c649f3b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/cake.cmd @@ -0,0 +1,5 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\coffee-script\bin\cake" %* +) ELSE ( + node "%~dp0\..\coffee-script\bin\cake" %* +) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/.bin/coffee b/static/js/node_modules/grunt/node_modules/.bin/coffee new file mode 100644 index 0000000..04d88bf --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/coffee @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../coffee-script/bin/coffee" "$@" + ret=$? +else + node "$basedir/../coffee-script/bin/coffee" "$@" + ret=$? +fi +exit $ret diff --git a/static/js/node_modules/grunt/node_modules/.bin/coffee.cmd b/static/js/node_modules/grunt/node_modules/.bin/coffee.cmd new file mode 100644 index 0000000..95ca13a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/coffee.cmd @@ -0,0 +1,5 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\coffee-script\bin\coffee" %* +) ELSE ( + node "%~dp0\..\coffee-script\bin\coffee" %* +) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/.bin/js-yaml b/static/js/node_modules/grunt/node_modules/.bin/js-yaml new file mode 100644 index 0000000..2dd4d29 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/js-yaml @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@" + ret=$? +else + node "$basedir/../js-yaml/bin/js-yaml.js" "$@" + ret=$? +fi +exit $ret diff --git a/static/js/node_modules/grunt/node_modules/.bin/js-yaml.cmd b/static/js/node_modules/grunt/node_modules/.bin/js-yaml.cmd new file mode 100644 index 0000000..cf7587b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/js-yaml.cmd @@ -0,0 +1,5 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\js-yaml\bin\js-yaml.js" %* +) ELSE ( + node "%~dp0\..\js-yaml\bin\js-yaml.js" %* +) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/.bin/nopt b/static/js/node_modules/grunt/node_modules/.bin/nopt new file mode 100644 index 0000000..25995f3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/nopt @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@" + ret=$? +else + node "$basedir/../nopt/bin/nopt.js" "$@" + ret=$? +fi +exit $ret diff --git a/static/js/node_modules/grunt/node_modules/.bin/nopt.cmd b/static/js/node_modules/grunt/node_modules/.bin/nopt.cmd new file mode 100644 index 0000000..c8e8216 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/nopt.cmd @@ -0,0 +1,5 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\nopt\bin\nopt.js" %* +) ELSE ( + node "%~dp0\..\nopt\bin\nopt.js" %* +) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/.bin/which b/static/js/node_modules/grunt/node_modules/.bin/which new file mode 100644 index 0000000..9c7f24b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/which @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../which/bin/which" "$@" + ret=$? +else + node "$basedir/../which/bin/which" "$@" + ret=$? +fi +exit $ret diff --git a/static/js/node_modules/grunt/node_modules/.bin/which.cmd b/static/js/node_modules/grunt/node_modules/.bin/which.cmd new file mode 100644 index 0000000..f466fd0 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/.bin/which.cmd @@ -0,0 +1,5 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\which\bin\which" %* +) ELSE ( + node "%~dp0\..\which\bin\which" %* +) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/async/.gitmodules b/static/js/node_modules/grunt/node_modules/async/.gitmodules new file mode 100644 index 0000000..a9aae98 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/.gitmodules @@ -0,0 +1,9 @@ +[submodule "deps/nodeunit"] + path = deps/nodeunit + url = git://github.com/caolan/nodeunit.git +[submodule "deps/UglifyJS"] + path = deps/UglifyJS + url = https://github.com/mishoo/UglifyJS.git +[submodule "deps/nodelint"] + path = deps/nodelint + url = https://github.com/tav/nodelint.git diff --git a/static/js/node_modules/grunt/node_modules/async/.npmignore b/static/js/node_modules/grunt/node_modules/async/.npmignore new file mode 100644 index 0000000..9bdfc97 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/.npmignore @@ -0,0 +1,4 @@ +deps +dist +test +nodelint.cfg \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/async/LICENSE b/static/js/node_modules/grunt/node_modules/async/LICENSE new file mode 100644 index 0000000..b7f9d50 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2010 Caolan McMahon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/async/Makefile b/static/js/node_modules/grunt/node_modules/async/Makefile new file mode 100644 index 0000000..bad647c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/Makefile @@ -0,0 +1,25 @@ +PACKAGE = asyncjs +NODEJS = $(if $(shell test -f /usr/bin/nodejs && echo "true"),nodejs,node) +CWD := $(shell pwd) +NODEUNIT = $(CWD)/node_modules/nodeunit/bin/nodeunit +UGLIFY = $(CWD)/node_modules/uglify-js/bin/uglifyjs +NODELINT = $(CWD)/node_modules/nodelint/nodelint + +BUILDDIR = dist + +all: clean test build + +build: $(wildcard lib/*.js) + mkdir -p $(BUILDDIR) + $(UGLIFY) lib/async.js > $(BUILDDIR)/async.min.js + +test: + $(NODEUNIT) test + +clean: + rm -rf $(BUILDDIR) + +lint: + $(NODELINT) --config nodelint.cfg lib/async.js + +.PHONY: test build all diff --git a/static/js/node_modules/grunt/node_modules/async/README.md b/static/js/node_modules/grunt/node_modules/async/README.md new file mode 100644 index 0000000..1bbbc47 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/README.md @@ -0,0 +1,1021 @@ +# Async.js + +Async is a utility module which provides straight-forward, powerful functions +for working with asynchronous JavaScript. Although originally designed for +use with [node.js](http://nodejs.org), it can also be used directly in the +browser. + +Async provides around 20 functions that include the usual 'functional' +suspects (map, reduce, filter, forEach…) as well as some common patterns +for asynchronous control flow (parallel, series, waterfall…). All these +functions assume you follow the node.js convention of providing a single +callback as the last argument of your async function. + + +## Quick Examples + + async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file + }); + + async.filter(['file1','file2','file3'], path.exists, function(results){ + // results now equals an array of the existing files + }); + + async.parallel([ + function(){ ... }, + function(){ ... } + ], callback); + + async.series([ + function(){ ... }, + function(){ ... } + ]); + +There are many more functions available so take a look at the docs below for a +full list. This module aims to be comprehensive, so if you feel anything is +missing please create a GitHub issue for it. + + +## Download + +Releases are available for download from +[GitHub](http://github.com/caolan/async/downloads). +Alternatively, you can install using Node Package Manager (npm): + + npm install async + + +__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed + +__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped + + +## In the Browser + +So far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage: + + + + + +## Documentation + +### Collections + +* [forEach](#forEach) +* [map](#map) +* [filter](#filter) +* [reject](#reject) +* [reduce](#reduce) +* [detect](#detect) +* [sortBy](#sortBy) +* [some](#some) +* [every](#every) +* [concat](#concat) + +### Control Flow + +* [series](#series) +* [parallel](#parallel) +* [whilst](#whilst) +* [until](#until) +* [waterfall](#waterfall) +* [queue](#queue) +* [auto](#auto) +* [iterator](#iterator) +* [apply](#apply) +* [nextTick](#nextTick) + +### Utils + +* [memoize](#memoize) +* [unmemoize](#unmemoize) +* [log](#log) +* [dir](#dir) +* [noConflict](#noConflict) + + +## Collections + + +### forEach(arr, iterator, callback) + +Applies an iterator function to each item in an array, in parallel. +The iterator is called with an item from the list and a callback for when it +has finished. If the iterator passes an error to this callback, the main +callback for the forEach function is immediately called with the error. + +Note, that since this function applies the iterator to each item in parallel +there is no guarantee that the iterator functions will complete in order. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed. +* callback(err) - A callback which is called after all the iterator functions + have finished, or an error has occurred. + +__Example__ + + // assuming openFiles is an array of file names and saveFile is a function + // to save the modified contents of that file: + + async.forEach(openFiles, saveFile, function(err){ + // if any of the saves produced an error, err would equal that error + }); + +--------------------------------------- + + +### forEachSeries(arr, iterator, callback) + +The same as forEach only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. This means the iterator functions will complete in order. + + +--------------------------------------- + + +### forEachLimit(arr, limit, iterator, callback) + +The same as forEach only the iterator is applied to batches of items in the +array, in series. The next batch of iterators is only called once the current +one has completed processing. + +__Arguments__ + +* arr - An array to iterate over. +* limit - How many items should be in each batch. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed. +* callback(err) - A callback which is called after all the iterator functions + have finished, or an error has occurred. + +__Example__ + + // Assume documents is an array of JSON objects and requestApi is a + // function that interacts with a rate-limited REST api. + + async.forEachLimit(documents, 20, requestApi, function(err){ + // if any of the saves produced an error, err would equal that error + }); +--------------------------------------- + + +### map(arr, iterator, callback) + +Produces a new array of values by mapping each value in the given array through +the iterator function. The iterator is called with an item from the array and a +callback for when it has finished processing. The callback takes 2 arguments, +an error and the transformed item from the array. If the iterator passes an +error to this callback, the main callback for the map function is immediately +called with the error. + +Note, that since this function applies the iterator to each item in parallel +there is no guarantee that the iterator functions will complete in order, however +the results array will be in the same order as the original array. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed + with an error (which can be null) and a transformed item. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array of the + transformed items from the original array. + +__Example__ + + async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file + }); + +--------------------------------------- + + +### mapSeries(arr, iterator, callback) + +The same as map only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + + +--------------------------------------- + + +### filter(arr, iterator, callback) + +__Alias:__ select + +Returns a new array of all the values which pass an async truth test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like path.exists. This operation is +performed in parallel, but the results array will be in the same order as the +original. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed. +* callback(results) - A callback which is called after all the iterator + functions have finished. + +__Example__ + + async.filter(['file1','file2','file3'], path.exists, function(results){ + // results now equals an array of the existing files + }); + +--------------------------------------- + + +### filterSeries(arr, iterator, callback) + +__alias:__ selectSeries + +The same as filter only the iterator is applied to each item in the array in +series. The next iterator is only called once the current one has completed +processing. The results array will be in the same order as the original. + +--------------------------------------- + + +### reject(arr, iterator, callback) + +The opposite of filter. Removes values that pass an async truth test. + +--------------------------------------- + + +### rejectSeries(arr, iterator, callback) + +The same as filter, only the iterator is applied to each item in the array +in series. + + +--------------------------------------- + + +### reduce(arr, memo, iterator, callback) + +__aliases:__ inject, foldl + +Reduces a list of values into a single value using an async iterator to return +each successive step. Memo is the initial state of the reduction. This +function only operates in series. For performance reasons, it may make sense to +split a call to this function into a parallel map, then use the normal +Array.prototype.reduce on the results. This function is for situations where +each step in the reduction needs to be async, if you can get the data before +reducing it then its probably a good idea to do so. + +__Arguments__ + +* arr - An array to iterate over. +* memo - The initial state of the reduction. +* iterator(memo, item, callback) - A function applied to each item in the + array to produce the next step in the reduction. The iterator is passed a + callback which accepts an optional error as its first argument, and the state + of the reduction as the second. If an error is passed to the callback, the + reduction is stopped and the main callback is immediately called with the + error. +* callback(err, result) - A callback which is called after all the iterator + functions have finished. Result is the reduced value. + +__Example__ + + async.reduce([1,2,3], 0, function(memo, item, callback){ + // pointless async: + process.nextTick(function(){ + callback(null, memo + item) + }); + }, function(err, result){ + // result is now equal to the last value of memo, which is 6 + }); + +--------------------------------------- + + +### reduceRight(arr, memo, iterator, callback) + +__Alias:__ foldr + +Same as reduce, only operates on the items in the array in reverse order. + + +--------------------------------------- + + +### detect(arr, iterator, callback) + +Returns the first value in a list that passes an async truth test. The +iterator is applied in parallel, meaning the first iterator to return true will +fire the detect callback with that result. That means the result might not be +the first item in the original array (in terms of order) that passes the test. + +If order within the original array is important then look at detectSeries. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed. +* callback(result) - A callback which is called as soon as any iterator returns + true, or after all the iterator functions have finished. Result will be + the first item in the array that passes the truth test (iterator) or the + value undefined if none passed. + +__Example__ + + async.detect(['file1','file2','file3'], path.exists, function(result){ + // result now equals the first file in the list that exists + }); + +--------------------------------------- + + +### detectSeries(arr, iterator, callback) + +The same as detect, only the iterator is applied to each item in the array +in series. This means the result is always the first in the original array (in +terms of array order) that passes the truth test. + + +--------------------------------------- + + +### sortBy(arr, iterator, callback) + +Sorts a list by the results of running each value through an async iterator. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed + with an error (which can be null) and a value to use as the sort criteria. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is the items from + the original array sorted by the values returned by the iterator calls. + +__Example__ + + async.sortBy(['file1','file2','file3'], function(file, callback){ + fs.stat(file, function(err, stats){ + callback(err, stats.mtime); + }); + }, function(err, results){ + // results is now the original array of files sorted by + // modified date + }); + + +--------------------------------------- + + +### some(arr, iterator, callback) + +__Alias:__ any + +Returns true if at least one element in the array satisfies an async test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like path.exists. Once any iterator +call returns true, the main callback is immediately called. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed. +* callback(result) - A callback which is called as soon as any iterator returns + true, or after all the iterator functions have finished. Result will be + either true or false depending on the values of the async tests. + +__Example__ + + async.some(['file1','file2','file3'], path.exists, function(result){ + // if result is true then at least one of the files exists + }); + +--------------------------------------- + + +### every(arr, iterator, callback) + +__Alias:__ all + +Returns true if every element in the array satisfies an async test. +_The callback for each iterator call only accepts a single argument of true or +false, it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like path.exists. + +__Arguments__ + +* arr - An array to iterate over. +* iterator(item, callback) - A truth test to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed. +* callback(result) - A callback which is called after all the iterator + functions have finished. Result will be either true or false depending on + the values of the async tests. + +__Example__ + + async.every(['file1','file2','file3'], path.exists, function(result){ + // if result is true then every file exists + }); + +--------------------------------------- + + +### concat(arr, iterator, callback) + +Applies an iterator to each item in a list, concatenating the results. Returns the +concatenated list. The iterators are called in parallel, and the results are +concatenated as they return. There is no guarantee that the results array will +be returned in the original order of the arguments passed to the iterator function. + +__Arguments__ + +* arr - An array to iterate over +* iterator(item, callback) - A function to apply to each item in the array. + The iterator is passed a callback which must be called once it has completed + with an error (which can be null) and an array of results. +* callback(err, results) - A callback which is called after all the iterator + functions have finished, or an error has occurred. Results is an array containing + the concatenated results of the iterator function. + +__Example__ + + async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){ + // files is now a list of filenames that exist in the 3 directories + }); + +--------------------------------------- + + +### concatSeries(arr, iterator, callback) + +Same as async.concat, but executes in series instead of parallel. + + +## Control Flow + + +### series(tasks, [callback]) + +Run an array of functions in series, each one running once the previous +function has completed. If any functions in the series pass an error to its +callback, no more functions are run and the callback for the series is +immediately called with the value of the error. Once the tasks have completed, +the results are passed to the final callback as an array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final callback as an object +instead of an array. This can be a more readable way of handling results from +async.series. + + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed + a callback it must call on completion. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets an array of all the arguments passed to + the callbacks used in the array. + +__Example__ + + async.series([ + function(callback){ + // do some stuff ... + callback(null, 'one'); + }, + function(callback){ + // do some more stuff ... + callback(null, 'two'); + }, + ], + // optional callback + function(err, results){ + // results is now equal to ['one', 'two'] + }); + + + // an example using an object instead of an array + async.series({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + }, + }, + function(err, results) { + // results is now equal to: {one: 1, two: 2} + }); + + +--------------------------------------- + + +### parallel(tasks, [callback]) + +Run an array of functions in parallel, without waiting until the previous +function has completed. If any of the functions pass an error to its +callback, the main callback is immediately called with the value of the error. +Once the tasks have completed, the results are passed to the final callback as an +array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final callback as an object +instead of an array. This can be a more readable way of handling results from +async.parallel. + + +__Arguments__ + +* tasks - An array or object containing functions to run, each function is passed a + callback it must call on completion. +* callback(err, results) - An optional callback to run once all the functions + have completed. This function gets an array of all the arguments passed to + the callbacks used in the array. + +__Example__ + + async.parallel([ + function(callback){ + setTimeout(function(){ + callback(null, 'one'); + }, 200); + }, + function(callback){ + setTimeout(function(){ + callback(null, 'two'); + }, 100); + }, + ], + // optional callback + function(err, results){ + // the results array will equal ['one','two'] even though + // the second function had a shorter timeout. + }); + + + // an example using an object instead of an array + async.parallel({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + }, + }, + function(err, results) { + // results is now equals to: {one: 1, two: 2} + }); + + +--------------------------------------- + + +### whilst(test, fn, callback) + +Repeatedly call fn, while test returns true. Calls the callback when stopped, +or an error occurs. + +__Arguments__ + +* test() - synchronous truth test to perform before each execution of fn. +* fn(callback) - A function to call each time the test passes. The function is + passed a callback which must be called once it has completed with an optional + error as the first argument. +* callback(err) - A callback which is called after the test fails and repeated + execution of fn has stopped. + +__Example__ + + var count = 0; + + async.whilst( + function () { return count < 5; }, + function (callback) { + count++; + setTimeout(callback, 1000); + }, + function (err) { + // 5 seconds have passed + } + ); + + +--------------------------------------- + + +### until(test, fn, callback) + +Repeatedly call fn, until test returns true. Calls the callback when stopped, +or an error occurs. + +The inverse of async.whilst. + + +--------------------------------------- + + +### waterfall(tasks, [callback]) + +Runs an array of functions in series, each passing their results to the next in +the array. However, if any of the functions pass an error to the callback, the +next function is not executed and the main callback is immediately called with +the error. + +__Arguments__ + +* tasks - An array of functions to run, each function is passed a callback it + must call on completion. +* callback(err, [results]) - An optional callback to run once all the functions + have completed. This will be passed the results of the last task's callback. + + + +__Example__ + + async.waterfall([ + function(callback){ + callback(null, 'one', 'two'); + }, + function(arg1, arg2, callback){ + callback(null, 'three'); + }, + function(arg1, callback){ + // arg1 now equals 'three' + callback(null, 'done'); + } + ], function (err, result) { + // result now equals 'done' + }); + + +--------------------------------------- + + +### queue(worker, concurrency) + +Creates a queue object with the specified concurrency. Tasks added to the +queue will be processed in parallel (up to the concurrency limit). If all +workers are in progress, the task is queued until one is available. Once +a worker has completed a task, the task's callback is called. + +__Arguments__ + +* worker(task, callback) - An asynchronous function for processing a queued + task. +* concurrency - An integer for determining how many worker functions should be + run in parallel. + +__Queue objects__ + +The queue object returned by this function has the following properties and +methods: + +* length() - a function returning the number of items waiting to be processed. +* concurrency - an integer for determining how many worker functions should be + run in parallel. This property can be changed after a queue is created to + alter the concurrency on-the-fly. +* push(task, [callback]) - add a new task to the queue, the callback is called + once the worker has finished processing the task. + instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list. +* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued +* empty - a callback that is called when the last item from the queue is given to a worker +* drain - a callback that is called when the last item from the queue has returned from the worker + +__Example__ + + // create a queue object with concurrency 2 + + var q = async.queue(function (task, callback) { + console.log('hello ' + task.name); + callback(); + }, 2); + + + // assign a callback + q.drain = function() { + console.log('all items have been processed'); + } + + // add some items to the queue + + q.push({name: 'foo'}, function (err) { + console.log('finished processing foo'); + }); + q.push({name: 'bar'}, function (err) { + console.log('finished processing bar'); + }); + + // add some items to the queue (batch-wise) + + q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { + console.log('finished processing bar'); + }); + + +--------------------------------------- + + +### auto(tasks, [callback]) + +Determines the best order for running functions based on their requirements. +Each function can optionally depend on other functions being completed first, +and each function is run as soon as its requirements are satisfied. If any of +the functions pass an error to their callback, that function will not complete +(so any other functions depending on it will not run) and the main callback +will be called immediately with the error. Functions also receive an object +containing the results of functions which have completed so far. + +__Arguments__ + +* tasks - An object literal containing named functions or an array of + requirements, with the function itself the last item in the array. The key + used for each function or array is used when specifying requirements. The + syntax is easier to understand by looking at the example. +* callback(err, results) - An optional callback which is called when all the + tasks have been completed. The callback will receive an error as an argument + if any tasks pass an error to their callback. If all tasks complete + successfully, it will receive an object containing their results. + +__Example__ + + async.auto({ + get_data: function(callback){ + // async code to get some data + }, + make_folder: function(callback){ + // async code to create a directory to store a file in + // this is run at the same time as getting the data + }, + write_file: ['get_data', 'make_folder', function(callback){ + // once there is some data and the directory exists, + // write the data to a file in the directory + callback(null, filename); + }], + email_link: ['write_file', function(callback, results){ + // once the file is written let's email a link to it... + // results.write_file contains the filename returned by write_file. + }] + }); + +This is a fairly trivial example, but to do this using the basic parallel and +series functions would look like this: + + async.parallel([ + function(callback){ + // async code to get some data + }, + function(callback){ + // async code to create a directory to store a file in + // this is run at the same time as getting the data + } + ], + function(results){ + async.series([ + function(callback){ + // once there is some data and the directory exists, + // write the data to a file in the directory + }, + email_link: function(callback){ + // once the file is written let's email a link to it... + } + ]); + }); + +For a complicated series of async tasks using the auto function makes adding +new tasks much easier and makes the code more readable. + + +--------------------------------------- + + +### iterator(tasks) + +Creates an iterator function which calls the next function in the array, +returning a continuation to call the next one after that. Its also possible to +'peek' the next iterator by doing iterator.next(). + +This function is used internally by the async module but can be useful when +you want to manually control the flow of functions in series. + +__Arguments__ + +* tasks - An array of functions to run, each function is passed a callback it + must call on completion. + +__Example__ + + var iterator = async.iterator([ + function(){ sys.p('one'); }, + function(){ sys.p('two'); }, + function(){ sys.p('three'); } + ]); + + node> var iterator2 = iterator(); + 'one' + node> var iterator3 = iterator2(); + 'two' + node> iterator3(); + 'three' + node> var nextfn = iterator2.next(); + node> nextfn(); + 'three' + + +--------------------------------------- + + +### apply(function, arguments..) + +Creates a continuation function with some arguments already applied, a useful +shorthand when combined with other control flow functions. Any arguments +passed to the returned function are added to the arguments originally passed +to apply. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to automatically apply when the + continuation is called. + +__Example__ + + // using apply + + async.parallel([ + async.apply(fs.writeFile, 'testfile1', 'test1'), + async.apply(fs.writeFile, 'testfile2', 'test2'), + ]); + + + // the same process without using apply + + async.parallel([ + function(callback){ + fs.writeFile('testfile1', 'test1', callback); + }, + function(callback){ + fs.writeFile('testfile2', 'test2', callback); + }, + ]); + +It's possible to pass any number of additional arguments when calling the +continuation: + + node> var fn = async.apply(sys.puts, 'one'); + node> fn('two', 'three'); + one + two + three + +--------------------------------------- + + +### nextTick(callback) + +Calls the callback on a later loop around the event loop. In node.js this just +calls process.nextTick, in the browser it falls back to setTimeout(callback, 0), +which means other higher priority events may precede the execution of the callback. + +This is used internally for browser-compatibility purposes. + +__Arguments__ + +* callback - The function to call on a later loop around the event loop. + +__Example__ + + var call_order = []; + async.nextTick(function(){ + call_order.push('two'); + // call_order now equals ['one','two] + }); + call_order.push('one') + + +## Utils + + +### memoize(fn, [hasher]) + +Caches the results of an async function. When creating a hash to store function +results against, the callback is omitted from the hash and an optional hash +function can be used. + +__Arguments__ + +* fn - the function you to proxy and cache results from. +* hasher - an optional function for generating a custom hash for storing + results, it has all the arguments applied to it apart from the callback, and + must be synchronous. + +__Example__ + + var slow_fn = function (name, callback) { + // do something + callback(null, result); + }; + var fn = async.memoize(slow_fn); + + // fn can now be used as if it were slow_fn + fn('some name', function () { + // callback + }); + + +### unmemoize(fn) + +Undoes a memoized function, reverting it to the original, unmemoized +form. Comes handy in tests. + +__Arguments__ + +* fn - the memoized function + + +### log(function, arguments) + +Logs the result of an async function to the console. Only works in node.js or +in browsers that support console.log and console.error (such as FF and Chrome). +If multiple arguments are returned from the async function, console.log is +called on each argument in order. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to apply to the function. + +__Example__ + + var hello = function(name, callback){ + setTimeout(function(){ + callback(null, 'hello ' + name); + }, 1000); + }; + + node> async.log(hello, 'world'); + 'hello world' + + +--------------------------------------- + + +### dir(function, arguments) + +Logs the result of an async function to the console using console.dir to +display the properties of the resulting object. Only works in node.js or +in browsers that support console.dir and console.error (such as FF and Chrome). +If multiple arguments are returned from the async function, console.dir is +called on each argument in order. + +__Arguments__ + +* function - The function you want to eventually apply all arguments to. +* arguments... - Any number of arguments to apply to the function. + +__Example__ + + var hello = function(name, callback){ + setTimeout(function(){ + callback(null, {hello: name}); + }, 1000); + }; + + node> async.dir(hello, 'world'); + {hello: 'world'} + + +--------------------------------------- + + +### noConflict() + +Changes the value of async back to its original value, returning a reference to the +async object. diff --git a/static/js/node_modules/grunt/node_modules/async/index.js b/static/js/node_modules/grunt/node_modules/async/index.js new file mode 100644 index 0000000..8e23845 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/index.js @@ -0,0 +1,3 @@ +// This file is just added for convenience so this repository can be +// directly checked out into a project's deps folder +module.exports = require('./lib/async'); diff --git a/static/js/node_modules/grunt/node_modules/async/lib/async.js b/static/js/node_modules/grunt/node_modules/async/lib/async.js new file mode 100644 index 0000000..7cc4f5e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/lib/async.js @@ -0,0 +1,692 @@ +/*global setTimeout: false, console: false */ +(function () { + + var async = {}; + + // global on the server, window in the browser + var root = this, + previous_async = root.async; + + if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + else { + root.async = async; + } + + async.noConflict = function () { + root.async = previous_async; + return async; + }; + + //// cross-browser compatiblity functions //// + + var _forEach = function (arr, iterator) { + if (arr.forEach) { + return arr.forEach(iterator); + } + for (var i = 0; i < arr.length; i += 1) { + iterator(arr[i], i, arr); + } + }; + + var _map = function (arr, iterator) { + if (arr.map) { + return arr.map(iterator); + } + var results = []; + _forEach(arr, function (x, i, a) { + results.push(iterator(x, i, a)); + }); + return results; + }; + + var _reduce = function (arr, iterator, memo) { + if (arr.reduce) { + return arr.reduce(iterator, memo); + } + _forEach(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + }; + + var _keys = function (obj) { + if (Object.keys) { + return Object.keys(obj); + } + var keys = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + keys.push(k); + } + } + return keys; + }; + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + if (typeof process === 'undefined' || !(process.nextTick)) { + async.nextTick = function (fn) { + setTimeout(fn, 0); + }; + } + else { + async.nextTick = process.nextTick; + } + + async.forEach = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + _forEach(arr, function (x) { + iterator(x, function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed === arr.length) { + callback(null); + } + } + }); + }); + }; + + async.forEachSeries = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + var iterate = function () { + iterator(arr[completed], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed === arr.length) { + callback(null); + } + else { + iterate(); + } + } + }); + }; + iterate(); + }; + + async.forEachLimit = function (arr, limit, iterator, callback) { + callback = callback || function () {}; + if (!arr.length || limit <= 0) { + return callback(); + } + var completed = 0; + var started = 0; + var running = 0; + + (function replenish () { + if (completed === arr.length) { + return callback(); + } + + while (running < limit && started < arr.length) { + started += 1; + running += 1; + iterator(arr[started - 1], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + running -= 1; + if (completed === arr.length) { + callback(); + } + else { + replenish(); + } + } + }); + } + })(); + }; + + + var doParallel = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.forEach].concat(args)); + }; + }; + var doSeries = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.forEachSeries].concat(args)); + }; + }; + + + var _asyncMap = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (err, v) { + results[x.index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + }; + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.reduce = function (arr, memo, iterator, callback) { + async.forEachSeries(arr, function (x, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err, memo); + }); + }; + // inject alias + async.inject = async.reduce; + // foldl alias + async.foldl = async.reduce; + + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + // foldr alias + async.foldr = async.reduceRight; + + var _filter = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.filter = doParallel(_filter); + async.filterSeries = doSeries(_filter); + // select alias + async.select = async.filter; + async.selectSeries = async.filterSeries; + + var _reject = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + var _detect = function (eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = function () {}; + } + else { + callback(); + } + }); + }, function (err) { + main_callback(); + }); + }; + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.some = function (arr, iterator, main_callback) { + async.forEach(arr, function (x, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(false); + }); + }; + // any alias + async.any = async.some; + + async.every = function (arr, iterator, main_callback) { + async.forEach(arr, function (x, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(true); + }); + }; + // all alias + async.all = async.every; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + if (err) { + callback(err); + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + if (err) { + return callback(err); + } + else { + var fn = function (left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }; + callback(null, _map(results.sort(fn), function (x) { + return x.value; + })); + } + }); + }; + + async.auto = function (tasks, callback) { + callback = callback || function () {}; + var keys = _keys(tasks); + if (!keys.length) { + return callback(null); + } + + var results = {}; + + var listeners = []; + var addListener = function (fn) { + listeners.unshift(fn); + }; + var removeListener = function (fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + }; + var taskComplete = function () { + _forEach(listeners.slice(0), function (fn) { + fn(); + }); + }; + + addListener(function () { + if (_keys(results).length === keys.length) { + callback(null, results); + callback = function () {}; + } + }); + + _forEach(keys, function (k) { + var task = (tasks[k] instanceof Function) ? [tasks[k]]: tasks[k]; + var taskCallback = function (err) { + if (err) { + callback(err); + // stop subsequent errors hitting callback multiple times + callback = function () {}; + } + else { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + taskComplete(); + } + }; + var requires = task.slice(0, Math.abs(task.length - 1)) || []; + var ready = function () { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + }; + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + var listener = function () { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + }; + addListener(listener); + } + }); + }; + + async.waterfall = function (tasks, callback) { + callback = callback || function () {}; + if (!tasks.length) { + return callback(); + } + var wrapIterator = function (iterator) { + return function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + var args = Array.prototype.slice.call(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + async.nextTick(function () { + iterator.apply(null, args); + }); + } + }; + }; + wrapIterator(async.iterator(tasks))(); + }; + + async.parallel = function (tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor === Array) { + async.map(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.forEach(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.series = function (tasks, callback) { + callback = callback || function () {}; + if (tasks.constructor === Array) { + async.mapSeries(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.forEachSeries(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.iterator = function (tasks) { + var makeCallback = function (index) { + var fn = function () { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + }; + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + }; + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + return function () { + return fn.apply( + null, args.concat(Array.prototype.slice.call(arguments)) + ); + }; + }; + + var _concat = function (eachfn, arr, fn, callback) { + var r = []; + eachfn(arr, function (x, cb) { + fn(x, function (err, y) { + r = r.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, r); + }); + }; + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.until(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.queue = function (worker, concurrency) { + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: null, + empty: null, + drain: null, + push: function (data, callback) { + if(data.constructor !== Array) { + data = [data]; + } + _forEach(data, function(task) { + q.tasks.push({ + data: task, + callback: typeof callback === 'function' ? callback : null + }); + if (q.saturated && q.tasks.length == concurrency) { + q.saturated(); + } + async.nextTick(q.process); + }); + }, + process: function () { + if (workers < q.concurrency && q.tasks.length) { + var task = q.tasks.shift(); + if(q.empty && q.tasks.length == 0) q.empty(); + workers += 1; + worker(task.data, function () { + workers -= 1; + if (task.callback) { + task.callback.apply(task, arguments); + } + if(q.drain && q.tasks.length + workers == 0) q.drain(); + q.process(); + }); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + } + }; + return q; + }; + + var _console_fn = function (name) { + return function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (typeof console !== 'undefined') { + if (err) { + if (console.error) { + console.error(err); + } + } + else if (console[name]) { + _forEach(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + }; + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + var memoized = function () { + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + callback.apply(null, memo[key]); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = arguments; + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + }; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + +}()); diff --git a/static/js/node_modules/grunt/node_modules/async/package.json b/static/js/node_modules/grunt/node_modules/async/package.json new file mode 100644 index 0000000..671c9dc --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/async/package.json @@ -0,0 +1,32 @@ +{ + "name": "async", + "description": "Higher-order functions and common patterns for asynchronous code", + "main": "./index", + "author": { + "name": "Caolan McMahon" + }, + "version": "0.1.22", + "repository": { + "type": "git", + "url": "http://github.com/caolan/async.git" + }, + "bugs": { + "url": "http://github.com/caolan/async/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/caolan/async/raw/master/LICENSE" + } + ], + "devDependencies": { + "nodeunit": ">0.0.0", + "uglify-js": "1.2.x", + "nodelint": ">0.0.0" + }, + "readme": "# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser.\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, forEach…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n async.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n async.filter(['file1','file2','file3'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n async.parallel([\n function(){ ... },\n function(){ ... }\n ], callback);\n\n async.series([\n function(){ ... },\n function(){ ... }\n ]);\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n\n## Download\n\nReleases are available for download from\n[GitHub](http://github.com/caolan/async/downloads).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed\n\n__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped\n\n\n## In the Browser\n\nSo far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n \n \n\n\n## Documentation\n\n### Collections\n\n* [forEach](#forEach)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [until](#until)\n* [waterfall](#waterfall)\n* [queue](#queue)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n\n### forEach(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the forEach function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n // assuming openFiles is an array of file names and saveFile is a function\n // to save the modified contents of that file:\n\n async.forEach(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n\n---------------------------------------\n\n\n### forEachSeries(arr, iterator, callback)\n\nThe same as forEach only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n\n### forEachLimit(arr, limit, iterator, callback)\n\nThe same as forEach only the iterator is applied to batches of items in the\narray, in series. The next batch of iterators is only called once the current\none has completed processing.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - How many items should be in each batch.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n // Assume documents is an array of JSON objects and requestApi is a\n // function that interacts with a rate-limited REST api.\n\n async.forEachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n---------------------------------------\n\n\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n async.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n---------------------------------------\n\n\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n async.filter(['file1','file2','file3'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n---------------------------------------\n\n\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n\n### rejectSeries(arr, iterator, callback)\n\nThe same as filter, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then its probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback which accepts an optional error as its first argument, and the state\n of the reduction as the second. If an error is passed to the callback, the\n reduction is stopped and the main callback is immediately called with the\n error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n async.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n }, function(err, result){\n // result is now equal to the last value of memo, which is 6\n });\n\n---------------------------------------\n\n\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n async.detect(['file1','file2','file3'], path.exists, function(result){\n // result now equals the first file in the list that exists\n });\n\n---------------------------------------\n\n\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and a value to use as the sort criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n async.sortBy(['file1','file2','file3'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n }, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n });\n\n\n---------------------------------------\n\n\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n async.some(['file1','file2','file3'], path.exists, function(result){\n // if result is true then at least one of the files exists\n });\n\n---------------------------------------\n\n\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n async.every(['file1','file2','file3'], path.exists, function(result){\n // if result is true then every file exists\n });\n\n---------------------------------------\n\n\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n });\n\n---------------------------------------\n\n\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.series([\n function(callback){\n // do some stuff ...\n callback(null, 'one');\n },\n function(callback){\n // do some more stuff ...\n callback(null, 'two');\n },\n ],\n // optional callback\n function(err, results){\n // results is now equal to ['one', 'two']\n });\n\n\n // an example using an object instead of an array\n async.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n },\n },\n function(err, results) {\n // results is now equal to: {one: 1, two: 2}\n });\n\n\n---------------------------------------\n\n\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed a\n callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, 'one');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, 'two');\n }, 100);\n },\n ],\n // optional callback\n function(err, results){\n // the results array will equal ['one','two'] even though\n // the second function had a shorter timeout.\n });\n\n\n // an example using an object instead of an array\n async.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n },\n },\n function(err, results) {\n // results is now equals to: {one: 1, two: 2}\n });\n\n\n---------------------------------------\n\n\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback which must be called once it has completed with an optional\n error as the first argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n var count = 0;\n\n async.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n );\n\n\n---------------------------------------\n\n\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n\n---------------------------------------\n\n\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n must call on completion.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n async.waterfall([\n function(callback){\n callback(null, 'one', 'two');\n },\n function(arg1, arg2, callback){\n callback(null, 'three');\n },\n function(arg1, callback){\n // arg1 now equals 'three'\n callback(null, 'done');\n }\n ], function (err, result) {\n // result now equals 'done' \n });\n\n\n---------------------------------------\n\n\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n // create a queue object with concurrency 2\n\n var q = async.queue(function (task, callback) {\n console.log('hello ' + task.name);\n callback();\n }, 2);\n\n\n // assign a callback\n q.drain = function() {\n console.log('all items have been processed');\n }\n\n // add some items to the queue\n\n q.push({name: 'foo'}, function (err) {\n console.log('finished processing foo');\n });\n q.push({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n });\n\n // add some items to the queue (batch-wise)\n\n q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n console.log('finished processing bar');\n });\n\n\n---------------------------------------\n\n\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The\n syntax is easier to understand by looking at the example.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. If all tasks complete\n successfully, it will receive an object containing their results.\n\n__Example__\n\n async.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: ['get_data', 'make_folder', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: ['write_file', function(callback, results){\n // once the file is written let's email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n });\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n async.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n ],\n function(results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n email_link: function(callback){\n // once the file is written let's email a link to it...\n }\n ]);\n });\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. Its also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n must call on completion.\n\n__Example__\n\n var iterator = async.iterator([\n function(){ sys.p('one'); },\n function(){ sys.p('two'); },\n function(){ sys.p('three'); }\n ]);\n\n node> var iterator2 = iterator();\n 'one'\n node> var iterator3 = iterator2();\n 'two'\n node> iterator3();\n 'three'\n node> var nextfn = iterator2.next();\n node> nextfn();\n 'three'\n\n\n---------------------------------------\n\n\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n // using apply\n\n async.parallel([\n async.apply(fs.writeFile, 'testfile1', 'test1'),\n async.apply(fs.writeFile, 'testfile2', 'test2'),\n ]);\n\n\n // the same process without using apply\n\n async.parallel([\n function(callback){\n fs.writeFile('testfile1', 'test1', callback);\n },\n function(callback){\n fs.writeFile('testfile2', 'test2', callback);\n },\n ]);\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n node> var fn = async.apply(sys.puts, 'one');\n node> fn('two', 'three');\n one\n two\n three\n\n---------------------------------------\n\n\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setTimeout(callback, 0),\nwhich means other higher priority events may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n var call_order = [];\n async.nextTick(function(){\n call_order.push('two');\n // call_order now equals ['one','two]\n });\n call_order.push('one')\n\n\n## Utils\n\n\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n var slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n };\n var fn = async.memoize(slow_fn);\n\n // fn can now be used as if it were slow_fn\n fn('some name', function () {\n // callback\n });\n\n\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n var hello = function(name, callback){\n setTimeout(function(){\n callback(null, 'hello ' + name);\n }, 1000);\n };\n\n node> async.log(hello, 'world');\n 'hello world'\n\n\n---------------------------------------\n\n\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n var hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n };\n\n node> async.dir(hello, 'world');\n {hello: 'world'}\n\n\n---------------------------------------\n\n\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n", + "readmeFilename": "README.md", + "homepage": "https://github.com/caolan/async", + "_id": "async@0.1.22", + "_from": "async@~0.1.22" +} diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/.npmignore b/static/js/node_modules/grunt/node_modules/coffee-script/.npmignore new file mode 100644 index 0000000..21e430d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/.npmignore @@ -0,0 +1,11 @@ +*.coffee +*.html +.DS_Store +.git* +Cakefile +documentation/ +examples/ +extras/coffee-script.js +raw/ +src/ +test/ diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/CNAME b/static/js/node_modules/grunt/node_modules/coffee-script/CNAME new file mode 100644 index 0000000..faadabe --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/CNAME @@ -0,0 +1 @@ +coffeescript.org \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/LICENSE b/static/js/node_modules/grunt/node_modules/coffee-script/LICENSE new file mode 100644 index 0000000..dbe6b4e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2009-2012 Jeremy Ashkenas + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/README b/static/js/node_modules/grunt/node_modules/coffee-script/README new file mode 100644 index 0000000..69ee6f4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/README @@ -0,0 +1,51 @@ + + { + } } { + { { } } + } }{ { + { }{ } } _____ __ __ + ( }{ }{ { ) / ____| / _|/ _| + .- { { } { }} -. | | ___ | |_| |_ ___ ___ + ( ( } { } { } } ) | | / _ \| _| _/ _ \/ _ \ + |`-..________ ..-'| | |___| (_) | | | || __/ __/ + | | \_____\___/|_| |_| \___|\___| + | ;--. + | (__ \ _____ _ _ + | | ) ) / ____| (_) | | + | |/ / | (___ ___ _ __ _ _ __ | |_ + | ( / \___ \ / __| '__| | '_ \| __| + | |/ ____) | (__| | | | |_) | |_ + | | |_____/ \___|_| |_| .__/ \__| + `-.._________..-' | | + |_| + + + CoffeeScript is a little language that compiles into JavaScript. + + Install Node.js, and then the CoffeeScript compiler: + sudo bin/cake install + + Or, if you have the Node Package Manager installed: + npm install -g coffee-script + (Leave off the -g if you don't wish to install globally.) + + Execute a script: + coffee /path/to/script.coffee + + Compile a script: + coffee -c /path/to/script.coffee + + For documentation, usage, and examples, see: + http://coffeescript.org/ + + To suggest a feature, report a bug, or general discussion: + http://github.com/jashkenas/coffee-script/issues/ + + If you'd like to chat, drop by #coffeescript on Freenode IRC, + or on webchat.freenode.net. + + The source repository: + git://github.com/jashkenas/coffee-script.git + + All contributors are listed here: + http://github.com/jashkenas/coffee-script/contributors diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/Rakefile b/static/js/node_modules/grunt/node_modules/coffee-script/Rakefile new file mode 100644 index 0000000..dfb85da --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/Rakefile @@ -0,0 +1,78 @@ +require 'rubygems' +require 'erb' +require 'fileutils' +require 'rake/testtask' +require 'json' + +desc "Build the documentation page" +task :doc do + source = 'documentation/index.html.erb' + child = fork { exec "bin/coffee -bcw -o documentation/js documentation/coffee/*.coffee" } + at_exit { Process.kill("INT", child) } + Signal.trap("INT") { exit } + loop do + mtime = File.stat(source).mtime + if !@mtime || mtime > @mtime + rendered = ERB.new(File.read(source)).result(binding) + File.open('index.html', 'w+') {|f| f.write(rendered) } + end + @mtime = mtime + sleep 1 + end +end + +desc "Build coffee-script-source gem" +task :gem do + require 'rubygems' + require 'rubygems/package' + + gemspec = Gem::Specification.new do |s| + s.name = 'coffee-script-source' + s.version = JSON.parse(File.read('package.json'))["version"] + s.date = Time.now.strftime("%Y-%m-%d") + + s.homepage = "http://jashkenas.github.com/coffee-script/" + s.summary = "The CoffeeScript Compiler" + s.description = <<-EOS + CoffeeScript is a little language that compiles into JavaScript. + Underneath all of those embarrassing braces and semicolons, + JavaScript has always had a gorgeous object model at its heart. + CoffeeScript is an attempt to expose the good parts of JavaScript + in a simple way. + EOS + + s.files = [ + 'lib/coffee_script/coffee-script.js', + 'lib/coffee_script/source.rb' + ] + + s.authors = ['Jeremy Ashkenas'] + s.email = 'jashkenas@gmail.com' + s.rubyforge_project = 'coffee-script-source' + end + + file = File.open("coffee-script-source.gem", "w") + Gem::Package.open(file, 'w') do |pkg| + pkg.metadata = gemspec.to_yaml + + path = "lib/coffee_script/source.rb" + contents = <<-ERUBY +module CoffeeScript + module Source + def self.bundled_path + File.expand_path("../coffee-script.js", __FILE__) + end + end +end + ERUBY + pkg.add_file_simple(path, 0644, contents.size) do |tar_io| + tar_io.write(contents) + end + + contents = File.read("extras/coffee-script.js") + path = "lib/coffee_script/coffee-script.js" + pkg.add_file_simple(path, 0644, contents.size) do |tar_io| + tar_io.write(contents) + end + end +end diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/bin/cake b/static/js/node_modules/grunt/node_modules/coffee-script/bin/cake new file mode 100644 index 0000000..5965f4e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/bin/cake @@ -0,0 +1,7 @@ +#!/usr/bin/env node + +var path = require('path'); +var fs = require('fs'); +var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); + +require(lib + '/coffee-script/cake').run(); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/bin/coffee b/static/js/node_modules/grunt/node_modules/coffee-script/bin/coffee new file mode 100644 index 0000000..3d1d71c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/bin/coffee @@ -0,0 +1,7 @@ +#!/usr/bin/env node + +var path = require('path'); +var fs = require('fs'); +var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); + +require(lib + '/coffee-script/command').run(); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/extras/jsl.conf b/static/js/node_modules/grunt/node_modules/coffee-script/extras/jsl.conf new file mode 100644 index 0000000..1190da5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/extras/jsl.conf @@ -0,0 +1,44 @@ +# JavaScriptLint configuration file for CoffeeScript. + ++no_return_value # function {0} does not always return a value ++duplicate_formal # duplicate formal argument {0} +-equal_as_assign # test for equality (==) mistyped as assignment (=)?{0} ++var_hides_arg # variable {0} hides argument ++redeclared_var # redeclaration of {0} {1} +-anon_no_return_value # anonymous function does not always return a value ++missing_semicolon # missing semicolon ++meaningless_block # meaningless block; curly braces have no impact +-comma_separated_stmts # multiple statements separated by commas (use semicolons?) ++unreachable_code # unreachable code ++missing_break # missing break statement +-missing_break_for_last_case # missing break statement for last case in switch +-comparison_type_conv # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==) +-inc_dec_within_stmt # increment (++) and decrement (--) operators used as part of greater statement +-useless_void # use of the void type may be unnecessary (void is always undefined) ++multiple_plus_minus # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs ++use_of_label # use of label +-block_without_braces # block statement without curly braces ++leading_decimal_point # leading decimal point may indicate a number or an object member ++trailing_decimal_point # trailing decimal point may indicate a number or an object member ++octal_number # leading zeros make an octal number ++nested_comment # nested comment ++misplaced_regex # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma ++ambiguous_newline # unexpected end of line; it is ambiguous whether these lines are part of the same statement ++empty_statement # empty statement or extra semicolon +-missing_option_explicit # the "option explicit" control comment is missing ++partial_option_explicit # the "option explicit" control comment, if used, must be in the first script tag ++dup_option_explicit # duplicate "option explicit" control comment ++useless_assign # useless assignment ++ambiguous_nested_stmt # block statements containing block statements should use curly braces to resolve ambiguity ++ambiguous_else_stmt # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent) +-missing_default_case # missing default case in switch statement ++duplicate_case_in_switch # duplicate case in switch statements ++default_not_at_end # the default case is not at the end of the switch statement ++legacy_cc_not_understood # couldn't understand control comment using /*@keyword@*/ syntax ++jsl_cc_not_understood # couldn't understand control comment using /*jsl:keyword*/ syntax ++useless_comparison # useless comparison; comparing identical expressions ++with_statement # with statement hides undeclared variables; use temporary variable instead ++trailing_comma_in_array # extra comma is not recommended in array initializers ++assign_to_function_call # assignment to a function call ++parseint_missing_radix # parseInt missing radix parameter ++lambda_assign_requires_semicolon diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js new file mode 100644 index 0000000..825cbf3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js @@ -0,0 +1,92 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var CoffeeScript, runScripts; + + CoffeeScript = require('./coffee-script'); + + CoffeeScript.require = require; + + CoffeeScript["eval"] = function(code, options) { + var _ref; + if (options == null) { + options = {}; + } + if ((_ref = options.bare) == null) { + options.bare = true; + } + return eval(CoffeeScript.compile(code, options)); + }; + + CoffeeScript.run = function(code, options) { + if (options == null) { + options = {}; + } + options.bare = true; + return Function(CoffeeScript.compile(code, options))(); + }; + + if (typeof window === "undefined" || window === null) { + return; + } + + CoffeeScript.load = function(url, callback) { + var xhr; + xhr = new (window.ActiveXObject || XMLHttpRequest)('Microsoft.XMLHTTP'); + xhr.open('GET', url, true); + if ('overrideMimeType' in xhr) { + xhr.overrideMimeType('text/plain'); + } + xhr.onreadystatechange = function() { + var _ref; + if (xhr.readyState === 4) { + if ((_ref = xhr.status) === 0 || _ref === 200) { + CoffeeScript.run(xhr.responseText); + } else { + throw new Error("Could not load " + url); + } + if (callback) { + return callback(); + } + } + }; + return xhr.send(null); + }; + + runScripts = function() { + var coffees, execute, index, length, s, scripts; + scripts = document.getElementsByTagName('script'); + coffees = (function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = scripts.length; _i < _len; _i++) { + s = scripts[_i]; + if (s.type === 'text/coffeescript') { + _results.push(s); + } + } + return _results; + })(); + index = 0; + length = coffees.length; + (execute = function() { + var script; + script = coffees[index++]; + if ((script != null ? script.type : void 0) === 'text/coffeescript') { + if (script.src) { + return CoffeeScript.load(script.src, execute); + } else { + CoffeeScript.run(script.innerHTML); + return execute(); + } + } + })(); + return null; + }; + + if (window.addEventListener) { + addEventListener('DOMContentLoaded', runScripts, false); + } else { + attachEvent('onload', runScripts); + } + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js new file mode 100644 index 0000000..1523418 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js @@ -0,0 +1,111 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var CoffeeScript, cakefileDirectory, fatalError, fs, helpers, missingTask, oparse, options, optparse, path, printTasks, switches, tasks; + + fs = require('fs'); + + path = require('path'); + + helpers = require('./helpers'); + + optparse = require('./optparse'); + + CoffeeScript = require('./coffee-script'); + + tasks = {}; + + options = {}; + + switches = []; + + oparse = null; + + helpers.extend(global, { + task: function(name, description, action) { + var _ref; + if (!action) { + _ref = [description, action], action = _ref[0], description = _ref[1]; + } + return tasks[name] = { + name: name, + description: description, + action: action + }; + }, + option: function(letter, flag, description) { + return switches.push([letter, flag, description]); + }, + invoke: function(name) { + if (!tasks[name]) { + missingTask(name); + } + return tasks[name].action(options); + } + }); + + exports.run = function() { + var arg, args, _i, _len, _ref, _results; + global.__originalDirname = fs.realpathSync('.'); + process.chdir(cakefileDirectory(__originalDirname)); + args = process.argv.slice(2); + CoffeeScript.run(fs.readFileSync('Cakefile').toString(), { + filename: 'Cakefile' + }); + oparse = new optparse.OptionParser(switches); + if (!args.length) { + return printTasks(); + } + try { + options = oparse.parse(args); + } catch (e) { + return fatalError("" + e); + } + _ref = options["arguments"]; + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + arg = _ref[_i]; + _results.push(invoke(arg)); + } + return _results; + }; + + printTasks = function() { + var cakefilePath, desc, name, relative, spaces, task; + relative = path.relative || path.resolve; + cakefilePath = path.join(relative(__originalDirname, process.cwd()), 'Cakefile'); + console.log("" + cakefilePath + " defines the following tasks:\n"); + for (name in tasks) { + task = tasks[name]; + spaces = 20 - name.length; + spaces = spaces > 0 ? Array(spaces + 1).join(' ') : ''; + desc = task.description ? "# " + task.description : ''; + console.log("cake " + name + spaces + " " + desc); + } + if (switches.length) { + return console.log(oparse.help()); + } + }; + + fatalError = function(message) { + console.error(message + '\n'); + console.log('To see a list of all tasks/options, run "cake"'); + return process.exit(1); + }; + + missingTask = function(task) { + return fatalError("No such task: " + task); + }; + + cakefileDirectory = function(dir) { + var parent; + if (path.existsSync(path.join(dir, 'Cakefile'))) { + return dir; + } + parent = path.normalize(path.join(dir, '..')); + if (parent !== dir) { + return cakefileDirectory(parent); + } + throw new Error("Cakefile not found in " + (process.cwd())); + }; + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js new file mode 100644 index 0000000..c43fa49 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js @@ -0,0 +1,167 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var Lexer, RESERVED, compile, fs, lexer, parser, path, vm, _ref, + __hasProp = {}.hasOwnProperty; + + fs = require('fs'); + + path = require('path'); + + _ref = require('./lexer'), Lexer = _ref.Lexer, RESERVED = _ref.RESERVED; + + parser = require('./parser').parser; + + vm = require('vm'); + + if (require.extensions) { + require.extensions['.coffee'] = function(module, filename) { + var content; + content = compile(fs.readFileSync(filename, 'utf8'), { + filename: filename + }); + return module._compile(content, filename); + }; + } else if (require.registerExtension) { + require.registerExtension('.coffee', function(content) { + return compile(content); + }); + } + + exports.VERSION = '1.3.3'; + + exports.RESERVED = RESERVED; + + exports.helpers = require('./helpers'); + + exports.compile = compile = function(code, options) { + var header, js, merge; + if (options == null) { + options = {}; + } + merge = exports.helpers.merge; + try { + js = (parser.parse(lexer.tokenize(code))).compile(options); + if (!options.header) { + return js; + } + } catch (err) { + if (options.filename) { + err.message = "In " + options.filename + ", " + err.message; + } + throw err; + } + header = "Generated by CoffeeScript " + this.VERSION; + return "// " + header + "\n" + js; + }; + + exports.tokens = function(code, options) { + return lexer.tokenize(code, options); + }; + + exports.nodes = function(source, options) { + if (typeof source === 'string') { + return parser.parse(lexer.tokenize(source, options)); + } else { + return parser.parse(source); + } + }; + + exports.run = function(code, options) { + var mainModule; + if (options == null) { + options = {}; + } + mainModule = require.main; + mainModule.filename = process.argv[1] = options.filename ? fs.realpathSync(options.filename) : '.'; + mainModule.moduleCache && (mainModule.moduleCache = {}); + mainModule.paths = require('module')._nodeModulePaths(path.dirname(fs.realpathSync(options.filename))); + if (path.extname(mainModule.filename) !== '.coffee' || require.extensions) { + return mainModule._compile(compile(code, options), mainModule.filename); + } else { + return mainModule._compile(code, mainModule.filename); + } + }; + + exports["eval"] = function(code, options) { + var Module, Script, js, k, o, r, sandbox, v, _i, _len, _module, _ref1, _ref2, _require; + if (options == null) { + options = {}; + } + if (!(code = code.trim())) { + return; + } + Script = vm.Script; + if (Script) { + if (options.sandbox != null) { + if (options.sandbox instanceof Script.createContext().constructor) { + sandbox = options.sandbox; + } else { + sandbox = Script.createContext(); + _ref1 = options.sandbox; + for (k in _ref1) { + if (!__hasProp.call(_ref1, k)) continue; + v = _ref1[k]; + sandbox[k] = v; + } + } + sandbox.global = sandbox.root = sandbox.GLOBAL = sandbox; + } else { + sandbox = global; + } + sandbox.__filename = options.filename || 'eval'; + sandbox.__dirname = path.dirname(sandbox.__filename); + if (!(sandbox !== global || sandbox.module || sandbox.require)) { + Module = require('module'); + sandbox.module = _module = new Module(options.modulename || 'eval'); + sandbox.require = _require = function(path) { + return Module._load(path, _module, true); + }; + _module.filename = sandbox.__filename; + _ref2 = Object.getOwnPropertyNames(require); + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + r = _ref2[_i]; + if (r !== 'paths') { + _require[r] = require[r]; + } + } + _require.paths = _module.paths = Module._nodeModulePaths(process.cwd()); + _require.resolve = function(request) { + return Module._resolveFilename(request, _module); + }; + } + } + o = {}; + for (k in options) { + if (!__hasProp.call(options, k)) continue; + v = options[k]; + o[k] = v; + } + o.bare = true; + js = compile(code, o); + if (sandbox === global) { + return vm.runInThisContext(js); + } else { + return vm.runInContext(js, sandbox); + } + }; + + lexer = new Lexer; + + parser.lexer = { + lex: function() { + var tag, _ref1; + _ref1 = this.tokens[this.pos++] || [''], tag = _ref1[0], this.yytext = _ref1[1], this.yylineno = _ref1[2]; + return tag; + }, + setInput: function(tokens) { + this.tokens = tokens; + return this.pos = 0; + }, + upcomingInput: function() { + return ""; + } + }; + + parser.yy = require('./nodes'); + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js new file mode 100644 index 0000000..e02da9f --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js @@ -0,0 +1,500 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compilePath, compileScript, compileStdio, exec, forkNode, fs, helpers, hidden, joinTimeout, lint, loadRequires, notSources, optionParser, optparse, opts, outputPath, parseOptions, path, printLine, printTokens, printWarn, removeSource, sourceCode, sources, spawn, timeLog, unwatchDir, usage, version, wait, watch, watchDir, watchers, writeJs, _ref; + + fs = require('fs'); + + path = require('path'); + + helpers = require('./helpers'); + + optparse = require('./optparse'); + + CoffeeScript = require('./coffee-script'); + + _ref = require('child_process'), spawn = _ref.spawn, exec = _ref.exec; + + EventEmitter = require('events').EventEmitter; + + helpers.extend(CoffeeScript, new EventEmitter); + + printLine = function(line) { + return process.stdout.write(line + '\n'); + }; + + printWarn = function(line) { + return process.stderr.write(line + '\n'); + }; + + hidden = function(file) { + return /^\.|~$/.test(file); + }; + + BANNER = 'Usage: coffee [options] path/to/script.coffee -- [args]\n\nIf called without options, `coffee` will run your script.'; + + SWITCHES = [['-b', '--bare', 'compile without a top-level function wrapper'], ['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-e', '--eval', 'pass a string from the command line as input'], ['-h', '--help', 'display this help message'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-j', '--join [FILE]', 'concatenate the source CoffeeScript before compiling'], ['-l', '--lint', 'pipe the compiled JavaScript through JavaScript Lint'], ['-n', '--nodes', 'print out the parse tree that the parser produces'], ['--nodejs [ARGS]', 'pass options directly to the "node" binary'], ['-o', '--output [DIR]', 'set the output directory for compiled JavaScript'], ['-p', '--print', 'print out the compiled JavaScript'], ['-r', '--require [FILE*]', 'require a library before executing your script'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'], ['-v', '--version', 'display the version number'], ['-w', '--watch', 'watch scripts for changes and rerun commands']]; + + opts = {}; + + sources = []; + + sourceCode = []; + + notSources = {}; + + watchers = {}; + + optionParser = null; + + exports.run = function() { + var literals, source, _i, _len, _results; + parseOptions(); + if (opts.nodejs) { + return forkNode(); + } + if (opts.help) { + return usage(); + } + if (opts.version) { + return version(); + } + if (opts.require) { + loadRequires(); + } + if (opts.interactive) { + return require('./repl'); + } + if (opts.watch && !fs.watch) { + return printWarn("The --watch feature depends on Node v0.6.0+. You are running " + process.version + "."); + } + if (opts.stdio) { + return compileStdio(); + } + if (opts["eval"]) { + return compileScript(null, sources[0]); + } + if (!sources.length) { + return require('./repl'); + } + literals = opts.run ? sources.splice(1) : []; + process.argv = process.argv.slice(0, 2).concat(literals); + process.argv[0] = 'coffee'; + process.execPath = require.main.filename; + _results = []; + for (_i = 0, _len = sources.length; _i < _len; _i++) { + source = sources[_i]; + _results.push(compilePath(source, true, path.normalize(source))); + } + return _results; + }; + + compilePath = function(source, topLevel, base) { + return fs.stat(source, function(err, stats) { + if (err && err.code !== 'ENOENT') { + throw err; + } + if ((err != null ? err.code : void 0) === 'ENOENT') { + if (topLevel && source.slice(-7) !== '.coffee') { + source = sources[sources.indexOf(source)] = "" + source + ".coffee"; + return compilePath(source, topLevel, base); + } + if (topLevel) { + console.error("File not found: " + source); + process.exit(1); + } + return; + } + if (stats.isDirectory()) { + if (opts.watch) { + watchDir(source, base); + } + return fs.readdir(source, function(err, files) { + var file, index, _ref1, _ref2; + if (err && err.code !== 'ENOENT') { + throw err; + } + if ((err != null ? err.code : void 0) === 'ENOENT') { + return; + } + index = sources.indexOf(source); + files = files.filter(function(file) { + return !hidden(file); + }); + [].splice.apply(sources, [index, index - index + 1].concat(_ref1 = (function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = files.length; _i < _len; _i++) { + file = files[_i]; + _results.push(path.join(source, file)); + } + return _results; + })())), _ref1; + [].splice.apply(sourceCode, [index, index - index + 1].concat(_ref2 = files.map(function() { + return null; + }))), _ref2; + return files.forEach(function(file) { + return compilePath(path.join(source, file), false, base); + }); + }); + } else if (topLevel || path.extname(source) === '.coffee') { + if (opts.watch) { + watch(source, base); + } + return fs.readFile(source, function(err, code) { + if (err && err.code !== 'ENOENT') { + throw err; + } + if ((err != null ? err.code : void 0) === 'ENOENT') { + return; + } + return compileScript(source, code.toString(), base); + }); + } else { + notSources[source] = true; + return removeSource(source, base); + } + }); + }; + + compileScript = function(file, input, base) { + var o, options, t, task; + o = opts; + options = compileOptions(file); + try { + t = task = { + file: file, + input: input, + options: options + }; + CoffeeScript.emit('compile', task); + if (o.tokens) { + return printTokens(CoffeeScript.tokens(t.input)); + } else if (o.nodes) { + return printLine(CoffeeScript.nodes(t.input).toString().trim()); + } else if (o.run) { + return CoffeeScript.run(t.input, t.options); + } else if (o.join && t.file !== o.join) { + sourceCode[sources.indexOf(t.file)] = t.input; + return compileJoin(); + } else { + t.output = CoffeeScript.compile(t.input, t.options); + CoffeeScript.emit('success', task); + if (o.print) { + return printLine(t.output.trim()); + } else if (o.compile) { + return writeJs(t.file, t.output, base); + } else if (o.lint) { + return lint(t.file, t.output); + } + } + } catch (err) { + CoffeeScript.emit('failure', err, task); + if (CoffeeScript.listeners('failure').length) { + return; + } + if (o.watch) { + return printLine(err.message + '\x07'); + } + printWarn(err instanceof Error && err.stack || ("ERROR: " + err)); + return process.exit(1); + } + }; + + compileStdio = function() { + var code, stdin; + code = ''; + stdin = process.openStdin(); + stdin.on('data', function(buffer) { + if (buffer) { + return code += buffer.toString(); + } + }); + return stdin.on('end', function() { + return compileScript(null, code); + }); + }; + + joinTimeout = null; + + compileJoin = function() { + if (!opts.join) { + return; + } + if (!sourceCode.some(function(code) { + return code === null; + })) { + clearTimeout(joinTimeout); + return joinTimeout = wait(100, function() { + return compileScript(opts.join, sourceCode.join('\n'), opts.join); + }); + } + }; + + loadRequires = function() { + var realFilename, req, _i, _len, _ref1; + realFilename = module.filename; + module.filename = '.'; + _ref1 = opts.require; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + req = _ref1[_i]; + require(req); + } + return module.filename = realFilename; + }; + + watch = function(source, base) { + var compile, compileTimeout, prevStats, rewatch, watchErr, watcher; + prevStats = null; + compileTimeout = null; + watchErr = function(e) { + if (e.code === 'ENOENT') { + if (sources.indexOf(source) === -1) { + return; + } + try { + rewatch(); + return compile(); + } catch (e) { + removeSource(source, base, true); + return compileJoin(); + } + } else { + throw e; + } + }; + compile = function() { + clearTimeout(compileTimeout); + return compileTimeout = wait(25, function() { + return fs.stat(source, function(err, stats) { + if (err) { + return watchErr(err); + } + if (prevStats && stats.size === prevStats.size && stats.mtime.getTime() === prevStats.mtime.getTime()) { + return rewatch(); + } + prevStats = stats; + return fs.readFile(source, function(err, code) { + if (err) { + return watchErr(err); + } + compileScript(source, code.toString(), base); + return rewatch(); + }); + }); + }); + }; + try { + watcher = fs.watch(source, compile); + } catch (e) { + watchErr(e); + } + return rewatch = function() { + if (watcher != null) { + watcher.close(); + } + return watcher = fs.watch(source, compile); + }; + }; + + watchDir = function(source, base) { + var readdirTimeout, watcher; + readdirTimeout = null; + try { + return watcher = fs.watch(source, function() { + clearTimeout(readdirTimeout); + return readdirTimeout = wait(25, function() { + return fs.readdir(source, function(err, files) { + var file, _i, _len, _results; + if (err) { + if (err.code !== 'ENOENT') { + throw err; + } + watcher.close(); + return unwatchDir(source, base); + } + _results = []; + for (_i = 0, _len = files.length; _i < _len; _i++) { + file = files[_i]; + if (!(!hidden(file) && !notSources[file])) { + continue; + } + file = path.join(source, file); + if (sources.some(function(s) { + return s.indexOf(file) >= 0; + })) { + continue; + } + sources.push(file); + sourceCode.push(null); + _results.push(compilePath(file, false, base)); + } + return _results; + }); + }); + }); + } catch (e) { + if (e.code !== 'ENOENT') { + throw e; + } + } + }; + + unwatchDir = function(source, base) { + var file, prevSources, toRemove, _i, _len; + prevSources = sources.slice(0); + toRemove = (function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = sources.length; _i < _len; _i++) { + file = sources[_i]; + if (file.indexOf(source) >= 0) { + _results.push(file); + } + } + return _results; + })(); + for (_i = 0, _len = toRemove.length; _i < _len; _i++) { + file = toRemove[_i]; + removeSource(file, base, true); + } + if (!sources.some(function(s, i) { + return prevSources[i] !== s; + })) { + return; + } + return compileJoin(); + }; + + removeSource = function(source, base, removeJs) { + var index, jsPath; + index = sources.indexOf(source); + sources.splice(index, 1); + sourceCode.splice(index, 1); + if (removeJs && !opts.join) { + jsPath = outputPath(source, base); + return path.exists(jsPath, function(exists) { + if (exists) { + return fs.unlink(jsPath, function(err) { + if (err && err.code !== 'ENOENT') { + throw err; + } + return timeLog("removed " + source); + }); + } + }); + } + }; + + outputPath = function(source, base) { + var baseDir, dir, filename, srcDir; + filename = path.basename(source, path.extname(source)) + '.js'; + srcDir = path.dirname(source); + baseDir = base === '.' ? srcDir : srcDir.substring(base.length); + dir = opts.output ? path.join(opts.output, baseDir) : srcDir; + return path.join(dir, filename); + }; + + writeJs = function(source, js, base) { + var compile, jsDir, jsPath; + jsPath = outputPath(source, base); + jsDir = path.dirname(jsPath); + compile = function() { + if (js.length <= 0) { + js = ' '; + } + return fs.writeFile(jsPath, js, function(err) { + if (err) { + return printLine(err.message); + } else if (opts.compile && opts.watch) { + return timeLog("compiled " + source); + } + }); + }; + return path.exists(jsDir, function(exists) { + if (exists) { + return compile(); + } else { + return exec("mkdir -p " + jsDir, compile); + } + }); + }; + + wait = function(milliseconds, func) { + return setTimeout(func, milliseconds); + }; + + timeLog = function(message) { + return console.log("" + ((new Date).toLocaleTimeString()) + " - " + message); + }; + + lint = function(file, js) { + var conf, jsl, printIt; + printIt = function(buffer) { + return printLine(file + ':\t' + buffer.toString().trim()); + }; + conf = __dirname + '/../../extras/jsl.conf'; + jsl = spawn('jsl', ['-nologo', '-stdin', '-conf', conf]); + jsl.stdout.on('data', printIt); + jsl.stderr.on('data', printIt); + jsl.stdin.write(js); + return jsl.stdin.end(); + }; + + printTokens = function(tokens) { + var strings, tag, token, value; + strings = (function() { + var _i, _len, _ref1, _results; + _results = []; + for (_i = 0, _len = tokens.length; _i < _len; _i++) { + token = tokens[_i]; + _ref1 = [token[0], token[1].toString().replace(/\n/, '\\n')], tag = _ref1[0], value = _ref1[1]; + _results.push("[" + tag + " " + value + "]"); + } + return _results; + })(); + return printLine(strings.join(' ')); + }; + + parseOptions = function() { + var i, o, source, _i, _len; + optionParser = new optparse.OptionParser(SWITCHES, BANNER); + o = opts = optionParser.parse(process.argv.slice(2)); + o.compile || (o.compile = !!o.output); + o.run = !(o.compile || o.print || o.lint); + o.print = !!(o.print || (o["eval"] || o.stdio && o.compile)); + sources = o["arguments"]; + for (i = _i = 0, _len = sources.length; _i < _len; i = ++_i) { + source = sources[i]; + sourceCode[i] = null; + } + }; + + compileOptions = function(filename) { + return { + filename: filename, + bare: opts.bare, + header: opts.compile + }; + }; + + forkNode = function() { + var args, nodeArgs; + nodeArgs = opts.nodejs.split(/\s+/); + args = process.argv.slice(1); + args.splice(args.indexOf('--nodejs'), 2); + return spawn(process.execPath, nodeArgs.concat(args), { + cwd: process.cwd(), + env: process.env, + customFds: [0, 1, 2] + }); + }; + + usage = function() { + return printLine((new optparse.OptionParser(SWITCHES, BANNER)).help()); + }; + + version = function() { + return printLine("CoffeeScript version " + CoffeeScript.VERSION); + }; + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js new file mode 100644 index 0000000..5662138 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js @@ -0,0 +1,606 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var Parser, alt, alternatives, grammar, name, o, operators, token, tokens, unwrap; + + Parser = require('jison').Parser; + + unwrap = /^function\s*\(\)\s*\{\s*return\s*([\s\S]*);\s*\}/; + + o = function(patternString, action, options) { + var match; + patternString = patternString.replace(/\s{2,}/g, ' '); + if (!action) { + return [patternString, '$$ = $1;', options]; + } + action = (match = unwrap.exec(action)) ? match[1] : "(" + action + "())"; + action = action.replace(/\bnew /g, '$&yy.'); + action = action.replace(/\b(?:Block\.wrap|extend)\b/g, 'yy.$&'); + return [patternString, "$$ = " + action + ";", options]; + }; + + grammar = { + Root: [ + o('', function() { + return new Block; + }), o('Body'), o('Block TERMINATOR') + ], + Body: [ + o('Line', function() { + return Block.wrap([$1]); + }), o('Body TERMINATOR Line', function() { + return $1.push($3); + }), o('Body TERMINATOR') + ], + Line: [o('Expression'), o('Statement')], + Statement: [ + o('Return'), o('Comment'), o('STATEMENT', function() { + return new Literal($1); + }) + ], + Expression: [o('Value'), o('Invocation'), o('Code'), o('Operation'), o('Assign'), o('If'), o('Try'), o('While'), o('For'), o('Switch'), o('Class'), o('Throw')], + Block: [ + o('INDENT OUTDENT', function() { + return new Block; + }), o('INDENT Body OUTDENT', function() { + return $2; + }) + ], + Identifier: [ + o('IDENTIFIER', function() { + return new Literal($1); + }) + ], + AlphaNumeric: [ + o('NUMBER', function() { + return new Literal($1); + }), o('STRING', function() { + return new Literal($1); + }) + ], + Literal: [ + o('AlphaNumeric'), o('JS', function() { + return new Literal($1); + }), o('REGEX', function() { + return new Literal($1); + }), o('DEBUGGER', function() { + return new Literal($1); + }), o('UNDEFINED', function() { + return new Undefined; + }), o('NULL', function() { + return new Null; + }), o('BOOL', function() { + return new Bool($1); + }) + ], + Assign: [ + o('Assignable = Expression', function() { + return new Assign($1, $3); + }), o('Assignable = TERMINATOR Expression', function() { + return new Assign($1, $4); + }), o('Assignable = INDENT Expression OUTDENT', function() { + return new Assign($1, $4); + }) + ], + AssignObj: [ + o('ObjAssignable', function() { + return new Value($1); + }), o('ObjAssignable : Expression', function() { + return new Assign(new Value($1), $3, 'object'); + }), o('ObjAssignable :\ + INDENT Expression OUTDENT', function() { + return new Assign(new Value($1), $4, 'object'); + }), o('Comment') + ], + ObjAssignable: [o('Identifier'), o('AlphaNumeric'), o('ThisProperty')], + Return: [ + o('RETURN Expression', function() { + return new Return($2); + }), o('RETURN', function() { + return new Return; + }) + ], + Comment: [ + o('HERECOMMENT', function() { + return new Comment($1); + }) + ], + Code: [ + o('PARAM_START ParamList PARAM_END FuncGlyph Block', function() { + return new Code($2, $5, $4); + }), o('FuncGlyph Block', function() { + return new Code([], $2, $1); + }) + ], + FuncGlyph: [ + o('->', function() { + return 'func'; + }), o('=>', function() { + return 'boundfunc'; + }) + ], + OptComma: [o(''), o(',')], + ParamList: [ + o('', function() { + return []; + }), o('Param', function() { + return [$1]; + }), o('ParamList , Param', function() { + return $1.concat($3); + }), o('ParamList OptComma TERMINATOR Param', function() { + return $1.concat($4); + }), o('ParamList OptComma INDENT ParamList OptComma OUTDENT', function() { + return $1.concat($4); + }) + ], + Param: [ + o('ParamVar', function() { + return new Param($1); + }), o('ParamVar ...', function() { + return new Param($1, null, true); + }), o('ParamVar = Expression', function() { + return new Param($1, $3); + }) + ], + ParamVar: [o('Identifier'), o('ThisProperty'), o('Array'), o('Object')], + Splat: [ + o('Expression ...', function() { + return new Splat($1); + }) + ], + SimpleAssignable: [ + o('Identifier', function() { + return new Value($1); + }), o('Value Accessor', function() { + return $1.add($2); + }), o('Invocation Accessor', function() { + return new Value($1, [].concat($2)); + }), o('ThisProperty') + ], + Assignable: [ + o('SimpleAssignable'), o('Array', function() { + return new Value($1); + }), o('Object', function() { + return new Value($1); + }) + ], + Value: [ + o('Assignable'), o('Literal', function() { + return new Value($1); + }), o('Parenthetical', function() { + return new Value($1); + }), o('Range', function() { + return new Value($1); + }), o('This') + ], + Accessor: [ + o('. Identifier', function() { + return new Access($2); + }), o('?. Identifier', function() { + return new Access($2, 'soak'); + }), o(':: Identifier', function() { + return [new Access(new Literal('prototype')), new Access($2)]; + }), o('::', function() { + return new Access(new Literal('prototype')); + }), o('Index') + ], + Index: [ + o('INDEX_START IndexValue INDEX_END', function() { + return $2; + }), o('INDEX_SOAK Index', function() { + return extend($2, { + soak: true + }); + }) + ], + IndexValue: [ + o('Expression', function() { + return new Index($1); + }), o('Slice', function() { + return new Slice($1); + }) + ], + Object: [ + o('{ AssignList OptComma }', function() { + return new Obj($2, $1.generated); + }) + ], + AssignList: [ + o('', function() { + return []; + }), o('AssignObj', function() { + return [$1]; + }), o('AssignList , AssignObj', function() { + return $1.concat($3); + }), o('AssignList OptComma TERMINATOR AssignObj', function() { + return $1.concat($4); + }), o('AssignList OptComma INDENT AssignList OptComma OUTDENT', function() { + return $1.concat($4); + }) + ], + Class: [ + o('CLASS', function() { + return new Class; + }), o('CLASS Block', function() { + return new Class(null, null, $2); + }), o('CLASS EXTENDS Expression', function() { + return new Class(null, $3); + }), o('CLASS EXTENDS Expression Block', function() { + return new Class(null, $3, $4); + }), o('CLASS SimpleAssignable', function() { + return new Class($2); + }), o('CLASS SimpleAssignable Block', function() { + return new Class($2, null, $3); + }), o('CLASS SimpleAssignable EXTENDS Expression', function() { + return new Class($2, $4); + }), o('CLASS SimpleAssignable EXTENDS Expression Block', function() { + return new Class($2, $4, $5); + }) + ], + Invocation: [ + o('Value OptFuncExist Arguments', function() { + return new Call($1, $3, $2); + }), o('Invocation OptFuncExist Arguments', function() { + return new Call($1, $3, $2); + }), o('SUPER', function() { + return new Call('super', [new Splat(new Literal('arguments'))]); + }), o('SUPER Arguments', function() { + return new Call('super', $2); + }) + ], + OptFuncExist: [ + o('', function() { + return false; + }), o('FUNC_EXIST', function() { + return true; + }) + ], + Arguments: [ + o('CALL_START CALL_END', function() { + return []; + }), o('CALL_START ArgList OptComma CALL_END', function() { + return $2; + }) + ], + This: [ + o('THIS', function() { + return new Value(new Literal('this')); + }), o('@', function() { + return new Value(new Literal('this')); + }) + ], + ThisProperty: [ + o('@ Identifier', function() { + return new Value(new Literal('this'), [new Access($2)], 'this'); + }) + ], + Array: [ + o('[ ]', function() { + return new Arr([]); + }), o('[ ArgList OptComma ]', function() { + return new Arr($2); + }) + ], + RangeDots: [ + o('..', function() { + return 'inclusive'; + }), o('...', function() { + return 'exclusive'; + }) + ], + Range: [ + o('[ Expression RangeDots Expression ]', function() { + return new Range($2, $4, $3); + }) + ], + Slice: [ + o('Expression RangeDots Expression', function() { + return new Range($1, $3, $2); + }), o('Expression RangeDots', function() { + return new Range($1, null, $2); + }), o('RangeDots Expression', function() { + return new Range(null, $2, $1); + }), o('RangeDots', function() { + return new Range(null, null, $1); + }) + ], + ArgList: [ + o('Arg', function() { + return [$1]; + }), o('ArgList , Arg', function() { + return $1.concat($3); + }), o('ArgList OptComma TERMINATOR Arg', function() { + return $1.concat($4); + }), o('INDENT ArgList OptComma OUTDENT', function() { + return $2; + }), o('ArgList OptComma INDENT ArgList OptComma OUTDENT', function() { + return $1.concat($4); + }) + ], + Arg: [o('Expression'), o('Splat')], + SimpleArgs: [ + o('Expression'), o('SimpleArgs , Expression', function() { + return [].concat($1, $3); + }) + ], + Try: [ + o('TRY Block', function() { + return new Try($2); + }), o('TRY Block Catch', function() { + return new Try($2, $3[0], $3[1]); + }), o('TRY Block FINALLY Block', function() { + return new Try($2, null, null, $4); + }), o('TRY Block Catch FINALLY Block', function() { + return new Try($2, $3[0], $3[1], $5); + }) + ], + Catch: [ + o('CATCH Identifier Block', function() { + return [$2, $3]; + }) + ], + Throw: [ + o('THROW Expression', function() { + return new Throw($2); + }) + ], + Parenthetical: [ + o('( Body )', function() { + return new Parens($2); + }), o('( INDENT Body OUTDENT )', function() { + return new Parens($3); + }) + ], + WhileSource: [ + o('WHILE Expression', function() { + return new While($2); + }), o('WHILE Expression WHEN Expression', function() { + return new While($2, { + guard: $4 + }); + }), o('UNTIL Expression', function() { + return new While($2, { + invert: true + }); + }), o('UNTIL Expression WHEN Expression', function() { + return new While($2, { + invert: true, + guard: $4 + }); + }) + ], + While: [ + o('WhileSource Block', function() { + return $1.addBody($2); + }), o('Statement WhileSource', function() { + return $2.addBody(Block.wrap([$1])); + }), o('Expression WhileSource', function() { + return $2.addBody(Block.wrap([$1])); + }), o('Loop', function() { + return $1; + }) + ], + Loop: [ + o('LOOP Block', function() { + return new While(new Literal('true')).addBody($2); + }), o('LOOP Expression', function() { + return new While(new Literal('true')).addBody(Block.wrap([$2])); + }) + ], + For: [ + o('Statement ForBody', function() { + return new For($1, $2); + }), o('Expression ForBody', function() { + return new For($1, $2); + }), o('ForBody Block', function() { + return new For($2, $1); + }) + ], + ForBody: [ + o('FOR Range', function() { + return { + source: new Value($2) + }; + }), o('ForStart ForSource', function() { + $2.own = $1.own; + $2.name = $1[0]; + $2.index = $1[1]; + return $2; + }) + ], + ForStart: [ + o('FOR ForVariables', function() { + return $2; + }), o('FOR OWN ForVariables', function() { + $3.own = true; + return $3; + }) + ], + ForValue: [ + o('Identifier'), o('ThisProperty'), o('Array', function() { + return new Value($1); + }), o('Object', function() { + return new Value($1); + }) + ], + ForVariables: [ + o('ForValue', function() { + return [$1]; + }), o('ForValue , ForValue', function() { + return [$1, $3]; + }) + ], + ForSource: [ + o('FORIN Expression', function() { + return { + source: $2 + }; + }), o('FOROF Expression', function() { + return { + source: $2, + object: true + }; + }), o('FORIN Expression WHEN Expression', function() { + return { + source: $2, + guard: $4 + }; + }), o('FOROF Expression WHEN Expression', function() { + return { + source: $2, + guard: $4, + object: true + }; + }), o('FORIN Expression BY Expression', function() { + return { + source: $2, + step: $4 + }; + }), o('FORIN Expression WHEN Expression BY Expression', function() { + return { + source: $2, + guard: $4, + step: $6 + }; + }), o('FORIN Expression BY Expression WHEN Expression', function() { + return { + source: $2, + step: $4, + guard: $6 + }; + }) + ], + Switch: [ + o('SWITCH Expression INDENT Whens OUTDENT', function() { + return new Switch($2, $4); + }), o('SWITCH Expression INDENT Whens ELSE Block OUTDENT', function() { + return new Switch($2, $4, $6); + }), o('SWITCH INDENT Whens OUTDENT', function() { + return new Switch(null, $3); + }), o('SWITCH INDENT Whens ELSE Block OUTDENT', function() { + return new Switch(null, $3, $5); + }) + ], + Whens: [ + o('When'), o('Whens When', function() { + return $1.concat($2); + }) + ], + When: [ + o('LEADING_WHEN SimpleArgs Block', function() { + return [[$2, $3]]; + }), o('LEADING_WHEN SimpleArgs Block TERMINATOR', function() { + return [[$2, $3]]; + }) + ], + IfBlock: [ + o('IF Expression Block', function() { + return new If($2, $3, { + type: $1 + }); + }), o('IfBlock ELSE IF Expression Block', function() { + return $1.addElse(new If($4, $5, { + type: $3 + })); + }) + ], + If: [ + o('IfBlock'), o('IfBlock ELSE Block', function() { + return $1.addElse($3); + }), o('Statement POST_IF Expression', function() { + return new If($3, Block.wrap([$1]), { + type: $2, + statement: true + }); + }), o('Expression POST_IF Expression', function() { + return new If($3, Block.wrap([$1]), { + type: $2, + statement: true + }); + }) + ], + Operation: [ + o('UNARY Expression', function() { + return new Op($1, $2); + }), o('- Expression', (function() { + return new Op('-', $2); + }), { + prec: 'UNARY' + }), o('+ Expression', (function() { + return new Op('+', $2); + }), { + prec: 'UNARY' + }), o('-- SimpleAssignable', function() { + return new Op('--', $2); + }), o('++ SimpleAssignable', function() { + return new Op('++', $2); + }), o('SimpleAssignable --', function() { + return new Op('--', $1, null, true); + }), o('SimpleAssignable ++', function() { + return new Op('++', $1, null, true); + }), o('Expression ?', function() { + return new Existence($1); + }), o('Expression + Expression', function() { + return new Op('+', $1, $3); + }), o('Expression - Expression', function() { + return new Op('-', $1, $3); + }), o('Expression MATH Expression', function() { + return new Op($2, $1, $3); + }), o('Expression SHIFT Expression', function() { + return new Op($2, $1, $3); + }), o('Expression COMPARE Expression', function() { + return new Op($2, $1, $3); + }), o('Expression LOGIC Expression', function() { + return new Op($2, $1, $3); + }), o('Expression RELATION Expression', function() { + if ($2.charAt(0) === '!') { + return new Op($2.slice(1), $1, $3).invert(); + } else { + return new Op($2, $1, $3); + } + }), o('SimpleAssignable COMPOUND_ASSIGN\ + Expression', function() { + return new Assign($1, $3, $2); + }), o('SimpleAssignable COMPOUND_ASSIGN\ + INDENT Expression OUTDENT', function() { + return new Assign($1, $4, $2); + }), o('SimpleAssignable EXTENDS Expression', function() { + return new Extends($1, $3); + }) + ] + }; + + operators = [['left', '.', '?.', '::'], ['left', 'CALL_START', 'CALL_END'], ['nonassoc', '++', '--'], ['left', '?'], ['right', 'UNARY'], ['left', 'MATH'], ['left', '+', '-'], ['left', 'SHIFT'], ['left', 'RELATION'], ['left', 'COMPARE'], ['left', 'LOGIC'], ['nonassoc', 'INDENT', 'OUTDENT'], ['right', '=', ':', 'COMPOUND_ASSIGN', 'RETURN', 'THROW', 'EXTENDS'], ['right', 'FORIN', 'FOROF', 'BY', 'WHEN'], ['right', 'IF', 'ELSE', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'SUPER', 'CLASS'], ['right', 'POST_IF']]; + + tokens = []; + + for (name in grammar) { + alternatives = grammar[name]; + grammar[name] = (function() { + var _i, _j, _len, _len1, _ref, _results; + _results = []; + for (_i = 0, _len = alternatives.length; _i < _len; _i++) { + alt = alternatives[_i]; + _ref = alt[0].split(' '); + for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { + token = _ref[_j]; + if (!grammar[token]) { + tokens.push(token); + } + } + if (name === 'Root') { + alt[1] = "return " + alt[1]; + } + _results.push(alt); + } + return _results; + })(); + } + + exports.parser = new Parser({ + tokens: tokens.join(' '), + bnf: grammar, + operators: operators.reverse(), + startSymbol: 'Root' + }); + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js new file mode 100644 index 0000000..b0a997b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js @@ -0,0 +1,77 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var extend, flatten; + + exports.starts = function(string, literal, start) { + return literal === string.substr(start, literal.length); + }; + + exports.ends = function(string, literal, back) { + var len; + len = literal.length; + return literal === string.substr(string.length - len - (back || 0), len); + }; + + exports.compact = function(array) { + var item, _i, _len, _results; + _results = []; + for (_i = 0, _len = array.length; _i < _len; _i++) { + item = array[_i]; + if (item) { + _results.push(item); + } + } + return _results; + }; + + exports.count = function(string, substr) { + var num, pos; + num = pos = 0; + if (!substr.length) { + return 1 / 0; + } + while (pos = 1 + string.indexOf(substr, pos)) { + num++; + } + return num; + }; + + exports.merge = function(options, overrides) { + return extend(extend({}, options), overrides); + }; + + extend = exports.extend = function(object, properties) { + var key, val; + for (key in properties) { + val = properties[key]; + object[key] = val; + } + return object; + }; + + exports.flatten = flatten = function(array) { + var element, flattened, _i, _len; + flattened = []; + for (_i = 0, _len = array.length; _i < _len; _i++) { + element = array[_i]; + if (element instanceof Array) { + flattened = flattened.concat(flatten(element)); + } else { + flattened.push(element); + } + } + return flattened; + }; + + exports.del = function(obj, key) { + var val; + val = obj[key]; + delete obj[key]; + return val; + }; + + exports.last = function(array, back) { + return array[array.length - (back || 0) - 1]; + }; + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js new file mode 100644 index 0000000..d344c41 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js @@ -0,0 +1,11 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var key, val, _ref; + + _ref = require('./coffee-script'); + for (key in _ref) { + val = _ref[key]; + exports[key] = val; + } + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js new file mode 100644 index 0000000..f80a443 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js @@ -0,0 +1,788 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var BOOL, CALLABLE, CODE, COFFEE_ALIASES, COFFEE_ALIAS_MAP, COFFEE_KEYWORDS, COMMENT, COMPARE, COMPOUND_ASSIGN, HEREDOC, HEREDOC_ILLEGAL, HEREDOC_INDENT, HEREGEX, HEREGEX_OMIT, IDENTIFIER, INDEXABLE, INVERSES, JSTOKEN, JS_FORBIDDEN, JS_KEYWORDS, LINE_BREAK, LINE_CONTINUER, LOGIC, Lexer, MATH, MULTILINER, MULTI_DENT, NOT_REGEX, NOT_SPACED_REGEX, NUMBER, OPERATOR, REGEX, RELATION, RESERVED, Rewriter, SHIFT, SIMPLESTR, STRICT_PROSCRIBED, TRAILING_SPACES, UNARY, WHITESPACE, compact, count, key, last, starts, _ref, _ref1, + __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + + _ref = require('./rewriter'), Rewriter = _ref.Rewriter, INVERSES = _ref.INVERSES; + + _ref1 = require('./helpers'), count = _ref1.count, starts = _ref1.starts, compact = _ref1.compact, last = _ref1.last; + + exports.Lexer = Lexer = (function() { + + function Lexer() {} + + Lexer.prototype.tokenize = function(code, opts) { + var i, tag; + if (opts == null) { + opts = {}; + } + if (WHITESPACE.test(code)) { + code = "\n" + code; + } + code = code.replace(/\r/g, '').replace(TRAILING_SPACES, ''); + this.code = code; + this.line = opts.line || 0; + this.indent = 0; + this.indebt = 0; + this.outdebt = 0; + this.indents = []; + this.ends = []; + this.tokens = []; + i = 0; + while (this.chunk = code.slice(i)) { + i += this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.heredocToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken(); + } + this.closeIndentation(); + if (tag = this.ends.pop()) { + this.error("missing " + tag); + } + if (opts.rewrite === false) { + return this.tokens; + } + return (new Rewriter).rewrite(this.tokens); + }; + + Lexer.prototype.identifierToken = function() { + var colon, forcedIdentifier, id, input, match, prev, tag, _ref2, _ref3; + if (!(match = IDENTIFIER.exec(this.chunk))) { + return 0; + } + input = match[0], id = match[1], colon = match[2]; + if (id === 'own' && this.tag() === 'FOR') { + this.token('OWN', id); + return id.length; + } + forcedIdentifier = colon || (prev = last(this.tokens)) && (((_ref2 = prev[0]) === '.' || _ref2 === '?.' || _ref2 === '::') || !prev.spaced && prev[0] === '@'); + tag = 'IDENTIFIER'; + if (!forcedIdentifier && (__indexOf.call(JS_KEYWORDS, id) >= 0 || __indexOf.call(COFFEE_KEYWORDS, id) >= 0)) { + tag = id.toUpperCase(); + if (tag === 'WHEN' && (_ref3 = this.tag(), __indexOf.call(LINE_BREAK, _ref3) >= 0)) { + tag = 'LEADING_WHEN'; + } else if (tag === 'FOR') { + this.seenFor = true; + } else if (tag === 'UNLESS') { + tag = 'IF'; + } else if (__indexOf.call(UNARY, tag) >= 0) { + tag = 'UNARY'; + } else if (__indexOf.call(RELATION, tag) >= 0) { + if (tag !== 'INSTANCEOF' && this.seenFor) { + tag = 'FOR' + tag; + this.seenFor = false; + } else { + tag = 'RELATION'; + if (this.value() === '!') { + this.tokens.pop(); + id = '!' + id; + } + } + } + } + if (__indexOf.call(JS_FORBIDDEN, id) >= 0) { + if (forcedIdentifier) { + tag = 'IDENTIFIER'; + id = new String(id); + id.reserved = true; + } else if (__indexOf.call(RESERVED, id) >= 0) { + this.error("reserved word \"" + id + "\""); + } + } + if (!forcedIdentifier) { + if (__indexOf.call(COFFEE_ALIASES, id) >= 0) { + id = COFFEE_ALIAS_MAP[id]; + } + tag = (function() { + switch (id) { + case '!': + return 'UNARY'; + case '==': + case '!=': + return 'COMPARE'; + case '&&': + case '||': + return 'LOGIC'; + case 'true': + case 'false': + return 'BOOL'; + case 'break': + case 'continue': + return 'STATEMENT'; + default: + return tag; + } + })(); + } + this.token(tag, id); + if (colon) { + this.token(':', ':'); + } + return input.length; + }; + + Lexer.prototype.numberToken = function() { + var binaryLiteral, lexedLength, match, number, octalLiteral; + if (!(match = NUMBER.exec(this.chunk))) { + return 0; + } + number = match[0]; + if (/^0[BOX]/.test(number)) { + this.error("radix prefix '" + number + "' must be lowercase"); + } else if (/E/.test(number) && !/^0x/.test(number)) { + this.error("exponential notation '" + number + "' must be indicated with a lowercase 'e'"); + } else if (/^0\d*[89]/.test(number)) { + this.error("decimal literal '" + number + "' must not be prefixed with '0'"); + } else if (/^0\d+/.test(number)) { + this.error("octal literal '" + number + "' must be prefixed with '0o'"); + } + lexedLength = number.length; + if (octalLiteral = /^0o([0-7]+)/.exec(number)) { + number = '0x' + (parseInt(octalLiteral[1], 8)).toString(16); + } + if (binaryLiteral = /^0b([01]+)/.exec(number)) { + number = '0x' + (parseInt(binaryLiteral[1], 2)).toString(16); + } + this.token('NUMBER', number); + return lexedLength; + }; + + Lexer.prototype.stringToken = function() { + var match, octalEsc, string; + switch (this.chunk.charAt(0)) { + case "'": + if (!(match = SIMPLESTR.exec(this.chunk))) { + return 0; + } + this.token('STRING', (string = match[0]).replace(MULTILINER, '\\\n')); + break; + case '"': + if (!(string = this.balancedString(this.chunk, '"'))) { + return 0; + } + if (0 < string.indexOf('#{', 1)) { + this.interpolateString(string.slice(1, -1)); + } else { + this.token('STRING', this.escapeLines(string)); + } + break; + default: + return 0; + } + if (octalEsc = /^(?:\\.|[^\\])*\\(?:0[0-7]|[1-7])/.test(string)) { + this.error("octal escape sequences " + string + " are not allowed"); + } + this.line += count(string, '\n'); + return string.length; + }; + + Lexer.prototype.heredocToken = function() { + var doc, heredoc, match, quote; + if (!(match = HEREDOC.exec(this.chunk))) { + return 0; + } + heredoc = match[0]; + quote = heredoc.charAt(0); + doc = this.sanitizeHeredoc(match[2], { + quote: quote, + indent: null + }); + if (quote === '"' && 0 <= doc.indexOf('#{')) { + this.interpolateString(doc, { + heredoc: true + }); + } else { + this.token('STRING', this.makeString(doc, quote, true)); + } + this.line += count(heredoc, '\n'); + return heredoc.length; + }; + + Lexer.prototype.commentToken = function() { + var comment, here, match; + if (!(match = this.chunk.match(COMMENT))) { + return 0; + } + comment = match[0], here = match[1]; + if (here) { + this.token('HERECOMMENT', this.sanitizeHeredoc(here, { + herecomment: true, + indent: Array(this.indent + 1).join(' ') + })); + } + this.line += count(comment, '\n'); + return comment.length; + }; + + Lexer.prototype.jsToken = function() { + var match, script; + if (!(this.chunk.charAt(0) === '`' && (match = JSTOKEN.exec(this.chunk)))) { + return 0; + } + this.token('JS', (script = match[0]).slice(1, -1)); + return script.length; + }; + + Lexer.prototype.regexToken = function() { + var flags, length, match, prev, regex, _ref2, _ref3; + if (this.chunk.charAt(0) !== '/') { + return 0; + } + if (match = HEREGEX.exec(this.chunk)) { + length = this.heregexToken(match); + this.line += count(match[0], '\n'); + return length; + } + prev = last(this.tokens); + if (prev && (_ref2 = prev[0], __indexOf.call((prev.spaced ? NOT_REGEX : NOT_SPACED_REGEX), _ref2) >= 0)) { + return 0; + } + if (!(match = REGEX.exec(this.chunk))) { + return 0; + } + _ref3 = match, match = _ref3[0], regex = _ref3[1], flags = _ref3[2]; + if (regex.slice(0, 2) === '/*') { + this.error('regular expressions cannot begin with `*`'); + } + if (regex === '//') { + regex = '/(?:)/'; + } + this.token('REGEX', "" + regex + flags); + return match.length; + }; + + Lexer.prototype.heregexToken = function(match) { + var body, flags, heregex, re, tag, tokens, value, _i, _len, _ref2, _ref3, _ref4, _ref5; + heregex = match[0], body = match[1], flags = match[2]; + if (0 > body.indexOf('#{')) { + re = body.replace(HEREGEX_OMIT, '').replace(/\//g, '\\/'); + if (re.match(/^\*/)) { + this.error('regular expressions cannot begin with `*`'); + } + this.token('REGEX', "/" + (re || '(?:)') + "/" + flags); + return heregex.length; + } + this.token('IDENTIFIER', 'RegExp'); + this.tokens.push(['CALL_START', '(']); + tokens = []; + _ref2 = this.interpolateString(body, { + regex: true + }); + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + _ref3 = _ref2[_i], tag = _ref3[0], value = _ref3[1]; + if (tag === 'TOKENS') { + tokens.push.apply(tokens, value); + } else { + if (!(value = value.replace(HEREGEX_OMIT, ''))) { + continue; + } + value = value.replace(/\\/g, '\\\\'); + tokens.push(['STRING', this.makeString(value, '"', true)]); + } + tokens.push(['+', '+']); + } + tokens.pop(); + if (((_ref4 = tokens[0]) != null ? _ref4[0] : void 0) !== 'STRING') { + this.tokens.push(['STRING', '""'], ['+', '+']); + } + (_ref5 = this.tokens).push.apply(_ref5, tokens); + if (flags) { + this.tokens.push([',', ','], ['STRING', '"' + flags + '"']); + } + this.token(')', ')'); + return heregex.length; + }; + + Lexer.prototype.lineToken = function() { + var diff, indent, match, noNewlines, prev, size; + if (!(match = MULTI_DENT.exec(this.chunk))) { + return 0; + } + indent = match[0]; + this.line += count(indent, '\n'); + this.seenFor = false; + prev = last(this.tokens, 1); + size = indent.length - 1 - indent.lastIndexOf('\n'); + noNewlines = this.unfinished(); + if (size - this.indebt === this.indent) { + if (noNewlines) { + this.suppressNewlines(); + } else { + this.newlineToken(); + } + return indent.length; + } + if (size > this.indent) { + if (noNewlines) { + this.indebt = size - this.indent; + this.suppressNewlines(); + return indent.length; + } + diff = size - this.indent + this.outdebt; + this.token('INDENT', diff); + this.indents.push(diff); + this.ends.push('OUTDENT'); + this.outdebt = this.indebt = 0; + } else { + this.indebt = 0; + this.outdentToken(this.indent - size, noNewlines); + } + this.indent = size; + return indent.length; + }; + + Lexer.prototype.outdentToken = function(moveOut, noNewlines) { + var dent, len; + while (moveOut > 0) { + len = this.indents.length - 1; + if (this.indents[len] === void 0) { + moveOut = 0; + } else if (this.indents[len] === this.outdebt) { + moveOut -= this.outdebt; + this.outdebt = 0; + } else if (this.indents[len] < this.outdebt) { + this.outdebt -= this.indents[len]; + moveOut -= this.indents[len]; + } else { + dent = this.indents.pop() - this.outdebt; + moveOut -= dent; + this.outdebt = 0; + this.pair('OUTDENT'); + this.token('OUTDENT', dent); + } + } + if (dent) { + this.outdebt -= moveOut; + } + while (this.value() === ';') { + this.tokens.pop(); + } + if (!(this.tag() === 'TERMINATOR' || noNewlines)) { + this.token('TERMINATOR', '\n'); + } + return this; + }; + + Lexer.prototype.whitespaceToken = function() { + var match, nline, prev; + if (!((match = WHITESPACE.exec(this.chunk)) || (nline = this.chunk.charAt(0) === '\n'))) { + return 0; + } + prev = last(this.tokens); + if (prev) { + prev[match ? 'spaced' : 'newLine'] = true; + } + if (match) { + return match[0].length; + } else { + return 0; + } + }; + + Lexer.prototype.newlineToken = function() { + while (this.value() === ';') { + this.tokens.pop(); + } + if (this.tag() !== 'TERMINATOR') { + this.token('TERMINATOR', '\n'); + } + return this; + }; + + Lexer.prototype.suppressNewlines = function() { + if (this.value() === '\\') { + this.tokens.pop(); + } + return this; + }; + + Lexer.prototype.literalToken = function() { + var match, prev, tag, value, _ref2, _ref3, _ref4, _ref5; + if (match = OPERATOR.exec(this.chunk)) { + value = match[0]; + if (CODE.test(value)) { + this.tagParameters(); + } + } else { + value = this.chunk.charAt(0); + } + tag = value; + prev = last(this.tokens); + if (value === '=' && prev) { + if (!prev[1].reserved && (_ref2 = prev[1], __indexOf.call(JS_FORBIDDEN, _ref2) >= 0)) { + this.error("reserved word \"" + (this.value()) + "\" can't be assigned"); + } + if ((_ref3 = prev[1]) === '||' || _ref3 === '&&') { + prev[0] = 'COMPOUND_ASSIGN'; + prev[1] += '='; + return value.length; + } + } + if (value === ';') { + this.seenFor = false; + tag = 'TERMINATOR'; + } else if (__indexOf.call(MATH, value) >= 0) { + tag = 'MATH'; + } else if (__indexOf.call(COMPARE, value) >= 0) { + tag = 'COMPARE'; + } else if (__indexOf.call(COMPOUND_ASSIGN, value) >= 0) { + tag = 'COMPOUND_ASSIGN'; + } else if (__indexOf.call(UNARY, value) >= 0) { + tag = 'UNARY'; + } else if (__indexOf.call(SHIFT, value) >= 0) { + tag = 'SHIFT'; + } else if (__indexOf.call(LOGIC, value) >= 0 || value === '?' && (prev != null ? prev.spaced : void 0)) { + tag = 'LOGIC'; + } else if (prev && !prev.spaced) { + if (value === '(' && (_ref4 = prev[0], __indexOf.call(CALLABLE, _ref4) >= 0)) { + if (prev[0] === '?') { + prev[0] = 'FUNC_EXIST'; + } + tag = 'CALL_START'; + } else if (value === '[' && (_ref5 = prev[0], __indexOf.call(INDEXABLE, _ref5) >= 0)) { + tag = 'INDEX_START'; + switch (prev[0]) { + case '?': + prev[0] = 'INDEX_SOAK'; + } + } + } + switch (value) { + case '(': + case '{': + case '[': + this.ends.push(INVERSES[value]); + break; + case ')': + case '}': + case ']': + this.pair(value); + } + this.token(tag, value); + return value.length; + }; + + Lexer.prototype.sanitizeHeredoc = function(doc, options) { + var attempt, herecomment, indent, match, _ref2; + indent = options.indent, herecomment = options.herecomment; + if (herecomment) { + if (HEREDOC_ILLEGAL.test(doc)) { + this.error("block comment cannot contain \"*/\", starting"); + } + if (doc.indexOf('\n') <= 0) { + return doc; + } + } else { + while (match = HEREDOC_INDENT.exec(doc)) { + attempt = match[1]; + if (indent === null || (0 < (_ref2 = attempt.length) && _ref2 < indent.length)) { + indent = attempt; + } + } + } + if (indent) { + doc = doc.replace(RegExp("\\n" + indent, "g"), '\n'); + } + if (!herecomment) { + doc = doc.replace(/^\n/, ''); + } + return doc; + }; + + Lexer.prototype.tagParameters = function() { + var i, stack, tok, tokens; + if (this.tag() !== ')') { + return this; + } + stack = []; + tokens = this.tokens; + i = tokens.length; + tokens[--i][0] = 'PARAM_END'; + while (tok = tokens[--i]) { + switch (tok[0]) { + case ')': + stack.push(tok); + break; + case '(': + case 'CALL_START': + if (stack.length) { + stack.pop(); + } else if (tok[0] === '(') { + tok[0] = 'PARAM_START'; + return this; + } else { + return this; + } + } + } + return this; + }; + + Lexer.prototype.closeIndentation = function() { + return this.outdentToken(this.indent); + }; + + Lexer.prototype.balancedString = function(str, end) { + var continueCount, i, letter, match, prev, stack, _i, _ref2; + continueCount = 0; + stack = [end]; + for (i = _i = 1, _ref2 = str.length; 1 <= _ref2 ? _i < _ref2 : _i > _ref2; i = 1 <= _ref2 ? ++_i : --_i) { + if (continueCount) { + --continueCount; + continue; + } + switch (letter = str.charAt(i)) { + case '\\': + ++continueCount; + continue; + case end: + stack.pop(); + if (!stack.length) { + return str.slice(0, i + 1 || 9e9); + } + end = stack[stack.length - 1]; + continue; + } + if (end === '}' && (letter === '"' || letter === "'")) { + stack.push(end = letter); + } else if (end === '}' && letter === '/' && (match = HEREGEX.exec(str.slice(i)) || REGEX.exec(str.slice(i)))) { + continueCount += match[0].length - 1; + } else if (end === '}' && letter === '{') { + stack.push(end = '}'); + } else if (end === '"' && prev === '#' && letter === '{') { + stack.push(end = '}'); + } + prev = letter; + } + return this.error("missing " + (stack.pop()) + ", starting"); + }; + + Lexer.prototype.interpolateString = function(str, options) { + var expr, heredoc, i, inner, interpolated, len, letter, nested, pi, regex, tag, tokens, value, _i, _len, _ref2, _ref3, _ref4; + if (options == null) { + options = {}; + } + heredoc = options.heredoc, regex = options.regex; + tokens = []; + pi = 0; + i = -1; + while (letter = str.charAt(i += 1)) { + if (letter === '\\') { + i += 1; + continue; + } + if (!(letter === '#' && str.charAt(i + 1) === '{' && (expr = this.balancedString(str.slice(i + 1), '}')))) { + continue; + } + if (pi < i) { + tokens.push(['NEOSTRING', str.slice(pi, i)]); + } + inner = expr.slice(1, -1); + if (inner.length) { + nested = new Lexer().tokenize(inner, { + line: this.line, + rewrite: false + }); + nested.pop(); + if (((_ref2 = nested[0]) != null ? _ref2[0] : void 0) === 'TERMINATOR') { + nested.shift(); + } + if (len = nested.length) { + if (len > 1) { + nested.unshift(['(', '(', this.line]); + nested.push([')', ')', this.line]); + } + tokens.push(['TOKENS', nested]); + } + } + i += expr.length; + pi = i + 1; + } + if ((i > pi && pi < str.length)) { + tokens.push(['NEOSTRING', str.slice(pi)]); + } + if (regex) { + return tokens; + } + if (!tokens.length) { + return this.token('STRING', '""'); + } + if (tokens[0][0] !== 'NEOSTRING') { + tokens.unshift(['', '']); + } + if (interpolated = tokens.length > 1) { + this.token('(', '('); + } + for (i = _i = 0, _len = tokens.length; _i < _len; i = ++_i) { + _ref3 = tokens[i], tag = _ref3[0], value = _ref3[1]; + if (i) { + this.token('+', '+'); + } + if (tag === 'TOKENS') { + (_ref4 = this.tokens).push.apply(_ref4, value); + } else { + this.token('STRING', this.makeString(value, '"', heredoc)); + } + } + if (interpolated) { + this.token(')', ')'); + } + return tokens; + }; + + Lexer.prototype.pair = function(tag) { + var size, wanted; + if (tag !== (wanted = last(this.ends))) { + if ('OUTDENT' !== wanted) { + this.error("unmatched " + tag); + } + this.indent -= size = last(this.indents); + this.outdentToken(size, true); + return this.pair(tag); + } + return this.ends.pop(); + }; + + Lexer.prototype.token = function(tag, value) { + return this.tokens.push([tag, value, this.line]); + }; + + Lexer.prototype.tag = function(index, tag) { + var tok; + return (tok = last(this.tokens, index)) && (tag ? tok[0] = tag : tok[0]); + }; + + Lexer.prototype.value = function(index, val) { + var tok; + return (tok = last(this.tokens, index)) && (val ? tok[1] = val : tok[1]); + }; + + Lexer.prototype.unfinished = function() { + var _ref2; + return LINE_CONTINUER.test(this.chunk) || ((_ref2 = this.tag()) === '\\' || _ref2 === '.' || _ref2 === '?.' || _ref2 === 'UNARY' || _ref2 === 'MATH' || _ref2 === '+' || _ref2 === '-' || _ref2 === 'SHIFT' || _ref2 === 'RELATION' || _ref2 === 'COMPARE' || _ref2 === 'LOGIC' || _ref2 === 'THROW' || _ref2 === 'EXTENDS'); + }; + + Lexer.prototype.escapeLines = function(str, heredoc) { + return str.replace(MULTILINER, heredoc ? '\\n' : ''); + }; + + Lexer.prototype.makeString = function(body, quote, heredoc) { + if (!body) { + return quote + quote; + } + body = body.replace(/\\([\s\S])/g, function(match, contents) { + if (contents === '\n' || contents === quote) { + return contents; + } else { + return match; + } + }); + body = body.replace(RegExp("" + quote, "g"), '\\$&'); + return quote + this.escapeLines(body, heredoc) + quote; + }; + + Lexer.prototype.error = function(message) { + throw SyntaxError("" + message + " on line " + (this.line + 1)); + }; + + return Lexer; + + })(); + + JS_KEYWORDS = ['true', 'false', 'null', 'this', 'new', 'delete', 'typeof', 'in', 'instanceof', 'return', 'throw', 'break', 'continue', 'debugger', 'if', 'else', 'switch', 'for', 'while', 'do', 'try', 'catch', 'finally', 'class', 'extends', 'super']; + + COFFEE_KEYWORDS = ['undefined', 'then', 'unless', 'until', 'loop', 'of', 'by', 'when']; + + COFFEE_ALIAS_MAP = { + and: '&&', + or: '||', + is: '==', + isnt: '!=', + not: '!', + yes: 'true', + no: 'false', + on: 'true', + off: 'false' + }; + + COFFEE_ALIASES = (function() { + var _results; + _results = []; + for (key in COFFEE_ALIAS_MAP) { + _results.push(key); + } + return _results; + })(); + + COFFEE_KEYWORDS = COFFEE_KEYWORDS.concat(COFFEE_ALIASES); + + RESERVED = ['case', 'default', 'function', 'var', 'void', 'with', 'const', 'let', 'enum', 'export', 'import', 'native', '__hasProp', '__extends', '__slice', '__bind', '__indexOf', 'implements', 'interface', 'let', 'package', 'private', 'protected', 'public', 'static', 'yield']; + + STRICT_PROSCRIBED = ['arguments', 'eval']; + + JS_FORBIDDEN = JS_KEYWORDS.concat(RESERVED).concat(STRICT_PROSCRIBED); + + exports.RESERVED = RESERVED.concat(JS_KEYWORDS).concat(COFFEE_KEYWORDS).concat(STRICT_PROSCRIBED); + + exports.STRICT_PROSCRIBED = STRICT_PROSCRIBED; + + IDENTIFIER = /^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/; + + NUMBER = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i; + + HEREDOC = /^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/; + + OPERATOR = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\.{2,3})/; + + WHITESPACE = /^[^\n\S]+/; + + COMMENT = /^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)?$)|^(?:\s*#(?!##[^#]).*)+/; + + CODE = /^[-=]>/; + + MULTI_DENT = /^(?:\n[^\n\S]*)+/; + + SIMPLESTR = /^'[^\\']*(?:\\.[^\\']*)*'/; + + JSTOKEN = /^`[^\\`]*(?:\\.[^\\`]*)*`/; + + REGEX = /^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/; + + HEREGEX = /^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/; + + HEREGEX_OMIT = /\s+(?:#.*)?/g; + + MULTILINER = /\n/g; + + HEREDOC_INDENT = /\n+([^\n\S]*)/g; + + HEREDOC_ILLEGAL = /\*\//; + + LINE_CONTINUER = /^\s*(?:,|\??\.(?![.\d])|::)/; + + TRAILING_SPACES = /\s+$/; + + COMPOUND_ASSIGN = ['-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?=', '<<=', '>>=', '>>>=', '&=', '^=', '|=']; + + UNARY = ['!', '~', 'NEW', 'TYPEOF', 'DELETE', 'DO']; + + LOGIC = ['&&', '||', '&', '|', '^']; + + SHIFT = ['<<', '>>', '>>>']; + + COMPARE = ['==', '!=', '<', '>', '<=', '>=']; + + MATH = ['*', '/', '%']; + + RELATION = ['IN', 'OF', 'INSTANCEOF']; + + BOOL = ['TRUE', 'FALSE']; + + NOT_REGEX = ['NUMBER', 'REGEX', 'BOOL', 'NULL', 'UNDEFINED', '++', '--', ']']; + + NOT_SPACED_REGEX = NOT_REGEX.concat(')', '}', 'THIS', 'IDENTIFIER', 'STRING'); + + CALLABLE = ['IDENTIFIER', 'STRING', 'REGEX', ')', ']', '}', '?', '::', '@', 'THIS', 'SUPER']; + + INDEXABLE = CALLABLE.concat('NUMBER', 'BOOL', 'NULL', 'UNDEFINED'); + + LINE_BREAK = ['INDENT', 'OUTDENT', 'TERMINATOR']; + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js new file mode 100644 index 0000000..799b68e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js @@ -0,0 +1,2986 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var Access, Arr, Assign, Base, Block, Call, Class, Closure, Code, Comment, Existence, Extends, For, IDENTIFIER, IDENTIFIER_STR, IS_STRING, If, In, Index, LEVEL_ACCESS, LEVEL_COND, LEVEL_LIST, LEVEL_OP, LEVEL_PAREN, LEVEL_TOP, Literal, METHOD_DEF, NEGATE, NO, Obj, Op, Param, Parens, RESERVED, Range, Return, SIMPLENUM, STRICT_PROSCRIBED, Scope, Slice, Splat, Switch, TAB, THIS, Throw, Try, UTILITIES, Value, While, YES, compact, del, ends, extend, flatten, last, merge, multident, starts, unfoldSoak, utility, _ref, _ref1, + __hasProp = {}.hasOwnProperty, + __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, + __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + + Scope = require('./scope').Scope; + + _ref = require('./lexer'), RESERVED = _ref.RESERVED, STRICT_PROSCRIBED = _ref.STRICT_PROSCRIBED; + + _ref1 = require('./helpers'), compact = _ref1.compact, flatten = _ref1.flatten, extend = _ref1.extend, merge = _ref1.merge, del = _ref1.del, starts = _ref1.starts, ends = _ref1.ends, last = _ref1.last; + + exports.extend = extend; + + YES = function() { + return true; + }; + + NO = function() { + return false; + }; + + THIS = function() { + return this; + }; + + NEGATE = function() { + this.negated = !this.negated; + return this; + }; + + exports.Base = Base = (function() { + + function Base() {} + + Base.prototype.compile = function(o, lvl) { + var node; + o = extend({}, o); + if (lvl) { + o.level = lvl; + } + node = this.unfoldSoak(o) || this; + node.tab = o.indent; + if (o.level === LEVEL_TOP || !node.isStatement(o)) { + return node.compileNode(o); + } else { + return node.compileClosure(o); + } + }; + + Base.prototype.compileClosure = function(o) { + if (this.jumps()) { + throw SyntaxError('cannot use a pure statement in an expression.'); + } + o.sharedScope = true; + return Closure.wrap(this).compileNode(o); + }; + + Base.prototype.cache = function(o, level, reused) { + var ref, sub; + if (!this.isComplex()) { + ref = level ? this.compile(o, level) : this; + return [ref, ref]; + } else { + ref = new Literal(reused || o.scope.freeVariable('ref')); + sub = new Assign(ref, this); + if (level) { + return [sub.compile(o, level), ref.value]; + } else { + return [sub, ref]; + } + } + }; + + Base.prototype.compileLoopReference = function(o, name) { + var src, tmp; + src = tmp = this.compile(o, LEVEL_LIST); + if (!((-Infinity < +src && +src < Infinity) || IDENTIFIER.test(src) && o.scope.check(src, true))) { + src = "" + (tmp = o.scope.freeVariable(name)) + " = " + src; + } + return [src, tmp]; + }; + + Base.prototype.makeReturn = function(res) { + var me; + me = this.unwrapAll(); + if (res) { + return new Call(new Literal("" + res + ".push"), [me]); + } else { + return new Return(me); + } + }; + + Base.prototype.contains = function(pred) { + var contains; + contains = false; + this.traverseChildren(false, function(node) { + if (pred(node)) { + contains = true; + return false; + } + }); + return contains; + }; + + Base.prototype.containsType = function(type) { + return this instanceof type || this.contains(function(node) { + return node instanceof type; + }); + }; + + Base.prototype.lastNonComment = function(list) { + var i; + i = list.length; + while (i--) { + if (!(list[i] instanceof Comment)) { + return list[i]; + } + } + return null; + }; + + Base.prototype.toString = function(idt, name) { + var tree; + if (idt == null) { + idt = ''; + } + if (name == null) { + name = this.constructor.name; + } + tree = '\n' + idt + name; + if (this.soak) { + tree += '?'; + } + this.eachChild(function(node) { + return tree += node.toString(idt + TAB); + }); + return tree; + }; + + Base.prototype.eachChild = function(func) { + var attr, child, _i, _j, _len, _len1, _ref2, _ref3; + if (!this.children) { + return this; + } + _ref2 = this.children; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + attr = _ref2[_i]; + if (this[attr]) { + _ref3 = flatten([this[attr]]); + for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) { + child = _ref3[_j]; + if (func(child) === false) { + return this; + } + } + } + } + return this; + }; + + Base.prototype.traverseChildren = function(crossScope, func) { + return this.eachChild(function(child) { + if (func(child) === false) { + return false; + } + return child.traverseChildren(crossScope, func); + }); + }; + + Base.prototype.invert = function() { + return new Op('!', this); + }; + + Base.prototype.unwrapAll = function() { + var node; + node = this; + while (node !== (node = node.unwrap())) { + continue; + } + return node; + }; + + Base.prototype.children = []; + + Base.prototype.isStatement = NO; + + Base.prototype.jumps = NO; + + Base.prototype.isComplex = YES; + + Base.prototype.isChainable = NO; + + Base.prototype.isAssignable = NO; + + Base.prototype.unwrap = THIS; + + Base.prototype.unfoldSoak = NO; + + Base.prototype.assigns = NO; + + return Base; + + })(); + + exports.Block = Block = (function(_super) { + + __extends(Block, _super); + + function Block(nodes) { + this.expressions = compact(flatten(nodes || [])); + } + + Block.prototype.children = ['expressions']; + + Block.prototype.push = function(node) { + this.expressions.push(node); + return this; + }; + + Block.prototype.pop = function() { + return this.expressions.pop(); + }; + + Block.prototype.unshift = function(node) { + this.expressions.unshift(node); + return this; + }; + + Block.prototype.unwrap = function() { + if (this.expressions.length === 1) { + return this.expressions[0]; + } else { + return this; + } + }; + + Block.prototype.isEmpty = function() { + return !this.expressions.length; + }; + + Block.prototype.isStatement = function(o) { + var exp, _i, _len, _ref2; + _ref2 = this.expressions; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + exp = _ref2[_i]; + if (exp.isStatement(o)) { + return true; + } + } + return false; + }; + + Block.prototype.jumps = function(o) { + var exp, _i, _len, _ref2; + _ref2 = this.expressions; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + exp = _ref2[_i]; + if (exp.jumps(o)) { + return exp; + } + } + }; + + Block.prototype.makeReturn = function(res) { + var expr, len; + len = this.expressions.length; + while (len--) { + expr = this.expressions[len]; + if (!(expr instanceof Comment)) { + this.expressions[len] = expr.makeReturn(res); + if (expr instanceof Return && !expr.expression) { + this.expressions.splice(len, 1); + } + break; + } + } + return this; + }; + + Block.prototype.compile = function(o, level) { + if (o == null) { + o = {}; + } + if (o.scope) { + return Block.__super__.compile.call(this, o, level); + } else { + return this.compileRoot(o); + } + }; + + Block.prototype.compileNode = function(o) { + var code, codes, node, top, _i, _len, _ref2; + this.tab = o.indent; + top = o.level === LEVEL_TOP; + codes = []; + _ref2 = this.expressions; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + node = _ref2[_i]; + node = node.unwrapAll(); + node = node.unfoldSoak(o) || node; + if (node instanceof Block) { + codes.push(node.compileNode(o)); + } else if (top) { + node.front = true; + code = node.compile(o); + if (!node.isStatement(o)) { + code = "" + this.tab + code + ";"; + if (node instanceof Literal) { + code = "" + code + "\n"; + } + } + codes.push(code); + } else { + codes.push(node.compile(o, LEVEL_LIST)); + } + } + if (top) { + if (this.spaced) { + return "\n" + (codes.join('\n\n')) + "\n"; + } else { + return codes.join('\n'); + } + } + code = codes.join(', ') || 'void 0'; + if (codes.length > 1 && o.level >= LEVEL_LIST) { + return "(" + code + ")"; + } else { + return code; + } + }; + + Block.prototype.compileRoot = function(o) { + var code, exp, i, prelude, preludeExps, rest; + o.indent = o.bare ? '' : TAB; + o.scope = new Scope(null, this, null); + o.level = LEVEL_TOP; + this.spaced = true; + prelude = ""; + if (!o.bare) { + preludeExps = (function() { + var _i, _len, _ref2, _results; + _ref2 = this.expressions; + _results = []; + for (i = _i = 0, _len = _ref2.length; _i < _len; i = ++_i) { + exp = _ref2[i]; + if (!(exp.unwrap() instanceof Comment)) { + break; + } + _results.push(exp); + } + return _results; + }).call(this); + rest = this.expressions.slice(preludeExps.length); + this.expressions = preludeExps; + if (preludeExps.length) { + prelude = "" + (this.compileNode(merge(o, { + indent: '' + }))) + "\n"; + } + this.expressions = rest; + } + code = this.compileWithDeclarations(o); + if (o.bare) { + return code; + } + return "" + prelude + "(function() {\n" + code + "\n}).call(this);\n"; + }; + + Block.prototype.compileWithDeclarations = function(o) { + var assigns, code, declars, exp, i, post, rest, scope, spaced, _i, _len, _ref2, _ref3, _ref4; + code = post = ''; + _ref2 = this.expressions; + for (i = _i = 0, _len = _ref2.length; _i < _len; i = ++_i) { + exp = _ref2[i]; + exp = exp.unwrap(); + if (!(exp instanceof Comment || exp instanceof Literal)) { + break; + } + } + o = merge(o, { + level: LEVEL_TOP + }); + if (i) { + rest = this.expressions.splice(i, 9e9); + _ref3 = [this.spaced, false], spaced = _ref3[0], this.spaced = _ref3[1]; + _ref4 = [this.compileNode(o), spaced], code = _ref4[0], this.spaced = _ref4[1]; + this.expressions = rest; + } + post = this.compileNode(o); + scope = o.scope; + if (scope.expressions === this) { + declars = o.scope.hasDeclarations(); + assigns = scope.hasAssignments; + if (declars || assigns) { + if (i) { + code += '\n'; + } + code += "" + this.tab + "var "; + if (declars) { + code += scope.declaredVariables().join(', '); + } + if (assigns) { + if (declars) { + code += ",\n" + (this.tab + TAB); + } + code += scope.assignedVariables().join(",\n" + (this.tab + TAB)); + } + code += ';\n'; + } + } + return code + post; + }; + + Block.wrap = function(nodes) { + if (nodes.length === 1 && nodes[0] instanceof Block) { + return nodes[0]; + } + return new Block(nodes); + }; + + return Block; + + })(Base); + + exports.Literal = Literal = (function(_super) { + + __extends(Literal, _super); + + function Literal(value) { + this.value = value; + } + + Literal.prototype.makeReturn = function() { + if (this.isStatement()) { + return this; + } else { + return Literal.__super__.makeReturn.apply(this, arguments); + } + }; + + Literal.prototype.isAssignable = function() { + return IDENTIFIER.test(this.value); + }; + + Literal.prototype.isStatement = function() { + var _ref2; + return (_ref2 = this.value) === 'break' || _ref2 === 'continue' || _ref2 === 'debugger'; + }; + + Literal.prototype.isComplex = NO; + + Literal.prototype.assigns = function(name) { + return name === this.value; + }; + + Literal.prototype.jumps = function(o) { + if (this.value === 'break' && !((o != null ? o.loop : void 0) || (o != null ? o.block : void 0))) { + return this; + } + if (this.value === 'continue' && !(o != null ? o.loop : void 0)) { + return this; + } + }; + + Literal.prototype.compileNode = function(o) { + var code, _ref2; + code = this.value === 'this' ? ((_ref2 = o.scope.method) != null ? _ref2.bound : void 0) ? o.scope.method.context : this.value : this.value.reserved ? "\"" + this.value + "\"" : this.value; + if (this.isStatement()) { + return "" + this.tab + code + ";"; + } else { + return code; + } + }; + + Literal.prototype.toString = function() { + return ' "' + this.value + '"'; + }; + + return Literal; + + })(Base); + + exports.Undefined = (function(_super) { + + __extends(Undefined, _super); + + function Undefined() { + return Undefined.__super__.constructor.apply(this, arguments); + } + + Undefined.prototype.isAssignable = NO; + + Undefined.prototype.isComplex = NO; + + Undefined.prototype.compileNode = function(o) { + if (o.level >= LEVEL_ACCESS) { + return '(void 0)'; + } else { + return 'void 0'; + } + }; + + return Undefined; + + })(Base); + + exports.Null = (function(_super) { + + __extends(Null, _super); + + function Null() { + return Null.__super__.constructor.apply(this, arguments); + } + + Null.prototype.isAssignable = NO; + + Null.prototype.isComplex = NO; + + Null.prototype.compileNode = function() { + return "null"; + }; + + return Null; + + })(Base); + + exports.Bool = (function(_super) { + + __extends(Bool, _super); + + Bool.prototype.isAssignable = NO; + + Bool.prototype.isComplex = NO; + + Bool.prototype.compileNode = function() { + return this.val; + }; + + function Bool(val) { + this.val = val; + } + + return Bool; + + })(Base); + + exports.Return = Return = (function(_super) { + + __extends(Return, _super); + + function Return(expr) { + if (expr && !expr.unwrap().isUndefined) { + this.expression = expr; + } + } + + Return.prototype.children = ['expression']; + + Return.prototype.isStatement = YES; + + Return.prototype.makeReturn = THIS; + + Return.prototype.jumps = THIS; + + Return.prototype.compile = function(o, level) { + var expr, _ref2; + expr = (_ref2 = this.expression) != null ? _ref2.makeReturn() : void 0; + if (expr && !(expr instanceof Return)) { + return expr.compile(o, level); + } else { + return Return.__super__.compile.call(this, o, level); + } + }; + + Return.prototype.compileNode = function(o) { + return this.tab + ("return" + [this.expression ? " " + (this.expression.compile(o, LEVEL_PAREN)) : void 0] + ";"); + }; + + return Return; + + })(Base); + + exports.Value = Value = (function(_super) { + + __extends(Value, _super); + + function Value(base, props, tag) { + if (!props && base instanceof Value) { + return base; + } + this.base = base; + this.properties = props || []; + if (tag) { + this[tag] = true; + } + return this; + } + + Value.prototype.children = ['base', 'properties']; + + Value.prototype.add = function(props) { + this.properties = this.properties.concat(props); + return this; + }; + + Value.prototype.hasProperties = function() { + return !!this.properties.length; + }; + + Value.prototype.isArray = function() { + return !this.properties.length && this.base instanceof Arr; + }; + + Value.prototype.isComplex = function() { + return this.hasProperties() || this.base.isComplex(); + }; + + Value.prototype.isAssignable = function() { + return this.hasProperties() || this.base.isAssignable(); + }; + + Value.prototype.isSimpleNumber = function() { + return this.base instanceof Literal && SIMPLENUM.test(this.base.value); + }; + + Value.prototype.isString = function() { + return this.base instanceof Literal && IS_STRING.test(this.base.value); + }; + + Value.prototype.isAtomic = function() { + var node, _i, _len, _ref2; + _ref2 = this.properties.concat(this.base); + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + node = _ref2[_i]; + if (node.soak || node instanceof Call) { + return false; + } + } + return true; + }; + + Value.prototype.isStatement = function(o) { + return !this.properties.length && this.base.isStatement(o); + }; + + Value.prototype.assigns = function(name) { + return !this.properties.length && this.base.assigns(name); + }; + + Value.prototype.jumps = function(o) { + return !this.properties.length && this.base.jumps(o); + }; + + Value.prototype.isObject = function(onlyGenerated) { + if (this.properties.length) { + return false; + } + return (this.base instanceof Obj) && (!onlyGenerated || this.base.generated); + }; + + Value.prototype.isSplice = function() { + return last(this.properties) instanceof Slice; + }; + + Value.prototype.unwrap = function() { + if (this.properties.length) { + return this; + } else { + return this.base; + } + }; + + Value.prototype.cacheReference = function(o) { + var base, bref, name, nref; + name = last(this.properties); + if (this.properties.length < 2 && !this.base.isComplex() && !(name != null ? name.isComplex() : void 0)) { + return [this, this]; + } + base = new Value(this.base, this.properties.slice(0, -1)); + if (base.isComplex()) { + bref = new Literal(o.scope.freeVariable('base')); + base = new Value(new Parens(new Assign(bref, base))); + } + if (!name) { + return [base, bref]; + } + if (name.isComplex()) { + nref = new Literal(o.scope.freeVariable('name')); + name = new Index(new Assign(nref, name.index)); + nref = new Index(nref); + } + return [base.add(name), new Value(bref || base.base, [nref || name])]; + }; + + Value.prototype.compileNode = function(o) { + var code, prop, props, _i, _len; + this.base.front = this.front; + props = this.properties; + code = this.base.compile(o, props.length ? LEVEL_ACCESS : null); + if ((this.base instanceof Parens || props.length) && SIMPLENUM.test(code)) { + code = "" + code + "."; + } + for (_i = 0, _len = props.length; _i < _len; _i++) { + prop = props[_i]; + code += prop.compile(o); + } + return code; + }; + + Value.prototype.unfoldSoak = function(o) { + var result, + _this = this; + if (this.unfoldedSoak != null) { + return this.unfoldedSoak; + } + result = (function() { + var fst, i, ifn, prop, ref, snd, _i, _len, _ref2; + if (ifn = _this.base.unfoldSoak(o)) { + Array.prototype.push.apply(ifn.body.properties, _this.properties); + return ifn; + } + _ref2 = _this.properties; + for (i = _i = 0, _len = _ref2.length; _i < _len; i = ++_i) { + prop = _ref2[i]; + if (!prop.soak) { + continue; + } + prop.soak = false; + fst = new Value(_this.base, _this.properties.slice(0, i)); + snd = new Value(_this.base, _this.properties.slice(i)); + if (fst.isComplex()) { + ref = new Literal(o.scope.freeVariable('ref')); + fst = new Parens(new Assign(ref, fst)); + snd.base = ref; + } + return new If(new Existence(fst), snd, { + soak: true + }); + } + return null; + })(); + return this.unfoldedSoak = result || false; + }; + + return Value; + + })(Base); + + exports.Comment = Comment = (function(_super) { + + __extends(Comment, _super); + + function Comment(comment) { + this.comment = comment; + } + + Comment.prototype.isStatement = YES; + + Comment.prototype.makeReturn = THIS; + + Comment.prototype.compileNode = function(o, level) { + var code; + code = '/*' + multident(this.comment, this.tab) + ("\n" + this.tab + "*/\n"); + if ((level || o.level) === LEVEL_TOP) { + code = o.indent + code; + } + return code; + }; + + return Comment; + + })(Base); + + exports.Call = Call = (function(_super) { + + __extends(Call, _super); + + function Call(variable, args, soak) { + this.args = args != null ? args : []; + this.soak = soak; + this.isNew = false; + this.isSuper = variable === 'super'; + this.variable = this.isSuper ? null : variable; + } + + Call.prototype.children = ['variable', 'args']; + + Call.prototype.newInstance = function() { + var base, _ref2; + base = ((_ref2 = this.variable) != null ? _ref2.base : void 0) || this.variable; + if (base instanceof Call && !base.isNew) { + base.newInstance(); + } else { + this.isNew = true; + } + return this; + }; + + Call.prototype.superReference = function(o) { + var accesses, method, name; + method = o.scope.namedMethod(); + if (!method) { + throw SyntaxError('cannot call super outside of a function.'); + } + name = method.name; + if (name == null) { + throw SyntaxError('cannot call super on an anonymous function.'); + } + if (method.klass) { + accesses = [new Access(new Literal('__super__'))]; + if (method["static"]) { + accesses.push(new Access(new Literal('constructor'))); + } + accesses.push(new Access(new Literal(name))); + return (new Value(new Literal(method.klass), accesses)).compile(o); + } else { + return "" + name + ".__super__.constructor"; + } + }; + + Call.prototype.superThis = function(o) { + var method; + method = o.scope.method; + return (method && !method.klass && method.context) || "this"; + }; + + Call.prototype.unfoldSoak = function(o) { + var call, ifn, left, list, rite, _i, _len, _ref2, _ref3; + if (this.soak) { + if (this.variable) { + if (ifn = unfoldSoak(o, this, 'variable')) { + return ifn; + } + _ref2 = new Value(this.variable).cacheReference(o), left = _ref2[0], rite = _ref2[1]; + } else { + left = new Literal(this.superReference(o)); + rite = new Value(left); + } + rite = new Call(rite, this.args); + rite.isNew = this.isNew; + left = new Literal("typeof " + (left.compile(o)) + " === \"function\""); + return new If(left, new Value(rite), { + soak: true + }); + } + call = this; + list = []; + while (true) { + if (call.variable instanceof Call) { + list.push(call); + call = call.variable; + continue; + } + if (!(call.variable instanceof Value)) { + break; + } + list.push(call); + if (!((call = call.variable.base) instanceof Call)) { + break; + } + } + _ref3 = list.reverse(); + for (_i = 0, _len = _ref3.length; _i < _len; _i++) { + call = _ref3[_i]; + if (ifn) { + if (call.variable instanceof Call) { + call.variable = ifn; + } else { + call.variable.base = ifn; + } + } + ifn = unfoldSoak(o, call, 'variable'); + } + return ifn; + }; + + Call.prototype.filterImplicitObjects = function(list) { + var node, nodes, obj, prop, properties, _i, _j, _len, _len1, _ref2; + nodes = []; + for (_i = 0, _len = list.length; _i < _len; _i++) { + node = list[_i]; + if (!((typeof node.isObject === "function" ? node.isObject() : void 0) && node.base.generated)) { + nodes.push(node); + continue; + } + obj = null; + _ref2 = node.base.properties; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + prop = _ref2[_j]; + if (prop instanceof Assign || prop instanceof Comment) { + if (!obj) { + nodes.push(obj = new Obj(properties = [], true)); + } + properties.push(prop); + } else { + nodes.push(prop); + obj = null; + } + } + } + return nodes; + }; + + Call.prototype.compileNode = function(o) { + var arg, args, code, _ref2; + if ((_ref2 = this.variable) != null) { + _ref2.front = this.front; + } + if (code = Splat.compileSplattedArray(o, this.args, true)) { + return this.compileSplat(o, code); + } + args = this.filterImplicitObjects(this.args); + args = ((function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = args.length; _i < _len; _i++) { + arg = args[_i]; + _results.push(arg.compile(o, LEVEL_LIST)); + } + return _results; + })()).join(', '); + if (this.isSuper) { + return this.superReference(o) + (".call(" + (this.superThis(o)) + (args && ', ' + args) + ")"); + } else { + return (this.isNew ? 'new ' : '') + this.variable.compile(o, LEVEL_ACCESS) + ("(" + args + ")"); + } + }; + + Call.prototype.compileSuper = function(args, o) { + return "" + (this.superReference(o)) + ".call(" + (this.superThis(o)) + (args.length ? ', ' : '') + args + ")"; + }; + + Call.prototype.compileSplat = function(o, splatArgs) { + var base, fun, idt, name, ref; + if (this.isSuper) { + return "" + (this.superReference(o)) + ".apply(" + (this.superThis(o)) + ", " + splatArgs + ")"; + } + if (this.isNew) { + idt = this.tab + TAB; + return "(function(func, args, ctor) {\n" + idt + "ctor.prototype = func.prototype;\n" + idt + "var child = new ctor, result = func.apply(child, args), t = typeof result;\n" + idt + "return t == \"object\" || t == \"function\" ? result || child : child;\n" + this.tab + "})(" + (this.variable.compile(o, LEVEL_LIST)) + ", " + splatArgs + ", function(){})"; + } + base = new Value(this.variable); + if ((name = base.properties.pop()) && base.isComplex()) { + ref = o.scope.freeVariable('ref'); + fun = "(" + ref + " = " + (base.compile(o, LEVEL_LIST)) + ")" + (name.compile(o)); + } else { + fun = base.compile(o, LEVEL_ACCESS); + if (SIMPLENUM.test(fun)) { + fun = "(" + fun + ")"; + } + if (name) { + ref = fun; + fun += name.compile(o); + } else { + ref = 'null'; + } + } + return "" + fun + ".apply(" + ref + ", " + splatArgs + ")"; + }; + + return Call; + + })(Base); + + exports.Extends = Extends = (function(_super) { + + __extends(Extends, _super); + + function Extends(child, parent) { + this.child = child; + this.parent = parent; + } + + Extends.prototype.children = ['child', 'parent']; + + Extends.prototype.compile = function(o) { + return new Call(new Value(new Literal(utility('extends'))), [this.child, this.parent]).compile(o); + }; + + return Extends; + + })(Base); + + exports.Access = Access = (function(_super) { + + __extends(Access, _super); + + function Access(name, tag) { + this.name = name; + this.name.asKey = true; + this.soak = tag === 'soak'; + } + + Access.prototype.children = ['name']; + + Access.prototype.compile = function(o) { + var name; + name = this.name.compile(o); + if (IDENTIFIER.test(name)) { + return "." + name; + } else { + return "[" + name + "]"; + } + }; + + Access.prototype.isComplex = NO; + + return Access; + + })(Base); + + exports.Index = Index = (function(_super) { + + __extends(Index, _super); + + function Index(index) { + this.index = index; + } + + Index.prototype.children = ['index']; + + Index.prototype.compile = function(o) { + return "[" + (this.index.compile(o, LEVEL_PAREN)) + "]"; + }; + + Index.prototype.isComplex = function() { + return this.index.isComplex(); + }; + + return Index; + + })(Base); + + exports.Range = Range = (function(_super) { + + __extends(Range, _super); + + Range.prototype.children = ['from', 'to']; + + function Range(from, to, tag) { + this.from = from; + this.to = to; + this.exclusive = tag === 'exclusive'; + this.equals = this.exclusive ? '' : '='; + } + + Range.prototype.compileVariables = function(o) { + var step, _ref2, _ref3, _ref4, _ref5; + o = merge(o, { + top: true + }); + _ref2 = this.from.cache(o, LEVEL_LIST), this.fromC = _ref2[0], this.fromVar = _ref2[1]; + _ref3 = this.to.cache(o, LEVEL_LIST), this.toC = _ref3[0], this.toVar = _ref3[1]; + if (step = del(o, 'step')) { + _ref4 = step.cache(o, LEVEL_LIST), this.step = _ref4[0], this.stepVar = _ref4[1]; + } + _ref5 = [this.fromVar.match(SIMPLENUM), this.toVar.match(SIMPLENUM)], this.fromNum = _ref5[0], this.toNum = _ref5[1]; + if (this.stepVar) { + return this.stepNum = this.stepVar.match(SIMPLENUM); + } + }; + + Range.prototype.compileNode = function(o) { + var cond, condPart, from, gt, idx, idxName, known, lt, namedIndex, stepPart, to, varPart, _ref2, _ref3; + if (!this.fromVar) { + this.compileVariables(o); + } + if (!o.index) { + return this.compileArray(o); + } + known = this.fromNum && this.toNum; + idx = del(o, 'index'); + idxName = del(o, 'name'); + namedIndex = idxName && idxName !== idx; + varPart = "" + idx + " = " + this.fromC; + if (this.toC !== this.toVar) { + varPart += ", " + this.toC; + } + if (this.step !== this.stepVar) { + varPart += ", " + this.step; + } + _ref2 = ["" + idx + " <" + this.equals, "" + idx + " >" + this.equals], lt = _ref2[0], gt = _ref2[1]; + condPart = this.stepNum ? +this.stepNum > 0 ? "" + lt + " " + this.toVar : "" + gt + " " + this.toVar : known ? ((_ref3 = [+this.fromNum, +this.toNum], from = _ref3[0], to = _ref3[1], _ref3), from <= to ? "" + lt + " " + to : "" + gt + " " + to) : (cond = "" + this.fromVar + " <= " + this.toVar, "" + cond + " ? " + lt + " " + this.toVar + " : " + gt + " " + this.toVar); + stepPart = this.stepVar ? "" + idx + " += " + this.stepVar : known ? namedIndex ? from <= to ? "++" + idx : "--" + idx : from <= to ? "" + idx + "++" : "" + idx + "--" : namedIndex ? "" + cond + " ? ++" + idx + " : --" + idx : "" + cond + " ? " + idx + "++ : " + idx + "--"; + if (namedIndex) { + varPart = "" + idxName + " = " + varPart; + } + if (namedIndex) { + stepPart = "" + idxName + " = " + stepPart; + } + return "" + varPart + "; " + condPart + "; " + stepPart; + }; + + Range.prototype.compileArray = function(o) { + var args, body, cond, hasArgs, i, idt, post, pre, range, result, vars, _i, _ref2, _ref3, _results; + if (this.fromNum && this.toNum && Math.abs(this.fromNum - this.toNum) <= 20) { + range = (function() { + _results = []; + for (var _i = _ref2 = +this.fromNum, _ref3 = +this.toNum; _ref2 <= _ref3 ? _i <= _ref3 : _i >= _ref3; _ref2 <= _ref3 ? _i++ : _i--){ _results.push(_i); } + return _results; + }).apply(this); + if (this.exclusive) { + range.pop(); + } + return "[" + (range.join(', ')) + "]"; + } + idt = this.tab + TAB; + i = o.scope.freeVariable('i'); + result = o.scope.freeVariable('results'); + pre = "\n" + idt + result + " = [];"; + if (this.fromNum && this.toNum) { + o.index = i; + body = this.compileNode(o); + } else { + vars = ("" + i + " = " + this.fromC) + (this.toC !== this.toVar ? ", " + this.toC : ''); + cond = "" + this.fromVar + " <= " + this.toVar; + body = "var " + vars + "; " + cond + " ? " + i + " <" + this.equals + " " + this.toVar + " : " + i + " >" + this.equals + " " + this.toVar + "; " + cond + " ? " + i + "++ : " + i + "--"; + } + post = "{ " + result + ".push(" + i + "); }\n" + idt + "return " + result + ";\n" + o.indent; + hasArgs = function(node) { + return node != null ? node.contains(function(n) { + return n instanceof Literal && n.value === 'arguments' && !n.asKey; + }) : void 0; + }; + if (hasArgs(this.from) || hasArgs(this.to)) { + args = ', arguments'; + } + return "(function() {" + pre + "\n" + idt + "for (" + body + ")" + post + "}).apply(this" + (args != null ? args : '') + ")"; + }; + + return Range; + + })(Base); + + exports.Slice = Slice = (function(_super) { + + __extends(Slice, _super); + + Slice.prototype.children = ['range']; + + function Slice(range) { + this.range = range; + Slice.__super__.constructor.call(this); + } + + Slice.prototype.compileNode = function(o) { + var compiled, from, fromStr, to, toStr, _ref2; + _ref2 = this.range, to = _ref2.to, from = _ref2.from; + fromStr = from && from.compile(o, LEVEL_PAREN) || '0'; + compiled = to && to.compile(o, LEVEL_PAREN); + if (to && !(!this.range.exclusive && +compiled === -1)) { + toStr = ', ' + (this.range.exclusive ? compiled : SIMPLENUM.test(compiled) ? "" + (+compiled + 1) : (compiled = to.compile(o, LEVEL_ACCESS), "" + compiled + " + 1 || 9e9")); + } + return ".slice(" + fromStr + (toStr || '') + ")"; + }; + + return Slice; + + })(Base); + + exports.Obj = Obj = (function(_super) { + + __extends(Obj, _super); + + function Obj(props, generated) { + this.generated = generated != null ? generated : false; + this.objects = this.properties = props || []; + } + + Obj.prototype.children = ['properties']; + + Obj.prototype.compileNode = function(o) { + var i, idt, indent, join, lastNoncom, node, obj, prop, propName, propNames, props, _i, _j, _len, _len1, _ref2; + props = this.properties; + propNames = []; + _ref2 = this.properties; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + prop = _ref2[_i]; + if (prop.isComplex()) { + prop = prop.variable; + } + if (prop != null) { + propName = prop.unwrapAll().value.toString(); + if (__indexOf.call(propNames, propName) >= 0) { + throw SyntaxError("multiple object literal properties named \"" + propName + "\""); + } + propNames.push(propName); + } + } + if (!props.length) { + return (this.front ? '({})' : '{}'); + } + if (this.generated) { + for (_j = 0, _len1 = props.length; _j < _len1; _j++) { + node = props[_j]; + if (node instanceof Value) { + throw new Error('cannot have an implicit value in an implicit object'); + } + } + } + idt = o.indent += TAB; + lastNoncom = this.lastNonComment(this.properties); + props = (function() { + var _k, _len2, _results; + _results = []; + for (i = _k = 0, _len2 = props.length; _k < _len2; i = ++_k) { + prop = props[i]; + join = i === props.length - 1 ? '' : prop === lastNoncom || prop instanceof Comment ? '\n' : ',\n'; + indent = prop instanceof Comment ? '' : idt; + if (prop instanceof Value && prop["this"]) { + prop = new Assign(prop.properties[0].name, prop, 'object'); + } + if (!(prop instanceof Comment)) { + if (!(prop instanceof Assign)) { + prop = new Assign(prop, prop, 'object'); + } + (prop.variable.base || prop.variable).asKey = true; + } + _results.push(indent + prop.compile(o, LEVEL_TOP) + join); + } + return _results; + })(); + props = props.join(''); + obj = "{" + (props && '\n' + props + '\n' + this.tab) + "}"; + if (this.front) { + return "(" + obj + ")"; + } else { + return obj; + } + }; + + Obj.prototype.assigns = function(name) { + var prop, _i, _len, _ref2; + _ref2 = this.properties; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + prop = _ref2[_i]; + if (prop.assigns(name)) { + return true; + } + } + return false; + }; + + return Obj; + + })(Base); + + exports.Arr = Arr = (function(_super) { + + __extends(Arr, _super); + + function Arr(objs) { + this.objects = objs || []; + } + + Arr.prototype.children = ['objects']; + + Arr.prototype.filterImplicitObjects = Call.prototype.filterImplicitObjects; + + Arr.prototype.compileNode = function(o) { + var code, obj, objs; + if (!this.objects.length) { + return '[]'; + } + o.indent += TAB; + objs = this.filterImplicitObjects(this.objects); + if (code = Splat.compileSplattedArray(o, objs)) { + return code; + } + code = ((function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = objs.length; _i < _len; _i++) { + obj = objs[_i]; + _results.push(obj.compile(o, LEVEL_LIST)); + } + return _results; + })()).join(', '); + if (code.indexOf('\n') >= 0) { + return "[\n" + o.indent + code + "\n" + this.tab + "]"; + } else { + return "[" + code + "]"; + } + }; + + Arr.prototype.assigns = function(name) { + var obj, _i, _len, _ref2; + _ref2 = this.objects; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + obj = _ref2[_i]; + if (obj.assigns(name)) { + return true; + } + } + return false; + }; + + return Arr; + + })(Base); + + exports.Class = Class = (function(_super) { + + __extends(Class, _super); + + function Class(variable, parent, body) { + this.variable = variable; + this.parent = parent; + this.body = body != null ? body : new Block; + this.boundFuncs = []; + this.body.classBody = true; + } + + Class.prototype.children = ['variable', 'parent', 'body']; + + Class.prototype.determineName = function() { + var decl, tail; + if (!this.variable) { + return null; + } + decl = (tail = last(this.variable.properties)) ? tail instanceof Access && tail.name.value : this.variable.base.value; + if (__indexOf.call(STRICT_PROSCRIBED, decl) >= 0) { + throw SyntaxError("variable name may not be " + decl); + } + return decl && (decl = IDENTIFIER.test(decl) && decl); + }; + + Class.prototype.setContext = function(name) { + return this.body.traverseChildren(false, function(node) { + if (node.classBody) { + return false; + } + if (node instanceof Literal && node.value === 'this') { + return node.value = name; + } else if (node instanceof Code) { + node.klass = name; + if (node.bound) { + return node.context = name; + } + } + }); + }; + + Class.prototype.addBoundFunctions = function(o) { + var bvar, lhs, _i, _len, _ref2, _results; + if (this.boundFuncs.length) { + _ref2 = this.boundFuncs; + _results = []; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + bvar = _ref2[_i]; + lhs = (new Value(new Literal("this"), [new Access(bvar)])).compile(o); + _results.push(this.ctor.body.unshift(new Literal("" + lhs + " = " + (utility('bind')) + "(" + lhs + ", this)"))); + } + return _results; + } + }; + + Class.prototype.addProperties = function(node, name, o) { + var assign, base, exprs, func, props; + props = node.base.properties.slice(0); + exprs = (function() { + var _results; + _results = []; + while (assign = props.shift()) { + if (assign instanceof Assign) { + base = assign.variable.base; + delete assign.context; + func = assign.value; + if (base.value === 'constructor') { + if (this.ctor) { + throw new Error('cannot define more than one constructor in a class'); + } + if (func.bound) { + throw new Error('cannot define a constructor as a bound function'); + } + if (func instanceof Code) { + assign = this.ctor = func; + } else { + this.externalCtor = o.scope.freeVariable('class'); + assign = new Assign(new Literal(this.externalCtor), func); + } + } else { + if (assign.variable["this"]) { + func["static"] = true; + if (func.bound) { + func.context = name; + } + } else { + assign.variable = new Value(new Literal(name), [new Access(new Literal('prototype')), new Access(base)]); + if (func instanceof Code && func.bound) { + this.boundFuncs.push(base); + func.bound = false; + } + } + } + } + _results.push(assign); + } + return _results; + }).call(this); + return compact(exprs); + }; + + Class.prototype.walkBody = function(name, o) { + var _this = this; + return this.traverseChildren(false, function(child) { + var exps, i, node, _i, _len, _ref2; + if (child instanceof Class) { + return false; + } + if (child instanceof Block) { + _ref2 = exps = child.expressions; + for (i = _i = 0, _len = _ref2.length; _i < _len; i = ++_i) { + node = _ref2[i]; + if (node instanceof Value && node.isObject(true)) { + exps[i] = _this.addProperties(node, name, o); + } + } + return child.expressions = exps = flatten(exps); + } + }); + }; + + Class.prototype.hoistDirectivePrologue = function() { + var expressions, index, node; + index = 0; + expressions = this.body.expressions; + while ((node = expressions[index]) && node instanceof Comment || node instanceof Value && node.isString()) { + ++index; + } + return this.directives = expressions.splice(0, index); + }; + + Class.prototype.ensureConstructor = function(name) { + if (!this.ctor) { + this.ctor = new Code; + if (this.parent) { + this.ctor.body.push(new Literal("" + name + ".__super__.constructor.apply(this, arguments)")); + } + if (this.externalCtor) { + this.ctor.body.push(new Literal("" + this.externalCtor + ".apply(this, arguments)")); + } + this.ctor.body.makeReturn(); + this.body.expressions.unshift(this.ctor); + } + this.ctor.ctor = this.ctor.name = name; + this.ctor.klass = null; + return this.ctor.noReturn = true; + }; + + Class.prototype.compileNode = function(o) { + var call, decl, klass, lname, name, params, _ref2; + decl = this.determineName(); + name = decl || '_Class'; + if (name.reserved) { + name = "_" + name; + } + lname = new Literal(name); + this.hoistDirectivePrologue(); + this.setContext(name); + this.walkBody(name, o); + this.ensureConstructor(name); + this.body.spaced = true; + if (!(this.ctor instanceof Code)) { + this.body.expressions.unshift(this.ctor); + } + this.body.expressions.push(lname); + (_ref2 = this.body.expressions).unshift.apply(_ref2, this.directives); + this.addBoundFunctions(o); + call = Closure.wrap(this.body); + if (this.parent) { + this.superClass = new Literal(o.scope.freeVariable('super', false)); + this.body.expressions.unshift(new Extends(lname, this.superClass)); + call.args.push(this.parent); + params = call.variable.params || call.variable.base.params; + params.push(new Param(this.superClass)); + } + klass = new Parens(call, true); + if (this.variable) { + klass = new Assign(this.variable, klass); + } + return klass.compile(o); + }; + + return Class; + + })(Base); + + exports.Assign = Assign = (function(_super) { + + __extends(Assign, _super); + + function Assign(variable, value, context, options) { + var forbidden, name, _ref2; + this.variable = variable; + this.value = value; + this.context = context; + this.param = options && options.param; + this.subpattern = options && options.subpattern; + forbidden = (_ref2 = (name = this.variable.unwrapAll().value), __indexOf.call(STRICT_PROSCRIBED, _ref2) >= 0); + if (forbidden && this.context !== 'object') { + throw SyntaxError("variable name may not be \"" + name + "\""); + } + } + + Assign.prototype.children = ['variable', 'value']; + + Assign.prototype.isStatement = function(o) { + return (o != null ? o.level : void 0) === LEVEL_TOP && (this.context != null) && __indexOf.call(this.context, "?") >= 0; + }; + + Assign.prototype.assigns = function(name) { + return this[this.context === 'object' ? 'value' : 'variable'].assigns(name); + }; + + Assign.prototype.unfoldSoak = function(o) { + return unfoldSoak(o, this, 'variable'); + }; + + Assign.prototype.compileNode = function(o) { + var isValue, match, name, val, varBase, _ref2, _ref3, _ref4, _ref5; + if (isValue = this.variable instanceof Value) { + if (this.variable.isArray() || this.variable.isObject()) { + return this.compilePatternMatch(o); + } + if (this.variable.isSplice()) { + return this.compileSplice(o); + } + if ((_ref2 = this.context) === '||=' || _ref2 === '&&=' || _ref2 === '?=') { + return this.compileConditional(o); + } + } + name = this.variable.compile(o, LEVEL_LIST); + if (!this.context) { + if (!(varBase = this.variable.unwrapAll()).isAssignable()) { + throw SyntaxError("\"" + (this.variable.compile(o)) + "\" cannot be assigned."); + } + if (!(typeof varBase.hasProperties === "function" ? varBase.hasProperties() : void 0)) { + if (this.param) { + o.scope.add(name, 'var'); + } else { + o.scope.find(name); + } + } + } + if (this.value instanceof Code && (match = METHOD_DEF.exec(name))) { + if (match[1]) { + this.value.klass = match[1]; + } + this.value.name = (_ref3 = (_ref4 = (_ref5 = match[2]) != null ? _ref5 : match[3]) != null ? _ref4 : match[4]) != null ? _ref3 : match[5]; + } + val = this.value.compile(o, LEVEL_LIST); + if (this.context === 'object') { + return "" + name + ": " + val; + } + val = name + (" " + (this.context || '=') + " ") + val; + if (o.level <= LEVEL_LIST) { + return val; + } else { + return "(" + val + ")"; + } + }; + + Assign.prototype.compilePatternMatch = function(o) { + var acc, assigns, code, i, idx, isObject, ivar, name, obj, objects, olen, ref, rest, splat, top, val, value, vvar, _i, _len, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8; + top = o.level === LEVEL_TOP; + value = this.value; + objects = this.variable.base.objects; + if (!(olen = objects.length)) { + code = value.compile(o); + if (o.level >= LEVEL_OP) { + return "(" + code + ")"; + } else { + return code; + } + } + isObject = this.variable.isObject(); + if (top && olen === 1 && !((obj = objects[0]) instanceof Splat)) { + if (obj instanceof Assign) { + _ref2 = obj, (_ref3 = _ref2.variable, idx = _ref3.base), obj = _ref2.value; + } else { + if (obj.base instanceof Parens) { + _ref4 = new Value(obj.unwrapAll()).cacheReference(o), obj = _ref4[0], idx = _ref4[1]; + } else { + idx = isObject ? obj["this"] ? obj.properties[0].name : obj : new Literal(0); + } + } + acc = IDENTIFIER.test(idx.unwrap().value || 0); + value = new Value(value); + value.properties.push(new (acc ? Access : Index)(idx)); + if (_ref5 = obj.unwrap().value, __indexOf.call(RESERVED, _ref5) >= 0) { + throw new SyntaxError("assignment to a reserved word: " + (obj.compile(o)) + " = " + (value.compile(o))); + } + return new Assign(obj, value, null, { + param: this.param + }).compile(o, LEVEL_TOP); + } + vvar = value.compile(o, LEVEL_LIST); + assigns = []; + splat = false; + if (!IDENTIFIER.test(vvar) || this.variable.assigns(vvar)) { + assigns.push("" + (ref = o.scope.freeVariable('ref')) + " = " + vvar); + vvar = ref; + } + for (i = _i = 0, _len = objects.length; _i < _len; i = ++_i) { + obj = objects[i]; + idx = i; + if (isObject) { + if (obj instanceof Assign) { + _ref6 = obj, (_ref7 = _ref6.variable, idx = _ref7.base), obj = _ref6.value; + } else { + if (obj.base instanceof Parens) { + _ref8 = new Value(obj.unwrapAll()).cacheReference(o), obj = _ref8[0], idx = _ref8[1]; + } else { + idx = obj["this"] ? obj.properties[0].name : obj; + } + } + } + if (!splat && obj instanceof Splat) { + name = obj.name.unwrap().value; + obj = obj.unwrap(); + val = "" + olen + " <= " + vvar + ".length ? " + (utility('slice')) + ".call(" + vvar + ", " + i; + if (rest = olen - i - 1) { + ivar = o.scope.freeVariable('i'); + val += ", " + ivar + " = " + vvar + ".length - " + rest + ") : (" + ivar + " = " + i + ", [])"; + } else { + val += ") : []"; + } + val = new Literal(val); + splat = "" + ivar + "++"; + } else { + name = obj.unwrap().value; + if (obj instanceof Splat) { + obj = obj.name.compile(o); + throw new SyntaxError("multiple splats are disallowed in an assignment: " + obj + "..."); + } + if (typeof idx === 'number') { + idx = new Literal(splat || idx); + acc = false; + } else { + acc = isObject && IDENTIFIER.test(idx.unwrap().value || 0); + } + val = new Value(new Literal(vvar), [new (acc ? Access : Index)(idx)]); + } + if ((name != null) && __indexOf.call(RESERVED, name) >= 0) { + throw new SyntaxError("assignment to a reserved word: " + (obj.compile(o)) + " = " + (val.compile(o))); + } + assigns.push(new Assign(obj, val, null, { + param: this.param, + subpattern: true + }).compile(o, LEVEL_LIST)); + } + if (!(top || this.subpattern)) { + assigns.push(vvar); + } + code = assigns.join(', '); + if (o.level < LEVEL_LIST) { + return code; + } else { + return "(" + code + ")"; + } + }; + + Assign.prototype.compileConditional = function(o) { + var left, right, _ref2; + _ref2 = this.variable.cacheReference(o), left = _ref2[0], right = _ref2[1]; + if (!left.properties.length && left.base instanceof Literal && left.base.value !== "this" && !o.scope.check(left.base.value)) { + throw new Error("the variable \"" + left.base.value + "\" can't be assigned with " + this.context + " because it has not been defined."); + } + if (__indexOf.call(this.context, "?") >= 0) { + o.isExistentialEquals = true; + } + return new Op(this.context.slice(0, -1), left, new Assign(right, this.value, '=')).compile(o); + }; + + Assign.prototype.compileSplice = function(o) { + var code, exclusive, from, fromDecl, fromRef, name, to, valDef, valRef, _ref2, _ref3, _ref4; + _ref2 = this.variable.properties.pop().range, from = _ref2.from, to = _ref2.to, exclusive = _ref2.exclusive; + name = this.variable.compile(o); + _ref3 = (from != null ? from.cache(o, LEVEL_OP) : void 0) || ['0', '0'], fromDecl = _ref3[0], fromRef = _ref3[1]; + if (to) { + if ((from != null ? from.isSimpleNumber() : void 0) && to.isSimpleNumber()) { + to = +to.compile(o) - +fromRef; + if (!exclusive) { + to += 1; + } + } else { + to = to.compile(o, LEVEL_ACCESS) + ' - ' + fromRef; + if (!exclusive) { + to += ' + 1'; + } + } + } else { + to = "9e9"; + } + _ref4 = this.value.cache(o, LEVEL_LIST), valDef = _ref4[0], valRef = _ref4[1]; + code = "[].splice.apply(" + name + ", [" + fromDecl + ", " + to + "].concat(" + valDef + ")), " + valRef; + if (o.level > LEVEL_TOP) { + return "(" + code + ")"; + } else { + return code; + } + }; + + return Assign; + + })(Base); + + exports.Code = Code = (function(_super) { + + __extends(Code, _super); + + function Code(params, body, tag) { + this.params = params || []; + this.body = body || new Block; + this.bound = tag === 'boundfunc'; + if (this.bound) { + this.context = '_this'; + } + } + + Code.prototype.children = ['params', 'body']; + + Code.prototype.isStatement = function() { + return !!this.ctor; + }; + + Code.prototype.jumps = NO; + + Code.prototype.compileNode = function(o) { + var code, exprs, i, idt, lit, name, p, param, params, ref, splats, uniqs, val, wasEmpty, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _m, _n, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8; + o.scope = new Scope(o.scope, this.body, this); + o.scope.shared = del(o, 'sharedScope'); + o.indent += TAB; + delete o.bare; + delete o.isExistentialEquals; + params = []; + exprs = []; + _ref2 = this.paramNames(); + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + name = _ref2[_i]; + if (!o.scope.check(name)) { + o.scope.parameter(name); + } + } + _ref3 = this.params; + for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) { + param = _ref3[_j]; + if (!param.splat) { + continue; + } + _ref4 = this.params; + for (_k = 0, _len2 = _ref4.length; _k < _len2; _k++) { + p = _ref4[_k].name; + if (p["this"]) { + p = p.properties[0].name; + } + if (p.value) { + o.scope.add(p.value, 'var', true); + } + } + splats = new Assign(new Value(new Arr((function() { + var _l, _len3, _ref5, _results; + _ref5 = this.params; + _results = []; + for (_l = 0, _len3 = _ref5.length; _l < _len3; _l++) { + p = _ref5[_l]; + _results.push(p.asReference(o)); + } + return _results; + }).call(this))), new Value(new Literal('arguments'))); + break; + } + _ref5 = this.params; + for (_l = 0, _len3 = _ref5.length; _l < _len3; _l++) { + param = _ref5[_l]; + if (param.isComplex()) { + val = ref = param.asReference(o); + if (param.value) { + val = new Op('?', ref, param.value); + } + exprs.push(new Assign(new Value(param.name), val, '=', { + param: true + })); + } else { + ref = param; + if (param.value) { + lit = new Literal(ref.name.value + ' == null'); + val = new Assign(new Value(param.name), param.value, '='); + exprs.push(new If(lit, val)); + } + } + if (!splats) { + params.push(ref); + } + } + wasEmpty = this.body.isEmpty(); + if (splats) { + exprs.unshift(splats); + } + if (exprs.length) { + (_ref6 = this.body.expressions).unshift.apply(_ref6, exprs); + } + for (i = _m = 0, _len4 = params.length; _m < _len4; i = ++_m) { + p = params[i]; + o.scope.parameter(params[i] = p.compile(o)); + } + uniqs = []; + _ref7 = this.paramNames(); + for (_n = 0, _len5 = _ref7.length; _n < _len5; _n++) { + name = _ref7[_n]; + if (__indexOf.call(uniqs, name) >= 0) { + throw SyntaxError("multiple parameters named '" + name + "'"); + } + uniqs.push(name); + } + if (!(wasEmpty || this.noReturn)) { + this.body.makeReturn(); + } + if (this.bound) { + if ((_ref8 = o.scope.parent.method) != null ? _ref8.bound : void 0) { + this.bound = this.context = o.scope.parent.method.context; + } else if (!this["static"]) { + o.scope.parent.assign('_this', 'this'); + } + } + idt = o.indent; + code = 'function'; + if (this.ctor) { + code += ' ' + this.name; + } + code += '(' + params.join(', ') + ') {'; + if (!this.body.isEmpty()) { + code += "\n" + (this.body.compileWithDeclarations(o)) + "\n" + this.tab; + } + code += '}'; + if (this.ctor) { + return this.tab + code; + } + if (this.front || (o.level >= LEVEL_ACCESS)) { + return "(" + code + ")"; + } else { + return code; + } + }; + + Code.prototype.paramNames = function() { + var names, param, _i, _len, _ref2; + names = []; + _ref2 = this.params; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + param = _ref2[_i]; + names.push.apply(names, param.names()); + } + return names; + }; + + Code.prototype.traverseChildren = function(crossScope, func) { + if (crossScope) { + return Code.__super__.traverseChildren.call(this, crossScope, func); + } + }; + + return Code; + + })(Base); + + exports.Param = Param = (function(_super) { + + __extends(Param, _super); + + function Param(name, value, splat) { + var _ref2; + this.name = name; + this.value = value; + this.splat = splat; + if (_ref2 = (name = this.name.unwrapAll().value), __indexOf.call(STRICT_PROSCRIBED, _ref2) >= 0) { + throw SyntaxError("parameter name \"" + name + "\" is not allowed"); + } + } + + Param.prototype.children = ['name', 'value']; + + Param.prototype.compile = function(o) { + return this.name.compile(o, LEVEL_LIST); + }; + + Param.prototype.asReference = function(o) { + var node; + if (this.reference) { + return this.reference; + } + node = this.name; + if (node["this"]) { + node = node.properties[0].name; + if (node.value.reserved) { + node = new Literal(o.scope.freeVariable(node.value)); + } + } else if (node.isComplex()) { + node = new Literal(o.scope.freeVariable('arg')); + } + node = new Value(node); + if (this.splat) { + node = new Splat(node); + } + return this.reference = node; + }; + + Param.prototype.isComplex = function() { + return this.name.isComplex(); + }; + + Param.prototype.names = function(name) { + var atParam, names, obj, _i, _len, _ref2; + if (name == null) { + name = this.name; + } + atParam = function(obj) { + var value; + value = obj.properties[0].name.value; + if (value.reserved) { + return []; + } else { + return [value]; + } + }; + if (name instanceof Literal) { + return [name.value]; + } + if (name instanceof Value) { + return atParam(name); + } + names = []; + _ref2 = name.objects; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + obj = _ref2[_i]; + if (obj instanceof Assign) { + names.push(obj.value.unwrap().value); + } else if (obj instanceof Splat) { + names.push(obj.name.unwrap().value); + } else if (obj instanceof Value) { + if (obj.isArray() || obj.isObject()) { + names.push.apply(names, this.names(obj.base)); + } else if (obj["this"]) { + names.push.apply(names, atParam(obj)); + } else { + names.push(obj.base.value); + } + } else { + throw SyntaxError("illegal parameter " + (obj.compile())); + } + } + return names; + }; + + return Param; + + })(Base); + + exports.Splat = Splat = (function(_super) { + + __extends(Splat, _super); + + Splat.prototype.children = ['name']; + + Splat.prototype.isAssignable = YES; + + function Splat(name) { + this.name = name.compile ? name : new Literal(name); + } + + Splat.prototype.assigns = function(name) { + return this.name.assigns(name); + }; + + Splat.prototype.compile = function(o) { + if (this.index != null) { + return this.compileParam(o); + } else { + return this.name.compile(o); + } + }; + + Splat.prototype.unwrap = function() { + return this.name; + }; + + Splat.compileSplattedArray = function(o, list, apply) { + var args, base, code, i, index, node, _i, _len; + index = -1; + while ((node = list[++index]) && !(node instanceof Splat)) { + continue; + } + if (index >= list.length) { + return ''; + } + if (list.length === 1) { + code = list[0].compile(o, LEVEL_LIST); + if (apply) { + return code; + } + return "" + (utility('slice')) + ".call(" + code + ")"; + } + args = list.slice(index); + for (i = _i = 0, _len = args.length; _i < _len; i = ++_i) { + node = args[i]; + code = node.compile(o, LEVEL_LIST); + args[i] = node instanceof Splat ? "" + (utility('slice')) + ".call(" + code + ")" : "[" + code + "]"; + } + if (index === 0) { + return args[0] + (".concat(" + (args.slice(1).join(', ')) + ")"); + } + base = (function() { + var _j, _len1, _ref2, _results; + _ref2 = list.slice(0, index); + _results = []; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + node = _ref2[_j]; + _results.push(node.compile(o, LEVEL_LIST)); + } + return _results; + })(); + return "[" + (base.join(', ')) + "].concat(" + (args.join(', ')) + ")"; + }; + + return Splat; + + })(Base); + + exports.While = While = (function(_super) { + + __extends(While, _super); + + function While(condition, options) { + this.condition = (options != null ? options.invert : void 0) ? condition.invert() : condition; + this.guard = options != null ? options.guard : void 0; + } + + While.prototype.children = ['condition', 'guard', 'body']; + + While.prototype.isStatement = YES; + + While.prototype.makeReturn = function(res) { + if (res) { + return While.__super__.makeReturn.apply(this, arguments); + } else { + this.returns = !this.jumps({ + loop: true + }); + return this; + } + }; + + While.prototype.addBody = function(body) { + this.body = body; + return this; + }; + + While.prototype.jumps = function() { + var expressions, node, _i, _len; + expressions = this.body.expressions; + if (!expressions.length) { + return false; + } + for (_i = 0, _len = expressions.length; _i < _len; _i++) { + node = expressions[_i]; + if (node.jumps({ + loop: true + })) { + return node; + } + } + return false; + }; + + While.prototype.compileNode = function(o) { + var body, code, rvar, set; + o.indent += TAB; + set = ''; + body = this.body; + if (body.isEmpty()) { + body = ''; + } else { + if (this.returns) { + body.makeReturn(rvar = o.scope.freeVariable('results')); + set = "" + this.tab + rvar + " = [];\n"; + } + if (this.guard) { + if (body.expressions.length > 1) { + body.expressions.unshift(new If((new Parens(this.guard)).invert(), new Literal("continue"))); + } else { + if (this.guard) { + body = Block.wrap([new If(this.guard, body)]); + } + } + } + body = "\n" + (body.compile(o, LEVEL_TOP)) + "\n" + this.tab; + } + code = set + this.tab + ("while (" + (this.condition.compile(o, LEVEL_PAREN)) + ") {" + body + "}"); + if (this.returns) { + code += "\n" + this.tab + "return " + rvar + ";"; + } + return code; + }; + + return While; + + })(Base); + + exports.Op = Op = (function(_super) { + var CONVERSIONS, INVERSIONS; + + __extends(Op, _super); + + function Op(op, first, second, flip) { + if (op === 'in') { + return new In(first, second); + } + if (op === 'do') { + return this.generateDo(first); + } + if (op === 'new') { + if (first instanceof Call && !first["do"] && !first.isNew) { + return first.newInstance(); + } + if (first instanceof Code && first.bound || first["do"]) { + first = new Parens(first); + } + } + this.operator = CONVERSIONS[op] || op; + this.first = first; + this.second = second; + this.flip = !!flip; + return this; + } + + CONVERSIONS = { + '==': '===', + '!=': '!==', + 'of': 'in' + }; + + INVERSIONS = { + '!==': '===', + '===': '!==' + }; + + Op.prototype.children = ['first', 'second']; + + Op.prototype.isSimpleNumber = NO; + + Op.prototype.isUnary = function() { + return !this.second; + }; + + Op.prototype.isComplex = function() { + var _ref2; + return !(this.isUnary() && ((_ref2 = this.operator) === '+' || _ref2 === '-')) || this.first.isComplex(); + }; + + Op.prototype.isChainable = function() { + var _ref2; + return (_ref2 = this.operator) === '<' || _ref2 === '>' || _ref2 === '>=' || _ref2 === '<=' || _ref2 === '===' || _ref2 === '!=='; + }; + + Op.prototype.invert = function() { + var allInvertable, curr, fst, op, _ref2; + if (this.isChainable() && this.first.isChainable()) { + allInvertable = true; + curr = this; + while (curr && curr.operator) { + allInvertable && (allInvertable = curr.operator in INVERSIONS); + curr = curr.first; + } + if (!allInvertable) { + return new Parens(this).invert(); + } + curr = this; + while (curr && curr.operator) { + curr.invert = !curr.invert; + curr.operator = INVERSIONS[curr.operator]; + curr = curr.first; + } + return this; + } else if (op = INVERSIONS[this.operator]) { + this.operator = op; + if (this.first.unwrap() instanceof Op) { + this.first.invert(); + } + return this; + } else if (this.second) { + return new Parens(this).invert(); + } else if (this.operator === '!' && (fst = this.first.unwrap()) instanceof Op && ((_ref2 = fst.operator) === '!' || _ref2 === 'in' || _ref2 === 'instanceof')) { + return fst; + } else { + return new Op('!', this); + } + }; + + Op.prototype.unfoldSoak = function(o) { + var _ref2; + return ((_ref2 = this.operator) === '++' || _ref2 === '--' || _ref2 === 'delete') && unfoldSoak(o, this, 'first'); + }; + + Op.prototype.generateDo = function(exp) { + var call, func, param, passedParams, ref, _i, _len, _ref2; + passedParams = []; + func = exp instanceof Assign && (ref = exp.value.unwrap()) instanceof Code ? ref : exp; + _ref2 = func.params || []; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + param = _ref2[_i]; + if (param.value) { + passedParams.push(param.value); + delete param.value; + } else { + passedParams.push(param); + } + } + call = new Call(exp, passedParams); + call["do"] = true; + return call; + }; + + Op.prototype.compileNode = function(o) { + var code, isChain, _ref2, _ref3; + isChain = this.isChainable() && this.first.isChainable(); + if (!isChain) { + this.first.front = this.front; + } + if (this.operator === 'delete' && o.scope.check(this.first.unwrapAll().value)) { + throw SyntaxError('delete operand may not be argument or var'); + } + if (((_ref2 = this.operator) === '--' || _ref2 === '++') && (_ref3 = this.first.unwrapAll().value, __indexOf.call(STRICT_PROSCRIBED, _ref3) >= 0)) { + throw SyntaxError('prefix increment/decrement may not have eval or arguments operand'); + } + if (this.isUnary()) { + return this.compileUnary(o); + } + if (isChain) { + return this.compileChain(o); + } + if (this.operator === '?') { + return this.compileExistence(o); + } + code = this.first.compile(o, LEVEL_OP) + ' ' + this.operator + ' ' + this.second.compile(o, LEVEL_OP); + if (o.level <= LEVEL_OP) { + return code; + } else { + return "(" + code + ")"; + } + }; + + Op.prototype.compileChain = function(o) { + var code, fst, shared, _ref2; + _ref2 = this.first.second.cache(o), this.first.second = _ref2[0], shared = _ref2[1]; + fst = this.first.compile(o, LEVEL_OP); + code = "" + fst + " " + (this.invert ? '&&' : '||') + " " + (shared.compile(o)) + " " + this.operator + " " + (this.second.compile(o, LEVEL_OP)); + return "(" + code + ")"; + }; + + Op.prototype.compileExistence = function(o) { + var fst, ref; + if (this.first.isComplex()) { + ref = new Literal(o.scope.freeVariable('ref')); + fst = new Parens(new Assign(ref, this.first)); + } else { + fst = this.first; + ref = fst; + } + return new If(new Existence(fst), ref, { + type: 'if' + }).addElse(this.second).compile(o); + }; + + Op.prototype.compileUnary = function(o) { + var op, parts, plusMinus; + if (o.level >= LEVEL_ACCESS) { + return (new Parens(this)).compile(o); + } + parts = [op = this.operator]; + plusMinus = op === '+' || op === '-'; + if ((op === 'new' || op === 'typeof' || op === 'delete') || plusMinus && this.first instanceof Op && this.first.operator === op) { + parts.push(' '); + } + if ((plusMinus && this.first instanceof Op) || (op === 'new' && this.first.isStatement(o))) { + this.first = new Parens(this.first); + } + parts.push(this.first.compile(o, LEVEL_OP)); + if (this.flip) { + parts.reverse(); + } + return parts.join(''); + }; + + Op.prototype.toString = function(idt) { + return Op.__super__.toString.call(this, idt, this.constructor.name + ' ' + this.operator); + }; + + return Op; + + })(Base); + + exports.In = In = (function(_super) { + + __extends(In, _super); + + function In(object, array) { + this.object = object; + this.array = array; + } + + In.prototype.children = ['object', 'array']; + + In.prototype.invert = NEGATE; + + In.prototype.compileNode = function(o) { + var hasSplat, obj, _i, _len, _ref2; + if (this.array instanceof Value && this.array.isArray()) { + _ref2 = this.array.base.objects; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + obj = _ref2[_i]; + if (!(obj instanceof Splat)) { + continue; + } + hasSplat = true; + break; + } + if (!hasSplat) { + return this.compileOrTest(o); + } + } + return this.compileLoopTest(o); + }; + + In.prototype.compileOrTest = function(o) { + var cmp, cnj, i, item, ref, sub, tests, _ref2, _ref3; + if (this.array.base.objects.length === 0) { + return "" + (!!this.negated); + } + _ref2 = this.object.cache(o, LEVEL_OP), sub = _ref2[0], ref = _ref2[1]; + _ref3 = this.negated ? [' !== ', ' && '] : [' === ', ' || '], cmp = _ref3[0], cnj = _ref3[1]; + tests = (function() { + var _i, _len, _ref4, _results; + _ref4 = this.array.base.objects; + _results = []; + for (i = _i = 0, _len = _ref4.length; _i < _len; i = ++_i) { + item = _ref4[i]; + _results.push((i ? ref : sub) + cmp + item.compile(o, LEVEL_ACCESS)); + } + return _results; + }).call(this); + tests = tests.join(cnj); + if (o.level < LEVEL_OP) { + return tests; + } else { + return "(" + tests + ")"; + } + }; + + In.prototype.compileLoopTest = function(o) { + var code, ref, sub, _ref2; + _ref2 = this.object.cache(o, LEVEL_LIST), sub = _ref2[0], ref = _ref2[1]; + code = utility('indexOf') + (".call(" + (this.array.compile(o, LEVEL_LIST)) + ", " + ref + ") ") + (this.negated ? '< 0' : '>= 0'); + if (sub === ref) { + return code; + } + code = sub + ', ' + code; + if (o.level < LEVEL_LIST) { + return code; + } else { + return "(" + code + ")"; + } + }; + + In.prototype.toString = function(idt) { + return In.__super__.toString.call(this, idt, this.constructor.name + (this.negated ? '!' : '')); + }; + + return In; + + })(Base); + + exports.Try = Try = (function(_super) { + + __extends(Try, _super); + + function Try(attempt, error, recovery, ensure) { + this.attempt = attempt; + this.error = error; + this.recovery = recovery; + this.ensure = ensure; + } + + Try.prototype.children = ['attempt', 'recovery', 'ensure']; + + Try.prototype.isStatement = YES; + + Try.prototype.jumps = function(o) { + var _ref2; + return this.attempt.jumps(o) || ((_ref2 = this.recovery) != null ? _ref2.jumps(o) : void 0); + }; + + Try.prototype.makeReturn = function(res) { + if (this.attempt) { + this.attempt = this.attempt.makeReturn(res); + } + if (this.recovery) { + this.recovery = this.recovery.makeReturn(res); + } + return this; + }; + + Try.prototype.compileNode = function(o) { + var catchPart, ensurePart, errorPart, tryPart; + o.indent += TAB; + errorPart = this.error ? " (" + (this.error.compile(o)) + ") " : ' '; + tryPart = this.attempt.compile(o, LEVEL_TOP); + catchPart = (function() { + var _ref2; + if (this.recovery) { + if (_ref2 = this.error.value, __indexOf.call(STRICT_PROSCRIBED, _ref2) >= 0) { + throw SyntaxError("catch variable may not be \"" + this.error.value + "\""); + } + if (!o.scope.check(this.error.value)) { + o.scope.add(this.error.value, 'param'); + } + return " catch" + errorPart + "{\n" + (this.recovery.compile(o, LEVEL_TOP)) + "\n" + this.tab + "}"; + } else if (!(this.ensure || this.recovery)) { + return ' catch (_error) {}'; + } + }).call(this); + ensurePart = this.ensure ? " finally {\n" + (this.ensure.compile(o, LEVEL_TOP)) + "\n" + this.tab + "}" : ''; + return "" + this.tab + "try {\n" + tryPart + "\n" + this.tab + "}" + (catchPart || '') + ensurePart; + }; + + return Try; + + })(Base); + + exports.Throw = Throw = (function(_super) { + + __extends(Throw, _super); + + function Throw(expression) { + this.expression = expression; + } + + Throw.prototype.children = ['expression']; + + Throw.prototype.isStatement = YES; + + Throw.prototype.jumps = NO; + + Throw.prototype.makeReturn = THIS; + + Throw.prototype.compileNode = function(o) { + return this.tab + ("throw " + (this.expression.compile(o)) + ";"); + }; + + return Throw; + + })(Base); + + exports.Existence = Existence = (function(_super) { + + __extends(Existence, _super); + + function Existence(expression) { + this.expression = expression; + } + + Existence.prototype.children = ['expression']; + + Existence.prototype.invert = NEGATE; + + Existence.prototype.compileNode = function(o) { + var cmp, cnj, code, _ref2; + this.expression.front = this.front; + code = this.expression.compile(o, LEVEL_OP); + if (IDENTIFIER.test(code) && !o.scope.check(code)) { + _ref2 = this.negated ? ['===', '||'] : ['!==', '&&'], cmp = _ref2[0], cnj = _ref2[1]; + code = "typeof " + code + " " + cmp + " \"undefined\" " + cnj + " " + code + " " + cmp + " null"; + } else { + code = "" + code + " " + (this.negated ? '==' : '!=') + " null"; + } + if (o.level <= LEVEL_COND) { + return code; + } else { + return "(" + code + ")"; + } + }; + + return Existence; + + })(Base); + + exports.Parens = Parens = (function(_super) { + + __extends(Parens, _super); + + function Parens(body) { + this.body = body; + } + + Parens.prototype.children = ['body']; + + Parens.prototype.unwrap = function() { + return this.body; + }; + + Parens.prototype.isComplex = function() { + return this.body.isComplex(); + }; + + Parens.prototype.compileNode = function(o) { + var bare, code, expr; + expr = this.body.unwrap(); + if (expr instanceof Value && expr.isAtomic()) { + expr.front = this.front; + return expr.compile(o); + } + code = expr.compile(o, LEVEL_PAREN); + bare = o.level < LEVEL_OP && (expr instanceof Op || expr instanceof Call || (expr instanceof For && expr.returns)); + if (bare) { + return code; + } else { + return "(" + code + ")"; + } + }; + + return Parens; + + })(Base); + + exports.For = For = (function(_super) { + + __extends(For, _super); + + function For(body, source) { + var _ref2; + this.source = source.source, this.guard = source.guard, this.step = source.step, this.name = source.name, this.index = source.index; + this.body = Block.wrap([body]); + this.own = !!source.own; + this.object = !!source.object; + if (this.object) { + _ref2 = [this.index, this.name], this.name = _ref2[0], this.index = _ref2[1]; + } + if (this.index instanceof Value) { + throw SyntaxError('index cannot be a pattern matching expression'); + } + this.range = this.source instanceof Value && this.source.base instanceof Range && !this.source.properties.length; + this.pattern = this.name instanceof Value; + if (this.range && this.index) { + throw SyntaxError('indexes do not apply to range loops'); + } + if (this.range && this.pattern) { + throw SyntaxError('cannot pattern match over range loops'); + } + this.returns = false; + } + + For.prototype.children = ['body', 'source', 'guard', 'step']; + + For.prototype.compileNode = function(o) { + var body, defPart, forPart, forVarPart, guardPart, idt1, index, ivar, kvar, kvarAssign, lastJumps, lvar, name, namePart, ref, resultPart, returnResult, rvar, scope, source, stepPart, stepvar, svar, varPart, _ref2; + body = Block.wrap([this.body]); + lastJumps = (_ref2 = last(body.expressions)) != null ? _ref2.jumps() : void 0; + if (lastJumps && lastJumps instanceof Return) { + this.returns = false; + } + source = this.range ? this.source.base : this.source; + scope = o.scope; + name = this.name && this.name.compile(o, LEVEL_LIST); + index = this.index && this.index.compile(o, LEVEL_LIST); + if (name && !this.pattern) { + scope.find(name); + } + if (index) { + scope.find(index); + } + if (this.returns) { + rvar = scope.freeVariable('results'); + } + ivar = (this.object && index) || scope.freeVariable('i'); + kvar = (this.range && name) || index || ivar; + kvarAssign = kvar !== ivar ? "" + kvar + " = " : ""; + if (this.step && !this.range) { + stepvar = scope.freeVariable("step"); + } + if (this.pattern) { + name = ivar; + } + varPart = ''; + guardPart = ''; + defPart = ''; + idt1 = this.tab + TAB; + if (this.range) { + forPart = source.compile(merge(o, { + index: ivar, + name: name, + step: this.step + })); + } else { + svar = this.source.compile(o, LEVEL_LIST); + if ((name || this.own) && !IDENTIFIER.test(svar)) { + defPart = "" + this.tab + (ref = scope.freeVariable('ref')) + " = " + svar + ";\n"; + svar = ref; + } + if (name && !this.pattern) { + namePart = "" + name + " = " + svar + "[" + kvar + "]"; + } + if (!this.object) { + lvar = scope.freeVariable('len'); + forVarPart = "" + kvarAssign + ivar + " = 0, " + lvar + " = " + svar + ".length"; + if (this.step) { + forVarPart += ", " + stepvar + " = " + (this.step.compile(o, LEVEL_OP)); + } + stepPart = "" + kvarAssign + (this.step ? "" + ivar + " += " + stepvar : (kvar !== ivar ? "++" + ivar : "" + ivar + "++")); + forPart = "" + forVarPart + "; " + ivar + " < " + lvar + "; " + stepPart; + } + } + if (this.returns) { + resultPart = "" + this.tab + rvar + " = [];\n"; + returnResult = "\n" + this.tab + "return " + rvar + ";"; + body.makeReturn(rvar); + } + if (this.guard) { + if (body.expressions.length > 1) { + body.expressions.unshift(new If((new Parens(this.guard)).invert(), new Literal("continue"))); + } else { + if (this.guard) { + body = Block.wrap([new If(this.guard, body)]); + } + } + } + if (this.pattern) { + body.expressions.unshift(new Assign(this.name, new Literal("" + svar + "[" + kvar + "]"))); + } + defPart += this.pluckDirectCall(o, body); + if (namePart) { + varPart = "\n" + idt1 + namePart + ";"; + } + if (this.object) { + forPart = "" + kvar + " in " + svar; + if (this.own) { + guardPart = "\n" + idt1 + "if (!" + (utility('hasProp')) + ".call(" + svar + ", " + kvar + ")) continue;"; + } + } + body = body.compile(merge(o, { + indent: idt1 + }), LEVEL_TOP); + if (body) { + body = '\n' + body + '\n'; + } + return "" + defPart + (resultPart || '') + this.tab + "for (" + forPart + ") {" + guardPart + varPart + body + this.tab + "}" + (returnResult || ''); + }; + + For.prototype.pluckDirectCall = function(o, body) { + var base, defs, expr, fn, idx, ref, val, _i, _len, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7; + defs = ''; + _ref2 = body.expressions; + for (idx = _i = 0, _len = _ref2.length; _i < _len; idx = ++_i) { + expr = _ref2[idx]; + expr = expr.unwrapAll(); + if (!(expr instanceof Call)) { + continue; + } + val = expr.variable.unwrapAll(); + if (!((val instanceof Code) || (val instanceof Value && ((_ref3 = val.base) != null ? _ref3.unwrapAll() : void 0) instanceof Code && val.properties.length === 1 && ((_ref4 = (_ref5 = val.properties[0].name) != null ? _ref5.value : void 0) === 'call' || _ref4 === 'apply')))) { + continue; + } + fn = ((_ref6 = val.base) != null ? _ref6.unwrapAll() : void 0) || val; + ref = new Literal(o.scope.freeVariable('fn')); + base = new Value(ref); + if (val.base) { + _ref7 = [base, val], val.base = _ref7[0], base = _ref7[1]; + } + body.expressions[idx] = new Call(base, expr.args); + defs += this.tab + new Assign(ref, fn).compile(o, LEVEL_TOP) + ';\n'; + } + return defs; + }; + + return For; + + })(While); + + exports.Switch = Switch = (function(_super) { + + __extends(Switch, _super); + + function Switch(subject, cases, otherwise) { + this.subject = subject; + this.cases = cases; + this.otherwise = otherwise; + } + + Switch.prototype.children = ['subject', 'cases', 'otherwise']; + + Switch.prototype.isStatement = YES; + + Switch.prototype.jumps = function(o) { + var block, conds, _i, _len, _ref2, _ref3, _ref4; + if (o == null) { + o = { + block: true + }; + } + _ref2 = this.cases; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + _ref3 = _ref2[_i], conds = _ref3[0], block = _ref3[1]; + if (block.jumps(o)) { + return block; + } + } + return (_ref4 = this.otherwise) != null ? _ref4.jumps(o) : void 0; + }; + + Switch.prototype.makeReturn = function(res) { + var pair, _i, _len, _ref2, _ref3; + _ref2 = this.cases; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + pair = _ref2[_i]; + pair[1].makeReturn(res); + } + if (res) { + this.otherwise || (this.otherwise = new Block([new Literal('void 0')])); + } + if ((_ref3 = this.otherwise) != null) { + _ref3.makeReturn(res); + } + return this; + }; + + Switch.prototype.compileNode = function(o) { + var block, body, code, cond, conditions, expr, i, idt1, idt2, _i, _j, _len, _len1, _ref2, _ref3, _ref4, _ref5; + idt1 = o.indent + TAB; + idt2 = o.indent = idt1 + TAB; + code = this.tab + ("switch (" + (((_ref2 = this.subject) != null ? _ref2.compile(o, LEVEL_PAREN) : void 0) || false) + ") {\n"); + _ref3 = this.cases; + for (i = _i = 0, _len = _ref3.length; _i < _len; i = ++_i) { + _ref4 = _ref3[i], conditions = _ref4[0], block = _ref4[1]; + _ref5 = flatten([conditions]); + for (_j = 0, _len1 = _ref5.length; _j < _len1; _j++) { + cond = _ref5[_j]; + if (!this.subject) { + cond = cond.invert(); + } + code += idt1 + ("case " + (cond.compile(o, LEVEL_PAREN)) + ":\n"); + } + if (body = block.compile(o, LEVEL_TOP)) { + code += body + '\n'; + } + if (i === this.cases.length - 1 && !this.otherwise) { + break; + } + expr = this.lastNonComment(block.expressions); + if (expr instanceof Return || (expr instanceof Literal && expr.jumps() && expr.value !== 'debugger')) { + continue; + } + code += idt2 + 'break;\n'; + } + if (this.otherwise && this.otherwise.expressions.length) { + code += idt1 + ("default:\n" + (this.otherwise.compile(o, LEVEL_TOP)) + "\n"); + } + return code + this.tab + '}'; + }; + + return Switch; + + })(Base); + + exports.If = If = (function(_super) { + + __extends(If, _super); + + function If(condition, body, options) { + this.body = body; + if (options == null) { + options = {}; + } + this.condition = options.type === 'unless' ? condition.invert() : condition; + this.elseBody = null; + this.isChain = false; + this.soak = options.soak; + } + + If.prototype.children = ['condition', 'body', 'elseBody']; + + If.prototype.bodyNode = function() { + var _ref2; + return (_ref2 = this.body) != null ? _ref2.unwrap() : void 0; + }; + + If.prototype.elseBodyNode = function() { + var _ref2; + return (_ref2 = this.elseBody) != null ? _ref2.unwrap() : void 0; + }; + + If.prototype.addElse = function(elseBody) { + if (this.isChain) { + this.elseBodyNode().addElse(elseBody); + } else { + this.isChain = elseBody instanceof If; + this.elseBody = this.ensureBlock(elseBody); + } + return this; + }; + + If.prototype.isStatement = function(o) { + var _ref2; + return (o != null ? o.level : void 0) === LEVEL_TOP || this.bodyNode().isStatement(o) || ((_ref2 = this.elseBodyNode()) != null ? _ref2.isStatement(o) : void 0); + }; + + If.prototype.jumps = function(o) { + var _ref2; + return this.body.jumps(o) || ((_ref2 = this.elseBody) != null ? _ref2.jumps(o) : void 0); + }; + + If.prototype.compileNode = function(o) { + if (this.isStatement(o)) { + return this.compileStatement(o); + } else { + return this.compileExpression(o); + } + }; + + If.prototype.makeReturn = function(res) { + if (res) { + this.elseBody || (this.elseBody = new Block([new Literal('void 0')])); + } + this.body && (this.body = new Block([this.body.makeReturn(res)])); + this.elseBody && (this.elseBody = new Block([this.elseBody.makeReturn(res)])); + return this; + }; + + If.prototype.ensureBlock = function(node) { + if (node instanceof Block) { + return node; + } else { + return new Block([node]); + } + }; + + If.prototype.compileStatement = function(o) { + var body, child, cond, exeq, ifPart; + child = del(o, 'chainChild'); + exeq = del(o, 'isExistentialEquals'); + if (exeq) { + return new If(this.condition.invert(), this.elseBodyNode(), { + type: 'if' + }).compile(o); + } + cond = this.condition.compile(o, LEVEL_PAREN); + o.indent += TAB; + body = this.ensureBlock(this.body); + ifPart = "if (" + cond + ") {\n" + (body.compile(o)) + "\n" + this.tab + "}"; + if (!child) { + ifPart = this.tab + ifPart; + } + if (!this.elseBody) { + return ifPart; + } + return ifPart + ' else ' + (this.isChain ? (o.indent = this.tab, o.chainChild = true, this.elseBody.unwrap().compile(o, LEVEL_TOP)) : "{\n" + (this.elseBody.compile(o, LEVEL_TOP)) + "\n" + this.tab + "}"); + }; + + If.prototype.compileExpression = function(o) { + var alt, body, code, cond; + cond = this.condition.compile(o, LEVEL_COND); + body = this.bodyNode().compile(o, LEVEL_LIST); + alt = this.elseBodyNode() ? this.elseBodyNode().compile(o, LEVEL_LIST) : 'void 0'; + code = "" + cond + " ? " + body + " : " + alt; + if (o.level >= LEVEL_COND) { + return "(" + code + ")"; + } else { + return code; + } + }; + + If.prototype.unfoldSoak = function() { + return this.soak && this; + }; + + return If; + + })(Base); + + Closure = { + wrap: function(expressions, statement, noReturn) { + var args, call, func, mentionsArgs, meth; + if (expressions.jumps()) { + return expressions; + } + func = new Code([], Block.wrap([expressions])); + args = []; + if ((mentionsArgs = expressions.contains(this.literalArgs)) || expressions.contains(this.literalThis)) { + meth = new Literal(mentionsArgs ? 'apply' : 'call'); + args = [new Literal('this')]; + if (mentionsArgs) { + args.push(new Literal('arguments')); + } + func = new Value(func, [new Access(meth)]); + } + func.noReturn = noReturn; + call = new Call(func, args); + if (statement) { + return Block.wrap([call]); + } else { + return call; + } + }, + literalArgs: function(node) { + return node instanceof Literal && node.value === 'arguments' && !node.asKey; + }, + literalThis: function(node) { + return (node instanceof Literal && node.value === 'this' && !node.asKey) || (node instanceof Code && node.bound) || (node instanceof Call && node.isSuper); + } + }; + + unfoldSoak = function(o, parent, name) { + var ifn; + if (!(ifn = parent[name].unfoldSoak(o))) { + return; + } + parent[name] = ifn.body; + ifn.body = new Value(parent); + return ifn; + }; + + UTILITIES = { + "extends": function() { + return "function(child, parent) { for (var key in parent) { if (" + (utility('hasProp')) + ".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"; + }, + bind: function() { + return 'function(fn, me){ return function(){ return fn.apply(me, arguments); }; }'; + }, + indexOf: function() { + return "[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"; + }, + hasProp: function() { + return '{}.hasOwnProperty'; + }, + slice: function() { + return '[].slice'; + } + }; + + LEVEL_TOP = 1; + + LEVEL_PAREN = 2; + + LEVEL_LIST = 3; + + LEVEL_COND = 4; + + LEVEL_OP = 5; + + LEVEL_ACCESS = 6; + + TAB = ' '; + + IDENTIFIER_STR = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*"; + + IDENTIFIER = RegExp("^" + IDENTIFIER_STR + "$"); + + SIMPLENUM = /^[+-]?\d+$/; + + METHOD_DEF = RegExp("^(?:(" + IDENTIFIER_STR + ")\\.prototype(?:\\.(" + IDENTIFIER_STR + ")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\]))|(" + IDENTIFIER_STR + ")$"); + + IS_STRING = /^['"]/; + + utility = function(name) { + var ref; + ref = "__" + name; + Scope.root.assign(ref, UTILITIES[name]()); + return ref; + }; + + multident = function(code, tab) { + code = code.replace(/\n/g, '$&' + tab); + return code.replace(/\s+$/, ''); + }; + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js new file mode 100644 index 0000000..d7fda40 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js @@ -0,0 +1,138 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var LONG_FLAG, MULTI_FLAG, OPTIONAL, OptionParser, SHORT_FLAG, buildRule, buildRules, normalizeArguments; + + exports.OptionParser = OptionParser = (function() { + + function OptionParser(rules, banner) { + this.banner = banner; + this.rules = buildRules(rules); + } + + OptionParser.prototype.parse = function(args) { + var arg, i, isOption, matchedRule, options, originalArgs, pos, rule, seenNonOptionArg, skippingArgument, value, _i, _j, _len, _len1, _ref; + options = { + "arguments": [] + }; + skippingArgument = false; + originalArgs = args; + args = normalizeArguments(args); + for (i = _i = 0, _len = args.length; _i < _len; i = ++_i) { + arg = args[i]; + if (skippingArgument) { + skippingArgument = false; + continue; + } + if (arg === '--') { + pos = originalArgs.indexOf('--'); + options["arguments"] = options["arguments"].concat(originalArgs.slice(pos + 1)); + break; + } + isOption = !!(arg.match(LONG_FLAG) || arg.match(SHORT_FLAG)); + seenNonOptionArg = options["arguments"].length > 0; + if (!seenNonOptionArg) { + matchedRule = false; + _ref = this.rules; + for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { + rule = _ref[_j]; + if (rule.shortFlag === arg || rule.longFlag === arg) { + value = true; + if (rule.hasArgument) { + skippingArgument = true; + value = args[i + 1]; + } + options[rule.name] = rule.isList ? (options[rule.name] || []).concat(value) : value; + matchedRule = true; + break; + } + } + if (isOption && !matchedRule) { + throw new Error("unrecognized option: " + arg); + } + } + if (seenNonOptionArg || !isOption) { + options["arguments"].push(arg); + } + } + return options; + }; + + OptionParser.prototype.help = function() { + var letPart, lines, rule, spaces, _i, _len, _ref; + lines = []; + if (this.banner) { + lines.unshift("" + this.banner + "\n"); + } + _ref = this.rules; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + rule = _ref[_i]; + spaces = 15 - rule.longFlag.length; + spaces = spaces > 0 ? Array(spaces + 1).join(' ') : ''; + letPart = rule.shortFlag ? rule.shortFlag + ', ' : ' '; + lines.push(' ' + letPart + rule.longFlag + spaces + rule.description); + } + return "\n" + (lines.join('\n')) + "\n"; + }; + + return OptionParser; + + })(); + + LONG_FLAG = /^(--\w[\w\-]*)/; + + SHORT_FLAG = /^(-\w)$/; + + MULTI_FLAG = /^-(\w{2,})/; + + OPTIONAL = /\[(\w+(\*?))\]/; + + buildRules = function(rules) { + var tuple, _i, _len, _results; + _results = []; + for (_i = 0, _len = rules.length; _i < _len; _i++) { + tuple = rules[_i]; + if (tuple.length < 3) { + tuple.unshift(null); + } + _results.push(buildRule.apply(null, tuple)); + } + return _results; + }; + + buildRule = function(shortFlag, longFlag, description, options) { + var match; + if (options == null) { + options = {}; + } + match = longFlag.match(OPTIONAL); + longFlag = longFlag.match(LONG_FLAG)[1]; + return { + name: longFlag.substr(2), + shortFlag: shortFlag, + longFlag: longFlag, + description: description, + hasArgument: !!(match && match[1]), + isList: !!(match && match[2]) + }; + }; + + normalizeArguments = function(args) { + var arg, l, match, result, _i, _j, _len, _len1, _ref; + args = args.slice(0); + result = []; + for (_i = 0, _len = args.length; _i < _len; _i++) { + arg = args[_i]; + if (match = arg.match(MULTI_FLAG)) { + _ref = match[1].split(''); + for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { + l = _ref[_j]; + result.push('-' + l); + } + } else { + result.push(arg); + } + } + return result; + }; + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js new file mode 100644 index 0000000..f049903 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js @@ -0,0 +1,683 @@ +/* Jison generated parser */ +var parser = (function(){ +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"Root":3,"Body":4,"Block":5,"TERMINATOR":6,"Line":7,"Expression":8,"Statement":9,"Return":10,"Comment":11,"STATEMENT":12,"Value":13,"Invocation":14,"Code":15,"Operation":16,"Assign":17,"If":18,"Try":19,"While":20,"For":21,"Switch":22,"Class":23,"Throw":24,"INDENT":25,"OUTDENT":26,"Identifier":27,"IDENTIFIER":28,"AlphaNumeric":29,"NUMBER":30,"STRING":31,"Literal":32,"JS":33,"REGEX":34,"DEBUGGER":35,"UNDEFINED":36,"NULL":37,"BOOL":38,"Assignable":39,"=":40,"AssignObj":41,"ObjAssignable":42,":":43,"ThisProperty":44,"RETURN":45,"HERECOMMENT":46,"PARAM_START":47,"ParamList":48,"PARAM_END":49,"FuncGlyph":50,"->":51,"=>":52,"OptComma":53,",":54,"Param":55,"ParamVar":56,"...":57,"Array":58,"Object":59,"Splat":60,"SimpleAssignable":61,"Accessor":62,"Parenthetical":63,"Range":64,"This":65,".":66,"?.":67,"::":68,"Index":69,"INDEX_START":70,"IndexValue":71,"INDEX_END":72,"INDEX_SOAK":73,"Slice":74,"{":75,"AssignList":76,"}":77,"CLASS":78,"EXTENDS":79,"OptFuncExist":80,"Arguments":81,"SUPER":82,"FUNC_EXIST":83,"CALL_START":84,"CALL_END":85,"ArgList":86,"THIS":87,"@":88,"[":89,"]":90,"RangeDots":91,"..":92,"Arg":93,"SimpleArgs":94,"TRY":95,"Catch":96,"FINALLY":97,"CATCH":98,"THROW":99,"(":100,")":101,"WhileSource":102,"WHILE":103,"WHEN":104,"UNTIL":105,"Loop":106,"LOOP":107,"ForBody":108,"FOR":109,"ForStart":110,"ForSource":111,"ForVariables":112,"OWN":113,"ForValue":114,"FORIN":115,"FOROF":116,"BY":117,"SWITCH":118,"Whens":119,"ELSE":120,"When":121,"LEADING_WHEN":122,"IfBlock":123,"IF":124,"POST_IF":125,"UNARY":126,"-":127,"+":128,"--":129,"++":130,"?":131,"MATH":132,"SHIFT":133,"COMPARE":134,"LOGIC":135,"RELATION":136,"COMPOUND_ASSIGN":137,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"TERMINATOR",12:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",31:"STRING",33:"JS",34:"REGEX",35:"DEBUGGER",36:"UNDEFINED",37:"NULL",38:"BOOL",40:"=",43:":",45:"RETURN",46:"HERECOMMENT",47:"PARAM_START",49:"PARAM_END",51:"->",52:"=>",54:",",57:"...",66:".",67:"?.",68:"::",70:"INDEX_START",72:"INDEX_END",73:"INDEX_SOAK",75:"{",77:"}",78:"CLASS",79:"EXTENDS",82:"SUPER",83:"FUNC_EXIST",84:"CALL_START",85:"CALL_END",87:"THIS",88:"@",89:"[",90:"]",92:"..",95:"TRY",97:"FINALLY",98:"CATCH",99:"THROW",100:"(",101:")",103:"WHILE",104:"WHEN",105:"UNTIL",107:"LOOP",109:"FOR",113:"OWN",115:"FORIN",116:"FOROF",117:"BY",118:"SWITCH",120:"ELSE",122:"LEADING_WHEN",124:"IF",125:"POST_IF",126:"UNARY",127:"-",128:"+",129:"--",130:"++",131:"?",132:"MATH",133:"SHIFT",134:"COMPARE",135:"LOGIC",136:"RELATION",137:"COMPOUND_ASSIGN"}, +productions_: [0,[3,0],[3,1],[3,2],[4,1],[4,3],[4,2],[7,1],[7,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[5,2],[5,3],[27,1],[29,1],[29,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[17,3],[17,4],[17,5],[41,1],[41,3],[41,5],[41,1],[42,1],[42,1],[42,1],[10,2],[10,1],[11,1],[15,5],[15,2],[50,1],[50,1],[53,0],[53,1],[48,0],[48,1],[48,3],[48,4],[48,6],[55,1],[55,2],[55,3],[56,1],[56,1],[56,1],[56,1],[60,2],[61,1],[61,2],[61,2],[61,1],[39,1],[39,1],[39,1],[13,1],[13,1],[13,1],[13,1],[13,1],[62,2],[62,2],[62,2],[62,1],[62,1],[69,3],[69,2],[71,1],[71,1],[59,4],[76,0],[76,1],[76,3],[76,4],[76,6],[23,1],[23,2],[23,3],[23,4],[23,2],[23,3],[23,4],[23,5],[14,3],[14,3],[14,1],[14,2],[80,0],[80,1],[81,2],[81,4],[65,1],[65,1],[44,2],[58,2],[58,4],[91,1],[91,1],[64,5],[74,3],[74,2],[74,2],[74,1],[86,1],[86,3],[86,4],[86,4],[86,6],[93,1],[93,1],[94,1],[94,3],[19,2],[19,3],[19,4],[19,5],[96,3],[24,2],[63,3],[63,5],[102,2],[102,4],[102,2],[102,4],[20,2],[20,2],[20,2],[20,1],[106,2],[106,2],[21,2],[21,2],[21,2],[108,2],[108,2],[110,2],[110,3],[114,1],[114,1],[114,1],[114,1],[112,1],[112,3],[111,2],[111,2],[111,4],[111,4],[111,4],[111,6],[111,6],[22,5],[22,7],[22,4],[22,6],[119,1],[119,2],[121,3],[121,4],[123,3],[123,5],[18,1],[18,3],[18,3],[18,3],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,5],[16,3]], +performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { + +var $0 = $$.length - 1; +switch (yystate) { +case 1:return this.$ = new yy.Block; +break; +case 2:return this.$ = $$[$0]; +break; +case 3:return this.$ = $$[$0-1]; +break; +case 4:this.$ = yy.Block.wrap([$$[$0]]); +break; +case 5:this.$ = $$[$0-2].push($$[$0]); +break; +case 6:this.$ = $$[$0-1]; +break; +case 7:this.$ = $$[$0]; +break; +case 8:this.$ = $$[$0]; +break; +case 9:this.$ = $$[$0]; +break; +case 10:this.$ = $$[$0]; +break; +case 11:this.$ = new yy.Literal($$[$0]); +break; +case 12:this.$ = $$[$0]; +break; +case 13:this.$ = $$[$0]; +break; +case 14:this.$ = $$[$0]; +break; +case 15:this.$ = $$[$0]; +break; +case 16:this.$ = $$[$0]; +break; +case 17:this.$ = $$[$0]; +break; +case 18:this.$ = $$[$0]; +break; +case 19:this.$ = $$[$0]; +break; +case 20:this.$ = $$[$0]; +break; +case 21:this.$ = $$[$0]; +break; +case 22:this.$ = $$[$0]; +break; +case 23:this.$ = $$[$0]; +break; +case 24:this.$ = new yy.Block; +break; +case 25:this.$ = $$[$0-1]; +break; +case 26:this.$ = new yy.Literal($$[$0]); +break; +case 27:this.$ = new yy.Literal($$[$0]); +break; +case 28:this.$ = new yy.Literal($$[$0]); +break; +case 29:this.$ = $$[$0]; +break; +case 30:this.$ = new yy.Literal($$[$0]); +break; +case 31:this.$ = new yy.Literal($$[$0]); +break; +case 32:this.$ = new yy.Literal($$[$0]); +break; +case 33:this.$ = new yy.Undefined; +break; +case 34:this.$ = new yy.Null; +break; +case 35:this.$ = new yy.Bool($$[$0]); +break; +case 36:this.$ = new yy.Assign($$[$0-2], $$[$0]); +break; +case 37:this.$ = new yy.Assign($$[$0-3], $$[$0]); +break; +case 38:this.$ = new yy.Assign($$[$0-4], $$[$0-1]); +break; +case 39:this.$ = new yy.Value($$[$0]); +break; +case 40:this.$ = new yy.Assign(new yy.Value($$[$0-2]), $$[$0], 'object'); +break; +case 41:this.$ = new yy.Assign(new yy.Value($$[$0-4]), $$[$0-1], 'object'); +break; +case 42:this.$ = $$[$0]; +break; +case 43:this.$ = $$[$0]; +break; +case 44:this.$ = $$[$0]; +break; +case 45:this.$ = $$[$0]; +break; +case 46:this.$ = new yy.Return($$[$0]); +break; +case 47:this.$ = new yy.Return; +break; +case 48:this.$ = new yy.Comment($$[$0]); +break; +case 49:this.$ = new yy.Code($$[$0-3], $$[$0], $$[$0-1]); +break; +case 50:this.$ = new yy.Code([], $$[$0], $$[$0-1]); +break; +case 51:this.$ = 'func'; +break; +case 52:this.$ = 'boundfunc'; +break; +case 53:this.$ = $$[$0]; +break; +case 54:this.$ = $$[$0]; +break; +case 55:this.$ = []; +break; +case 56:this.$ = [$$[$0]]; +break; +case 57:this.$ = $$[$0-2].concat($$[$0]); +break; +case 58:this.$ = $$[$0-3].concat($$[$0]); +break; +case 59:this.$ = $$[$0-5].concat($$[$0-2]); +break; +case 60:this.$ = new yy.Param($$[$0]); +break; +case 61:this.$ = new yy.Param($$[$0-1], null, true); +break; +case 62:this.$ = new yy.Param($$[$0-2], $$[$0]); +break; +case 63:this.$ = $$[$0]; +break; +case 64:this.$ = $$[$0]; +break; +case 65:this.$ = $$[$0]; +break; +case 66:this.$ = $$[$0]; +break; +case 67:this.$ = new yy.Splat($$[$0-1]); +break; +case 68:this.$ = new yy.Value($$[$0]); +break; +case 69:this.$ = $$[$0-1].add($$[$0]); +break; +case 70:this.$ = new yy.Value($$[$0-1], [].concat($$[$0])); +break; +case 71:this.$ = $$[$0]; +break; +case 72:this.$ = $$[$0]; +break; +case 73:this.$ = new yy.Value($$[$0]); +break; +case 74:this.$ = new yy.Value($$[$0]); +break; +case 75:this.$ = $$[$0]; +break; +case 76:this.$ = new yy.Value($$[$0]); +break; +case 77:this.$ = new yy.Value($$[$0]); +break; +case 78:this.$ = new yy.Value($$[$0]); +break; +case 79:this.$ = $$[$0]; +break; +case 80:this.$ = new yy.Access($$[$0]); +break; +case 81:this.$ = new yy.Access($$[$0], 'soak'); +break; +case 82:this.$ = [new yy.Access(new yy.Literal('prototype')), new yy.Access($$[$0])]; +break; +case 83:this.$ = new yy.Access(new yy.Literal('prototype')); +break; +case 84:this.$ = $$[$0]; +break; +case 85:this.$ = $$[$0-1]; +break; +case 86:this.$ = yy.extend($$[$0], { + soak: true + }); +break; +case 87:this.$ = new yy.Index($$[$0]); +break; +case 88:this.$ = new yy.Slice($$[$0]); +break; +case 89:this.$ = new yy.Obj($$[$0-2], $$[$0-3].generated); +break; +case 90:this.$ = []; +break; +case 91:this.$ = [$$[$0]]; +break; +case 92:this.$ = $$[$0-2].concat($$[$0]); +break; +case 93:this.$ = $$[$0-3].concat($$[$0]); +break; +case 94:this.$ = $$[$0-5].concat($$[$0-2]); +break; +case 95:this.$ = new yy.Class; +break; +case 96:this.$ = new yy.Class(null, null, $$[$0]); +break; +case 97:this.$ = new yy.Class(null, $$[$0]); +break; +case 98:this.$ = new yy.Class(null, $$[$0-1], $$[$0]); +break; +case 99:this.$ = new yy.Class($$[$0]); +break; +case 100:this.$ = new yy.Class($$[$0-1], null, $$[$0]); +break; +case 101:this.$ = new yy.Class($$[$0-2], $$[$0]); +break; +case 102:this.$ = new yy.Class($$[$0-3], $$[$0-1], $$[$0]); +break; +case 103:this.$ = new yy.Call($$[$0-2], $$[$0], $$[$0-1]); +break; +case 104:this.$ = new yy.Call($$[$0-2], $$[$0], $$[$0-1]); +break; +case 105:this.$ = new yy.Call('super', [new yy.Splat(new yy.Literal('arguments'))]); +break; +case 106:this.$ = new yy.Call('super', $$[$0]); +break; +case 107:this.$ = false; +break; +case 108:this.$ = true; +break; +case 109:this.$ = []; +break; +case 110:this.$ = $$[$0-2]; +break; +case 111:this.$ = new yy.Value(new yy.Literal('this')); +break; +case 112:this.$ = new yy.Value(new yy.Literal('this')); +break; +case 113:this.$ = new yy.Value(new yy.Literal('this'), [new yy.Access($$[$0])], 'this'); +break; +case 114:this.$ = new yy.Arr([]); +break; +case 115:this.$ = new yy.Arr($$[$0-2]); +break; +case 116:this.$ = 'inclusive'; +break; +case 117:this.$ = 'exclusive'; +break; +case 118:this.$ = new yy.Range($$[$0-3], $$[$0-1], $$[$0-2]); +break; +case 119:this.$ = new yy.Range($$[$0-2], $$[$0], $$[$0-1]); +break; +case 120:this.$ = new yy.Range($$[$0-1], null, $$[$0]); +break; +case 121:this.$ = new yy.Range(null, $$[$0], $$[$0-1]); +break; +case 122:this.$ = new yy.Range(null, null, $$[$0]); +break; +case 123:this.$ = [$$[$0]]; +break; +case 124:this.$ = $$[$0-2].concat($$[$0]); +break; +case 125:this.$ = $$[$0-3].concat($$[$0]); +break; +case 126:this.$ = $$[$0-2]; +break; +case 127:this.$ = $$[$0-5].concat($$[$0-2]); +break; +case 128:this.$ = $$[$0]; +break; +case 129:this.$ = $$[$0]; +break; +case 130:this.$ = $$[$0]; +break; +case 131:this.$ = [].concat($$[$0-2], $$[$0]); +break; +case 132:this.$ = new yy.Try($$[$0]); +break; +case 133:this.$ = new yy.Try($$[$0-1], $$[$0][0], $$[$0][1]); +break; +case 134:this.$ = new yy.Try($$[$0-2], null, null, $$[$0]); +break; +case 135:this.$ = new yy.Try($$[$0-3], $$[$0-2][0], $$[$0-2][1], $$[$0]); +break; +case 136:this.$ = [$$[$0-1], $$[$0]]; +break; +case 137:this.$ = new yy.Throw($$[$0]); +break; +case 138:this.$ = new yy.Parens($$[$0-1]); +break; +case 139:this.$ = new yy.Parens($$[$0-2]); +break; +case 140:this.$ = new yy.While($$[$0]); +break; +case 141:this.$ = new yy.While($$[$0-2], { + guard: $$[$0] + }); +break; +case 142:this.$ = new yy.While($$[$0], { + invert: true + }); +break; +case 143:this.$ = new yy.While($$[$0-2], { + invert: true, + guard: $$[$0] + }); +break; +case 144:this.$ = $$[$0-1].addBody($$[$0]); +break; +case 145:this.$ = $$[$0].addBody(yy.Block.wrap([$$[$0-1]])); +break; +case 146:this.$ = $$[$0].addBody(yy.Block.wrap([$$[$0-1]])); +break; +case 147:this.$ = $$[$0]; +break; +case 148:this.$ = new yy.While(new yy.Literal('true')).addBody($$[$0]); +break; +case 149:this.$ = new yy.While(new yy.Literal('true')).addBody(yy.Block.wrap([$$[$0]])); +break; +case 150:this.$ = new yy.For($$[$0-1], $$[$0]); +break; +case 151:this.$ = new yy.For($$[$0-1], $$[$0]); +break; +case 152:this.$ = new yy.For($$[$0], $$[$0-1]); +break; +case 153:this.$ = { + source: new yy.Value($$[$0]) + }; +break; +case 154:this.$ = (function () { + $$[$0].own = $$[$0-1].own; + $$[$0].name = $$[$0-1][0]; + $$[$0].index = $$[$0-1][1]; + return $$[$0]; + }()); +break; +case 155:this.$ = $$[$0]; +break; +case 156:this.$ = (function () { + $$[$0].own = true; + return $$[$0]; + }()); +break; +case 157:this.$ = $$[$0]; +break; +case 158:this.$ = $$[$0]; +break; +case 159:this.$ = new yy.Value($$[$0]); +break; +case 160:this.$ = new yy.Value($$[$0]); +break; +case 161:this.$ = [$$[$0]]; +break; +case 162:this.$ = [$$[$0-2], $$[$0]]; +break; +case 163:this.$ = { + source: $$[$0] + }; +break; +case 164:this.$ = { + source: $$[$0], + object: true + }; +break; +case 165:this.$ = { + source: $$[$0-2], + guard: $$[$0] + }; +break; +case 166:this.$ = { + source: $$[$0-2], + guard: $$[$0], + object: true + }; +break; +case 167:this.$ = { + source: $$[$0-2], + step: $$[$0] + }; +break; +case 168:this.$ = { + source: $$[$0-4], + guard: $$[$0-2], + step: $$[$0] + }; +break; +case 169:this.$ = { + source: $$[$0-4], + step: $$[$0-2], + guard: $$[$0] + }; +break; +case 170:this.$ = new yy.Switch($$[$0-3], $$[$0-1]); +break; +case 171:this.$ = new yy.Switch($$[$0-5], $$[$0-3], $$[$0-1]); +break; +case 172:this.$ = new yy.Switch(null, $$[$0-1]); +break; +case 173:this.$ = new yy.Switch(null, $$[$0-3], $$[$0-1]); +break; +case 174:this.$ = $$[$0]; +break; +case 175:this.$ = $$[$0-1].concat($$[$0]); +break; +case 176:this.$ = [[$$[$0-1], $$[$0]]]; +break; +case 177:this.$ = [[$$[$0-2], $$[$0-1]]]; +break; +case 178:this.$ = new yy.If($$[$0-1], $$[$0], { + type: $$[$0-2] + }); +break; +case 179:this.$ = $$[$0-4].addElse(new yy.If($$[$0-1], $$[$0], { + type: $$[$0-2] + })); +break; +case 180:this.$ = $$[$0]; +break; +case 181:this.$ = $$[$0-2].addElse($$[$0]); +break; +case 182:this.$ = new yy.If($$[$0], yy.Block.wrap([$$[$0-2]]), { + type: $$[$0-1], + statement: true + }); +break; +case 183:this.$ = new yy.If($$[$0], yy.Block.wrap([$$[$0-2]]), { + type: $$[$0-1], + statement: true + }); +break; +case 184:this.$ = new yy.Op($$[$0-1], $$[$0]); +break; +case 185:this.$ = new yy.Op('-', $$[$0]); +break; +case 186:this.$ = new yy.Op('+', $$[$0]); +break; +case 187:this.$ = new yy.Op('--', $$[$0]); +break; +case 188:this.$ = new yy.Op('++', $$[$0]); +break; +case 189:this.$ = new yy.Op('--', $$[$0-1], null, true); +break; +case 190:this.$ = new yy.Op('++', $$[$0-1], null, true); +break; +case 191:this.$ = new yy.Existence($$[$0-1]); +break; +case 192:this.$ = new yy.Op('+', $$[$0-2], $$[$0]); +break; +case 193:this.$ = new yy.Op('-', $$[$0-2], $$[$0]); +break; +case 194:this.$ = new yy.Op($$[$0-1], $$[$0-2], $$[$0]); +break; +case 195:this.$ = new yy.Op($$[$0-1], $$[$0-2], $$[$0]); +break; +case 196:this.$ = new yy.Op($$[$0-1], $$[$0-2], $$[$0]); +break; +case 197:this.$ = new yy.Op($$[$0-1], $$[$0-2], $$[$0]); +break; +case 198:this.$ = (function () { + if ($$[$0-1].charAt(0) === '!') { + return new yy.Op($$[$0-1].slice(1), $$[$0-2], $$[$0]).invert(); + } else { + return new yy.Op($$[$0-1], $$[$0-2], $$[$0]); + } + }()); +break; +case 199:this.$ = new yy.Assign($$[$0-2], $$[$0], $$[$0-1]); +break; +case 200:this.$ = new yy.Assign($$[$0-4], $$[$0-1], $$[$0-3]); +break; +case 201:this.$ = new yy.Extends($$[$0-2], $$[$0]); +break; +} +}, +table: [{1:[2,1],3:1,4:2,5:3,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,5],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[3]},{1:[2,2],6:[1,74]},{6:[1,75]},{1:[2,4],6:[2,4],26:[2,4],101:[2,4]},{4:77,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[1,76],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,7],6:[2,7],26:[2,7],101:[2,7],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,8],6:[2,8],26:[2,8],101:[2,8],102:90,103:[1,65],105:[1,66],108:91,109:[1,68],110:69,125:[1,89]},{1:[2,12],6:[2,12],25:[2,12],26:[2,12],49:[2,12],54:[2,12],57:[2,12],62:93,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],72:[2,12],73:[1,100],77:[2,12],80:92,83:[1,94],84:[2,107],85:[2,12],90:[2,12],92:[2,12],101:[2,12],103:[2,12],104:[2,12],105:[2,12],109:[2,12],117:[2,12],125:[2,12],127:[2,12],128:[2,12],131:[2,12],132:[2,12],133:[2,12],134:[2,12],135:[2,12],136:[2,12]},{1:[2,13],6:[2,13],25:[2,13],26:[2,13],49:[2,13],54:[2,13],57:[2,13],62:102,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],72:[2,13],73:[1,100],77:[2,13],80:101,83:[1,94],84:[2,107],85:[2,13],90:[2,13],92:[2,13],101:[2,13],103:[2,13],104:[2,13],105:[2,13],109:[2,13],117:[2,13],125:[2,13],127:[2,13],128:[2,13],131:[2,13],132:[2,13],133:[2,13],134:[2,13],135:[2,13],136:[2,13]},{1:[2,14],6:[2,14],25:[2,14],26:[2,14],49:[2,14],54:[2,14],57:[2,14],72:[2,14],77:[2,14],85:[2,14],90:[2,14],92:[2,14],101:[2,14],103:[2,14],104:[2,14],105:[2,14],109:[2,14],117:[2,14],125:[2,14],127:[2,14],128:[2,14],131:[2,14],132:[2,14],133:[2,14],134:[2,14],135:[2,14],136:[2,14]},{1:[2,15],6:[2,15],25:[2,15],26:[2,15],49:[2,15],54:[2,15],57:[2,15],72:[2,15],77:[2,15],85:[2,15],90:[2,15],92:[2,15],101:[2,15],103:[2,15],104:[2,15],105:[2,15],109:[2,15],117:[2,15],125:[2,15],127:[2,15],128:[2,15],131:[2,15],132:[2,15],133:[2,15],134:[2,15],135:[2,15],136:[2,15]},{1:[2,16],6:[2,16],25:[2,16],26:[2,16],49:[2,16],54:[2,16],57:[2,16],72:[2,16],77:[2,16],85:[2,16],90:[2,16],92:[2,16],101:[2,16],103:[2,16],104:[2,16],105:[2,16],109:[2,16],117:[2,16],125:[2,16],127:[2,16],128:[2,16],131:[2,16],132:[2,16],133:[2,16],134:[2,16],135:[2,16],136:[2,16]},{1:[2,17],6:[2,17],25:[2,17],26:[2,17],49:[2,17],54:[2,17],57:[2,17],72:[2,17],77:[2,17],85:[2,17],90:[2,17],92:[2,17],101:[2,17],103:[2,17],104:[2,17],105:[2,17],109:[2,17],117:[2,17],125:[2,17],127:[2,17],128:[2,17],131:[2,17],132:[2,17],133:[2,17],134:[2,17],135:[2,17],136:[2,17]},{1:[2,18],6:[2,18],25:[2,18],26:[2,18],49:[2,18],54:[2,18],57:[2,18],72:[2,18],77:[2,18],85:[2,18],90:[2,18],92:[2,18],101:[2,18],103:[2,18],104:[2,18],105:[2,18],109:[2,18],117:[2,18],125:[2,18],127:[2,18],128:[2,18],131:[2,18],132:[2,18],133:[2,18],134:[2,18],135:[2,18],136:[2,18]},{1:[2,19],6:[2,19],25:[2,19],26:[2,19],49:[2,19],54:[2,19],57:[2,19],72:[2,19],77:[2,19],85:[2,19],90:[2,19],92:[2,19],101:[2,19],103:[2,19],104:[2,19],105:[2,19],109:[2,19],117:[2,19],125:[2,19],127:[2,19],128:[2,19],131:[2,19],132:[2,19],133:[2,19],134:[2,19],135:[2,19],136:[2,19]},{1:[2,20],6:[2,20],25:[2,20],26:[2,20],49:[2,20],54:[2,20],57:[2,20],72:[2,20],77:[2,20],85:[2,20],90:[2,20],92:[2,20],101:[2,20],103:[2,20],104:[2,20],105:[2,20],109:[2,20],117:[2,20],125:[2,20],127:[2,20],128:[2,20],131:[2,20],132:[2,20],133:[2,20],134:[2,20],135:[2,20],136:[2,20]},{1:[2,21],6:[2,21],25:[2,21],26:[2,21],49:[2,21],54:[2,21],57:[2,21],72:[2,21],77:[2,21],85:[2,21],90:[2,21],92:[2,21],101:[2,21],103:[2,21],104:[2,21],105:[2,21],109:[2,21],117:[2,21],125:[2,21],127:[2,21],128:[2,21],131:[2,21],132:[2,21],133:[2,21],134:[2,21],135:[2,21],136:[2,21]},{1:[2,22],6:[2,22],25:[2,22],26:[2,22],49:[2,22],54:[2,22],57:[2,22],72:[2,22],77:[2,22],85:[2,22],90:[2,22],92:[2,22],101:[2,22],103:[2,22],104:[2,22],105:[2,22],109:[2,22],117:[2,22],125:[2,22],127:[2,22],128:[2,22],131:[2,22],132:[2,22],133:[2,22],134:[2,22],135:[2,22],136:[2,22]},{1:[2,23],6:[2,23],25:[2,23],26:[2,23],49:[2,23],54:[2,23],57:[2,23],72:[2,23],77:[2,23],85:[2,23],90:[2,23],92:[2,23],101:[2,23],103:[2,23],104:[2,23],105:[2,23],109:[2,23],117:[2,23],125:[2,23],127:[2,23],128:[2,23],131:[2,23],132:[2,23],133:[2,23],134:[2,23],135:[2,23],136:[2,23]},{1:[2,9],6:[2,9],26:[2,9],101:[2,9],103:[2,9],105:[2,9],109:[2,9],125:[2,9]},{1:[2,10],6:[2,10],26:[2,10],101:[2,10],103:[2,10],105:[2,10],109:[2,10],125:[2,10]},{1:[2,11],6:[2,11],26:[2,11],101:[2,11],103:[2,11],105:[2,11],109:[2,11],125:[2,11]},{1:[2,75],6:[2,75],25:[2,75],26:[2,75],40:[1,103],49:[2,75],54:[2,75],57:[2,75],66:[2,75],67:[2,75],68:[2,75],70:[2,75],72:[2,75],73:[2,75],77:[2,75],83:[2,75],84:[2,75],85:[2,75],90:[2,75],92:[2,75],101:[2,75],103:[2,75],104:[2,75],105:[2,75],109:[2,75],117:[2,75],125:[2,75],127:[2,75],128:[2,75],131:[2,75],132:[2,75],133:[2,75],134:[2,75],135:[2,75],136:[2,75]},{1:[2,76],6:[2,76],25:[2,76],26:[2,76],49:[2,76],54:[2,76],57:[2,76],66:[2,76],67:[2,76],68:[2,76],70:[2,76],72:[2,76],73:[2,76],77:[2,76],83:[2,76],84:[2,76],85:[2,76],90:[2,76],92:[2,76],101:[2,76],103:[2,76],104:[2,76],105:[2,76],109:[2,76],117:[2,76],125:[2,76],127:[2,76],128:[2,76],131:[2,76],132:[2,76],133:[2,76],134:[2,76],135:[2,76],136:[2,76]},{1:[2,77],6:[2,77],25:[2,77],26:[2,77],49:[2,77],54:[2,77],57:[2,77],66:[2,77],67:[2,77],68:[2,77],70:[2,77],72:[2,77],73:[2,77],77:[2,77],83:[2,77],84:[2,77],85:[2,77],90:[2,77],92:[2,77],101:[2,77],103:[2,77],104:[2,77],105:[2,77],109:[2,77],117:[2,77],125:[2,77],127:[2,77],128:[2,77],131:[2,77],132:[2,77],133:[2,77],134:[2,77],135:[2,77],136:[2,77]},{1:[2,78],6:[2,78],25:[2,78],26:[2,78],49:[2,78],54:[2,78],57:[2,78],66:[2,78],67:[2,78],68:[2,78],70:[2,78],72:[2,78],73:[2,78],77:[2,78],83:[2,78],84:[2,78],85:[2,78],90:[2,78],92:[2,78],101:[2,78],103:[2,78],104:[2,78],105:[2,78],109:[2,78],117:[2,78],125:[2,78],127:[2,78],128:[2,78],131:[2,78],132:[2,78],133:[2,78],134:[2,78],135:[2,78],136:[2,78]},{1:[2,79],6:[2,79],25:[2,79],26:[2,79],49:[2,79],54:[2,79],57:[2,79],66:[2,79],67:[2,79],68:[2,79],70:[2,79],72:[2,79],73:[2,79],77:[2,79],83:[2,79],84:[2,79],85:[2,79],90:[2,79],92:[2,79],101:[2,79],103:[2,79],104:[2,79],105:[2,79],109:[2,79],117:[2,79],125:[2,79],127:[2,79],128:[2,79],131:[2,79],132:[2,79],133:[2,79],134:[2,79],135:[2,79],136:[2,79]},{1:[2,105],6:[2,105],25:[2,105],26:[2,105],49:[2,105],54:[2,105],57:[2,105],66:[2,105],67:[2,105],68:[2,105],70:[2,105],72:[2,105],73:[2,105],77:[2,105],81:104,83:[2,105],84:[1,105],85:[2,105],90:[2,105],92:[2,105],101:[2,105],103:[2,105],104:[2,105],105:[2,105],109:[2,105],117:[2,105],125:[2,105],127:[2,105],128:[2,105],131:[2,105],132:[2,105],133:[2,105],134:[2,105],135:[2,105],136:[2,105]},{6:[2,55],25:[2,55],27:109,28:[1,73],44:110,48:106,49:[2,55],54:[2,55],55:107,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{5:115,25:[1,5]},{8:116,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:118,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:119,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{13:121,14:122,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:123,44:63,58:47,59:48,61:120,63:25,64:26,65:27,75:[1,70],82:[1,28],87:[1,58],88:[1,59],89:[1,57],100:[1,56]},{13:121,14:122,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:123,44:63,58:47,59:48,61:124,63:25,64:26,65:27,75:[1,70],82:[1,28],87:[1,58],88:[1,59],89:[1,57],100:[1,56]},{1:[2,72],6:[2,72],25:[2,72],26:[2,72],40:[2,72],49:[2,72],54:[2,72],57:[2,72],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,72],73:[2,72],77:[2,72],79:[1,128],83:[2,72],84:[2,72],85:[2,72],90:[2,72],92:[2,72],101:[2,72],103:[2,72],104:[2,72],105:[2,72],109:[2,72],117:[2,72],125:[2,72],127:[2,72],128:[2,72],129:[1,125],130:[1,126],131:[2,72],132:[2,72],133:[2,72],134:[2,72],135:[2,72],136:[2,72],137:[1,127]},{1:[2,180],6:[2,180],25:[2,180],26:[2,180],49:[2,180],54:[2,180],57:[2,180],72:[2,180],77:[2,180],85:[2,180],90:[2,180],92:[2,180],101:[2,180],103:[2,180],104:[2,180],105:[2,180],109:[2,180],117:[2,180],120:[1,129],125:[2,180],127:[2,180],128:[2,180],131:[2,180],132:[2,180],133:[2,180],134:[2,180],135:[2,180],136:[2,180]},{5:130,25:[1,5]},{5:131,25:[1,5]},{1:[2,147],6:[2,147],25:[2,147],26:[2,147],49:[2,147],54:[2,147],57:[2,147],72:[2,147],77:[2,147],85:[2,147],90:[2,147],92:[2,147],101:[2,147],103:[2,147],104:[2,147],105:[2,147],109:[2,147],117:[2,147],125:[2,147],127:[2,147],128:[2,147],131:[2,147],132:[2,147],133:[2,147],134:[2,147],135:[2,147],136:[2,147]},{5:132,25:[1,5]},{8:133,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,134],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,95],5:135,6:[2,95],13:121,14:122,25:[1,5],26:[2,95],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:123,44:63,49:[2,95],54:[2,95],57:[2,95],58:47,59:48,61:137,63:25,64:26,65:27,72:[2,95],75:[1,70],77:[2,95],79:[1,136],82:[1,28],85:[2,95],87:[1,58],88:[1,59],89:[1,57],90:[2,95],92:[2,95],100:[1,56],101:[2,95],103:[2,95],104:[2,95],105:[2,95],109:[2,95],117:[2,95],125:[2,95],127:[2,95],128:[2,95],131:[2,95],132:[2,95],133:[2,95],134:[2,95],135:[2,95],136:[2,95]},{8:138,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,47],6:[2,47],8:139,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[2,47],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],101:[2,47],102:39,103:[2,47],105:[2,47],106:40,107:[1,67],108:41,109:[2,47],110:69,118:[1,42],123:37,124:[1,64],125:[2,47],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,48],6:[2,48],25:[2,48],26:[2,48],54:[2,48],77:[2,48],101:[2,48],103:[2,48],105:[2,48],109:[2,48],125:[2,48]},{1:[2,73],6:[2,73],25:[2,73],26:[2,73],40:[2,73],49:[2,73],54:[2,73],57:[2,73],66:[2,73],67:[2,73],68:[2,73],70:[2,73],72:[2,73],73:[2,73],77:[2,73],83:[2,73],84:[2,73],85:[2,73],90:[2,73],92:[2,73],101:[2,73],103:[2,73],104:[2,73],105:[2,73],109:[2,73],117:[2,73],125:[2,73],127:[2,73],128:[2,73],131:[2,73],132:[2,73],133:[2,73],134:[2,73],135:[2,73],136:[2,73]},{1:[2,74],6:[2,74],25:[2,74],26:[2,74],40:[2,74],49:[2,74],54:[2,74],57:[2,74],66:[2,74],67:[2,74],68:[2,74],70:[2,74],72:[2,74],73:[2,74],77:[2,74],83:[2,74],84:[2,74],85:[2,74],90:[2,74],92:[2,74],101:[2,74],103:[2,74],104:[2,74],105:[2,74],109:[2,74],117:[2,74],125:[2,74],127:[2,74],128:[2,74],131:[2,74],132:[2,74],133:[2,74],134:[2,74],135:[2,74],136:[2,74]},{1:[2,29],6:[2,29],25:[2,29],26:[2,29],49:[2,29],54:[2,29],57:[2,29],66:[2,29],67:[2,29],68:[2,29],70:[2,29],72:[2,29],73:[2,29],77:[2,29],83:[2,29],84:[2,29],85:[2,29],90:[2,29],92:[2,29],101:[2,29],103:[2,29],104:[2,29],105:[2,29],109:[2,29],117:[2,29],125:[2,29],127:[2,29],128:[2,29],131:[2,29],132:[2,29],133:[2,29],134:[2,29],135:[2,29],136:[2,29]},{1:[2,30],6:[2,30],25:[2,30],26:[2,30],49:[2,30],54:[2,30],57:[2,30],66:[2,30],67:[2,30],68:[2,30],70:[2,30],72:[2,30],73:[2,30],77:[2,30],83:[2,30],84:[2,30],85:[2,30],90:[2,30],92:[2,30],101:[2,30],103:[2,30],104:[2,30],105:[2,30],109:[2,30],117:[2,30],125:[2,30],127:[2,30],128:[2,30],131:[2,30],132:[2,30],133:[2,30],134:[2,30],135:[2,30],136:[2,30]},{1:[2,31],6:[2,31],25:[2,31],26:[2,31],49:[2,31],54:[2,31],57:[2,31],66:[2,31],67:[2,31],68:[2,31],70:[2,31],72:[2,31],73:[2,31],77:[2,31],83:[2,31],84:[2,31],85:[2,31],90:[2,31],92:[2,31],101:[2,31],103:[2,31],104:[2,31],105:[2,31],109:[2,31],117:[2,31],125:[2,31],127:[2,31],128:[2,31],131:[2,31],132:[2,31],133:[2,31],134:[2,31],135:[2,31],136:[2,31]},{1:[2,32],6:[2,32],25:[2,32],26:[2,32],49:[2,32],54:[2,32],57:[2,32],66:[2,32],67:[2,32],68:[2,32],70:[2,32],72:[2,32],73:[2,32],77:[2,32],83:[2,32],84:[2,32],85:[2,32],90:[2,32],92:[2,32],101:[2,32],103:[2,32],104:[2,32],105:[2,32],109:[2,32],117:[2,32],125:[2,32],127:[2,32],128:[2,32],131:[2,32],132:[2,32],133:[2,32],134:[2,32],135:[2,32],136:[2,32]},{1:[2,33],6:[2,33],25:[2,33],26:[2,33],49:[2,33],54:[2,33],57:[2,33],66:[2,33],67:[2,33],68:[2,33],70:[2,33],72:[2,33],73:[2,33],77:[2,33],83:[2,33],84:[2,33],85:[2,33],90:[2,33],92:[2,33],101:[2,33],103:[2,33],104:[2,33],105:[2,33],109:[2,33],117:[2,33],125:[2,33],127:[2,33],128:[2,33],131:[2,33],132:[2,33],133:[2,33],134:[2,33],135:[2,33],136:[2,33]},{1:[2,34],6:[2,34],25:[2,34],26:[2,34],49:[2,34],54:[2,34],57:[2,34],66:[2,34],67:[2,34],68:[2,34],70:[2,34],72:[2,34],73:[2,34],77:[2,34],83:[2,34],84:[2,34],85:[2,34],90:[2,34],92:[2,34],101:[2,34],103:[2,34],104:[2,34],105:[2,34],109:[2,34],117:[2,34],125:[2,34],127:[2,34],128:[2,34],131:[2,34],132:[2,34],133:[2,34],134:[2,34],135:[2,34],136:[2,34]},{1:[2,35],6:[2,35],25:[2,35],26:[2,35],49:[2,35],54:[2,35],57:[2,35],66:[2,35],67:[2,35],68:[2,35],70:[2,35],72:[2,35],73:[2,35],77:[2,35],83:[2,35],84:[2,35],85:[2,35],90:[2,35],92:[2,35],101:[2,35],103:[2,35],104:[2,35],105:[2,35],109:[2,35],117:[2,35],125:[2,35],127:[2,35],128:[2,35],131:[2,35],132:[2,35],133:[2,35],134:[2,35],135:[2,35],136:[2,35]},{4:140,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,141],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:142,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:144,87:[1,58],88:[1,59],89:[1,57],90:[1,143],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,111],6:[2,111],25:[2,111],26:[2,111],49:[2,111],54:[2,111],57:[2,111],66:[2,111],67:[2,111],68:[2,111],70:[2,111],72:[2,111],73:[2,111],77:[2,111],83:[2,111],84:[2,111],85:[2,111],90:[2,111],92:[2,111],101:[2,111],103:[2,111],104:[2,111],105:[2,111],109:[2,111],117:[2,111],125:[2,111],127:[2,111],128:[2,111],131:[2,111],132:[2,111],133:[2,111],134:[2,111],135:[2,111],136:[2,111]},{1:[2,112],6:[2,112],25:[2,112],26:[2,112],27:148,28:[1,73],49:[2,112],54:[2,112],57:[2,112],66:[2,112],67:[2,112],68:[2,112],70:[2,112],72:[2,112],73:[2,112],77:[2,112],83:[2,112],84:[2,112],85:[2,112],90:[2,112],92:[2,112],101:[2,112],103:[2,112],104:[2,112],105:[2,112],109:[2,112],117:[2,112],125:[2,112],127:[2,112],128:[2,112],131:[2,112],132:[2,112],133:[2,112],134:[2,112],135:[2,112],136:[2,112]},{25:[2,51]},{25:[2,52]},{1:[2,68],6:[2,68],25:[2,68],26:[2,68],40:[2,68],49:[2,68],54:[2,68],57:[2,68],66:[2,68],67:[2,68],68:[2,68],70:[2,68],72:[2,68],73:[2,68],77:[2,68],79:[2,68],83:[2,68],84:[2,68],85:[2,68],90:[2,68],92:[2,68],101:[2,68],103:[2,68],104:[2,68],105:[2,68],109:[2,68],117:[2,68],125:[2,68],127:[2,68],128:[2,68],129:[2,68],130:[2,68],131:[2,68],132:[2,68],133:[2,68],134:[2,68],135:[2,68],136:[2,68],137:[2,68]},{1:[2,71],6:[2,71],25:[2,71],26:[2,71],40:[2,71],49:[2,71],54:[2,71],57:[2,71],66:[2,71],67:[2,71],68:[2,71],70:[2,71],72:[2,71],73:[2,71],77:[2,71],79:[2,71],83:[2,71],84:[2,71],85:[2,71],90:[2,71],92:[2,71],101:[2,71],103:[2,71],104:[2,71],105:[2,71],109:[2,71],117:[2,71],125:[2,71],127:[2,71],128:[2,71],129:[2,71],130:[2,71],131:[2,71],132:[2,71],133:[2,71],134:[2,71],135:[2,71],136:[2,71],137:[2,71]},{8:149,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:150,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:151,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{5:152,8:153,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,5],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{27:158,28:[1,73],44:159,58:160,59:161,64:154,75:[1,70],88:[1,113],89:[1,57],112:155,113:[1,156],114:157},{111:162,115:[1,163],116:[1,164]},{6:[2,90],11:168,25:[2,90],27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:166,42:167,44:171,46:[1,46],54:[2,90],76:165,77:[2,90],88:[1,113]},{1:[2,27],6:[2,27],25:[2,27],26:[2,27],43:[2,27],49:[2,27],54:[2,27],57:[2,27],66:[2,27],67:[2,27],68:[2,27],70:[2,27],72:[2,27],73:[2,27],77:[2,27],83:[2,27],84:[2,27],85:[2,27],90:[2,27],92:[2,27],101:[2,27],103:[2,27],104:[2,27],105:[2,27],109:[2,27],117:[2,27],125:[2,27],127:[2,27],128:[2,27],131:[2,27],132:[2,27],133:[2,27],134:[2,27],135:[2,27],136:[2,27]},{1:[2,28],6:[2,28],25:[2,28],26:[2,28],43:[2,28],49:[2,28],54:[2,28],57:[2,28],66:[2,28],67:[2,28],68:[2,28],70:[2,28],72:[2,28],73:[2,28],77:[2,28],83:[2,28],84:[2,28],85:[2,28],90:[2,28],92:[2,28],101:[2,28],103:[2,28],104:[2,28],105:[2,28],109:[2,28],117:[2,28],125:[2,28],127:[2,28],128:[2,28],131:[2,28],132:[2,28],133:[2,28],134:[2,28],135:[2,28],136:[2,28]},{1:[2,26],6:[2,26],25:[2,26],26:[2,26],40:[2,26],43:[2,26],49:[2,26],54:[2,26],57:[2,26],66:[2,26],67:[2,26],68:[2,26],70:[2,26],72:[2,26],73:[2,26],77:[2,26],79:[2,26],83:[2,26],84:[2,26],85:[2,26],90:[2,26],92:[2,26],101:[2,26],103:[2,26],104:[2,26],105:[2,26],109:[2,26],115:[2,26],116:[2,26],117:[2,26],125:[2,26],127:[2,26],128:[2,26],129:[2,26],130:[2,26],131:[2,26],132:[2,26],133:[2,26],134:[2,26],135:[2,26],136:[2,26],137:[2,26]},{1:[2,6],6:[2,6],7:172,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[2,6],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],101:[2,6],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,3]},{1:[2,24],6:[2,24],25:[2,24],26:[2,24],49:[2,24],54:[2,24],57:[2,24],72:[2,24],77:[2,24],85:[2,24],90:[2,24],92:[2,24],97:[2,24],98:[2,24],101:[2,24],103:[2,24],104:[2,24],105:[2,24],109:[2,24],117:[2,24],120:[2,24],122:[2,24],125:[2,24],127:[2,24],128:[2,24],131:[2,24],132:[2,24],133:[2,24],134:[2,24],135:[2,24],136:[2,24]},{6:[1,74],26:[1,173]},{1:[2,191],6:[2,191],25:[2,191],26:[2,191],49:[2,191],54:[2,191],57:[2,191],72:[2,191],77:[2,191],85:[2,191],90:[2,191],92:[2,191],101:[2,191],103:[2,191],104:[2,191],105:[2,191],109:[2,191],117:[2,191],125:[2,191],127:[2,191],128:[2,191],131:[2,191],132:[2,191],133:[2,191],134:[2,191],135:[2,191],136:[2,191]},{8:174,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:175,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:176,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:177,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:178,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:179,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:180,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:181,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,146],6:[2,146],25:[2,146],26:[2,146],49:[2,146],54:[2,146],57:[2,146],72:[2,146],77:[2,146],85:[2,146],90:[2,146],92:[2,146],101:[2,146],103:[2,146],104:[2,146],105:[2,146],109:[2,146],117:[2,146],125:[2,146],127:[2,146],128:[2,146],131:[2,146],132:[2,146],133:[2,146],134:[2,146],135:[2,146],136:[2,146]},{1:[2,151],6:[2,151],25:[2,151],26:[2,151],49:[2,151],54:[2,151],57:[2,151],72:[2,151],77:[2,151],85:[2,151],90:[2,151],92:[2,151],101:[2,151],103:[2,151],104:[2,151],105:[2,151],109:[2,151],117:[2,151],125:[2,151],127:[2,151],128:[2,151],131:[2,151],132:[2,151],133:[2,151],134:[2,151],135:[2,151],136:[2,151]},{8:182,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,145],6:[2,145],25:[2,145],26:[2,145],49:[2,145],54:[2,145],57:[2,145],72:[2,145],77:[2,145],85:[2,145],90:[2,145],92:[2,145],101:[2,145],103:[2,145],104:[2,145],105:[2,145],109:[2,145],117:[2,145],125:[2,145],127:[2,145],128:[2,145],131:[2,145],132:[2,145],133:[2,145],134:[2,145],135:[2,145],136:[2,145]},{1:[2,150],6:[2,150],25:[2,150],26:[2,150],49:[2,150],54:[2,150],57:[2,150],72:[2,150],77:[2,150],85:[2,150],90:[2,150],92:[2,150],101:[2,150],103:[2,150],104:[2,150],105:[2,150],109:[2,150],117:[2,150],125:[2,150],127:[2,150],128:[2,150],131:[2,150],132:[2,150],133:[2,150],134:[2,150],135:[2,150],136:[2,150]},{81:183,84:[1,105]},{1:[2,69],6:[2,69],25:[2,69],26:[2,69],40:[2,69],49:[2,69],54:[2,69],57:[2,69],66:[2,69],67:[2,69],68:[2,69],70:[2,69],72:[2,69],73:[2,69],77:[2,69],79:[2,69],83:[2,69],84:[2,69],85:[2,69],90:[2,69],92:[2,69],101:[2,69],103:[2,69],104:[2,69],105:[2,69],109:[2,69],117:[2,69],125:[2,69],127:[2,69],128:[2,69],129:[2,69],130:[2,69],131:[2,69],132:[2,69],133:[2,69],134:[2,69],135:[2,69],136:[2,69],137:[2,69]},{84:[2,108]},{27:184,28:[1,73]},{27:185,28:[1,73]},{1:[2,83],6:[2,83],25:[2,83],26:[2,83],27:186,28:[1,73],40:[2,83],49:[2,83],54:[2,83],57:[2,83],66:[2,83],67:[2,83],68:[2,83],70:[2,83],72:[2,83],73:[2,83],77:[2,83],79:[2,83],83:[2,83],84:[2,83],85:[2,83],90:[2,83],92:[2,83],101:[2,83],103:[2,83],104:[2,83],105:[2,83],109:[2,83],117:[2,83],125:[2,83],127:[2,83],128:[2,83],129:[2,83],130:[2,83],131:[2,83],132:[2,83],133:[2,83],134:[2,83],135:[2,83],136:[2,83],137:[2,83]},{1:[2,84],6:[2,84],25:[2,84],26:[2,84],40:[2,84],49:[2,84],54:[2,84],57:[2,84],66:[2,84],67:[2,84],68:[2,84],70:[2,84],72:[2,84],73:[2,84],77:[2,84],79:[2,84],83:[2,84],84:[2,84],85:[2,84],90:[2,84],92:[2,84],101:[2,84],103:[2,84],104:[2,84],105:[2,84],109:[2,84],117:[2,84],125:[2,84],127:[2,84],128:[2,84],129:[2,84],130:[2,84],131:[2,84],132:[2,84],133:[2,84],134:[2,84],135:[2,84],136:[2,84],137:[2,84]},{8:188,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],57:[1,192],58:47,59:48,61:36,63:25,64:26,65:27,71:187,74:189,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],91:190,92:[1,191],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{69:193,70:[1,99],73:[1,100]},{81:194,84:[1,105]},{1:[2,70],6:[2,70],25:[2,70],26:[2,70],40:[2,70],49:[2,70],54:[2,70],57:[2,70],66:[2,70],67:[2,70],68:[2,70],70:[2,70],72:[2,70],73:[2,70],77:[2,70],79:[2,70],83:[2,70],84:[2,70],85:[2,70],90:[2,70],92:[2,70],101:[2,70],103:[2,70],104:[2,70],105:[2,70],109:[2,70],117:[2,70],125:[2,70],127:[2,70],128:[2,70],129:[2,70],130:[2,70],131:[2,70],132:[2,70],133:[2,70],134:[2,70],135:[2,70],136:[2,70],137:[2,70]},{6:[1,196],8:195,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,197],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,106],6:[2,106],25:[2,106],26:[2,106],49:[2,106],54:[2,106],57:[2,106],66:[2,106],67:[2,106],68:[2,106],70:[2,106],72:[2,106],73:[2,106],77:[2,106],83:[2,106],84:[2,106],85:[2,106],90:[2,106],92:[2,106],101:[2,106],103:[2,106],104:[2,106],105:[2,106],109:[2,106],117:[2,106],125:[2,106],127:[2,106],128:[2,106],131:[2,106],132:[2,106],133:[2,106],134:[2,106],135:[2,106],136:[2,106]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],85:[1,198],86:199,87:[1,58],88:[1,59],89:[1,57],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,53],25:[2,53],49:[1,201],53:203,54:[1,202]},{6:[2,56],25:[2,56],26:[2,56],49:[2,56],54:[2,56]},{6:[2,60],25:[2,60],26:[2,60],40:[1,205],49:[2,60],54:[2,60],57:[1,204]},{6:[2,63],25:[2,63],26:[2,63],40:[2,63],49:[2,63],54:[2,63],57:[2,63]},{6:[2,64],25:[2,64],26:[2,64],40:[2,64],49:[2,64],54:[2,64],57:[2,64]},{6:[2,65],25:[2,65],26:[2,65],40:[2,65],49:[2,65],54:[2,65],57:[2,65]},{6:[2,66],25:[2,66],26:[2,66],40:[2,66],49:[2,66],54:[2,66],57:[2,66]},{27:148,28:[1,73]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:144,87:[1,58],88:[1,59],89:[1,57],90:[1,143],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,50],6:[2,50],25:[2,50],26:[2,50],49:[2,50],54:[2,50],57:[2,50],72:[2,50],77:[2,50],85:[2,50],90:[2,50],92:[2,50],101:[2,50],103:[2,50],104:[2,50],105:[2,50],109:[2,50],117:[2,50],125:[2,50],127:[2,50],128:[2,50],131:[2,50],132:[2,50],133:[2,50],134:[2,50],135:[2,50],136:[2,50]},{1:[2,184],6:[2,184],25:[2,184],26:[2,184],49:[2,184],54:[2,184],57:[2,184],72:[2,184],77:[2,184],85:[2,184],90:[2,184],92:[2,184],101:[2,184],102:87,103:[2,184],104:[2,184],105:[2,184],108:88,109:[2,184],110:69,117:[2,184],125:[2,184],127:[2,184],128:[2,184],131:[1,78],132:[2,184],133:[2,184],134:[2,184],135:[2,184],136:[2,184]},{102:90,103:[1,65],105:[1,66],108:91,109:[1,68],110:69,125:[1,89]},{1:[2,185],6:[2,185],25:[2,185],26:[2,185],49:[2,185],54:[2,185],57:[2,185],72:[2,185],77:[2,185],85:[2,185],90:[2,185],92:[2,185],101:[2,185],102:87,103:[2,185],104:[2,185],105:[2,185],108:88,109:[2,185],110:69,117:[2,185],125:[2,185],127:[2,185],128:[2,185],131:[1,78],132:[2,185],133:[2,185],134:[2,185],135:[2,185],136:[2,185]},{1:[2,186],6:[2,186],25:[2,186],26:[2,186],49:[2,186],54:[2,186],57:[2,186],72:[2,186],77:[2,186],85:[2,186],90:[2,186],92:[2,186],101:[2,186],102:87,103:[2,186],104:[2,186],105:[2,186],108:88,109:[2,186],110:69,117:[2,186],125:[2,186],127:[2,186],128:[2,186],131:[1,78],132:[2,186],133:[2,186],134:[2,186],135:[2,186],136:[2,186]},{1:[2,187],6:[2,187],25:[2,187],26:[2,187],49:[2,187],54:[2,187],57:[2,187],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,187],73:[2,72],77:[2,187],83:[2,72],84:[2,72],85:[2,187],90:[2,187],92:[2,187],101:[2,187],103:[2,187],104:[2,187],105:[2,187],109:[2,187],117:[2,187],125:[2,187],127:[2,187],128:[2,187],131:[2,187],132:[2,187],133:[2,187],134:[2,187],135:[2,187],136:[2,187]},{62:93,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],73:[1,100],80:92,83:[1,94],84:[2,107]},{62:102,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],73:[1,100],80:101,83:[1,94],84:[2,107]},{66:[2,75],67:[2,75],68:[2,75],70:[2,75],73:[2,75],83:[2,75],84:[2,75]},{1:[2,188],6:[2,188],25:[2,188],26:[2,188],49:[2,188],54:[2,188],57:[2,188],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,188],73:[2,72],77:[2,188],83:[2,72],84:[2,72],85:[2,188],90:[2,188],92:[2,188],101:[2,188],103:[2,188],104:[2,188],105:[2,188],109:[2,188],117:[2,188],125:[2,188],127:[2,188],128:[2,188],131:[2,188],132:[2,188],133:[2,188],134:[2,188],135:[2,188],136:[2,188]},{1:[2,189],6:[2,189],25:[2,189],26:[2,189],49:[2,189],54:[2,189],57:[2,189],72:[2,189],77:[2,189],85:[2,189],90:[2,189],92:[2,189],101:[2,189],103:[2,189],104:[2,189],105:[2,189],109:[2,189],117:[2,189],125:[2,189],127:[2,189],128:[2,189],131:[2,189],132:[2,189],133:[2,189],134:[2,189],135:[2,189],136:[2,189]},{1:[2,190],6:[2,190],25:[2,190],26:[2,190],49:[2,190],54:[2,190],57:[2,190],72:[2,190],77:[2,190],85:[2,190],90:[2,190],92:[2,190],101:[2,190],103:[2,190],104:[2,190],105:[2,190],109:[2,190],117:[2,190],125:[2,190],127:[2,190],128:[2,190],131:[2,190],132:[2,190],133:[2,190],134:[2,190],135:[2,190],136:[2,190]},{8:206,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,207],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:208,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{5:209,25:[1,5],124:[1,210]},{1:[2,132],6:[2,132],25:[2,132],26:[2,132],49:[2,132],54:[2,132],57:[2,132],72:[2,132],77:[2,132],85:[2,132],90:[2,132],92:[2,132],96:211,97:[1,212],98:[1,213],101:[2,132],103:[2,132],104:[2,132],105:[2,132],109:[2,132],117:[2,132],125:[2,132],127:[2,132],128:[2,132],131:[2,132],132:[2,132],133:[2,132],134:[2,132],135:[2,132],136:[2,132]},{1:[2,144],6:[2,144],25:[2,144],26:[2,144],49:[2,144],54:[2,144],57:[2,144],72:[2,144],77:[2,144],85:[2,144],90:[2,144],92:[2,144],101:[2,144],103:[2,144],104:[2,144],105:[2,144],109:[2,144],117:[2,144],125:[2,144],127:[2,144],128:[2,144],131:[2,144],132:[2,144],133:[2,144],134:[2,144],135:[2,144],136:[2,144]},{1:[2,152],6:[2,152],25:[2,152],26:[2,152],49:[2,152],54:[2,152],57:[2,152],72:[2,152],77:[2,152],85:[2,152],90:[2,152],92:[2,152],101:[2,152],103:[2,152],104:[2,152],105:[2,152],109:[2,152],117:[2,152],125:[2,152],127:[2,152],128:[2,152],131:[2,152],132:[2,152],133:[2,152],134:[2,152],135:[2,152],136:[2,152]},{25:[1,214],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{119:215,121:216,122:[1,217]},{1:[2,96],6:[2,96],25:[2,96],26:[2,96],49:[2,96],54:[2,96],57:[2,96],72:[2,96],77:[2,96],85:[2,96],90:[2,96],92:[2,96],101:[2,96],103:[2,96],104:[2,96],105:[2,96],109:[2,96],117:[2,96],125:[2,96],127:[2,96],128:[2,96],131:[2,96],132:[2,96],133:[2,96],134:[2,96],135:[2,96],136:[2,96]},{8:218,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,99],5:219,6:[2,99],25:[1,5],26:[2,99],49:[2,99],54:[2,99],57:[2,99],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,99],73:[2,72],77:[2,99],79:[1,220],83:[2,72],84:[2,72],85:[2,99],90:[2,99],92:[2,99],101:[2,99],103:[2,99],104:[2,99],105:[2,99],109:[2,99],117:[2,99],125:[2,99],127:[2,99],128:[2,99],131:[2,99],132:[2,99],133:[2,99],134:[2,99],135:[2,99],136:[2,99]},{1:[2,137],6:[2,137],25:[2,137],26:[2,137],49:[2,137],54:[2,137],57:[2,137],72:[2,137],77:[2,137],85:[2,137],90:[2,137],92:[2,137],101:[2,137],102:87,103:[2,137],104:[2,137],105:[2,137],108:88,109:[2,137],110:69,117:[2,137],125:[2,137],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,46],6:[2,46],26:[2,46],101:[2,46],102:87,103:[2,46],105:[2,46],108:88,109:[2,46],110:69,125:[2,46],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,74],101:[1,221]},{4:222,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,128],25:[2,128],54:[2,128],57:[1,224],90:[2,128],91:223,92:[1,191],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,114],6:[2,114],25:[2,114],26:[2,114],40:[2,114],49:[2,114],54:[2,114],57:[2,114],66:[2,114],67:[2,114],68:[2,114],70:[2,114],72:[2,114],73:[2,114],77:[2,114],83:[2,114],84:[2,114],85:[2,114],90:[2,114],92:[2,114],101:[2,114],103:[2,114],104:[2,114],105:[2,114],109:[2,114],115:[2,114],116:[2,114],117:[2,114],125:[2,114],127:[2,114],128:[2,114],131:[2,114],132:[2,114],133:[2,114],134:[2,114],135:[2,114],136:[2,114]},{6:[2,53],25:[2,53],53:225,54:[1,226],90:[2,53]},{6:[2,123],25:[2,123],26:[2,123],54:[2,123],85:[2,123],90:[2,123]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:227,87:[1,58],88:[1,59],89:[1,57],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,129],25:[2,129],26:[2,129],54:[2,129],85:[2,129],90:[2,129]},{1:[2,113],6:[2,113],25:[2,113],26:[2,113],40:[2,113],43:[2,113],49:[2,113],54:[2,113],57:[2,113],66:[2,113],67:[2,113],68:[2,113],70:[2,113],72:[2,113],73:[2,113],77:[2,113],79:[2,113],83:[2,113],84:[2,113],85:[2,113],90:[2,113],92:[2,113],101:[2,113],103:[2,113],104:[2,113],105:[2,113],109:[2,113],115:[2,113],116:[2,113],117:[2,113],125:[2,113],127:[2,113],128:[2,113],129:[2,113],130:[2,113],131:[2,113],132:[2,113],133:[2,113],134:[2,113],135:[2,113],136:[2,113],137:[2,113]},{5:228,25:[1,5],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,140],6:[2,140],25:[2,140],26:[2,140],49:[2,140],54:[2,140],57:[2,140],72:[2,140],77:[2,140],85:[2,140],90:[2,140],92:[2,140],101:[2,140],102:87,103:[1,65],104:[1,229],105:[1,66],108:88,109:[1,68],110:69,117:[2,140],125:[2,140],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,142],6:[2,142],25:[2,142],26:[2,142],49:[2,142],54:[2,142],57:[2,142],72:[2,142],77:[2,142],85:[2,142],90:[2,142],92:[2,142],101:[2,142],102:87,103:[1,65],104:[1,230],105:[1,66],108:88,109:[1,68],110:69,117:[2,142],125:[2,142],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,148],6:[2,148],25:[2,148],26:[2,148],49:[2,148],54:[2,148],57:[2,148],72:[2,148],77:[2,148],85:[2,148],90:[2,148],92:[2,148],101:[2,148],103:[2,148],104:[2,148],105:[2,148],109:[2,148],117:[2,148],125:[2,148],127:[2,148],128:[2,148],131:[2,148],132:[2,148],133:[2,148],134:[2,148],135:[2,148],136:[2,148]},{1:[2,149],6:[2,149],25:[2,149],26:[2,149],49:[2,149],54:[2,149],57:[2,149],72:[2,149],77:[2,149],85:[2,149],90:[2,149],92:[2,149],101:[2,149],102:87,103:[1,65],104:[2,149],105:[1,66],108:88,109:[1,68],110:69,117:[2,149],125:[2,149],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,153],6:[2,153],25:[2,153],26:[2,153],49:[2,153],54:[2,153],57:[2,153],72:[2,153],77:[2,153],85:[2,153],90:[2,153],92:[2,153],101:[2,153],103:[2,153],104:[2,153],105:[2,153],109:[2,153],117:[2,153],125:[2,153],127:[2,153],128:[2,153],131:[2,153],132:[2,153],133:[2,153],134:[2,153],135:[2,153],136:[2,153]},{115:[2,155],116:[2,155]},{27:158,28:[1,73],44:159,58:160,59:161,75:[1,70],88:[1,113],89:[1,114],112:231,114:157},{54:[1,232],115:[2,161],116:[2,161]},{54:[2,157],115:[2,157],116:[2,157]},{54:[2,158],115:[2,158],116:[2,158]},{54:[2,159],115:[2,159],116:[2,159]},{54:[2,160],115:[2,160],116:[2,160]},{1:[2,154],6:[2,154],25:[2,154],26:[2,154],49:[2,154],54:[2,154],57:[2,154],72:[2,154],77:[2,154],85:[2,154],90:[2,154],92:[2,154],101:[2,154],103:[2,154],104:[2,154],105:[2,154],109:[2,154],117:[2,154],125:[2,154],127:[2,154],128:[2,154],131:[2,154],132:[2,154],133:[2,154],134:[2,154],135:[2,154],136:[2,154]},{8:233,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:234,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,53],25:[2,53],53:235,54:[1,236],77:[2,53]},{6:[2,91],25:[2,91],26:[2,91],54:[2,91],77:[2,91]},{6:[2,39],25:[2,39],26:[2,39],43:[1,237],54:[2,39],77:[2,39]},{6:[2,42],25:[2,42],26:[2,42],54:[2,42],77:[2,42]},{6:[2,43],25:[2,43],26:[2,43],43:[2,43],54:[2,43],77:[2,43]},{6:[2,44],25:[2,44],26:[2,44],43:[2,44],54:[2,44],77:[2,44]},{6:[2,45],25:[2,45],26:[2,45],43:[2,45],54:[2,45],77:[2,45]},{1:[2,5],6:[2,5],26:[2,5],101:[2,5]},{1:[2,25],6:[2,25],25:[2,25],26:[2,25],49:[2,25],54:[2,25],57:[2,25],72:[2,25],77:[2,25],85:[2,25],90:[2,25],92:[2,25],97:[2,25],98:[2,25],101:[2,25],103:[2,25],104:[2,25],105:[2,25],109:[2,25],117:[2,25],120:[2,25],122:[2,25],125:[2,25],127:[2,25],128:[2,25],131:[2,25],132:[2,25],133:[2,25],134:[2,25],135:[2,25],136:[2,25]},{1:[2,192],6:[2,192],25:[2,192],26:[2,192],49:[2,192],54:[2,192],57:[2,192],72:[2,192],77:[2,192],85:[2,192],90:[2,192],92:[2,192],101:[2,192],102:87,103:[2,192],104:[2,192],105:[2,192],108:88,109:[2,192],110:69,117:[2,192],125:[2,192],127:[2,192],128:[2,192],131:[1,78],132:[1,81],133:[2,192],134:[2,192],135:[2,192],136:[2,192]},{1:[2,193],6:[2,193],25:[2,193],26:[2,193],49:[2,193],54:[2,193],57:[2,193],72:[2,193],77:[2,193],85:[2,193],90:[2,193],92:[2,193],101:[2,193],102:87,103:[2,193],104:[2,193],105:[2,193],108:88,109:[2,193],110:69,117:[2,193],125:[2,193],127:[2,193],128:[2,193],131:[1,78],132:[1,81],133:[2,193],134:[2,193],135:[2,193],136:[2,193]},{1:[2,194],6:[2,194],25:[2,194],26:[2,194],49:[2,194],54:[2,194],57:[2,194],72:[2,194],77:[2,194],85:[2,194],90:[2,194],92:[2,194],101:[2,194],102:87,103:[2,194],104:[2,194],105:[2,194],108:88,109:[2,194],110:69,117:[2,194],125:[2,194],127:[2,194],128:[2,194],131:[1,78],132:[2,194],133:[2,194],134:[2,194],135:[2,194],136:[2,194]},{1:[2,195],6:[2,195],25:[2,195],26:[2,195],49:[2,195],54:[2,195],57:[2,195],72:[2,195],77:[2,195],85:[2,195],90:[2,195],92:[2,195],101:[2,195],102:87,103:[2,195],104:[2,195],105:[2,195],108:88,109:[2,195],110:69,117:[2,195],125:[2,195],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[2,195],134:[2,195],135:[2,195],136:[2,195]},{1:[2,196],6:[2,196],25:[2,196],26:[2,196],49:[2,196],54:[2,196],57:[2,196],72:[2,196],77:[2,196],85:[2,196],90:[2,196],92:[2,196],101:[2,196],102:87,103:[2,196],104:[2,196],105:[2,196],108:88,109:[2,196],110:69,117:[2,196],125:[2,196],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[2,196],135:[2,196],136:[1,85]},{1:[2,197],6:[2,197],25:[2,197],26:[2,197],49:[2,197],54:[2,197],57:[2,197],72:[2,197],77:[2,197],85:[2,197],90:[2,197],92:[2,197],101:[2,197],102:87,103:[2,197],104:[2,197],105:[2,197],108:88,109:[2,197],110:69,117:[2,197],125:[2,197],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[2,197],136:[1,85]},{1:[2,198],6:[2,198],25:[2,198],26:[2,198],49:[2,198],54:[2,198],57:[2,198],72:[2,198],77:[2,198],85:[2,198],90:[2,198],92:[2,198],101:[2,198],102:87,103:[2,198],104:[2,198],105:[2,198],108:88,109:[2,198],110:69,117:[2,198],125:[2,198],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[2,198],135:[2,198],136:[2,198]},{1:[2,183],6:[2,183],25:[2,183],26:[2,183],49:[2,183],54:[2,183],57:[2,183],72:[2,183],77:[2,183],85:[2,183],90:[2,183],92:[2,183],101:[2,183],102:87,103:[1,65],104:[2,183],105:[1,66],108:88,109:[1,68],110:69,117:[2,183],125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,182],6:[2,182],25:[2,182],26:[2,182],49:[2,182],54:[2,182],57:[2,182],72:[2,182],77:[2,182],85:[2,182],90:[2,182],92:[2,182],101:[2,182],102:87,103:[1,65],104:[2,182],105:[1,66],108:88,109:[1,68],110:69,117:[2,182],125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,103],6:[2,103],25:[2,103],26:[2,103],49:[2,103],54:[2,103],57:[2,103],66:[2,103],67:[2,103],68:[2,103],70:[2,103],72:[2,103],73:[2,103],77:[2,103],83:[2,103],84:[2,103],85:[2,103],90:[2,103],92:[2,103],101:[2,103],103:[2,103],104:[2,103],105:[2,103],109:[2,103],117:[2,103],125:[2,103],127:[2,103],128:[2,103],131:[2,103],132:[2,103],133:[2,103],134:[2,103],135:[2,103],136:[2,103]},{1:[2,80],6:[2,80],25:[2,80],26:[2,80],40:[2,80],49:[2,80],54:[2,80],57:[2,80],66:[2,80],67:[2,80],68:[2,80],70:[2,80],72:[2,80],73:[2,80],77:[2,80],79:[2,80],83:[2,80],84:[2,80],85:[2,80],90:[2,80],92:[2,80],101:[2,80],103:[2,80],104:[2,80],105:[2,80],109:[2,80],117:[2,80],125:[2,80],127:[2,80],128:[2,80],129:[2,80],130:[2,80],131:[2,80],132:[2,80],133:[2,80],134:[2,80],135:[2,80],136:[2,80],137:[2,80]},{1:[2,81],6:[2,81],25:[2,81],26:[2,81],40:[2,81],49:[2,81],54:[2,81],57:[2,81],66:[2,81],67:[2,81],68:[2,81],70:[2,81],72:[2,81],73:[2,81],77:[2,81],79:[2,81],83:[2,81],84:[2,81],85:[2,81],90:[2,81],92:[2,81],101:[2,81],103:[2,81],104:[2,81],105:[2,81],109:[2,81],117:[2,81],125:[2,81],127:[2,81],128:[2,81],129:[2,81],130:[2,81],131:[2,81],132:[2,81],133:[2,81],134:[2,81],135:[2,81],136:[2,81],137:[2,81]},{1:[2,82],6:[2,82],25:[2,82],26:[2,82],40:[2,82],49:[2,82],54:[2,82],57:[2,82],66:[2,82],67:[2,82],68:[2,82],70:[2,82],72:[2,82],73:[2,82],77:[2,82],79:[2,82],83:[2,82],84:[2,82],85:[2,82],90:[2,82],92:[2,82],101:[2,82],103:[2,82],104:[2,82],105:[2,82],109:[2,82],117:[2,82],125:[2,82],127:[2,82],128:[2,82],129:[2,82],130:[2,82],131:[2,82],132:[2,82],133:[2,82],134:[2,82],135:[2,82],136:[2,82],137:[2,82]},{72:[1,238]},{57:[1,192],72:[2,87],91:239,92:[1,191],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{72:[2,88]},{8:240,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,72:[2,122],75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{12:[2,116],28:[2,116],30:[2,116],31:[2,116],33:[2,116],34:[2,116],35:[2,116],36:[2,116],37:[2,116],38:[2,116],45:[2,116],46:[2,116],47:[2,116],51:[2,116],52:[2,116],72:[2,116],75:[2,116],78:[2,116],82:[2,116],87:[2,116],88:[2,116],89:[2,116],95:[2,116],99:[2,116],100:[2,116],103:[2,116],105:[2,116],107:[2,116],109:[2,116],118:[2,116],124:[2,116],126:[2,116],127:[2,116],128:[2,116],129:[2,116],130:[2,116]},{12:[2,117],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],72:[2,117],75:[2,117],78:[2,117],82:[2,117],87:[2,117],88:[2,117],89:[2,117],95:[2,117],99:[2,117],100:[2,117],103:[2,117],105:[2,117],107:[2,117],109:[2,117],118:[2,117],124:[2,117],126:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117]},{1:[2,86],6:[2,86],25:[2,86],26:[2,86],40:[2,86],49:[2,86],54:[2,86],57:[2,86],66:[2,86],67:[2,86],68:[2,86],70:[2,86],72:[2,86],73:[2,86],77:[2,86],79:[2,86],83:[2,86],84:[2,86],85:[2,86],90:[2,86],92:[2,86],101:[2,86],103:[2,86],104:[2,86],105:[2,86],109:[2,86],117:[2,86],125:[2,86],127:[2,86],128:[2,86],129:[2,86],130:[2,86],131:[2,86],132:[2,86],133:[2,86],134:[2,86],135:[2,86],136:[2,86],137:[2,86]},{1:[2,104],6:[2,104],25:[2,104],26:[2,104],49:[2,104],54:[2,104],57:[2,104],66:[2,104],67:[2,104],68:[2,104],70:[2,104],72:[2,104],73:[2,104],77:[2,104],83:[2,104],84:[2,104],85:[2,104],90:[2,104],92:[2,104],101:[2,104],103:[2,104],104:[2,104],105:[2,104],109:[2,104],117:[2,104],125:[2,104],127:[2,104],128:[2,104],131:[2,104],132:[2,104],133:[2,104],134:[2,104],135:[2,104],136:[2,104]},{1:[2,36],6:[2,36],25:[2,36],26:[2,36],49:[2,36],54:[2,36],57:[2,36],72:[2,36],77:[2,36],85:[2,36],90:[2,36],92:[2,36],101:[2,36],102:87,103:[2,36],104:[2,36],105:[2,36],108:88,109:[2,36],110:69,117:[2,36],125:[2,36],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{8:241,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:242,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,109],6:[2,109],25:[2,109],26:[2,109],49:[2,109],54:[2,109],57:[2,109],66:[2,109],67:[2,109],68:[2,109],70:[2,109],72:[2,109],73:[2,109],77:[2,109],83:[2,109],84:[2,109],85:[2,109],90:[2,109],92:[2,109],101:[2,109],103:[2,109],104:[2,109],105:[2,109],109:[2,109],117:[2,109],125:[2,109],127:[2,109],128:[2,109],131:[2,109],132:[2,109],133:[2,109],134:[2,109],135:[2,109],136:[2,109]},{6:[2,53],25:[2,53],53:243,54:[1,226],85:[2,53]},{6:[2,128],25:[2,128],26:[2,128],54:[2,128],57:[1,244],85:[2,128],90:[2,128],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{50:245,51:[1,60],52:[1,61]},{6:[2,54],25:[2,54],26:[2,54],27:109,28:[1,73],44:110,55:246,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{6:[1,247],25:[1,248]},{6:[2,61],25:[2,61],26:[2,61],49:[2,61],54:[2,61]},{8:249,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,199],6:[2,199],25:[2,199],26:[2,199],49:[2,199],54:[2,199],57:[2,199],72:[2,199],77:[2,199],85:[2,199],90:[2,199],92:[2,199],101:[2,199],102:87,103:[2,199],104:[2,199],105:[2,199],108:88,109:[2,199],110:69,117:[2,199],125:[2,199],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{8:250,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,201],6:[2,201],25:[2,201],26:[2,201],49:[2,201],54:[2,201],57:[2,201],72:[2,201],77:[2,201],85:[2,201],90:[2,201],92:[2,201],101:[2,201],102:87,103:[2,201],104:[2,201],105:[2,201],108:88,109:[2,201],110:69,117:[2,201],125:[2,201],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,181],6:[2,181],25:[2,181],26:[2,181],49:[2,181],54:[2,181],57:[2,181],72:[2,181],77:[2,181],85:[2,181],90:[2,181],92:[2,181],101:[2,181],103:[2,181],104:[2,181],105:[2,181],109:[2,181],117:[2,181],125:[2,181],127:[2,181],128:[2,181],131:[2,181],132:[2,181],133:[2,181],134:[2,181],135:[2,181],136:[2,181]},{8:251,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,133],6:[2,133],25:[2,133],26:[2,133],49:[2,133],54:[2,133],57:[2,133],72:[2,133],77:[2,133],85:[2,133],90:[2,133],92:[2,133],97:[1,252],101:[2,133],103:[2,133],104:[2,133],105:[2,133],109:[2,133],117:[2,133],125:[2,133],127:[2,133],128:[2,133],131:[2,133],132:[2,133],133:[2,133],134:[2,133],135:[2,133],136:[2,133]},{5:253,25:[1,5]},{27:254,28:[1,73]},{119:255,121:216,122:[1,217]},{26:[1,256],120:[1,257],121:258,122:[1,217]},{26:[2,174],120:[2,174],122:[2,174]},{8:260,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],94:259,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,97],5:261,6:[2,97],25:[1,5],26:[2,97],49:[2,97],54:[2,97],57:[2,97],72:[2,97],77:[2,97],85:[2,97],90:[2,97],92:[2,97],101:[2,97],102:87,103:[1,65],104:[2,97],105:[1,66],108:88,109:[1,68],110:69,117:[2,97],125:[2,97],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,100],6:[2,100],25:[2,100],26:[2,100],49:[2,100],54:[2,100],57:[2,100],72:[2,100],77:[2,100],85:[2,100],90:[2,100],92:[2,100],101:[2,100],103:[2,100],104:[2,100],105:[2,100],109:[2,100],117:[2,100],125:[2,100],127:[2,100],128:[2,100],131:[2,100],132:[2,100],133:[2,100],134:[2,100],135:[2,100],136:[2,100]},{8:262,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,138],6:[2,138],25:[2,138],26:[2,138],49:[2,138],54:[2,138],57:[2,138],66:[2,138],67:[2,138],68:[2,138],70:[2,138],72:[2,138],73:[2,138],77:[2,138],83:[2,138],84:[2,138],85:[2,138],90:[2,138],92:[2,138],101:[2,138],103:[2,138],104:[2,138],105:[2,138],109:[2,138],117:[2,138],125:[2,138],127:[2,138],128:[2,138],131:[2,138],132:[2,138],133:[2,138],134:[2,138],135:[2,138],136:[2,138]},{6:[1,74],26:[1,263]},{8:264,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,67],12:[2,117],25:[2,67],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],54:[2,67],75:[2,117],78:[2,117],82:[2,117],87:[2,117],88:[2,117],89:[2,117],90:[2,67],95:[2,117],99:[2,117],100:[2,117],103:[2,117],105:[2,117],107:[2,117],109:[2,117],118:[2,117],124:[2,117],126:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117]},{6:[1,266],25:[1,267],90:[1,265]},{6:[2,54],8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[2,54],26:[2,54],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],85:[2,54],87:[1,58],88:[1,59],89:[1,57],90:[2,54],93:268,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,53],25:[2,53],26:[2,53],53:269,54:[1,226]},{1:[2,178],6:[2,178],25:[2,178],26:[2,178],49:[2,178],54:[2,178],57:[2,178],72:[2,178],77:[2,178],85:[2,178],90:[2,178],92:[2,178],101:[2,178],103:[2,178],104:[2,178],105:[2,178],109:[2,178],117:[2,178],120:[2,178],125:[2,178],127:[2,178],128:[2,178],131:[2,178],132:[2,178],133:[2,178],134:[2,178],135:[2,178],136:[2,178]},{8:270,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:271,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{115:[2,156],116:[2,156]},{27:158,28:[1,73],44:159,58:160,59:161,75:[1,70],88:[1,113],89:[1,114],114:272},{1:[2,163],6:[2,163],25:[2,163],26:[2,163],49:[2,163],54:[2,163],57:[2,163],72:[2,163],77:[2,163],85:[2,163],90:[2,163],92:[2,163],101:[2,163],102:87,103:[2,163],104:[1,273],105:[2,163],108:88,109:[2,163],110:69,117:[1,274],125:[2,163],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,164],6:[2,164],25:[2,164],26:[2,164],49:[2,164],54:[2,164],57:[2,164],72:[2,164],77:[2,164],85:[2,164],90:[2,164],92:[2,164],101:[2,164],102:87,103:[2,164],104:[1,275],105:[2,164],108:88,109:[2,164],110:69,117:[2,164],125:[2,164],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,277],25:[1,278],77:[1,276]},{6:[2,54],11:168,25:[2,54],26:[2,54],27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:279,42:167,44:171,46:[1,46],77:[2,54],88:[1,113]},{8:280,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,281],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,85],6:[2,85],25:[2,85],26:[2,85],40:[2,85],49:[2,85],54:[2,85],57:[2,85],66:[2,85],67:[2,85],68:[2,85],70:[2,85],72:[2,85],73:[2,85],77:[2,85],79:[2,85],83:[2,85],84:[2,85],85:[2,85],90:[2,85],92:[2,85],101:[2,85],103:[2,85],104:[2,85],105:[2,85],109:[2,85],117:[2,85],125:[2,85],127:[2,85],128:[2,85],129:[2,85],130:[2,85],131:[2,85],132:[2,85],133:[2,85],134:[2,85],135:[2,85],136:[2,85],137:[2,85]},{8:282,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,72:[2,120],75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{72:[2,121],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,37],6:[2,37],25:[2,37],26:[2,37],49:[2,37],54:[2,37],57:[2,37],72:[2,37],77:[2,37],85:[2,37],90:[2,37],92:[2,37],101:[2,37],102:87,103:[2,37],104:[2,37],105:[2,37],108:88,109:[2,37],110:69,117:[2,37],125:[2,37],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{26:[1,283],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,266],25:[1,267],85:[1,284]},{6:[2,67],25:[2,67],26:[2,67],54:[2,67],85:[2,67],90:[2,67]},{5:285,25:[1,5]},{6:[2,57],25:[2,57],26:[2,57],49:[2,57],54:[2,57]},{27:109,28:[1,73],44:110,55:286,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{6:[2,55],25:[2,55],26:[2,55],27:109,28:[1,73],44:110,48:287,54:[2,55],55:107,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{6:[2,62],25:[2,62],26:[2,62],49:[2,62],54:[2,62],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{26:[1,288],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{5:289,25:[1,5],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{5:290,25:[1,5]},{1:[2,134],6:[2,134],25:[2,134],26:[2,134],49:[2,134],54:[2,134],57:[2,134],72:[2,134],77:[2,134],85:[2,134],90:[2,134],92:[2,134],101:[2,134],103:[2,134],104:[2,134],105:[2,134],109:[2,134],117:[2,134],125:[2,134],127:[2,134],128:[2,134],131:[2,134],132:[2,134],133:[2,134],134:[2,134],135:[2,134],136:[2,134]},{5:291,25:[1,5]},{26:[1,292],120:[1,293],121:258,122:[1,217]},{1:[2,172],6:[2,172],25:[2,172],26:[2,172],49:[2,172],54:[2,172],57:[2,172],72:[2,172],77:[2,172],85:[2,172],90:[2,172],92:[2,172],101:[2,172],103:[2,172],104:[2,172],105:[2,172],109:[2,172],117:[2,172],125:[2,172],127:[2,172],128:[2,172],131:[2,172],132:[2,172],133:[2,172],134:[2,172],135:[2,172],136:[2,172]},{5:294,25:[1,5]},{26:[2,175],120:[2,175],122:[2,175]},{5:295,25:[1,5],54:[1,296]},{25:[2,130],54:[2,130],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,98],6:[2,98],25:[2,98],26:[2,98],49:[2,98],54:[2,98],57:[2,98],72:[2,98],77:[2,98],85:[2,98],90:[2,98],92:[2,98],101:[2,98],103:[2,98],104:[2,98],105:[2,98],109:[2,98],117:[2,98],125:[2,98],127:[2,98],128:[2,98],131:[2,98],132:[2,98],133:[2,98],134:[2,98],135:[2,98],136:[2,98]},{1:[2,101],5:297,6:[2,101],25:[1,5],26:[2,101],49:[2,101],54:[2,101],57:[2,101],72:[2,101],77:[2,101],85:[2,101],90:[2,101],92:[2,101],101:[2,101],102:87,103:[1,65],104:[2,101],105:[1,66],108:88,109:[1,68],110:69,117:[2,101],125:[2,101],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{101:[1,298]},{90:[1,299],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,115],6:[2,115],25:[2,115],26:[2,115],40:[2,115],49:[2,115],54:[2,115],57:[2,115],66:[2,115],67:[2,115],68:[2,115],70:[2,115],72:[2,115],73:[2,115],77:[2,115],83:[2,115],84:[2,115],85:[2,115],90:[2,115],92:[2,115],101:[2,115],103:[2,115],104:[2,115],105:[2,115],109:[2,115],115:[2,115],116:[2,115],117:[2,115],125:[2,115],127:[2,115],128:[2,115],131:[2,115],132:[2,115],133:[2,115],134:[2,115],135:[2,115],136:[2,115]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],93:300,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:301,87:[1,58],88:[1,59],89:[1,57],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,124],25:[2,124],26:[2,124],54:[2,124],85:[2,124],90:[2,124]},{6:[1,266],25:[1,267],26:[1,302]},{1:[2,141],6:[2,141],25:[2,141],26:[2,141],49:[2,141],54:[2,141],57:[2,141],72:[2,141],77:[2,141],85:[2,141],90:[2,141],92:[2,141],101:[2,141],102:87,103:[1,65],104:[2,141],105:[1,66],108:88,109:[1,68],110:69,117:[2,141],125:[2,141],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,143],6:[2,143],25:[2,143],26:[2,143],49:[2,143],54:[2,143],57:[2,143],72:[2,143],77:[2,143],85:[2,143],90:[2,143],92:[2,143],101:[2,143],102:87,103:[1,65],104:[2,143],105:[1,66],108:88,109:[1,68],110:69,117:[2,143],125:[2,143],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{115:[2,162],116:[2,162]},{8:303,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:304,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:305,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,89],6:[2,89],25:[2,89],26:[2,89],40:[2,89],49:[2,89],54:[2,89],57:[2,89],66:[2,89],67:[2,89],68:[2,89],70:[2,89],72:[2,89],73:[2,89],77:[2,89],83:[2,89],84:[2,89],85:[2,89],90:[2,89],92:[2,89],101:[2,89],103:[2,89],104:[2,89],105:[2,89],109:[2,89],115:[2,89],116:[2,89],117:[2,89],125:[2,89],127:[2,89],128:[2,89],131:[2,89],132:[2,89],133:[2,89],134:[2,89],135:[2,89],136:[2,89]},{11:168,27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:306,42:167,44:171,46:[1,46],88:[1,113]},{6:[2,90],11:168,25:[2,90],26:[2,90],27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:166,42:167,44:171,46:[1,46],54:[2,90],76:307,88:[1,113]},{6:[2,92],25:[2,92],26:[2,92],54:[2,92],77:[2,92]},{6:[2,40],25:[2,40],26:[2,40],54:[2,40],77:[2,40],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{8:308,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{72:[2,119],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,38],6:[2,38],25:[2,38],26:[2,38],49:[2,38],54:[2,38],57:[2,38],72:[2,38],77:[2,38],85:[2,38],90:[2,38],92:[2,38],101:[2,38],103:[2,38],104:[2,38],105:[2,38],109:[2,38],117:[2,38],125:[2,38],127:[2,38],128:[2,38],131:[2,38],132:[2,38],133:[2,38],134:[2,38],135:[2,38],136:[2,38]},{1:[2,110],6:[2,110],25:[2,110],26:[2,110],49:[2,110],54:[2,110],57:[2,110],66:[2,110],67:[2,110],68:[2,110],70:[2,110],72:[2,110],73:[2,110],77:[2,110],83:[2,110],84:[2,110],85:[2,110],90:[2,110],92:[2,110],101:[2,110],103:[2,110],104:[2,110],105:[2,110],109:[2,110],117:[2,110],125:[2,110],127:[2,110],128:[2,110],131:[2,110],132:[2,110],133:[2,110],134:[2,110],135:[2,110],136:[2,110]},{1:[2,49],6:[2,49],25:[2,49],26:[2,49],49:[2,49],54:[2,49],57:[2,49],72:[2,49],77:[2,49],85:[2,49],90:[2,49],92:[2,49],101:[2,49],103:[2,49],104:[2,49],105:[2,49],109:[2,49],117:[2,49],125:[2,49],127:[2,49],128:[2,49],131:[2,49],132:[2,49],133:[2,49],134:[2,49],135:[2,49],136:[2,49]},{6:[2,58],25:[2,58],26:[2,58],49:[2,58],54:[2,58]},{6:[2,53],25:[2,53],26:[2,53],53:309,54:[1,202]},{1:[2,200],6:[2,200],25:[2,200],26:[2,200],49:[2,200],54:[2,200],57:[2,200],72:[2,200],77:[2,200],85:[2,200],90:[2,200],92:[2,200],101:[2,200],103:[2,200],104:[2,200],105:[2,200],109:[2,200],117:[2,200],125:[2,200],127:[2,200],128:[2,200],131:[2,200],132:[2,200],133:[2,200],134:[2,200],135:[2,200],136:[2,200]},{1:[2,179],6:[2,179],25:[2,179],26:[2,179],49:[2,179],54:[2,179],57:[2,179],72:[2,179],77:[2,179],85:[2,179],90:[2,179],92:[2,179],101:[2,179],103:[2,179],104:[2,179],105:[2,179],109:[2,179],117:[2,179],120:[2,179],125:[2,179],127:[2,179],128:[2,179],131:[2,179],132:[2,179],133:[2,179],134:[2,179],135:[2,179],136:[2,179]},{1:[2,135],6:[2,135],25:[2,135],26:[2,135],49:[2,135],54:[2,135],57:[2,135],72:[2,135],77:[2,135],85:[2,135],90:[2,135],92:[2,135],101:[2,135],103:[2,135],104:[2,135],105:[2,135],109:[2,135],117:[2,135],125:[2,135],127:[2,135],128:[2,135],131:[2,135],132:[2,135],133:[2,135],134:[2,135],135:[2,135],136:[2,135]},{1:[2,136],6:[2,136],25:[2,136],26:[2,136],49:[2,136],54:[2,136],57:[2,136],72:[2,136],77:[2,136],85:[2,136],90:[2,136],92:[2,136],97:[2,136],101:[2,136],103:[2,136],104:[2,136],105:[2,136],109:[2,136],117:[2,136],125:[2,136],127:[2,136],128:[2,136],131:[2,136],132:[2,136],133:[2,136],134:[2,136],135:[2,136],136:[2,136]},{1:[2,170],6:[2,170],25:[2,170],26:[2,170],49:[2,170],54:[2,170],57:[2,170],72:[2,170],77:[2,170],85:[2,170],90:[2,170],92:[2,170],101:[2,170],103:[2,170],104:[2,170],105:[2,170],109:[2,170],117:[2,170],125:[2,170],127:[2,170],128:[2,170],131:[2,170],132:[2,170],133:[2,170],134:[2,170],135:[2,170],136:[2,170]},{5:310,25:[1,5]},{26:[1,311]},{6:[1,312],26:[2,176],120:[2,176],122:[2,176]},{8:313,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,102],6:[2,102],25:[2,102],26:[2,102],49:[2,102],54:[2,102],57:[2,102],72:[2,102],77:[2,102],85:[2,102],90:[2,102],92:[2,102],101:[2,102],103:[2,102],104:[2,102],105:[2,102],109:[2,102],117:[2,102],125:[2,102],127:[2,102],128:[2,102],131:[2,102],132:[2,102],133:[2,102],134:[2,102],135:[2,102],136:[2,102]},{1:[2,139],6:[2,139],25:[2,139],26:[2,139],49:[2,139],54:[2,139],57:[2,139],66:[2,139],67:[2,139],68:[2,139],70:[2,139],72:[2,139],73:[2,139],77:[2,139],83:[2,139],84:[2,139],85:[2,139],90:[2,139],92:[2,139],101:[2,139],103:[2,139],104:[2,139],105:[2,139],109:[2,139],117:[2,139],125:[2,139],127:[2,139],128:[2,139],131:[2,139],132:[2,139],133:[2,139],134:[2,139],135:[2,139],136:[2,139]},{1:[2,118],6:[2,118],25:[2,118],26:[2,118],49:[2,118],54:[2,118],57:[2,118],66:[2,118],67:[2,118],68:[2,118],70:[2,118],72:[2,118],73:[2,118],77:[2,118],83:[2,118],84:[2,118],85:[2,118],90:[2,118],92:[2,118],101:[2,118],103:[2,118],104:[2,118],105:[2,118],109:[2,118],117:[2,118],125:[2,118],127:[2,118],128:[2,118],131:[2,118],132:[2,118],133:[2,118],134:[2,118],135:[2,118],136:[2,118]},{6:[2,125],25:[2,125],26:[2,125],54:[2,125],85:[2,125],90:[2,125]},{6:[2,53],25:[2,53],26:[2,53],53:314,54:[1,226]},{6:[2,126],25:[2,126],26:[2,126],54:[2,126],85:[2,126],90:[2,126]},{1:[2,165],6:[2,165],25:[2,165],26:[2,165],49:[2,165],54:[2,165],57:[2,165],72:[2,165],77:[2,165],85:[2,165],90:[2,165],92:[2,165],101:[2,165],102:87,103:[2,165],104:[2,165],105:[2,165],108:88,109:[2,165],110:69,117:[1,315],125:[2,165],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,167],6:[2,167],25:[2,167],26:[2,167],49:[2,167],54:[2,167],57:[2,167],72:[2,167],77:[2,167],85:[2,167],90:[2,167],92:[2,167],101:[2,167],102:87,103:[2,167],104:[1,316],105:[2,167],108:88,109:[2,167],110:69,117:[2,167],125:[2,167],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,166],6:[2,166],25:[2,166],26:[2,166],49:[2,166],54:[2,166],57:[2,166],72:[2,166],77:[2,166],85:[2,166],90:[2,166],92:[2,166],101:[2,166],102:87,103:[2,166],104:[2,166],105:[2,166],108:88,109:[2,166],110:69,117:[2,166],125:[2,166],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[2,93],25:[2,93],26:[2,93],54:[2,93],77:[2,93]},{6:[2,53],25:[2,53],26:[2,53],53:317,54:[1,236]},{26:[1,318],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,247],25:[1,248],26:[1,319]},{26:[1,320]},{1:[2,173],6:[2,173],25:[2,173],26:[2,173],49:[2,173],54:[2,173],57:[2,173],72:[2,173],77:[2,173],85:[2,173],90:[2,173],92:[2,173],101:[2,173],103:[2,173],104:[2,173],105:[2,173],109:[2,173],117:[2,173],125:[2,173],127:[2,173],128:[2,173],131:[2,173],132:[2,173],133:[2,173],134:[2,173],135:[2,173],136:[2,173]},{26:[2,177],120:[2,177],122:[2,177]},{25:[2,131],54:[2,131],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,266],25:[1,267],26:[1,321]},{8:322,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:323,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[1,277],25:[1,278],26:[1,324]},{6:[2,41],25:[2,41],26:[2,41],54:[2,41],77:[2,41]},{6:[2,59],25:[2,59],26:[2,59],49:[2,59],54:[2,59]},{1:[2,171],6:[2,171],25:[2,171],26:[2,171],49:[2,171],54:[2,171],57:[2,171],72:[2,171],77:[2,171],85:[2,171],90:[2,171],92:[2,171],101:[2,171],103:[2,171],104:[2,171],105:[2,171],109:[2,171],117:[2,171],125:[2,171],127:[2,171],128:[2,171],131:[2,171],132:[2,171],133:[2,171],134:[2,171],135:[2,171],136:[2,171]},{6:[2,127],25:[2,127],26:[2,127],54:[2,127],85:[2,127],90:[2,127]},{1:[2,168],6:[2,168],25:[2,168],26:[2,168],49:[2,168],54:[2,168],57:[2,168],72:[2,168],77:[2,168],85:[2,168],90:[2,168],92:[2,168],101:[2,168],102:87,103:[2,168],104:[2,168],105:[2,168],108:88,109:[2,168],110:69,117:[2,168],125:[2,168],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,169],6:[2,169],25:[2,169],26:[2,169],49:[2,169],54:[2,169],57:[2,169],72:[2,169],77:[2,169],85:[2,169],90:[2,169],92:[2,169],101:[2,169],102:87,103:[2,169],104:[2,169],105:[2,169],108:88,109:[2,169],110:69,117:[2,169],125:[2,169],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[2,94],25:[2,94],26:[2,94],54:[2,94],77:[2,94]}], +defaultActions: {60:[2,51],61:[2,52],75:[2,3],94:[2,108],189:[2,88]}, +parseError: function parseError(str, hash) { + throw new Error(str); +}, +parse: function parse(input) { + var self = this, + stack = [0], + vstack = [null], // semantic value stack + lstack = [], // location stack + table = this.table, + yytext = '', + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + + //this.reductionCount = this.shiftCount = 0; + + this.lexer.setInput(input); + this.lexer.yy = this.yy; + this.yy.lexer = this.lexer; + if (typeof this.lexer.yylloc == 'undefined') + this.lexer.yylloc = {}; + var yyloc = this.lexer.yylloc; + lstack.push(yyloc); + + if (typeof this.yy.parseError === 'function') + this.parseError = this.yy.parseError; + + function popStack (n) { + stack.length = stack.length - 2*n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + + function lex() { + var token; + token = self.lexer.lex() || 1; // $end = 1 + // if token isn't its numeric value, convert + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + } + + var symbol, preErrorSymbol, state, action, a, r, yyval={},p,len,newState, expected; + while (true) { + // retreive state number from top of stack + state = stack[stack.length-1]; + + // use default actions if available + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol == null) + symbol = lex(); + // read action for current state and first input + action = table[state] && table[state][symbol]; + } + + // handle parse error + _handle_error: + if (typeof action === 'undefined' || !action.length || !action[0]) { + + if (!recovering) { + // Report error + expected = []; + for (p in table[state]) if (this.terminals_[p] && p > 2) { + expected.push("'"+this.terminals_[p]+"'"); + } + var errStr = ''; + if (this.lexer.showPosition) { + errStr = 'Parse error on line '+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(', ') + ", got '" + this.terminals_[symbol]+ "'"; + } else { + errStr = 'Parse error on line '+(yylineno+1)+": Unexpected " + + (symbol == 1 /*EOF*/ ? "end of input" : + ("'"+(this.terminals_[symbol] || symbol)+"'")); + } + this.parseError(errStr, + {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + + // just recovered from another error + if (recovering == 3) { + if (symbol == EOF) { + throw new Error(errStr || 'Parsing halted.'); + } + + // discard current lookahead and grab another + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + symbol = lex(); + } + + // try to recover from error + while (1) { + // check for error recovery rule in this state + if ((TERROR.toString()) in table[state]) { + break; + } + if (state == 0) { + throw new Error(errStr || 'Parsing halted.'); + } + popStack(1); + state = stack[stack.length-1]; + } + + preErrorSymbol = symbol; // save the lookahead token + symbol = TERROR; // insert generic error symbol as new lookahead + state = stack[stack.length-1]; + action = table[state] && table[state][TERROR]; + recovering = 3; // allow 3 real symbols to be shifted before reporting a new error + } + + // this shouldn't happen, unless resolve defaults are off + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol); + } + + switch (action[0]) { + + case 1: // shift + //this.shiftCount++; + + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); // push state + symbol = null; + if (!preErrorSymbol) { // normal execution/no error + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { // error just occurred, resume old lookahead f/ before error + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + + case 2: // reduce + //this.reductionCount++; + + len = this.productions_[action[1]][1]; + + // perform semantic action + yyval.$ = vstack[vstack.length-len]; // default to $$ = $1 + // default location, uses first token for firsts, last for lasts + yyval._$ = { + first_line: lstack[lstack.length-(len||1)].first_line, + last_line: lstack[lstack.length-1].last_line, + first_column: lstack[lstack.length-(len||1)].first_column, + last_column: lstack[lstack.length-1].last_column + }; + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + + if (typeof r !== 'undefined') { + return r; + } + + // pop off stack + if (len) { + stack = stack.slice(0,-1*len*2); + vstack = vstack.slice(0, -1*len); + lstack = lstack.slice(0, -1*len); + } + + stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce) + vstack.push(yyval.$); + lstack.push(yyval._$); + // goto new state = table[STATE][NONTERMINAL] + newState = table[stack[stack.length-2]][stack[stack.length-1]]; + stack.push(newState); + break; + + case 3: // accept + return true; + } + + } + + return true; +}}; +undefined +return parser; +})(); +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); } +exports.main = function commonjsMain(args) { + if (!args[1]) + throw new Error('Usage: '+args[0]+' FILE'); + if (typeof process !== 'undefined') { + var source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), "utf8"); + } else { + var cwd = require("file").path(require("file").cwd()); + var source = cwd.join(args[1]).read({charset: "utf-8"}); + } + return exports.parser.parse(source); +} +if (typeof module !== 'undefined' && require.main === module) { + exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require("system").args); +} +} \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js new file mode 100644 index 0000000..b4a4765 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js @@ -0,0 +1,261 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var ACCESSOR, CoffeeScript, Module, REPL_PROMPT, REPL_PROMPT_CONTINUATION, REPL_PROMPT_MULTILINE, SIMPLEVAR, Script, autocomplete, backlog, completeAttribute, completeVariable, enableColours, error, getCompletions, inspect, multilineMode, pipedInput, readline, repl, run, stdin, stdout; + + stdin = process.openStdin(); + + stdout = process.stdout; + + CoffeeScript = require('./coffee-script'); + + readline = require('readline'); + + inspect = require('util').inspect; + + Script = require('vm').Script; + + Module = require('module'); + + REPL_PROMPT = 'coffee> '; + + REPL_PROMPT_MULTILINE = '------> '; + + REPL_PROMPT_CONTINUATION = '......> '; + + enableColours = false; + + if (process.platform !== 'win32') { + enableColours = !process.env.NODE_DISABLE_COLORS; + } + + error = function(err) { + return stdout.write((err.stack || err.toString()) + '\n'); + }; + + ACCESSOR = /\s*([\w\.]+)(?:\.(\w*))$/; + + SIMPLEVAR = /(\w+)$/i; + + autocomplete = function(text) { + return completeAttribute(text) || completeVariable(text) || [[], text]; + }; + + completeAttribute = function(text) { + var all, completions, key, match, obj, possibilities, prefix, val; + if (match = text.match(ACCESSOR)) { + all = match[0], obj = match[1], prefix = match[2]; + try { + val = Script.runInThisContext(obj); + } catch (error) { + return; + } + val = Object(val); + possibilities = Object.getOwnPropertyNames(val); + for (key in val) { + if (~possibilities.indexOf(val)) { + possibilities.push(key); + } + } + completions = getCompletions(prefix, possibilities); + return [completions, prefix]; + } + }; + + completeVariable = function(text) { + var completions, free, keywords, possibilities, r, vars, _ref; + free = (_ref = text.match(SIMPLEVAR)) != null ? _ref[1] : void 0; + if (text === "") { + free = ""; + } + if (free != null) { + vars = Script.runInThisContext('Object.getOwnPropertyNames(Object(this))'); + keywords = (function() { + var _i, _len, _ref1, _results; + _ref1 = CoffeeScript.RESERVED; + _results = []; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + r = _ref1[_i]; + if (r.slice(0, 2) !== '__') { + _results.push(r); + } + } + return _results; + })(); + possibilities = vars.concat(keywords); + completions = getCompletions(free, possibilities); + return [completions, free]; + } + }; + + getCompletions = function(prefix, candidates) { + var el, _i, _len, _results; + _results = []; + for (_i = 0, _len = candidates.length; _i < _len; _i++) { + el = candidates[_i]; + if (el.indexOf(prefix) === 0) { + _results.push(el); + } + } + return _results; + }; + + process.on('uncaughtException', error); + + backlog = ''; + + run = function(buffer) { + var code, returnValue, _; + buffer = buffer.replace(/(^|[\r\n]+)(\s*)##?(?:[^#\r\n][^\r\n]*|)($|[\r\n])/, "$1$2$3"); + buffer = buffer.replace(/[\r\n]+$/, ""); + if (multilineMode) { + backlog += "" + buffer + "\n"; + repl.setPrompt(REPL_PROMPT_CONTINUATION); + repl.prompt(); + return; + } + if (!buffer.toString().trim() && !backlog) { + repl.prompt(); + return; + } + code = backlog += buffer; + if (code[code.length - 1] === '\\') { + backlog = "" + backlog.slice(0, -1) + "\n"; + repl.setPrompt(REPL_PROMPT_CONTINUATION); + repl.prompt(); + return; + } + repl.setPrompt(REPL_PROMPT); + backlog = ''; + try { + _ = global._; + returnValue = CoffeeScript["eval"]("_=(" + code + "\n)", { + filename: 'repl', + modulename: 'repl' + }); + if (returnValue === void 0) { + global._ = _; + } + repl.output.write("" + (inspect(returnValue, false, 2, enableColours)) + "\n"); + } catch (err) { + error(err); + } + return repl.prompt(); + }; + + if (stdin.readable) { + pipedInput = ''; + repl = { + prompt: function() { + return stdout.write(this._prompt); + }, + setPrompt: function(p) { + return this._prompt = p; + }, + input: stdin, + output: stdout, + on: function() {} + }; + stdin.on('data', function(chunk) { + var line, lines, _i, _len, _ref; + pipedInput += chunk; + if (!/\n/.test(pipedInput)) { + return; + } + lines = pipedInput.split("\n"); + pipedInput = lines[lines.length - 1]; + _ref = lines.slice(0, -1); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + if (!(line)) { + continue; + } + stdout.write("" + line + "\n"); + run(line); + } + }); + stdin.on('end', function() { + var line, _i, _len, _ref; + _ref = pipedInput.trim().split("\n"); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + line = _ref[_i]; + if (!(line)) { + continue; + } + stdout.write("" + line + "\n"); + run(line); + } + stdout.write('\n'); + return process.exit(0); + }); + } else { + if (readline.createInterface.length < 3) { + repl = readline.createInterface(stdin, autocomplete); + stdin.on('data', function(buffer) { + return repl.write(buffer); + }); + } else { + repl = readline.createInterface(stdin, stdout, autocomplete); + } + } + + multilineMode = false; + + repl.input.on('keypress', function(char, key) { + var cursorPos, newPrompt; + if (!(key && key.ctrl && !key.meta && !key.shift && key.name === 'v')) { + return; + } + cursorPos = repl.cursor; + repl.output.cursorTo(0); + repl.output.clearLine(1); + multilineMode = !multilineMode; + if (!multilineMode && backlog) { + repl._line(); + } + backlog = ''; + repl.setPrompt((newPrompt = multilineMode ? REPL_PROMPT_MULTILINE : REPL_PROMPT)); + repl.prompt(); + return repl.output.cursorTo(newPrompt.length + (repl.cursor = cursorPos)); + }); + + repl.input.on('keypress', function(char, key) { + if (!(multilineMode && repl.line)) { + return; + } + if (!(key && key.ctrl && !key.meta && !key.shift && key.name === 'd')) { + return; + } + multilineMode = false; + return repl._line(); + }); + + repl.on('attemptClose', function() { + if (multilineMode) { + multilineMode = false; + repl.output.cursorTo(0); + repl.output.clearLine(1); + repl._onLine(repl.line); + return; + } + if (backlog) { + backlog = ''; + repl.output.write('\n'); + repl.setPrompt(REPL_PROMPT); + return repl.prompt(); + } else { + return repl.close(); + } + }); + + repl.on('close', function() { + repl.output.write('\n'); + return repl.input.destroy(); + }); + + repl.on('line', run); + + repl.setPrompt(REPL_PROMPT); + + repl.prompt(); + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js new file mode 100644 index 0000000..d26133c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js @@ -0,0 +1,349 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var BALANCED_PAIRS, EXPRESSION_CLOSE, EXPRESSION_END, EXPRESSION_START, IMPLICIT_BLOCK, IMPLICIT_CALL, IMPLICIT_END, IMPLICIT_FUNC, IMPLICIT_UNSPACED_CALL, INVERSES, LINEBREAKS, SINGLE_CLOSERS, SINGLE_LINERS, left, rite, _i, _len, _ref, + __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, + __slice = [].slice; + + exports.Rewriter = (function() { + + function Rewriter() {} + + Rewriter.prototype.rewrite = function(tokens) { + this.tokens = tokens; + this.removeLeadingNewlines(); + this.removeMidExpressionNewlines(); + this.closeOpenCalls(); + this.closeOpenIndexes(); + this.addImplicitIndentation(); + this.tagPostfixConditionals(); + this.addImplicitBraces(); + this.addImplicitParentheses(); + return this.tokens; + }; + + Rewriter.prototype.scanTokens = function(block) { + var i, token, tokens; + tokens = this.tokens; + i = 0; + while (token = tokens[i]) { + i += block.call(this, token, i, tokens); + } + return true; + }; + + Rewriter.prototype.detectEnd = function(i, condition, action) { + var levels, token, tokens, _ref, _ref1; + tokens = this.tokens; + levels = 0; + while (token = tokens[i]) { + if (levels === 0 && condition.call(this, token, i)) { + return action.call(this, token, i); + } + if (!token || levels < 0) { + return action.call(this, token, i - 1); + } + if (_ref = token[0], __indexOf.call(EXPRESSION_START, _ref) >= 0) { + levels += 1; + } else if (_ref1 = token[0], __indexOf.call(EXPRESSION_END, _ref1) >= 0) { + levels -= 1; + } + i += 1; + } + return i - 1; + }; + + Rewriter.prototype.removeLeadingNewlines = function() { + var i, tag, _i, _len, _ref; + _ref = this.tokens; + for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { + tag = _ref[i][0]; + if (tag !== 'TERMINATOR') { + break; + } + } + if (i) { + return this.tokens.splice(0, i); + } + }; + + Rewriter.prototype.removeMidExpressionNewlines = function() { + return this.scanTokens(function(token, i, tokens) { + var _ref; + if (!(token[0] === 'TERMINATOR' && (_ref = this.tag(i + 1), __indexOf.call(EXPRESSION_CLOSE, _ref) >= 0))) { + return 1; + } + tokens.splice(i, 1); + return 0; + }); + }; + + Rewriter.prototype.closeOpenCalls = function() { + var action, condition; + condition = function(token, i) { + var _ref; + return ((_ref = token[0]) === ')' || _ref === 'CALL_END') || token[0] === 'OUTDENT' && this.tag(i - 1) === ')'; + }; + action = function(token, i) { + return this.tokens[token[0] === 'OUTDENT' ? i - 1 : i][0] = 'CALL_END'; + }; + return this.scanTokens(function(token, i) { + if (token[0] === 'CALL_START') { + this.detectEnd(i + 1, condition, action); + } + return 1; + }); + }; + + Rewriter.prototype.closeOpenIndexes = function() { + var action, condition; + condition = function(token, i) { + var _ref; + return (_ref = token[0]) === ']' || _ref === 'INDEX_END'; + }; + action = function(token, i) { + return token[0] = 'INDEX_END'; + }; + return this.scanTokens(function(token, i) { + if (token[0] === 'INDEX_START') { + this.detectEnd(i + 1, condition, action); + } + return 1; + }); + }; + + Rewriter.prototype.addImplicitBraces = function() { + var action, condition, sameLine, stack, start, startIndent, startIndex, startsLine; + stack = []; + start = null; + startsLine = null; + sameLine = true; + startIndent = 0; + startIndex = 0; + condition = function(token, i) { + var one, tag, three, two, _ref, _ref1; + _ref = this.tokens.slice(i + 1, (i + 3) + 1 || 9e9), one = _ref[0], two = _ref[1], three = _ref[2]; + if ('HERECOMMENT' === (one != null ? one[0] : void 0)) { + return false; + } + tag = token[0]; + if (__indexOf.call(LINEBREAKS, tag) >= 0) { + sameLine = false; + } + return (((tag === 'TERMINATOR' || tag === 'OUTDENT') || (__indexOf.call(IMPLICIT_END, tag) >= 0 && sameLine && !(i - startIndex === 1))) && ((!startsLine && this.tag(i - 1) !== ',') || !((two != null ? two[0] : void 0) === ':' || (one != null ? one[0] : void 0) === '@' && (three != null ? three[0] : void 0) === ':'))) || (tag === ',' && one && ((_ref1 = one[0]) !== 'IDENTIFIER' && _ref1 !== 'NUMBER' && _ref1 !== 'STRING' && _ref1 !== '@' && _ref1 !== 'TERMINATOR' && _ref1 !== 'OUTDENT')); + }; + action = function(token, i) { + var tok; + tok = this.generate('}', '}', token[2]); + return this.tokens.splice(i, 0, tok); + }; + return this.scanTokens(function(token, i, tokens) { + var ago, idx, prevTag, tag, tok, value, _ref, _ref1; + if (_ref = (tag = token[0]), __indexOf.call(EXPRESSION_START, _ref) >= 0) { + stack.push([(tag === 'INDENT' && this.tag(i - 1) === '{' ? '{' : tag), i]); + return 1; + } + if (__indexOf.call(EXPRESSION_END, tag) >= 0) { + start = stack.pop(); + return 1; + } + if (!(tag === ':' && ((ago = this.tag(i - 2)) === ':' || ((_ref1 = stack[stack.length - 1]) != null ? _ref1[0] : void 0) !== '{'))) { + return 1; + } + sameLine = true; + startIndex = i + 1; + stack.push(['{']); + idx = ago === '@' ? i - 2 : i - 1; + while (this.tag(idx - 2) === 'HERECOMMENT') { + idx -= 2; + } + prevTag = this.tag(idx - 1); + startsLine = !prevTag || (__indexOf.call(LINEBREAKS, prevTag) >= 0); + value = new String('{'); + value.generated = true; + tok = this.generate('{', value, token[2]); + tokens.splice(idx, 0, tok); + this.detectEnd(i + 2, condition, action); + return 2; + }); + }; + + Rewriter.prototype.addImplicitParentheses = function() { + var action, condition, noCall, seenControl, seenSingle; + noCall = seenSingle = seenControl = false; + condition = function(token, i) { + var post, tag, _ref, _ref1; + tag = token[0]; + if (!seenSingle && token.fromThen) { + return true; + } + if (tag === 'IF' || tag === 'ELSE' || tag === 'CATCH' || tag === '->' || tag === '=>' || tag === 'CLASS') { + seenSingle = true; + } + if (tag === 'IF' || tag === 'ELSE' || tag === 'SWITCH' || tag === 'TRY' || tag === '=') { + seenControl = true; + } + if ((tag === '.' || tag === '?.' || tag === '::') && this.tag(i - 1) === 'OUTDENT') { + return true; + } + return !token.generated && this.tag(i - 1) !== ',' && (__indexOf.call(IMPLICIT_END, tag) >= 0 || (tag === 'INDENT' && !seenControl)) && (tag !== 'INDENT' || (((_ref = this.tag(i - 2)) !== 'CLASS' && _ref !== 'EXTENDS') && (_ref1 = this.tag(i - 1), __indexOf.call(IMPLICIT_BLOCK, _ref1) < 0) && !((post = this.tokens[i + 1]) && post.generated && post[0] === '{'))); + }; + action = function(token, i) { + return this.tokens.splice(i, 0, this.generate('CALL_END', ')', token[2])); + }; + return this.scanTokens(function(token, i, tokens) { + var callObject, current, next, prev, tag, _ref, _ref1, _ref2; + tag = token[0]; + if (tag === 'CLASS' || tag === 'IF' || tag === 'FOR' || tag === 'WHILE') { + noCall = true; + } + _ref = tokens.slice(i - 1, (i + 1) + 1 || 9e9), prev = _ref[0], current = _ref[1], next = _ref[2]; + callObject = !noCall && tag === 'INDENT' && next && next.generated && next[0] === '{' && prev && (_ref1 = prev[0], __indexOf.call(IMPLICIT_FUNC, _ref1) >= 0); + seenSingle = false; + seenControl = false; + if (__indexOf.call(LINEBREAKS, tag) >= 0) { + noCall = false; + } + if (prev && !prev.spaced && tag === '?') { + token.call = true; + } + if (token.fromThen) { + return 1; + } + if (!(callObject || (prev != null ? prev.spaced : void 0) && (prev.call || (_ref2 = prev[0], __indexOf.call(IMPLICIT_FUNC, _ref2) >= 0)) && (__indexOf.call(IMPLICIT_CALL, tag) >= 0 || !(token.spaced || token.newLine) && __indexOf.call(IMPLICIT_UNSPACED_CALL, tag) >= 0))) { + return 1; + } + tokens.splice(i, 0, this.generate('CALL_START', '(', token[2])); + this.detectEnd(i + 1, condition, action); + if (prev[0] === '?') { + prev[0] = 'FUNC_EXIST'; + } + return 2; + }); + }; + + Rewriter.prototype.addImplicitIndentation = function() { + var action, condition, indent, outdent, starter; + starter = indent = outdent = null; + condition = function(token, i) { + var _ref; + return token[1] !== ';' && (_ref = token[0], __indexOf.call(SINGLE_CLOSERS, _ref) >= 0) && !(token[0] === 'ELSE' && (starter !== 'IF' && starter !== 'THEN')); + }; + action = function(token, i) { + return this.tokens.splice((this.tag(i - 1) === ',' ? i - 1 : i), 0, outdent); + }; + return this.scanTokens(function(token, i, tokens) { + var tag, _ref, _ref1; + tag = token[0]; + if (tag === 'TERMINATOR' && this.tag(i + 1) === 'THEN') { + tokens.splice(i, 1); + return 0; + } + if (tag === 'ELSE' && this.tag(i - 1) !== 'OUTDENT') { + tokens.splice.apply(tokens, [i, 0].concat(__slice.call(this.indentation(token)))); + return 2; + } + if (tag === 'CATCH' && ((_ref = this.tag(i + 2)) === 'OUTDENT' || _ref === 'TERMINATOR' || _ref === 'FINALLY')) { + tokens.splice.apply(tokens, [i + 2, 0].concat(__slice.call(this.indentation(token)))); + return 4; + } + if (__indexOf.call(SINGLE_LINERS, tag) >= 0 && this.tag(i + 1) !== 'INDENT' && !(tag === 'ELSE' && this.tag(i + 1) === 'IF')) { + starter = tag; + _ref1 = this.indentation(token, true), indent = _ref1[0], outdent = _ref1[1]; + if (starter === 'THEN') { + indent.fromThen = true; + } + tokens.splice(i + 1, 0, indent); + this.detectEnd(i + 2, condition, action); + if (tag === 'THEN') { + tokens.splice(i, 1); + } + return 1; + } + return 1; + }); + }; + + Rewriter.prototype.tagPostfixConditionals = function() { + var action, condition, original; + original = null; + condition = function(token, i) { + var _ref; + return (_ref = token[0]) === 'TERMINATOR' || _ref === 'INDENT'; + }; + action = function(token, i) { + if (token[0] !== 'INDENT' || (token.generated && !token.fromThen)) { + return original[0] = 'POST_' + original[0]; + } + }; + return this.scanTokens(function(token, i) { + if (token[0] !== 'IF') { + return 1; + } + original = token; + this.detectEnd(i + 1, condition, action); + return 1; + }); + }; + + Rewriter.prototype.indentation = function(token, implicit) { + var indent, outdent; + if (implicit == null) { + implicit = false; + } + indent = ['INDENT', 2, token[2]]; + outdent = ['OUTDENT', 2, token[2]]; + if (implicit) { + indent.generated = outdent.generated = true; + } + return [indent, outdent]; + }; + + Rewriter.prototype.generate = function(tag, value, line) { + var tok; + tok = [tag, value, line]; + tok.generated = true; + return tok; + }; + + Rewriter.prototype.tag = function(i) { + var _ref; + return (_ref = this.tokens[i]) != null ? _ref[0] : void 0; + }; + + return Rewriter; + + })(); + + BALANCED_PAIRS = [['(', ')'], ['[', ']'], ['{', '}'], ['INDENT', 'OUTDENT'], ['CALL_START', 'CALL_END'], ['PARAM_START', 'PARAM_END'], ['INDEX_START', 'INDEX_END']]; + + exports.INVERSES = INVERSES = {}; + + EXPRESSION_START = []; + + EXPRESSION_END = []; + + for (_i = 0, _len = BALANCED_PAIRS.length; _i < _len; _i++) { + _ref = BALANCED_PAIRS[_i], left = _ref[0], rite = _ref[1]; + EXPRESSION_START.push(INVERSES[rite] = left); + EXPRESSION_END.push(INVERSES[left] = rite); + } + + EXPRESSION_CLOSE = ['CATCH', 'WHEN', 'ELSE', 'FINALLY'].concat(EXPRESSION_END); + + IMPLICIT_FUNC = ['IDENTIFIER', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END', '@', 'THIS']; + + IMPLICIT_CALL = ['IDENTIFIER', 'NUMBER', 'STRING', 'JS', 'REGEX', 'NEW', 'PARAM_START', 'CLASS', 'IF', 'TRY', 'SWITCH', 'THIS', 'BOOL', 'NULL', 'UNDEFINED', 'UNARY', 'SUPER', '@', '->', '=>', '[', '(', '{', '--', '++']; + + IMPLICIT_UNSPACED_CALL = ['+', '-']; + + IMPLICIT_BLOCK = ['->', '=>', '{', '[', ',']; + + IMPLICIT_END = ['POST_IF', 'FOR', 'WHILE', 'UNTIL', 'WHEN', 'BY', 'LOOP', 'TERMINATOR']; + + SINGLE_LINERS = ['ELSE', '->', '=>', 'TRY', 'FINALLY', 'THEN']; + + SINGLE_CLOSERS = ['TERMINATOR', 'CATCH', 'FINALLY', 'ELSE', 'OUTDENT', 'LEADING_WHEN']; + + LINEBREAKS = ['TERMINATOR', 'INDENT', 'OUTDENT']; + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js new file mode 100644 index 0000000..3efc4ed --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js @@ -0,0 +1,146 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var Scope, extend, last, _ref; + + _ref = require('./helpers'), extend = _ref.extend, last = _ref.last; + + exports.Scope = Scope = (function() { + + Scope.root = null; + + function Scope(parent, expressions, method) { + this.parent = parent; + this.expressions = expressions; + this.method = method; + this.variables = [ + { + name: 'arguments', + type: 'arguments' + } + ]; + this.positions = {}; + if (!this.parent) { + Scope.root = this; + } + } + + Scope.prototype.add = function(name, type, immediate) { + if (this.shared && !immediate) { + return this.parent.add(name, type, immediate); + } + if (Object.prototype.hasOwnProperty.call(this.positions, name)) { + return this.variables[this.positions[name]].type = type; + } else { + return this.positions[name] = this.variables.push({ + name: name, + type: type + }) - 1; + } + }; + + Scope.prototype.namedMethod = function() { + if (this.method.name || !this.parent) { + return this.method; + } + return this.parent.namedMethod(); + }; + + Scope.prototype.find = function(name) { + if (this.check(name)) { + return true; + } + this.add(name, 'var'); + return false; + }; + + Scope.prototype.parameter = function(name) { + if (this.shared && this.parent.check(name, true)) { + return; + } + return this.add(name, 'param'); + }; + + Scope.prototype.check = function(name) { + var _ref1; + return !!(this.type(name) || ((_ref1 = this.parent) != null ? _ref1.check(name) : void 0)); + }; + + Scope.prototype.temporary = function(name, index) { + if (name.length > 1) { + return '_' + name + (index > 1 ? index - 1 : ''); + } else { + return '_' + (index + parseInt(name, 36)).toString(36).replace(/\d/g, 'a'); + } + }; + + Scope.prototype.type = function(name) { + var v, _i, _len, _ref1; + _ref1 = this.variables; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + v = _ref1[_i]; + if (v.name === name) { + return v.type; + } + } + return null; + }; + + Scope.prototype.freeVariable = function(name, reserve) { + var index, temp; + if (reserve == null) { + reserve = true; + } + index = 0; + while (this.check((temp = this.temporary(name, index)))) { + index++; + } + if (reserve) { + this.add(temp, 'var', true); + } + return temp; + }; + + Scope.prototype.assign = function(name, value) { + this.add(name, { + value: value, + assigned: true + }, true); + return this.hasAssignments = true; + }; + + Scope.prototype.hasDeclarations = function() { + return !!this.declaredVariables().length; + }; + + Scope.prototype.declaredVariables = function() { + var realVars, tempVars, v, _i, _len, _ref1; + realVars = []; + tempVars = []; + _ref1 = this.variables; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + v = _ref1[_i]; + if (v.type === 'var') { + (v.name.charAt(0) === '_' ? tempVars : realVars).push(v.name); + } + } + return realVars.sort().concat(tempVars.sort()); + }; + + Scope.prototype.assignedVariables = function() { + var v, _i, _len, _ref1, _results; + _ref1 = this.variables; + _results = []; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + v = _ref1[_i]; + if (v.type.assigned) { + _results.push("" + v.name + " = " + v.type.value); + } + } + return _results; + }; + + return Scope; + + })(); + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/coffee-script/package.json b/static/js/node_modules/grunt/node_modules/coffee-script/package.json new file mode 100644 index 0000000..56f3097 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/coffee-script/package.json @@ -0,0 +1,47 @@ +{ + "name": "coffee-script", + "description": "Unfancy JavaScript", + "keywords": [ + "javascript", + "language", + "coffeescript", + "compiler" + ], + "author": { + "name": "Jeremy Ashkenas" + }, + "version": "1.3.3", + "licenses": [ + { + "type": "MIT", + "url": "https://raw.github.com/jashkenas/coffee-script/master/LICENSE" + } + ], + "engines": { + "node": ">=0.4.0" + }, + "directories": { + "lib": "./lib/coffee-script" + }, + "main": "./lib/coffee-script/coffee-script", + "bin": { + "coffee": "./bin/coffee", + "cake": "./bin/cake" + }, + "homepage": "http://coffeescript.org", + "bugs": { + "url": "https://github.com/jashkenas/coffee-script/issues" + }, + "repository": { + "type": "git", + "url": "git://github.com/jashkenas/coffee-script.git" + }, + "devDependencies": { + "uglify-js": ">=1.0.0", + "jison": ">=0.2.0" + }, + "readme": "\n {\n } } {\n { { } }\n } }{ {\n { }{ } } _____ __ __\n ( }{ }{ { ) / ____| / _|/ _|\n .- { { } { }} -. | | ___ | |_| |_ ___ ___\n ( ( } { } { } } ) | | / _ \\| _| _/ _ \\/ _ \\\n |`-..________ ..-'| | |___| (_) | | | || __/ __/\n | | \\_____\\___/|_| |_| \\___|\\___|\n | ;--.\n | (__ \\ _____ _ _\n | | ) ) / ____| (_) | |\n | |/ / | (___ ___ _ __ _ _ __ | |_\n | ( / \\___ \\ / __| '__| | '_ \\| __|\n | |/ ____) | (__| | | | |_) | |_\n | | |_____/ \\___|_| |_| .__/ \\__|\n `-.._________..-' | |\n |_|\n\n\n CoffeeScript is a little language that compiles into JavaScript.\n\n Install Node.js, and then the CoffeeScript compiler:\n sudo bin/cake install\n\n Or, if you have the Node Package Manager installed:\n npm install -g coffee-script\n (Leave off the -g if you don't wish to install globally.)\n\n Execute a script:\n coffee /path/to/script.coffee\n\n Compile a script:\n coffee -c /path/to/script.coffee\n\n For documentation, usage, and examples, see:\n http://coffeescript.org/\n\n To suggest a feature, report a bug, or general discussion:\n http://github.com/jashkenas/coffee-script/issues/\n\n If you'd like to chat, drop by #coffeescript on Freenode IRC,\n or on webchat.freenode.net.\n\n The source repository:\n git://github.com/jashkenas/coffee-script.git\n\n All contributors are listed here:\n http://github.com/jashkenas/coffee-script/contributors\n", + "readmeFilename": "README", + "_id": "coffee-script@1.3.3", + "_from": "coffee-script@~1.3.3" +} diff --git a/static/js/node_modules/grunt/node_modules/colors/MIT-LICENSE.txt b/static/js/node_modules/grunt/node_modules/colors/MIT-LICENSE.txt new file mode 100644 index 0000000..7dca107 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/MIT-LICENSE.txt @@ -0,0 +1,22 @@ +Copyright (c) 2010 + +Marak Squires +Alexis Sellier (cloudhead) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/colors/ReadMe.md b/static/js/node_modules/grunt/node_modules/colors/ReadMe.md new file mode 100644 index 0000000..0eda52d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/ReadMe.md @@ -0,0 +1,77 @@ +# colors.js - get color and style in your node.js console ( and browser ) like what + + + + +## Installation + + npm install colors + +## colors and styles! + +- bold +- italic +- underline +- inverse +- yellow +- cyan +- white +- magenta +- green +- red +- grey +- blue +- rainbow +- zebra +- random + +## Usage + +``` js +var colors = require('./colors'); + +console.log('hello'.green); // outputs green text +console.log('i like cake and pies'.underline.red) // outputs red underlined text +console.log('inverse the color'.inverse); // inverses the color +console.log('OMG Rainbows!'.rainbow); // rainbow (ignores spaces) +``` + +# Creating Custom themes + +```js + +var colors = require('colors'); + +colors.setTheme({ + silly: 'rainbow', + input: 'grey', + verbose: 'cyan', + prompt: 'grey', + info: 'green', + data: 'grey', + help: 'cyan', + warn: 'yellow', + debug: 'blue', + error: 'red' +}); + +// outputs red text +console.log("this is an error".error); + +// outputs yellow text +console.log("this is a warning".warn); +``` + + +### Contributors + +Marak (Marak Squires) +Alexis Sellier (cloudhead) +mmalecki (Maciej Małecki) +nicoreed (Nico Reed) +morganrallen (Morgan Allen) +JustinCampbell (Justin Campbell) +ded (Dustin Diaz) + + +#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded) diff --git a/static/js/node_modules/grunt/node_modules/colors/colors.js b/static/js/node_modules/grunt/node_modules/colors/colors.js new file mode 100644 index 0000000..7a537d8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/colors.js @@ -0,0 +1,342 @@ +/* +colors.js + +Copyright (c) 2010 + +Marak Squires +Alexis Sellier (cloudhead) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ + +var isHeadless = false; + +if (typeof module !== 'undefined') { + isHeadless = true; +} + +if (!isHeadless) { + var exports = {}; + var module = {}; + var colors = exports; + exports.mode = "browser"; +} else { + exports.mode = "console"; +} + +// +// Prototypes the string object to have additional method calls that add terminal colors +// +var addProperty = function (color, func) { + exports[color] = function (str) { + return func.apply(str); + }; + String.prototype.__defineGetter__(color, func); +}; + +function stylize(str, style) { + + var styles; + + if (exports.mode === 'console') { + styles = { + //styles + 'bold' : ['\x1B[1m', '\x1B[22m'], + 'italic' : ['\x1B[3m', '\x1B[23m'], + 'underline' : ['\x1B[4m', '\x1B[24m'], + 'inverse' : ['\x1B[7m', '\x1B[27m'], + 'strikethrough' : ['\x1B[9m', '\x1B[29m'], + //text colors + //grayscale + 'white' : ['\x1B[37m', '\x1B[39m'], + 'grey' : ['\x1B[90m', '\x1B[39m'], + 'black' : ['\x1B[30m', '\x1B[39m'], + //colors + 'blue' : ['\x1B[34m', '\x1B[39m'], + 'cyan' : ['\x1B[36m', '\x1B[39m'], + 'green' : ['\x1B[32m', '\x1B[39m'], + 'magenta' : ['\x1B[35m', '\x1B[39m'], + 'red' : ['\x1B[31m', '\x1B[39m'], + 'yellow' : ['\x1B[33m', '\x1B[39m'], + //background colors + //grayscale + 'whiteBG' : ['\x1B[47m', '\x1B[49m'], + 'greyBG' : ['\x1B[49;5;8m', '\x1B[49m'], + 'blackBG' : ['\x1B[40m', '\x1B[49m'], + //colors + 'blueBG' : ['\x1B[44m', '\x1B[49m'], + 'cyanBG' : ['\x1B[46m', '\x1B[49m'], + 'greenBG' : ['\x1B[42m', '\x1B[49m'], + 'magentaBG' : ['\x1B[45m', '\x1B[49m'], + 'redBG' : ['\x1B[41m', '\x1B[49m'], + 'yellowBG' : ['\x1B[43m', '\x1B[49m'] + }; + } else if (exports.mode === 'browser') { + styles = { + //styles + 'bold' : ['', ''], + 'italic' : ['', ''], + 'underline' : ['', ''], + 'inverse' : ['', ''], + 'strikethrough' : ['', ''], + //text colors + //grayscale + 'white' : ['', ''], + 'grey' : ['', ''], + 'black' : ['', ''], + //colors + 'blue' : ['', ''], + 'cyan' : ['', ''], + 'green' : ['', ''], + 'magenta' : ['', ''], + 'red' : ['', ''], + 'yellow' : ['', ''], + //background colors + //grayscale + 'whiteBG' : ['', ''], + 'greyBG' : ['', ''], + 'blackBG' : ['', ''], + //colors + 'blueBG' : ['', ''], + 'cyanBG' : ['', ''], + 'greenBG' : ['', ''], + 'magentaBG' : ['', ''], + 'redBG' : ['', ''], + 'yellowBG' : ['', ''] + }; + } else if (exports.mode === 'none') { + return str + ''; + } else { + console.log('unsupported mode, try "browser", "console" or "none"'); + } + return styles[style][0] + str + styles[style][1]; +} + +function applyTheme(theme) { + + // + // Remark: This is a list of methods that exist + // on String that you should not overwrite. + // + var stringPrototypeBlacklist = [ + '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', 'charAt', 'constructor', + 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf', 'charCodeAt', + 'indexOf', 'lastIndexof', 'length', 'localeCompare', 'match', 'replace', 'search', 'slice', 'split', 'substring', + 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight' + ]; + + Object.keys(theme).forEach(function (prop) { + if (stringPrototypeBlacklist.indexOf(prop) !== -1) { + console.log('warn: '.red + ('String.prototype' + prop).magenta + ' is probably something you don\'t want to override. Ignoring style name'); + } + else { + if (typeof(theme[prop]) === 'string') { + addProperty(prop, function () { + return exports[theme[prop]](this); + }); + } + else { + addProperty(prop, function () { + var ret = this; + for (var t = 0; t < theme[prop].length; t++) { + ret = exports[theme[prop][t]](ret); + } + return ret; + }); + } + } + }); +} + + +// +// Iterate through all default styles and colors +// +var x = ['bold', 'underline', 'strikethrough', 'italic', 'inverse', 'grey', 'black', 'yellow', 'red', 'green', 'blue', 'white', 'cyan', 'magenta', 'greyBG', 'blackBG', 'yellowBG', 'redBG', 'greenBG', 'blueBG', 'whiteBG', 'cyanBG', 'magentaBG']; +x.forEach(function (style) { + + // __defineGetter__ at the least works in more browsers + // http://robertnyman.com/javascript/javascript-getters-setters.html + // Object.defineProperty only works in Chrome + addProperty(style, function () { + return stylize(this, style); + }); +}); + +function sequencer(map) { + return function () { + if (!isHeadless) { + return this.replace(/( )/, '$1'); + } + var exploded = this.split(""), i = 0; + exploded = exploded.map(map); + return exploded.join(""); + }; +} + +var rainbowMap = (function () { + var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta']; //RoY G BiV + return function (letter, i, exploded) { + if (letter === " ") { + return letter; + } else { + return stylize(letter, rainbowColors[i++ % rainbowColors.length]); + } + }; +})(); + +exports.themes = {}; + +exports.addSequencer = function (name, map) { + addProperty(name, sequencer(map)); +}; + +exports.addSequencer('rainbow', rainbowMap); +exports.addSequencer('zebra', function (letter, i, exploded) { + return i % 2 === 0 ? letter : letter.inverse; +}); + +exports.setTheme = function (theme) { + if (typeof theme === 'string') { + try { + exports.themes[theme] = require(theme); + applyTheme(exports.themes[theme]); + return exports.themes[theme]; + } catch (err) { + console.log(err); + return err; + } + } else { + applyTheme(theme); + } +}; + + +addProperty('stripColors', function () { + return ("" + this).replace(/\x1B\[\d+m/g, ''); +}); + +// please no +function zalgo(text, options) { + var soul = { + "up" : [ + '̍', '̎', '̄', '̅', + '̿', '̑', '̆', '̐', + '͒', '͗', '͑', '̇', + '̈', '̊', '͂', '̓', + '̈', '͊', '͋', '͌', + '̃', '̂', '̌', '͐', + '̀', '́', '̋', '̏', + '̒', '̓', '̔', '̽', + '̉', 'ͣ', 'ͤ', 'ͥ', + 'ͦ', 'ͧ', 'ͨ', 'ͩ', + 'ͪ', 'ͫ', 'ͬ', 'ͭ', + 'ͮ', 'ͯ', '̾', '͛', + '͆', '̚' + ], + "down" : [ + '̖', '̗', '̘', '̙', + '̜', '̝', '̞', '̟', + '̠', '̤', '̥', '̦', + '̩', '̪', '̫', '̬', + '̭', '̮', '̯', '̰', + '̱', '̲', '̳', '̹', + '̺', '̻', '̼', 'ͅ', + '͇', '͈', '͉', '͍', + '͎', '͓', '͔', '͕', + '͖', '͙', '͚', '̣' + ], + "mid" : [ + '̕', '̛', '̀', '́', + '͘', '̡', '̢', '̧', + '̨', '̴', '̵', '̶', + '͜', '͝', '͞', + '͟', '͠', '͢', '̸', + '̷', '͡', ' ҉' + ] + }, + all = [].concat(soul.up, soul.down, soul.mid), + zalgo = {}; + + function randomNumber(range) { + var r = Math.floor(Math.random() * range); + return r; + } + + function is_char(character) { + var bool = false; + all.filter(function (i) { + bool = (i === character); + }); + return bool; + } + + function heComes(text, options) { + var result = '', counts, l; + options = options || {}; + options["up"] = options["up"] || true; + options["mid"] = options["mid"] || true; + options["down"] = options["down"] || true; + options["size"] = options["size"] || "maxi"; + text = text.split(''); + for (l in text) { + if (is_char(l)) { + continue; + } + result = result + text[l]; + counts = {"up" : 0, "down" : 0, "mid" : 0}; + switch (options.size) { + case 'mini': + counts.up = randomNumber(8); + counts.min = randomNumber(2); + counts.down = randomNumber(8); + break; + case 'maxi': + counts.up = randomNumber(16) + 3; + counts.min = randomNumber(4) + 1; + counts.down = randomNumber(64) + 3; + break; + default: + counts.up = randomNumber(8) + 1; + counts.mid = randomNumber(6) / 2; + counts.down = randomNumber(8) + 1; + break; + } + + var arr = ["up", "mid", "down"]; + for (var d in arr) { + var index = arr[d]; + for (var i = 0 ; i <= counts[index]; i++) { + if (options[index]) { + result = result + soul[index][randomNumber(soul[index].length)]; + } + } + } + } + return result; + } + return heComes(text); +} + + +// don't summon zalgo +addProperty('zalgo', function () { + return zalgo(this); +}); diff --git a/static/js/node_modules/grunt/node_modules/colors/example.html b/static/js/node_modules/grunt/node_modules/colors/example.html new file mode 100644 index 0000000..7a2ae60 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/example.html @@ -0,0 +1,76 @@ + + + + + Colors Example + + + + + + \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/colors/example.js b/static/js/node_modules/grunt/node_modules/colors/example.js new file mode 100644 index 0000000..b1e03a4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/example.js @@ -0,0 +1,77 @@ +var colors = require('./colors'); + +//colors.mode = "browser"; + +var test = colors.red("hopefully colorless output"); +console.log('Rainbows are fun!'.rainbow); +console.log('So '.italic + 'are'.underline + ' styles! '.bold + 'inverse'.inverse); // styles not widely supported +console.log('Chains are also cool.'.bold.italic.underline.red); // styles not widely supported +//console.log('zalgo time!'.zalgo); +console.log(test.stripColors); +console.log("a".grey + " b".black); +console.log("Zebras are so fun!".zebra); +console.log('background color attack!'.black.whiteBG) + +// +// Remark: .strikethrough may not work with Mac OS Terminal App +// +console.log("This is " + "not".strikethrough + " fun."); +console.log(colors.rainbow('Rainbows are fun!')); +console.log(colors.italic('So ') + colors.underline('are') + colors.bold(' styles! ') + colors.inverse('inverse')); // styles not widely supported +console.log(colors.bold(colors.italic(colors.underline(colors.red('Chains are also cool.'))))); // styles not widely supported +//console.log(colors.zalgo('zalgo time!')); +console.log(colors.stripColors(test)); +console.log(colors.grey("a") + colors.black(" b")); + +colors.addSequencer("america", function(letter, i, exploded) { + if(letter === " ") return letter; + switch(i%3) { + case 0: return letter.red; + case 1: return letter.white; + case 2: return letter.blue; + } +}); + +colors.addSequencer("random", (function() { + var available = ['bold', 'underline', 'italic', 'inverse', 'grey', 'yellow', 'red', 'green', 'blue', 'white', 'cyan', 'magenta']; + + return function(letter, i, exploded) { + return letter === " " ? letter : letter[available[Math.round(Math.random() * (available.length - 1))]]; + }; +})()); + +console.log("AMERICA! F--K YEAH!".america); +console.log("So apparently I've been to Mars, with all the little green men. But you know, I don't recall.".random); + +// +// Custom themes +// + +// Load theme with JSON literal +colors.setTheme({ + silly: 'rainbow', + input: 'grey', + verbose: 'cyan', + prompt: 'grey', + info: 'green', + data: 'grey', + help: 'cyan', + warn: 'yellow', + debug: 'blue', + error: 'red' +}); + +// outputs red text +console.log("this is an error".error); + +// outputs yellow text +console.log("this is a warning".warn); + +// outputs grey text +console.log("this is an input".input); + +// Load a theme from file +colors.setTheme('./themes/winston-dark.js'); + +console.log("this is an input".input); + diff --git a/static/js/node_modules/grunt/node_modules/colors/package.json b/static/js/node_modules/grunt/node_modules/colors/package.json new file mode 100644 index 0000000..54dfcbe --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/package.json @@ -0,0 +1,29 @@ +{ + "name": "colors", + "description": "get colors in your node.js console like what", + "version": "0.6.2", + "author": { + "name": "Marak Squires" + }, + "homepage": "https://github.com/Marak/colors.js", + "bugs": { + "url": "https://github.com/Marak/colors.js/issues" + }, + "keywords": [ + "ansi", + "terminal", + "colors" + ], + "repository": { + "type": "git", + "url": "http://github.com/Marak/colors.js.git" + }, + "engines": { + "node": ">=0.1.90" + }, + "main": "colors", + "readme": "# colors.js - get color and style in your node.js console ( and browser ) like what\n\n\n\n\n## Installation\n\n npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require('./colors');\n\nconsole.log('hello'.green); // outputs green text\nconsole.log('i like cake and pies'.underline.red) // outputs red underlined text\nconsole.log('inverse the color'.inverse); // inverses the color\nconsole.log('OMG Rainbows!'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar colors = require('colors');\n\ncolors.setTheme({\n silly: 'rainbow',\n input: 'grey',\n verbose: 'cyan',\n prompt: 'grey',\n info: 'green',\n data: 'grey',\n help: 'cyan',\n warn: 'yellow',\n debug: 'blue',\n error: 'red'\n});\n\n// outputs red text\nconsole.log(\"this is an error\".error);\n\n// outputs yellow text\nconsole.log(\"this is a warning\".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej Małecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n", + "readmeFilename": "ReadMe.md", + "_id": "colors@0.6.2", + "_from": "colors@~0.6.2" +} diff --git a/static/js/node_modules/grunt/node_modules/colors/test.js b/static/js/node_modules/grunt/node_modules/colors/test.js new file mode 100644 index 0000000..c32417d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/test.js @@ -0,0 +1,70 @@ +var assert = require('assert'), + colors = require('./colors'); + +var s = 'string'; + +function a(s, code) { + return '\x1B[' + code.toString() + 'm' + s + '\x1B[39m'; +} + +function aE(s, color, code) { + assert.equal(s[color], a(s, code)); + assert.equal(colors[color](s), a(s, code)); + assert.equal(s[color], colors[color](s)); + assert.equal(s[color].stripColors, s); + assert.equal(s[color].stripColors, colors.stripColors(s)); +} + +function h(s, color) { + return '' + s + ''; +} + +var stylesColors = ['white', 'black', 'blue', 'cyan', 'green', 'magenta', 'red', 'yellow']; +var stylesAll = stylesColors.concat(['bold', 'italic', 'underline', 'inverse', 'rainbow']); + +colors.mode = 'console'; +assert.equal(s.bold, '\x1B[1m' + s + '\x1B[22m'); +assert.equal(s.italic, '\x1B[3m' + s + '\x1B[23m'); +assert.equal(s.underline, '\x1B[4m' + s + '\x1B[24m'); +assert.equal(s.strikethrough, '\x1B[9m' + s + '\x1B[29m'); +assert.equal(s.inverse, '\x1B[7m' + s + '\x1B[27m'); +assert.ok(s.rainbow); +aE(s, 'white', 37); +aE(s, 'grey', 90); +aE(s, 'black', 30); +aE(s, 'blue', 34); +aE(s, 'cyan', 36); +aE(s, 'green', 32); +aE(s, 'magenta', 35); +aE(s, 'red', 31); +aE(s, 'yellow', 33); +assert.equal(s, 'string'); + +colors.setTheme({error:'red'}); + +assert.equal(typeof("astring".red),'string'); +assert.equal(typeof("astring".error),'string'); + +colors.mode = 'browser'; +assert.equal(s.bold, '' + s + ''); +assert.equal(s.italic, '' + s + ''); +assert.equal(s.underline, '' + s + ''); +assert.equal(s.strikethrough, '' + s + ''); +assert.equal(s.inverse, '' + s + ''); +assert.ok(s.rainbow); +stylesColors.forEach(function (color) { + assert.equal(s[color], h(s, color)); + assert.equal(colors[color](s), h(s, color)); +}); + +assert.equal(typeof("astring".red),'string'); +assert.equal(typeof("astring".error),'string'); + +colors.mode = 'none'; +stylesAll.forEach(function (style) { + assert.equal(s[style], s); + assert.equal(colors[style](s), s); +}); + +assert.equal(typeof("astring".red),'string'); +assert.equal(typeof("astring".error),'string'); diff --git a/static/js/node_modules/grunt/node_modules/colors/themes/winston-dark.js b/static/js/node_modules/grunt/node_modules/colors/themes/winston-dark.js new file mode 100644 index 0000000..49a905b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/themes/winston-dark.js @@ -0,0 +1,12 @@ +module['exports'] = { + silly: 'rainbow', + input: 'black', + verbose: 'cyan', + prompt: 'grey', + info: 'green', + data: 'grey', + help: 'cyan', + warn: 'yellow', + debug: 'blue', + error: 'red' +}; \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/colors/themes/winston-light.js b/static/js/node_modules/grunt/node_modules/colors/themes/winston-light.js new file mode 100644 index 0000000..571972c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/colors/themes/winston-light.js @@ -0,0 +1,12 @@ +module['exports'] = { + silly: 'rainbow', + input: 'grey', + verbose: 'cyan', + prompt: 'grey', + info: 'green', + data: 'grey', + help: 'cyan', + warn: 'yellow', + debug: 'blue', + error: 'red' +}; \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/dateformat/Readme.md b/static/js/node_modules/grunt/node_modules/dateformat/Readme.md new file mode 100644 index 0000000..d469e6d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/dateformat/Readme.md @@ -0,0 +1,67 @@ +# node-dateformat + +A node.js package for Steven Levithan's excellent [dateFormat()][dateformat] function. + +## Modifications + +* Removed the `Date.prototype.format` method. Sorry folks, but extending native prototypes is for suckers. +* Added a `module.exports = dateFormat;` statement at the bottom + +## Usage + +As taken from Steven's post, modified to match the Modifications listed above: + + var dateFormat = require('dateformat'); + var now = new Date(); + + // Basic usage + dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT"); + // Saturday, June 9th, 2007, 5:46:21 PM + + // You can use one of several named masks + dateFormat(now, "isoDateTime"); + // 2007-06-09T17:46:21 + + // ...Or add your own + dateFormat.masks.hammerTime = 'HH:MM! "Can\'t touch this!"'; + dateFormat(now, "hammerTime"); + // 17:46! Can't touch this! + + // When using the standalone dateFormat function, + // you can also provide the date as a string + dateFormat("Jun 9 2007", "fullDate"); + // Saturday, June 9, 2007 + + // Note that if you don't include the mask argument, + // dateFormat.masks.default is used + dateFormat(now); + // Sat Jun 09 2007 17:46:21 + + // And if you don't include the date argument, + // the current date and time is used + dateFormat(); + // Sat Jun 09 2007 17:46:22 + + // You can also skip the date argument (as long as your mask doesn't + // contain any numbers), in which case the current date/time is used + dateFormat("longTime"); + // 5:46:22 PM EST + + // And finally, you can convert local time to UTC time. Simply pass in + // true as an additional argument (no argument skipping allowed in this case): + dateFormat(now, "longTime", true); + // 10:46:21 PM UTC + + // ...Or add the prefix "UTC:" to your mask. + dateFormat(now, "UTC:h:MM:ss TT Z"); + // 10:46:21 PM UTC + + // You can also get the ISO 8601 week of the year: + dateFormat(now, "W"); + // 42 +## License + +(c) 2007-2009 Steven Levithan [stevenlevithan.com][stevenlevithan], MIT license. + +[dateformat]: http://blog.stevenlevithan.com/archives/date-time-format +[stevenlevithan]: http://stevenlevithan.com/ diff --git a/static/js/node_modules/grunt/node_modules/dateformat/lib/dateformat.js b/static/js/node_modules/grunt/node_modules/dateformat/lib/dateformat.js new file mode 100644 index 0000000..9229424 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/dateformat/lib/dateformat.js @@ -0,0 +1,165 @@ +/* + * Date Format 1.2.3 + * (c) 2007-2009 Steven Levithan + * MIT license + * + * Includes enhancements by Scott Trenda + * and Kris Kowal + * + * Accepts a date, a mask, or a date and a mask. + * Returns a formatted version of the given date. + * The date defaults to the current date/time. + * The mask defaults to dateFormat.masks.default. + */ + +var dateFormat = function () { + var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZW]|"[^"]*"|'[^']*'/g, + timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, + timezoneClip = /[^-+\dA-Z]/g, + pad = function (val, len) { + val = String(val); + len = len || 2; + while (val.length < len) val = "0" + val; + return val; + }, + /** + * Get the ISO 8601 week number + * Based on comments from + * http://techblog.procurios.nl/k/n618/news/view/33796/14863/Calculate-ISO-8601-week-and-year-in-javascript.html + */ + getWeek = function (date) { + // Remove time components of date + var targetThursday = new Date(date.getFullYear(), date.getMonth(), date.getDate()); + + // Change date to Thursday same week + targetThursday.setDate(targetThursday.getDate() - ((targetThursday.getDay() + 6) % 7) + 3); + + // Take January 4th as it is always in week 1 (see ISO 8601) + var firstThursday = new Date(targetThursday.getFullYear(), 0, 4); + + // Change date to Thursday same week + firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3); + + // Check if daylight-saving-time-switch occured and correct for it + var ds = targetThursday.getTimezoneOffset()/firstThursday.getTimezoneOffset()-1; + targetThursday.setHours(targetThursday.getHours()+ds); + + // Number of weeks between target Thursday and first Thursday + var weekDiff = (targetThursday - firstThursday) / (86400000*7); + return 1 + weekDiff; + }; + + // Regexes and supporting functions are cached through closure + return function (date, mask, utc) { + var dF = dateFormat; + + // You can't provide utc if you skip other args (use the "UTC:" mask prefix) + if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) { + mask = date; + date = undefined; + } + + date = date || new Date; + + if(!(date instanceof Date)) { + date = new Date(date); + } + + if (isNaN(date)) { + throw TypeError("Invalid date"); + } + + mask = String(dF.masks[mask] || mask || dF.masks["default"]); + + // Allow setting the utc argument via the mask + if (mask.slice(0, 4) == "UTC:") { + mask = mask.slice(4); + utc = true; + } + + var _ = utc ? "getUTC" : "get", + d = date[_ + "Date"](), + D = date[_ + "Day"](), + m = date[_ + "Month"](), + y = date[_ + "FullYear"](), + H = date[_ + "Hours"](), + M = date[_ + "Minutes"](), + s = date[_ + "Seconds"](), + L = date[_ + "Milliseconds"](), + o = utc ? 0 : date.getTimezoneOffset(), + W = getWeek(date), + flags = { + d: d, + dd: pad(d), + ddd: dF.i18n.dayNames[D], + dddd: dF.i18n.dayNames[D + 7], + m: m + 1, + mm: pad(m + 1), + mmm: dF.i18n.monthNames[m], + mmmm: dF.i18n.monthNames[m + 12], + yy: String(y).slice(2), + yyyy: y, + h: H % 12 || 12, + hh: pad(H % 12 || 12), + H: H, + HH: pad(H), + M: M, + MM: pad(M), + s: s, + ss: pad(s), + l: pad(L, 3), + L: pad(L > 99 ? Math.round(L / 10) : L), + t: H < 12 ? "a" : "p", + tt: H < 12 ? "am" : "pm", + T: H < 12 ? "A" : "P", + TT: H < 12 ? "AM" : "PM", + Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""), + o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), + S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10], + W: W + }; + + return mask.replace(token, function ($0) { + return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1); + }); + }; +}(); + +// Some common format strings +dateFormat.masks = { + "default": "ddd mmm dd yyyy HH:MM:ss", + shortDate: "m/d/yy", + mediumDate: "mmm d, yyyy", + longDate: "mmmm d, yyyy", + fullDate: "dddd, mmmm d, yyyy", + shortTime: "h:MM TT", + mediumTime: "h:MM:ss TT", + longTime: "h:MM:ss TT Z", + isoDate: "yyyy-mm-dd", + isoTime: "HH:MM:ss", + isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", + isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'" +}; + +// Internationalization strings +dateFormat.i18n = { + dayNames: [ + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ] +}; + +/* +// For convenience... +Date.prototype.format = function (mask, utc) { + return dateFormat(this, mask, utc); +}; +*/ + +if (typeof exports !== "undefined") { + module.exports = dateFormat; +} diff --git a/static/js/node_modules/grunt/node_modules/dateformat/package.json b/static/js/node_modules/grunt/node_modules/dateformat/package.json new file mode 100644 index 0000000..907fdbd --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/dateformat/package.json @@ -0,0 +1,24 @@ +{ + "name": "dateformat", + "description": "A node.js package for Steven Levithan's excellent dateFormat() function.", + "maintainers": "Felix Geisendörfer ", + "homepage": "https://github.com/felixge/node-dateformat", + "author": { + "name": "Steven Levithan" + }, + "version": "1.0.2-1.2.3", + "main": "./lib/dateformat", + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": "*" + }, + "readme": "# node-dateformat\n\nA node.js package for Steven Levithan's excellent [dateFormat()][dateformat] function.\n\n## Modifications\n\n* Removed the `Date.prototype.format` method. Sorry folks, but extending native prototypes is for suckers.\n* Added a `module.exports = dateFormat;` statement at the bottom\n\n## Usage\n\nAs taken from Steven's post, modified to match the Modifications listed above:\n\n var dateFormat = require('dateformat');\n var now = new Date();\n\n // Basic usage\n dateFormat(now, \"dddd, mmmm dS, yyyy, h:MM:ss TT\");\n // Saturday, June 9th, 2007, 5:46:21 PM\n\n // You can use one of several named masks\n dateFormat(now, \"isoDateTime\");\n // 2007-06-09T17:46:21\n\n // ...Or add your own\n dateFormat.masks.hammerTime = 'HH:MM! \"Can\\'t touch this!\"';\n dateFormat(now, \"hammerTime\");\n // 17:46! Can't touch this!\n\n // When using the standalone dateFormat function,\n // you can also provide the date as a string\n dateFormat(\"Jun 9 2007\", \"fullDate\");\n // Saturday, June 9, 2007\n\n // Note that if you don't include the mask argument,\n // dateFormat.masks.default is used\n dateFormat(now);\n // Sat Jun 09 2007 17:46:21\n\n // And if you don't include the date argument,\n // the current date and time is used\n dateFormat();\n // Sat Jun 09 2007 17:46:22\n\n // You can also skip the date argument (as long as your mask doesn't\n // contain any numbers), in which case the current date/time is used\n dateFormat(\"longTime\");\n // 5:46:22 PM EST\n\n // And finally, you can convert local time to UTC time. Simply pass in\n // true as an additional argument (no argument skipping allowed in this case):\n dateFormat(now, \"longTime\", true);\n // 10:46:21 PM UTC\n\n // ...Or add the prefix \"UTC:\" to your mask.\n dateFormat(now, \"UTC:h:MM:ss TT Z\");\n // 10:46:21 PM UTC\n\n // You can also get the ISO 8601 week of the year:\n dateFormat(now, \"W\");\n // 42\n## License\n\n(c) 2007-2009 Steven Levithan [stevenlevithan.com][stevenlevithan], MIT license.\n\n[dateformat]: http://blog.stevenlevithan.com/archives/date-time-format\n[stevenlevithan]: http://stevenlevithan.com/\n", + "readmeFilename": "Readme.md", + "_id": "dateformat@1.0.2-1.2.3", + "dist": { + "shasum": "5ad3c94097d71792f8242097473557dfd999df2d" + }, + "_from": "dateformat@1.0.2-1.2.3", + "_resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz" +} diff --git a/static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js b/static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js new file mode 100644 index 0000000..d1ddbe8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js @@ -0,0 +1,4 @@ +var dateFormat = require('../lib/dateformat.js'); + +var val = process.argv[2] || new Date(); +console.log(dateFormat(val, 'W')); diff --git a/static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.sh b/static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.sh new file mode 100644 index 0000000..3c3e69b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# this just takes php's date() function as a reference to check if week of year +# is calculated correctly in the range from 1970 .. 2038 by brute force... + +SEQ="seq" +SYSTEM=`uname` +if [ "$SYSTEM" = "Darwin" ]; then + SEQ="jot" +fi + +for YEAR in {1970..2038}; do + for MONTH in {1..12}; do + DAYS=$(cal $MONTH $YEAR | egrep "28|29|30|31" |tail -1 |awk '{print $NF}') + for DAY in $( $SEQ $DAYS ); do + DATE=$YEAR-$MONTH-$DAY + echo -n $DATE ... + NODEVAL=$(node test_weekofyear.js $DATE) + PHPVAL=$(php -r "echo intval(date('W', strtotime('$DATE')));") + if [ "$NODEVAL" -ne "$PHPVAL" ]; then + echo "MISMATCH: node: $NODEVAL vs php: $PHPVAL for date $DATE" + else + echo " OK" + fi + done + done +done diff --git a/static/js/node_modules/grunt/node_modules/eventemitter2/README.md b/static/js/node_modules/grunt/node_modules/eventemitter2/README.md new file mode 100644 index 0000000..9501fa3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/eventemitter2/README.md @@ -0,0 +1,212 @@ +# EventEmitter2 + +EventEmitter2 is an implementation of the EventEmitter found in Node.js + +## Features + + - Namespaces/Wildcards. + - Times To Listen (TTL), extends the `once` concept with `many`. + - Browser environment compatibility. + - Demonstrates good performance in benchmarks + +``` +EventEmitterHeatUp x 3,728,965 ops/sec \302\2610.68% (60 runs sampled) +EventEmitter x 2,822,904 ops/sec \302\2610.74% (63 runs sampled) +EventEmitter2 x 7,251,227 ops/sec \302\2610.55% (58 runs sampled) +EventEmitter2 (wild) x 3,220,268 ops/sec \302\2610.44% (65 runs sampled) +Fastest is EventEmitter2 +``` + +## Differences (Non breaking, compatible with existing EventEmitter) + + - The constructor takes a configuration object. + +```javascript + var EventEmitter2 = require('eventemitter2').EventEmitter2; + var server = new EventEmitter2({ + wildcard: true, // should the event emitter use wildcards. + delimiter: '::', // the delimiter used to segment namespaces, defaults to `.`. + newListener: false, // if you want to emit the newListener event set to true. + maxListeners: 20, // the max number of listeners that can be assigned to an event, defaults to 10. + }); +``` + + - Getting the actual event that fired. + +```javascript + server.on('foo.*', function(value1, value2) { + console.log(this.event, value1, value2); + }); +``` + + - Fire an event N times and then remove it, an extension of the `once` concept. + +```javascript + server.many('foo', 4, function() { + console.log('hello'); + }); +``` + + - Pass in a namespaced event as an array rather than a delimited string. + +```javascript + server.many(['foo', 'bar', 'bazz'], function() { + console.log('hello'); + }); +``` + + +## API + +When an `EventEmitter` instance experiences an error, the typical action is +to emit an `error` event. Error events are treated as a special case. +If there is no listener for it, then the default action is to print a stack +trace and exit the program. + +All EventEmitters emit the event `newListener` when new listeners are +added. + + +**Namespaces** with **Wildcards** +To use namespaces/wildcards, pass the `wildcard` option into the EventEmitter constructor. +When namespaces/wildcards are enabled, events can either be strings (`foo.bar`) separated +by a delimiter or arrays (`['foo', 'bar']`). The delimiter is also configurable as a +constructor option. + +An event name passed to any event emitter method can contain a wild card (the `*` character). +If the event name is a string, a wildcard may appear as `foo.*`. If the event name is an array, +the wildcard may appear as `['foo', '*']`. + +If either of the above described events were passed to the `on` method, subsequent emits such +as the following would be observed... + +```javascript + emitter.emit('foo.bazz'); + emitter.emit(['foo', 'bar']); +``` + + +#### emitter.addListener(event, listener) +#### emitter.on(event, listener) + +Adds a listener to the end of the listeners array for the specified event. + +```javascript + server.on('data', function(value1, value2, value3 /* accepts any number of expected values... */) { + console.log('The event was raised!'); + }); +``` + +```javascript + server.on('data', function(value) { + console.log('The event was raised!'); + }); +``` + +#### emitter.onAny(listener) + +Adds a listener that will be fired when any event is emitted. + +```javascript + server.onAny(function(value) { + console.log('All events trigger this.'); + }); +``` + +#### emitter.offAny(listener) + +Removes the listener that will be fired when any event is emitted. + +```javascript + server.offAny(function(value) { + console.log('The event was raised!'); + }); +``` + +#### emitter.once(event, listener) + +Adds a **one time** listener for the event. The listener is invoked only the first time the event is fired, after which it is removed. + +```javascript + server.once('get', function (value) { + console.log('Ah, we have our first value!'); + }); +``` + +#### emitter.many(event, timesToListen, listener) + +Adds a listener that will execute **n times** for the event before being removed. The listener is invoked only the first time the event is fired, after which it is removed. + +```javascript + server.many('get', 4, function (value) { + console.log('This event will be listened to exactly four times.'); + }); +``` + + +#### emitter.removeListener(event, listener) +#### emitter.off(event, listener) + +Remove a listener from the listener array for the specified event. **Caution**: changes array indices in the listener array behind the listener. + +```javascript + var callback = function(value) { + console.log('someone connected!'); + }; + server.on('get', callback); + // ... + server.removeListener('get', callback); +``` + + +#### emitter.removeAllListeners([event]) + +Removes all listeners, or those of the specified event. + + +#### emitter.setMaxListeners(n) + +By default EventEmitters will print a warning if more than 10 listeners are added to it. This is a useful default which helps finding memory leaks. Obviously not all Emitters should be limited to 10. This function allows that to be increased. Set to zero for unlimited. + + +#### emitter.listeners(event) + +Returns an array of listeners for the specified event. This array can be manipulated, e.g. to remove listeners. + +```javascript + server.on('get', function(value) { + console.log('someone connected!'); + }); + console.log(console.log(server.listeners('get')); // [ [Function] ] +``` + +#### emitter.listenersAny() + +Returns an array of listeners that are listening for any event that is specified. This array can be manipulated, e.g. to remove listeners. + +```javascript + server.onAny(function(value) { + console.log('someone connected!'); + }); + console.log(console.log(server.listenersAny()[0]); // [ [Function] ] // someone connected! +``` + +#### emitter.emit(event, [arg1], [arg2], [...]) + +Execute each of the listeners that may be listening for the specified event name in order with the list of arguments. + +## Test coverage + +There is a test suite that tries to cover each use case, it can be found here. + +## Licence + +(The MIT License) + +Copyright (c) 2011 hij1nx + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/eventemitter2/index.js b/static/js/node_modules/grunt/node_modules/eventemitter2/index.js new file mode 100644 index 0000000..6f583b5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/eventemitter2/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/eventemitter2'); diff --git a/static/js/node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js b/static/js/node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js new file mode 100644 index 0000000..dc9849e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js @@ -0,0 +1,561 @@ +;!function(exports, undefined) { + + var isArray = Array.isArray ? Array.isArray : function _isArray(obj) { + return Object.prototype.toString.call(obj) === "[object Array]"; + }; + var defaultMaxListeners = 10; + + function init() { + this._events = {}; + if (this._conf) { + configure.call(this, this._conf); + } + } + + function configure(conf) { + if (conf) { + + this._conf = conf; + + conf.delimiter && (this.delimiter = conf.delimiter); + conf.maxListeners && (this._events.maxListeners = conf.maxListeners); + conf.wildcard && (this.wildcard = conf.wildcard); + conf.newListener && (this.newListener = conf.newListener); + + if (this.wildcard) { + this.listenerTree = {}; + } + } + } + + function EventEmitter(conf) { + this._events = {}; + this.newListener = false; + configure.call(this, conf); + } + + // + // Attention, function return type now is array, always ! + // It has zero elements if no any matches found and one or more + // elements (leafs) if there are matches + // + function searchListenerTree(handlers, type, tree, i) { + if (!tree) { + return []; + } + var listeners=[], leaf, len, branch, xTree, xxTree, isolatedBranch, endReached, + typeLength = type.length, currentType = type[i], nextType = type[i+1]; + if (i === typeLength && tree._listeners) { + // + // If at the end of the event(s) list and the tree has listeners + // invoke those listeners. + // + if (typeof tree._listeners === 'function') { + handlers && handlers.push(tree._listeners); + return [tree]; + } else { + for (leaf = 0, len = tree._listeners.length; leaf < len; leaf++) { + handlers && handlers.push(tree._listeners[leaf]); + } + return [tree]; + } + } + + if ((currentType === '*' || currentType === '**') || tree[currentType]) { + // + // If the event emitted is '*' at this part + // or there is a concrete match at this patch + // + if (currentType === '*') { + for (branch in tree) { + if (branch !== '_listeners' && tree.hasOwnProperty(branch)) { + listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+1)); + } + } + return listeners; + } else if(currentType === '**') { + endReached = (i+1 === typeLength || (i+2 === typeLength && nextType === '*')); + if(endReached && tree._listeners) { + // The next element has a _listeners, add it to the handlers. + listeners = listeners.concat(searchListenerTree(handlers, type, tree, typeLength)); + } + + for (branch in tree) { + if (branch !== '_listeners' && tree.hasOwnProperty(branch)) { + if(branch === '*' || branch === '**') { + if(tree[branch]._listeners && !endReached) { + listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], typeLength)); + } + listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i)); + } else if(branch === nextType) { + listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+2)); + } else { + // No match on this one, shift into the tree but not in the type array. + listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i)); + } + } + } + return listeners; + } + + listeners = listeners.concat(searchListenerTree(handlers, type, tree[currentType], i+1)); + } + + xTree = tree['*']; + if (xTree) { + // + // If the listener tree will allow any match for this part, + // then recursively explore all branches of the tree + // + searchListenerTree(handlers, type, xTree, i+1); + } + + xxTree = tree['**']; + if(xxTree) { + if(i < typeLength) { + if(xxTree._listeners) { + // If we have a listener on a '**', it will catch all, so add its handler. + searchListenerTree(handlers, type, xxTree, typeLength); + } + + // Build arrays of matching next branches and others. + for(branch in xxTree) { + if(branch !== '_listeners' && xxTree.hasOwnProperty(branch)) { + if(branch === nextType) { + // We know the next element will match, so jump twice. + searchListenerTree(handlers, type, xxTree[branch], i+2); + } else if(branch === currentType) { + // Current node matches, move into the tree. + searchListenerTree(handlers, type, xxTree[branch], i+1); + } else { + isolatedBranch = {}; + isolatedBranch[branch] = xxTree[branch]; + searchListenerTree(handlers, type, { '**': isolatedBranch }, i+1); + } + } + } + } else if(xxTree._listeners) { + // We have reached the end and still on a '**' + searchListenerTree(handlers, type, xxTree, typeLength); + } else if(xxTree['*'] && xxTree['*']._listeners) { + searchListenerTree(handlers, type, xxTree['*'], typeLength); + } + } + + return listeners; + } + + function growListenerTree(type, listener) { + + type = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); + + // + // Looks for two consecutive '**', if so, don't add the event at all. + // + for(var i = 0, len = type.length; i+1 < len; i++) { + if(type[i] === '**' && type[i+1] === '**') { + return; + } + } + + var tree = this.listenerTree; + var name = type.shift(); + + while (name) { + + if (!tree[name]) { + tree[name] = {}; + } + + tree = tree[name]; + + if (type.length === 0) { + + if (!tree._listeners) { + tree._listeners = listener; + } + else if(typeof tree._listeners === 'function') { + tree._listeners = [tree._listeners, listener]; + } + else if (isArray(tree._listeners)) { + + tree._listeners.push(listener); + + if (!tree._listeners.warned) { + + var m = defaultMaxListeners; + + if (typeof this._events.maxListeners !== 'undefined') { + m = this._events.maxListeners; + } + + if (m > 0 && tree._listeners.length > m) { + + tree._listeners.warned = true; + console.error('(node) warning: possible EventEmitter memory ' + + 'leak detected. %d listeners added. ' + + 'Use emitter.setMaxListeners() to increase limit.', + tree._listeners.length); + console.trace(); + } + } + } + return true; + } + name = type.shift(); + } + return true; + } + + // By default EventEmitters will print a warning if more than + // 10 listeners are added to it. This is a useful default which + // helps finding memory leaks. + // + // Obviously not all Emitters should be limited to 10. This function allows + // that to be increased. Set to zero for unlimited. + + EventEmitter.prototype.delimiter = '.'; + + EventEmitter.prototype.setMaxListeners = function(n) { + this._events || init.call(this); + this._events.maxListeners = n; + if (!this._conf) this._conf = {}; + this._conf.maxListeners = n; + }; + + EventEmitter.prototype.event = ''; + + EventEmitter.prototype.once = function(event, fn) { + this.many(event, 1, fn); + return this; + }; + + EventEmitter.prototype.many = function(event, ttl, fn) { + var self = this; + + if (typeof fn !== 'function') { + throw new Error('many only accepts instances of Function'); + } + + function listener() { + if (--ttl === 0) { + self.off(event, listener); + } + fn.apply(this, arguments); + } + + listener._origin = fn; + + this.on(event, listener); + + return self; + }; + + EventEmitter.prototype.emit = function() { + + this._events || init.call(this); + + var type = arguments[0]; + + if (type === 'newListener' && !this.newListener) { + if (!this._events.newListener) { return false; } + } + + // Loop through the *_all* functions and invoke them. + if (this._all) { + var l = arguments.length; + var args = new Array(l - 1); + for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; + for (i = 0, l = this._all.length; i < l; i++) { + this.event = type; + this._all[i].apply(this, args); + } + } + + // If there is no 'error' event listener then throw. + if (type === 'error') { + + if (!this._all && + !this._events.error && + !(this.wildcard && this.listenerTree.error)) { + + if (arguments[1] instanceof Error) { + throw arguments[1]; // Unhandled 'error' event + } else { + throw new Error("Uncaught, unspecified 'error' event."); + } + return false; + } + } + + var handler; + + if(this.wildcard) { + handler = []; + var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); + searchListenerTree.call(this, handler, ns, this.listenerTree, 0); + } + else { + handler = this._events[type]; + } + + if (typeof handler === 'function') { + this.event = type; + if (arguments.length === 1) { + handler.call(this); + } + else if (arguments.length > 1) + switch (arguments.length) { + case 2: + handler.call(this, arguments[1]); + break; + case 3: + handler.call(this, arguments[1], arguments[2]); + break; + // slower + default: + var l = arguments.length; + var args = new Array(l - 1); + for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; + handler.apply(this, args); + } + return true; + } + else if (handler) { + var l = arguments.length; + var args = new Array(l - 1); + for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; + + var listeners = handler.slice(); + for (var i = 0, l = listeners.length; i < l; i++) { + this.event = type; + listeners[i].apply(this, args); + } + return (listeners.length > 0) || this._all; + } + else { + return this._all; + } + + }; + + EventEmitter.prototype.on = function(type, listener) { + + if (typeof type === 'function') { + this.onAny(type); + return this; + } + + if (typeof listener !== 'function') { + throw new Error('on only accepts instances of Function'); + } + this._events || init.call(this); + + // To avoid recursion in the case that type == "newListeners"! Before + // adding it to the listeners, first emit "newListeners". + this.emit('newListener', type, listener); + + if(this.wildcard) { + growListenerTree.call(this, type, listener); + return this; + } + + if (!this._events[type]) { + // Optimize the case of one listener. Don't need the extra array object. + this._events[type] = listener; + } + else if(typeof this._events[type] === 'function') { + // Adding the second element, need to change to array. + this._events[type] = [this._events[type], listener]; + } + else if (isArray(this._events[type])) { + // If we've already got an array, just append. + this._events[type].push(listener); + + // Check for listener leak + if (!this._events[type].warned) { + + var m = defaultMaxListeners; + + if (typeof this._events.maxListeners !== 'undefined') { + m = this._events.maxListeners; + } + + if (m > 0 && this._events[type].length > m) { + + this._events[type].warned = true; + console.error('(node) warning: possible EventEmitter memory ' + + 'leak detected. %d listeners added. ' + + 'Use emitter.setMaxListeners() to increase limit.', + this._events[type].length); + console.trace(); + } + } + } + return this; + }; + + EventEmitter.prototype.onAny = function(fn) { + + if(!this._all) { + this._all = []; + } + + if (typeof fn !== 'function') { + throw new Error('onAny only accepts instances of Function'); + } + + // Add the function to the event listener collection. + this._all.push(fn); + return this; + }; + + EventEmitter.prototype.addListener = EventEmitter.prototype.on; + + EventEmitter.prototype.off = function(type, listener) { + if (typeof listener !== 'function') { + throw new Error('removeListener only takes instances of Function'); + } + + var handlers,leafs=[]; + + if(this.wildcard) { + var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); + leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0); + } + else { + // does not use listeners(), so no side effect of creating _events[type] + if (!this._events[type]) return this; + handlers = this._events[type]; + leafs.push({_listeners:handlers}); + } + + for (var iLeaf=0; iLeaf 0) { + fns = this._all; + for(i = 0, l = fns.length; i < l; i++) { + if(fn === fns[i]) { + fns.splice(i, 1); + return this; + } + } + } else { + this._all = []; + } + return this; + }; + + EventEmitter.prototype.removeListener = EventEmitter.prototype.off; + + EventEmitter.prototype.removeAllListeners = function(type) { + if (arguments.length === 0) { + !this._events || init.call(this); + return this; + } + + if(this.wildcard) { + var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); + var leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0); + + for (var iLeaf=0; iLeaf= 0.2.2" + }, + "main": "./lib/eventemitter2.js", + "scripts": { + "test": "nodeunit test/simple/ && nodeunit test/wildcardEvents/", + "benchmark": "node test/perf/benchmark.js" + }, + "files": [ + "lib/eventemitter2.js", + "index.js" + ], + "readme": "# EventEmitter2\n\nEventEmitter2 is an implementation of the EventEmitter found in Node.js\n\n## Features\n\n - Namespaces/Wildcards.\n - Times To Listen (TTL), extends the `once` concept with `many`.\n - Browser environment compatibility.\n - Demonstrates good performance in benchmarks\n\n```\nEventEmitterHeatUp x 3,728,965 ops/sec \\302\\2610.68% (60 runs sampled)\nEventEmitter x 2,822,904 ops/sec \\302\\2610.74% (63 runs sampled)\nEventEmitter2 x 7,251,227 ops/sec \\302\\2610.55% (58 runs sampled)\nEventEmitter2 (wild) x 3,220,268 ops/sec \\302\\2610.44% (65 runs sampled)\nFastest is EventEmitter2\n```\n\n## Differences (Non breaking, compatible with existing EventEmitter)\n\n - The constructor takes a configuration object.\n \n```javascript\n var EventEmitter2 = require('eventemitter2').EventEmitter2;\n var server = new EventEmitter2({\n wildcard: true, // should the event emitter use wildcards.\n delimiter: '::', // the delimiter used to segment namespaces, defaults to `.`.\n newListener: false, // if you want to emit the newListener event set to true.\n maxListeners: 20, // the max number of listeners that can be assigned to an event, defaults to 10.\n });\n```\n\n - Getting the actual event that fired.\n\n```javascript\n server.on('foo.*', function(value1, value2) {\n console.log(this.event, value1, value2);\n });\n```\n\n - Fire an event N times and then remove it, an extension of the `once` concept.\n\n```javascript\n server.many('foo', 4, function() {\n console.log('hello');\n });\n```\n\n - Pass in a namespaced event as an array rather than a delimited string.\n\n```javascript\n server.many(['foo', 'bar', 'bazz'], function() {\n console.log('hello');\n });\n```\n\n\n## API\n\nWhen an `EventEmitter` instance experiences an error, the typical action is\nto emit an `error` event. Error events are treated as a special case.\nIf there is no listener for it, then the default action is to print a stack\ntrace and exit the program.\n\nAll EventEmitters emit the event `newListener` when new listeners are\nadded.\n\n\n**Namespaces** with **Wildcards**\nTo use namespaces/wildcards, pass the `wildcard` option into the EventEmitter constructor.\nWhen namespaces/wildcards are enabled, events can either be strings (`foo.bar`) separated\nby a delimiter or arrays (`['foo', 'bar']`). The delimiter is also configurable as a \nconstructor option.\n\nAn event name passed to any event emitter method can contain a wild card (the `*` character).\nIf the event name is a string, a wildcard may appear as `foo.*`. If the event name is an array, \nthe wildcard may appear as `['foo', '*']`.\n\nIf either of the above described events were passed to the `on` method, subsequent emits such \nas the following would be observed...\n\n```javascript\n emitter.emit('foo.bazz');\n emitter.emit(['foo', 'bar']);\n```\n\n\n#### emitter.addListener(event, listener)\n#### emitter.on(event, listener)\n\nAdds a listener to the end of the listeners array for the specified event.\n\n```javascript\n server.on('data', function(value1, value2, value3 /* accepts any number of expected values... */) {\n console.log('The event was raised!');\n });\n```\n\n```javascript\n server.on('data', function(value) {\n console.log('The event was raised!');\n });\n```\n\n#### emitter.onAny(listener)\n\nAdds a listener that will be fired when any event is emitted.\n\n```javascript\n server.onAny(function(value) {\n console.log('All events trigger this.');\n });\n```\n\n#### emitter.offAny(listener)\n\nRemoves the listener that will be fired when any event is emitted.\n\n```javascript\n server.offAny(function(value) {\n console.log('The event was raised!');\n });\n```\n\n#### emitter.once(event, listener)\n\nAdds a **one time** listener for the event. The listener is invoked only the first time the event is fired, after which it is removed.\n\n```javascript\n server.once('get', function (value) {\n console.log('Ah, we have our first value!');\n });\n```\n\n#### emitter.many(event, timesToListen, listener)\n\nAdds a listener that will execute **n times** for the event before being removed. The listener is invoked only the first time the event is fired, after which it is removed.\n\n```javascript\n server.many('get', 4, function (value) {\n console.log('This event will be listened to exactly four times.');\n });\n```\n\n\n#### emitter.removeListener(event, listener)\n#### emitter.off(event, listener)\n\nRemove a listener from the listener array for the specified event. **Caution**: changes array indices in the listener array behind the listener.\n\n```javascript\n var callback = function(value) {\n console.log('someone connected!');\n };\n server.on('get', callback);\n // ...\n server.removeListener('get', callback);\n```\n\n\n#### emitter.removeAllListeners([event])\n\nRemoves all listeners, or those of the specified event.\n\n\n#### emitter.setMaxListeners(n)\n\nBy default EventEmitters will print a warning if more than 10 listeners are added to it. This is a useful default which helps finding memory leaks. Obviously not all Emitters should be limited to 10. This function allows that to be increased. Set to zero for unlimited.\n\n\n#### emitter.listeners(event)\n\nReturns an array of listeners for the specified event. This array can be manipulated, e.g. to remove listeners.\n\n```javascript\n server.on('get', function(value) {\n console.log('someone connected!');\n });\n console.log(console.log(server.listeners('get')); // [ [Function] ]\n```\n\n#### emitter.listenersAny()\n\nReturns an array of listeners that are listening for any event that is specified. This array can be manipulated, e.g. to remove listeners.\n\n```javascript\n server.onAny(function(value) {\n console.log('someone connected!');\n });\n console.log(console.log(server.listenersAny()[0]); // [ [Function] ] // someone connected!\n```\n\n#### emitter.emit(event, [arg1], [arg2], [...])\n\nExecute each of the listeners that may be listening for the specified event name in order with the list of arguments.\n\n## Test coverage\n\nThere is a test suite that tries to cover each use case, it can be found here.\n\n## Licence\n\n(The MIT License)\n\nCopyright (c) 2011 hij1nx \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/hij1nx/EventEmitter2/issues" + }, + "homepage": "https://github.com/hij1nx/EventEmitter2", + "_id": "eventemitter2@0.4.13", + "_from": "eventemitter2@~0.4.13" +} diff --git a/static/js/node_modules/grunt/node_modules/exit/.jshintrc b/static/js/node_modules/grunt/node_modules/exit/.jshintrc new file mode 100644 index 0000000..2b7e39b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/.jshintrc @@ -0,0 +1,14 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": "nofunc", + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "unused": true, + "boss": true, + "eqnull": true, + "node": true +} diff --git a/static/js/node_modules/grunt/node_modules/exit/.npmignore b/static/js/node_modules/grunt/node_modules/exit/.npmignore new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/exit/.travis.yml b/static/js/node_modules/grunt/node_modules/exit/.travis.yml new file mode 100644 index 0000000..42d4302 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - 0.8 + - '0.10' +before_script: + - npm install -g grunt-cli diff --git a/static/js/node_modules/grunt/node_modules/exit/Gruntfile.js b/static/js/node_modules/grunt/node_modules/exit/Gruntfile.js new file mode 100644 index 0000000..ff37751 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/Gruntfile.js @@ -0,0 +1,48 @@ +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + nodeunit: { + files: ['test/**/*_test.js'], + }, + jshint: { + options: { + jshintrc: '.jshintrc' + }, + gruntfile: { + src: 'Gruntfile.js' + }, + lib: { + src: ['lib/**/*.js'] + }, + test: { + src: ['test/**/*.js'] + }, + }, + watch: { + gruntfile: { + files: '<%= jshint.gruntfile.src %>', + tasks: ['jshint:gruntfile'] + }, + lib: { + files: '<%= jshint.lib.src %>', + tasks: ['jshint:lib', 'nodeunit'] + }, + test: { + files: '<%= jshint.test.src %>', + tasks: ['jshint:test', 'nodeunit'] + }, + }, + }); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-watch'); + + // Default task. + grunt.registerTask('default', ['jshint', 'nodeunit']); + +}; diff --git a/static/js/node_modules/grunt/node_modules/exit/LICENSE-MIT b/static/js/node_modules/grunt/node_modules/exit/LICENSE-MIT new file mode 100644 index 0000000..bb2aad6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2013 "Cowboy" Ben Alman + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/exit/README.md b/static/js/node_modules/grunt/node_modules/exit/README.md new file mode 100644 index 0000000..20c364e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/README.md @@ -0,0 +1,75 @@ +# exit [![Build Status](https://secure.travis-ci.org/cowboy/node-exit.png?branch=master)](http://travis-ci.org/cowboy/node-exit) + +A replacement for process.exit that ensures stdio are fully drained before exiting. + +To make a long story short, if `process.exit` is called on Windows, script output is often truncated when pipe-redirecting `stdout` or `stderr`. This module attempts to work around this issue by waiting until those streams have been completely drained before actually calling `process.exit`. + +See [Node.js issue #3584](https://github.com/joyent/node/issues/3584) for further reference. + +Tested in OS X 10.8, Windows 7 on Node.js 0.8.25 and 0.10.18. + +Based on some code by [@vladikoff](https://github.com/vladikoff). + +## Getting Started +Install the module with: `npm install exit` + +```javascript +var exit = require('exit'); + +// These lines should appear in the output, EVEN ON WINDOWS. +console.log("omg"); +console.error("yay"); + +// process.exit(5); +exit(5); + +// These lines shouldn't appear in the output. +console.log("wtf"); +console.error("bro"); +``` + +## Don't believe me? Try it for yourself. + +In Windows, clone the repo and cd to the `test\fixtures` directory. The only difference between [log.js](test/fixtures/log.js) and [log-broken.js](test/fixtures/log-broken.js) is that the former uses `exit` while the latter calls `process.exit` directly. + +This test was done using cmd.exe, but you can see the same results using `| grep "std"` in either PowerShell or git-bash. + +``` +C:\node-exit\test\fixtures>node log.js 0 10 stdout stderr 2>&1 | find "std" +stdout 0 +stderr 0 +stdout 1 +stderr 1 +stdout 2 +stderr 2 +stdout 3 +stderr 3 +stdout 4 +stderr 4 +stdout 5 +stderr 5 +stdout 6 +stderr 6 +stdout 7 +stderr 7 +stdout 8 +stderr 8 +stdout 9 +stderr 9 + +C:\node-exit\test\fixtures>node log-broken.js 0 10 stdout stderr 2>&1 | find "std" + +C:\node-exit\test\fixtures> +``` + +## Contributing +In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/). + +## Release History +2013-11-26 - v0.1.2 - Fixed a bug with hanging processes. +2013-09-26 - v0.1.1 - Fixed some bugs. It seems to actually work now! +2013-09-20 - v0.1.0 - Initial release. + +## License +Copyright (c) 2013 "Cowboy" Ben Alman +Licensed under the MIT license. diff --git a/static/js/node_modules/grunt/node_modules/exit/lib/exit.js b/static/js/node_modules/grunt/node_modules/exit/lib/exit.js new file mode 100644 index 0000000..2883e05 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/lib/exit.js @@ -0,0 +1,41 @@ +/* + * exit + * https://github.com/cowboy/node-exit + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function exit(exitCode, streams) { + if (!streams) { streams = [process.stdout, process.stderr]; } + var drainCount = 0; + // Actually exit if all streams are drained. + function tryToExit() { + if (drainCount === streams.length) { + process.exit(exitCode); + } + } + streams.forEach(function(stream) { + // Count drained streams now, but monitor non-drained streams. + if (stream.bufferSize === 0) { + drainCount++; + } else { + stream.write('', 'utf-8', function() { + drainCount++; + tryToExit(); + }); + } + // Prevent further writing. + stream.write = function() {}; + }); + // If all streams were already drained, exit now. + tryToExit(); + // In Windows, when run as a Node.js child process, a script utilizing + // this library might just exit with a 0 exit code, regardless. This code, + // despite the fact that it looks a bit crazy, appears to fix that. + process.on('exit', function() { + process.exit(exitCode); + }); +}; diff --git a/static/js/node_modules/grunt/node_modules/exit/package.json b/static/js/node_modules/grunt/node_modules/exit/package.json new file mode 100644 index 0000000..9cd4007 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/package.json @@ -0,0 +1,51 @@ +{ + "name": "exit", + "description": "A replacement for process.exit that ensures stdio are fully drained before exiting.", + "version": "0.1.2", + "homepage": "https://github.com/cowboy/node-exit", + "author": { + "name": "\"Cowboy\" Ben Alman", + "url": "http://benalman.com/" + }, + "repository": { + "type": "git", + "url": "git://github.com/cowboy/node-exit.git" + }, + "bugs": { + "url": "https://github.com/cowboy/node-exit/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/cowboy/node-exit/blob/master/LICENSE-MIT" + } + ], + "main": "lib/exit", + "engines": { + "node": ">= 0.8.0" + }, + "scripts": { + "test": "grunt nodeunit" + }, + "devDependencies": { + "grunt-contrib-jshint": "~0.6.4", + "grunt-contrib-nodeunit": "~0.2.0", + "grunt-contrib-watch": "~0.5.3", + "grunt": "~0.4.1", + "which": "~1.0.5" + }, + "keywords": [ + "exit", + "process", + "stdio", + "stdout", + "stderr", + "drain", + "flush", + "3584" + ], + "readme": "# exit [![Build Status](https://secure.travis-ci.org/cowboy/node-exit.png?branch=master)](http://travis-ci.org/cowboy/node-exit)\n\nA replacement for process.exit that ensures stdio are fully drained before exiting.\n\nTo make a long story short, if `process.exit` is called on Windows, script output is often truncated when pipe-redirecting `stdout` or `stderr`. This module attempts to work around this issue by waiting until those streams have been completely drained before actually calling `process.exit`.\n\nSee [Node.js issue #3584](https://github.com/joyent/node/issues/3584) for further reference.\n\nTested in OS X 10.8, Windows 7 on Node.js 0.8.25 and 0.10.18.\n\nBased on some code by [@vladikoff](https://github.com/vladikoff).\n\n## Getting Started\nInstall the module with: `npm install exit`\n\n```javascript\nvar exit = require('exit');\n\n// These lines should appear in the output, EVEN ON WINDOWS.\nconsole.log(\"omg\");\nconsole.error(\"yay\");\n\n// process.exit(5);\nexit(5);\n\n// These lines shouldn't appear in the output.\nconsole.log(\"wtf\");\nconsole.error(\"bro\");\n```\n\n## Don't believe me? Try it for yourself.\n\nIn Windows, clone the repo and cd to the `test\\fixtures` directory. The only difference between [log.js](test/fixtures/log.js) and [log-broken.js](test/fixtures/log-broken.js) is that the former uses `exit` while the latter calls `process.exit` directly.\n\nThis test was done using cmd.exe, but you can see the same results using `| grep \"std\"` in either PowerShell or git-bash.\n\n```\nC:\\node-exit\\test\\fixtures>node log.js 0 10 stdout stderr 2>&1 | find \"std\"\nstdout 0\nstderr 0\nstdout 1\nstderr 1\nstdout 2\nstderr 2\nstdout 3\nstderr 3\nstdout 4\nstderr 4\nstdout 5\nstderr 5\nstdout 6\nstderr 6\nstdout 7\nstderr 7\nstdout 8\nstderr 8\nstdout 9\nstderr 9\n\nC:\\node-exit\\test\\fixtures>node log-broken.js 0 10 stdout stderr 2>&1 | find \"std\"\n\nC:\\node-exit\\test\\fixtures>\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2013-11-26 - v0.1.2 - Fixed a bug with hanging processes. \n2013-09-26 - v0.1.1 - Fixed some bugs. It seems to actually work now! \n2013-09-20 - v0.1.0 - Initial release.\n\n## License\nCopyright (c) 2013 \"Cowboy\" Ben Alman \nLicensed under the MIT license.\n", + "readmeFilename": "README.md", + "_id": "exit@0.1.2", + "_from": "exit@~0.1.1" +} diff --git a/static/js/node_modules/grunt/node_modules/exit/test/exit_test.js b/static/js/node_modules/grunt/node_modules/exit/test/exit_test.js new file mode 100644 index 0000000..a91afb9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/exit_test.js @@ -0,0 +1,121 @@ +'use strict'; + +/* + ======== A Handy Little Nodeunit Reference ======== + https://github.com/caolan/nodeunit + + Test methods: + test.expect(numAssertions) + test.done() + Test assertions: + test.ok(value, [message]) + test.equal(actual, expected, [message]) + test.notEqual(actual, expected, [message]) + test.deepEqual(actual, expected, [message]) + test.notDeepEqual(actual, expected, [message]) + test.strictEqual(actual, expected, [message]) + test.notStrictEqual(actual, expected, [message]) + test.throws(block, [error], [message]) + test.doesNotThrow(block, [error], [message]) + test.ifError(value) +*/ + +var fs = require('fs'); +var exec = require('child_process').exec; + +var _which = require('which').sync; +function which(command) { + try { + _which(command); + return command; + } catch (err) { + return false; + } +} + +// Look for grep first (any OS). If not found (but on Windows) look for find, +// which is Windows' horribly crippled grep alternative. +var grep = which('grep') || process.platform === 'win32' && which('find'); + +exports['exit'] = { + setUp: function(done) { + this.origCwd = process.cwd(); + process.chdir('test/fixtures'); + done(); + }, + tearDown: function(done) { + process.chdir(this.origCwd); + done(); + }, + 'grep': function(test) { + test.expect(1); + // Many unit tests depend on this. + test.ok(grep, 'A suitable "grep" or "find" program was not found in the PATH.'); + test.done(); + }, + // The rest of the tests are built dynamically, to keep things sane. +}; + +// A few helper functions. +function normalizeLineEndings(s) { + return s.replace(/\r?\n/g, '\n'); +} + +// Capture command output, normalizing captured stdout to unix file endings. +function run(command, callback) { + exec(command, function(error, stdout) { + callback(error ? error.code : 0, normalizeLineEndings(stdout)); + }); +} + +// Read a fixture file, normalizing file contents to unix file endings. +function fixture(filename) { + return normalizeLineEndings(String(fs.readFileSync(filename))); +} + +function buildTests() { + // Build individual unit tests for command output. + var counts = [10, 100, 1000]; + var outputs = [' stdout stderr', ' stdout', ' stderr']; + var pipes = ['', ' | ' + grep + ' "std"']; + counts.forEach(function(count) { + outputs.forEach(function(output) { + pipes.forEach(function(pipe) { + var command = 'node log.js 0 ' + count + output + ' 2>&1' + pipe; + exports['exit']['output (' + command + ')'] = function(test) { + test.expect(2); + run(command, function(code, actual) { + var expected = fixture(count + output.replace(/ /g, '-') + '.txt'); + // Sometimes, the actual file lines are out of order on Windows. + // But since the point of this lib is to drain the buffer and not + // guarantee output order, we only test the length. + test.equal(actual.length, expected.length, 'should be the same length.'); + // The "fail" lines in log.js should NOT be output! + test.ok(actual.indexOf('fail') === -1, 'should not output after exit is called.'); + test.done(); + }); + }; + }); + }); + }); + + // Build individual unit tests for exit codes. + var codes = [0, 1, 123]; + codes.forEach(function(code) { + var command = 'node log.js ' + code + ' 10 stdout stderr'; + exports['exit']['exit code (' + command + ')'] = function(test) { + test.expect(1); + run(command, function(actual) { + // The specified exit code should be passed through. + test.equal(actual, code, 'should exit with ' + code + ' error code.'); + test.done(); + }); + }; + }); +} + +// Don't bother building tests if grep wasn't found, otherwise everything will +// fail and the error will get lost. +if (grep) { + buildTests(); +} diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stderr.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stderr.txt new file mode 100644 index 0000000..2859200 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stderr.txt @@ -0,0 +1,10 @@ +stderr 0 +stderr 1 +stderr 2 +stderr 3 +stderr 4 +stderr 5 +stderr 6 +stderr 7 +stderr 8 +stderr 9 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout-stderr.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout-stderr.txt new file mode 100644 index 0000000..9de8616 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout-stderr.txt @@ -0,0 +1,20 @@ +stdout 0 +stderr 0 +stdout 1 +stdout 2 +stderr 1 +stdout 3 +stderr 2 +stderr 3 +stdout 4 +stderr 4 +stdout 5 +stderr 5 +stdout 6 +stderr 6 +stdout 7 +stderr 7 +stdout 8 +stderr 8 +stdout 9 +stderr 9 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout.txt new file mode 100644 index 0000000..1ce90dc --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout.txt @@ -0,0 +1,10 @@ +stdout 0 +stdout 1 +stdout 2 +stdout 3 +stdout 4 +stdout 5 +stdout 6 +stdout 7 +stdout 8 +stdout 9 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stderr.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stderr.txt new file mode 100644 index 0000000..3a78c85 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stderr.txt @@ -0,0 +1,100 @@ +stderr 0 +stderr 1 +stderr 2 +stderr 3 +stderr 4 +stderr 5 +stderr 6 +stderr 7 +stderr 8 +stderr 9 +stderr 10 +stderr 11 +stderr 12 +stderr 13 +stderr 14 +stderr 15 +stderr 16 +stderr 17 +stderr 18 +stderr 19 +stderr 20 +stderr 21 +stderr 22 +stderr 23 +stderr 24 +stderr 25 +stderr 26 +stderr 27 +stderr 28 +stderr 29 +stderr 30 +stderr 31 +stderr 32 +stderr 33 +stderr 34 +stderr 35 +stderr 36 +stderr 37 +stderr 38 +stderr 39 +stderr 40 +stderr 41 +stderr 42 +stderr 43 +stderr 44 +stderr 45 +stderr 46 +stderr 47 +stderr 48 +stderr 49 +stderr 50 +stderr 51 +stderr 52 +stderr 53 +stderr 54 +stderr 55 +stderr 56 +stderr 57 +stderr 58 +stderr 59 +stderr 60 +stderr 61 +stderr 62 +stderr 63 +stderr 64 +stderr 65 +stderr 66 +stderr 67 +stderr 68 +stderr 69 +stderr 70 +stderr 71 +stderr 72 +stderr 73 +stderr 74 +stderr 75 +stderr 76 +stderr 77 +stderr 78 +stderr 79 +stderr 80 +stderr 81 +stderr 82 +stderr 83 +stderr 84 +stderr 85 +stderr 86 +stderr 87 +stderr 88 +stderr 89 +stderr 90 +stderr 91 +stderr 92 +stderr 93 +stderr 94 +stderr 95 +stderr 96 +stderr 97 +stderr 98 +stderr 99 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout-stderr.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout-stderr.txt new file mode 100644 index 0000000..65f35f4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout-stderr.txt @@ -0,0 +1,200 @@ +stdout 0 +stderr 0 +stdout 1 +stderr 1 +stdout 2 +stderr 2 +stdout 3 +stderr 3 +stdout 4 +stderr 4 +stdout 5 +stderr 5 +stdout 6 +stderr 6 +stdout 7 +stderr 7 +stdout 8 +stderr 8 +stdout 9 +stderr 9 +stdout 10 +stderr 10 +stdout 11 +stderr 11 +stdout 12 +stderr 12 +stdout 13 +stderr 13 +stdout 14 +stderr 14 +stdout 15 +stderr 15 +stdout 16 +stderr 16 +stdout 17 +stderr 17 +stdout 18 +stderr 18 +stdout 19 +stderr 19 +stdout 20 +stderr 20 +stdout 21 +stderr 21 +stdout 22 +stderr 22 +stdout 23 +stderr 23 +stdout 24 +stderr 24 +stdout 25 +stderr 25 +stdout 26 +stderr 26 +stdout 27 +stderr 27 +stdout 28 +stderr 28 +stdout 29 +stderr 29 +stdout 30 +stderr 30 +stdout 31 +stderr 31 +stdout 32 +stderr 32 +stdout 33 +stderr 33 +stdout 34 +stderr 34 +stdout 35 +stderr 35 +stdout 36 +stderr 36 +stdout 37 +stderr 37 +stdout 38 +stderr 38 +stdout 39 +stderr 39 +stdout 40 +stderr 40 +stdout 41 +stderr 41 +stdout 42 +stderr 42 +stdout 43 +stderr 43 +stdout 44 +stderr 44 +stdout 45 +stderr 45 +stdout 46 +stderr 46 +stdout 47 +stderr 47 +stdout 48 +stderr 48 +stdout 49 +stderr 49 +stdout 50 +stderr 50 +stdout 51 +stderr 51 +stdout 52 +stderr 52 +stdout 53 +stderr 53 +stdout 54 +stderr 54 +stdout 55 +stderr 55 +stdout 56 +stderr 56 +stdout 57 +stderr 57 +stdout 58 +stderr 58 +stdout 59 +stderr 59 +stdout 60 +stderr 60 +stdout 61 +stderr 61 +stdout 62 +stderr 62 +stdout 63 +stderr 63 +stdout 64 +stderr 64 +stdout 65 +stderr 65 +stdout 66 +stderr 66 +stdout 67 +stderr 67 +stdout 68 +stderr 68 +stdout 69 +stderr 69 +stdout 70 +stderr 70 +stdout 71 +stderr 71 +stdout 72 +stderr 72 +stdout 73 +stderr 73 +stdout 74 +stderr 74 +stdout 75 +stderr 75 +stdout 76 +stderr 76 +stdout 77 +stderr 77 +stdout 78 +stderr 78 +stdout 79 +stderr 79 +stdout 80 +stderr 80 +stdout 81 +stderr 81 +stdout 82 +stderr 82 +stdout 83 +stderr 83 +stdout 84 +stderr 84 +stdout 85 +stderr 85 +stdout 86 +stderr 86 +stdout 87 +stderr 87 +stdout 88 +stderr 88 +stdout 89 +stderr 89 +stdout 90 +stderr 90 +stdout 91 +stderr 91 +stdout 92 +stderr 92 +stdout 93 +stderr 93 +stdout 94 +stderr 94 +stdout 95 +stderr 95 +stdout 96 +stderr 96 +stdout 97 +stderr 97 +stdout 98 +stderr 98 +stdout 99 +stderr 99 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout.txt new file mode 100644 index 0000000..5d9cac2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout.txt @@ -0,0 +1,100 @@ +stdout 0 +stdout 1 +stdout 2 +stdout 3 +stdout 4 +stdout 5 +stdout 6 +stdout 7 +stdout 8 +stdout 9 +stdout 10 +stdout 11 +stdout 12 +stdout 13 +stdout 14 +stdout 15 +stdout 16 +stdout 17 +stdout 18 +stdout 19 +stdout 20 +stdout 21 +stdout 22 +stdout 23 +stdout 24 +stdout 25 +stdout 26 +stdout 27 +stdout 28 +stdout 29 +stdout 30 +stdout 31 +stdout 32 +stdout 33 +stdout 34 +stdout 35 +stdout 36 +stdout 37 +stdout 38 +stdout 39 +stdout 40 +stdout 41 +stdout 42 +stdout 43 +stdout 44 +stdout 45 +stdout 46 +stdout 47 +stdout 48 +stdout 49 +stdout 50 +stdout 51 +stdout 52 +stdout 53 +stdout 54 +stdout 55 +stdout 56 +stdout 57 +stdout 58 +stdout 59 +stdout 60 +stdout 61 +stdout 62 +stdout 63 +stdout 64 +stdout 65 +stdout 66 +stdout 67 +stdout 68 +stdout 69 +stdout 70 +stdout 71 +stdout 72 +stdout 73 +stdout 74 +stdout 75 +stdout 76 +stdout 77 +stdout 78 +stdout 79 +stdout 80 +stdout 81 +stdout 82 +stdout 83 +stdout 84 +stdout 85 +stdout 86 +stdout 87 +stdout 88 +stdout 89 +stdout 90 +stdout 91 +stdout 92 +stdout 93 +stdout 94 +stdout 95 +stdout 96 +stdout 97 +stdout 98 +stdout 99 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stderr.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stderr.txt new file mode 100644 index 0000000..d637510 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stderr.txt @@ -0,0 +1,1000 @@ +stderr 0 +stderr 1 +stderr 2 +stderr 3 +stderr 4 +stderr 5 +stderr 6 +stderr 7 +stderr 8 +stderr 9 +stderr 10 +stderr 11 +stderr 12 +stderr 13 +stderr 14 +stderr 15 +stderr 16 +stderr 17 +stderr 18 +stderr 19 +stderr 20 +stderr 21 +stderr 22 +stderr 23 +stderr 24 +stderr 25 +stderr 26 +stderr 27 +stderr 28 +stderr 29 +stderr 30 +stderr 31 +stderr 32 +stderr 33 +stderr 34 +stderr 35 +stderr 36 +stderr 37 +stderr 38 +stderr 39 +stderr 40 +stderr 41 +stderr 42 +stderr 43 +stderr 44 +stderr 45 +stderr 46 +stderr 47 +stderr 48 +stderr 49 +stderr 50 +stderr 51 +stderr 52 +stderr 53 +stderr 54 +stderr 55 +stderr 56 +stderr 57 +stderr 58 +stderr 59 +stderr 60 +stderr 61 +stderr 62 +stderr 63 +stderr 64 +stderr 65 +stderr 66 +stderr 67 +stderr 68 +stderr 69 +stderr 70 +stderr 71 +stderr 72 +stderr 73 +stderr 74 +stderr 75 +stderr 76 +stderr 77 +stderr 78 +stderr 79 +stderr 80 +stderr 81 +stderr 82 +stderr 83 +stderr 84 +stderr 85 +stderr 86 +stderr 87 +stderr 88 +stderr 89 +stderr 90 +stderr 91 +stderr 92 +stderr 93 +stderr 94 +stderr 95 +stderr 96 +stderr 97 +stderr 98 +stderr 99 +stderr 100 +stderr 101 +stderr 102 +stderr 103 +stderr 104 +stderr 105 +stderr 106 +stderr 107 +stderr 108 +stderr 109 +stderr 110 +stderr 111 +stderr 112 +stderr 113 +stderr 114 +stderr 115 +stderr 116 +stderr 117 +stderr 118 +stderr 119 +stderr 120 +stderr 121 +stderr 122 +stderr 123 +stderr 124 +stderr 125 +stderr 126 +stderr 127 +stderr 128 +stderr 129 +stderr 130 +stderr 131 +stderr 132 +stderr 133 +stderr 134 +stderr 135 +stderr 136 +stderr 137 +stderr 138 +stderr 139 +stderr 140 +stderr 141 +stderr 142 +stderr 143 +stderr 144 +stderr 145 +stderr 146 +stderr 147 +stderr 148 +stderr 149 +stderr 150 +stderr 151 +stderr 152 +stderr 153 +stderr 154 +stderr 155 +stderr 156 +stderr 157 +stderr 158 +stderr 159 +stderr 160 +stderr 161 +stderr 162 +stderr 163 +stderr 164 +stderr 165 +stderr 166 +stderr 167 +stderr 168 +stderr 169 +stderr 170 +stderr 171 +stderr 172 +stderr 173 +stderr 174 +stderr 175 +stderr 176 +stderr 177 +stderr 178 +stderr 179 +stderr 180 +stderr 181 +stderr 182 +stderr 183 +stderr 184 +stderr 185 +stderr 186 +stderr 187 +stderr 188 +stderr 189 +stderr 190 +stderr 191 +stderr 192 +stderr 193 +stderr 194 +stderr 195 +stderr 196 +stderr 197 +stderr 198 +stderr 199 +stderr 200 +stderr 201 +stderr 202 +stderr 203 +stderr 204 +stderr 205 +stderr 206 +stderr 207 +stderr 208 +stderr 209 +stderr 210 +stderr 211 +stderr 212 +stderr 213 +stderr 214 +stderr 215 +stderr 216 +stderr 217 +stderr 218 +stderr 219 +stderr 220 +stderr 221 +stderr 222 +stderr 223 +stderr 224 +stderr 225 +stderr 226 +stderr 227 +stderr 228 +stderr 229 +stderr 230 +stderr 231 +stderr 232 +stderr 233 +stderr 234 +stderr 235 +stderr 236 +stderr 237 +stderr 238 +stderr 239 +stderr 240 +stderr 241 +stderr 242 +stderr 243 +stderr 244 +stderr 245 +stderr 246 +stderr 247 +stderr 248 +stderr 249 +stderr 250 +stderr 251 +stderr 252 +stderr 253 +stderr 254 +stderr 255 +stderr 256 +stderr 257 +stderr 258 +stderr 259 +stderr 260 +stderr 261 +stderr 262 +stderr 263 +stderr 264 +stderr 265 +stderr 266 +stderr 267 +stderr 268 +stderr 269 +stderr 270 +stderr 271 +stderr 272 +stderr 273 +stderr 274 +stderr 275 +stderr 276 +stderr 277 +stderr 278 +stderr 279 +stderr 280 +stderr 281 +stderr 282 +stderr 283 +stderr 284 +stderr 285 +stderr 286 +stderr 287 +stderr 288 +stderr 289 +stderr 290 +stderr 291 +stderr 292 +stderr 293 +stderr 294 +stderr 295 +stderr 296 +stderr 297 +stderr 298 +stderr 299 +stderr 300 +stderr 301 +stderr 302 +stderr 303 +stderr 304 +stderr 305 +stderr 306 +stderr 307 +stderr 308 +stderr 309 +stderr 310 +stderr 311 +stderr 312 +stderr 313 +stderr 314 +stderr 315 +stderr 316 +stderr 317 +stderr 318 +stderr 319 +stderr 320 +stderr 321 +stderr 322 +stderr 323 +stderr 324 +stderr 325 +stderr 326 +stderr 327 +stderr 328 +stderr 329 +stderr 330 +stderr 331 +stderr 332 +stderr 333 +stderr 334 +stderr 335 +stderr 336 +stderr 337 +stderr 338 +stderr 339 +stderr 340 +stderr 341 +stderr 342 +stderr 343 +stderr 344 +stderr 345 +stderr 346 +stderr 347 +stderr 348 +stderr 349 +stderr 350 +stderr 351 +stderr 352 +stderr 353 +stderr 354 +stderr 355 +stderr 356 +stderr 357 +stderr 358 +stderr 359 +stderr 360 +stderr 361 +stderr 362 +stderr 363 +stderr 364 +stderr 365 +stderr 366 +stderr 367 +stderr 368 +stderr 369 +stderr 370 +stderr 371 +stderr 372 +stderr 373 +stderr 374 +stderr 375 +stderr 376 +stderr 377 +stderr 378 +stderr 379 +stderr 380 +stderr 381 +stderr 382 +stderr 383 +stderr 384 +stderr 385 +stderr 386 +stderr 387 +stderr 388 +stderr 389 +stderr 390 +stderr 391 +stderr 392 +stderr 393 +stderr 394 +stderr 395 +stderr 396 +stderr 397 +stderr 398 +stderr 399 +stderr 400 +stderr 401 +stderr 402 +stderr 403 +stderr 404 +stderr 405 +stderr 406 +stderr 407 +stderr 408 +stderr 409 +stderr 410 +stderr 411 +stderr 412 +stderr 413 +stderr 414 +stderr 415 +stderr 416 +stderr 417 +stderr 418 +stderr 419 +stderr 420 +stderr 421 +stderr 422 +stderr 423 +stderr 424 +stderr 425 +stderr 426 +stderr 427 +stderr 428 +stderr 429 +stderr 430 +stderr 431 +stderr 432 +stderr 433 +stderr 434 +stderr 435 +stderr 436 +stderr 437 +stderr 438 +stderr 439 +stderr 440 +stderr 441 +stderr 442 +stderr 443 +stderr 444 +stderr 445 +stderr 446 +stderr 447 +stderr 448 +stderr 449 +stderr 450 +stderr 451 +stderr 452 +stderr 453 +stderr 454 +stderr 455 +stderr 456 +stderr 457 +stderr 458 +stderr 459 +stderr 460 +stderr 461 +stderr 462 +stderr 463 +stderr 464 +stderr 465 +stderr 466 +stderr 467 +stderr 468 +stderr 469 +stderr 470 +stderr 471 +stderr 472 +stderr 473 +stderr 474 +stderr 475 +stderr 476 +stderr 477 +stderr 478 +stderr 479 +stderr 480 +stderr 481 +stderr 482 +stderr 483 +stderr 484 +stderr 485 +stderr 486 +stderr 487 +stderr 488 +stderr 489 +stderr 490 +stderr 491 +stderr 492 +stderr 493 +stderr 494 +stderr 495 +stderr 496 +stderr 497 +stderr 498 +stderr 499 +stderr 500 +stderr 501 +stderr 502 +stderr 503 +stderr 504 +stderr 505 +stderr 506 +stderr 507 +stderr 508 +stderr 509 +stderr 510 +stderr 511 +stderr 512 +stderr 513 +stderr 514 +stderr 515 +stderr 516 +stderr 517 +stderr 518 +stderr 519 +stderr 520 +stderr 521 +stderr 522 +stderr 523 +stderr 524 +stderr 525 +stderr 526 +stderr 527 +stderr 528 +stderr 529 +stderr 530 +stderr 531 +stderr 532 +stderr 533 +stderr 534 +stderr 535 +stderr 536 +stderr 537 +stderr 538 +stderr 539 +stderr 540 +stderr 541 +stderr 542 +stderr 543 +stderr 544 +stderr 545 +stderr 546 +stderr 547 +stderr 548 +stderr 549 +stderr 550 +stderr 551 +stderr 552 +stderr 553 +stderr 554 +stderr 555 +stderr 556 +stderr 557 +stderr 558 +stderr 559 +stderr 560 +stderr 561 +stderr 562 +stderr 563 +stderr 564 +stderr 565 +stderr 566 +stderr 567 +stderr 568 +stderr 569 +stderr 570 +stderr 571 +stderr 572 +stderr 573 +stderr 574 +stderr 575 +stderr 576 +stderr 577 +stderr 578 +stderr 579 +stderr 580 +stderr 581 +stderr 582 +stderr 583 +stderr 584 +stderr 585 +stderr 586 +stderr 587 +stderr 588 +stderr 589 +stderr 590 +stderr 591 +stderr 592 +stderr 593 +stderr 594 +stderr 595 +stderr 596 +stderr 597 +stderr 598 +stderr 599 +stderr 600 +stderr 601 +stderr 602 +stderr 603 +stderr 604 +stderr 605 +stderr 606 +stderr 607 +stderr 608 +stderr 609 +stderr 610 +stderr 611 +stderr 612 +stderr 613 +stderr 614 +stderr 615 +stderr 616 +stderr 617 +stderr 618 +stderr 619 +stderr 620 +stderr 621 +stderr 622 +stderr 623 +stderr 624 +stderr 625 +stderr 626 +stderr 627 +stderr 628 +stderr 629 +stderr 630 +stderr 631 +stderr 632 +stderr 633 +stderr 634 +stderr 635 +stderr 636 +stderr 637 +stderr 638 +stderr 639 +stderr 640 +stderr 641 +stderr 642 +stderr 643 +stderr 644 +stderr 645 +stderr 646 +stderr 647 +stderr 648 +stderr 649 +stderr 650 +stderr 651 +stderr 652 +stderr 653 +stderr 654 +stderr 655 +stderr 656 +stderr 657 +stderr 658 +stderr 659 +stderr 660 +stderr 661 +stderr 662 +stderr 663 +stderr 664 +stderr 665 +stderr 666 +stderr 667 +stderr 668 +stderr 669 +stderr 670 +stderr 671 +stderr 672 +stderr 673 +stderr 674 +stderr 675 +stderr 676 +stderr 677 +stderr 678 +stderr 679 +stderr 680 +stderr 681 +stderr 682 +stderr 683 +stderr 684 +stderr 685 +stderr 686 +stderr 687 +stderr 688 +stderr 689 +stderr 690 +stderr 691 +stderr 692 +stderr 693 +stderr 694 +stderr 695 +stderr 696 +stderr 697 +stderr 698 +stderr 699 +stderr 700 +stderr 701 +stderr 702 +stderr 703 +stderr 704 +stderr 705 +stderr 706 +stderr 707 +stderr 708 +stderr 709 +stderr 710 +stderr 711 +stderr 712 +stderr 713 +stderr 714 +stderr 715 +stderr 716 +stderr 717 +stderr 718 +stderr 719 +stderr 720 +stderr 721 +stderr 722 +stderr 723 +stderr 724 +stderr 725 +stderr 726 +stderr 727 +stderr 728 +stderr 729 +stderr 730 +stderr 731 +stderr 732 +stderr 733 +stderr 734 +stderr 735 +stderr 736 +stderr 737 +stderr 738 +stderr 739 +stderr 740 +stderr 741 +stderr 742 +stderr 743 +stderr 744 +stderr 745 +stderr 746 +stderr 747 +stderr 748 +stderr 749 +stderr 750 +stderr 751 +stderr 752 +stderr 753 +stderr 754 +stderr 755 +stderr 756 +stderr 757 +stderr 758 +stderr 759 +stderr 760 +stderr 761 +stderr 762 +stderr 763 +stderr 764 +stderr 765 +stderr 766 +stderr 767 +stderr 768 +stderr 769 +stderr 770 +stderr 771 +stderr 772 +stderr 773 +stderr 774 +stderr 775 +stderr 776 +stderr 777 +stderr 778 +stderr 779 +stderr 780 +stderr 781 +stderr 782 +stderr 783 +stderr 784 +stderr 785 +stderr 786 +stderr 787 +stderr 788 +stderr 789 +stderr 790 +stderr 791 +stderr 792 +stderr 793 +stderr 794 +stderr 795 +stderr 796 +stderr 797 +stderr 798 +stderr 799 +stderr 800 +stderr 801 +stderr 802 +stderr 803 +stderr 804 +stderr 805 +stderr 806 +stderr 807 +stderr 808 +stderr 809 +stderr 810 +stderr 811 +stderr 812 +stderr 813 +stderr 814 +stderr 815 +stderr 816 +stderr 817 +stderr 818 +stderr 819 +stderr 820 +stderr 821 +stderr 822 +stderr 823 +stderr 824 +stderr 825 +stderr 826 +stderr 827 +stderr 828 +stderr 829 +stderr 830 +stderr 831 +stderr 832 +stderr 833 +stderr 834 +stderr 835 +stderr 836 +stderr 837 +stderr 838 +stderr 839 +stderr 840 +stderr 841 +stderr 842 +stderr 843 +stderr 844 +stderr 845 +stderr 846 +stderr 847 +stderr 848 +stderr 849 +stderr 850 +stderr 851 +stderr 852 +stderr 853 +stderr 854 +stderr 855 +stderr 856 +stderr 857 +stderr 858 +stderr 859 +stderr 860 +stderr 861 +stderr 862 +stderr 863 +stderr 864 +stderr 865 +stderr 866 +stderr 867 +stderr 868 +stderr 869 +stderr 870 +stderr 871 +stderr 872 +stderr 873 +stderr 874 +stderr 875 +stderr 876 +stderr 877 +stderr 878 +stderr 879 +stderr 880 +stderr 881 +stderr 882 +stderr 883 +stderr 884 +stderr 885 +stderr 886 +stderr 887 +stderr 888 +stderr 889 +stderr 890 +stderr 891 +stderr 892 +stderr 893 +stderr 894 +stderr 895 +stderr 896 +stderr 897 +stderr 898 +stderr 899 +stderr 900 +stderr 901 +stderr 902 +stderr 903 +stderr 904 +stderr 905 +stderr 906 +stderr 907 +stderr 908 +stderr 909 +stderr 910 +stderr 911 +stderr 912 +stderr 913 +stderr 914 +stderr 915 +stderr 916 +stderr 917 +stderr 918 +stderr 919 +stderr 920 +stderr 921 +stderr 922 +stderr 923 +stderr 924 +stderr 925 +stderr 926 +stderr 927 +stderr 928 +stderr 929 +stderr 930 +stderr 931 +stderr 932 +stderr 933 +stderr 934 +stderr 935 +stderr 936 +stderr 937 +stderr 938 +stderr 939 +stderr 940 +stderr 941 +stderr 942 +stderr 943 +stderr 944 +stderr 945 +stderr 946 +stderr 947 +stderr 948 +stderr 949 +stderr 950 +stderr 951 +stderr 952 +stderr 953 +stderr 954 +stderr 955 +stderr 956 +stderr 957 +stderr 958 +stderr 959 +stderr 960 +stderr 961 +stderr 962 +stderr 963 +stderr 964 +stderr 965 +stderr 966 +stderr 967 +stderr 968 +stderr 969 +stderr 970 +stderr 971 +stderr 972 +stderr 973 +stderr 974 +stderr 975 +stderr 976 +stderr 977 +stderr 978 +stderr 979 +stderr 980 +stderr 981 +stderr 982 +stderr 983 +stderr 984 +stderr 985 +stderr 986 +stderr 987 +stderr 988 +stderr 989 +stderr 990 +stderr 991 +stderr 992 +stderr 993 +stderr 994 +stderr 995 +stderr 996 +stderr 997 +stderr 998 +stderr 999 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout-stderr.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout-stderr.txt new file mode 100644 index 0000000..4fde2b4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout-stderr.txt @@ -0,0 +1,2000 @@ +stdout 0 +stderr 0 +stdout 1 +stderr 1 +stdout 2 +stderr 2 +stdout 3 +stderr 3 +stdout 4 +stderr 4 +stdout 5 +stderr 5 +stdout 6 +stderr 6 +stdout 7 +stderr 7 +stdout 8 +stderr 8 +stdout 9 +stderr 9 +stdout 10 +stderr 10 +stdout 11 +stderr 11 +stdout 12 +stderr 12 +stdout 13 +stderr 13 +stdout 14 +stderr 14 +stdout 15 +stderr 15 +stdout 16 +stderr 16 +stdout 17 +stderr 17 +stdout 18 +stderr 18 +stdout 19 +stderr 19 +stdout 20 +stderr 20 +stdout 21 +stderr 21 +stdout 22 +stderr 22 +stdout 23 +stderr 23 +stdout 24 +stderr 24 +stdout 25 +stderr 25 +stdout 26 +stderr 26 +stdout 27 +stderr 27 +stdout 28 +stderr 28 +stdout 29 +stderr 29 +stdout 30 +stderr 30 +stdout 31 +stderr 31 +stdout 32 +stderr 32 +stdout 33 +stderr 33 +stdout 34 +stderr 34 +stdout 35 +stderr 35 +stdout 36 +stderr 36 +stdout 37 +stderr 37 +stdout 38 +stderr 38 +stdout 39 +stderr 39 +stdout 40 +stderr 40 +stdout 41 +stderr 41 +stdout 42 +stderr 42 +stdout 43 +stderr 43 +stdout 44 +stderr 44 +stdout 45 +stderr 45 +stdout 46 +stderr 46 +stdout 47 +stderr 47 +stdout 48 +stderr 48 +stdout 49 +stderr 49 +stdout 50 +stderr 50 +stdout 51 +stderr 51 +stdout 52 +stderr 52 +stdout 53 +stderr 53 +stdout 54 +stderr 54 +stdout 55 +stderr 55 +stdout 56 +stderr 56 +stdout 57 +stderr 57 +stdout 58 +stderr 58 +stdout 59 +stderr 59 +stdout 60 +stderr 60 +stdout 61 +stderr 61 +stdout 62 +stderr 62 +stdout 63 +stderr 63 +stdout 64 +stderr 64 +stdout 65 +stderr 65 +stdout 66 +stderr 66 +stdout 67 +stderr 67 +stdout 68 +stderr 68 +stdout 69 +stderr 69 +stdout 70 +stderr 70 +stdout 71 +stderr 71 +stdout 72 +stderr 72 +stdout 73 +stderr 73 +stdout 74 +stderr 74 +stdout 75 +stderr 75 +stdout 76 +stderr 76 +stdout 77 +stderr 77 +stdout 78 +stderr 78 +stdout 79 +stderr 79 +stdout 80 +stderr 80 +stdout 81 +stderr 81 +stdout 82 +stderr 82 +stdout 83 +stderr 83 +stdout 84 +stderr 84 +stdout 85 +stderr 85 +stdout 86 +stderr 86 +stdout 87 +stderr 87 +stdout 88 +stderr 88 +stdout 89 +stderr 89 +stdout 90 +stderr 90 +stdout 91 +stderr 91 +stdout 92 +stderr 92 +stdout 93 +stderr 93 +stdout 94 +stderr 94 +stdout 95 +stderr 95 +stdout 96 +stderr 96 +stdout 97 +stderr 97 +stdout 98 +stderr 98 +stdout 99 +stderr 99 +stdout 100 +stderr 100 +stdout 101 +stderr 101 +stdout 102 +stderr 102 +stdout 103 +stderr 103 +stdout 104 +stderr 104 +stdout 105 +stderr 105 +stdout 106 +stderr 106 +stdout 107 +stderr 107 +stdout 108 +stderr 108 +stdout 109 +stderr 109 +stdout 110 +stderr 110 +stdout 111 +stderr 111 +stdout 112 +stderr 112 +stdout 113 +stderr 113 +stdout 114 +stderr 114 +stdout 115 +stderr 115 +stdout 116 +stderr 116 +stdout 117 +stderr 117 +stdout 118 +stderr 118 +stdout 119 +stderr 119 +stdout 120 +stderr 120 +stdout 121 +stderr 121 +stdout 122 +stderr 122 +stdout 123 +stderr 123 +stdout 124 +stderr 124 +stdout 125 +stderr 125 +stdout 126 +stderr 126 +stdout 127 +stderr 127 +stdout 128 +stderr 128 +stdout 129 +stderr 129 +stdout 130 +stderr 130 +stdout 131 +stderr 131 +stdout 132 +stderr 132 +stdout 133 +stderr 133 +stdout 134 +stderr 134 +stdout 135 +stderr 135 +stdout 136 +stderr 136 +stdout 137 +stderr 137 +stdout 138 +stderr 138 +stdout 139 +stderr 139 +stdout 140 +stderr 140 +stdout 141 +stderr 141 +stdout 142 +stderr 142 +stdout 143 +stderr 143 +stdout 144 +stderr 144 +stdout 145 +stderr 145 +stdout 146 +stderr 146 +stdout 147 +stderr 147 +stdout 148 +stderr 148 +stdout 149 +stderr 149 +stdout 150 +stderr 150 +stdout 151 +stderr 151 +stdout 152 +stderr 152 +stdout 153 +stderr 153 +stdout 154 +stderr 154 +stdout 155 +stderr 155 +stdout 156 +stderr 156 +stdout 157 +stderr 157 +stdout 158 +stderr 158 +stdout 159 +stderr 159 +stdout 160 +stderr 160 +stdout 161 +stderr 161 +stdout 162 +stderr 162 +stdout 163 +stderr 163 +stdout 164 +stderr 164 +stdout 165 +stderr 165 +stdout 166 +stderr 166 +stdout 167 +stderr 167 +stdout 168 +stderr 168 +stdout 169 +stderr 169 +stdout 170 +stderr 170 +stdout 171 +stderr 171 +stdout 172 +stderr 172 +stdout 173 +stderr 173 +stdout 174 +stderr 174 +stdout 175 +stderr 175 +stdout 176 +stderr 176 +stdout 177 +stderr 177 +stdout 178 +stderr 178 +stdout 179 +stderr 179 +stdout 180 +stderr 180 +stdout 181 +stderr 181 +stdout 182 +stderr 182 +stdout 183 +stderr 183 +stdout 184 +stderr 184 +stdout 185 +stderr 185 +stdout 186 +stderr 186 +stdout 187 +stderr 187 +stdout 188 +stderr 188 +stdout 189 +stderr 189 +stdout 190 +stderr 190 +stdout 191 +stderr 191 +stdout 192 +stderr 192 +stdout 193 +stderr 193 +stdout 194 +stderr 194 +stdout 195 +stderr 195 +stdout 196 +stderr 196 +stdout 197 +stderr 197 +stdout 198 +stderr 198 +stdout 199 +stderr 199 +stdout 200 +stderr 200 +stdout 201 +stderr 201 +stdout 202 +stderr 202 +stdout 203 +stderr 203 +stdout 204 +stderr 204 +stdout 205 +stderr 205 +stdout 206 +stderr 206 +stdout 207 +stderr 207 +stdout 208 +stderr 208 +stdout 209 +stderr 209 +stdout 210 +stderr 210 +stdout 211 +stderr 211 +stdout 212 +stderr 212 +stdout 213 +stderr 213 +stdout 214 +stderr 214 +stdout 215 +stderr 215 +stdout 216 +stderr 216 +stdout 217 +stderr 217 +stdout 218 +stderr 218 +stdout 219 +stderr 219 +stdout 220 +stderr 220 +stdout 221 +stderr 221 +stdout 222 +stderr 222 +stdout 223 +stderr 223 +stdout 224 +stderr 224 +stdout 225 +stderr 225 +stdout 226 +stderr 226 +stdout 227 +stderr 227 +stdout 228 +stderr 228 +stdout 229 +stderr 229 +stdout 230 +stderr 230 +stdout 231 +stderr 231 +stdout 232 +stderr 232 +stdout 233 +stderr 233 +stdout 234 +stderr 234 +stdout 235 +stderr 235 +stdout 236 +stderr 236 +stdout 237 +stderr 237 +stdout 238 +stderr 238 +stdout 239 +stderr 239 +stdout 240 +stderr 240 +stdout 241 +stderr 241 +stdout 242 +stderr 242 +stdout 243 +stderr 243 +stdout 244 +stderr 244 +stdout 245 +stderr 245 +stdout 246 +stderr 246 +stdout 247 +stderr 247 +stdout 248 +stderr 248 +stdout 249 +stderr 249 +stdout 250 +stderr 250 +stdout 251 +stderr 251 +stdout 252 +stderr 252 +stdout 253 +stderr 253 +stdout 254 +stderr 254 +stdout 255 +stderr 255 +stdout 256 +stderr 256 +stdout 257 +stderr 257 +stdout 258 +stderr 258 +stdout 259 +stderr 259 +stdout 260 +stderr 260 +stdout 261 +stderr 261 +stdout 262 +stderr 262 +stdout 263 +stderr 263 +stdout 264 +stderr 264 +stdout 265 +stderr 265 +stdout 266 +stderr 266 +stdout 267 +stderr 267 +stdout 268 +stderr 268 +stdout 269 +stderr 269 +stdout 270 +stderr 270 +stdout 271 +stderr 271 +stdout 272 +stderr 272 +stdout 273 +stderr 273 +stdout 274 +stderr 274 +stdout 275 +stderr 275 +stdout 276 +stderr 276 +stdout 277 +stderr 277 +stdout 278 +stderr 278 +stdout 279 +stderr 279 +stdout 280 +stderr 280 +stdout 281 +stderr 281 +stdout 282 +stderr 282 +stdout 283 +stderr 283 +stdout 284 +stderr 284 +stdout 285 +stderr 285 +stdout 286 +stderr 286 +stdout 287 +stderr 287 +stdout 288 +stderr 288 +stdout 289 +stderr 289 +stdout 290 +stderr 290 +stdout 291 +stderr 291 +stdout 292 +stderr 292 +stdout 293 +stderr 293 +stdout 294 +stderr 294 +stdout 295 +stderr 295 +stdout 296 +stderr 296 +stdout 297 +stderr 297 +stdout 298 +stderr 298 +stdout 299 +stderr 299 +stdout 300 +stderr 300 +stdout 301 +stderr 301 +stdout 302 +stderr 302 +stdout 303 +stderr 303 +stdout 304 +stderr 304 +stdout 305 +stderr 305 +stdout 306 +stderr 306 +stdout 307 +stderr 307 +stdout 308 +stderr 308 +stdout 309 +stderr 309 +stdout 310 +stderr 310 +stdout 311 +stderr 311 +stdout 312 +stderr 312 +stdout 313 +stderr 313 +stdout 314 +stderr 314 +stdout 315 +stderr 315 +stdout 316 +stderr 316 +stdout 317 +stderr 317 +stdout 318 +stderr 318 +stdout 319 +stderr 319 +stdout 320 +stderr 320 +stdout 321 +stderr 321 +stdout 322 +stderr 322 +stdout 323 +stderr 323 +stdout 324 +stderr 324 +stdout 325 +stderr 325 +stdout 326 +stderr 326 +stdout 327 +stderr 327 +stdout 328 +stderr 328 +stdout 329 +stderr 329 +stdout 330 +stderr 330 +stdout 331 +stderr 331 +stdout 332 +stderr 332 +stdout 333 +stderr 333 +stdout 334 +stderr 334 +stdout 335 +stderr 335 +stdout 336 +stderr 336 +stdout 337 +stderr 337 +stdout 338 +stderr 338 +stdout 339 +stderr 339 +stdout 340 +stderr 340 +stdout 341 +stderr 341 +stdout 342 +stderr 342 +stdout 343 +stderr 343 +stdout 344 +stderr 344 +stdout 345 +stderr 345 +stdout 346 +stderr 346 +stdout 347 +stderr 347 +stdout 348 +stderr 348 +stdout 349 +stderr 349 +stdout 350 +stderr 350 +stdout 351 +stderr 351 +stdout 352 +stderr 352 +stdout 353 +stderr 353 +stdout 354 +stderr 354 +stdout 355 +stderr 355 +stdout 356 +stderr 356 +stdout 357 +stderr 357 +stdout 358 +stderr 358 +stdout 359 +stderr 359 +stdout 360 +stderr 360 +stdout 361 +stderr 361 +stdout 362 +stderr 362 +stdout 363 +stderr 363 +stdout 364 +stderr 364 +stdout 365 +stderr 365 +stdout 366 +stderr 366 +stdout 367 +stderr 367 +stdout 368 +stderr 368 +stdout 369 +stderr 369 +stdout 370 +stderr 370 +stdout 371 +stderr 371 +stdout 372 +stderr 372 +stdout 373 +stderr 373 +stdout 374 +stderr 374 +stdout 375 +stderr 375 +stdout 376 +stderr 376 +stdout 377 +stderr 377 +stdout 378 +stderr 378 +stdout 379 +stderr 379 +stdout 380 +stderr 380 +stdout 381 +stderr 381 +stdout 382 +stderr 382 +stdout 383 +stderr 383 +stdout 384 +stderr 384 +stdout 385 +stderr 385 +stdout 386 +stderr 386 +stdout 387 +stderr 387 +stdout 388 +stderr 388 +stdout 389 +stderr 389 +stdout 390 +stderr 390 +stdout 391 +stderr 391 +stdout 392 +stderr 392 +stdout 393 +stderr 393 +stdout 394 +stderr 394 +stdout 395 +stderr 395 +stdout 396 +stderr 396 +stdout 397 +stderr 397 +stdout 398 +stderr 398 +stdout 399 +stderr 399 +stdout 400 +stderr 400 +stdout 401 +stderr 401 +stdout 402 +stderr 402 +stdout 403 +stderr 403 +stdout 404 +stderr 404 +stdout 405 +stderr 405 +stdout 406 +stderr 406 +stdout 407 +stderr 407 +stdout 408 +stderr 408 +stdout 409 +stderr 409 +stdout 410 +stderr 410 +stdout 411 +stderr 411 +stdout 412 +stderr 412 +stdout 413 +stderr 413 +stdout 414 +stderr 414 +stdout 415 +stderr 415 +stdout 416 +stderr 416 +stdout 417 +stderr 417 +stdout 418 +stderr 418 +stdout 419 +stderr 419 +stdout 420 +stderr 420 +stdout 421 +stderr 421 +stdout 422 +stderr 422 +stdout 423 +stderr 423 +stdout 424 +stderr 424 +stdout 425 +stderr 425 +stdout 426 +stderr 426 +stdout 427 +stderr 427 +stdout 428 +stderr 428 +stdout 429 +stderr 429 +stdout 430 +stderr 430 +stdout 431 +stderr 431 +stdout 432 +stderr 432 +stdout 433 +stderr 433 +stdout 434 +stderr 434 +stdout 435 +stderr 435 +stdout 436 +stderr 436 +stdout 437 +stderr 437 +stdout 438 +stderr 438 +stdout 439 +stderr 439 +stdout 440 +stderr 440 +stdout 441 +stderr 441 +stdout 442 +stderr 442 +stdout 443 +stderr 443 +stdout 444 +stderr 444 +stdout 445 +stderr 445 +stdout 446 +stderr 446 +stdout 447 +stderr 447 +stdout 448 +stderr 448 +stdout 449 +stderr 449 +stdout 450 +stderr 450 +stdout 451 +stderr 451 +stdout 452 +stderr 452 +stdout 453 +stderr 453 +stdout 454 +stderr 454 +stdout 455 +stderr 455 +stdout 456 +stderr 456 +stdout 457 +stderr 457 +stdout 458 +stderr 458 +stdout 459 +stderr 459 +stdout 460 +stderr 460 +stdout 461 +stderr 461 +stdout 462 +stderr 462 +stdout 463 +stderr 463 +stdout 464 +stderr 464 +stdout 465 +stderr 465 +stdout 466 +stderr 466 +stdout 467 +stderr 467 +stdout 468 +stderr 468 +stdout 469 +stderr 469 +stdout 470 +stderr 470 +stdout 471 +stderr 471 +stdout 472 +stderr 472 +stdout 473 +stderr 473 +stdout 474 +stderr 474 +stdout 475 +stderr 475 +stdout 476 +stderr 476 +stdout 477 +stderr 477 +stdout 478 +stderr 478 +stdout 479 +stderr 479 +stdout 480 +stderr 480 +stdout 481 +stderr 481 +stdout 482 +stderr 482 +stdout 483 +stderr 483 +stdout 484 +stderr 484 +stdout 485 +stderr 485 +stdout 486 +stderr 486 +stdout 487 +stderr 487 +stdout 488 +stderr 488 +stdout 489 +stderr 489 +stdout 490 +stderr 490 +stdout 491 +stderr 491 +stdout 492 +stderr 492 +stdout 493 +stderr 493 +stdout 494 +stderr 494 +stdout 495 +stderr 495 +stdout 496 +stderr 496 +stdout 497 +stderr 497 +stdout 498 +stderr 498 +stdout 499 +stderr 499 +stdout 500 +stderr 500 +stdout 501 +stderr 501 +stdout 502 +stderr 502 +stdout 503 +stderr 503 +stdout 504 +stderr 504 +stdout 505 +stderr 505 +stdout 506 +stderr 506 +stdout 507 +stderr 507 +stdout 508 +stderr 508 +stdout 509 +stderr 509 +stdout 510 +stderr 510 +stdout 511 +stderr 511 +stdout 512 +stderr 512 +stdout 513 +stderr 513 +stdout 514 +stderr 514 +stdout 515 +stderr 515 +stdout 516 +stderr 516 +stdout 517 +stderr 517 +stdout 518 +stderr 518 +stdout 519 +stderr 519 +stdout 520 +stderr 520 +stdout 521 +stderr 521 +stdout 522 +stderr 522 +stdout 523 +stderr 523 +stdout 524 +stderr 524 +stdout 525 +stderr 525 +stdout 526 +stderr 526 +stdout 527 +stderr 527 +stdout 528 +stderr 528 +stdout 529 +stderr 529 +stdout 530 +stderr 530 +stdout 531 +stderr 531 +stdout 532 +stderr 532 +stdout 533 +stderr 533 +stdout 534 +stderr 534 +stdout 535 +stderr 535 +stdout 536 +stderr 536 +stdout 537 +stderr 537 +stdout 538 +stderr 538 +stdout 539 +stderr 539 +stdout 540 +stderr 540 +stdout 541 +stderr 541 +stdout 542 +stderr 542 +stdout 543 +stderr 543 +stdout 544 +stderr 544 +stdout 545 +stderr 545 +stdout 546 +stderr 546 +stdout 547 +stderr 547 +stdout 548 +stderr 548 +stdout 549 +stderr 549 +stdout 550 +stderr 550 +stdout 551 +stderr 551 +stdout 552 +stderr 552 +stdout 553 +stderr 553 +stdout 554 +stderr 554 +stdout 555 +stderr 555 +stdout 556 +stderr 556 +stdout 557 +stderr 557 +stdout 558 +stderr 558 +stdout 559 +stderr 559 +stdout 560 +stderr 560 +stdout 561 +stderr 561 +stdout 562 +stderr 562 +stdout 563 +stderr 563 +stdout 564 +stderr 564 +stdout 565 +stderr 565 +stdout 566 +stderr 566 +stdout 567 +stderr 567 +stdout 568 +stderr 568 +stdout 569 +stderr 569 +stdout 570 +stderr 570 +stdout 571 +stderr 571 +stdout 572 +stderr 572 +stdout 573 +stderr 573 +stdout 574 +stderr 574 +stdout 575 +stderr 575 +stdout 576 +stderr 576 +stdout 577 +stderr 577 +stdout 578 +stderr 578 +stdout 579 +stderr 579 +stdout 580 +stderr 580 +stdout 581 +stderr 581 +stdout 582 +stderr 582 +stdout 583 +stderr 583 +stdout 584 +stderr 584 +stdout 585 +stderr 585 +stdout 586 +stderr 586 +stdout 587 +stderr 587 +stdout 588 +stderr 588 +stdout 589 +stderr 589 +stdout 590 +stderr 590 +stdout 591 +stderr 591 +stdout 592 +stderr 592 +stdout 593 +stderr 593 +stdout 594 +stderr 594 +stdout 595 +stderr 595 +stdout 596 +stderr 596 +stdout 597 +stderr 597 +stdout 598 +stderr 598 +stdout 599 +stderr 599 +stdout 600 +stderr 600 +stdout 601 +stderr 601 +stdout 602 +stderr 602 +stdout 603 +stderr 603 +stdout 604 +stderr 604 +stdout 605 +stderr 605 +stdout 606 +stderr 606 +stdout 607 +stderr 607 +stdout 608 +stderr 608 +stdout 609 +stderr 609 +stdout 610 +stderr 610 +stdout 611 +stderr 611 +stdout 612 +stderr 612 +stdout 613 +stderr 613 +stdout 614 +stderr 614 +stdout 615 +stderr 615 +stdout 616 +stderr 616 +stdout 617 +stderr 617 +stdout 618 +stderr 618 +stdout 619 +stderr 619 +stdout 620 +stderr 620 +stdout 621 +stderr 621 +stdout 622 +stderr 622 +stdout 623 +stderr 623 +stdout 624 +stderr 624 +stdout 625 +stderr 625 +stdout 626 +stderr 626 +stdout 627 +stderr 627 +stdout 628 +stderr 628 +stdout 629 +stderr 629 +stdout 630 +stderr 630 +stdout 631 +stderr 631 +stdout 632 +stderr 632 +stdout 633 +stderr 633 +stdout 634 +stderr 634 +stdout 635 +stderr 635 +stdout 636 +stderr 636 +stdout 637 +stderr 637 +stdout 638 +stderr 638 +stdout 639 +stderr 639 +stdout 640 +stderr 640 +stdout 641 +stderr 641 +stdout 642 +stderr 642 +stdout 643 +stderr 643 +stdout 644 +stderr 644 +stdout 645 +stderr 645 +stdout 646 +stderr 646 +stdout 647 +stderr 647 +stdout 648 +stderr 648 +stdout 649 +stderr 649 +stdout 650 +stderr 650 +stdout 651 +stderr 651 +stdout 652 +stderr 652 +stdout 653 +stderr 653 +stdout 654 +stderr 654 +stdout 655 +stderr 655 +stdout 656 +stderr 656 +stdout 657 +stderr 657 +stdout 658 +stderr 658 +stdout 659 +stderr 659 +stdout 660 +stderr 660 +stdout 661 +stderr 661 +stdout 662 +stderr 662 +stdout 663 +stderr 663 +stdout 664 +stderr 664 +stdout 665 +stderr 665 +stdout 666 +stderr 666 +stdout 667 +stderr 667 +stdout 668 +stderr 668 +stdout 669 +stderr 669 +stdout 670 +stderr 670 +stdout 671 +stderr 671 +stdout 672 +stderr 672 +stdout 673 +stderr 673 +stdout 674 +stderr 674 +stdout 675 +stderr 675 +stdout 676 +stderr 676 +stdout 677 +stderr 677 +stdout 678 +stderr 678 +stdout 679 +stderr 679 +stdout 680 +stderr 680 +stdout 681 +stderr 681 +stdout 682 +stderr 682 +stdout 683 +stderr 683 +stdout 684 +stderr 684 +stdout 685 +stderr 685 +stdout 686 +stderr 686 +stdout 687 +stderr 687 +stdout 688 +stderr 688 +stdout 689 +stderr 689 +stdout 690 +stderr 690 +stdout 691 +stderr 691 +stdout 692 +stderr 692 +stdout 693 +stderr 693 +stdout 694 +stderr 694 +stdout 695 +stderr 695 +stdout 696 +stderr 696 +stdout 697 +stderr 697 +stdout 698 +stderr 698 +stdout 699 +stderr 699 +stdout 700 +stderr 700 +stdout 701 +stderr 701 +stdout 702 +stderr 702 +stdout 703 +stderr 703 +stdout 704 +stderr 704 +stdout 705 +stderr 705 +stdout 706 +stderr 706 +stdout 707 +stderr 707 +stdout 708 +stderr 708 +stdout 709 +stderr 709 +stdout 710 +stderr 710 +stdout 711 +stderr 711 +stdout 712 +stderr 712 +stdout 713 +stderr 713 +stdout 714 +stderr 714 +stdout 715 +stderr 715 +stdout 716 +stderr 716 +stdout 717 +stderr 717 +stdout 718 +stderr 718 +stdout 719 +stderr 719 +stdout 720 +stderr 720 +stdout 721 +stderr 721 +stdout 722 +stderr 722 +stdout 723 +stderr 723 +stdout 724 +stderr 724 +stdout 725 +stderr 725 +stdout 726 +stderr 726 +stdout 727 +stderr 727 +stdout 728 +stderr 728 +stdout 729 +stderr 729 +stdout 730 +stderr 730 +stdout 731 +stderr 731 +stdout 732 +stderr 732 +stdout 733 +stderr 733 +stdout 734 +stderr 734 +stdout 735 +stderr 735 +stdout 736 +stderr 736 +stdout 737 +stderr 737 +stdout 738 +stderr 738 +stdout 739 +stderr 739 +stdout 740 +stderr 740 +stdout 741 +stderr 741 +stdout 742 +stderr 742 +stdout 743 +stderr 743 +stdout 744 +stderr 744 +stdout 745 +stderr 745 +stdout 746 +stderr 746 +stdout 747 +stderr 747 +stdout 748 +stderr 748 +stdout 749 +stderr 749 +stdout 750 +stderr 750 +stdout 751 +stderr 751 +stdout 752 +stderr 752 +stdout 753 +stderr 753 +stdout 754 +stderr 754 +stdout 755 +stderr 755 +stdout 756 +stderr 756 +stdout 757 +stderr 757 +stdout 758 +stderr 758 +stdout 759 +stderr 759 +stdout 760 +stderr 760 +stdout 761 +stderr 761 +stdout 762 +stderr 762 +stdout 763 +stderr 763 +stdout 764 +stderr 764 +stdout 765 +stderr 765 +stdout 766 +stderr 766 +stdout 767 +stderr 767 +stdout 768 +stderr 768 +stdout 769 +stderr 769 +stdout 770 +stderr 770 +stdout 771 +stderr 771 +stdout 772 +stderr 772 +stdout 773 +stderr 773 +stdout 774 +stderr 774 +stdout 775 +stderr 775 +stdout 776 +stderr 776 +stdout 777 +stderr 777 +stdout 778 +stderr 778 +stdout 779 +stderr 779 +stdout 780 +stderr 780 +stdout 781 +stderr 781 +stdout 782 +stderr 782 +stdout 783 +stderr 783 +stdout 784 +stderr 784 +stdout 785 +stderr 785 +stdout 786 +stderr 786 +stdout 787 +stderr 787 +stdout 788 +stderr 788 +stdout 789 +stderr 789 +stdout 790 +stderr 790 +stdout 791 +stderr 791 +stdout 792 +stderr 792 +stdout 793 +stderr 793 +stdout 794 +stderr 794 +stdout 795 +stderr 795 +stdout 796 +stderr 796 +stdout 797 +stderr 797 +stdout 798 +stderr 798 +stdout 799 +stderr 799 +stdout 800 +stderr 800 +stdout 801 +stderr 801 +stdout 802 +stderr 802 +stdout 803 +stderr 803 +stdout 804 +stderr 804 +stdout 805 +stderr 805 +stdout 806 +stderr 806 +stdout 807 +stderr 807 +stdout 808 +stderr 808 +stdout 809 +stderr 809 +stdout 810 +stderr 810 +stdout 811 +stderr 811 +stdout 812 +stderr 812 +stdout 813 +stderr 813 +stdout 814 +stderr 814 +stdout 815 +stderr 815 +stdout 816 +stderr 816 +stdout 817 +stderr 817 +stdout 818 +stderr 818 +stdout 819 +stderr 819 +stdout 820 +stderr 820 +stdout 821 +stderr 821 +stdout 822 +stderr 822 +stdout 823 +stderr 823 +stdout 824 +stderr 824 +stdout 825 +stderr 825 +stdout 826 +stderr 826 +stdout 827 +stderr 827 +stdout 828 +stderr 828 +stdout 829 +stderr 829 +stdout 830 +stderr 830 +stdout 831 +stderr 831 +stdout 832 +stderr 832 +stdout 833 +stderr 833 +stdout 834 +stderr 834 +stdout 835 +stderr 835 +stdout 836 +stderr 836 +stdout 837 +stderr 837 +stdout 838 +stderr 838 +stdout 839 +stderr 839 +stdout 840 +stderr 840 +stdout 841 +stderr 841 +stdout 842 +stderr 842 +stdout 843 +stderr 843 +stdout 844 +stderr 844 +stdout 845 +stderr 845 +stdout 846 +stderr 846 +stdout 847 +stderr 847 +stdout 848 +stderr 848 +stdout 849 +stderr 849 +stdout 850 +stderr 850 +stdout 851 +stderr 851 +stdout 852 +stderr 852 +stdout 853 +stderr 853 +stdout 854 +stderr 854 +stdout 855 +stderr 855 +stdout 856 +stderr 856 +stdout 857 +stderr 857 +stdout 858 +stderr 858 +stdout 859 +stderr 859 +stdout 860 +stderr 860 +stdout 861 +stderr 861 +stdout 862 +stderr 862 +stdout 863 +stderr 863 +stdout 864 +stderr 864 +stdout 865 +stderr 865 +stdout 866 +stderr 866 +stdout 867 +stderr 867 +stdout 868 +stderr 868 +stdout 869 +stderr 869 +stdout 870 +stderr 870 +stdout 871 +stderr 871 +stdout 872 +stderr 872 +stdout 873 +stderr 873 +stdout 874 +stderr 874 +stdout 875 +stderr 875 +stdout 876 +stderr 876 +stdout 877 +stderr 877 +stdout 878 +stderr 878 +stdout 879 +stderr 879 +stdout 880 +stderr 880 +stdout 881 +stderr 881 +stdout 882 +stderr 882 +stdout 883 +stderr 883 +stdout 884 +stderr 884 +stdout 885 +stderr 885 +stdout 886 +stderr 886 +stdout 887 +stderr 887 +stdout 888 +stderr 888 +stdout 889 +stderr 889 +stdout 890 +stderr 890 +stdout 891 +stderr 891 +stdout 892 +stderr 892 +stdout 893 +stderr 893 +stdout 894 +stderr 894 +stdout 895 +stderr 895 +stdout 896 +stderr 896 +stdout 897 +stderr 897 +stdout 898 +stderr 898 +stdout 899 +stderr 899 +stdout 900 +stderr 900 +stdout 901 +stderr 901 +stdout 902 +stderr 902 +stdout 903 +stderr 903 +stdout 904 +stderr 904 +stdout 905 +stderr 905 +stdout 906 +stderr 906 +stdout 907 +stderr 907 +stdout 908 +stderr 908 +stdout 909 +stderr 909 +stdout 910 +stderr 910 +stdout 911 +stderr 911 +stdout 912 +stderr 912 +stdout 913 +stderr 913 +stdout 914 +stderr 914 +stdout 915 +stderr 915 +stdout 916 +stderr 916 +stdout 917 +stderr 917 +stdout 918 +stderr 918 +stdout 919 +stderr 919 +stdout 920 +stderr 920 +stdout 921 +stderr 921 +stdout 922 +stderr 922 +stdout 923 +stderr 923 +stdout 924 +stderr 924 +stdout 925 +stderr 925 +stdout 926 +stderr 926 +stdout 927 +stderr 927 +stdout 928 +stderr 928 +stdout 929 +stderr 929 +stdout 930 +stderr 930 +stdout 931 +stderr 931 +stdout 932 +stderr 932 +stdout 933 +stderr 933 +stdout 934 +stderr 934 +stdout 935 +stderr 935 +stdout 936 +stderr 936 +stdout 937 +stderr 937 +stdout 938 +stderr 938 +stdout 939 +stderr 939 +stdout 940 +stderr 940 +stdout 941 +stderr 941 +stdout 942 +stderr 942 +stdout 943 +stderr 943 +stdout 944 +stderr 944 +stdout 945 +stderr 945 +stdout 946 +stderr 946 +stdout 947 +stderr 947 +stdout 948 +stderr 948 +stdout 949 +stderr 949 +stdout 950 +stderr 950 +stdout 951 +stderr 951 +stdout 952 +stderr 952 +stdout 953 +stderr 953 +stdout 954 +stderr 954 +stdout 955 +stderr 955 +stdout 956 +stderr 956 +stdout 957 +stderr 957 +stdout 958 +stderr 958 +stdout 959 +stderr 959 +stdout 960 +stderr 960 +stdout 961 +stderr 961 +stdout 962 +stderr 962 +stdout 963 +stderr 963 +stdout 964 +stderr 964 +stdout 965 +stderr 965 +stdout 966 +stderr 966 +stdout 967 +stderr 967 +stdout 968 +stderr 968 +stdout 969 +stderr 969 +stdout 970 +stderr 970 +stdout 971 +stderr 971 +stdout 972 +stderr 972 +stdout 973 +stderr 973 +stdout 974 +stderr 974 +stdout 975 +stderr 975 +stdout 976 +stderr 976 +stdout 977 +stderr 977 +stdout 978 +stderr 978 +stdout 979 +stderr 979 +stdout 980 +stderr 980 +stdout 981 +stderr 981 +stdout 982 +stderr 982 +stdout 983 +stderr 983 +stdout 984 +stderr 984 +stdout 985 +stderr 985 +stdout 986 +stderr 986 +stdout 987 +stderr 987 +stdout 988 +stderr 988 +stdout 989 +stderr 989 +stdout 990 +stderr 990 +stdout 991 +stderr 991 +stdout 992 +stderr 992 +stdout 993 +stderr 993 +stdout 994 +stderr 994 +stdout 995 +stderr 995 +stdout 996 +stderr 996 +stdout 997 +stderr 997 +stdout 998 +stderr 998 +stdout 999 +stderr 999 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout.txt b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout.txt new file mode 100644 index 0000000..d3649d0 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout.txt @@ -0,0 +1,1000 @@ +stdout 0 +stdout 1 +stdout 2 +stdout 3 +stdout 4 +stdout 5 +stdout 6 +stdout 7 +stdout 8 +stdout 9 +stdout 10 +stdout 11 +stdout 12 +stdout 13 +stdout 14 +stdout 15 +stdout 16 +stdout 17 +stdout 18 +stdout 19 +stdout 20 +stdout 21 +stdout 22 +stdout 23 +stdout 24 +stdout 25 +stdout 26 +stdout 27 +stdout 28 +stdout 29 +stdout 30 +stdout 31 +stdout 32 +stdout 33 +stdout 34 +stdout 35 +stdout 36 +stdout 37 +stdout 38 +stdout 39 +stdout 40 +stdout 41 +stdout 42 +stdout 43 +stdout 44 +stdout 45 +stdout 46 +stdout 47 +stdout 48 +stdout 49 +stdout 50 +stdout 51 +stdout 52 +stdout 53 +stdout 54 +stdout 55 +stdout 56 +stdout 57 +stdout 58 +stdout 59 +stdout 60 +stdout 61 +stdout 62 +stdout 63 +stdout 64 +stdout 65 +stdout 66 +stdout 67 +stdout 68 +stdout 69 +stdout 70 +stdout 71 +stdout 72 +stdout 73 +stdout 74 +stdout 75 +stdout 76 +stdout 77 +stdout 78 +stdout 79 +stdout 80 +stdout 81 +stdout 82 +stdout 83 +stdout 84 +stdout 85 +stdout 86 +stdout 87 +stdout 88 +stdout 89 +stdout 90 +stdout 91 +stdout 92 +stdout 93 +stdout 94 +stdout 95 +stdout 96 +stdout 97 +stdout 98 +stdout 99 +stdout 100 +stdout 101 +stdout 102 +stdout 103 +stdout 104 +stdout 105 +stdout 106 +stdout 107 +stdout 108 +stdout 109 +stdout 110 +stdout 111 +stdout 112 +stdout 113 +stdout 114 +stdout 115 +stdout 116 +stdout 117 +stdout 118 +stdout 119 +stdout 120 +stdout 121 +stdout 122 +stdout 123 +stdout 124 +stdout 125 +stdout 126 +stdout 127 +stdout 128 +stdout 129 +stdout 130 +stdout 131 +stdout 132 +stdout 133 +stdout 134 +stdout 135 +stdout 136 +stdout 137 +stdout 138 +stdout 139 +stdout 140 +stdout 141 +stdout 142 +stdout 143 +stdout 144 +stdout 145 +stdout 146 +stdout 147 +stdout 148 +stdout 149 +stdout 150 +stdout 151 +stdout 152 +stdout 153 +stdout 154 +stdout 155 +stdout 156 +stdout 157 +stdout 158 +stdout 159 +stdout 160 +stdout 161 +stdout 162 +stdout 163 +stdout 164 +stdout 165 +stdout 166 +stdout 167 +stdout 168 +stdout 169 +stdout 170 +stdout 171 +stdout 172 +stdout 173 +stdout 174 +stdout 175 +stdout 176 +stdout 177 +stdout 178 +stdout 179 +stdout 180 +stdout 181 +stdout 182 +stdout 183 +stdout 184 +stdout 185 +stdout 186 +stdout 187 +stdout 188 +stdout 189 +stdout 190 +stdout 191 +stdout 192 +stdout 193 +stdout 194 +stdout 195 +stdout 196 +stdout 197 +stdout 198 +stdout 199 +stdout 200 +stdout 201 +stdout 202 +stdout 203 +stdout 204 +stdout 205 +stdout 206 +stdout 207 +stdout 208 +stdout 209 +stdout 210 +stdout 211 +stdout 212 +stdout 213 +stdout 214 +stdout 215 +stdout 216 +stdout 217 +stdout 218 +stdout 219 +stdout 220 +stdout 221 +stdout 222 +stdout 223 +stdout 224 +stdout 225 +stdout 226 +stdout 227 +stdout 228 +stdout 229 +stdout 230 +stdout 231 +stdout 232 +stdout 233 +stdout 234 +stdout 235 +stdout 236 +stdout 237 +stdout 238 +stdout 239 +stdout 240 +stdout 241 +stdout 242 +stdout 243 +stdout 244 +stdout 245 +stdout 246 +stdout 247 +stdout 248 +stdout 249 +stdout 250 +stdout 251 +stdout 252 +stdout 253 +stdout 254 +stdout 255 +stdout 256 +stdout 257 +stdout 258 +stdout 259 +stdout 260 +stdout 261 +stdout 262 +stdout 263 +stdout 264 +stdout 265 +stdout 266 +stdout 267 +stdout 268 +stdout 269 +stdout 270 +stdout 271 +stdout 272 +stdout 273 +stdout 274 +stdout 275 +stdout 276 +stdout 277 +stdout 278 +stdout 279 +stdout 280 +stdout 281 +stdout 282 +stdout 283 +stdout 284 +stdout 285 +stdout 286 +stdout 287 +stdout 288 +stdout 289 +stdout 290 +stdout 291 +stdout 292 +stdout 293 +stdout 294 +stdout 295 +stdout 296 +stdout 297 +stdout 298 +stdout 299 +stdout 300 +stdout 301 +stdout 302 +stdout 303 +stdout 304 +stdout 305 +stdout 306 +stdout 307 +stdout 308 +stdout 309 +stdout 310 +stdout 311 +stdout 312 +stdout 313 +stdout 314 +stdout 315 +stdout 316 +stdout 317 +stdout 318 +stdout 319 +stdout 320 +stdout 321 +stdout 322 +stdout 323 +stdout 324 +stdout 325 +stdout 326 +stdout 327 +stdout 328 +stdout 329 +stdout 330 +stdout 331 +stdout 332 +stdout 333 +stdout 334 +stdout 335 +stdout 336 +stdout 337 +stdout 338 +stdout 339 +stdout 340 +stdout 341 +stdout 342 +stdout 343 +stdout 344 +stdout 345 +stdout 346 +stdout 347 +stdout 348 +stdout 349 +stdout 350 +stdout 351 +stdout 352 +stdout 353 +stdout 354 +stdout 355 +stdout 356 +stdout 357 +stdout 358 +stdout 359 +stdout 360 +stdout 361 +stdout 362 +stdout 363 +stdout 364 +stdout 365 +stdout 366 +stdout 367 +stdout 368 +stdout 369 +stdout 370 +stdout 371 +stdout 372 +stdout 373 +stdout 374 +stdout 375 +stdout 376 +stdout 377 +stdout 378 +stdout 379 +stdout 380 +stdout 381 +stdout 382 +stdout 383 +stdout 384 +stdout 385 +stdout 386 +stdout 387 +stdout 388 +stdout 389 +stdout 390 +stdout 391 +stdout 392 +stdout 393 +stdout 394 +stdout 395 +stdout 396 +stdout 397 +stdout 398 +stdout 399 +stdout 400 +stdout 401 +stdout 402 +stdout 403 +stdout 404 +stdout 405 +stdout 406 +stdout 407 +stdout 408 +stdout 409 +stdout 410 +stdout 411 +stdout 412 +stdout 413 +stdout 414 +stdout 415 +stdout 416 +stdout 417 +stdout 418 +stdout 419 +stdout 420 +stdout 421 +stdout 422 +stdout 423 +stdout 424 +stdout 425 +stdout 426 +stdout 427 +stdout 428 +stdout 429 +stdout 430 +stdout 431 +stdout 432 +stdout 433 +stdout 434 +stdout 435 +stdout 436 +stdout 437 +stdout 438 +stdout 439 +stdout 440 +stdout 441 +stdout 442 +stdout 443 +stdout 444 +stdout 445 +stdout 446 +stdout 447 +stdout 448 +stdout 449 +stdout 450 +stdout 451 +stdout 452 +stdout 453 +stdout 454 +stdout 455 +stdout 456 +stdout 457 +stdout 458 +stdout 459 +stdout 460 +stdout 461 +stdout 462 +stdout 463 +stdout 464 +stdout 465 +stdout 466 +stdout 467 +stdout 468 +stdout 469 +stdout 470 +stdout 471 +stdout 472 +stdout 473 +stdout 474 +stdout 475 +stdout 476 +stdout 477 +stdout 478 +stdout 479 +stdout 480 +stdout 481 +stdout 482 +stdout 483 +stdout 484 +stdout 485 +stdout 486 +stdout 487 +stdout 488 +stdout 489 +stdout 490 +stdout 491 +stdout 492 +stdout 493 +stdout 494 +stdout 495 +stdout 496 +stdout 497 +stdout 498 +stdout 499 +stdout 500 +stdout 501 +stdout 502 +stdout 503 +stdout 504 +stdout 505 +stdout 506 +stdout 507 +stdout 508 +stdout 509 +stdout 510 +stdout 511 +stdout 512 +stdout 513 +stdout 514 +stdout 515 +stdout 516 +stdout 517 +stdout 518 +stdout 519 +stdout 520 +stdout 521 +stdout 522 +stdout 523 +stdout 524 +stdout 525 +stdout 526 +stdout 527 +stdout 528 +stdout 529 +stdout 530 +stdout 531 +stdout 532 +stdout 533 +stdout 534 +stdout 535 +stdout 536 +stdout 537 +stdout 538 +stdout 539 +stdout 540 +stdout 541 +stdout 542 +stdout 543 +stdout 544 +stdout 545 +stdout 546 +stdout 547 +stdout 548 +stdout 549 +stdout 550 +stdout 551 +stdout 552 +stdout 553 +stdout 554 +stdout 555 +stdout 556 +stdout 557 +stdout 558 +stdout 559 +stdout 560 +stdout 561 +stdout 562 +stdout 563 +stdout 564 +stdout 565 +stdout 566 +stdout 567 +stdout 568 +stdout 569 +stdout 570 +stdout 571 +stdout 572 +stdout 573 +stdout 574 +stdout 575 +stdout 576 +stdout 577 +stdout 578 +stdout 579 +stdout 580 +stdout 581 +stdout 582 +stdout 583 +stdout 584 +stdout 585 +stdout 586 +stdout 587 +stdout 588 +stdout 589 +stdout 590 +stdout 591 +stdout 592 +stdout 593 +stdout 594 +stdout 595 +stdout 596 +stdout 597 +stdout 598 +stdout 599 +stdout 600 +stdout 601 +stdout 602 +stdout 603 +stdout 604 +stdout 605 +stdout 606 +stdout 607 +stdout 608 +stdout 609 +stdout 610 +stdout 611 +stdout 612 +stdout 613 +stdout 614 +stdout 615 +stdout 616 +stdout 617 +stdout 618 +stdout 619 +stdout 620 +stdout 621 +stdout 622 +stdout 623 +stdout 624 +stdout 625 +stdout 626 +stdout 627 +stdout 628 +stdout 629 +stdout 630 +stdout 631 +stdout 632 +stdout 633 +stdout 634 +stdout 635 +stdout 636 +stdout 637 +stdout 638 +stdout 639 +stdout 640 +stdout 641 +stdout 642 +stdout 643 +stdout 644 +stdout 645 +stdout 646 +stdout 647 +stdout 648 +stdout 649 +stdout 650 +stdout 651 +stdout 652 +stdout 653 +stdout 654 +stdout 655 +stdout 656 +stdout 657 +stdout 658 +stdout 659 +stdout 660 +stdout 661 +stdout 662 +stdout 663 +stdout 664 +stdout 665 +stdout 666 +stdout 667 +stdout 668 +stdout 669 +stdout 670 +stdout 671 +stdout 672 +stdout 673 +stdout 674 +stdout 675 +stdout 676 +stdout 677 +stdout 678 +stdout 679 +stdout 680 +stdout 681 +stdout 682 +stdout 683 +stdout 684 +stdout 685 +stdout 686 +stdout 687 +stdout 688 +stdout 689 +stdout 690 +stdout 691 +stdout 692 +stdout 693 +stdout 694 +stdout 695 +stdout 696 +stdout 697 +stdout 698 +stdout 699 +stdout 700 +stdout 701 +stdout 702 +stdout 703 +stdout 704 +stdout 705 +stdout 706 +stdout 707 +stdout 708 +stdout 709 +stdout 710 +stdout 711 +stdout 712 +stdout 713 +stdout 714 +stdout 715 +stdout 716 +stdout 717 +stdout 718 +stdout 719 +stdout 720 +stdout 721 +stdout 722 +stdout 723 +stdout 724 +stdout 725 +stdout 726 +stdout 727 +stdout 728 +stdout 729 +stdout 730 +stdout 731 +stdout 732 +stdout 733 +stdout 734 +stdout 735 +stdout 736 +stdout 737 +stdout 738 +stdout 739 +stdout 740 +stdout 741 +stdout 742 +stdout 743 +stdout 744 +stdout 745 +stdout 746 +stdout 747 +stdout 748 +stdout 749 +stdout 750 +stdout 751 +stdout 752 +stdout 753 +stdout 754 +stdout 755 +stdout 756 +stdout 757 +stdout 758 +stdout 759 +stdout 760 +stdout 761 +stdout 762 +stdout 763 +stdout 764 +stdout 765 +stdout 766 +stdout 767 +stdout 768 +stdout 769 +stdout 770 +stdout 771 +stdout 772 +stdout 773 +stdout 774 +stdout 775 +stdout 776 +stdout 777 +stdout 778 +stdout 779 +stdout 780 +stdout 781 +stdout 782 +stdout 783 +stdout 784 +stdout 785 +stdout 786 +stdout 787 +stdout 788 +stdout 789 +stdout 790 +stdout 791 +stdout 792 +stdout 793 +stdout 794 +stdout 795 +stdout 796 +stdout 797 +stdout 798 +stdout 799 +stdout 800 +stdout 801 +stdout 802 +stdout 803 +stdout 804 +stdout 805 +stdout 806 +stdout 807 +stdout 808 +stdout 809 +stdout 810 +stdout 811 +stdout 812 +stdout 813 +stdout 814 +stdout 815 +stdout 816 +stdout 817 +stdout 818 +stdout 819 +stdout 820 +stdout 821 +stdout 822 +stdout 823 +stdout 824 +stdout 825 +stdout 826 +stdout 827 +stdout 828 +stdout 829 +stdout 830 +stdout 831 +stdout 832 +stdout 833 +stdout 834 +stdout 835 +stdout 836 +stdout 837 +stdout 838 +stdout 839 +stdout 840 +stdout 841 +stdout 842 +stdout 843 +stdout 844 +stdout 845 +stdout 846 +stdout 847 +stdout 848 +stdout 849 +stdout 850 +stdout 851 +stdout 852 +stdout 853 +stdout 854 +stdout 855 +stdout 856 +stdout 857 +stdout 858 +stdout 859 +stdout 860 +stdout 861 +stdout 862 +stdout 863 +stdout 864 +stdout 865 +stdout 866 +stdout 867 +stdout 868 +stdout 869 +stdout 870 +stdout 871 +stdout 872 +stdout 873 +stdout 874 +stdout 875 +stdout 876 +stdout 877 +stdout 878 +stdout 879 +stdout 880 +stdout 881 +stdout 882 +stdout 883 +stdout 884 +stdout 885 +stdout 886 +stdout 887 +stdout 888 +stdout 889 +stdout 890 +stdout 891 +stdout 892 +stdout 893 +stdout 894 +stdout 895 +stdout 896 +stdout 897 +stdout 898 +stdout 899 +stdout 900 +stdout 901 +stdout 902 +stdout 903 +stdout 904 +stdout 905 +stdout 906 +stdout 907 +stdout 908 +stdout 909 +stdout 910 +stdout 911 +stdout 912 +stdout 913 +stdout 914 +stdout 915 +stdout 916 +stdout 917 +stdout 918 +stdout 919 +stdout 920 +stdout 921 +stdout 922 +stdout 923 +stdout 924 +stdout 925 +stdout 926 +stdout 927 +stdout 928 +stdout 929 +stdout 930 +stdout 931 +stdout 932 +stdout 933 +stdout 934 +stdout 935 +stdout 936 +stdout 937 +stdout 938 +stdout 939 +stdout 940 +stdout 941 +stdout 942 +stdout 943 +stdout 944 +stdout 945 +stdout 946 +stdout 947 +stdout 948 +stdout 949 +stdout 950 +stdout 951 +stdout 952 +stdout 953 +stdout 954 +stdout 955 +stdout 956 +stdout 957 +stdout 958 +stdout 959 +stdout 960 +stdout 961 +stdout 962 +stdout 963 +stdout 964 +stdout 965 +stdout 966 +stdout 967 +stdout 968 +stdout 969 +stdout 970 +stdout 971 +stdout 972 +stdout 973 +stdout 974 +stdout 975 +stdout 976 +stdout 977 +stdout 978 +stdout 979 +stdout 980 +stdout 981 +stdout 982 +stdout 983 +stdout 984 +stdout 985 +stdout 986 +stdout 987 +stdout 988 +stdout 989 +stdout 990 +stdout 991 +stdout 992 +stdout 993 +stdout 994 +stdout 995 +stdout 996 +stdout 997 +stdout 998 +stdout 999 diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/create-files.sh b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/create-files.sh new file mode 100644 index 0000000..6a526de --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/create-files.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +rm 10*.txt +for n in 10 100 1000; do + node log.js 0 $n stdout stderr &> $n-stdout-stderr.txt + node log.js 0 $n stdout &> $n-stdout.txt + node log.js 0 $n stderr &> $n-stderr.txt +done diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js new file mode 100644 index 0000000..74c8f12 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js @@ -0,0 +1,23 @@ +var errorCode = process.argv[2]; +var max = process.argv[3]; +var modes = process.argv.slice(4); + +function stdout(message) { + if (modes.indexOf('stdout') === -1) { return; } + process.stdout.write('stdout ' + message + '\n'); +} + +function stderr(message) { + if (modes.indexOf('stderr') === -1) { return; } + process.stderr.write('stderr ' + message + '\n'); +} + +for (var i = 0; i < max; i++) { + stdout(i); + stderr(i); +} + +process.exit(errorCode); + +stdout('fail'); +stderr('fail'); diff --git a/static/js/node_modules/grunt/node_modules/exit/test/fixtures/log.js b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/log.js new file mode 100644 index 0000000..8a9ed9a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/exit/test/fixtures/log.js @@ -0,0 +1,25 @@ +var exit = require('../../lib/exit'); + +var errorCode = process.argv[2]; +var max = process.argv[3]; +var modes = process.argv.slice(4); + +function stdout(message) { + if (modes.indexOf('stdout') === -1) { return; } + process.stdout.write('stdout ' + message + '\n'); +} + +function stderr(message) { + if (modes.indexOf('stderr') === -1) { return; } + process.stderr.write('stderr ' + message + '\n'); +} + +for (var i = 0; i < max; i++) { + stdout(i); + stderr(i); +} + +exit(errorCode); + +stdout('fail'); +stderr('fail'); diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/.jshintrc b/static/js/node_modules/grunt/node_modules/findup-sync/.jshintrc new file mode 100644 index 0000000..6d171b8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/.jshintrc @@ -0,0 +1,16 @@ +{ + "loopfunc": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "unused": true, + "boss": true, + "eqnull": true, + "node": true, + "es5": true +} diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/.npmignore b/static/js/node_modules/grunt/node_modules/findup-sync/.npmignore new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/Gruntfile.js b/static/js/node_modules/grunt/node_modules/findup-sync/Gruntfile.js new file mode 100644 index 0000000..2f964a5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/Gruntfile.js @@ -0,0 +1,25 @@ +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + nodeunit: { + files: ['test/**/*_test.js'], + }, + jshint: { + options: { + jshintrc: '.jshintrc' + }, + all: ['Gruntfile.js', 'lib/**/*.js', 'test/**/*.js'] + } + }); + + // Load plugins. + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + + // Default task. + grunt.registerTask('default', ['jshint', 'nodeunit']); + +}; diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/LICENSE-MIT b/static/js/node_modules/grunt/node_modules/findup-sync/LICENSE-MIT new file mode 100644 index 0000000..bb2aad6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2013 "Cowboy" Ben Alman + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/README.md b/static/js/node_modules/grunt/node_modules/findup-sync/README.md new file mode 100644 index 0000000..3b08b4e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/README.md @@ -0,0 +1,44 @@ +# findup-sync + +Find the first file matching a given pattern in the current directory or the nearest ancestor directory. + +## Getting Started +Install the module with: `npm install findup-sync` + +```js +var findup = require('findup-sync'); + +// Start looking in the CWD. +var filepath1 = findup('{a,b}*.txt'); + +// Start looking somewhere else, and ignore case (probably a good idea). +var filepath2 = findup('{a,b}*.txt', {cwd: '/some/path', nocase: true}); +``` + +## Usage + +```js +findup(patternOrPatterns [, minimatchOptions]) +``` + +### patternOrPatterns +Type: `String` or `Array` +Default: none + +One or more wildcard glob patterns. Or just filenames. + +### minimatchOptions +Type: `Object` +Default: `{}` + +Options to be passed to [minimatch](https://github.com/isaacs/minimatch). + +Note that if you want to start in a different directory than the current working directory, specify a `cwd` property here. + +## Contributing +In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/). + +## Release History +2013-03-08 - v0.1.2 - Updated dependencies. Fixed a Node 0.9.x bug. Updated unit tests to work cross-platform. +2012-11-15 - v0.1.1 - Now works without an options object. +2012-11-01 - v0.1.0 - Initial release. diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js b/static/js/node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js new file mode 100644 index 0000000..742a478 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js @@ -0,0 +1,46 @@ +/* + * findup-sync + * https://github.com/cowboy/node-findup-sync + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + */ + +'use strict'; + +// Nodejs libs. +var path = require('path'); + +// External libs. +var glob = require('glob'); +var _ = require('lodash'); + +// Search for a filename in the given directory or all parent directories. +module.exports = function(patterns, options) { + // Normalize patterns to an array. + if (!Array.isArray(patterns)) { patterns = [patterns]; } + // Create globOptions so that it can be modified without mutating the + // original object. + var globOptions = Object.create(options || {}); + globOptions.maxDepth = 1; + globOptions.cwd = path.resolve(globOptions.cwd || '.'); + + var files, lastpath; + do { + // Search for files matching patterns. + files = _(patterns).map(function(pattern) { + return glob.sync(pattern, globOptions); + }).flatten().uniq().value(); + // Return file if found. + if (files.length > 0) { + return path.resolve(path.join(globOptions.cwd, files[0])); + } + // Go up a directory. + lastpath = globOptions.cwd; + globOptions.cwd = path.resolve(globOptions.cwd, '..'); + // If parentpath is the same as basedir, we can't go any higher. + } while (globOptions.cwd !== lastpath); + + // No files were found! + return null; +}; diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/README.md b/static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/README.md new file mode 100644 index 0000000..cac2c65 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/README.md @@ -0,0 +1,164 @@ +# Lo-Dash v1.0.1 + +A utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features). + +## Download + +* Lo-Dash builds (for modern environments):
        +[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.js) and +[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.min.js) + +* Lo-Dash compatibility builds (for legacy and modern environments):
        +[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.js) and +[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.min.js) + +* Underscore compatibility builds:
        +[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.js) and +[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.min.js) + +* CDN copies of ≤ v1.0.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):
        +[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.js), +[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.min.js),
        +[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.js), +[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.min.js),
        +[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.js), and +[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.min.js) + +* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need + +## Dive in + +We’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests). + +For a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap). + +## Resources + +For more information check out these articles, screencasts, and other videos over Lo-Dash: + + * Posts + - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/) + + * Videos + - [Introducing Lo-Dash](https://vimeo.com/44154599) + - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601) + - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600) + - [Unit testing in Lo-Dash](https://vimeo.com/45865290) + - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012) + - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk) + +## Features + + * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.) + * [_(…)](http://lodash.com/docs#_) supports intuitive chaining + * [_.at](http://lodash.com/docs#at) for cherry-picking collection values + * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods + * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects + * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument + * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early + * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties + * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties + * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor + * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend) + * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding + * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * [_.where](http://lodash.com/docs#where) supports deep object comparisons + * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick), + [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments + * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray), + [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings + * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map), + [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands + +## Support + +Lo-Dash has been tested in at least Chrome 5~24, Firefox 1~18, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.20, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5. + +## Installation and usage + +In browsers: + +```html + +``` + +Using [`npm`](http://npmjs.org/): + +```bash +npm install lodash + +npm install -g lodash +npm link lodash +``` + +To avoid potential issues, update `npm` before installing Lo-Dash: + +```bash +npm install npm -g +``` + +In [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/): + +```js +var _ = require('lodash'); + +// or as a drop-in replacement for Underscore +var _ = require('lodash/lodash.underscore'); +``` + +**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it. + +In [RingoJS v0.7.0-](http://ringojs.org/): + +```js +var _ = require('lodash')._; +``` + +In [Rhino](http://www.mozilla.org/rhino/): + +```js +load('lodash.js'); +``` + +In an AMD loader like [RequireJS](http://requirejs.org/): + +```js +require({ + 'paths': { + 'underscore': 'path/to/lodash' + } +}, +['underscore'], function(_) { + console.log(_.VERSION); +}); +``` + +## Release Notes + +### v1.0.1 + + * Add support for specifying source map URLs in `-p`/`--source-map` build options + * Ensured the second argument passed to `_.assign` is not treated as a `callback` + * Ensured `-p`/`--source-map` build options correctly set the `sourceMappingURL` + * Made `-p`/`--source-map` build options set source map *“sources”* keys based on the builds performed + * Made `_.defer` use `setImmediate`, in Node.js, when available + * Made `_.where` search arrays for values regardless of their index position + * Removed dead code from `_.template` + +The full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog). + +## BestieJS + +Lo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation. + +## Author + +| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") | +|---| +| [John-David Dalton](http://allyoucanleet.com/) | + +## Contributors + +| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") | +|---|---|---| +| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) | diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js b/static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js new file mode 100644 index 0000000..37ebc92 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js @@ -0,0 +1,5152 @@ +/** + * @license + * Lo-Dash 1.0.1 (Custom Build) + * Build: `lodash -o ./dist/lodash.compat.js` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.4.4 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. + * Available under MIT license + */ +;(function(window, undefined) { + + /** Detect free variable `exports` */ + var freeExports = typeof exports == 'object' && exports; + + /** Detect free variable `module` */ + var freeModule = typeof module == 'object' && module && module.exports == freeExports && module; + + /** Detect free variable `global` and use it as `window` */ + var freeGlobal = typeof global == 'object' && global; + if (freeGlobal.global === freeGlobal) { + window = freeGlobal; + } + + /** Used for array and object method references */ + var arrayRef = [], + objectRef = {}; + + /** Used to generate unique IDs */ + var idCounter = 0; + + /** Used internally to indicate various things */ + var indicatorObject = objectRef; + + /** Used by `cachedContains` as the default size when optimizations are enabled for large arrays */ + var largeArraySize = 30; + + /** Used to restore the original `_` reference in `noConflict` */ + var oldDash = window._; + + /** Used to match HTML entities */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g; + + /** Used to match empty string literals in compiled template source */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match regexp flags from their coerced string values */ + var reFlags = /\w*$/; + + /** Used to detect if a method is native */ + var reNative = RegExp('^' + + (objectRef.valueOf + '') + .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + .replace(/valueOf|for [^\]]+/g, '.+?') + '$' + ); + + /** + * Used to match ES6 template delimiters + * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6 + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match "interpolate" template delimiters */ + var reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to ensure capturing order of template delimiters */ + var reNoMatch = /($^)/; + + /** Used to match HTML characters */ + var reUnescapedHtml = /[&<>"']/g; + + /** Used to match unescaped characters in compiled string literals */ + var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g; + + /** Used to fix the JScript [[DontEnum]] bug */ + var shadowed = [ + 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', + 'toLocaleString', 'toString', 'valueOf' + ]; + + /** Used to make template sourceURLs easier to identify */ + var templateCounter = 0; + + /** Native method shortcuts */ + var ceil = Math.ceil, + concat = arrayRef.concat, + floor = Math.floor, + getPrototypeOf = reNative.test(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf, + hasOwnProperty = objectRef.hasOwnProperty, + push = arrayRef.push, + toString = objectRef.toString; + + /* Native method shortcuts for methods with the same name as other `lodash` methods */ + var nativeBind = reNative.test(nativeBind = slice.bind) && nativeBind, + nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray, + nativeIsFinite = window.isFinite, + nativeIsNaN = window.isNaN, + nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys, + nativeMax = Math.max, + nativeMin = Math.min, + nativeRandom = Math.random; + + /** `Object#toString` result shortcuts */ + var argsClass = '[object Arguments]', + arrayClass = '[object Array]', + boolClass = '[object Boolean]', + dateClass = '[object Date]', + funcClass = '[object Function]', + numberClass = '[object Number]', + objectClass = '[object Object]', + regexpClass = '[object RegExp]', + stringClass = '[object String]'; + + /** Detect various environments */ + var isIeOpera = !!window.attachEvent, + isV8 = nativeBind && !/\n|true/.test(nativeBind + isIeOpera); + + /* Detect if `Function#bind` exists and is inferred to be fast (all but V8) */ + var isBindFast = nativeBind && !isV8; + + /* Detect if `Object.keys` exists and is inferred to be fast (IE, Opera, V8) */ + var isKeysFast = nativeKeys && (isIeOpera || isV8); + + /** + * Detect the JScript [[DontEnum]] bug: + * + * In IE < 9 an objects own properties, shadowing non-enumerable ones, are + * made non-enumerable as well. + */ + var hasDontEnumBug; + + /** + * Detect if a `prototype` properties are enumerable by default: + * + * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1 + * (if the prototype or a property on the prototype has been set) + * incorrectly sets a function's `prototype` property [[Enumerable]] + * value to `true`. + */ + var hasEnumPrototype; + + /** Detect if own properties are iterated after inherited properties (IE < 9) */ + var iteratesOwnLast; + + /** + * Detect if `Array#shift` and `Array#splice` augment array-like objects + * incorrectly: + * + * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()` + * and `splice()` functions that fail to remove the last element, `value[0]`, + * of array-like objects even though the `length` property is set to `0`. + * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()` + * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9. + */ + var hasObjectSpliceBug = (hasObjectSpliceBug = { '0': 1, 'length': 1 }, + arrayRef.splice.call(hasObjectSpliceBug, 0, 1), hasObjectSpliceBug[0]); + + /** Detect if `arguments` object indexes are non-enumerable (Firefox < 4, IE < 9, PhantomJS, Safari < 5.1) */ + var nonEnumArgs = true; + + (function() { + var props = []; + function ctor() { this.x = 1; } + ctor.prototype = { 'valueOf': 1, 'y': 1 }; + for (var prop in new ctor) { props.push(prop); } + for (prop in arguments) { nonEnumArgs = !prop; } + + hasDontEnumBug = !/valueOf/.test(props); + hasEnumPrototype = ctor.propertyIsEnumerable('prototype'); + iteratesOwnLast = props[0] != 'x'; + }(1)); + + /** Detect if `arguments` objects are `Object` objects (all but Opera < 10.5) */ + var argsAreObjects = arguments.constructor == Object; + + /** Detect if `arguments` objects [[Class]] is unresolvable (Firefox < 4, IE < 9) */ + var noArgsClass = !isArguments(arguments); + + /** + * Detect lack of support for accessing string characters by index: + * + * IE < 8 can't access characters by index and IE 8 can only access + * characters by index on string literals. + */ + var noCharByIndex = ('x'[0] + Object('x')[0]) != 'xx'; + + /** + * Detect if a DOM node's [[Class]] is unresolvable (IE < 9) + * and that the JS engine won't error when attempting to coerce an object to + * a string without a `toString` function. + */ + try { + var noNodeClass = toString.call(document) == objectClass && !({ 'toString': 0 } + ''); + } catch(e) { } + + /** Used to identify object classifications that `_.clone` supports */ + var cloneableClasses = {}; + cloneableClasses[funcClass] = false; + cloneableClasses[argsClass] = cloneableClasses[arrayClass] = + cloneableClasses[boolClass] = cloneableClasses[dateClass] = + cloneableClasses[numberClass] = cloneableClasses[objectClass] = + cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true; + + /** Used to lookup a built-in constructor by [[Class]] */ + var ctorByClass = {}; + ctorByClass[arrayClass] = Array; + ctorByClass[boolClass] = Boolean; + ctorByClass[dateClass] = Date; + ctorByClass[objectClass] = Object; + ctorByClass[numberClass] = Number; + ctorByClass[regexpClass] = RegExp; + ctorByClass[stringClass] = String; + + /** Used to determine if values are of the language type Object */ + var objectTypes = { + 'boolean': false, + 'function': true, + 'object': true, + 'number': false, + 'string': false, + 'undefined': false + }; + + /** Used to escape characters for inclusion in compiled string literals */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\t': 't', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object, that wraps the given `value`, to enable method + * chaining. + * + * In addition to Lo-Dash methods, wrappers also have the following `Array` methods: + * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`, + * and `unshift` + * + * The chainable wrapper functions are: + * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`, `compose`, + * `concat`, `countBy`, `debounce`, `defaults`, `defer`, `delay`, `difference`, + * `filter`, `flatten`, `forEach`, `forIn`, `forOwn`, `functions`, `groupBy`, + * `initial`, `intersection`, `invert`, `invoke`, `keys`, `map`, `max`, `memoize`, + * `merge`, `min`, `object`, `omit`, `once`, `pairs`, `partial`, `partialRight`, + * `pick`, `pluck`, `push`, `range`, `reject`, `rest`, `reverse`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, + * `union`, `uniq`, `unshift`, `values`, `where`, `without`, `wrap`, and `zip` + * + * The non-chainable wrapper functions are: + * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `has`, `identity`, + * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`, `isEmpty`, + * `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`, `isObject`, + * `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`, `lastIndexOf`, + * `mixin`, `noConflict`, `pop`, `random`, `reduce`, `reduceRight`, `result`, + * `shift`, `size`, `some`, `sortedIndex`, `template`, `unescape`, and `uniqueId` + * + * The wrapper functions `first` and `last` return wrapped values when `n` is + * passed, otherwise they return unwrapped values. + * + * @name _ + * @constructor + * @category Chaining + * @param {Mixed} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns a `lodash` instance. + */ + function lodash(value) { + // exit early if already wrapped, even if wrapped by a different `lodash` constructor + if (value && typeof value == 'object' && value.__wrapped__) { + return value; + } + // allow invoking `lodash` without the `new` operator + if (!(this instanceof lodash)) { + return new lodash(value); + } + this.__wrapped__ = value; + } + + /** + * By default, the template delimiters used by Lo-Dash are similar to those in + * embedded Ruby (ERB). Change the following template settings to use alternative + * delimiters. + * + * @static + * @memberOf _ + * @type Object + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'escape': /<%-([\s\S]+?)%>/g, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'evaluate': /<%([\s\S]+?)%>/g, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type String + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type Object + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type Function + */ + '_': lodash + } + }; + + /*--------------------------------------------------------------------------*/ + + /** + * The template used to create iterator functions. + * + * @private + * @param {Obect} data The data object used to populate the text. + * @returns {String} Returns the interpolated text. + */ + var iteratorTemplate = function(obj) { + + var __p = 'var index, iterable = ' + + (obj.firstArg ) + + ', result = iterable;\nif (!iterable) return result;\n' + + (obj.top ) + + ';\n'; + if (obj.arrays) { + __p += 'var length = iterable.length; index = -1;\nif (' + + (obj.arrays ) + + ') { '; + if (obj.noCharByIndex) { + __p += '\n if (isString(iterable)) {\n iterable = iterable.split(\'\')\n } '; + } ; + __p += '\n while (++index < length) {\n ' + + (obj.loop ) + + '\n }\n}\nelse { '; + } else if (obj.nonEnumArgs) { + __p += '\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += \'\';\n ' + + (obj.loop ) + + '\n }\n } else { '; + } ; + + if (obj.hasEnumPrototype) { + __p += '\n var skipProto = typeof iterable == \'function\';\n '; + } ; + + if (obj.isKeysFast && obj.useHas) { + __p += '\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] ? nativeKeys(iterable) : [],\n length = ownProps.length;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n '; + if (obj.hasEnumPrototype) { + __p += 'if (!(skipProto && index == \'prototype\')) {\n '; + } ; + __p += + (obj.loop ) + + ''; + if (obj.hasEnumPrototype) { + __p += '}\n'; + } ; + __p += ' } '; + } else { + __p += '\n for (index in iterable) {'; + if (obj.hasEnumPrototype || obj.useHas) { + __p += '\n if ('; + if (obj.hasEnumPrototype) { + __p += '!(skipProto && index == \'prototype\')'; + } if (obj.hasEnumPrototype && obj.useHas) { + __p += ' && '; + } if (obj.useHas) { + __p += 'hasOwnProperty.call(iterable, index)'; + } ; + __p += ') { '; + } ; + __p += + (obj.loop ) + + '; '; + if (obj.hasEnumPrototype || obj.useHas) { + __p += '\n }'; + } ; + __p += '\n } '; + } ; + + if (obj.hasDontEnumBug) { + __p += '\n\n var ctor = iterable.constructor;\n '; + for (var k = 0; k < 7; k++) { + __p += '\n index = \'' + + (obj.shadowed[k] ) + + '\';\n if ('; + if (obj.shadowed[k] == 'constructor') { + __p += '!(ctor && ctor.prototype === iterable) && '; + } ; + __p += 'hasOwnProperty.call(iterable, index)) {\n ' + + (obj.loop ) + + '\n } '; + } ; + + } ; + + if (obj.arrays || obj.nonEnumArgs) { + __p += '\n}'; + } ; + __p += + (obj.bottom ) + + ';\nreturn result'; + + + return __p + }; + + /** Reusable iterator options for `assign` and `defaults` */ + var defaultsIteratorOptions = { + 'args': 'object, source, guard', + 'top': + 'var args = arguments,\n' + + ' argsIndex = 0,\n' + + " argsLength = typeof guard == 'number' ? 2 : args.length;\n" + + 'while (++argsIndex < argsLength) {\n' + + ' iterable = args[argsIndex];\n' + + ' if (iterable && objectTypes[typeof iterable]) {', + 'loop': "if (typeof result[index] == 'undefined') result[index] = iterable[index]", + 'bottom': ' }\n}' + }; + + /** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */ + var eachIteratorOptions = { + 'args': 'collection, callback, thisArg', + 'top': "callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg)", + 'arrays': "typeof length == 'number'", + 'loop': 'if (callback(iterable[index], index, collection) === false) return result' + }; + + /** Reusable iterator options for `forIn` and `forOwn` */ + var forOwnIteratorOptions = { + 'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top, + 'arrays': false + }; + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function optimized to search large arrays for a given `value`, + * starting at `fromIndex`, using strict equality for comparisons, i.e. `===`. + * + * @private + * @param {Array} array The array to search. + * @param {Mixed} value The value to search for. + * @param {Number} [fromIndex=0] The index to search from. + * @param {Number} [largeSize=30] The length at which an array is considered large. + * @returns {Boolean} Returns `true`, if `value` is found, else `false`. + */ + function cachedContains(array, fromIndex, largeSize) { + fromIndex || (fromIndex = 0); + + var length = array.length, + isLarge = (length - fromIndex) >= (largeSize || largeArraySize); + + if (isLarge) { + var cache = {}, + index = fromIndex - 1; + + while (++index < length) { + // manually coerce `value` to a string because `hasOwnProperty`, in some + // older versions of Firefox, coerces objects incorrectly + var key = array[index] + ''; + (hasOwnProperty.call(cache, key) ? cache[key] : (cache[key] = [])).push(array[index]); + } + } + return function(value) { + if (isLarge) { + var key = value + ''; + return hasOwnProperty.call(cache, key) && indexOf(cache[key], value) > -1; + } + return indexOf(array, value, fromIndex) > -1; + } + } + + /** + * Used by `_.max` and `_.min` as the default `callback` when a given + * `collection` is a string value. + * + * @private + * @param {String} value The character to inspect. + * @returns {Number} Returns the code unit of given character. + */ + function charAtCallback(value) { + return value.charCodeAt(0); + } + + /** + * Used by `sortBy` to compare transformed `collection` values, stable sorting + * them in ascending order. + * + * @private + * @param {Object} a The object to compare to `b`. + * @param {Object} b The object to compare to `a`. + * @returns {Number} Returns the sort order indicator of `1` or `-1`. + */ + function compareAscending(a, b) { + var ai = a.index, + bi = b.index; + + a = a.criteria; + b = b.criteria; + + // ensure a stable sort in V8 and other engines + // http://code.google.com/p/v8/issues/detail?id=90 + if (a !== b) { + if (a > b || typeof a == 'undefined') { + return 1; + } + if (a < b || typeof b == 'undefined') { + return -1; + } + } + return ai < bi ? -1 : 1; + } + + /** + * Creates a function that, when called, invokes `func` with the `this` binding + * of `thisArg` and prepends any `partialArgs` to the arguments passed to the + * bound function. + * + * @private + * @param {Function|String} func The function to bind or the method name. + * @param {Mixed} [thisArg] The `this` binding of `func`. + * @param {Array} partialArgs An array of arguments to be partially applied. + * @param {Object} [rightIndicator] Used to indicate partially applying arguments from the right. + * @returns {Function} Returns the new bound function. + */ + function createBound(func, thisArg, partialArgs, rightIndicator) { + var isFunc = isFunction(func), + isPartial = !partialArgs, + key = thisArg; + + // juggle arguments + if (isPartial) { + partialArgs = thisArg; + } + if (!isFunc) { + thisArg = func; + } + + function bound() { + // `Function#bind` spec + // http://es5.github.com/#x15.3.4.5 + var args = arguments, + thisBinding = isPartial ? this : thisArg; + + if (!isFunc) { + func = thisArg[key]; + } + if (partialArgs.length) { + args = args.length + ? (args = slice(args), rightIndicator ? args.concat(partialArgs) : partialArgs.concat(args)) + : partialArgs; + } + if (this instanceof bound) { + // ensure `new bound` is an instance of `bound` and `func` + noop.prototype = func.prototype; + thisBinding = new noop; + noop.prototype = null; + + // mimic the constructor's `return` behavior + // http://es5.github.com/#x13.2.2 + var result = func.apply(thisBinding, args); + return isObject(result) ? result : thisBinding; + } + return func.apply(thisBinding, args); + } + return bound; + } + + /** + * Produces a callback bound to an optional `thisArg`. If `func` is a property + * name, the created callback will return the property value for a given element. + * If `func` is an object, the created callback will return `true` for elements + * that contain the equivalent object properties, otherwise it will return `false`. + * + * @private + * @param {Mixed} [func=identity] The value to convert to a callback. + * @param {Mixed} [thisArg] The `this` binding of the created callback. + * @param {Number} [argCount=3] The number of arguments the callback accepts. + * @returns {Function} Returns a callback function. + */ + function createCallback(func, thisArg, argCount) { + if (func == null) { + return identity; + } + var type = typeof func; + if (type != 'function') { + if (type != 'object') { + return function(object) { + return object[func]; + }; + } + var props = keys(func); + return function(object) { + var length = props.length, + result = false; + while (length--) { + if (!(result = isEqual(object[props[length]], func[props[length]], indicatorObject))) { + break; + } + } + return result; + }; + } + if (typeof thisArg != 'undefined') { + if (argCount === 1) { + return function(value) { + return func.call(thisArg, value); + }; + } + if (argCount === 2) { + return function(a, b) { + return func.call(thisArg, a, b); + }; + } + if (argCount === 4) { + return function(accumulator, value, index, object) { + return func.call(thisArg, accumulator, value, index, object); + }; + } + return function(value, index, object) { + return func.call(thisArg, value, index, object); + }; + } + return func; + } + + /** + * Creates compiled iteration functions. + * + * @private + * @param {Object} [options1, options2, ...] The compile options object(s). + * arrays - A string of code to determine if the iterable is an array or array-like. + * useHas - A boolean to specify using `hasOwnProperty` checks in the object loop. + * args - A string of comma separated arguments the iteration function will accept. + * top - A string of code to execute before the iteration branches. + * loop - A string of code to execute in the object loop. + * bottom - A string of code to execute after the iteration branches. + * + * @returns {Function} Returns the compiled function. + */ + function createIterator() { + var data = { + // support properties + 'hasDontEnumBug': hasDontEnumBug, + 'hasEnumPrototype': hasEnumPrototype, + 'isKeysFast': isKeysFast, + 'nonEnumArgs': nonEnumArgs, + 'noCharByIndex': noCharByIndex, + 'shadowed': shadowed, + + // iterator options + 'arrays': 'isArray(iterable)', + 'bottom': '', + 'loop': '', + 'top': '', + 'useHas': true + }; + + // merge options into a template data object + for (var object, index = 0; object = arguments[index]; index++) { + for (var key in object) { + data[key] = object[key]; + } + } + var args = data.args; + data.firstArg = /^[^,]+/.exec(args)[0]; + + // create the function factory + var factory = Function( + 'createCallback, hasOwnProperty, isArguments, isArray, isString, ' + + 'objectTypes, nativeKeys', + 'return function(' + args + ') {\n' + iteratorTemplate(data) + '\n}' + ); + // return the compiled function + return factory( + createCallback, hasOwnProperty, isArguments, isArray, isString, + objectTypes, nativeKeys + ); + } + + /** + * A function compiled to iterate `arguments` objects, arrays, objects, and + * strings consistenly across environments, executing the `callback` for each + * element in the `collection`. The `callback` is bound to `thisArg` and invoked + * with three arguments; (value, index|key, collection). Callbacks may exit + * iteration early by explicitly returning `false`. + * + * @private + * @type Function + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|String} Returns `collection`. + */ + var each = createIterator(eachIteratorOptions); + + /** + * Used by `template` to escape characters for inclusion in compiled + * string literals. + * + * @private + * @param {String} match The matched character to escape. + * @returns {String} Returns the escaped character. + */ + function escapeStringChar(match) { + return '\\' + stringEscapes[match]; + } + + /** + * Used by `escape` to convert characters to HTML entities. + * + * @private + * @param {String} match The matched character to escape. + * @returns {String} Returns the escaped character. + */ + function escapeHtmlChar(match) { + return htmlEscapes[match]; + } + + /** + * Checks if `value` is a DOM node in IE < 9. + * + * @private + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a DOM node, else `false`. + */ + function isNode(value) { + // IE < 9 presents DOM nodes as `Object` objects except they have `toString` + // methods that are `typeof` "string" and still can coerce nodes to strings + return typeof value.toString != 'function' && typeof (value + '') == 'string'; + } + + /** + * A no-operation function. + * + * @private + */ + function noop() { + // no operation performed + } + + /** + * Slices the `collection` from the `start` index up to, but not including, + * the `end` index. + * + * Note: This function is used, instead of `Array#slice`, to support node lists + * in IE < 9 and to ensure dense arrays are returned. + * + * @private + * @param {Array|Object|String} collection The collection to slice. + * @param {Number} start The start index. + * @param {Number} end The end index. + * @returns {Array} Returns the new array. + */ + function slice(array, start, end) { + start || (start = 0); + if (typeof end == 'undefined') { + end = array ? array.length : 0; + } + var index = -1, + length = end - start || 0, + result = Array(length < 0 ? 0 : length); + + while (++index < length) { + result[index] = array[start + index]; + } + return result; + } + + /** + * Used by `unescape` to convert HTML entities to characters. + * + * @private + * @param {String} match The matched character to unescape. + * @returns {String} Returns the unescaped character. + */ + function unescapeHtmlChar(match) { + return htmlUnescapes[match]; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Checks if `value` is an `arguments` object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is an `arguments` object, else `false`. + * @example + * + * (function() { return _.isArguments(arguments); })(1, 2, 3); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + function isArguments(value) { + return toString.call(value) == argsClass; + } + // fallback for browsers that can't detect `arguments` objects by [[Class]] + if (noArgsClass) { + isArguments = function(value) { + return value ? hasOwnProperty.call(value, 'callee') : false; + }; + } + + /** + * Iterates over `object`'s own and inherited enumerable properties, executing + * the `callback` for each property. The `callback` is bound to `thisArg` and + * invoked with three arguments; (value, key, object). Callbacks may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * function Dog(name) { + * this.name = name; + * } + * + * Dog.prototype.bark = function() { + * alert('Woof, woof!'); + * }; + * + * _.forIn(new Dog('Dagny'), function(value, key) { + * alert(key); + * }); + * // => alerts 'name' and 'bark' (order is not guaranteed) + */ + var forIn = createIterator(eachIteratorOptions, forOwnIteratorOptions, { + 'useHas': false + }); + + /** + * Iterates over an object's own enumerable properties, executing the `callback` + * for each property. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, key, object). Callbacks may exit iteration early by explicitly + * returning `false`. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { + * alert(key); + * }); + * // => alerts '0', '1', and 'length' (order is not guaranteed) + */ + var forOwn = createIterator(eachIteratorOptions, forOwnIteratorOptions); + + /** + * Checks if `value` is an array. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is an array, else `false`. + * @example + * + * (function() { return _.isArray(arguments); })(); + * // => false + * + * _.isArray([1, 2, 3]); + * // => true + */ + var isArray = nativeIsArray || function(value) { + // `instanceof` may cause a memory leak in IE 7 if `value` is a host object + // http://ajaxian.com/archives/working-aroung-the-instanceof-memory-leak + return (argsAreObjects && value instanceof Array) || toString.call(value) == arrayClass; + }; + + /** + * Creates an array composed of the own enumerable property names of `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property names. + * @example + * + * _.keys({ 'one': 1, 'two': 2, 'three': 3 }); + * // => ['one', 'two', 'three'] (order is not guaranteed) + */ + var keys = !nativeKeys ? shimKeys : function(object) { + if (!isObject(object)) { + return []; + } + if ((hasEnumPrototype && typeof object == 'function') || + (nonEnumArgs && object.length && isArguments(object))) { + return shimKeys(object); + } + return nativeKeys(object); + }; + + /** + * A fallback implementation of `isPlainObject` that checks if a given `value` + * is an object created by the `Object` constructor, assuming objects created + * by the `Object` constructor have no inherited enumerable properties and that + * there are no `Object.prototype` extensions. + * + * @private + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if `value` is a plain object, else `false`. + */ + function shimIsPlainObject(value) { + // avoid non-objects and false positives for `arguments` objects + var result = false; + if (!(value && typeof value == 'object') || isArguments(value)) { + return result; + } + // check that the constructor is `Object` (i.e. `Object instanceof Object`) + var ctor = value.constructor; + if ((!isFunction(ctor) && (!noNodeClass || !isNode(value))) || ctor instanceof ctor) { + // IE < 9 iterates inherited properties before own properties. If the first + // iterated property is an object's own property then there are no inherited + // enumerable properties. + if (iteratesOwnLast) { + forIn(value, function(value, key, object) { + result = !hasOwnProperty.call(object, key); + return false; + }); + return result === false; + } + // In most environments an object's own properties are iterated before + // its inherited properties. If the last iterated property is an object's + // own property then there are no inherited enumerable properties. + forIn(value, function(value, key) { + result = key; + }); + return result === false || hasOwnProperty.call(value, result); + } + return result; + } + + /** + * A fallback implementation of `Object.keys` that produces an array of the + * given object's own enumerable property names. + * + * @private + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property names. + */ + function shimKeys(object) { + var result = []; + forOwn(object, function(value, key) { + result.push(key); + }); + return result; + } + + /** + * Used to convert characters to HTML entities: + * + * Though the `>` character is escaped for symmetry, characters like `>` and `/` + * don't require escaping in HTML and have no special meaning unless they're part + * of a tag or an unquoted attribute value. + * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact") + */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to convert HTML entities to characters */ + var htmlUnescapes = invert(htmlEscapes); + + /*--------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable properties of source object(s) to the destination + * object. Subsequent sources will overwrite propery assignments of previous + * sources. If a `callback` function is passed, it will be executed to produce + * the assigned values. The `callback` is bound to `thisArg` and invoked with + * two arguments; (objectValue, sourceValue). + * + * @static + * @memberOf _ + * @type Function + * @alias extend + * @category Objects + * @param {Object} object The destination object. + * @param {Object} [source1, source2, ...] The source objects. + * @param {Function} [callback] The function to customize assigning values. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the destination object. + * @example + * + * _.assign({ 'name': 'moe' }, { 'age': 40 }); + * // => { 'name': 'moe', 'age': 40 } + * + * var defaults = _.partialRight(_.assign, function(a, b) { + * return typeof a == 'undefined' ? b : a; + * }); + * + * var food = { 'name': 'apple' }; + * defaults(food, { 'name': 'banana', 'type': 'fruit' }); + * // => { 'name': 'apple', 'type': 'fruit' } + */ + var assign = createIterator(defaultsIteratorOptions, { + 'top': + defaultsIteratorOptions.top.replace(';', + ';\n' + + "if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n" + + ' var callback = createCallback(args[--argsLength - 1], args[argsLength--], 2);\n' + + "} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n" + + ' callback = args[--argsLength];\n' + + '}' + ), + 'loop': 'result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]' + }); + + /** + * Creates a clone of `value`. If `deep` is `true`, nested objects will also + * be cloned, otherwise they will be assigned by reference. If a `callback` + * function is passed, it will be executed to produce the cloned values. If + * `callback` returns `undefined`, cloning will be handled by the method instead. + * The `callback` is bound to `thisArg` and invoked with one argument; (value). + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to clone. + * @param {Boolean} [deep=false] A flag to indicate a deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @param- {Array} [stackA=[]] Internally used to track traversed source objects. + * @param- {Array} [stackB=[]] Internally used to associate clones with source counterparts. + * @returns {Mixed} Returns the cloned `value`. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * var shallow = _.clone(stooges); + * shallow[0] === stooges[0]; + * // => true + * + * var deep = _.clone(stooges, true); + * deep[0] === stooges[0]; + * // => false + * + * _.mixin({ + * 'clone': _.partialRight(_.clone, function(value) { + * return _.isElement(value) ? value.cloneNode(false) : undefined; + * }) + * }); + * + * var clone = _.clone(document.body); + * clone.childNodes.length; + * // => 0 + */ + function clone(value, deep, callback, thisArg, stackA, stackB) { + var result = value; + + // allows working with "Collections" methods without using their `callback` + // argument, `index|key`, for this method's `callback` + if (typeof deep == 'function') { + thisArg = callback; + callback = deep; + deep = false; + } + if (typeof callback == 'function') { + callback = typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg, 1); + result = callback(result); + + var done = typeof result != 'undefined'; + if (!done) { + result = value; + } + } + // inspect [[Class]] + var isObj = isObject(result); + if (isObj) { + var className = toString.call(result); + if (!cloneableClasses[className] || (noNodeClass && isNode(result))) { + return result; + } + var isArr = isArray(result); + } + // shallow clone + if (!isObj || !deep) { + return isObj && !done + ? (isArr ? slice(result) : assign({}, result)) + : result; + } + var ctor = ctorByClass[className]; + switch (className) { + case boolClass: + case dateClass: + return done ? result : new ctor(+result); + + case numberClass: + case stringClass: + return done ? result : new ctor(result); + + case regexpClass: + return done ? result : ctor(result.source, reFlags.exec(result)); + } + // check for circular references and return corresponding clone + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == value) { + return stackB[length]; + } + } + // init cloned object + if (!done) { + result = isArr ? ctor(result.length) : {}; + + // add array properties assigned by `RegExp#exec` + if (isArr) { + if (hasOwnProperty.call(value, 'index')) { + result.index = value.index; + } + if (hasOwnProperty.call(value, 'input')) { + result.input = value.input; + } + } + } + // add the source value to the stack of traversed objects + // and associate it with its clone + stackA.push(value); + stackB.push(result); + + // recursively populate clone (susceptible to call stack limits) + (isArr ? forEach : forOwn)(done ? result : value, function(objValue, key) { + result[key] = clone(objValue, deep, callback, undefined, stackA, stackB); + }); + + return result; + } + + /** + * Creates a deep clone of `value`. If a `callback` function is passed, it will + * be executed to produce the cloned values. If `callback` returns the value it + * was passed, cloning will be handled by the method instead. The `callback` is + * bound to `thisArg` and invoked with one argument; (value). + * + * Note: This function is loosely based on the structured clone algorithm. Functions + * and DOM nodes are **not** cloned. The enumerable properties of `arguments` objects and + * objects created by constructors other than `Object` are cloned to plain `Object` objects. + * See http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the deep cloned `value`. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * var deep = _.cloneDeep(stooges); + * deep[0] === stooges[0]; + * // => false + * + * var view = { + * 'label': 'docs', + * 'node': element + * }; + * + * var clone = _.cloneDeep(view, function(value) { + * return _.isElement(value) ? value.cloneNode(true) : value; + * }); + * + * clone.node == view.node; + * // => false + */ + function cloneDeep(value, callback, thisArg) { + return clone(value, true, callback, thisArg); + } + + /** + * Assigns own enumerable properties of source object(s) to the destination + * object for all destination properties that resolve to `undefined`. Once a + * property is set, additional defaults of the same property will be ignored. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The destination object. + * @param {Object} [source1, source2, ...] The source objects. + * @param- {Object} [guard] Internally used to allow working with `_.reduce` + * without using its callback's `key` and `object` arguments as sources. + * @returns {Object} Returns the destination object. + * @example + * + * var food = { 'name': 'apple' }; + * _.defaults(food, { 'name': 'banana', 'type': 'fruit' }); + * // => { 'name': 'apple', 'type': 'fruit' } + */ + var defaults = createIterator(defaultsIteratorOptions); + + /** + * Creates a sorted array of all enumerable properties, own and inherited, + * of `object` that have function values. + * + * @static + * @memberOf _ + * @alias methods + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property names that have function values. + * @example + * + * _.functions(_); + * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...] + */ + function functions(object) { + var result = []; + forIn(object, function(value, key) { + if (isFunction(value)) { + result.push(key); + } + }); + return result.sort(); + } + + /** + * Checks if the specified object `property` exists and is a direct property, + * instead of an inherited property. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to check. + * @param {String} property The property to check for. + * @returns {Boolean} Returns `true` if key is a direct property, else `false`. + * @example + * + * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b'); + * // => true + */ + function has(object, property) { + return object ? hasOwnProperty.call(object, property) : false; + } + + /** + * Creates an object composed of the inverted keys and values of the given `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to invert. + * @returns {Object} Returns the created inverted object. + * @example + * + * _.invert({ 'first': 'moe', 'second': 'larry' }); + * // => { 'moe': 'first', 'larry': 'second' } (order is not guaranteed) + */ + function invert(object) { + var index = -1, + props = keys(object), + length = props.length, + result = {}; + + while (++index < length) { + var key = props[index]; + result[object[key]] = key; + } + return result; + } + + /** + * Checks if `value` is a boolean value. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is a boolean value, else `false`. + * @example + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || toString.call(value) == boolClass; + } + + /** + * Checks if `value` is a date. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is a date, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + */ + function isDate(value) { + return value instanceof Date || toString.call(value) == dateClass; + } + + /** + * Checks if `value` is a DOM element. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + */ + function isElement(value) { + return value ? value.nodeType === 1 : false; + } + + /** + * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a + * length of `0` and objects with no own enumerable properties are considered + * "empty". + * + * @static + * @memberOf _ + * @category Objects + * @param {Array|Object|String} value The value to inspect. + * @returns {Boolean} Returns `true`, if the `value` is empty, else `false`. + * @example + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({}); + * // => true + * + * _.isEmpty(''); + * // => true + */ + function isEmpty(value) { + var result = true; + if (!value) { + return result; + } + var className = toString.call(value), + length = value.length; + + if ((className == arrayClass || className == stringClass || + className == argsClass || (noArgsClass && isArguments(value))) || + (className == objectClass && typeof length == 'number' && isFunction(value.splice))) { + return !length; + } + forOwn(value, function() { + return (result = false); + }); + return result; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent to each other. If `callback` is passed, it will be executed to + * compare values. If `callback` returns `undefined`, comparisons will be handled + * by the method instead. The `callback` is bound to `thisArg` and invoked with + * two arguments; (a, b). + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} a The value to compare. + * @param {Mixed} b The other value to compare. + * @param {Function} [callback] The function to customize comparing values. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @param- {Object} [stackA=[]] Internally used track traversed `a` objects. + * @param- {Object} [stackB=[]] Internally used track traversed `b` objects. + * @returns {Boolean} Returns `true`, if the values are equvalent, else `false`. + * @example + * + * var moe = { 'name': 'moe', 'age': 40 }; + * var copy = { 'name': 'moe', 'age': 40 }; + * + * moe == copy; + * // => false + * + * _.isEqual(moe, copy); + * // => true + * + * var words = ['hello', 'goodbye']; + * var otherWords = ['hi', 'goodbye']; + * + * _.isEqual(words, otherWords, function(a, b) { + * var reGreet = /^(?:hello|hi)$/i, + * aGreet = _.isString(a) && reGreet.test(a), + * bGreet = _.isString(b) && reGreet.test(b); + * + * return (aGreet || bGreet) ? (aGreet == bGreet) : undefined; + * }); + * // => true + */ + function isEqual(a, b, callback, thisArg, stackA, stackB) { + // used to indicate that when comparing objects, `a` has at least the properties of `b` + var whereIndicator = callback === indicatorObject; + if (callback && !whereIndicator) { + callback = typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg, 2); + var result = callback(a, b); + if (typeof result != 'undefined') { + return !!result; + } + } + // exit early for identical values + if (a === b) { + // treat `+0` vs. `-0` as not equal + return a !== 0 || (1 / a == 1 / b); + } + var type = typeof a, + otherType = typeof b; + + // exit early for unlike primitive values + if (a === a && + (!a || (type != 'function' && type != 'object')) && + (!b || (otherType != 'function' && otherType != 'object'))) { + return false; + } + // exit early for `null` and `undefined`, avoiding ES3's Function#call behavior + // http://es5.github.com/#x15.3.4.4 + if (a == null || b == null) { + return a === b; + } + // compare [[Class]] names + var className = toString.call(a), + otherClass = toString.call(b); + + if (className == argsClass) { + className = objectClass; + } + if (otherClass == argsClass) { + otherClass = objectClass; + } + if (className != otherClass) { + return false; + } + switch (className) { + case boolClass: + case dateClass: + // coerce dates and booleans to numbers, dates to milliseconds and booleans + // to `1` or `0`, treating invalid dates coerced to `NaN` as not equal + return +a == +b; + + case numberClass: + // treat `NaN` vs. `NaN` as equal + return a != +a + ? b != +b + // but treat `+0` vs. `-0` as not equal + : (a == 0 ? (1 / a == 1 / b) : a == +b); + + case regexpClass: + case stringClass: + // coerce regexes to strings (http://es5.github.com/#x15.10.6.4) + // treat string primitives and their corresponding object instances as equal + return a == b + ''; + } + var isArr = className == arrayClass; + if (!isArr) { + // unwrap any `lodash` wrapped values + if (a.__wrapped__ || b.__wrapped__) { + return isEqual(a.__wrapped__ || a, b.__wrapped__ || b, callback, thisArg, stackA, stackB); + } + // exit for functions and DOM nodes + if (className != objectClass || (noNodeClass && (isNode(a) || isNode(b)))) { + return false; + } + // in older versions of Opera, `arguments` objects have `Array` constructors + var ctorA = !argsAreObjects && isArguments(a) ? Object : a.constructor, + ctorB = !argsAreObjects && isArguments(b) ? Object : b.constructor; + + // non `Object` object instances with different constructors are not equal + if (ctorA != ctorB && !( + isFunction(ctorA) && ctorA instanceof ctorA && + isFunction(ctorB) && ctorB instanceof ctorB + )) { + return false; + } + } + // assume cyclic structures are equal + // the algorithm for detecting cyclic structures is adapted from ES 5.1 + // section 15.12.3, abstract operation `JO` (http://es5.github.com/#x15.12.3) + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == a) { + return stackB[length] == b; + } + } + var size = 0; + result = true; + + // add `a` and `b` to the stack of traversed objects + stackA.push(a); + stackB.push(b); + + // recursively compare objects and arrays (susceptible to call stack limits) + if (isArr) { + length = a.length; + size = b.length; + + // compare lengths to determine if a deep comparison is necessary + result = size == a.length; + if (!result && !whereIndicator) { + return result; + } + // deep compare the contents, ignoring non-numeric properties + while (size--) { + var index = length, + value = b[size]; + + if (whereIndicator) { + while (index--) { + if ((result = isEqual(a[index], value, callback, thisArg, stackA, stackB))) { + break; + } + } + } else if (!(result = isEqual(a[size], value, callback, thisArg, stackA, stackB))) { + break; + } + } + return result; + } + // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys` + // which, in this case, is more costly + forIn(b, function(value, key, b) { + if (hasOwnProperty.call(b, key)) { + // count the number of properties. + size++; + // deep compare each property value. + return (result = hasOwnProperty.call(a, key) && isEqual(a[key], value, callback, thisArg, stackA, stackB)); + } + }); + + if (result && !whereIndicator) { + // ensure both objects have the same number of properties + forIn(a, function(value, key, a) { + if (hasOwnProperty.call(a, key)) { + // `size` will be `-1` if `a` has more properties than `b` + return (result = --size > -1); + } + }); + } + return result; + } + + /** + * Checks if `value` is, or can be coerced to, a finite number. + * + * Note: This is not the same as native `isFinite`, which will return true for + * booleans and empty strings. See http://es5.github.com/#x15.1.2.5. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is finite, else `false`. + * @example + * + * _.isFinite(-101); + * // => true + * + * _.isFinite('10'); + * // => true + * + * _.isFinite(true); + * // => false + * + * _.isFinite(''); + * // => false + * + * _.isFinite(Infinity); + * // => false + */ + function isFinite(value) { + return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value)); + } + + /** + * Checks if `value` is a function. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + */ + function isFunction(value) { + return typeof value == 'function'; + } + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return value instanceof Function || toString.call(value) == funcClass; + }; + } + + /** + * Checks if `value` is the language type of Object. + * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(1); + * // => false + */ + function isObject(value) { + // check if the value is the ECMAScript language type of Object + // http://es5.github.com/#x8 + // and avoid a V8 bug + // http://code.google.com/p/v8/issues/detail?id=2291 + return value ? objectTypes[typeof value] : false; + } + + /** + * Checks if `value` is `NaN`. + * + * Note: This is not the same as native `isNaN`, which will return `true` for + * `undefined` and other values. See http://es5.github.com/#x15.1.2.4. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // `NaN` as a primitive is the only value that is not equal to itself + // (perform the [[Class]] check first to avoid errors with some host objects in IE) + return isNumber(value) && value != +value + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(undefined); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is a number. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is a number, else `false`. + * @example + * + * _.isNumber(8.4 * 5); + * // => true + */ + function isNumber(value) { + return typeof value == 'number' || toString.call(value) == numberClass; + } + + /** + * Checks if a given `value` is an object created by the `Object` constructor. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if `value` is a plain object, else `false`. + * @example + * + * function Stooge(name, age) { + * this.name = name; + * this.age = age; + * } + * + * _.isPlainObject(new Stooge('moe', 40)); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'name': 'moe', 'age': 40 }); + * // => true + */ + var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) { + if (!(value && typeof value == 'object')) { + return false; + } + var valueOf = value.valueOf, + objProto = typeof valueOf == 'function' && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto); + + return objProto + ? value == objProto || (getPrototypeOf(value) == objProto && !isArguments(value)) + : shimIsPlainObject(value); + }; + + /** + * Checks if `value` is a regular expression. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is a regular expression, else `false`. + * @example + * + * _.isRegExp(/moe/); + * // => true + */ + function isRegExp(value) { + return value instanceof RegExp || toString.call(value) == regexpClass; + } + + /** + * Checks if `value` is a string. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is a string, else `false`. + * @example + * + * _.isString('moe'); + * // => true + */ + function isString(value) { + return typeof value == 'string' || toString.call(value) == stringClass; + } + + /** + * Checks if `value` is `undefined`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true`, if the `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + */ + function isUndefined(value) { + return typeof value == 'undefined'; + } + + /** + * Recursively merges own enumerable properties of the source object(s), that + * don't resolve to `undefined`, into the destination object. Subsequent sources + * will overwrite propery assignments of previous sources. If a `callback` function + * is passed, it will be executed to produce the merged values of the destination + * and source properties. If `callback` returns `undefined`, merging will be + * handled by the method instead. The `callback` is bound to `thisArg` and + * invoked with two arguments; (objectValue, sourceValue). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The destination object. + * @param {Object} [source1, source2, ...] The source objects. + * @param {Function} [callback] The function to customize merging properties. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @param- {Object} [deepIndicator] Internally used to indicate that `stackA` + * and `stackB` are arrays of traversed objects instead of source objects. + * @param- {Array} [stackA=[]] Internally used to track traversed source objects. + * @param- {Array} [stackB=[]] Internally used to associate values with their + * source counterparts. + * @returns {Object} Returns the destination object. + * @example + * + * var names = { + * 'stooges': [ + * { 'name': 'moe' }, + * { 'name': 'larry' } + * ] + * }; + * + * var ages = { + * 'stooges': [ + * { 'age': 40 }, + * { 'age': 50 } + * ] + * }; + * + * _.merge(names, ages); + * // => { 'stooges': [{ 'name': 'moe', 'age': 40 }, { 'name': 'larry', 'age': 50 }] } + * + * var food = { + * 'fruits': ['apple'], + * 'vegetables': ['beet'] + * }; + * + * var otherFood = { + * 'fruits': ['banana'], + * 'vegetables': ['carrot'] + * }; + * + * _.merge(food, otherFood, function(a, b) { + * return _.isArray(a) ? a.concat(b) : undefined; + * }); + * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] } + */ + function merge(object, source, deepIndicator) { + var args = arguments, + index = 0, + length = 2; + + if (!isObject(object)) { + return object; + } + if (deepIndicator === indicatorObject) { + var callback = args[3], + stackA = args[4], + stackB = args[5]; + } else { + stackA = []; + stackB = []; + + // allows working with `_.reduce` and `_.reduceRight` without + // using their `callback` arguments, `index|key` and `collection` + if (typeof deepIndicator != 'number') { + length = args.length; + } + if (length > 3 && typeof args[length - 2] == 'function') { + callback = createCallback(args[--length - 1], args[length--], 2); + } else if (length > 2 && typeof args[length - 1] == 'function') { + callback = args[--length]; + } + } + while (++index < length) { + (isArray(args[index]) ? forEach : forOwn)(args[index], function(source, key) { + var found, + isArr, + result = source, + value = object[key]; + + if (source && ((isArr = isArray(source)) || isPlainObject(source))) { + // avoid merging previously merged cyclic sources + var stackLength = stackA.length; + while (stackLength--) { + if ((found = stackA[stackLength] == source)) { + value = stackB[stackLength]; + break; + } + } + if (!found) { + value = isArr + ? (isArray(value) ? value : []) + : (isPlainObject(value) ? value : {}); + + if (callback) { + result = callback(value, source); + if (typeof result != 'undefined') { + value = result; + } + } + // add `source` and associated `value` to the stack of traversed objects + stackA.push(source); + stackB.push(value); + + // recursively merge objects and arrays (susceptible to call stack limits) + if (!callback) { + value = merge(value, source, indicatorObject, callback, stackA, stackB); + } + } + } + else { + if (callback) { + result = callback(value, source); + if (typeof result == 'undefined') { + result = source; + } + } + if (typeof result != 'undefined') { + value = result; + } + } + object[key] = value; + }); + } + return object; + } + + /** + * Creates a shallow clone of `object` excluding the specified properties. + * Property names may be specified as individual arguments or as arrays of + * property names. If a `callback` function is passed, it will be executed + * for each property in the `object`, omitting the properties `callback` + * returns truthy for. The `callback` is bound to `thisArg` and invoked + * with three arguments; (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Function|String} callback|[prop1, prop2, ...] The properties to omit + * or the function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object without the omitted properties. + * @example + * + * _.omit({ 'name': 'moe', 'age': 40 }, 'age'); + * // => { 'name': 'moe' } + * + * _.omit({ 'name': 'moe', 'age': 40 }, function(value) { + * return typeof value == 'number'; + * }); + * // => { 'name': 'moe' } + */ + function omit(object, callback, thisArg) { + var isFunc = typeof callback == 'function', + result = {}; + + if (isFunc) { + callback = createCallback(callback, thisArg); + } else { + var props = concat.apply(arrayRef, arguments); + } + forIn(object, function(value, key, object) { + if (isFunc + ? !callback(value, key, object) + : indexOf(props, key, 1) < 0 + ) { + result[key] = value; + } + }); + return result; + } + + /** + * Creates a two dimensional array of the given object's key-value pairs, + * i.e. `[[key1, value1], [key2, value2]]`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns new array of key-value pairs. + * @example + * + * _.pairs({ 'moe': 30, 'larry': 40 }); + * // => [['moe', 30], ['larry', 40]] (order is not guaranteed) + */ + function pairs(object) { + var index = -1, + props = keys(object), + length = props.length, + result = Array(length); + + while (++index < length) { + var key = props[index]; + result[index] = [key, object[key]]; + } + return result; + } + + /** + * Creates a shallow clone of `object` composed of the specified properties. + * Property names may be specified as individual arguments or as arrays of property + * names. If `callback` is passed, it will be executed for each property in the + * `object`, picking the properties `callback` returns truthy for. The `callback` + * is bound to `thisArg` and invoked with three arguments; (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Array|Function|String} callback|[prop1, prop2, ...] The function called + * per iteration or properties to pick, either as individual arguments or arrays. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object composed of the picked properties. + * @example + * + * _.pick({ 'name': 'moe', '_userid': 'moe1' }, 'name'); + * // => { 'name': 'moe' } + * + * _.pick({ 'name': 'moe', '_userid': 'moe1' }, function(value, key) { + * return key.charAt(0) != '_'; + * }); + * // => { 'name': 'moe' } + */ + function pick(object, callback, thisArg) { + var result = {}; + if (typeof callback != 'function') { + var index = 0, + props = concat.apply(arrayRef, arguments), + length = isObject(object) ? props.length : 0; + + while (++index < length) { + var key = props[index]; + if (key in object) { + result[key] = object[key]; + } + } + } else { + callback = createCallback(callback, thisArg); + forIn(object, function(value, key, object) { + if (callback(value, key, object)) { + result[key] = value; + } + }); + } + return result; + } + + /** + * Creates an array composed of the own enumerable property values of `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property values. + * @example + * + * _.values({ 'one': 1, 'two': 2, 'three': 3 }); + * // => [1, 2, 3] + */ + function values(object) { + var index = -1, + props = keys(object), + length = props.length, + result = Array(length); + + while (++index < length) { + result[index] = object[props[index]]; + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates an array of elements from the specified indexes, or keys, of the + * `collection`. Indexes may be specified as individual arguments or as arrays + * of indexes. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Array|Number|String} [index1, index2, ...] The indexes of + * `collection` to retrieve, either as individual arguments or arrays. + * @returns {Array} Returns a new array of elements corresponding to the + * provided indexes. + * @example + * + * _.at(['a', 'b', 'c', 'd', 'e'], [0, 2, 4]); + * // => ['a', 'c', 'e'] + * + * _.at(['moe', 'larry', 'curly'], 0, 2); + * // => ['moe', 'curly'] + */ + function at(collection) { + var index = -1, + props = concat.apply(arrayRef, slice(arguments, 1)), + length = props.length, + result = Array(length); + + if (noCharByIndex && isString(collection)) { + collection = collection.split(''); + } + while(++index < length) { + result[index] = collection[props[index]]; + } + return result; + } + + /** + * Checks if a given `target` element is present in a `collection` using strict + * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used + * as the offset from the end of the collection. + * + * @static + * @memberOf _ + * @alias include + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Mixed} target The value to check for. + * @param {Number} [fromIndex=0] The index to search from. + * @returns {Boolean} Returns `true` if the `target` element is found, else `false`. + * @example + * + * _.contains([1, 2, 3], 1); + * // => true + * + * _.contains([1, 2, 3], 1, 2); + * // => false + * + * _.contains({ 'name': 'moe', 'age': 40 }, 'moe'); + * // => true + * + * _.contains('curly', 'ur'); + * // => true + */ + function contains(collection, target, fromIndex) { + var index = -1, + length = collection ? collection.length : 0, + result = false; + + fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0; + if (typeof length == 'number') { + result = (isString(collection) + ? collection.indexOf(target, fromIndex) + : indexOf(collection, target, fromIndex) + ) > -1; + } else { + each(collection, function(value) { + if (++index >= fromIndex) { + return !(result = value === target); + } + }); + } + return result; + } + + /** + * Creates an object composed of keys returned from running each element of the + * `collection` through the given `callback`. The corresponding value of each key + * is the number of times the key was returned by the `callback`. The `callback` + * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': 1, '6': 2 } + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': 1, '6': 2 } + * + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + function countBy(collection, callback, thisArg) { + var result = {}; + callback = createCallback(callback, thisArg); + + forEach(collection, function(value, key, collection) { + key = callback(value, key, collection) + ''; + (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1); + }); + return result; + } + + /** + * Checks if the `callback` returns a truthy value for **all** elements of a + * `collection`. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias all + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Boolean} Returns `true` if all elements pass the callback check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.every(stooges, 'age'); + * // => true + * + * // using "_.where" callback shorthand + * _.every(stooges, { 'age': 50 }); + * // => false + */ + function every(collection, callback, thisArg) { + var result = true; + callback = createCallback(callback, thisArg); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if (!(result = !!callback(collection[index], index, collection))) { + break; + } + } + } else { + each(collection, function(value, index, collection) { + return (result = !!callback(value, index, collection)); + }); + } + return result; + } + + /** + * Examines each element in a `collection`, returning an array of all elements + * the `callback` returns truthy for. The `callback` is bound to `thisArg` and + * invoked with three arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias select + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that passed the callback check. + * @example + * + * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [2, 4, 6] + * + * var food = [ + * { 'name': 'apple', 'organic': false, 'type': 'fruit' }, + * { 'name': 'carrot', 'organic': true, 'type': 'vegetable' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.filter(food, 'organic'); + * // => [{ 'name': 'carrot', 'organic': true, 'type': 'vegetable' }] + * + * // using "_.where" callback shorthand + * _.filter(food, { 'type': 'fruit' }); + * // => [{ 'name': 'apple', 'organic': false, 'type': 'fruit' }] + */ + function filter(collection, callback, thisArg) { + var result = []; + callback = createCallback(callback, thisArg); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (callback(value, index, collection)) { + result.push(value); + } + } + } else { + each(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result.push(value); + } + }); + } + return result; + } + + /** + * Examines each element in a `collection`, returning the first that the `callback` + * returns truthy for. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias detect + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the element that passed the callback check, + * else `undefined`. + * @example + * + * var even = _.find([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => 2 + * + * var food = [ + * { 'name': 'apple', 'organic': false, 'type': 'fruit' }, + * { 'name': 'banana', 'organic': true, 'type': 'fruit' }, + * { 'name': 'beet', 'organic': false, 'type': 'vegetable' }, + * { 'name': 'carrot', 'organic': true, 'type': 'vegetable' } + * ]; + * + * // using "_.where" callback shorthand + * var veggie = _.find(food, { 'type': 'vegetable' }); + * // => { 'name': 'beet', 'organic': false, 'type': 'vegetable' } + * + * // using "_.pluck" callback shorthand + * var healthy = _.find(food, 'organic'); + * // => { 'name': 'banana', 'organic': true, 'type': 'fruit' } + */ + function find(collection, callback, thisArg) { + var result; + callback = createCallback(callback, thisArg); + + forEach(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result = value; + return false; + } + }); + return result; + } + + /** + * Iterates over a `collection`, executing the `callback` for each element in + * the `collection`. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). Callbacks may exit iteration early + * by explicitly returning `false`. + * + * @static + * @memberOf _ + * @alias each + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|String} Returns `collection`. + * @example + * + * _([1, 2, 3]).forEach(alert).join(','); + * // => alerts each number and returns '1,2,3' + * + * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, alert); + * // => alerts each number value (order is not guaranteed) + */ + function forEach(collection, callback, thisArg) { + if (callback && typeof thisArg == 'undefined' && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if (callback(collection[index], index, collection) === false) { + break; + } + } + } else { + each(collection, callback, thisArg); + } + return collection; + } + + /** + * Creates an object composed of keys returned from running each element of the + * `collection` through the `callback`. The corresponding value of each key is + * an array of elements passed to `callback` that returned the key. The `callback` + * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false` + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * // using "_.pluck" callback shorthand + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + function groupBy(collection, callback, thisArg) { + var result = {}; + callback = createCallback(callback, thisArg); + + forEach(collection, function(value, key, collection) { + key = callback(value, key, collection) + ''; + (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value); + }); + return result; + } + + /** + * Invokes the method named by `methodName` on each element in the `collection`, + * returning an array of the results of each invoked method. Additional arguments + * will be passed to each invoked method. If `methodName` is a function, it will + * be invoked for, and `this` bound to, each element in the `collection`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|String} methodName The name of the method to invoke or + * the function invoked per iteration. + * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the method with. + * @returns {Array} Returns a new array of the results of each invoked method. + * @example + * + * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invoke([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + function invoke(collection, methodName) { + var args = slice(arguments, 2), + index = -1, + isFunc = typeof methodName == 'function', + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + forEach(collection, function(value) { + result[++index] = (isFunc ? methodName : value[methodName]).apply(value, args); + }); + return result; + } + + /** + * Creates an array of values by running each element in the `collection` + * through the `callback`. The `callback` is bound to `thisArg` and invoked with + * three arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias collect + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of the results of each `callback` execution. + * @example + * + * _.map([1, 2, 3], function(num) { return num * 3; }); + * // => [3, 6, 9] + * + * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; }); + * // => [3, 6, 9] (order is not guaranteed) + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.map(stooges, 'name'); + * // => ['moe', 'larry'] + */ + function map(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + callback = createCallback(callback, thisArg); + if (isArray(collection)) { + while (++index < length) { + result[index] = callback(collection[index], index, collection); + } + } else { + each(collection, function(value, key, collection) { + result[++index] = callback(value, key, collection); + }); + } + return result; + } + + /** + * Retrieves the maximum value of an `array`. If `callback` is passed, + * it will be executed for each value in the `array` to generate the + * criterion by which the value is ranked. The `callback` is bound to + * `thisArg` and invoked with three arguments; (value, index, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * _.max(stooges, function(stooge) { return stooge.age; }); + * // => { 'name': 'larry', 'age': 50 }; + * + * // using "_.pluck" callback shorthand + * _.max(stooges, 'age'); + * // => { 'name': 'larry', 'age': 50 }; + */ + function max(collection, callback, thisArg) { + var computed = -Infinity, + result = computed; + + if (!callback && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (value > result) { + result = value; + } + } + } else { + callback = !callback && isString(collection) + ? charAtCallback + : createCallback(callback, thisArg); + + each(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current > computed) { + computed = current; + result = value; + } + }); + } + return result; + } + + /** + * Retrieves the minimum value of an `array`. If `callback` is passed, + * it will be executed for each value in the `array` to generate the + * criterion by which the value is ranked. The `callback` is bound to `thisArg` + * and invoked with three arguments; (value, index, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * _.min(stooges, function(stooge) { return stooge.age; }); + * // => { 'name': 'moe', 'age': 40 }; + * + * // using "_.pluck" callback shorthand + * _.min(stooges, 'age'); + * // => { 'name': 'moe', 'age': 40 }; + */ + function min(collection, callback, thisArg) { + var computed = Infinity, + result = computed; + + if (!callback && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (value < result) { + result = value; + } + } + } else { + callback = !callback && isString(collection) + ? charAtCallback + : createCallback(callback, thisArg); + + each(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current < computed) { + computed = current; + result = value; + } + }); + } + return result; + } + + /** + * Retrieves the value of a specified property from all elements in the `collection`. + * + * @static + * @memberOf _ + * @type Function + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {String} property The property to pluck. + * @returns {Array} Returns a new array of property values. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * _.pluck(stooges, 'name'); + * // => ['moe', 'larry'] + */ + var pluck = map; + + /** + * Reduces a `collection` to a value that is the accumulated result of running + * each element in the `collection` through the `callback`, where each successive + * `callback` execution consumes the return value of the previous execution. + * If `accumulator` is not passed, the first element of the `collection` will be + * used as the initial `accumulator` value. The `callback` is bound to `thisArg` + * and invoked with four arguments; (accumulator, value, index|key, collection). + * + * @static + * @memberOf _ + * @alias foldl, inject + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [accumulator] Initial value of the accumulator. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the accumulated value. + * @example + * + * var sum = _.reduce([1, 2, 3], function(sum, num) { + * return sum + num; + * }); + * // => 6 + * + * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) { + * result[key] = num * 3; + * return result; + * }, {}); + * // => { 'a': 3, 'b': 6, 'c': 9 } + */ + function reduce(collection, callback, accumulator, thisArg) { + var noaccum = arguments.length < 3; + callback = createCallback(callback, thisArg, 4); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + if (noaccum) { + accumulator = collection[++index]; + } + while (++index < length) { + accumulator = callback(accumulator, collection[index], index, collection); + } + } else { + each(collection, function(value, index, collection) { + accumulator = noaccum + ? (noaccum = false, value) + : callback(accumulator, value, index, collection) + }); + } + return accumulator; + } + + /** + * This method is similar to `_.reduce`, except that it iterates over a + * `collection` from right to left. + * + * @static + * @memberOf _ + * @alias foldr + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [accumulator] Initial value of the accumulator. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the accumulated value. + * @example + * + * var list = [[0, 1], [2, 3], [4, 5]]; + * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, callback, accumulator, thisArg) { + var iterable = collection, + length = collection ? collection.length : 0, + noaccum = arguments.length < 3; + + if (typeof length != 'number') { + var props = keys(collection); + length = props.length; + } else if (noCharByIndex && isString(collection)) { + iterable = collection.split(''); + } + callback = createCallback(callback, thisArg, 4); + forEach(collection, function(value, index, collection) { + index = props ? props[--length] : --length; + accumulator = noaccum + ? (noaccum = false, iterable[index]) + : callback(accumulator, iterable[index], index, collection); + }); + return accumulator; + } + + /** + * The opposite of `_.filter`, this method returns the elements of a + * `collection` that `callback` does **not** return truthy for. + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that did **not** pass the + * callback check. + * @example + * + * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [1, 3, 5] + * + * var food = [ + * { 'name': 'apple', 'organic': false, 'type': 'fruit' }, + * { 'name': 'carrot', 'organic': true, 'type': 'vegetable' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.reject(food, 'organic'); + * // => [{ 'name': 'apple', 'organic': false, 'type': 'fruit' }] + * + * // using "_.where" callback shorthand + * _.reject(food, { 'type': 'fruit' }); + * // => [{ 'name': 'carrot', 'organic': true, 'type': 'vegetable' }] + */ + function reject(collection, callback, thisArg) { + callback = createCallback(callback, thisArg); + return filter(collection, function(value, index, collection) { + return !callback(value, index, collection); + }); + } + + /** + * Creates an array of shuffled `array` values, using a version of the + * Fisher-Yates shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to shuffle. + * @returns {Array} Returns a new shuffled collection. + * @example + * + * _.shuffle([1, 2, 3, 4, 5, 6]); + * // => [4, 1, 6, 3, 5, 2] + */ + function shuffle(collection) { + var index = -1, + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + forEach(collection, function(value) { + var rand = floor(nativeRandom() * (++index + 1)); + result[index] = result[rand]; + result[rand] = value; + }); + return result; + } + + /** + * Gets the size of the `collection` by returning `collection.length` for arrays + * and array-like objects or the number of own enumerable properties for objects. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to inspect. + * @returns {Number} Returns `collection.length` or number of own enumerable properties. + * @example + * + * _.size([1, 2]); + * // => 2 + * + * _.size({ 'one': 1, 'two': 2, 'three': 3 }); + * // => 3 + * + * _.size('curly'); + * // => 5 + */ + function size(collection) { + var length = collection ? collection.length : 0; + return typeof length == 'number' ? length : keys(collection).length; + } + + /** + * Checks if the `callback` returns a truthy value for **any** element of a + * `collection`. The function returns as soon as it finds passing value, and + * does not iterate over the entire `collection`. The `callback` is bound to + * `thisArg` and invoked with three arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias any + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Boolean} Returns `true` if any element passes the callback check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var food = [ + * { 'name': 'apple', 'organic': false, 'type': 'fruit' }, + * { 'name': 'carrot', 'organic': true, 'type': 'vegetable' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.some(food, 'organic'); + * // => true + * + * // using "_.where" callback shorthand + * _.some(food, { 'type': 'meat' }); + * // => false + */ + function some(collection, callback, thisArg) { + var result; + callback = createCallback(callback, thisArg); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if ((result = callback(collection[index], index, collection))) { + break; + } + } + } else { + each(collection, function(value, index, collection) { + return !(result = callback(value, index, collection)); + }); + } + return !!result; + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in the `collection` through the `callback`. This method + * performs a stable sort, that is, it will preserve the original sort order of + * equal elements. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of sorted elements. + * @example + * + * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); }); + * // => [3, 1, 2] + * + * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math); + * // => [3, 1, 2] + * + * // using "_.pluck" callback shorthand + * _.sortBy(['banana', 'strawberry', 'apple'], 'length'); + * // => ['apple', 'banana', 'strawberry'] + */ + function sortBy(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + callback = createCallback(callback, thisArg); + forEach(collection, function(value, key, collection) { + result[++index] = { + 'criteria': callback(value, key, collection), + 'index': index, + 'value': value + }; + }); + + length = result.length; + result.sort(compareAscending); + while (length--) { + result[length] = result[length].value; + } + return result; + } + + /** + * Converts the `collection` to an array. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to convert. + * @returns {Array} Returns the new converted array. + * @example + * + * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4); + * // => [2, 3, 4] + */ + function toArray(collection) { + if (collection && typeof collection.length == 'number') { + return noCharByIndex && isString(collection) + ? collection.split('') + : slice(collection); + } + return values(collection); + } + + /** + * Examines each element in a `collection`, returning an array of all elements + * that have the given `properties`. When checking `properties`, this method + * performs a deep comparison between values to determine if they are equivalent + * to each other. + * + * @static + * @memberOf _ + * @type Function + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Object} properties The object of property values to filter by. + * @returns {Array} Returns a new array of elements that have the given `properties`. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 } + * ]; + * + * _.where(stooges, { 'age': 40 }); + * // => [{ 'name': 'moe', 'age': 40 }] + */ + var where = filter; + + /*--------------------------------------------------------------------------*/ + + /** + * Creates an array with all falsey values of `array` removed. The values + * `false`, `null`, `0`, `""`, `undefined` and `NaN` are all falsey. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to compact. + * @returns {Array} Returns a new filtered array. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result.push(value); + } + } + return result; + } + + /** + * Creates an array of `array` elements not present in the other arrays + * using strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to process. + * @param {Array} [array1, array2, ...] Arrays to check. + * @returns {Array} Returns a new array of `array` elements not present in the + * other arrays. + * @example + * + * _.difference([1, 2, 3, 4, 5], [5, 2, 10]); + * // => [1, 3, 4] + */ + function difference(array) { + var index = -1, + length = array ? array.length : 0, + flattened = concat.apply(arrayRef, arguments), + contains = cachedContains(flattened, length), + result = []; + + while (++index < length) { + var value = array[index]; + if (!contains(value)) { + result.push(value); + } + } + return result; + } + + /** + * Gets the first element of the `array`. If a number `n` is passed, the first + * `n` elements of the `array` are returned. If a `callback` function is passed, + * the first elements the `callback` returns truthy for are returned. The `callback` + * is bound to `thisArg` and invoked with three arguments; (value, index, array). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias head, take + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|Number|String} [callback|n] The function called + * per element or the number of elements to return. If a property name or + * object is passed, it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the first element(s) of `array`. + * @example + * + * _.first([1, 2, 3]); + * // => 1 + * + * _.first([1, 2, 3], 2); + * // => [1, 2] + * + * _.first([1, 2, 3], function(num) { + * return num < 3; + * }); + * // => [1, 2] + * + * var food = [ + * { 'name': 'banana', 'organic': true }, + * { 'name': 'beet', 'organic': false }, + * ]; + * + * // using "_.pluck" callback shorthand + * _.first(food, 'organic'); + * // => [{ 'name': 'banana', 'organic': true }] + * + * var food = [ + * { 'name': 'apple', 'type': 'fruit' }, + * { 'name': 'banana', 'type': 'fruit' }, + * { 'name': 'beet', 'type': 'vegetable' } + * ]; + * + * // using "_.where" callback shorthand + * _.first(food, { 'type': 'fruit' }); + * // => [{ 'name': 'apple', 'type': 'fruit' }, { 'name': 'banana', 'type': 'fruit' }] + */ + function first(array, callback, thisArg) { + if (array) { + var n = 0, + length = array.length; + + if (typeof callback != 'number' && callback != null) { + var index = -1; + callback = createCallback(callback, thisArg); + while (++index < length && callback(array[index], index, array)) { + n++; + } + } else { + n = callback; + if (n == null || thisArg) { + return array[0]; + } + } + return slice(array, 0, nativeMin(nativeMax(0, n), length)); + } + } + + /** + * Flattens a nested array (the nesting can be to any depth). If `shallow` is + * truthy, `array` will only be flattened a single level. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to compact. + * @param {Boolean} shallow A flag to indicate only flattening a single level. + * @returns {Array} Returns a new flattened array. + * @example + * + * _.flatten([1, [2], [3, [[4]]]]); + * // => [1, 2, 3, 4]; + * + * _.flatten([1, [2], [3, [[4]]]], true); + * // => [1, 2, 3, [[4]]]; + */ + function flatten(array, shallow) { + var index = -1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + + // recursively flatten arrays (susceptible to call stack limits) + if (isArray(value)) { + push.apply(result, shallow ? value : flatten(value)); + } else { + result.push(value); + } + } + return result; + } + + /** + * Gets the index at which the first occurrence of `value` is found using + * strict equality for comparisons, i.e. `===`. If the `array` is already + * sorted, passing `true` for `fromIndex` will run a faster binary search. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Mixed} value The value to search for. + * @param {Boolean|Number} [fromIndex=0] The index to search from or `true` to + * perform a binary search on a sorted `array`. + * @returns {Number} Returns the index of the matched value or `-1`. + * @example + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2); + * // => 1 + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 4 + * + * _.indexOf([1, 1, 2, 2, 3, 3], 2, true); + * // => 2 + */ + function indexOf(array, value, fromIndex) { + var index = -1, + length = array ? array.length : 0; + + if (typeof fromIndex == 'number') { + index = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0) - 1; + } else if (fromIndex) { + index = sortedIndex(array, value); + return array[index] === value ? index : -1; + } + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * Gets all but the last element of `array`. If a number `n` is passed, the + * last `n` elements are excluded from the result. If a `callback` function + * is passed, the last elements the `callback` returns truthy for are excluded + * from the result. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, index, array). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|Number|String} [callback|n=1] The function called + * per element or the number of elements to exclude. If a property name or + * object is passed, it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + * + * _.initial([1, 2, 3], 2); + * // => [1] + * + * _.initial([1, 2, 3], function(num) { + * return num > 1; + * }); + * // => [1] + * + * var food = [ + * { 'name': 'beet', 'organic': false }, + * { 'name': 'carrot', 'organic': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.initial(food, 'organic'); + * // => [{ 'name': 'beet', 'organic': false }] + * + * var food = [ + * { 'name': 'banana', 'type': 'fruit' }, + * { 'name': 'beet', 'type': 'vegetable' }, + * { 'name': 'carrot', 'type': 'vegetable' } + * ]; + * + * // using "_.where" callback shorthand + * _.initial(food, { 'type': 'vegetable' }); + * // => [{ 'name': 'banana', 'type': 'fruit' }] + */ + function initial(array, callback, thisArg) { + if (!array) { + return []; + } + var n = 0, + length = array.length; + + if (typeof callback != 'number' && callback != null) { + var index = length; + callback = createCallback(callback, thisArg); + while (index-- && callback(array[index], index, array)) { + n++; + } + } else { + n = (callback == null || thisArg) ? 1 : callback || n; + } + return slice(array, 0, nativeMin(nativeMax(0, length - n), length)); + } + + /** + * Computes the intersection of all the passed-in arrays using strict equality + * for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} [array1, array2, ...] Arrays to process. + * @returns {Array} Returns a new array of unique elements that are present + * in **all** of the arrays. + * @example + * + * _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); + * // => [1, 2] + */ + function intersection(array) { + var args = arguments, + argsLength = args.length, + cache = { '0': {} }, + index = -1, + length = array ? array.length : 0, + isLarge = length >= 100, + result = [], + seen = result; + + outer: + while (++index < length) { + var value = array[index]; + if (isLarge) { + var key = value + ''; + var inited = hasOwnProperty.call(cache[0], key) + ? !(seen = cache[0][key]) + : (seen = cache[0][key] = []); + } + if (inited || indexOf(seen, value) < 0) { + if (isLarge) { + seen.push(value); + } + var argsIndex = argsLength; + while (--argsIndex) { + if (!(cache[argsIndex] || (cache[argsIndex] = cachedContains(args[argsIndex], 0, 100)))(value)) { + continue outer; + } + } + result.push(value); + } + } + return result; + } + + /** + * Gets the last element of the `array`. If a number `n` is passed, the last + * `n` elements of the `array` are returned. If a `callback` function is passed, + * the last elements the `callback` returns truthy for are returned. The `callback` + * is bound to `thisArg` and invoked with three arguments; (value, index, array). + * + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|Number|String} [callback|n] The function called + * per element or the number of elements to return. If a property name or + * object is passed, it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the last element(s) of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + * + * _.last([1, 2, 3], 2); + * // => [2, 3] + * + * _.last([1, 2, 3], function(num) { + * return num > 1; + * }); + * // => [2, 3] + * + * var food = [ + * { 'name': 'beet', 'organic': false }, + * { 'name': 'carrot', 'organic': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.last(food, 'organic'); + * // => [{ 'name': 'carrot', 'organic': true }] + * + * var food = [ + * { 'name': 'banana', 'type': 'fruit' }, + * { 'name': 'beet', 'type': 'vegetable' }, + * { 'name': 'carrot', 'type': 'vegetable' } + * ]; + * + * // using "_.where" callback shorthand + * _.last(food, { 'type': 'vegetable' }); + * // => [{ 'name': 'beet', 'type': 'vegetable' }, { 'name': 'carrot', 'type': 'vegetable' }] + */ + function last(array, callback, thisArg) { + if (array) { + var n = 0, + length = array.length; + + if (typeof callback != 'number' && callback != null) { + var index = length; + callback = createCallback(callback, thisArg); + while (index-- && callback(array[index], index, array)) { + n++; + } + } else { + n = callback; + if (n == null || thisArg) { + return array[length - 1]; + } + } + return slice(array, nativeMax(0, length - n)); + } + } + + /** + * Gets the index at which the last occurrence of `value` is found using strict + * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used + * as the offset from the end of the collection. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Mixed} value The value to search for. + * @param {Number} [fromIndex=array.length-1] The index to search from. + * @returns {Number} Returns the index of the matched value or `-1`. + * @example + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); + * // => 4 + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var index = array ? array.length : 0; + if (typeof fromIndex == 'number') { + index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1; + } + while (index--) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * Creates an object composed from arrays of `keys` and `values`. Pass either + * a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or + * two arrays, one of `keys` and one of corresponding `values`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} keys The array of keys. + * @param {Array} [values=[]] The array of values. + * @returns {Object} Returns an object composed of the given keys and + * corresponding values. + * @example + * + * _.object(['moe', 'larry'], [30, 40]); + * // => { 'moe': 30, 'larry': 40 } + */ + function object(keys, values) { + var index = -1, + length = keys ? keys.length : 0, + result = {}; + + while (++index < length) { + var key = keys[index]; + if (values) { + result[key] = values[index]; + } else { + result[key[0]] = key[1]; + } + } + return result; + } + + /** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to but not including `end`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Number} [start=0] The start of the range. + * @param {Number} end The end of the range. + * @param {Number} [step=1] The value to increment or descrement by. + * @returns {Array} Returns a new range array. + * @example + * + * _.range(10); + * // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + * + * _.range(1, 11); + * // => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + * + * _.range(0, 30, 5); + * // => [0, 5, 10, 15, 20, 25] + * + * _.range(0, -10, -1); + * // => [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] + * + * _.range(0); + * // => [] + */ + function range(start, end, step) { + start = +start || 0; + step = +step || 1; + + if (end == null) { + end = start; + start = 0; + } + // use `Array(length)` so V8 will avoid the slower "dictionary" mode + // http://youtu.be/XAqIpGU8ZZk#t=17m25s + var index = -1, + length = nativeMax(0, ceil((end - start) / step)), + result = Array(length); + + while (++index < length) { + result[index] = start; + start += step; + } + return result; + } + + /** + * The opposite of `_.initial`, this method gets all but the first value of `array`. + * If a number `n` is passed, the first `n` values are excluded from the result. + * If a `callback` function is passed, the first elements the `callback` returns + * truthy for are excluded from the result. The `callback` is bound to `thisArg` + * and invoked with three arguments; (value, index, array). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias drop, tail + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|Number|String} [callback|n=1] The function called + * per element or the number of elements to exclude. If a property name or + * object is passed, it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a slice of `array`. + * @example + * + * _.rest([1, 2, 3]); + * // => [2, 3] + * + * _.rest([1, 2, 3], 2); + * // => [3] + * + * _.rest([1, 2, 3], function(num) { + * return num < 3; + * }); + * // => [3] + * + * var food = [ + * { 'name': 'banana', 'organic': true }, + * { 'name': 'beet', 'organic': false }, + * ]; + * + * // using "_.pluck" callback shorthand + * _.rest(food, 'organic'); + * // => [{ 'name': 'beet', 'organic': false }] + * + * var food = [ + * { 'name': 'apple', 'type': 'fruit' }, + * { 'name': 'banana', 'type': 'fruit' }, + * { 'name': 'beet', 'type': 'vegetable' } + * ]; + * + * // using "_.where" callback shorthand + * _.rest(food, { 'type': 'fruit' }); + * // => [{ 'name': 'beet', 'type': 'vegetable' }] + */ + function rest(array, callback, thisArg) { + if (typeof callback != 'number' && callback != null) { + var n = 0, + index = -1, + length = array ? array.length : 0; + + callback = createCallback(callback, thisArg); + while (++index < length && callback(array[index], index, array)) { + n++; + } + } else { + n = (callback == null || thisArg) ? 1 : nativeMax(0, callback); + } + return slice(array, n); + } + + /** + * Uses a binary search to determine the smallest index at which the `value` + * should be inserted into `array` in order to maintain the sort order of the + * sorted `array`. If `callback` is passed, it will be executed for `value` and + * each element in `array` to compute their sort ranking. The `callback` is + * bound to `thisArg` and invoked with one argument; (value). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to iterate over. + * @param {Mixed} value The value to evaluate. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Number} Returns the index at which the value should be inserted + * into `array`. + * @example + * + * _.sortedIndex([20, 30, 50], 40); + * // => 2 + * + * // using "_.pluck" callback shorthand + * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); + * // => 2 + * + * var dict = { + * 'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 } + * }; + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return dict.wordToNumber[word]; + * }); + * // => 2 + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return this.wordToNumber[word]; + * }, dict); + * // => 2 + */ + function sortedIndex(array, value, callback, thisArg) { + var low = 0, + high = array ? array.length : low; + + // explicitly reference `identity` for better inlining in Firefox + callback = callback ? createCallback(callback, thisArg, 1) : identity; + value = callback(value); + + while (low < high) { + var mid = (low + high) >>> 1; + callback(array[mid]) < value + ? low = mid + 1 + : high = mid; + } + return low; + } + + /** + * Computes the union of the passed-in arrays using strict equality for + * comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} [array1, array2, ...] Arrays to process. + * @returns {Array} Returns a new array of unique values, in order, that are + * present in one or more of the arrays. + * @example + * + * _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); + * // => [1, 2, 3, 101, 10] + */ + function union() { + return uniq(concat.apply(arrayRef, arguments)); + } + + /** + * Creates a duplicate-value-free version of the `array` using strict equality + * for comparisons, i.e. `===`. If the `array` is already sorted, passing `true` + * for `isSorted` will run a faster algorithm. If `callback` is passed, each + * element of `array` is passed through a callback` before uniqueness is computed. + * The `callback` is bound to `thisArg` and invoked with three arguments; (value, index, array). + * + * If a property name is passed for `callback`, the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is passed for `callback`, the created "_.where" style callback + * will return `true` for elements that have the propeties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias unique + * @category Arrays + * @param {Array} array The array to process. + * @param {Boolean} [isSorted=false] A flag to indicate that the `array` is already sorted. + * @param {Function|Object|String} [callback=identity] The function called per + * iteration. If a property name or object is passed, it will be used to create + * a "_.pluck" or "_.where" style callback, respectively. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a duplicate-value-free array. + * @example + * + * _.uniq([1, 2, 1, 3, 1]); + * // => [1, 2, 3] + * + * _.uniq([1, 1, 2, 2, 3], true); + * // => [1, 2, 3] + * + * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return Math.floor(num); }); + * // => [1, 2, 3] + * + * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return this.floor(num); }, Math); + * // => [1, 2, 3] + * + * // using "_.pluck" callback shorthand + * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniq(array, isSorted, callback, thisArg) { + var index = -1, + length = array ? array.length : 0, + result = [], + seen = result; + + // juggle arguments + if (typeof isSorted == 'function') { + thisArg = callback; + callback = isSorted; + isSorted = false; + } + // init value cache for large arrays + var isLarge = !isSorted && length >= 75; + if (isLarge) { + var cache = {}; + } + if (callback) { + seen = []; + callback = createCallback(callback, thisArg); + } + while (++index < length) { + var value = array[index], + computed = callback ? callback(value, index, array) : value; + + if (isLarge) { + var key = computed + ''; + var inited = hasOwnProperty.call(cache, key) + ? !(seen = cache[key]) + : (seen = cache[key] = []); + } + if (isSorted + ? !index || seen[seen.length - 1] !== computed + : inited || indexOf(seen, computed) < 0 + ) { + if (callback || isLarge) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * Creates an array with all occurrences of the passed values removed using + * strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to filter. + * @param {Mixed} [value1, value2, ...] Values to remove. + * @returns {Array} Returns a new filtered array. + * @example + * + * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); + * // => [2, 3, 4] + */ + function without(array) { + var index = -1, + length = array ? array.length : 0, + contains = cachedContains(arguments, 1), + result = []; + + while (++index < length) { + var value = array[index]; + if (!contains(value)) { + result.push(value); + } + } + return result; + } + + /** + * Groups the elements of each array at their corresponding indexes. Useful for + * separate data sources that are coordinated through matching array indexes. + * For a matrix of nested arrays, `_.zip.apply(...)` can transpose the matrix + * in a similar fashion. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} [array1, array2, ...] Arrays to process. + * @returns {Array} Returns a new array of grouped elements. + * @example + * + * _.zip(['moe', 'larry'], [30, 40], [true, false]); + * // => [['moe', 30, true], ['larry', 40, false]] + */ + function zip(array) { + var index = -1, + length = array ? max(pluck(arguments, 'length')) : 0, + result = Array(length); + + while (++index < length) { + result[index] = pluck(arguments, index); + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function that is restricted to executing `func` only after it is + * called `n` times. The `func` is executed with the `this` binding of the + * created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Number} n The number of times the function must be called before + * it is executed. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var renderNotes = _.after(notes.length, render); + * _.forEach(notes, function(note) { + * note.asyncSave({ 'success': renderNotes }); + * }); + * // `renderNotes` is run once, after all notes have saved + */ + function after(n, func) { + if (n < 1) { + return func(); + } + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that, when called, invokes `func` with the `this` + * binding of `thisArg` and prepends any additional `bind` arguments to those + * passed to the bound function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to bind. + * @param {Mixed} [thisArg] The `this` binding of `func`. + * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var func = function(greeting) { + * return greeting + ' ' + this.name; + * }; + * + * func = _.bind(func, { 'name': 'moe' }, 'hi'); + * func(); + * // => 'hi moe' + */ + function bind(func, thisArg) { + // use `Function#bind` if it exists and is fast + // (in V8 `Function#bind` is slower except when partially applied) + return isBindFast || (nativeBind && arguments.length > 2) + ? nativeBind.call.apply(nativeBind, arguments) + : createBound(func, thisArg, slice(arguments, 2)); + } + + /** + * Binds methods on `object` to `object`, overwriting the existing method. + * Method names may be specified as individual arguments or as arrays of method + * names. If no method names are provided, all the function properties of `object` + * will be bound. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object to bind and assign the bound methods to. + * @param {String} [methodName1, methodName2, ...] Method names on the object to bind. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'onClick': function() { alert('clicked ' + this.label); } + * }; + * + * _.bindAll(view); + * jQuery('#docs').on('click', view.onClick); + * // => alerts 'clicked docs', when the button is clicked + */ + function bindAll(object) { + var funcs = concat.apply(arrayRef, arguments), + index = funcs.length > 1 ? 0 : (funcs = functions(object), -1), + length = funcs.length; + + while (++index < length) { + var key = funcs[index]; + object[key] = bind(object[key], object); + } + return object; + } + + /** + * Creates a function that, when called, invokes the method at `object[key]` + * and prepends any additional `bindKey` arguments to those passed to the bound + * function. This method differs from `_.bind` by allowing bound functions to + * reference methods that will be redefined or don't yet exist. + * See http://michaux.ca/articles/lazy-function-definition-pattern. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object the method belongs to. + * @param {String} key The key of the method. + * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'name': 'moe', + * 'greet': function(greeting) { + * return greeting + ' ' + this.name; + * } + * }; + * + * var func = _.bindKey(object, 'greet', 'hi'); + * func(); + * // => 'hi moe' + * + * object.greet = function(greeting) { + * return greeting + ', ' + this.name + '!'; + * }; + * + * func(); + * // => 'hi, moe!' + */ + function bindKey(object, key) { + return createBound(object, key, slice(arguments, 2)); + } + + /** + * Creates a function that is the composition of the passed functions, + * where each function consumes the return value of the function that follows. + * For example, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`. + * Each function is executed with the `this` binding of the composed function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} [func1, func2, ...] Functions to compose. + * @returns {Function} Returns the new composed function. + * @example + * + * var greet = function(name) { return 'hi ' + name; }; + * var exclaim = function(statement) { return statement + '!'; }; + * var welcome = _.compose(exclaim, greet); + * welcome('moe'); + * // => 'hi moe!' + */ + function compose() { + var funcs = arguments; + return function() { + var args = arguments, + length = funcs.length; + + while (length--) { + args = [funcs[length].apply(this, args)]; + } + return args[0]; + }; + } + + /** + * Creates a function that will delay the execution of `func` until after + * `wait` milliseconds have elapsed since the last time it was invoked. Pass + * `true` for `immediate` to cause debounce to invoke `func` on the leading, + * instead of the trailing, edge of the `wait` timeout. Subsequent calls to + * the debounced function will return the result of the last `func` call. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to debounce. + * @param {Number} wait The number of milliseconds to delay. + * @param {Boolean} immediate A flag to indicate execution is on the leading + * edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * var lazyLayout = _.debounce(calculateLayout, 300); + * jQuery(window).on('resize', lazyLayout); + */ + function debounce(func, wait, immediate) { + var args, + result, + thisArg, + timeoutId; + + function delayed() { + timeoutId = null; + if (!immediate) { + result = func.apply(thisArg, args); + } + } + return function() { + var isImmediate = immediate && !timeoutId; + args = arguments; + thisArg = this; + + clearTimeout(timeoutId); + timeoutId = setTimeout(delayed, wait); + + if (isImmediate) { + result = func.apply(thisArg, args); + } + return result; + }; + } + + /** + * Executes the `func` function after `wait` milliseconds. Additional arguments + * will be passed to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to delay. + * @param {Number} wait The number of milliseconds to delay execution. + * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with. + * @returns {Number} Returns the `setTimeout` timeout id. + * @example + * + * var log = _.bind(console.log, console); + * _.delay(log, 1000, 'logged later'); + * // => 'logged later' (Appears after one second.) + */ + function delay(func, wait) { + var args = slice(arguments, 2); + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * Defers executing the `func` function until the current call stack has cleared. + * Additional arguments will be passed to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to defer. + * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with. + * @returns {Number} Returns the `setTimeout` timeout id. + * @example + * + * _.defer(function() { alert('deferred'); }); + * // returns from the function before `alert` is called + */ + function defer(func) { + var args = slice(arguments, 1); + return setTimeout(function() { func.apply(undefined, args); }, 1); + } + // use `setImmediate` if it's available in Node.js + if (isV8 && freeModule && typeof setImmediate == 'function') { + defer = bind(setImmediate, window); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * passed, it will be used to determine the cache key for storing the result + * based on the arguments passed to the memoized function. By default, the first + * argument passed to the memoized function is used as the cache key. The `func` + * is executed with the `this` binding of the memoized function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] A function used to resolve the cache key. + * @returns {Function} Returns the new memoizing function. + * @example + * + * var fibonacci = _.memoize(function(n) { + * return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); + * }); + */ + function memoize(func, resolver) { + var cache = {}; + return function() { + var key = (resolver ? resolver.apply(this, arguments) : arguments[0]) + ''; + return hasOwnProperty.call(cache, key) + ? cache[key] + : (cache[key] = func.apply(this, arguments)); + }; + } + + /** + * Creates a function that is restricted to execute `func` once. Repeat calls to + * the function will return the value of the first call. The `func` is executed + * with the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // `initialize` executes `createApplication` once + */ + function once(func) { + var ran, + result; + + return function() { + if (ran) { + return result; + } + ran = true; + result = func.apply(this, arguments); + + // clear the `func` variable so the function may be garbage collected + func = null; + return result; + }; + } + + /** + * Creates a function that, when called, invokes `func` with any additional + * `partial` arguments prepended to those passed to the new function. This + * method is similar to `_.bind`, except it does **not** alter the `this` binding. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to partially apply arguments to. + * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * var greet = function(greeting, name) { return greeting + ' ' + name; }; + * var hi = _.partial(greet, 'hi'); + * hi('moe'); + * // => 'hi moe' + */ + function partial(func) { + return createBound(func, slice(arguments, 1)); + } + + /** + * This method is similar to `_.partial`, except that `partial` arguments are + * appended to those passed to the new function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to partially apply arguments to. + * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * var defaultsDeep = _.partialRight(_.merge, _.defaults); + * + * var options = { + * 'variable': 'data', + * 'imports': { 'jq': $ } + * }; + * + * defaultsDeep(options, _.templateSettings); + * + * options.variable + * // => 'data' + * + * options.imports + * // => { '_': _, 'jq': $ } + */ + function partialRight(func) { + return createBound(func, slice(arguments, 1), null, indicatorObject); + } + + /** + * Creates a function that, when executed, will only call the `func` + * function at most once per every `wait` milliseconds. If the throttled + * function is invoked more than once during the `wait` timeout, `func` will + * also be called on the trailing edge of the timeout. Subsequent calls to the + * throttled function will return the result of the last `func` call. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to throttle. + * @param {Number} wait The number of milliseconds to throttle executions to. + * @returns {Function} Returns the new throttled function. + * @example + * + * var throttled = _.throttle(updatePosition, 100); + * jQuery(window).on('scroll', throttled); + */ + function throttle(func, wait) { + var args, + result, + thisArg, + timeoutId, + lastCalled = 0; + + function trailingCall() { + lastCalled = new Date; + timeoutId = null; + result = func.apply(thisArg, args); + } + return function() { + var now = new Date, + remaining = wait - (now - lastCalled); + + args = arguments; + thisArg = this; + + if (remaining <= 0) { + clearTimeout(timeoutId); + timeoutId = null; + lastCalled = now; + result = func.apply(thisArg, args); + } + else if (!timeoutId) { + timeoutId = setTimeout(trailingCall, remaining); + } + return result; + }; + } + + /** + * Creates a function that passes `value` to the `wrapper` function as its + * first argument. Additional arguments passed to the function are appended + * to those passed to the `wrapper` function. The `wrapper` is executed with + * the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Mixed} value The value to wrap. + * @param {Function} wrapper The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var hello = function(name) { return 'hello ' + name; }; + * hello = _.wrap(hello, function(func) { + * return 'before, ' + func('moe') + ', after'; + * }); + * hello(); + * // => 'before, hello moe, after' + */ + function wrap(value, wrapper) { + return function() { + var args = [value]; + push.apply(args, arguments); + return wrapper.apply(this, args); + }; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their + * corresponding HTML entities. + * + * @static + * @memberOf _ + * @category Utilities + * @param {String} string The string to escape. + * @returns {String} Returns the escaped string. + * @example + * + * _.escape('Moe, Larry & Curly'); + * // => 'Moe, Larry & Curly' + */ + function escape(string) { + return string == null ? '' : (string + '').replace(reUnescapedHtml, escapeHtmlChar); + } + + /** + * This function returns the first argument passed to it. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Mixed} value Any value. + * @returns {Mixed} Returns `value`. + * @example + * + * var moe = { 'name': 'moe' }; + * moe === _.identity(moe); + * // => true + */ + function identity(value) { + return value; + } + + /** + * Adds functions properties of `object` to the `lodash` function and chainable + * wrapper. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Object} object The object of function properties to add to `lodash`. + * @example + * + * _.mixin({ + * 'capitalize': function(string) { + * return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase(); + * } + * }); + * + * _.capitalize('moe'); + * // => 'Moe' + * + * _('moe').capitalize(); + * // => 'Moe' + */ + function mixin(object) { + forEach(functions(object), function(methodName) { + var func = lodash[methodName] = object[methodName]; + + lodash.prototype[methodName] = function() { + var args = [this.__wrapped__]; + push.apply(args, arguments); + return new lodash(func.apply(lodash, args)); + }; + }); + } + + /** + * Reverts the '_' variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @memberOf _ + * @category Utilities + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + window._ = oldDash; + return this; + } + + /** + * Produces a random number between `min` and `max` (inclusive). If only one + * argument is passed, a number between `0` and the given number will be returned. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Number} [min=0] The minimum possible value. + * @param {Number} [max=1] The maximum possible value. + * @returns {Number} Returns a random number. + * @example + * + * _.random(0, 5); + * // => a number between 0 and 5 + * + * _.random(5); + * // => also a number between 0 and 5 + */ + function random(min, max) { + if (min == null && max == null) { + max = 1; + } + min = +min || 0; + if (max == null) { + max = min; + min = 0; + } + return min + floor(nativeRandom() * ((+max || 0) - min + 1)); + } + + /** + * Resolves the value of `property` on `object`. If `property` is a function, + * it will be invoked and its result returned, else the property value is + * returned. If `object` is falsey, then `null` is returned. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Object} object The object to inspect. + * @param {String} property The property to get the value of. + * @returns {Mixed} Returns the resolved value. + * @example + * + * var object = { + * 'cheese': 'crumpets', + * 'stuff': function() { + * return 'nonsense'; + * } + * }; + * + * _.result(object, 'cheese'); + * // => 'crumpets' + * + * _.result(object, 'stuff'); + * // => 'nonsense' + */ + function result(object, property) { + var value = object ? object[property] : undefined; + return isFunction(value) ? object[property]() : value; + } + + /** + * A micro-templating method that handles arbitrary delimiters, preserves + * whitespace, and correctly escapes quotes within interpolated code. + * + * Note: In the development build, `_.template` utilizes sourceURLs for easier + * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl + * + * Note: Lo-Dash may be used in Chrome extensions by either creating a `lodash csp` + * build and using precompiled templates, or loading Lo-Dash in a sandbox. + * + * For more information on precompiling templates see: + * http://lodash.com/#custom-builds + * + * For more information on Chrome extension sandboxes see: + * http://developer.chrome.com/stable/extensions/sandboxingEval.html + * + * @static + * @memberOf _ + * @category Utilities + * @param {String} text The template text. + * @param {Obect} data The data object used to populate the text. + * @param {Object} options The options object. + * escape - The "escape" delimiter regexp. + * evaluate - The "evaluate" delimiter regexp. + * interpolate - The "interpolate" delimiter regexp. + * sourceURL - The sourceURL of the template's compiled source. + * variable - The data object variable name. + * + * @returns {Function|String} Returns a compiled function when no `data` object + * is given, else it returns the interpolated text. + * @example + * + * // using a compiled template + * var compiled = _.template('hello <%= name %>'); + * compiled({ 'name': 'moe' }); + * // => 'hello moe' + * + * var list = '<% _.forEach(people, function(name) { %>
      • <%= name %>
      • <% }); %>'; + * _.template(list, { 'people': ['moe', 'larry'] }); + * // => '
      • moe
      • larry
      • ' + * + * // using the "escape" delimiter to escape HTML in data property values + * _.template('<%- value %>', { 'value': '\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n\n// or as a drop-in replacement for Underscore\nvar _ = require('lodash/lodash.underscore');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require('lodash')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n 'paths': {\n 'underscore': 'path/to/lodash'\n }\n},\n['underscore'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### v1.0.1\n\n * Add support for specifying source map URLs in `-p`/`--source-map` build options\n * Ensured the second argument passed to `_.assign` is not treated as a `callback`\n * Ensured `-p`/`--source-map` build options correctly set the `sourceMappingURL`\n * Made `-p`/`--source-map` build options set source map *“sources”* keys based on the builds performed\n * Made `_.defer` use `setImmediate`, in Node.js, when available\n * Made `_.where` search arrays for values regardless of their index position\n * Removed dead code from `_.template`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n", + "readmeFilename": "README.md", + "_id": "lodash@1.0.1", + "_from": "lodash@~1.0.1" +} diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/package.json b/static/js/node_modules/grunt/node_modules/findup-sync/package.json new file mode 100644 index 0000000..7940868 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/package.json @@ -0,0 +1,48 @@ +{ + "name": "findup-sync", + "description": "Find the first file matching a given pattern in the current directory or the nearest ancestor directory.", + "version": "0.1.2", + "homepage": "https://github.com/cowboy/node-findup-sync", + "author": { + "name": "\"Cowboy\" Ben Alman", + "url": "http://benalman.com/" + }, + "repository": { + "type": "git", + "url": "git://github.com/cowboy/node-findup-sync.git" + }, + "bugs": { + "url": "https://github.com/cowboy/node-findup-sync/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/cowboy/node-findup-sync/blob/master/LICENSE-MIT" + } + ], + "main": "lib/findup-sync", + "engines": { + "node": ">= 0.6.0" + }, + "scripts": { + "test": "grunt nodeunit" + }, + "dependencies": { + "glob": "~3.1.21", + "lodash": "~1.0.1" + }, + "devDependencies": { + "grunt": "~0.4.0", + "grunt-contrib-jshint": "~0.2.0", + "grunt-contrib-nodeunit": "~0.1.2" + }, + "keywords": [ + "find", + "glob", + "file" + ], + "readme": "# findup-sync\n\nFind the first file matching a given pattern in the current directory or the nearest ancestor directory.\n\n## Getting Started\nInstall the module with: `npm install findup-sync`\n\n```js\nvar findup = require('findup-sync');\n\n// Start looking in the CWD.\nvar filepath1 = findup('{a,b}*.txt');\n\n// Start looking somewhere else, and ignore case (probably a good idea).\nvar filepath2 = findup('{a,b}*.txt', {cwd: '/some/path', nocase: true});\n```\n\n## Usage\n\n```js\nfindup(patternOrPatterns [, minimatchOptions])\n```\n\n### patternOrPatterns\nType: `String` or `Array` \nDefault: none\n\nOne or more wildcard glob patterns. Or just filenames.\n\n### minimatchOptions\nType: `Object` \nDefault: `{}`\n\nOptions to be passed to [minimatch](https://github.com/isaacs/minimatch).\n\nNote that if you want to start in a different directory than the current working directory, specify a `cwd` property here.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2013-03-08 - v0.1.2 - Updated dependencies. Fixed a Node 0.9.x bug. Updated unit tests to work cross-platform. \n2012-11-15 - v0.1.1 - Now works without an options object. \n2012-11-01 - v0.1.0 - Initial release.\n", + "readmeFilename": "README.md", + "_id": "findup-sync@0.1.2", + "_from": "findup-sync@~0.1.2" +} diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js b/static/js/node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js new file mode 100644 index 0000000..f8baf9e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js @@ -0,0 +1,48 @@ +'use strict'; + +// Nodejs lib. +var path = require('path'); + +var findup = require('../lib/findup-sync.js'); + +// Get a relative path. +var rel = function(abspath) { + return typeof abspath === 'string' ? path.relative('.', abspath) : abspath; +}; + +exports['findup'] = { + setUp: function(done) { + this.cwd = process.cwd(); + done(); + }, + tearDown: function(done) { + process.chdir(this.cwd); + done(); + }, + 'simple': function(test) { + test.expect(8); + var opts = {cwd: 'test/fixtures/a/b'}; + test.equal(rel(findup('foo.txt', opts)), path.normalize('test/fixtures/a/foo.txt'), 'should find files'); + test.equal(rel(findup('bar.txt', opts)), path.normalize('test/fixtures/a/b/bar.txt'), 'should find files'); + test.equal(rel(findup('a.txt', opts)), path.normalize('test/fixtures/a.txt'), 'should find files'); + test.equal(rel(findup('?.txt', opts)), path.normalize('test/fixtures/a.txt'), 'should support glob patterns'); + test.equal(rel(findup('*.txt', opts)), path.normalize('test/fixtures/a/b/bar.txt'), 'should find the first thing that matches the glob pattern'); + test.equal(rel(findup(['b*.txt', 'f*.txt'], opts)), path.normalize('test/fixtures/a/b/bar.txt'), 'should find the first thing that matches any of the glob patterns'); + test.equal(rel(findup(['f*.txt', 'b*.txt'], opts)), path.normalize('test/fixtures/a/b/bar.txt'), 'should find the first thing that matches any of the glob patterns'); + test.equal(findup('not-gonna-exist-i-hope.txt', opts), null, 'should returning null if no files found'); + test.done(); + }, + 'cwd': function(test) { + test.expect(8); + process.chdir('test/fixtures/a/b'); + test.equal(rel(findup('foo.txt')), path.normalize('../foo.txt'), 'should find files'); + test.equal(rel(findup('bar.txt')), 'bar.txt', 'should find files'); + test.equal(rel(findup('a.txt')), path.normalize('../../a.txt'), 'should find files'); + test.equal(rel(findup('?.txt')), path.normalize('../../a.txt'), 'should support glob patterns'); + test.equal(rel(findup('*.txt')), 'bar.txt', 'should find the first thing that matches the glob pattern'); + test.equal(rel(findup(['b*.txt', 'f*.txt'])), 'bar.txt', 'should find the first thing that matches any of the glob patterns'); + test.equal(rel(findup(['f*.txt', 'b*.txt'])), 'bar.txt', 'should find the first thing that matches any of the glob patterns'); + test.equal(findup('not-gonna-exist-i-hope.txt'), null, 'should returning null if no files found'); + test.done(); + }, +}; diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a.txt b/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a.txt new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/b/bar.txt b/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/b/bar.txt new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/foo.txt b/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/foo.txt new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt b/static/js/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/getobject/.jshintrc b/static/js/node_modules/grunt/node_modules/getobject/.jshintrc new file mode 100644 index 0000000..2c40c44 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/.jshintrc @@ -0,0 +1,15 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "unused": true, + "boss": true, + "eqnull": true, + "node": true, + "es5": true +} diff --git a/static/js/node_modules/grunt/node_modules/getobject/.npmignore b/static/js/node_modules/grunt/node_modules/getobject/.npmignore new file mode 100644 index 0000000..2ccbe46 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/.npmignore @@ -0,0 +1 @@ +/node_modules/ diff --git a/static/js/node_modules/grunt/node_modules/getobject/.travis.yml b/static/js/node_modules/grunt/node_modules/getobject/.travis.yml new file mode 100644 index 0000000..cbace30 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "0.8" + - "0.10" +before_script: + - npm install -g grunt-cli diff --git a/static/js/node_modules/grunt/node_modules/getobject/Gruntfile.js b/static/js/node_modules/grunt/node_modules/getobject/Gruntfile.js new file mode 100644 index 0000000..c3f7d74 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/Gruntfile.js @@ -0,0 +1,48 @@ +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + nodeunit: { + files: ['test/**/*_test.js'], + }, + jshint: { + options: { + jshintrc: '.jshintrc' + }, + gruntfile: { + src: 'Gruntfile.js' + }, + lib: { + src: ['lib/**/*.js'] + }, + test: { + src: ['test/*.js'] + }, + }, + watch: { + gruntfile: { + files: '<%= jshint.gruntfile.src %>', + tasks: ['jshint:gruntfile'] + }, + lib: { + files: '<%= jshint.lib.src %>', + tasks: ['jshint:lib', 'nodeunit'] + }, + test: { + files: '<%= jshint.test.src %>', + tasks: ['jshint:test', 'nodeunit'] + }, + }, + }); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-watch'); + + // Default task. + grunt.registerTask('default', ['jshint', 'nodeunit']); + +}; diff --git a/static/js/node_modules/grunt/node_modules/getobject/LICENSE-MIT b/static/js/node_modules/grunt/node_modules/getobject/LICENSE-MIT new file mode 100644 index 0000000..bb2aad6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2013 "Cowboy" Ben Alman + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/getobject/README.md b/static/js/node_modules/grunt/node_modules/getobject/README.md new file mode 100644 index 0000000..6d27c24 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/README.md @@ -0,0 +1,20 @@ +# getobject [![Build Status](https://secure.travis-ci.org/cowboy/node-getobject.png?branch=master)](http://travis-ci.org/cowboy/node-getobject) + +get.and.set.deep.objects.easily = true; + +## Getting Started +Install the module with: `npm install getobject` + +```javascript +var getobject = require('getobject'); +``` + +## Contributing +In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/). + +## Release History +_(Nothing yet)_ + +## License +Copyright (c) 2013 "Cowboy" Ben Alman +Licensed under the MIT license. \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/getobject/lib/getobject.js b/static/js/node_modules/grunt/node_modules/getobject/lib/getobject.js new file mode 100644 index 0000000..e4006fe --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/lib/getobject.js @@ -0,0 +1,60 @@ +/* + * getobject + * https://github.com/cowboy/node-getobject + * + * Copyright (c) 2013 "Cowboy" Ben Alman + * Licensed under the MIT license. + */ + +'use strict'; + +var getobject = module.exports = {}; + +// Split strings on dot, but only if dot isn't preceded by a backslash. Since +// JavaScript doesn't support lookbehinds, use a placeholder for "\.", split +// on dot, then replace the placeholder character with a dot. +function getParts(str) { + return str.replace(/\\\./g, '\uffff').split('.').map(function(s) { + return s.replace(/\uffff/g, '.'); + }); +} + +// Get the value of a deeply-nested property exist in an object. +getobject.get = function(obj, parts, create) { + if (typeof parts === 'string') { + parts = getParts(parts); + } + + var part; + while (typeof obj === 'object' && obj && parts.length) { + part = parts.shift(); + if (!(part in obj) && create) { + obj[part] = {}; + } + obj = obj[part]; + } + + return obj; +}; + +// Set a deeply-nested property in an object, creating intermediary objects +// as we go. +getobject.set = function(obj, parts, value) { + parts = getParts(parts); + + var prop = parts.pop(); + obj = getobject.get(obj, parts, true); + if (obj && typeof obj === 'object') { + return (obj[prop] = value); + } +}; + +// Does a deeply-nested property exist in an object? +getobject.exists = function(obj, parts) { + parts = getParts(parts); + + var prop = parts.pop(); + obj = getobject.get(obj, parts); + + return typeof obj === 'object' && obj && prop in obj; +}; diff --git a/static/js/node_modules/grunt/node_modules/getobject/package.json b/static/js/node_modules/grunt/node_modules/getobject/package.json new file mode 100644 index 0000000..b62bea6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/package.json @@ -0,0 +1,48 @@ +{ + "name": "getobject", + "description": "get.and.set.deep.objects.easily = true", + "version": "0.1.0", + "homepage": "https://github.com/cowboy/node-getobject", + "author": { + "name": "\"Cowboy\" Ben Alman", + "url": "http://benalman.com/" + }, + "repository": { + "type": "git", + "url": "git://github.com/cowboy/node-getobject.git" + }, + "bugs": { + "url": "https://github.com/cowboy/node-getobject/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/cowboy/node-getobject/blob/master/LICENSE-MIT" + } + ], + "main": "lib/getobject", + "engines": { + "node": ">= 0.8.0" + }, + "scripts": { + "test": "grunt nodeunit" + }, + "devDependencies": { + "grunt-contrib-jshint": "~0.1.1", + "grunt-contrib-nodeunit": "~0.1.2", + "grunt-contrib-watch": "~0.2.0", + "grunt": "~0.4.1" + }, + "keywords": [ + "dot notation", + "properties", + "get", + "set", + "object", + "dot" + ], + "readme": "# getobject [![Build Status](https://secure.travis-ci.org/cowboy/node-getobject.png?branch=master)](http://travis-ci.org/cowboy/node-getobject)\n\nget.and.set.deep.objects.easily = true;\n\n## Getting Started\nInstall the module with: `npm install getobject`\n\n```javascript\nvar getobject = require('getobject');\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n_(Nothing yet)_\n\n## License\nCopyright (c) 2013 \"Cowboy\" Ben Alman\nLicensed under the MIT license.", + "readmeFilename": "README.md", + "_id": "getobject@0.1.0", + "_from": "getobject@~0.1.0" +} diff --git a/static/js/node_modules/grunt/node_modules/getobject/test/namespace_test.js b/static/js/node_modules/grunt/node_modules/getobject/test/namespace_test.js new file mode 100644 index 0000000..2e1c2ae --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/getobject/test/namespace_test.js @@ -0,0 +1,51 @@ +'use strict'; + +var getobject = require('../lib/getobject'); + +exports.get = { + 'no create': function(test) { + var obj = {a: {b: {c: 1, d: '', e: null, f: undefined, 'g.h.i': 2}}}; + test.strictEqual(getobject.get(obj, 'a'), obj.a, 'should get immediate properties.'); + test.strictEqual(getobject.get(obj, 'a.b'), obj.a.b, 'should get nested properties.'); + test.strictEqual(getobject.get(obj, 'a.x'), undefined, 'should return undefined for nonexistent properties.'); + test.strictEqual(getobject.get(obj, 'a.b.c'), 1, 'should return values.'); + test.strictEqual(getobject.get(obj, 'a.b.d'), '', 'should return values.'); + test.strictEqual(getobject.get(obj, 'a.b.e'), null, 'should return values.'); + test.strictEqual(getobject.get(obj, 'a.b.f'), undefined, 'should return values.'); + test.strictEqual(getobject.get(obj, 'a.b.g\\.h\\.i'), 2, 'literal backslash should escape period in property name.'); + test.done(); + }, + 'create': function(test) { + var obj = {a: 1}; + test.strictEqual(getobject.get(obj, 'a', true), obj.a, 'should just return existing properties.'); + test.strictEqual(getobject.get(obj, 'b', true), obj.b, 'should create immediate properties.'); + test.strictEqual(getobject.get(obj, 'c.d.e', true), obj.c.d.e, 'should create nested properties.'); + test.done(); + } +}; + +exports.set = function(test) { + var obj = {}; + test.strictEqual(getobject.set(obj, 'a', 1), 1, 'should return immediate property value.'); + test.strictEqual(obj.a, 1, 'should set property value.'); + test.strictEqual(getobject.set(obj, 'b.c.d', 1), 1, 'should return nested property value.'); + test.strictEqual(obj.b.c.d, 1, 'should set property value.'); + test.strictEqual(getobject.set(obj, 'e\\.f\\.g', 1), 1, 'literal backslash should escape period in property name.'); + test.strictEqual(obj['e.f.g'], 1, 'should set property value.'); + test.done(); +}; + +exports.exists = function(test) { + var obj = {a: {b: {c: 1, d: '', e: null, f: undefined, 'g.h.i': 2}}}; + test.ok(getobject.exists(obj, 'a'), 'immediate property should exist.'); + test.ok(getobject.exists(obj, 'a.b'), 'nested property should exist.'); + test.ok(getobject.exists(obj, 'a.b.c'), 'nested property should exist.'); + test.ok(getobject.exists(obj, 'a.b.d'), 'nested property should exist.'); + test.ok(getobject.exists(obj, 'a.b.e'), 'nested property should exist.'); + test.ok(getobject.exists(obj, 'a.b.f'), 'nested property should exist.'); + test.ok(getobject.exists(obj, 'a.b.g\\.h\\.i'), 'literal backslash should escape period in property name.'); + test.equal(getobject.exists(obj, 'x'), false, 'nonexistent property should not exist.'); + test.equal(getobject.exists(obj, 'a.x'), false, 'nonexistent property should not exist.'); + test.equal(getobject.exists(obj, 'a.b.x'), false, 'nonexistent property should not exist.'); + test.done(); +}; diff --git a/static/js/node_modules/grunt/node_modules/glob/.npmignore b/static/js/node_modules/grunt/node_modules/glob/.npmignore new file mode 100644 index 0000000..2af4b71 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/.npmignore @@ -0,0 +1,2 @@ +.*.swp +test/a/ diff --git a/static/js/node_modules/grunt/node_modules/glob/.travis.yml b/static/js/node_modules/grunt/node_modules/glob/.travis.yml new file mode 100644 index 0000000..baa0031 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/.travis.yml @@ -0,0 +1,3 @@ +language: node_js +node_js: + - 0.8 diff --git a/static/js/node_modules/grunt/node_modules/glob/LICENSE b/static/js/node_modules/grunt/node_modules/glob/LICENSE new file mode 100644 index 0000000..0c44ae7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) Isaac Z. Schlueter ("Author") +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/static/js/node_modules/grunt/node_modules/glob/README.md b/static/js/node_modules/grunt/node_modules/glob/README.md new file mode 100644 index 0000000..6e27df6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/README.md @@ -0,0 +1,233 @@ +# Glob + +This is a glob implementation in JavaScript. It uses the `minimatch` +library to do its matching. + +## Attention: node-glob users! + +The API has changed dramatically between 2.x and 3.x. This library is +now 100% JavaScript, and the integer flags have been replaced with an +options object. + +Also, there's an event emitter class, proper tests, and all the other +things you've come to expect from node modules. + +And best of all, no compilation! + +## Usage + +```javascript +var glob = require("glob") + +// options is optional +glob("**/*.js", options, function (er, files) { + // files is an array of filenames. + // If the `nonull` option is set, and nothing + // was found, then files is ["**/*.js"] + // er is an error object or null. +}) +``` + +## Features + +Please see the [minimatch +documentation](https://github.com/isaacs/minimatch) for more details. + +Supports these glob features: + +* Brace Expansion +* Extended glob matching +* "Globstar" `**` matching + +See: + +* `man sh` +* `man bash` +* `man 3 fnmatch` +* `man 5 gitignore` +* [minimatch documentation](https://github.com/isaacs/minimatch) + +## glob(pattern, [options], cb) + +* `pattern` {String} Pattern to be matched +* `options` {Object} +* `cb` {Function} + * `err` {Error | null} + * `matches` {Array} filenames found matching the pattern + +Perform an asynchronous glob search. + +## glob.sync(pattern, [options] + +* `pattern` {String} Pattern to be matched +* `options` {Object} +* return: {Array} filenames found matching the pattern + +Perform a synchronous glob search. + +## Class: glob.Glob + +Create a Glob object by instanting the `glob.Glob` class. + +```javascript +var Glob = require("glob").Glob +var mg = new Glob(pattern, options, cb) +``` + +It's an EventEmitter, and starts walking the filesystem to find matches +immediately. + +### new glob.Glob(pattern, [options], [cb]) + +* `pattern` {String} pattern to search for +* `options` {Object} +* `cb` {Function} Called when an error occurs, or matches are found + * `err` {Error | null} + * `matches` {Array} filenames found matching the pattern + +Note that if the `sync` flag is set in the options, then matches will +be immediately available on the `g.found` member. + +### Properties + +* `minimatch` The minimatch object that the glob uses. +* `options` The options object passed in. +* `error` The error encountered. When an error is encountered, the + glob object is in an undefined state, and should be discarded. +* `aborted` Boolean which is set to true when calling `abort()`. There + is no way at this time to continue a glob search after aborting, but + you can re-use the statCache to avoid having to duplicate syscalls. + +### Events + +* `end` When the matching is finished, this is emitted with all the + matches found. If the `nonull` option is set, and no match was found, + then the `matches` list contains the original pattern. The matches + are sorted, unless the `nosort` flag is set. +* `match` Every time a match is found, this is emitted with the matched. +* `error` Emitted when an unexpected error is encountered, or whenever + any fs error occurs if `options.strict` is set. +* `abort` When `abort()` is called, this event is raised. + +### Methods + +* `abort` Stop the search. + +### Options + +All the options that can be passed to Minimatch can also be passed to +Glob to change pattern matching behavior. Also, some have been added, +or have glob-specific ramifications. + +All options are false by default, unless otherwise noted. + +All options are added to the glob object, as well. + +* `cwd` The current working directory in which to search. Defaults + to `process.cwd()`. +* `root` The place where patterns starting with `/` will be mounted + onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix + systems, and `C:\` or some such on Windows.) +* `nomount` By default, a pattern starting with a forward-slash will be + "mounted" onto the root setting, so that a valid filesystem path is + returned. Set this flag to disable that behavior. +* `mark` Add a `/` character to directory matches. Note that this + requires additional stat calls. +* `nosort` Don't sort the results. +* `stat` Set to true to stat *all* results. This reduces performance + somewhat, and is completely unnecessary, unless `readdir` is presumed + to be an untrustworthy indicator of file existence. It will cause + ELOOP to be triggered one level sooner in the case of cyclical + symbolic links. +* `silent` When an unusual error is encountered + when attempting to read a directory, a warning will be printed to + stderr. Set the `silent` option to true to suppress these warnings. +* `strict` When an unusual error is encountered + when attempting to read a directory, the process will just continue on + in search of other matches. Set the `strict` option to raise an error + in these cases. +* `statCache` A cache of results of filesystem information, to prevent + unnecessary stat calls. While it should not normally be necessary to + set this, you may pass the statCache from one glob() call to the + options object of another, if you know that the filesystem will not + change between calls. (See "Race Conditions" below.) +* `sync` Perform a synchronous glob search. +* `nounique` In some cases, brace-expanded patterns can result in the + same file showing up multiple times in the result set. By default, + this implementation prevents duplicates in the result set. + Set this flag to disable that behavior. +* `nonull` Set to never return an empty set, instead returning a set + containing the pattern itself. This is the default in glob(3). +* `nocase` Perform a case-insensitive match. Note that case-insensitive + filesystems will sometimes result in glob returning results that are + case-insensitively matched anyway, since readdir and stat will not + raise an error. +* `debug` Set to enable debug logging in minimatch and glob. +* `globDebug` Set to enable debug logging in glob, but not minimatch. + +## Comparisons to other fnmatch/glob implementations + +While strict compliance with the existing standards is a worthwhile +goal, some discrepancies exist between node-glob and other +implementations, and are intentional. + +If the pattern starts with a `!` character, then it is negated. Set the +`nonegate` flag to suppress this behavior, and treat leading `!` +characters normally. This is perhaps relevant if you wish to start the +pattern with a negative extglob pattern like `!(a|B)`. Multiple `!` +characters at the start of a pattern will negate the pattern multiple +times. + +If a pattern starts with `#`, then it is treated as a comment, and +will not match anything. Use `\#` to match a literal `#` at the +start of a line, or set the `nocomment` flag to suppress this behavior. + +The double-star character `**` is supported by default, unless the +`noglobstar` flag is set. This is supported in the manner of bsdglob +and bash 4.1, where `**` only has special significance if it is the only +thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but +`a/**b` will not. **Note that this is different from the way that `**` is +handled by ruby's `Dir` class.** + +If an escaped pattern has no matches, and the `nonull` flag is set, +then glob returns the pattern as-provided, rather than +interpreting the character escapes. For example, +`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than +`"*a?"`. This is akin to setting the `nullglob` option in bash, except +that it does not resolve escaped pattern characters. + +If brace expansion is not disabled, then it is performed before any +other interpretation of the glob pattern. Thus, a pattern like +`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded +**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are +checked for validity. Since those two are valid, matching proceeds. + +## Windows + +**Please only use forward-slashes in glob expressions.** + +Though windows uses either `/` or `\` as its path separator, only `/` +characters are used by this glob implementation. You must use +forward-slashes **only** in glob expressions. Back-slashes will always +be interpreted as escape characters, not path separators. + +Results from absolute patterns such as `/foo/*` are mounted onto the +root setting using `path.join`. On windows, this will by default result +in `/foo/*` matching `C:\foo\bar.txt`. + +## Race Conditions + +Glob searching, by its very nature, is susceptible to race conditions, +since it relies on directory walking and such. + +As a result, it is possible that a file that exists when glob looks for +it may have been deleted or modified by the time it returns the result. + +As part of its internal implementation, this program caches all stat +and readdir calls that it makes, in order to cut down on system +overhead. However, this also makes it even more susceptible to races, +especially if the statCache object is reused between glob calls. + +Users are thus advised not to use a glob result as a +guarantee of filesystem state in the face of rapid changes. +For the vast majority of operations, this is never a problem. diff --git a/static/js/node_modules/grunt/node_modules/glob/examples/g.js b/static/js/node_modules/grunt/node_modules/glob/examples/g.js new file mode 100644 index 0000000..be122df --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/examples/g.js @@ -0,0 +1,9 @@ +var Glob = require("../").Glob + +var pattern = "test/a/**/[cg]/../[cg]" +console.log(pattern) + +var mg = new Glob(pattern, {mark: true, sync:true}, function (er, matches) { + console.log("matches", matches) +}) +console.log("after") diff --git a/static/js/node_modules/grunt/node_modules/glob/examples/usr-local.js b/static/js/node_modules/grunt/node_modules/glob/examples/usr-local.js new file mode 100644 index 0000000..327a425 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/examples/usr-local.js @@ -0,0 +1,9 @@ +var Glob = require("../").Glob + +var pattern = "{./*/*,/*,/usr/local/*}" +console.log(pattern) + +var mg = new Glob(pattern, {mark: true}, function (er, matches) { + console.log("matches", matches) +}) +console.log("after") diff --git a/static/js/node_modules/grunt/node_modules/glob/glob.js b/static/js/node_modules/grunt/node_modules/glob/glob.js new file mode 100644 index 0000000..891c883 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/glob.js @@ -0,0 +1,643 @@ +// Approach: +// +// 1. Get the minimatch set +// 2. For each pattern in the set, PROCESS(pattern) +// 3. Store matches per-set, then uniq them +// +// PROCESS(pattern) +// Get the first [n] items from pattern that are all strings +// Join these together. This is PREFIX. +// If there is no more remaining, then stat(PREFIX) and +// add to matches if it succeeds. END. +// readdir(PREFIX) as ENTRIES +// If fails, END +// If pattern[n] is GLOBSTAR +// // handle the case where the globstar match is empty +// // by pruning it out, and testing the resulting pattern +// PROCESS(pattern[0..n] + pattern[n+1 .. $]) +// // handle other cases. +// for ENTRY in ENTRIES (not dotfiles) +// // attach globstar + tail onto the entry +// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $]) +// +// else // not globstar +// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) +// Test ENTRY against pattern[n] +// If fails, continue +// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) +// +// Caveat: +// Cache all stats and readdirs results to minimize syscall. Since all +// we ever care about is existence and directory-ness, we can just keep +// `true` for files, and [children,...] for directories, or `false` for +// things that don't exist. + + + +module.exports = glob + +var fs = require("graceful-fs") +, minimatch = require("minimatch") +, Minimatch = minimatch.Minimatch +, inherits = require("inherits") +, EE = require("events").EventEmitter +, path = require("path") +, isDir = {} +, assert = require("assert").ok + +function glob (pattern, options, cb) { + if (typeof options === "function") cb = options, options = {} + if (!options) options = {} + + if (typeof options === "number") { + deprecated() + return + } + + var g = new Glob(pattern, options, cb) + return g.sync ? g.found : g +} + +glob.fnmatch = deprecated + +function deprecated () { + throw new Error("glob's interface has changed. Please see the docs.") +} + +glob.sync = globSync +function globSync (pattern, options) { + if (typeof options === "number") { + deprecated() + return + } + + options = options || {} + options.sync = true + return glob(pattern, options) +} + + +glob.Glob = Glob +inherits(Glob, EE) +function Glob (pattern, options, cb) { + if (!(this instanceof Glob)) { + return new Glob(pattern, options, cb) + } + + if (typeof cb === "function") { + this.on("error", cb) + this.on("end", function (matches) { + cb(null, matches) + }) + } + + options = options || {} + + this.EOF = {} + this._emitQueue = [] + + this.maxDepth = options.maxDepth || 1000 + this.maxLength = options.maxLength || Infinity + this.statCache = options.statCache || {} + + this.changedCwd = false + var cwd = process.cwd() + if (!options.hasOwnProperty("cwd")) this.cwd = cwd + else { + this.cwd = options.cwd + this.changedCwd = path.resolve(options.cwd) !== cwd + } + + this.root = options.root || path.resolve(this.cwd, "/") + this.root = path.resolve(this.root) + if (process.platform === "win32") + this.root = this.root.replace(/\\/g, "/") + + this.nomount = !!options.nomount + + if (!pattern) { + throw new Error("must provide pattern") + } + + // base-matching: just use globstar for that. + if (options.matchBase && -1 === pattern.indexOf("/")) { + if (options.noglobstar) { + throw new Error("base matching requires globstar") + } + pattern = "**/" + pattern + } + + this.strict = options.strict !== false + this.dot = !!options.dot + this.mark = !!options.mark + this.sync = !!options.sync + this.nounique = !!options.nounique + this.nonull = !!options.nonull + this.nosort = !!options.nosort + this.nocase = !!options.nocase + this.stat = !!options.stat + + this.debug = !!options.debug || !!options.globDebug + if (this.debug) + this.log = console.error + + this.silent = !!options.silent + + var mm = this.minimatch = new Minimatch(pattern, options) + this.options = mm.options + pattern = this.pattern = mm.pattern + + this.error = null + this.aborted = false + + EE.call(this) + + // process each pattern in the minimatch set + var n = this.minimatch.set.length + + // The matches are stored as {: true,...} so that + // duplicates are automagically pruned. + // Later, we do an Object.keys() on these. + // Keep them as a list so we can fill in when nonull is set. + this.matches = new Array(n) + + this.minimatch.set.forEach(iterator.bind(this)) + function iterator (pattern, i, set) { + this._process(pattern, 0, i, function (er) { + if (er) this.emit("error", er) + if (-- n <= 0) this._finish() + }) + } +} + +Glob.prototype.log = function () {} + +Glob.prototype._finish = function () { + assert(this instanceof Glob) + + var nou = this.nounique + , all = nou ? [] : {} + + for (var i = 0, l = this.matches.length; i < l; i ++) { + var matches = this.matches[i] + this.log("matches[%d] =", i, matches) + // do like the shell, and spit out the literal glob + if (!matches) { + if (this.nonull) { + var literal = this.minimatch.globSet[i] + if (nou) all.push(literal) + else all[literal] = true + } + } else { + // had matches + var m = Object.keys(matches) + if (nou) all.push.apply(all, m) + else m.forEach(function (m) { + all[m] = true + }) + } + } + + if (!nou) all = Object.keys(all) + + if (!this.nosort) { + all = all.sort(this.nocase ? alphasorti : alphasort) + } + + if (this.mark) { + // at *some* point we statted all of these + all = all.map(function (m) { + var sc = this.statCache[m] + if (!sc) + return m + var isDir = (Array.isArray(sc) || sc === 2) + if (isDir && m.slice(-1) !== "/") { + return m + "/" + } + if (!isDir && m.slice(-1) === "/") { + return m.replace(/\/+$/, "") + } + return m + }, this) + } + + this.log("emitting end", all) + + this.EOF = this.found = all + this.emitMatch(this.EOF) +} + +function alphasorti (a, b) { + a = a.toLowerCase() + b = b.toLowerCase() + return alphasort(a, b) +} + +function alphasort (a, b) { + return a > b ? 1 : a < b ? -1 : 0 +} + +Glob.prototype.abort = function () { + this.aborted = true + this.emit("abort") +} + +Glob.prototype.pause = function () { + if (this.paused) return + if (this.sync) + this.emit("error", new Error("Can't pause/resume sync glob")) + this.paused = true + this.emit("pause") +} + +Glob.prototype.resume = function () { + if (!this.paused) return + if (this.sync) + this.emit("error", new Error("Can't pause/resume sync glob")) + this.paused = false + this.emit("resume") + this._processEmitQueue() + //process.nextTick(this.emit.bind(this, "resume")) +} + +Glob.prototype.emitMatch = function (m) { + this._emitQueue.push(m) + this._processEmitQueue() +} + +Glob.prototype._processEmitQueue = function (m) { + while (!this._processingEmitQueue && + !this.paused) { + this._processingEmitQueue = true + var m = this._emitQueue.shift() + if (!m) { + this._processingEmitQueue = false + break + } + + this.log('emit!', m === this.EOF ? "end" : "match") + + this.emit(m === this.EOF ? "end" : "match", m) + this._processingEmitQueue = false + } +} + +Glob.prototype._process = function (pattern, depth, index, cb_) { + assert(this instanceof Glob) + + var cb = function cb (er, res) { + assert(this instanceof Glob) + if (this.paused) { + if (!this._processQueue) { + this._processQueue = [] + this.once("resume", function () { + var q = this._processQueue + this._processQueue = null + q.forEach(function (cb) { cb() }) + }) + } + this._processQueue.push(cb_.bind(this, er, res)) + } else { + cb_.call(this, er, res) + } + }.bind(this) + + if (this.aborted) return cb() + + if (depth > this.maxDepth) return cb() + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === "string") { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // see if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + prefix = pattern.join("/") + this._stat(prefix, function (exists, isDir) { + // either it's there, or it isn't. + // nothing more to do, either way. + if (exists) { + if (prefix && isAbsolute(prefix) && !this.nomount) { + if (prefix.charAt(0) === "/") { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + } + } + + if (process.platform === "win32") + prefix = prefix.replace(/\\/g, "/") + + this.matches[index] = this.matches[index] || {} + this.matches[index][prefix] = true + this.emitMatch(prefix) + } + return cb() + }) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's "absolute" like /foo/bar, + // or "relative" like "../baz" + prefix = pattern.slice(0, n) + prefix = prefix.join("/") + break + } + + // get the list of entries. + var read + if (prefix === null) read = "." + else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) { + if (!prefix || !isAbsolute(prefix)) { + prefix = path.join("/", prefix) + } + read = prefix = path.resolve(prefix) + + // if (process.platform === "win32") + // read = prefix = prefix.replace(/^[a-zA-Z]:|\\/g, "/") + + this.log('absolute: ', prefix, this.root, pattern, read) + } else { + read = prefix + } + + this.log('readdir(%j)', read, this.cwd, this.root) + + return this._readdir(read, function (er, entries) { + if (er) { + // not a directory! + // this means that, whatever else comes after this, it can never match + return cb() + } + + // globstar is special + if (pattern[n] === minimatch.GLOBSTAR) { + // test without the globstar, and with every child both below + // and replacing the globstar. + var s = [ pattern.slice(0, n).concat(pattern.slice(n + 1)) ] + entries.forEach(function (e) { + if (e.charAt(0) === "." && !this.dot) return + // instead of the globstar + s.push(pattern.slice(0, n).concat(e).concat(pattern.slice(n + 1))) + // below the globstar + s.push(pattern.slice(0, n).concat(e).concat(pattern.slice(n))) + }, this) + + // now asyncForEach over this + var l = s.length + , errState = null + s.forEach(function (gsPattern) { + this._process(gsPattern, depth + 1, index, function (er) { + if (errState) return + if (er) return cb(errState = er) + if (--l <= 0) return cb() + }) + }, this) + + return + } + + // not a globstar + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = pattern[n] + if (typeof pn === "string") { + var found = entries.indexOf(pn) !== -1 + entries = found ? entries[pn] : [] + } else { + var rawGlob = pattern[n]._glob + , dotOk = this.dot || rawGlob.charAt(0) === "." + + entries = entries.filter(function (e) { + return (e.charAt(0) !== "." || dotOk) && + (typeof pattern[n] === "string" && e === pattern[n] || + e.match(pattern[n])) + }) + } + + // If n === pattern.length - 1, then there's no need for the extra stat + // *unless* the user has specified "mark" or "stat" explicitly. + // We know that they exist, since the readdir returned them. + if (n === pattern.length - 1 && + !this.mark && + !this.stat) { + entries.forEach(function (e) { + if (prefix) { + if (prefix !== "/") e = prefix + "/" + e + else e = prefix + e + } + if (e.charAt(0) === "/" && !this.nomount) { + e = path.join(this.root, e) + } + + if (process.platform === "win32") + e = e.replace(/\\/g, "/") + + this.matches[index] = this.matches[index] || {} + this.matches[index][e] = true + this.emitMatch(e) + }, this) + return cb.call(this) + } + + + // now test all the remaining entries as stand-ins for that part + // of the pattern. + var l = entries.length + , errState = null + if (l === 0) return cb() // no matches possible + entries.forEach(function (e) { + var p = pattern.slice(0, n).concat(e).concat(pattern.slice(n + 1)) + this._process(p, depth + 1, index, function (er) { + if (errState) return + if (er) return cb(errState = er) + if (--l === 0) return cb.call(this) + }) + }, this) + }) + +} + +Glob.prototype._stat = function (f, cb) { + assert(this instanceof Glob) + var abs = f + if (f.charAt(0) === "/") { + abs = path.join(this.root, f) + } else if (this.changedCwd) { + abs = path.resolve(this.cwd, f) + } + this.log('stat', [this.cwd, f, '=', abs]) + if (f.length > this.maxLength) { + var er = new Error("Path name too long") + er.code = "ENAMETOOLONG" + er.path = f + return this._afterStat(f, abs, cb, er) + } + + if (this.statCache.hasOwnProperty(f)) { + var exists = this.statCache[f] + , isDir = exists && (Array.isArray(exists) || exists === 2) + if (this.sync) return cb.call(this, !!exists, isDir) + return process.nextTick(cb.bind(this, !!exists, isDir)) + } + + if (this.sync) { + var er, stat + try { + stat = fs.statSync(abs) + } catch (e) { + er = e + } + this._afterStat(f, abs, cb, er, stat) + } else { + fs.stat(abs, this._afterStat.bind(this, f, abs, cb)) + } +} + +Glob.prototype._afterStat = function (f, abs, cb, er, stat) { + var exists + assert(this instanceof Glob) + + if (abs.slice(-1) === "/" && stat && !stat.isDirectory()) { + this.log("should be ENOTDIR, fake it") + + er = new Error("ENOTDIR, not a directory '" + abs + "'") + er.path = abs + er.code = "ENOTDIR" + stat = null + } + + if (er || !stat) { + exists = false + } else { + exists = stat.isDirectory() ? 2 : 1 + } + this.statCache[f] = this.statCache[f] || exists + cb.call(this, !!exists, exists === 2) +} + +Glob.prototype._readdir = function (f, cb) { + assert(this instanceof Glob) + var abs = f + if (f.charAt(0) === "/") { + abs = path.join(this.root, f) + } else if (isAbsolute(f)) { + abs = f + } else if (this.changedCwd) { + abs = path.resolve(this.cwd, f) + } + + this.log('readdir', [this.cwd, f, abs]) + if (f.length > this.maxLength) { + var er = new Error("Path name too long") + er.code = "ENAMETOOLONG" + er.path = f + return this._afterReaddir(f, abs, cb, er) + } + + if (this.statCache.hasOwnProperty(f)) { + var c = this.statCache[f] + if (Array.isArray(c)) { + if (this.sync) return cb.call(this, null, c) + return process.nextTick(cb.bind(this, null, c)) + } + + if (!c || c === 1) { + // either ENOENT or ENOTDIR + var code = c ? "ENOTDIR" : "ENOENT" + , er = new Error((c ? "Not a directory" : "Not found") + ": " + f) + er.path = f + er.code = code + this.log(f, er) + if (this.sync) return cb.call(this, er) + return process.nextTick(cb.bind(this, er)) + } + + // at this point, c === 2, meaning it's a dir, but we haven't + // had to read it yet, or c === true, meaning it's *something* + // but we don't have any idea what. Need to read it, either way. + } + + if (this.sync) { + var er, entries + try { + entries = fs.readdirSync(abs) + } catch (e) { + er = e + } + return this._afterReaddir(f, abs, cb, er, entries) + } + + fs.readdir(abs, this._afterReaddir.bind(this, f, abs, cb)) +} + +Glob.prototype._afterReaddir = function (f, abs, cb, er, entries) { + assert(this instanceof Glob) + if (entries && !er) { + this.statCache[f] = entries + // if we haven't asked to stat everything for suresies, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. This also gets us one step + // further into ELOOP territory. + if (!this.mark && !this.stat) { + entries.forEach(function (e) { + if (f === "/") e = f + e + else e = f + "/" + e + this.statCache[e] = true + }, this) + } + + return cb.call(this, er, entries) + } + + // now handle errors, and cache the information + if (er) switch (er.code) { + case "ENOTDIR": // totally normal. means it *does* exist. + this.statCache[f] = 1 + return cb.call(this, er) + case "ENOENT": // not terribly unusual + case "ELOOP": + case "ENAMETOOLONG": + case "UNKNOWN": + this.statCache[f] = false + return cb.call(this, er) + default: // some unusual error. Treat as failure. + this.statCache[f] = false + if (this.strict) this.emit("error", er) + if (!this.silent) console.error("glob error", er) + return cb.call(this, er) + } +} + +var isAbsolute = process.platform === "win32" ? absWin : absUnix + +function absWin (p) { + if (absUnix(p)) return true + // pull off the device/UNC bit from a windows path. + // from node's lib/path.js + var splitDeviceRe = + /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/ + , result = splitDeviceRe.exec(p) + , device = result[1] || '' + , isUnc = device && device.charAt(1) !== ':' + , isAbsolute = !!result[2] || isUnc // UNC paths are always absolute + + return isAbsolute +} + +function absUnix (p) { + return p.charAt(0) === "/" || p === "" +} diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/.npmignore b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/.npmignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/.npmignore @@ -0,0 +1 @@ +node_modules/ diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/LICENSE b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/LICENSE new file mode 100644 index 0000000..0c44ae7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) Isaac Z. Schlueter ("Author") +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/README.md b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/README.md new file mode 100644 index 0000000..01af3d6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/README.md @@ -0,0 +1,33 @@ +# graceful-fs + +graceful-fs functions as a drop-in replacement for the fs module, +making various improvements. + +The improvements are meant to normalize behavior across different +platforms and environments, and to make filesystem access more +resilient to errors. + +## Improvements over fs module + +graceful-fs: + +* keeps track of how many file descriptors are open, and by default + limits this to 1024. Any further requests to open a file are put in a + queue until new slots become available. If 1024 turns out to be too + much, it decreases the limit further. +* fixes `lchmod` for Node versions prior to 0.6.2. +* implements `fs.lutimes` if possible. Otherwise it becomes a noop. +* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or + `lchown` if the user isn't root. +* makes `lchmod` and `lchown` become noops, if not available. +* retries reading a file if `read` results in EAGAIN error. + +On Windows, it retries renaming a file for up to one second if `EACCESS` +or `EPERM` error occurs, likely because antivirus software has locked +the directory. + +## Configuration + +The maximum number of open file descriptors that graceful-fs manages may +be adjusted by setting `fs.MAX_OPEN` to a different number. The default +is 1024. diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js new file mode 100644 index 0000000..ca91152 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js @@ -0,0 +1,442 @@ +// this keeps a queue of opened file descriptors, and will make +// fs operations wait until some have closed before trying to open more. + +var fs = exports = module.exports = {} +fs._originalFs = require("fs") + +Object.getOwnPropertyNames(fs._originalFs).forEach(function(prop) { + var desc = Object.getOwnPropertyDescriptor(fs._originalFs, prop) + Object.defineProperty(fs, prop, desc) +}) + +var queue = [] + , constants = require("constants") + +fs._curOpen = 0 + +fs.MIN_MAX_OPEN = 64 +fs.MAX_OPEN = 1024 + +// prevent EMFILE errors +function OpenReq (path, flags, mode, cb) { + this.path = path + this.flags = flags + this.mode = mode + this.cb = cb +} + +function noop () {} + +fs.open = gracefulOpen + +function gracefulOpen (path, flags, mode, cb) { + if (typeof mode === "function") cb = mode, mode = null + if (typeof cb !== "function") cb = noop + + if (fs._curOpen >= fs.MAX_OPEN) { + queue.push(new OpenReq(path, flags, mode, cb)) + setTimeout(flush) + return + } + open(path, flags, mode, function (er, fd) { + if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) { + // that was too many. reduce max, get back in queue. + // this should only happen once in a great while, and only + // if the ulimit -n is set lower than 1024. + fs.MAX_OPEN = fs._curOpen - 1 + return fs.open(path, flags, mode, cb) + } + cb(er, fd) + }) +} + +function open (path, flags, mode, cb) { + cb = cb || noop + fs._curOpen ++ + fs._originalFs.open.call(fs, path, flags, mode, function (er, fd) { + if (er) onclose() + cb(er, fd) + }) +} + +fs.openSync = function (path, flags, mode) { + var ret + ret = fs._originalFs.openSync.call(fs, path, flags, mode) + fs._curOpen ++ + return ret +} + +function onclose () { + fs._curOpen -- + flush() +} + +function flush () { + while (fs._curOpen < fs.MAX_OPEN) { + var req = queue.shift() + if (!req) return + switch (req.constructor.name) { + case 'OpenReq': + open(req.path, req.flags || "r", req.mode || 0777, req.cb) + break + case 'ReaddirReq': + readdir(req.path, req.cb) + break + case 'ReadFileReq': + readFile(req.path, req.options, req.cb) + break + case 'WriteFileReq': + writeFile(req.path, req.data, req.options, req.cb) + break + default: + throw new Error('Unknown req type: ' + req.constructor.name) + } + } +} + +fs.close = function (fd, cb) { + cb = cb || noop + fs._originalFs.close.call(fs, fd, function (er) { + onclose() + cb(er) + }) +} + +fs.closeSync = function (fd) { + try { + return fs._originalFs.closeSync.call(fs, fd) + } finally { + onclose() + } +} + + +// readdir takes a fd as well. +// however, the sync version closes it right away, so +// there's no need to wrap. +// It would be nice to catch when it throws an EMFILE, +// but that's relatively rare anyway. + +fs.readdir = gracefulReaddir + +function gracefulReaddir (path, cb) { + if (fs._curOpen >= fs.MAX_OPEN) { + queue.push(new ReaddirReq(path, cb)) + setTimeout(flush) + return + } + + readdir(path, function (er, files) { + if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) { + fs.MAX_OPEN = fs._curOpen - 1 + return fs.readdir(path, cb) + } + cb(er, files) + }) +} + +function readdir (path, cb) { + cb = cb || noop + fs._curOpen ++ + fs._originalFs.readdir.call(fs, path, function (er, files) { + onclose() + cb(er, files) + }) +} + +function ReaddirReq (path, cb) { + this.path = path + this.cb = cb +} + + +fs.readFile = gracefulReadFile + +function gracefulReadFile(path, options, cb) { + if (typeof options === "function") cb = options, options = null + if (typeof cb !== "function") cb = noop + + if (fs._curOpen >= fs.MAX_OPEN) { + queue.push(new ReadFileReq(path, options, cb)) + setTimeout(flush) + return + } + + readFile(path, options, function (er, data) { + if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) { + fs.MAX_OPEN = fs._curOpen - 1 + return fs.readFile(path, options, cb) + } + cb(er, data) + }) +} + +function readFile (path, options, cb) { + cb = cb || noop + fs._curOpen ++ + fs._originalFs.readFile.call(fs, path, options, function (er, data) { + onclose() + cb(er, data) + }) +} + +function ReadFileReq (path, options, cb) { + this.path = path + this.options = options + this.cb = cb +} + + + + +fs.writeFile = gracefulWriteFile + +function gracefulWriteFile(path, data, options, cb) { + if (typeof options === "function") cb = options, options = null + if (typeof cb !== "function") cb = noop + + if (fs._curOpen >= fs.MAX_OPEN) { + queue.push(new WriteFileReq(path, data, options, cb)) + setTimeout(flush) + return + } + + writeFile(path, data, options, function (er) { + if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) { + fs.MAX_OPEN = fs._curOpen - 1 + return fs.writeFile(path, data, options, cb) + } + cb(er) + }) +} + +function writeFile (path, data, options, cb) { + cb = cb || noop + fs._curOpen ++ + fs._originalFs.writeFile.call(fs, path, data, options, function (er) { + onclose() + cb(er) + }) +} + +function WriteFileReq (path, data, options, cb) { + this.path = path + this.data = data + this.options = options + this.cb = cb +} + + +// (re-)implement some things that are known busted or missing. + +var constants = require("constants") + +// lchmod, broken prior to 0.6.2 +// back-port the fix here. +if (constants.hasOwnProperty('O_SYMLINK') && + process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + fs.lchmod = function (path, mode, callback) { + callback = callback || noop + fs.open( path + , constants.O_WRONLY | constants.O_SYMLINK + , mode + , function (err, fd) { + if (err) { + callback(err) + return + } + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + fs.fchmod(fd, mode, function (err) { + fs.close(fd, function(err2) { + callback(err || err2) + }) + }) + }) + } + + fs.lchmodSync = function (path, mode) { + var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) + + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + var err, err2 + try { + var ret = fs.fchmodSync(fd, mode) + } catch (er) { + err = er + } + try { + fs.closeSync(fd) + } catch (er) { + err2 = er + } + if (err || err2) throw (err || err2) + return ret + } +} + + +// lutimes implementation, or no-op +if (!fs.lutimes) { + if (constants.hasOwnProperty("O_SYMLINK")) { + fs.lutimes = function (path, at, mt, cb) { + fs.open(path, constants.O_SYMLINK, function (er, fd) { + cb = cb || noop + if (er) return cb(er) + fs.futimes(fd, at, mt, function (er) { + fs.close(fd, function (er2) { + return cb(er || er2) + }) + }) + }) + } + + fs.lutimesSync = function (path, at, mt) { + var fd = fs.openSync(path, constants.O_SYMLINK) + , err + , err2 + , ret + + try { + var ret = fs.futimesSync(fd, at, mt) + } catch (er) { + err = er + } + try { + fs.closeSync(fd) + } catch (er) { + err2 = er + } + if (err || err2) throw (err || err2) + return ret + } + + } else if (fs.utimensat && constants.hasOwnProperty("AT_SYMLINK_NOFOLLOW")) { + // maybe utimensat will be bound soonish? + fs.lutimes = function (path, at, mt, cb) { + fs.utimensat(path, at, mt, constants.AT_SYMLINK_NOFOLLOW, cb) + } + + fs.lutimesSync = function (path, at, mt) { + return fs.utimensatSync(path, at, mt, constants.AT_SYMLINK_NOFOLLOW) + } + + } else { + fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) } + fs.lutimesSync = function () {} + } +} + + +// https://github.com/isaacs/node-graceful-fs/issues/4 +// Chown should not fail on einval or eperm if non-root. + +fs.chown = chownFix(fs.chown) +fs.fchown = chownFix(fs.fchown) +fs.lchown = chownFix(fs.lchown) + +fs.chownSync = chownFixSync(fs.chownSync) +fs.fchownSync = chownFixSync(fs.fchownSync) +fs.lchownSync = chownFixSync(fs.lchownSync) + +function chownFix (orig) { + if (!orig) return orig + return function (target, uid, gid, cb) { + return orig.call(fs, target, uid, gid, function (er, res) { + if (chownErOk(er)) er = null + cb(er, res) + }) + } +} + +function chownFixSync (orig) { + if (!orig) return orig + return function (target, uid, gid) { + try { + return orig.call(fs, target, uid, gid) + } catch (er) { + if (!chownErOk(er)) throw er + } + } +} + +function chownErOk (er) { + // if there's no getuid, or if getuid() is something other than 0, + // and the error is EINVAL or EPERM, then just ignore it. + // This specific case is a silent failure in cp, install, tar, + // and most other unix tools that manage permissions. + // When running as root, or if other types of errors are encountered, + // then it's strict. + if (!er || (!process.getuid || process.getuid() !== 0) + && (er.code === "EINVAL" || er.code === "EPERM")) return true +} + + +// if lchmod/lchown do not exist, then make them no-ops +if (!fs.lchmod) { + fs.lchmod = function (path, mode, cb) { + process.nextTick(cb) + } + fs.lchmodSync = function () {} +} +if (!fs.lchown) { + fs.lchown = function (path, uid, gid, cb) { + process.nextTick(cb) + } + fs.lchownSync = function () {} +} + + + +// on Windows, A/V software can lock the directory, causing this +// to fail with an EACCES or EPERM if the directory contains newly +// created files. Try again on failure, for up to 1 second. +if (process.platform === "win32") { + var rename_ = fs.rename + fs.rename = function rename (from, to, cb) { + var start = Date.now() + rename_(from, to, function CB (er) { + if (er + && (er.code === "EACCES" || er.code === "EPERM") + && Date.now() - start < 1000) { + return rename_(from, to, CB) + } + cb(er) + }) + } +} + + +// if read() returns EAGAIN, then just try it again. +var read = fs.read +fs.read = function (fd, buffer, offset, length, position, callback_) { + var callback + if (callback_ && typeof callback_ === 'function') { + var eagCounter = 0 + callback = function (er, _, __) { + if (er && er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + return read.call(fs, fd, buffer, offset, length, position, callback) + } + callback_.apply(this, arguments) + } + } + return read.call(fs, fd, buffer, offset, length, position, callback) +} + +var readSync = fs.readSync +fs.readSync = function (fd, buffer, offset, length, position) { + var eagCounter = 0 + while (true) { + try { + return readSync.call(fs, fd, buffer, offset, length, position) + } catch (er) { + if (er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + continue + } + throw er + } + } +} diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json new file mode 100644 index 0000000..05d8742 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json @@ -0,0 +1,49 @@ +{ + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + "name": "graceful-fs", + "description": "A drop-in replacement for fs, making various improvements.", + "version": "1.2.3", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-graceful-fs.git" + }, + "main": "graceful-fs.js", + "engines": { + "node": ">=0.4.0" + }, + "directories": { + "test": "test" + }, + "scripts": { + "test": "tap test/*.js" + }, + "keywords": [ + "fs", + "module", + "reading", + "retry", + "retries", + "queue", + "error", + "errors", + "handling", + "EMFILE", + "EAGAIN", + "EINVAL", + "EPERM", + "EACCESS" + ], + "license": "BSD", + "readme": "# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n limits this to 1024. Any further requests to open a file are put in a\n queue until new slots become available. If 1024 turns out to be too\n much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn't root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/node-graceful-fs/issues" + }, + "homepage": "https://github.com/isaacs/node-graceful-fs", + "_id": "graceful-fs@1.2.3", + "_from": "graceful-fs@~1.2.0" +} diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js new file mode 100644 index 0000000..930d532 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js @@ -0,0 +1,46 @@ +var test = require('tap').test +var fs = require('../graceful-fs.js') + +test('graceful fs is not fs', function (t) { + t.notEqual(fs, require('fs')) + t.end() +}) + +test('open an existing file works', function (t) { + var start = fs._curOpen + var fd = fs.openSync(__filename, 'r') + t.equal(fs._curOpen, start + 1) + fs.closeSync(fd) + t.equal(fs._curOpen, start) + fs.open(__filename, 'r', function (er, fd) { + if (er) throw er + t.equal(fs._curOpen, start + 1) + fs.close(fd, function (er) { + if (er) throw er + t.equal(fs._curOpen, start) + t.end() + }) + }) +}) + +test('open a non-existing file throws', function (t) { + var start = fs._curOpen + var er + try { + var fd = fs.openSync('this file does not exist', 'r') + } catch (x) { + er = x + } + t.ok(er, 'should throw') + t.notOk(fd, 'should not get an fd') + t.equal(er.code, 'ENOENT') + t.equal(fs._curOpen, start) + + fs.open('neither does this file', 'r', function (er, fd) { + t.ok(er, 'should throw') + t.notOk(fd, 'should not get an fd') + t.equal(er.code, 'ENOENT') + t.equal(fs._curOpen, start) + t.end() + }) +}) diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js new file mode 100644 index 0000000..8d0882d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js @@ -0,0 +1,158 @@ +var test = require('tap').test + +// simulated ulimit +// this is like graceful-fs, but in reverse +var fs_ = require('fs') +var fs = require('../graceful-fs.js') +var files = fs.readdirSync(__dirname) + +// Ok, no more actual file reading! + +var fds = 0 +var nextFd = 60 +var limit = 8 +fs_.open = function (path, flags, mode, cb) { + process.nextTick(function() { + ++fds + if (fds >= limit) { + --fds + var er = new Error('EMFILE Curses!') + er.code = 'EMFILE' + er.path = path + return cb(er) + } else { + cb(null, nextFd++) + } + }) +} + +fs_.openSync = function (path, flags, mode) { + if (fds >= limit) { + var er = new Error('EMFILE Curses!') + er.code = 'EMFILE' + er.path = path + throw er + } else { + ++fds + return nextFd++ + } +} + +fs_.close = function (fd, cb) { + process.nextTick(function () { + --fds + cb() + }) +} + +fs_.closeSync = function (fd) { + --fds +} + +fs_.readdir = function (path, cb) { + process.nextTick(function() { + if (fds >= limit) { + var er = new Error('EMFILE Curses!') + er.code = 'EMFILE' + er.path = path + return cb(er) + } else { + ++fds + process.nextTick(function () { + --fds + cb(null, [__filename, "some-other-file.js"]) + }) + } + }) +} + +fs_.readdirSync = function (path) { + if (fds >= limit) { + var er = new Error('EMFILE Curses!') + er.code = 'EMFILE' + er.path = path + throw er + } else { + return [__filename, "some-other-file.js"] + } +} + + +test('open emfile autoreduce', function (t) { + fs.MIN_MAX_OPEN = 4 + t.equal(fs.MAX_OPEN, 1024) + + var max = 12 + for (var i = 0; i < max; i++) { + fs.open(__filename, 'r', next(i)) + } + + var phase = 0 + + var expect = + [ [ 0, 60, null, 1024, 4, 12, 1 ], + [ 1, 61, null, 1024, 4, 12, 2 ], + [ 2, 62, null, 1024, 4, 12, 3 ], + [ 3, 63, null, 1024, 4, 12, 4 ], + [ 4, 64, null, 1024, 4, 12, 5 ], + [ 5, 65, null, 1024, 4, 12, 6 ], + [ 6, 66, null, 1024, 4, 12, 7 ], + [ 7, 67, null, 6, 4, 5, 1 ], + [ 8, 68, null, 6, 4, 5, 2 ], + [ 9, 69, null, 6, 4, 5, 3 ], + [ 10, 70, null, 6, 4, 5, 4 ], + [ 11, 71, null, 6, 4, 5, 5 ] ] + + var actual = [] + + function next (i) { return function (er, fd) { + if (er) + throw er + actual.push([i, fd, er, fs.MAX_OPEN, fs.MIN_MAX_OPEN, fs._curOpen, fds]) + + if (i === max - 1) { + t.same(actual, expect) + t.ok(fs.MAX_OPEN < limit) + t.end() + } + + fs.close(fd) + } } +}) + +test('readdir emfile autoreduce', function (t) { + fs.MAX_OPEN = 1024 + var max = 12 + for (var i = 0; i < max; i ++) { + fs.readdir(__dirname, next(i)) + } + + var expect = + [ [0,[__filename,"some-other-file.js"],null,7,4,7,7], + [1,[__filename,"some-other-file.js"],null,7,4,7,6], + [2,[__filename,"some-other-file.js"],null,7,4,7,5], + [3,[__filename,"some-other-file.js"],null,7,4,7,4], + [4,[__filename,"some-other-file.js"],null,7,4,7,3], + [5,[__filename,"some-other-file.js"],null,7,4,6,2], + [6,[__filename,"some-other-file.js"],null,7,4,5,1], + [7,[__filename,"some-other-file.js"],null,7,4,4,0], + [8,[__filename,"some-other-file.js"],null,7,4,3,3], + [9,[__filename,"some-other-file.js"],null,7,4,2,2], + [10,[__filename,"some-other-file.js"],null,7,4,1,1], + [11,[__filename,"some-other-file.js"],null,7,4,0,0] ] + + var actual = [] + + function next (i) { return function (er, files) { + if (er) + throw er + var line = [i, files, er, fs.MAX_OPEN, fs.MIN_MAX_OPEN, fs._curOpen, fds ] + actual.push(line) + + if (i === max - 1) { + t.ok(fs.MAX_OPEN < limit) + t.same(actual, expect) + t.end() + } + } } +}) diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/README.md b/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/README.md new file mode 100644 index 0000000..b2beaed --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/README.md @@ -0,0 +1,51 @@ +A dead simple way to do inheritance in JS. + + var inherits = require("inherits") + + function Animal () { + this.alive = true + } + Animal.prototype.say = function (what) { + console.log(what) + } + + inherits(Dog, Animal) + function Dog () { + Dog.super.apply(this) + } + Dog.prototype.sniff = function () { + this.say("sniff sniff") + } + Dog.prototype.bark = function () { + this.say("woof woof") + } + + inherits(Chihuahua, Dog) + function Chihuahua () { + Chihuahua.super.apply(this) + } + Chihuahua.prototype.bark = function () { + this.say("yip yip") + } + + // also works + function Cat () { + Cat.super.apply(this) + } + Cat.prototype.hiss = function () { + this.say("CHSKKSS!!") + } + inherits(Cat, Animal, { + meow: function () { this.say("miao miao") } + }) + Cat.prototype.purr = function () { + this.say("purr purr") + } + + + var c = new Chihuahua + assert(c instanceof Chihuahua) + assert(c instanceof Dog) + assert(c instanceof Animal) + +The actual function is laughably small. 10-lines small. diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js b/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js new file mode 100644 index 0000000..061b396 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js @@ -0,0 +1,29 @@ +module.exports = inherits + +function inherits (c, p, proto) { + proto = proto || {} + var e = {} + ;[c.prototype, proto].forEach(function (s) { + Object.getOwnPropertyNames(s).forEach(function (k) { + e[k] = Object.getOwnPropertyDescriptor(s, k) + }) + }) + c.prototype = Object.create(p.prototype, e) + c.super = p +} + +//function Child () { +// Child.super.call(this) +// console.error([this +// ,this.constructor +// ,this.constructor === Child +// ,this.constructor.super === Parent +// ,Object.getPrototypeOf(this) === Child.prototype +// ,Object.getPrototypeOf(Object.getPrototypeOf(this)) +// === Parent.prototype +// ,this instanceof Child +// ,this instanceof Parent]) +//} +//function Parent () {} +//inherits(Child, Parent) +//new Child diff --git a/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json b/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json new file mode 100644 index 0000000..738a0a5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json @@ -0,0 +1,30 @@ +{ + "name": "inherits", + "description": "A tiny simple way to do classic inheritance in js", + "version": "1.0.0", + "keywords": [ + "inheritance", + "class", + "klass", + "oop", + "object-oriented" + ], + "main": "./inherits.js", + "repository": { + "type": "git", + "url": "https://github.com/isaacs/inherits" + }, + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "readme": "A dead simple way to do inheritance in JS.\n\n var inherits = require(\"inherits\")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say(\"sniff sniff\")\n }\n Dog.prototype.bark = function () {\n this.say(\"woof woof\")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say(\"yip yip\")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say(\"CHSKKSS!!\")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say(\"miao miao\") }\n })\n Cat.prototype.purr = function () {\n this.say(\"purr purr\")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/inherits/issues" + }, + "homepage": "https://github.com/isaacs/inherits", + "_id": "inherits@1.0.0", + "_from": "inherits@1" +} diff --git a/static/js/node_modules/grunt/node_modules/glob/package.json b/static/js/node_modules/grunt/node_modules/glob/package.json new file mode 100644 index 0000000..fd3bd2e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/package.json @@ -0,0 +1,40 @@ +{ + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "name": "glob", + "description": "a little globber", + "version": "3.1.21", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-glob.git" + }, + "main": "glob.js", + "engines": { + "node": "*" + }, + "dependencies": { + "minimatch": "~0.2.11", + "graceful-fs": "~1.2.0", + "inherits": "1" + }, + "devDependencies": { + "tap": "~0.4.0", + "mkdirp": "0", + "rimraf": "1" + }, + "scripts": { + "test": "tap test/*.js" + }, + "license": "BSD", + "readme": "# Glob\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is [\"**/*.js\"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options]\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `nomount` By default, a pattern starting with a forward-slash will be\n \"mounted\" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not. **Note that this is different from the way that `**` is\nhandled by ruby's `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the statCache object is reused between glob calls.\n\nUsers are thus advised not to use a glob result as a\nguarantee of filesystem state in the face of rapid changes.\nFor the vast majority of operations, this is never a problem.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/node-glob/issues" + }, + "homepage": "https://github.com/isaacs/node-glob", + "_id": "glob@3.1.21", + "_from": "glob@~3.1.21" +} diff --git a/static/js/node_modules/grunt/node_modules/glob/test/00-setup.js b/static/js/node_modules/grunt/node_modules/glob/test/00-setup.js new file mode 100644 index 0000000..245afaf --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/00-setup.js @@ -0,0 +1,176 @@ +// just a little pre-run script to set up the fixtures. +// zz-finish cleans it up + +var mkdirp = require("mkdirp") +var path = require("path") +var i = 0 +var tap = require("tap") +var fs = require("fs") +var rimraf = require("rimraf") + +var files = +[ "a/.abcdef/x/y/z/a" +, "a/abcdef/g/h" +, "a/abcfed/g/h" +, "a/b/c/d" +, "a/bc/e/f" +, "a/c/d/c/b" +, "a/cb/e/f" +] + +var symlinkTo = path.resolve(__dirname, "a/symlink/a/b/c") +var symlinkFrom = "../.." + +files = files.map(function (f) { + return path.resolve(__dirname, f) +}) + +tap.test("remove fixtures", function (t) { + rimraf(path.resolve(__dirname, "a"), function (er) { + t.ifError(er, "remove fixtures") + t.end() + }) +}) + +files.forEach(function (f) { + tap.test(f, function (t) { + var d = path.dirname(f) + mkdirp(d, 0755, function (er) { + if (er) { + t.fail(er) + return t.bailout() + } + fs.writeFile(f, "i like tests", function (er) { + t.ifError(er, "make file") + t.end() + }) + }) + }) +}) + +if (process.platform !== "win32") { + tap.test("symlinky", function (t) { + var d = path.dirname(symlinkTo) + console.error("mkdirp", d) + mkdirp(d, 0755, function (er) { + t.ifError(er) + fs.symlink(symlinkFrom, symlinkTo, "dir", function (er) { + t.ifError(er, "make symlink") + t.end() + }) + }) + }) +} + +;["foo","bar","baz","asdf","quux","qwer","rewq"].forEach(function (w) { + w = "/tmp/glob-test/" + w + tap.test("create " + w, function (t) { + mkdirp(w, function (er) { + if (er) + throw er + t.pass(w) + t.end() + }) + }) +}) + + +// generate the bash pattern test-fixtures if possible +if (process.platform === "win32" || !process.env.TEST_REGEN) { + console.error("Windows, or TEST_REGEN unset. Using cached fixtures.") + return +} + +var spawn = require("child_process").spawn; +var globs = + // put more patterns here. + // anything that would be directly in / should be in /tmp/glob-test + ["test/a/*/+(c|g)/./d" + ,"test/a/**/[cg]/../[cg]" + ,"test/a/{b,c,d,e,f}/**/g" + ,"test/a/b/**" + ,"test/**/g" + ,"test/a/abc{fed,def}/g/h" + ,"test/a/abc{fed/g,def}/**/" + ,"test/a/abc{fed/g,def}/**///**/" + ,"test/**/a/**/" + ,"test/+(a|b|c)/a{/,bc*}/**" + ,"test/*/*/*/f" + ,"test/**/f" + ,"test/a/symlink/a/b/c/a/b/c/a/b/c//a/b/c////a/b/c/**/b/c/**" + ,"{./*/*,/tmp/glob-test/*}" + ,"{/tmp/glob-test/*,*}" // evil owl face! how you taunt me! + ,"test/a/!(symlink)/**" + ] +var bashOutput = {} +var fs = require("fs") + +globs.forEach(function (pattern) { + tap.test("generate fixture " + pattern, function (t) { + var cmd = "shopt -s globstar && " + + "shopt -s extglob && " + + "shopt -s nullglob && " + + // "shopt >&2; " + + "eval \'for i in " + pattern + "; do echo $i; done\'" + var cp = spawn("bash", ["-c", cmd], { cwd: path.dirname(__dirname) }) + var out = [] + cp.stdout.on("data", function (c) { + out.push(c) + }) + cp.stderr.pipe(process.stderr) + cp.on("close", function (code) { + out = flatten(out) + if (!out) + out = [] + else + out = cleanResults(out.split(/\r*\n/)) + + bashOutput[pattern] = out + t.notOk(code, "bash test should finish nicely") + t.end() + }) + }) +}) + +tap.test("save fixtures", function (t) { + var fname = path.resolve(__dirname, "bash-results.json") + var data = JSON.stringify(bashOutput, null, 2) + "\n" + fs.writeFile(fname, data, function (er) { + t.ifError(er) + t.end() + }) +}) + +function cleanResults (m) { + // normalize discrepancies in ordering, duplication, + // and ending slashes. + return m.map(function (m) { + return m.replace(/\/+/g, "/").replace(/\/$/, "") + }).sort(alphasort).reduce(function (set, f) { + if (f !== set[set.length - 1]) set.push(f) + return set + }, []).sort(alphasort).map(function (f) { + // de-windows + return (process.platform !== 'win32') ? f + : f.replace(/^[a-zA-Z]:\\\\/, '/').replace(/\\/g, '/') + }) +} + +function flatten (chunks) { + var s = 0 + chunks.forEach(function (c) { s += c.length }) + var out = new Buffer(s) + s = 0 + chunks.forEach(function (c) { + c.copy(out, s) + s += c.length + }) + + return out.toString().trim() +} + +function alphasort (a, b) { + a = a.toLowerCase() + b = b.toLowerCase() + return a > b ? 1 : a < b ? -1 : 0 +} diff --git a/static/js/node_modules/grunt/node_modules/glob/test/bash-comparison.js b/static/js/node_modules/grunt/node_modules/glob/test/bash-comparison.js new file mode 100644 index 0000000..239ed1a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/bash-comparison.js @@ -0,0 +1,63 @@ +// basic test +// show that it does the same thing by default as the shell. +var tap = require("tap") +, child_process = require("child_process") +, bashResults = require("./bash-results.json") +, globs = Object.keys(bashResults) +, glob = require("../") +, path = require("path") + +// run from the root of the project +// this is usually where you're at anyway, but be sure. +process.chdir(path.resolve(__dirname, "..")) + +function alphasort (a, b) { + a = a.toLowerCase() + b = b.toLowerCase() + return a > b ? 1 : a < b ? -1 : 0 +} + +globs.forEach(function (pattern) { + var expect = bashResults[pattern] + // anything regarding the symlink thing will fail on windows, so just skip it + if (process.platform === "win32" && + expect.some(function (m) { + return /\/symlink\//.test(m) + })) + return + + tap.test(pattern, function (t) { + glob(pattern, function (er, matches) { + if (er) + throw er + + // sort and unmark, just to match the shell results + matches = cleanResults(matches) + + t.deepEqual(matches, expect, pattern) + t.end() + }) + }) + + tap.test(pattern + " sync", function (t) { + var matches = cleanResults(glob.sync(pattern)) + + t.deepEqual(matches, expect, "should match shell") + t.end() + }) +}) + +function cleanResults (m) { + // normalize discrepancies in ordering, duplication, + // and ending slashes. + return m.map(function (m) { + return m.replace(/\/+/g, "/").replace(/\/$/, "") + }).sort(alphasort).reduce(function (set, f) { + if (f !== set[set.length - 1]) set.push(f) + return set + }, []).sort(alphasort).map(function (f) { + // de-windows + return (process.platform !== 'win32') ? f + : f.replace(/^[a-zA-Z]:[\/\\]+/, '/').replace(/[\\\/]+/g, '/') + }) +} diff --git a/static/js/node_modules/grunt/node_modules/glob/test/bash-results.json b/static/js/node_modules/grunt/node_modules/glob/test/bash-results.json new file mode 100644 index 0000000..c227449 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/bash-results.json @@ -0,0 +1,348 @@ +{ + "test/a/*/+(c|g)/./d": [ + "test/a/b/c/./d" + ], + "test/a/**/[cg]/../[cg]": [ + "test/a/abcdef/g/../g", + "test/a/abcfed/g/../g", + "test/a/b/c/../c", + "test/a/c/../c", + "test/a/c/d/c/../c", + "test/a/symlink/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/../c" + ], + "test/a/{b,c,d,e,f}/**/g": [], + "test/a/b/**": [ + "test/a/b", + "test/a/b/c", + "test/a/b/c/d" + ], + "test/**/g": [ + "test/a/abcdef/g", + "test/a/abcfed/g" + ], + "test/a/abc{fed,def}/g/h": [ + "test/a/abcdef/g/h", + "test/a/abcfed/g/h" + ], + "test/a/abc{fed/g,def}/**/": [ + "test/a/abcdef", + "test/a/abcdef/g", + "test/a/abcfed/g" + ], + "test/a/abc{fed/g,def}/**///**/": [ + "test/a/abcdef", + "test/a/abcdef/g", + "test/a/abcfed/g" + ], + "test/**/a/**/": [ + "test/a", + "test/a/abcdef", + "test/a/abcdef/g", + "test/a/abcfed", + "test/a/abcfed/g", + "test/a/b", + "test/a/b/c", + "test/a/bc", + "test/a/bc/e", + "test/a/c", + "test/a/c/d", + "test/a/c/d/c", + "test/a/cb", + "test/a/cb/e", + "test/a/symlink", + "test/a/symlink/a", + "test/a/symlink/a/b", + "test/a/symlink/a/b/c", + "test/a/symlink/a/b/c/a", + "test/a/symlink/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b" + ], + "test/+(a|b|c)/a{/,bc*}/**": [ + "test/a/abcdef", + "test/a/abcdef/g", + "test/a/abcdef/g/h", + "test/a/abcfed", + "test/a/abcfed/g", + "test/a/abcfed/g/h" + ], + "test/*/*/*/f": [ + "test/a/bc/e/f", + "test/a/cb/e/f" + ], + "test/**/f": [ + "test/a/bc/e/f", + "test/a/cb/e/f" + ], + "test/a/symlink/a/b/c/a/b/c/a/b/c//a/b/c////a/b/c/**/b/c/**": [ + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", + "test/a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c" + ], + "{./*/*,/tmp/glob-test/*}": [ + "./examples/g.js", + "./examples/usr-local.js", + "./node_modules/graceful-fs", + "./node_modules/inherits", + "./node_modules/minimatch", + "./node_modules/mkdirp", + "./node_modules/rimraf", + "./node_modules/tap", + "./test/00-setup.js", + "./test/a", + "./test/bash-comparison.js", + "./test/bash-results.json", + "./test/cwd-test.js", + "./test/mark.js", + "./test/nocase-nomagic.js", + "./test/pause-resume.js", + "./test/root-nomount.js", + "./test/root.js", + "./test/zz-cleanup.js", + "/tmp/glob-test/asdf", + "/tmp/glob-test/bar", + "/tmp/glob-test/baz", + "/tmp/glob-test/foo", + "/tmp/glob-test/quux", + "/tmp/glob-test/qwer", + "/tmp/glob-test/rewq" + ], + "{/tmp/glob-test/*,*}": [ + "/tmp/glob-test/asdf", + "/tmp/glob-test/bar", + "/tmp/glob-test/baz", + "/tmp/glob-test/foo", + "/tmp/glob-test/quux", + "/tmp/glob-test/qwer", + "/tmp/glob-test/rewq", + "examples", + "glob.js", + "LICENSE", + "node_modules", + "package.json", + "README.md", + "test" + ], + "test/a/!(symlink)/**": [ + "test/a/abcdef", + "test/a/abcdef/g", + "test/a/abcdef/g/h", + "test/a/abcfed", + "test/a/abcfed/g", + "test/a/abcfed/g/h", + "test/a/b", + "test/a/b/c", + "test/a/b/c/d", + "test/a/bc", + "test/a/bc/e", + "test/a/bc/e/f", + "test/a/c", + "test/a/c/d", + "test/a/c/d/c", + "test/a/c/d/c/b", + "test/a/cb", + "test/a/cb/e", + "test/a/cb/e/f" + ] +} diff --git a/static/js/node_modules/grunt/node_modules/glob/test/cwd-test.js b/static/js/node_modules/grunt/node_modules/glob/test/cwd-test.js new file mode 100644 index 0000000..352c27e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/cwd-test.js @@ -0,0 +1,55 @@ +var tap = require("tap") + +var origCwd = process.cwd() +process.chdir(__dirname) + +tap.test("changing cwd and searching for **/d", function (t) { + var glob = require('../') + var path = require('path') + t.test('.', function (t) { + glob('**/d', function (er, matches) { + t.ifError(er) + t.like(matches, [ 'a/b/c/d', 'a/c/d' ]) + t.end() + }) + }) + + t.test('a', function (t) { + glob('**/d', {cwd:path.resolve('a')}, function (er, matches) { + t.ifError(er) + t.like(matches, [ 'b/c/d', 'c/d' ]) + t.end() + }) + }) + + t.test('a/b', function (t) { + glob('**/d', {cwd:path.resolve('a/b')}, function (er, matches) { + t.ifError(er) + t.like(matches, [ 'c/d' ]) + t.end() + }) + }) + + t.test('a/b/', function (t) { + glob('**/d', {cwd:path.resolve('a/b/')}, function (er, matches) { + t.ifError(er) + t.like(matches, [ 'c/d' ]) + t.end() + }) + }) + + t.test('.', function (t) { + glob('**/d', {cwd: process.cwd()}, function (er, matches) { + t.ifError(er) + t.like(matches, [ 'a/b/c/d', 'a/c/d' ]) + t.end() + }) + }) + + t.test('cd -', function (t) { + process.chdir(origCwd) + t.end() + }) + + t.end() +}) diff --git a/static/js/node_modules/grunt/node_modules/glob/test/mark.js b/static/js/node_modules/grunt/node_modules/glob/test/mark.js new file mode 100644 index 0000000..ed68a33 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/mark.js @@ -0,0 +1,74 @@ +var test = require("tap").test +var glob = require('../') +process.chdir(__dirname) + +test("mark, no / on pattern", function (t) { + glob("a/*", {mark: true}, function (er, results) { + if (er) + throw er + var expect = [ 'a/abcdef/', + 'a/abcfed/', + 'a/b/', + 'a/bc/', + 'a/c/', + 'a/cb/' ] + + if (process.platform !== "win32") + expect.push('a/symlink/') + + t.same(results, expect) + t.end() + }) +}) + +test("mark=false, no / on pattern", function (t) { + glob("a/*", function (er, results) { + if (er) + throw er + var expect = [ 'a/abcdef', + 'a/abcfed', + 'a/b', + 'a/bc', + 'a/c', + 'a/cb' ] + + if (process.platform !== "win32") + expect.push('a/symlink') + t.same(results, expect) + t.end() + }) +}) + +test("mark=true, / on pattern", function (t) { + glob("a/*/", {mark: true}, function (er, results) { + if (er) + throw er + var expect = [ 'a/abcdef/', + 'a/abcfed/', + 'a/b/', + 'a/bc/', + 'a/c/', + 'a/cb/' ] + if (process.platform !== "win32") + expect.push('a/symlink/') + t.same(results, expect) + t.end() + }) +}) + +test("mark=false, / on pattern", function (t) { + glob("a/*/", function (er, results) { + if (er) + throw er + var expect = [ 'a/abcdef/', + 'a/abcfed/', + 'a/b/', + 'a/bc/', + 'a/c/', + 'a/cb/' ] + if (process.platform !== "win32") + expect.push('a/symlink/') + t.same(results, expect) + t.end() + }) +}) diff --git a/static/js/node_modules/grunt/node_modules/glob/test/nocase-nomagic.js b/static/js/node_modules/grunt/node_modules/glob/test/nocase-nomagic.js new file mode 100644 index 0000000..d862970 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/nocase-nomagic.js @@ -0,0 +1,113 @@ +var fs = require('graceful-fs'); +var test = require('tap').test; +var glob = require('../'); + +test('mock fs', function(t) { + var stat = fs.stat + var statSync = fs.statSync + var readdir = fs.readdir + var readdirSync = fs.readdirSync + + function fakeStat(path) { + var ret + switch (path.toLowerCase()) { + case '/tmp': case '/tmp/': + ret = { isDirectory: function() { return true } } + break + case '/tmp/a': + ret = { isDirectory: function() { return false } } + break + } + return ret + } + + fs.stat = function(path, cb) { + var f = fakeStat(path); + if (f) { + process.nextTick(function() { + cb(null, f) + }) + } else { + stat.call(fs, path, cb) + } + } + + fs.statSync = function(path) { + return fakeStat(path) || statSync.call(fs, path) + } + + function fakeReaddir(path) { + var ret + switch (path.toLowerCase()) { + case '/tmp': case '/tmp/': + ret = [ 'a', 'A' ] + break + case '/': + ret = ['tmp', 'tMp', 'tMP', 'TMP'] + } + return ret + } + + fs.readdir = function(path, cb) { + var f = fakeReaddir(path) + if (f) + process.nextTick(function() { + cb(null, f) + }) + else + readdir.call(fs, path, cb) + } + + fs.readdirSync = function(path) { + return fakeReaddir(path) || readdirSync.call(fs, path) + } + + t.pass('mocked') + t.end() +}) + +test('nocase, nomagic', function(t) { + var n = 2 + var want = [ '/TMP/A', + '/TMP/a', + '/tMP/A', + '/tMP/a', + '/tMp/A', + '/tMp/a', + '/tmp/A', + '/tmp/a' ] + glob('/tmp/a', { nocase: true }, function(er, res) { + if (er) + throw er + t.same(res.sort(), want) + if (--n === 0) t.end() + }) + glob('/tmp/A', { nocase: true }, function(er, res) { + if (er) + throw er + t.same(res.sort(), want) + if (--n === 0) t.end() + }) +}) + +test('nocase, with some magic', function(t) { + t.plan(2) + var want = [ '/TMP/A', + '/TMP/a', + '/tMP/A', + '/tMP/a', + '/tMp/A', + '/tMp/a', + '/tmp/A', + '/tmp/a' ] + glob('/tmp/*', { nocase: true }, function(er, res) { + if (er) + throw er + t.same(res.sort(), want) + }) + glob('/tmp/*', { nocase: true }, function(er, res) { + if (er) + throw er + t.same(res.sort(), want) + }) +}) diff --git a/static/js/node_modules/grunt/node_modules/glob/test/pause-resume.js b/static/js/node_modules/grunt/node_modules/glob/test/pause-resume.js new file mode 100644 index 0000000..e1ffbab --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/pause-resume.js @@ -0,0 +1,73 @@ +// show that no match events happen while paused. +var tap = require("tap") +, child_process = require("child_process") +// just some gnarly pattern with lots of matches +, pattern = "test/a/!(symlink)/**" +, bashResults = require("./bash-results.json") +, patterns = Object.keys(bashResults) +, glob = require("../") +, Glob = glob.Glob +, path = require("path") + +// run from the root of the project +// this is usually where you're at anyway, but be sure. +process.chdir(path.resolve(__dirname, "..")) + +function alphasort (a, b) { + a = a.toLowerCase() + b = b.toLowerCase() + return a > b ? 1 : a < b ? -1 : 0 +} + +function cleanResults (m) { + // normalize discrepancies in ordering, duplication, + // and ending slashes. + return m.map(function (m) { + return m.replace(/\/+/g, "/").replace(/\/$/, "") + }).sort(alphasort).reduce(function (set, f) { + if (f !== set[set.length - 1]) set.push(f) + return set + }, []).sort(alphasort).map(function (f) { + // de-windows + return (process.platform !== 'win32') ? f + : f.replace(/^[a-zA-Z]:\\\\/, '/').replace(/\\/g, '/') + }) +} + +var globResults = [] +tap.test("use a Glob object, and pause/resume it", function (t) { + var g = new Glob(pattern) + , paused = false + , res = [] + , expect = bashResults[pattern] + + g.on("pause", function () { + console.error("pause") + }) + + g.on("resume", function () { + console.error("resume") + }) + + g.on("match", function (m) { + t.notOk(g.paused, "must not be paused") + globResults.push(m) + g.pause() + t.ok(g.paused, "must be paused") + setTimeout(g.resume.bind(g), 10) + }) + + g.on("end", function (matches) { + t.pass("reached glob end") + globResults = cleanResults(globResults) + matches = cleanResults(matches) + t.deepEqual(matches, globResults, + "end event matches should be the same as match events") + + t.deepEqual(matches, expect, + "glob matches should be the same as bash results") + + t.end() + }) +}) + diff --git a/static/js/node_modules/grunt/node_modules/glob/test/root-nomount.js b/static/js/node_modules/grunt/node_modules/glob/test/root-nomount.js new file mode 100644 index 0000000..3ac5979 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/root-nomount.js @@ -0,0 +1,39 @@ +var tap = require("tap") + +var origCwd = process.cwd() +process.chdir(__dirname) + +tap.test("changing root and searching for /b*/**", function (t) { + var glob = require('../') + var path = require('path') + t.test('.', function (t) { + glob('/b*/**', { globDebug: true, root: '.', nomount: true }, function (er, matches) { + t.ifError(er) + t.like(matches, []) + t.end() + }) + }) + + t.test('a', function (t) { + glob('/b*/**', { globDebug: true, root: path.resolve('a'), nomount: true }, function (er, matches) { + t.ifError(er) + t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ]) + t.end() + }) + }) + + t.test('root=a, cwd=a/b', function (t) { + glob('/b*/**', { globDebug: true, root: 'a', cwd: path.resolve('a/b'), nomount: true }, function (er, matches) { + t.ifError(er) + t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ]) + t.end() + }) + }) + + t.test('cd -', function (t) { + process.chdir(origCwd) + t.end() + }) + + t.end() +}) diff --git a/static/js/node_modules/grunt/node_modules/glob/test/root.js b/static/js/node_modules/grunt/node_modules/glob/test/root.js new file mode 100644 index 0000000..95c23f9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/root.js @@ -0,0 +1,46 @@ +var t = require("tap") + +var origCwd = process.cwd() +process.chdir(__dirname) + +var glob = require('../') +var path = require('path') + +t.test('.', function (t) { + glob('/b*/**', { globDebug: true, root: '.' }, function (er, matches) { + t.ifError(er) + t.like(matches, []) + t.end() + }) +}) + + +t.test('a', function (t) { + console.error("root=" + path.resolve('a')) + glob('/b*/**', { globDebug: true, root: path.resolve('a') }, function (er, matches) { + t.ifError(er) + var wanted = [ + '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' + ].map(function (m) { + return path.join(path.resolve('a'), m).replace(/\\/g, '/') + }) + + t.like(matches, wanted) + t.end() + }) +}) + +t.test('root=a, cwd=a/b', function (t) { + glob('/b*/**', { globDebug: true, root: 'a', cwd: path.resolve('a/b') }, function (er, matches) { + t.ifError(er) + t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ].map(function (m) { + return path.join(path.resolve('a'), m).replace(/\\/g, '/') + })) + t.end() + }) +}) + +t.test('cd -', function (t) { + process.chdir(origCwd) + t.end() +}) diff --git a/static/js/node_modules/grunt/node_modules/glob/test/zz-cleanup.js b/static/js/node_modules/grunt/node_modules/glob/test/zz-cleanup.js new file mode 100644 index 0000000..e085f0f --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/glob/test/zz-cleanup.js @@ -0,0 +1,11 @@ +// remove the fixtures +var tap = require("tap") +, rimraf = require("rimraf") +, path = require("path") + +tap.test("cleanup fixtures", function (t) { + rimraf(path.resolve(__dirname, "a"), function (er) { + t.ifError(er, "removed") + t.end() + }) +}) diff --git a/static/js/node_modules/grunt/node_modules/hooker/LICENSE-MIT b/static/js/node_modules/grunt/node_modules/hooker/LICENSE-MIT new file mode 100644 index 0000000..90c336c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2012 "Cowboy" Ben Alman + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/hooker/README.md b/static/js/node_modules/grunt/node_modules/hooker/README.md new file mode 100644 index 0000000..138943a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/README.md @@ -0,0 +1,186 @@ +# JavaScript Hooker + +Monkey-patch (hook) functions for debugging and stuff. + +## Getting Started + +This code should work just fine in Node.js: + +First, install the module with: `npm install hooker` + +```javascript +var hooker = require('hooker'); +hooker.hook(Math, "max", function() { + console.log(arguments.length + " arguments passed"); +}); +Math.max(5, 6, 7) // logs: "3 arguments passed", returns 7 +``` + +Or in the browser: + +```html + + +``` + +In the browser, you can attach Hooker's methods to any object. + +```html + + + +``` + +## Documentation + +### hooker.hook +Monkey-patch (hook) one or more methods of an object. +#### Signature: +`hooker.hook(object, [ props, ] [options | prehookFunction])` +#### `props` +The optional `props` argument can be a method name, array of method names or null. If null (or omitted), all enumerable methods of `object` will be hooked. +#### `options` +* `pre` - (Function) a pre-hook function to be executed before the original function. Arguments passed into the method will be passed into the pre-hook function as well. +* `post` - (Function) a post-hook function to be executed after the original function. The original function's result is passed into the post-hook function as its first argument, followed by the method arguments. +* `once` - (Boolean) if true, auto-unhook the function after the first execution. +* `passName` - (Boolean) if true, pass the name of the method into the pre-hook function as its first arg (preceding all other arguments), and into the post-hook function as the second arg (after result but preceding all other arguments). + +#### Returns: +An array of hooked method names. + +### hooker.unhook +Un-monkey-patch (unhook) one or more methods of an object. +#### Signature: +`hooker.unhook(object [, props ])` +#### `props` +The optional `props` argument can be a method name, array of method names or null. If null (or omitted), all methods of `object` will be unhooked. +#### Returns: +An array of unhooked method names. + +### hooker.orig +Get a reference to the original method from a hooked function. +#### Signature: +`hooker.orig(object, props)` + +### hooker.override +When a pre- or post-hook returns the result of this function, the value +passed will be used in place of the original function's return value. Any +post-hook override value will take precedence over a pre-hook override value. +#### Signature: +`hooker.override(value)` + +### hooker.preempt +When a pre-hook returns the result of this function, the value passed will +be used in place of the original function's return value, and the original +function will NOT be executed. +#### Signature: +`hooker.preempt(value)` + +### hooker.filter +When a pre-hook returns the result of this function, the context and +arguments passed will be applied into the original function. +#### Signature: +`hooker.filter(context, arguments)` + + +## Examples +See the unit tests for more examples. + +```javascript +var hooker = require('hooker'); +// Simple logging. +hooker.hook(Math, "max", function() { + console.log(arguments.length + " arguments passed"); +}); +Math.max(5, 6, 7) // logs: "3 arguments passed", returns 7 + +hooker.unhook(Math, "max"); // (This is assumed between all further examples) +Math.max(5, 6, 7) // 7 + +// Returning hooker.override(value) overrides the original value. +hooker.hook(Math, "max", function() { + if (arguments.length === 0) { + return hooker.override(9000); + } +}); +Math.max(5, 6, 7) // 7 +Math.max() // 9000 + +// Auto-unhook after one execution. +hooker.hook(Math, "max", { + once: true, + pre: function() { + console.log("Init something here"); + } +}); +Math.max(5, 6, 7) // logs: "Init something here", returns 7 +Math.max(5, 6, 7) // 7 + +// Filter `this` and arguments through a pre-hook function. +hooker.hook(Math, "max", { + pre: function() { + var args = [].map.call(arguments, function(num) { + return num * 2; + }); + return hooker.filter(this, args); // thisValue, arguments + } +}); +Math.max(5, 6, 7) // 14 + +// Modify the original function's result with a post-hook function. +hooker.hook(Math, "max", { + post: function(result) { + return hooker.override(result * 100); + } +}); +Math.max(5, 6, 7) // 700 + +// Hook every Math method. Note: if Math's methods were enumerable, the second +// argument could be omitted. Since they aren't, an array of properties to hook +// must be explicitly passed. Non-method properties will be skipped. +// See a more generic example here: http://bit.ly/vvJlrS +hooker.hook(Math, Object.getOwnPropertyNames(Math), { + passName: true, + pre: function(name) { + console.log("=> Math." + name, [].slice.call(arguments, 1)); + }, + post: function(result, name) { + console.log("<= Math." + name, result); + } +}); + +var result = Math.max(5, 6, 7); +// => Math.max [ 5, 6, 7 ] +// <= Math.max 7 +result // 7 + +result = Math.ceil(3.456); +// => Math.ceil [ 3.456 ] +// <= Math.ceil 4 +result // 4 +``` + +## Contributing +In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt). + +_Also, please don't edit files in the "dist" subdirectory as they are generated via grunt. You'll find source code in the "lib" subdirectory!_ + +## Release History +2012/01/09 - v0.2.3 - First official release. + +## License +Copyright (c) 2012 "Cowboy" Ben Alman +Licensed under the MIT license. + diff --git a/static/js/node_modules/grunt/node_modules/hooker/child.js b/static/js/node_modules/grunt/node_modules/hooker/child.js new file mode 100644 index 0000000..ae7dcf2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/child.js @@ -0,0 +1,101 @@ +var path = require('path'); +var fs = require('fs'); +var nodeunit = require('nodeunit'); + +var filepaths = fs.readdirSync('test').map(function(filename) { + return path.join('test', filename); +}); + +var unfinished = {}; +var currentModule; +function sendMessage(message) { + process.stdout.write(JSON.stringify(message) + '\n'); +} + +// If an exception is thrown, let the parent process know and exit. +process.on('uncaughtException', function (e) { + sendMessage({error: [e.name, e.message, e.stack]}); + process.exit(); +}); + +// If Nodeunit explodes because a test was missing test.done(), handle it. +var unfinished = {}; +process.on('exit', function (e) { + var len = Object.keys(unfinished).length + if (len > 0) { + sendMessage({exit: ['UNFINISHED']}); + // process.reallyExit(len); + } else { + sendMessage({exit: ['finished']}); + } + // process.exit(); +}); + +nodeunit.reporters.test = { + run: function(files, options, callback) { + // Nodeunit needs absolute paths. + var paths = files.map(function (filepath) { + return path.resolve(filepath); + }); + nodeunit.runFiles(paths, { + // No idea. + testspec: undefined, + // Executed when the first test in a file is run. If no tests exist in + // the file, this doesn't execute. + moduleStart: function(name) { + // Keep track of this so that moduleDone output can be suppressed in + // cases where a test file contains no tests. + currentModule = name; + // Send back to the parent process. + sendMessage({moduleStart: [name.toString()]}); + }, + // Executed after a file is done being processed. This executes whether + // tests exist in the file or not. + moduleDone: function(name) { + // Abort if no tests actually ran. + if (name !== currentModule) { return; } + // Send back to the parent process. + sendMessage({moduleDone: [name.toString()]}); + }, + // Executed before each test is run. + testStart: function(name) { + // Keep track of the current test, in case test.done() was omitted + // and Nodeunit explodes. + unfinished[name] = name; + // Send back to the parent process. + sendMessage({testStart: [name.toString()]}); + }, + // Executed after each test and all its assertions are run. + testDone: function(name, assertions) { + delete unfinished[name]; + // Send back to the parent process. + sendMessage({testDone: [ + name.toString(), + assertions.failures(), + assertions.map(function(assertion) { + var e = assertion.error; + if (e) { + assertion.error = { + name: e.name, + message: e.message, + stack: e.stack + }; + } + return assertion; + }) + ]}); + }, + // Executed when everything is all done. + done: function (assertions) { + // Send back to the parent process. + sendMessage({done: [ + assertions.failures(), + assertions.duration, + assertions + ]}); + } + }); + } +} + +nodeunit.reporters.test.run(filepaths, {}); diff --git a/static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.js b/static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.js new file mode 100644 index 0000000..d10a321 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.js @@ -0,0 +1,169 @@ +/*! JavaScript Hooker - v0.2.3 - 1/29/2012 +* http://github.com/cowboy/javascript-hooker +* Copyright (c) 2012 "Cowboy" Ben Alman; Licensed MIT */ + +(function(exports) { + // Get an array from an array-like object with slice.call(arrayLikeObject). + var slice = [].slice; + // Get an "[object [[Class]]]" string with toString.call(value). + var toString = {}.toString; + + // I can't think of a better way to ensure a value is a specific type other + // than to create instances and use the `instanceof` operator. + function HookerOverride(v) { this.value = v; } + function HookerPreempt(v) { this.value = v; } + function HookerFilter(c, a) { this.context = c; this.args = a; } + + // When a pre- or post-hook returns the result of this function, the value + // passed will be used in place of the original function's return value. Any + // post-hook override value will take precedence over a pre-hook override + // value. + exports.override = function(value) { + return new HookerOverride(value); + }; + + // When a pre-hook returns the result of this function, the value passed will + // be used in place of the original function's return value, and the original + // function will NOT be executed. + exports.preempt = function(value) { + return new HookerPreempt(value); + }; + + // When a pre-hook returns the result of this function, the context and + // arguments passed will be applied into the original function. + exports.filter = function(context, args) { + return new HookerFilter(context, args); + }; + + // Execute callback(s) for properties of the specified object. + function forMethods(obj, props, callback) { + var prop; + if (typeof props === "string") { + // A single prop string was passed. Create an array. + props = [props]; + } else if (props == null) { + // No props were passed, so iterate over all properties, building an + // array. Unfortunately, Object.keys(obj) doesn't work everywhere yet, so + // this has to be done manually. + props = []; + for (prop in obj) { + if (obj.hasOwnProperty(prop)) { + props.push(prop); + } + } + } + // Execute callback for every method in the props array. + var i = props.length; + while (i--) { + // If the property isn't a function... + if (toString.call(obj[props[i]]) !== "[object Function]" || + // ...or the callback returns false... + callback(obj, props[i]) === false) { + // ...remove it from the props array to be returned. + props.splice(i, 1); + } + } + // Return an array of method names for which the callback didn't fail. + return props; + } + + // Monkey-patch (hook) a method of an object. + exports.hook = function(obj, props, options) { + // If the props argument was omitted, shuffle the arguments. + if (options == null) { + options = props; + props = null; + } + // If just a function is passed instead of an options hash, use that as a + // pre-hook function. + if (typeof options === "function") { + options = {pre: options}; + } + + // Hook the specified method of the object. + return forMethods(obj, props, function(obj, prop) { + // The original (current) method. + var orig = obj[prop]; + // The new hooked function. + function hooked() { + var result, origResult, tmp; + + // Get an array of arguments. + var args = slice.call(arguments); + + // If passName option is specified, prepend prop to the args array, + // passing it as the first argument to any specified hook functions. + if (options.passName) { + args.unshift(prop); + } + + // If a pre-hook function was specified, invoke it in the current + // context with the passed-in arguments, and store its result. + if (options.pre) { + result = options.pre.apply(this, args); + } + + if (result instanceof HookerFilter) { + // If the pre-hook returned hooker.filter(context, args), invoke the + // original function with that context and arguments, and store its + // result. + origResult = result = orig.apply(result.context, result.args); + } else if (result instanceof HookerPreempt) { + // If the pre-hook returned hooker.preempt(value) just use the passed + // value and don't execute the original function. + origResult = result = result.value; + } else { + // Invoke the original function in the current context with the + // passed-in arguments, and store its result. + origResult = orig.apply(this, arguments); + // If the pre-hook returned hooker.override(value), use the passed + // value, otherwise use the original function's result. + result = result instanceof HookerOverride ? result.value : origResult; + } + + if (options.post) { + // If a post-hook function was specified, invoke it in the current + // context, passing in the result of the original function as the + // first argument, followed by any passed-in arguments. + tmp = options.post.apply(this, [origResult].concat(args)); + if (tmp instanceof HookerOverride) { + // If the post-hook returned hooker.override(value), use the passed + // value, otherwise use the previously computed result. + result = tmp.value; + } + } + + // Unhook if the "once" option was specified. + if (options.once) { + exports.unhook(obj, prop); + } + + // Return the result! + return result; + } + // Re-define the method. + obj[prop] = hooked; + // Fail if the function couldn't be hooked. + if (obj[prop] !== hooked) { return false; } + // Store a reference to the original method as a property on the new one. + obj[prop]._orig = orig; + }); + }; + + // Get a reference to the original method from a hooked function. + exports.orig = function(obj, prop) { + return obj[prop]._orig; + }; + + // Un-monkey-patch (unhook) a method of an object. + exports.unhook = function(obj, props) { + return forMethods(obj, props, function(obj, prop) { + // Get a reference to the original method, if it exists. + var orig = exports.orig(obj, prop); + // If there's no original method, it can't be unhooked, so fail. + if (!orig) { return false; } + // Unhook the method. + obj[prop] = orig; + }); + }; +}(typeof exports === "object" && exports || this)); diff --git a/static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js b/static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js new file mode 100644 index 0000000..2bcdb54 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js @@ -0,0 +1,4 @@ +/*! JavaScript Hooker - v0.2.3 - 1/29/2012 +* http://github.com/cowboy/javascript-hooker +* Copyright (c) 2012 "Cowboy" Ben Alman; Licensed MIT */ +(function(a){function d(a){this.value=a}function e(a){this.value=a}function f(a,b){this.context=a,this.args=b}function g(a,b,d){var e;if(typeof b=="string")b=[b];else if(b==null){b=[];for(e in a)a.hasOwnProperty(e)&&b.push(e)}var f=b.length;while(f--)(c.call(a[b[f]])!=="[object Function]"||d(a,b[f])===!1)&&b.splice(f,1);return b}var b=[].slice,c={}.toString;a.override=function(a){return new d(a)},a.preempt=function(a){return new e(a)},a.filter=function(a,b){return new f(a,b)},a.hook=function(c,h,i){return i==null&&(i=h,h=null),typeof i=="function"&&(i={pre:i}),g(c,h,function(c,g){function j(){var j,k,l,m=b.call(arguments);return i.passName&&m.unshift(g),i.pre&&(j=i.pre.apply(this,m)),j instanceof f?k=j=h.apply(j.context,j.args):j instanceof e?k=j=j.value:(k=h.apply(this,arguments),j=j instanceof d?j.value:k),i.post&&(l=i.post.apply(this,[k].concat(m)),l instanceof d&&(j=l.value)),i.once&&a.unhook(c,g),j}var h=c[g];c[g]=j;if(c[g]!==j)return!1;c[g]._orig=h})},a.orig=function(a,b){return a[b]._orig},a.unhook=function(b,c){return g(b,c,function(b,c){var d=a.orig(b,c);if(!d)return!1;b[c]=d})}})(typeof exports=="object"&&exports||this) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/hooker/grunt.js b/static/js/node_modules/grunt/node_modules/hooker/grunt.js new file mode 100644 index 0000000..c695148 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/grunt.js @@ -0,0 +1,47 @@ +/*global config:true, task:true*/ +config.init({ + pkg: '', + meta: { + name: 'JavaScript Hooker', + banner: '/*! <%= meta.name %> - v<%= pkg.version %> - <%= template.today("m/d/yyyy") %>\n' + + '* <%= pkg.homepage %>\n' + + '* Copyright (c) <%= template.today("yyyy") %> <%= pkg.author.name %>;' + + ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */' + }, + concat: { + 'dist/ba-hooker.js': ['', ''] + }, + min: { + 'dist/ba-hooker.min.js': ['', 'dist/ba-hooker.js'] + }, + test: { + files: ['test/**/*.js'] + }, + lint: { + files: ['grunt.js', 'lib/**/*.js', 'test/**/*.js'] + }, + watch: { + files: '', + tasks: 'lint:files test:files' + }, + jshint: { + options: { + curly: true, + eqeqeq: true, + immed: true, + latedef: true, + newcap: true, + noarg: true, + sub: true, + undef: true, + eqnull: true + }, + globals: { + exports: true + } + }, + uglify: {} +}); + +// Default task. +task.registerTask('default', 'lint:files test:files concat min'); diff --git a/static/js/node_modules/grunt/node_modules/hooker/lib/hooker.js b/static/js/node_modules/grunt/node_modules/hooker/lib/hooker.js new file mode 100644 index 0000000..1ff9764 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/lib/hooker.js @@ -0,0 +1,174 @@ +/* + * JavaScript Hooker + * http://github.com/cowboy/javascript-hooker + * + * Copyright (c) 2012 "Cowboy" Ben Alman + * Licensed under the MIT license. + * http://benalman.com/about/license/ + */ + +(function(exports) { + // Get an array from an array-like object with slice.call(arrayLikeObject). + var slice = [].slice; + // Get an "[object [[Class]]]" string with toString.call(value). + var toString = {}.toString; + + // I can't think of a better way to ensure a value is a specific type other + // than to create instances and use the `instanceof` operator. + function HookerOverride(v) { this.value = v; } + function HookerPreempt(v) { this.value = v; } + function HookerFilter(c, a) { this.context = c; this.args = a; } + + // When a pre- or post-hook returns the result of this function, the value + // passed will be used in place of the original function's return value. Any + // post-hook override value will take precedence over a pre-hook override + // value. + exports.override = function(value) { + return new HookerOverride(value); + }; + + // When a pre-hook returns the result of this function, the value passed will + // be used in place of the original function's return value, and the original + // function will NOT be executed. + exports.preempt = function(value) { + return new HookerPreempt(value); + }; + + // When a pre-hook returns the result of this function, the context and + // arguments passed will be applied into the original function. + exports.filter = function(context, args) { + return new HookerFilter(context, args); + }; + + // Execute callback(s) for properties of the specified object. + function forMethods(obj, props, callback) { + var prop; + if (typeof props === "string") { + // A single prop string was passed. Create an array. + props = [props]; + } else if (props == null) { + // No props were passed, so iterate over all properties, building an + // array. Unfortunately, Object.keys(obj) doesn't work everywhere yet, so + // this has to be done manually. + props = []; + for (prop in obj) { + if (obj.hasOwnProperty(prop)) { + props.push(prop); + } + } + } + // Execute callback for every method in the props array. + var i = props.length; + while (i--) { + // If the property isn't a function... + if (toString.call(obj[props[i]]) !== "[object Function]" || + // ...or the callback returns false... + callback(obj, props[i]) === false) { + // ...remove it from the props array to be returned. + props.splice(i, 1); + } + } + // Return an array of method names for which the callback didn't fail. + return props; + } + + // Monkey-patch (hook) a method of an object. + exports.hook = function(obj, props, options) { + // If the props argument was omitted, shuffle the arguments. + if (options == null) { + options = props; + props = null; + } + // If just a function is passed instead of an options hash, use that as a + // pre-hook function. + if (typeof options === "function") { + options = {pre: options}; + } + + // Hook the specified method of the object. + return forMethods(obj, props, function(obj, prop) { + // The original (current) method. + var orig = obj[prop]; + // The new hooked function. + function hooked() { + var result, origResult, tmp; + + // Get an array of arguments. + var args = slice.call(arguments); + + // If passName option is specified, prepend prop to the args array, + // passing it as the first argument to any specified hook functions. + if (options.passName) { + args.unshift(prop); + } + + // If a pre-hook function was specified, invoke it in the current + // context with the passed-in arguments, and store its result. + if (options.pre) { + result = options.pre.apply(this, args); + } + + if (result instanceof HookerFilter) { + // If the pre-hook returned hooker.filter(context, args), invoke the + // original function with that context and arguments, and store its + // result. + origResult = result = orig.apply(result.context, result.args); + } else if (result instanceof HookerPreempt) { + // If the pre-hook returned hooker.preempt(value) just use the passed + // value and don't execute the original function. + origResult = result = result.value; + } else { + // Invoke the original function in the current context with the + // passed-in arguments, and store its result. + origResult = orig.apply(this, arguments); + // If the pre-hook returned hooker.override(value), use the passed + // value, otherwise use the original function's result. + result = result instanceof HookerOverride ? result.value : origResult; + } + + if (options.post) { + // If a post-hook function was specified, invoke it in the current + // context, passing in the result of the original function as the + // first argument, followed by any passed-in arguments. + tmp = options.post.apply(this, [origResult].concat(args)); + if (tmp instanceof HookerOverride) { + // If the post-hook returned hooker.override(value), use the passed + // value, otherwise use the previously computed result. + result = tmp.value; + } + } + + // Unhook if the "once" option was specified. + if (options.once) { + exports.unhook(obj, prop); + } + + // Return the result! + return result; + } + // Re-define the method. + obj[prop] = hooked; + // Fail if the function couldn't be hooked. + if (obj[prop] !== hooked) { return false; } + // Store a reference to the original method as a property on the new one. + obj[prop]._orig = orig; + }); + }; + + // Get a reference to the original method from a hooked function. + exports.orig = function(obj, prop) { + return obj[prop]._orig; + }; + + // Un-monkey-patch (unhook) a method of an object. + exports.unhook = function(obj, props) { + return forMethods(obj, props, function(obj, prop) { + // Get a reference to the original method, if it exists. + var orig = exports.orig(obj, prop); + // If there's no original method, it can't be unhooked, so fail. + if (!orig) { return false; } + // Unhook the method. + obj[prop] = orig; + }); + }; +}(typeof exports === "object" && exports || this)); diff --git a/static/js/node_modules/grunt/node_modules/hooker/package.json b/static/js/node_modules/grunt/node_modules/hooker/package.json new file mode 100644 index 0000000..97e7761 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/package.json @@ -0,0 +1,45 @@ +{ + "name": "hooker", + "description": "Monkey-patch (hook) functions for debugging and stuff.", + "version": "0.2.3", + "homepage": "http://github.com/cowboy/javascript-hooker", + "author": { + "name": "\"Cowboy\" Ben Alman", + "url": "http://benalman.com/" + }, + "repository": { + "type": "git", + "url": "git://github.com/cowboy/javascript-hooker.git" + }, + "bugs": { + "url": "https://github.com/cowboy/javascript-hooker/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/cowboy/javascript-hooker/blob/master/LICENSE-MIT" + } + ], + "dependencies": {}, + "devDependencies": { + "grunt": "~0.2.1" + }, + "keywords": [ + "patch", + "hook", + "function", + "debug", + "aop" + ], + "engines": { + "node": "*" + }, + "main": "lib/hooker", + "scripts": { + "test": "grunt test" + }, + "readme": "# JavaScript Hooker\n\nMonkey-patch (hook) functions for debugging and stuff.\n\n## Getting Started\n\nThis code should work just fine in Node.js:\n\nFirst, install the module with: `npm install hooker`\n\n```javascript\nvar hooker = require('hooker');\nhooker.hook(Math, \"max\", function() {\n console.log(arguments.length + \" arguments passed\");\n});\nMath.max(5, 6, 7) // logs: \"3 arguments passed\", returns 7\n```\n\nOr in the browser:\n\n```html\n\n\n```\n\nIn the browser, you can attach Hooker's methods to any object.\n\n```html\n\n\n\n```\n\n## Documentation\n\n### hooker.hook\nMonkey-patch (hook) one or more methods of an object.\n#### Signature:\n`hooker.hook(object, [ props, ] [options | prehookFunction])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all enumerable methods of `object` will be hooked.\n#### `options`\n* `pre` - (Function) a pre-hook function to be executed before the original function. Arguments passed into the method will be passed into the pre-hook function as well.\n* `post` - (Function) a post-hook function to be executed after the original function. The original function's result is passed into the post-hook function as its first argument, followed by the method arguments.\n* `once` - (Boolean) if true, auto-unhook the function after the first execution.\n* `passName` - (Boolean) if true, pass the name of the method into the pre-hook function as its first arg (preceding all other arguments), and into the post-hook function as the second arg (after result but preceding all other arguments).\n\n#### Returns:\nAn array of hooked method names.\n\n### hooker.unhook\nUn-monkey-patch (unhook) one or more methods of an object.\n#### Signature:\n`hooker.unhook(object [, props ])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all methods of `object` will be unhooked.\n#### Returns:\nAn array of unhooked method names.\n\n### hooker.orig\nGet a reference to the original method from a hooked function.\n#### Signature:\n`hooker.orig(object, props)`\n\n### hooker.override\nWhen a pre- or post-hook returns the result of this function, the value\npassed will be used in place of the original function's return value. Any\npost-hook override value will take precedence over a pre-hook override value.\n#### Signature:\n`hooker.override(value)`\n\n### hooker.preempt\nWhen a pre-hook returns the result of this function, the value passed will\nbe used in place of the original function's return value, and the original\nfunction will NOT be executed.\n#### Signature:\n`hooker.preempt(value)`\n\n### hooker.filter\nWhen a pre-hook returns the result of this function, the context and\narguments passed will be applied into the original function.\n#### Signature:\n`hooker.filter(context, arguments)`\n\n\n## Examples\nSee the unit tests for more examples.\n\n```javascript\nvar hooker = require('hooker');\n// Simple logging.\nhooker.hook(Math, \"max\", function() {\n console.log(arguments.length + \" arguments passed\");\n});\nMath.max(5, 6, 7) // logs: \"3 arguments passed\", returns 7\n\nhooker.unhook(Math, \"max\"); // (This is assumed between all further examples)\nMath.max(5, 6, 7) // 7\n\n// Returning hooker.override(value) overrides the original value.\nhooker.hook(Math, \"max\", function() {\n if (arguments.length === 0) {\n return hooker.override(9000);\n }\n});\nMath.max(5, 6, 7) // 7\nMath.max() // 9000\n\n// Auto-unhook after one execution.\nhooker.hook(Math, \"max\", {\n once: true,\n pre: function() {\n console.log(\"Init something here\");\n }\n});\nMath.max(5, 6, 7) // logs: \"Init something here\", returns 7\nMath.max(5, 6, 7) // 7\n\n// Filter `this` and arguments through a pre-hook function.\nhooker.hook(Math, \"max\", {\n pre: function() {\n var args = [].map.call(arguments, function(num) {\n return num * 2;\n });\n return hooker.filter(this, args); // thisValue, arguments\n }\n});\nMath.max(5, 6, 7) // 14\n\n// Modify the original function's result with a post-hook function.\nhooker.hook(Math, \"max\", {\n post: function(result) {\n return hooker.override(result * 100);\n }\n});\nMath.max(5, 6, 7) // 700\n\n// Hook every Math method. Note: if Math's methods were enumerable, the second\n// argument could be omitted. Since they aren't, an array of properties to hook\n// must be explicitly passed. Non-method properties will be skipped.\n// See a more generic example here: http://bit.ly/vvJlrS\nhooker.hook(Math, Object.getOwnPropertyNames(Math), {\n passName: true,\n pre: function(name) {\n console.log(\"=> Math.\" + name, [].slice.call(arguments, 1));\n },\n post: function(result, name) {\n console.log(\"<= Math.\" + name, result);\n }\n});\n\nvar result = Math.max(5, 6, 7);\n// => Math.max [ 5, 6, 7 ]\n// <= Math.max 7\nresult // 7\n\nresult = Math.ceil(3.456);\n// => Math.ceil [ 3.456 ]\n// <= Math.ceil 4\nresult // 4\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt).\n\n_Also, please don't edit files in the \"dist\" subdirectory as they are generated via grunt. You'll find source code in the \"lib\" subdirectory!_\n\n## Release History\n2012/01/09 - v0.2.3 - First official release.\n\n## License\nCopyright (c) 2012 \"Cowboy\" Ben Alman \nLicensed under the MIT license. \n\n", + "readmeFilename": "README.md", + "_id": "hooker@0.2.3", + "_from": "hooker@~0.2.3" +} diff --git a/static/js/node_modules/grunt/node_modules/hooker/parent.js b/static/js/node_modules/grunt/node_modules/hooker/parent.js new file mode 100644 index 0000000..c4a055e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/parent.js @@ -0,0 +1,17 @@ +var spawn = require('child_process').spawn; + +function loop() { + console.log('starting'); + console.log(this); + //var child = spawn('./node_modules/nodeunit/bin/nodeunit', ['test']); + var child = spawn('node', ['child.js']); + child.stdout.on('data', function(buffer) { + process.stdout.write(buffer); + }); + child.on('exit', this.async()); +} + +var context = { + async: function() { return loop.bind(context); } +}; +loop.call(context); \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/hooker/test/hooker_test.js b/static/js/node_modules/grunt/node_modules/hooker/test/hooker_test.js new file mode 100644 index 0000000..dc5910a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/hooker/test/hooker_test.js @@ -0,0 +1,435 @@ +/*global require:true */ +var hooker = require('../lib/hooker'); + +exports['hook'] = { + setUp: function(done) { + this.order = []; + this.track = function() { + [].push.apply(this.order, arguments); + }; + + this.prop = 1; + this.add = function(a, b) { + this.track("add", this.prop, a, b); + return this.prop + a + b; + }; + + this.obj = { + that: this, + prop: 1, + add1: function(a, b) { + this.that.track("add1", this.prop, a, b); + return this.prop + a + b; + }, + add2: function(a, b) { + this.that.track("add2", this.prop, a, b); + return this.prop + a + b; + }, + add3: function(a, b) { + this.that.track("add3", this.prop, a, b); + return this.prop + a + b; + } + }; + + done(); + }, + 'orig': function(test) { + test.expect(1); + var orig = this.add; + hooker.hook(this, "add", function() {}); + test.strictEqual(hooker.orig(this, "add"), orig, "should return a refernce to the original function."); + test.done(); + }, + 'once': function(test) { + test.expect(5); + var orig = this.add; + hooker.hook(this, "add", { + once: true, + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + } + }); + test.strictEqual(this.add(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", 1, 2, 3], "functions should execute in-order."); + test.strictEqual(this.add, orig, "should automatically unhook when once is specified."); + this.order = []; + test.strictEqual(this.add(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["add", 1, 2, 3], "only the original function should execute."); + test.done(); + }, + 'pre-hook (simple syntax)': function(test) { + test.expect(3); + // Pre-hook. + var result = hooker.hook(this, "add", function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + }); + test.deepEqual(result, ["add"], "add should have been hooked."); + test.strictEqual(this.add(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", 1, 2, 3], "functions should execute in-order."); + test.done(); + }, + 'pre-hook': function(test) { + test.expect(3); + // Pre-hook. + var result = hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + } + }); + test.deepEqual(result, ["add"], "add should have been hooked."); + test.strictEqual(this.add(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", 1, 2, 3], "functions should execute in-order."); + test.done(); + }, + 'post-hook': function(test) { + test.expect(3); + // Post-hook. + var result = hooker.hook(this, "add", { + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + } + }); + test.deepEqual(result, ["add"], "add should have been hooked."); + test.strictEqual(this.add(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["add", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook': function(test) { + test.expect(2); + // Pre- & post-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + } + }); + test.strictEqual(this.add(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + test.done(); + }, + + 'pre-hook, return value override': function(test) { + test.expect(2); + // Pre-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // This return value will override the original function's return value. + return hooker.override("b" + this.prop + a + b); + } + }); + test.strictEqual(this.add(2, 3), "b123", "should return the overridden result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", 1, 2, 3], "functions should execute in-order."); + test.done(); + }, + 'post-hook, return value override': function(test) { + test.expect(2); + // Post-hook. + hooker.hook(this, "add", { + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + // This return value will override the original function's return value. + return hooker.override("a" + this.prop + a + b + result); + } + }); + test.strictEqual(this.add(2, 3), "a1236", "should return the post-hook overridden result."); + test.deepEqual(this.order, ["add", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, return value override': function(test) { + test.expect(2); + // Pre- & post-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // This return value will override the original function's return value. + return hooker.override("b" + this.prop + a + b); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + // This return value will override the original function's return value + // AND the pre-hook's return value. + return hooker.override("a" + this.prop + a + b + result); + } + }); + test.strictEqual(this.add(2, 3), "a1236", "should return the overridden result, and post-hook result should take precedence over pre-hook result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + test.done(); + }, + + 'pre-hook, filtering arguments': function(test) { + test.expect(2); + // Pre-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // Return hooker.filter(context, arguments) and they will be passed into + // the original function. The "track" and "order" propterites are just + // set here for the same of this unit test. + return hooker.filter({prop: "x", track: this.track, order: this.order}, ["y", "z"]); + } + }); + test.strictEqual(this.add(2, 3), "xyz", "should return the original function's result, given filtered context and arguments."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", "x", "y", "z"], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, filtering arguments': function(test) { + test.expect(2); + // Pre- & post-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // Return hooker.filter(context, arguments) and they will be passed into + // the original function. The "track" and "order" propterites are just + // set here for the same of this unit test. + return hooker.filter({prop: "x", track: this.track, order: this.order}, ["y", "z"]); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + } + }); + test.strictEqual(this.add(2, 3), "xyz", "should return the original function's result, given filtered context and arguments."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", "x", "y", "z", "after", 1, 2, 3, "xyz"], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, filtering arguments, return value override': function(test) { + test.expect(2); + // Pre- & post-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // Return hooker.filter(context, arguments) and they will be passed into + // the original function. The "track" and "order" propterites are just + // set here for the same of this unit test. + return hooker.filter({prop: "x", track: this.track, order: this.order}, ["y", "z"]); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + // This return value will override the original function's return value + // AND the pre-hook's return value. + return hooker.override("a" + this.prop + a + b + result); + } + }); + test.strictEqual(this.add(2, 3), "a123xyz", "should return the post-hook overridden result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add", "x", "y", "z", "after", 1, 2, 3, "xyz"], "functions should execute in-order."); + test.done(); + }, + + 'pre-hook, preempt original function': function(test) { + test.expect(2); + // Pre-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // Returning hooker.preempt will prevent the original function from being + // invoked and optionally set a return value. + return hooker.preempt(); + } + }); + test.strictEqual(this.add(2, 3), undefined, "should return the value passed to preempt."); + test.deepEqual(this.order, ["before", 1, 2, 3], "functions should execute in-order."); + test.done(); + }, + 'pre-hook, preempt original function with value': function(test) { + test.expect(2); + // Pre-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // Returning hooker.preempt will prevent the original function from being + // invoked and optionally set a return value. + return hooker.preempt(9000); + } + }); + test.strictEqual(this.add(2, 3), 9000, "should return the value passed to preempt."); + test.deepEqual(this.order, ["before", 1, 2, 3], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, preempt original function with value': function(test) { + test.expect(2); + // Pre- & post-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // Returning hooker.preempt will prevent the original function from being + // invoked and optionally set a return value. + return hooker.preempt(9000); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + } + }); + test.strictEqual(this.add(2, 3), 9000, "should return the value passed to preempt."); + test.deepEqual(this.order, ["before", 1, 2, 3, "after", 1, 2, 3, 9000], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, preempt original function with value, return value override': function(test) { + test.expect(2); + // Pre- & post-hook. + hooker.hook(this, "add", { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.track("before", this.prop, a, b); + // Returning hooker.preempt will prevent the original function from being + // invoked and optionally set a return value. + return hooker.preempt(9000); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.track("after", this.prop, a, b, result); + // This return value will override any preempt value set in pre-hook. + return hooker.override("a" + this.prop + a + b + result); + } + }); + test.strictEqual(this.add(2, 3), "a1239000", "should return the overridden result, and post-hook result should take precedence over preempt value."); + test.deepEqual(this.order, ["before", 1, 2, 3, "after", 1, 2, 3, 9000], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, some properties': function(test) { + test.expect(7); + // Pre- & post-hook. + var result = hooker.hook(this.obj, ["add1", "add2"], { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.that.track("before", this.prop, a, b); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.that.track("after", this.prop, a, b, result); + } + }); + test.deepEqual(result.sort(), ["add1", "add2"], "both functions should have been hooked."); + test.strictEqual(this.obj.add1(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add1", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + this.order = []; + test.strictEqual(this.obj.add2(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add2", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + this.order = []; + test.strictEqual(this.obj.add3(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["add3", 1, 2, 3], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, all properties': function(test) { + test.expect(7); + // Pre- & post-hook. + var result = hooker.hook(this.obj, { + pre: function(a, b) { + // Arguments are passed into pre-hook as specified. + this.that.track("before", this.prop, a, b); + }, + post: function(result, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.that.track("after", this.prop, a, b, result); + } + }); + test.deepEqual(result.sort(), ["add1", "add2", "add3"], "all functions should have been hooked."); + test.strictEqual(this.obj.add1(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add1", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + this.order = []; + test.strictEqual(this.obj.add2(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add2", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + this.order = []; + test.strictEqual(this.obj.add3(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, 2, 3, "add3", 1, 2, 3, "after", 1, 2, 3, 6], "functions should execute in-order."); + test.done(); + }, + 'pre- & post-hook, all properties, passName': function(test) { + test.expect(6); + // Pre- & post-hook. + hooker.hook(this.obj, { + passName: true, + pre: function(name, a, b) { + // Arguments are passed into pre-hook as specified. + this.that.track("before", this.prop, name, a, b); + }, + post: function(result, name, a, b) { + // Arguments to post-hook are the original function's return value, + // followed by the specified function arguments. + this.that.track("after", this.prop, name, a, b, result); + } + }); + test.strictEqual(this.obj.add1(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, "add1", 2, 3, "add1", 1, 2, 3, "after", 1, "add1", 2, 3, 6], "functions should execute in-order."); + this.order = []; + test.strictEqual(this.obj.add2(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, "add2", 2, 3, "add2", 1, 2, 3, "after", 1, "add2", 2, 3, 6], "functions should execute in-order."); + this.order = []; + test.strictEqual(this.obj.add3(2, 3), 6, "should return the original function's result."); + test.deepEqual(this.order, ["before", 1, "add3", 2, 3, "add3", 1, 2, 3, "after", 1, "add3", 2, 3, 6], "functions should execute in-order."); + test.done(); + }, + 'unhook one property': function(test) { + test.expect(5); + var orig = this.add; + hooker.hook(this, "add", function() {}); + var result = hooker.unhook(this, "add"); + test.deepEqual(result, ["add"], "one function should have been unhooked."); + test.strictEqual(this.add, orig, "should have unhooked, restoring the original function"); + result = hooker.unhook(this, "add"); + test.deepEqual(result, [], "nothing should have been unhooked."); + test.strictEqual(this.add, orig, "shouldn't explode if already unhooked"); + test.strictEqual(this.add.orig, undefined, "original function shouldn't have an orig property"); + test.done(); + }, + 'unhook some properties': function(test) { + test.expect(6); + var add1 = this.obj.add1; + var add2 = this.obj.add2; + hooker.hook(this.obj, ["add1", "add2"], function() {}); + test.strictEqual(hooker.orig(this.obj, "add1"), add1, "should return a refernce to the original function"); + test.strictEqual(hooker.orig(this.obj, "add2"), add2, "should return a refernce to the original function"); + test.strictEqual(hooker.orig(this.obj, "add3"), undefined, "should not have been hooked, so should not have an original function"); + var result = hooker.unhook(this.obj, ["add1", "add2"]); + test.deepEqual(result.sort(), ["add1", "add2"], "both functions should have been unhooked."); + test.strictEqual(this.obj.add1, add1, "should have unhooked, restoring the original function"); + test.strictEqual(this.obj.add2, add2, "should have unhooked, restoring the original function"); + test.done(); + }, + 'unhook all properties': function(test) { + test.expect(7); + var add1 = this.obj.add1; + var add2 = this.obj.add2; + var add3 = this.obj.add3; + hooker.hook(this.obj, function() {}); + test.strictEqual(hooker.orig(this.obj, "add1"), add1, "should return a refernce to the original function"); + test.strictEqual(hooker.orig(this.obj, "add2"), add2, "should return a refernce to the original function"); + test.strictEqual(hooker.orig(this.obj, "add3"), add3, "should return a refernce to the original function"); + var result = hooker.unhook(this.obj); + test.deepEqual(result.sort(), ["add1", "add2", "add3"], "all functions should have been unhooked."); + test.strictEqual(this.obj.add1, add1, "should have unhooked, restoring the original function"); + test.strictEqual(this.obj.add2, add2, "should have unhooked, restoring the original function"); + test.strictEqual(this.obj.add3, add3, "should have unhooked, restoring the original function"); + test.done(); + } +}; diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/.npmignore b/static/js/node_modules/grunt/node_modules/iconv-lite/.npmignore new file mode 100644 index 0000000..fe46877 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/.npmignore @@ -0,0 +1,3 @@ +node_modules +*~ +*sublime-* diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/.travis.yml b/static/js/node_modules/grunt/node_modules/iconv-lite/.travis.yml new file mode 100644 index 0000000..0bab9cd --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/.travis.yml @@ -0,0 +1,5 @@ + language: node_js + node_js: + - 0.4 + - 0.6 + - 0.8 diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/LICENSE b/static/js/node_modules/grunt/node_modules/iconv-lite/LICENSE new file mode 100644 index 0000000..d518d83 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2011 Alexander Shtuchkin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/README.md b/static/js/node_modules/grunt/node_modules/iconv-lite/README.md new file mode 100644 index 0000000..ba30a32 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/README.md @@ -0,0 +1,72 @@ +iconv-lite - pure javascript character encoding conversion +====================================================================== + +[![Build Status](https://secure.travis-ci.org/ashtuchkin/iconv-lite.png?branch=master)](http://travis-ci.org/ashtuchkin/iconv-lite) + +## Features + +* Pure javascript. Doesn't need native code compilation. +* Easy API. +* Works on Windows and in sandboxed environments like [Cloud9](http://c9.io). +* Encoding is much faster than node-iconv (see below for performance comparison). + +## Usage + + var iconv = require('iconv-lite'); + + // Convert from an encoded buffer to string. + str = iconv.decode(buf, 'win1251'); + + // Convert from string to an encoded buffer. + buf = iconv.encode("Sample input string", 'win1251'); + + // Check if encoding is supported + iconv.encodingExists("us-ascii") + + +## Supported encodings + +* All node.js native encodings: 'utf8', 'ucs2', 'ascii', 'binary', 'base64' +* All widespread single byte encodings: Windows 125x family, ISO-8859 family, + IBM/DOS codepages, Macintosh family, KOI8 family. + Aliases like 'latin1', 'us-ascii' also supported. +* Multibyte encodings: 'gbk', 'gb2313', 'Big5', 'cp950'. + +Others are easy to add, see the source. Please, participate. +Most encodings are generated from node-iconv. Thank you Ben Noordhuis and iconv authors! + +Not supported yet: EUC family, Shift_JIS. + + +## Encoding/decoding speed + +Comparison with node-iconv module (1000x256kb, on Ubuntu 12.04, Core i5/2.5 GHz, Node v0.8.7). +Note: your results may vary, so please always check on your hardware. + + operation iconv@1.2.4 iconv-lite@0.2.4 + ---------------------------------------------------------- + encode('win1251') ~115 Mb/s ~230 Mb/s + decode('win1251') ~95 Mb/s ~130 Mb/s + + +## Notes + +When decoding, a 'binary'-encoded string can be used as a source buffer. +Untranslatable characters are set to � or ?. No transliteration is currently supported, pull requests are welcome. + +## Testing + + git clone git@github.com:ashtuchkin/iconv-lite.git + cd iconv-lite + npm install + npm test + + # To view performance: + node test/performance.js + +## TODO + +* Support streaming character conversion, something like util.pipe(req, iconv.fromEncodingStream('latin1')). +* Add more encodings. +* Add transliteration (best fit char). +* Add tests and correct support of variable-byte encodings (currently work is delegated to node). diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/README.md~ b/static/js/node_modules/grunt/node_modules/iconv-lite/README.md~ new file mode 100644 index 0000000..5f57561 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/README.md~ @@ -0,0 +1,54 @@ +iconv-lite - native javascript conversion between character encodings. +====================================================================== + +## Usage + + var iconv = require('iconv-lite'); + + // Convert from an encoded buffer to string. + str = iconv.fromEncoding(buf, 'win-1251'); + // Or + str = iconv.decode(buf, 'win-1251'); + + // Convert from string to an encoded buffer. + buf = iconv.toEncoding("Sample input string", 'win-1251'); + // Or + buf = iconv.encode("Sample input string", 'win-1251'); + +## Supported encodings + +Currently only a small part of encodings supported: + +* All node.js native encodings: 'utf8', 'ucs2', 'ascii', 'binary', 'base64'. +* 'latin1' +* Cyrillic encodings: 'windows-1251', 'koi8-r', 'iso 8859-5'. + +Other encodings are easy to add, see the source. Please, participate. + + +## Encoding/decoding speed + +Comparison with iconv module (1000 times 256kb, on Core i5/2.5 GHz). + + Operation\module iconv iconv-lite (this) + toEncoding('win1251') 19.57 mb/s 49.04 mb/s + fromEncoding('win1251') 16.39 mb/s 24.11 mb/s + + +## Notes + +This module is JavaScript-only, thus can be used in a sandboxed environment like [Cloud9](http://c9.io). + +Untranslatable characters are set to '?'. No transliteration is currently supported, pull requests are welcome. + +## Testing + + npm install --dev iconv-lite + vows + +## TODO + +* Support streaming character conversion, something like util.pipe(req, iconv.fromEncodingStream('latin1')). +* Add more encodings. +* Add transliteration (best fit char). +* Add tests and correct support of variable-byte encodings (currently work is delegated to node). diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/big5.js b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/big5.js new file mode 100644 index 0000000..0423d63 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/big5.js @@ -0,0 +1,9 @@ +var big5Table = require('./table/big5.js'); +module.exports = { + 'windows950': 'big5', + 'cp950': 'big5', + 'big5': { + type: 'table', + table: big5Table + } +} diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js new file mode 100644 index 0000000..78a63ec --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js @@ -0,0 +1,9 @@ +var gbkTable = require('./table/gbk.js'); +module.exports = { + 'windows936': 'gbk', + 'gb2312': 'gbk', + 'gbk': { + type: 'table', + table: gbkTable + } +} diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js new file mode 100644 index 0000000..f41a7ea --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js @@ -0,0 +1,340 @@ +module.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "iso885911", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "10000": "macroman", + "10006": "macgreek", + "10007": "maccyrillic", + "10029": "maccenteuro", + "10079": "maciceland", + "10081": "macturkish", + "20866": "koi8r", + "21866": "koi8u", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "ascii8bit": "ascii", + "usascii": "ascii", + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + "cp819": "iso88951", + "arabic": "iso88596", + "arabic8": "iso88596", + "greek": "iso88597", + "greek8": "iso88597", + "hebrew": "iso88598", + "hebrew8": "iso88598", + "turkish": "iso88599", + "turkish8": "iso88599", + "thai": "iso885911", + "thai8": "iso885911", + "tis620": "iso885911", + "windows874": "iso885911", + "win874": "iso885911", + "cp874": "iso885911", + "celtic": "iso885914", + "celtic8": "iso885914", + "cp20866": "koi8r", + "ibm878": "koi8r", + "cp21866": "koi8u", + "ibm1168": "koi8u", + "windows1250": { + "type": "singlebyte", + "chars": "€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "singlebyte", + "chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "singlebyte", + "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "singlebyte", + "chars": "€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "singlebyte", + "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "singlebyte", + "chars": "€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "singlebyte", + "chars": "€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "singlebyte", + "chars": "€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "singlebyte", + "chars": "€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤�Ĥ§¨İŞĞĴ­�ݰħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩšēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖרŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨͧĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "singlebyte", + "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Чš©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ" + }, + "cp28606": "iso885916", + "cp437": { + "type": "singlebyte", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm437": "cp437", + "cp737": { + "type": "singlebyte", + "chars": "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ " + }, + "ibm737": "cp737", + "cp775": { + "type": "singlebyte", + "chars": "ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ " + }, + "ibm775": "cp775", + "cp850": { + "type": "singlebyte", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm850": "cp850", + "cp852": { + "type": "singlebyte", + "chars": "ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ " + }, + "ibm852": "cp852", + "cp855": { + "type": "singlebyte", + "chars": "ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ " + }, + "ibm855": "cp855", + "cp857": { + "type": "singlebyte", + "chars": "ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ " + }, + "ibm857": "cp857", + "cp858": { + "type": "singlebyte", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm858": "cp858", + "cp860": { + "type": "singlebyte", + "chars": "ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm860": "cp860", + "cp861": { + "type": "singlebyte", + "chars": "ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm861": "cp861", + "cp862": { + "type": "singlebyte", + "chars": "אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm862": "cp862", + "cp863": { + "type": "singlebyte", + "chars": "ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm863": "cp863", + "cp864": { + "type": "singlebyte", + "chars": "°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�" + }, + "ibm864": "cp864", + "cp865": { + "type": "singlebyte", + "chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " + }, + "ibm865": "cp865", + "cp866": { + "type": "singlebyte", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ " + }, + "ibm866": "cp866", + "cp869": { + "type": "singlebyte", + "chars": "������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ " + }, + "ibm869": "cp869", + "maccenteuro": { + "type": "singlebyte", + "chars": "ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ" + }, + "maccroatian": { + "type": "singlebyte", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ" + }, + "maccyrillic": { + "type": "singlebyte", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤" + }, + "macgreek": { + "type": "singlebyte", + "chars": "Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�" + }, + "maciceland": { + "type": "singlebyte", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macroman": { + "type": "singlebyte", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macromania": { + "type": "singlebyte", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macthai": { + "type": "singlebyte", + "chars": "«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����" + }, + "macturkish": { + "type": "singlebyte", + "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ" + }, + "macukraine": { + "type": "singlebyte", + "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤" + }, + "koi8r": { + "type": "singlebyte", + "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" + }, + "koi8u": { + "type": "singlebyte", + "chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ" + } +}; diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js new file mode 100644 index 0000000..605c72d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js @@ -0,0 +1 @@ +module.exports={"33088":19991,"33089":20002,"33090":20012,"33091":20053,"33092":20066,"33093":20106,"33094":20144,"33095":20203,"33096":20205,"33097":20220,"33098":20252,"33099":20362,"33100":20479,"33101":20546,"33102":20560,"33103":20600,"33104":20696,"33105":20702,"33106":20724,"33107":20758,"33108":20810,"33109":20817,"33110":20836,"33111":20842,"33112":20869,"33113":20880,"33114":20893,"33115":20902,"33116":20904,"33117":20905,"33118":20935,"33119":20950,"33120":20955,"33121":20972,"33122":20988,"33123":21003,"33124":21012,"33125":21013,"33126":21024,"33127":21035,"33128":21049,"33129":21071,"33130":21105,"33131":21136,"33132":21138,"33133":21140,"33134":21148,"33135":21167,"33136":21173,"33137":21200,"33138":21248,"33139":21255,"33140":21284,"33141":21318,"33142":21343,"33143":21395,"33144":21424,"33145":21469,"33146":21539,"33147":21584,"33148":21585,"33149":21642,"33150":21661,"33185":21667,"33186":21684,"33187":21712,"33188":21795,"33189":21823,"33190":21836,"33191":21843,"33192":21853,"33193":21868,"33194":21918,"33195":21929,"33196":21996,"33197":22005,"33198":22051,"33199":22096,"33200":22140,"33201":22154,"33202":22164,"33203":22176,"33204":22191,"33205":22232,"33206":22272,"33207":22361,"33208":22373,"33209":22399,"33210":22405,"33211":22409,"33212":22433,"33213":22444,"33214":22452,"33215":22464,"33216":22472,"33217":22483,"33218":22511,"33219":22596,"33220":22636,"33221":22674,"33222":22682,"33223":22706,"33224":22712,"33225":22757,"33226":22779,"33227":22786,"33228":22795,"33229":22800,"33230":22808,"33231":22811,"33232":29836,"33233":29837,"33234":29849,"33235":29851,"33236":29860,"33237":29876,"33238":29881,"33239":29896,"33240":29900,"33241":29904,"33242":29907,"33243":30018,"33244":30037,"33245":30062,"33246":30093,"33247":30110,"33248":30172,"33249":30252,"33250":30287,"33251":30289,"33252":30323,"33253":30324,"33254":30373,"33255":30425,"33256":30478,"33257":30479,"33258":30552,"33259":30578,"33260":30583,"33261":30584,"33262":30586,"33263":30587,"33264":30616,"33265":30639,"33266":30654,"33267":30659,"33268":30661,"33269":30667,"33270":30685,"33271":30694,"33272":30708,"33273":30750,"33274":30781,"33275":30786,"33276":30788,"33277":30795,"33278":30801,"33344":21782,"33345":22775,"33346":38964,"33347":33883,"33348":28948,"33349":33398,"33350":35158,"33351":40236,"33352":40206,"33353":36527,"33354":24674,"33355":26214,"33356":34510,"33357":25785,"33358":37772,"33359":22107,"33360":28485,"33361":35532,"33362":29001,"33363":24012,"33364":34633,"33365":39464,"33366":31658,"33367":36107,"33368":39255,"33369":23597,"33370":32331,"33371":38938,"33372":20518,"33373":25458,"33374":40568,"33375":30783,"33376":40633,"33377":40634,"33378":36046,"33379":35715,"33380":61305,"33381":33931,"33382":37284,"33383":31331,"33384":25776,"33385":24061,"33386":24214,"33387":32865,"33388":26965,"33389":31466,"33390":28710,"33391":26812,"33392":31095,"33393":28060,"33394":36841,"33395":31074,"33396":22178,"33397":34687,"33398":21093,"33399":31108,"33400":28300,"33401":37271,"33402":31622,"33403":38956,"33404":26717,"33405":20397,"33406":34222,"33441":31725,"33442":34635,"33443":20534,"33444":26893,"33445":27542,"33446":24910,"33447":20855,"33448":30495,"33449":20516,"33450":32622,"33451":30452,"33452":27097,"33453":24803,"33454":25334,"33455":21599,"33456":38788,"33457":22092,"33458":20677,"33459":22040,"33460":34398,"33461":22834,"33462":22875,"33463":22877,"33464":22883,"33465":22892,"33466":22939,"33467":22999,"33468":23019,"33469":23066,"33470":23210,"33471":23248,"33472":23281,"33473":23350,"33474":23497,"33475":23539,"33476":23571,"33477":23580,"33478":23582,"33479":23635,"33480":23705,"33481":23708,"33482":23738,"33483":23739,"33484":23745,"33485":23797,"33486":23802,"33487":23829,"33488":23832,"33489":23870,"33490":23891,"33491":23900,"33492":23917,"33493":23923,"33494":23924,"33495":23948,"33496":23952,"33497":23993,"33498":24016,"33499":24019,"33500":24135,"33501":24164,"33502":24271,"33503":24272,"33504":24298,"33505":24304,"33506":24329,"33507":24332,"33508":24337,"33509":24353,"33510":24372,"33511":24385,"33512":24389,"33513":24401,"33514":24412,"33515":24422,"33516":24451,"33517":24560,"33518":24650,"33519":24672,"33520":24715,"33521":24742,"33522":24798,"33523":24849,"33524":24864,"33525":24865,"33526":24892,"33527":24893,"33528":24984,"33529":25015,"33530":25076,"33531":25107,"33532":25117,"33533":25118,"33534":25143,"33600":24186,"33601":27664,"33602":21454,"33603":20267,"33604":20302,"33605":21556,"33606":22257,"33607":22766,"33608":22841,"33609":22918,"33610":23596,"33611":20915,"33612":20914,"33613":28798,"33614":35265,"33615":35282,"33616":36125,"33617":36710,"33618":20122,"33619":26469,"33620":20177,"33621":20004,"33622":21327,"33623":23626,"33624":20872,"33625":24213,"33626":25269,"33627":19996,"33628":20105,"33629":29366,"33630":31868,"33631":32416,"33632":21351,"33633":36711,"33634":37048,"33635":38271,"33636":38376,"33637":20384,"33638":20387,"33639":20822,"33640":21017,"33641":21170,"33642":21364,"33643":22850,"33644":24069,"33645":26594,"33646":27769,"33647":20026,"33648":32419,"33649":32418,"33650":32426,"33651":32427,"33652":32421,"33653":32422,"33654":32417,"33655":32989,"33656":33486,"33657":35745,"33658":35746,"33659":35747,"33660":36126,"33661":36127,"33662":20891,"33697":36712,"33698":38377,"33699":38886,"33700":39029,"33701":39118,"33702":39134,"33703":20457,"33704":20204,"33705":20261,"33706":20010,"33707":20262,"33708":20179,"33709":20923,"33710":21018,"33711":21093,"33712":21592,"33713":23089,"33714":23385,"33715":23777,"33716":23707,"33717":23704,"33718":24072,"33719":24211,"33720":24452,"33721":25375,"33722":26102,"33723":26187,"33724":20070,"33725":27902,"33726":27971,"33727":20044,"33728":29421,"33729":29384,"33730":20137,"33731":30757,"33732":31210,"33733":32442,"33734":32433,"33735":32441,"33736":32431,"33737":32445,"33738":32432,"33739":32423,"33740":32429,"33741":32435,"33742":32440,"33743":32439,"33744":32961,"33745":33033,"33746":21005,"33747":35760,"33748":35750,"33749":35752,"33750":35751,"33751":35754,"33752":35759,"33753":35757,"33754":35755,"33755":23682,"33756":36130,"33757":36129,"33758":36713,"33759":36715,"33760":38025,"33761":38024,"33762":38026,"33763":38027,"33764":38378,"33765":38453,"33766":38485,"33767":38473,"33768":39269,"33769":39532,"33770":39592,"33771":20266,"33772":20255,"33773":20390,"33774":20391,"33775":21153,"33776":21160,"33777":21306,"33778":21442,"33779":21713,"33780":38382,"33781":34900,"33782":22269,"33783":22362,"33784":22441,"33785":25191,"33786":22815,"33787":23044,"33788":22919,"33789":19987,"33790":23558,"33856":23625,"33857":23781,"33858":23703,"33859":24102,"33860":24080,"33861":24352,"33862":24378,"33863":20174,"33864":24469,"33865":20932,"33866":24581,"33867":25195,"33868":25346,"33869":25194,"33870":25249,"33871":25379,"33872":36133,"33873":21551,"33874":26011,"33875":26025,"33876":26172,"33877":21206,"33878":24323,"33879":26465,"33880":26541,"33881":26432,"33882":27682,"33883":20937,"33884":27973,"33885":28170,"33886":27882,"33887":27814,"33888":20928,"33889":29301,"33890":29424,"33891":29616,"33892":20135,"33893":27605,"33894":24322,"33895":20247,"33896":32458,"33897":32479,"33898":32461,"33899":32459,"33900":32460,"33901":32454,"33902":32453,"33903":32452,"33904":32456,"33905":32449,"33906":32450,"33907":38069,"33908":20064,"33909":33626,"33910":33550,"33911":33682,"33912":24196,"33913":33483,"33914":22788,"33915":26415,"33916":34926,"33917":35269,"33918":35268,"33953":35775,"33954":35766,"33955":35776,"33956":35767,"33957":35768,"33958":35774,"33959":35772,"33960":35769,"33961":36137,"33962":36131,"33963":36143,"33964":36135,"33965":36138,"33966":36139,"33967":36717,"33968":36719,"33969":36825,"33970":36830,"33971":36851,"33972":38039,"33973":38035,"33974":38031,"33975":38034,"33976":38381,"33977":38472,"33978":38470,"33979":38452,"33980":39030,"33981":39031,"33982":40060,"33983":40479,"33984":21348,"33985":40614,"33986":22791,"33987":20263,"33988":20254,"33989":20975,"33990":21056,"33991":21019,"33992":21171,"33993":21195,"33994":20007,"33995":21333,"33996":21727,"33997":21796,"33998":20052,"33999":22260,"34000":23591,"34001":22330,"34002":25253,"34003":22490,"34004":22774,"34005":23090,"34006":23547,"34007":23706,"34008":24103,"34009":24079,"34010":21397,"34011":21417,"34012":24694,"34013":38391,"34014":24812,"34015":24699,"34016":24700,"34017":25315,"34018":25381,"34019":25442,"34020":25196,"34021":26531,"34022":26635,"34023":26632,"34024":38054,"34025":27531,"34026":22771,"34027":27695,"34028":27689,"34029":28044,"34030":20945,"34031":28270,"34032":28065,"34033":27748,"34034":27979,"34035":27985,"34036":28067,"34037":26080,"34038":29369,"34039":33487,"34040":30011,"34041":30153,"34042":21457,"34043":30423,"34044":30746,"34045":31174,"34046":31383,"34112":31508,"34113":31499,"34114":32478,"34115":32467,"34116":32466,"34117":32477,"34118":19997,"34119":32476,"34120":32473,"34121":32474,"34122":32470,"34123":32475,"34124":32899,"34125":32958,"34126":32960,"34127":21326,"34128":33713,"34129":33484,"34130":34394,"34131":35270,"34132":35780,"34133":35789,"34134":35777,"34135":35778,"34136":35791,"34137":35781,"34138":35784,"34139":35787,"34140":35785,"34141":35786,"34142":35779,"34143":36142,"34144":36148,"34145":36144,"34146":36155,"34147":36146,"34148":36153,"34149":36154,"34150":36149,"34151":20080,"34152":36140,"34153":36152,"34154":36151,"34155":36722,"34156":36724,"34157":36726,"34158":36827,"34159":37038,"34160":20065,"34161":38046,"34162":38062,"34163":38041,"34164":38048,"34165":38055,"34166":38045,"34167":38052,"34168":38051,"34169":38389,"34170":38384,"34171":24320,"34172":38386,"34173":38388,"34174":38387,"34209":38431,"34210":38454,"34211":38451,"34212":38887,"34213":39033,"34214":39034,"34215":39035,"34216":39274,"34217":39277,"34218":39272,"34219":39278,"34220":39276,"34221":20911,"34222":39533,"34223":20081,"34224":20538,"34225":20256,"34226":20165,"34227":20542,"34228":20260,"34229":20588,"34230":38130,"34231":21183,"34232":31215,"34233":27719,"34234":21527,"34235":21596,"34236":21595,"34237":22253,"34238":22278,"34239":28034,"34240":22359,"34241":22366,"34242":22488,"34243":33556,"34244":22885,"34245":22920,"34246":29233,"34247":24574,"34248":24582,"34249":24698,"34250":25439,"34251":25250,"34252":25443,"34253":26500,"34254":26198,"34255":26197,"34256":26104,"34257":20250,"34258":19994,"34259":26497,"34260":26472,"34261":26722,"34262":26539,"34263":23681,"34264":27807,"34265":28781,"34266":28287,"34267":28369,"34268":27815,"34269":28902,"34270":28860,"34271":28800,"34272":28949,"34273":29239,"34274":29422,"34275":29502,"34276":29682,"34277":24403,"34278":30415,"34279":30544,"34280":30529,"34281":38606,"34282":30860,"34283":33410,"34284":31509,"34285":31908,"34286":32463,"34287":32482,"34288":32465,"34289":32485,"34290":32486,"34291":20041,"34292":32673,"34293":22307,"34294":32928,"34295":33050,"34296":32959,"34297":33041,"34298":33636,"34299":33479,"34300":21494,"34301":33716,"34302":34398,"34368":34383,"34369":21495,"34370":34568,"34371":34476,"34372":34917,"34373":35013,"34374":35815,"34375":35813,"34376":35814,"34377":35797,"34378":35799,"34379":35800,"34380":35801,"34381":35811,"34382":35802,"34383":35805,"34384":35803,"34385":35809,"34386":35810,"34387":35808,"34388":35807,"34389":36156,"34390":36164,"34391":36158,"34392":36159,"34393":36160,"34394":36161,"34395":36162,"34396":36165,"34397":36739,"34398":36733,"34399":36732,"34400":36734,"34401":20892,"34402":36816,"34403":36798,"34404":36829,"34405":36807,"34406":37049,"34407":38068,"34408":38067,"34409":38073,"34410":38072,"34411":38078,"34412":38080,"34413":38085,"34414":38057,"34415":38082,"34416":38083,"34417":38089,"34418":38091,"34419":38044,"34420":38093,"34421":38079,"34422":38086,"34423":38392,"34424":38504,"34425":38589,"34426":30005,"34427":39044,"34428":39037,"34429":39039,"34430":39036,"34465":39041,"34466":39042,"34467":39282,"34468":39284,"34469":39281,"34470":39280,"34471":39536,"34472":39534,"34473":39535,"34474":40480,"34475":20389,"34476":20392,"34477":21294,"34478":21388,"34479":23581,"34480":21589,"34481":21497,"34482":21949,"34483":21863,"34484":21716,"34485":22242,"34486":22270,"34487":23576,"34488":22443,"34489":22545,"34490":23551,"34491":26790,"34492":22842,"34493":22849,"34494":22954,"34495":23454,"34496":23517,"34497":23545,"34498":23649,"34499":23853,"34500":23702,"34501":24065,"34502":24124,"34503":24443,"34504":24577,"34505":24815,"34506":24696,"34507":24813,"34508":24808,"34509":25602,"34510":25524,"34511":25530,"34512":30021,"34513":33635,"34514":26538,"34515":28378,"34516":28173,"34517":27721,"34518":28385,"34519":28382,"34520":28176,"34521":28072,"34522":28063,"34523":27818,"34524":28180,"34525":28183,"34526":28068,"34527":33639,"34528":23572,"34529":33638,"34530":29425,"34531":29712,"34532":29595,"34533":30111,"34534":30113,"34535":30127,"34536":30186,"34537":23613,"34538":30417,"34539":30805,"34540":31087,"34541":31096,"34542":31181,"34543":31216,"34544":27964,"34545":31389,"34546":31546,"34547":31581,"34548":32509,"34549":32510,"34550":32508,"34551":32496,"34552":32491,"34553":32511,"34554":32039,"34555":32512,"34556":32434,"34557":32494,"34558":32504,"34624":32501,"34625":32438,"34626":32500,"34627":32490,"34628":32513,"34629":32502,"34630":32602,"34631":38395,"34632":33669,"34633":30422,"34634":33642,"34635":33485,"34636":34432,"34637":35829,"34638":35821,"34639":35820,"34640":35748,"34641":35819,"34642":35823,"34643":35828,"34644":35824,"34645":35826,"34646":35825,"34647":35827,"34648":35822,"34649":23486,"34650":36168,"34651":36170,"34652":36213,"34653":36214,"34654":36741,"34655":36740,"34656":36731,"34657":36828,"34658":36874,"34659":36882,"34660":38128,"34661":38134,"34662":38108,"34663":38125,"34664":38114,"34665":38124,"34666":38120,"34667":38133,"34668":38115,"34669":38402,"34670":38394,"34671":38397,"34672":38401,"34673":38400,"34674":38469,"34675":39047,"34676":39046,"34677":39122,"34678":39290,"34679":39292,"34680":39285,"34681":39287,"34682":39539,"34683":32942,"34684":39600,"34685":40483,"34686":40482,"34721":20964,"34722":40784,"34723":20159,"34724":20202,"34725":20215,"34726":20396,"34727":20393,"34728":20461,"34729":21095,"34730":21016,"34731":21073,"34732":21053,"34733":21385,"34734":21792,"34735":22068,"34736":21719,"34737":22040,"34738":21943,"34739":21880,"34740":21501,"34741":22687,"34742":22367,"34743":22368,"34744":22549,"34745":23092,"34746":23157,"34747":22953,"34748":23047,"34749":23046,"34750":23485,"34751":23457,"34752":20889,"34753":23618,"34754":23956,"34755":24092,"34756":24223,"34757":21416,"34758":24217,"34759":21422,"34760":24191,"34761":24377,"34762":24198,"34763":34385,"34764":24551,"34765":24578,"34766":24751,"34767":24814,"34768":24868,"34769":24579,"34770":25370,"34771":25169,"34772":25438,"34773":25320,"34774":25376,"34775":25242,"34776":25528,"34777":25599,"34778":25932,"34779":25968,"34780":26242,"34781":26165,"34782":26679,"34783":26729,"34784":26530,"34785":26631,"34786":27004,"34787":26728,"34788":20048,"34789":26526,"34790":27431,"34791":27527,"34792":27572,"34793":27974,"34794":27900,"34795":27905,"34796":27975,"34797":28291,"34798":28070,"34799":28071,"34800":27988,"34801":28909,"34802":22870,"34803":33721,"34804":30126,"34805":30353,"34806":30385,"34807":30424,"34808":30830,"34809":30721,"34810":31377,"34811":31351,"34812":32532,"34813":32451,"34814":32428,"34880":32516,"34881":32517,"34882":32521,"34883":32534,"34884":32536,"34885":32447,"34886":32526,"34887":32531,"34888":32525,"34889":32514,"34890":32520,"34891":32519,"34892":39554,"34893":32610,"34894":33014,"34895":32932,"34896":33714,"34897":33643,"34898":33931,"34899":34430,"34900":34583,"34901":21355,"34902":35850,"34903":35845,"34904":35848,"34905":35846,"34906":35806,"34907":35831,"34908":35832,"34909":35838,"34910":35839,"34911":35844,"34912":35843,"34913":35841,"34914":35770,"34915":35812,"34916":35847,"34917":35837,"34918":35840,"34919":31446,"34920":36180,"34921":36175,"34922":36171,"34923":36145,"34924":36134,"34925":36172,"34926":36132,"34927":21334,"34928":36176,"34929":36136,"34930":36179,"34931":36341,"34932":36745,"34933":36742,"34934":36749,"34935":36744,"34936":36743,"34937":36718,"34938":36750,"34939":36747,"34940":36746,"34941":36866,"34942":36801,"34977":37051,"34978":37073,"34979":37011,"34980":38156,"34981":38161,"34982":38144,"34983":38138,"34984":38096,"34985":38148,"34986":38109,"34987":38160,"34988":38153,"34989":38155,"34990":38049,"34991":38146,"34992":38398,"34993":38405,"34994":24041,"34995":39049,"34996":39052,"34997":20859,"34998":39295,"34999":39297,"35000":39548,"35001":39547,"35002":39543,"35003":39542,"35004":39549,"35005":39550,"35006":39545,"35007":39544,"35008":39607,"35009":38393,"35010":40063,"35011":40065,"35012":40489,"35013":40486,"35014":40632,"35015":40831,"35016":20454,"35017":20647,"35018":20394,"35019":24130,"35020":21058,"35021":21544,"35022":21725,"35023":22003,"35024":22438,"35025":22363,"35026":22859,"35027":34949,"35028":23398,"35029":23548,"35030":23466,"35031":20973,"35032":24811,"35033":25044,"35034":24518,"35035":25112,"35036":25317,"35037":25377,"35038":25374,"35039":25454,"35040":25523,"35041":25321,"35042":25441,"35043":25285,"35044":25373,"35045":21382,"35046":26195,"35047":26196,"35048":26137,"35049":26726,"35050":27178,"35051":26641,"35052":26925,"35053":26725,"35054":26426,"35055":26721,"35056":28096,"35057":27987,"35058":27901,"35059":27978,"35060":27811,"35061":28582,"35062":28177,"35063":28861,"35064":28903,"35065":28783,"35066":28907,"35067":28950,"35068":29420,"35069":29585,"35070":29935,"35136":30232,"35137":21346,"35138":30610,"35139":30742,"35140":30875,"35141":31215,"35142":39062,"35143":31267,"35144":31397,"35145":31491,"35146":31579,"35147":32546,"35148":32547,"35149":33830,"35150":32538,"35151":21439,"35152":32543,"35153":32540,"35154":32537,"35155":32457,"35156":33147,"35157":20852,"35158":33329,"35159":33633,"35160":33831,"35161":33436,"35162":34434,"35163":33828,"35164":35044,"35165":20146,"35166":35278,"35167":35867,"35168":35866,"35169":35855,"35170":35763,"35171":35851,"35172":35853,"35173":35856,"35174":35864,"35175":35834,"35176":35858,"35177":35859,"35178":35773,"35179":35861,"35180":35865,"35181":35852,"35182":35862,"35183":36182,"35184":36752,"35185":36753,"35186":36755,"35187":36751,"35188":21150,"35189":36873,"35190":36831,"35191":36797,"35192":36951,"35193":37050,"35194":38189,"35195":38191,"35196":38192,"35197":38169,"35198":38065,"35233":38050,"35234":38177,"35235":24405,"35236":38126,"35237":38181,"35238":38182,"35239":38175,"35240":38178,"35241":38193,"35242":38414,"35243":38543,"35244":38505,"35245":38745,"35246":33148,"35247":39050,"35248":39048,"35249":39057,"35250":39060,"35251":22836,"35252":39059,"35253":39056,"35254":39302,"35255":39279,"35256":39300,"35257":39301,"35258":39559,"35259":39560,"35260":39558,"35261":39608,"35262":39612,"35263":40077,"35264":40501,"35265":40490,"35266":40495,"35267":40493,"35268":40499,"35269":40857,"35270":40863,"35271":20248,"35272":20607,"35273":20648,"35274":21169,"35275":21659,"35276":21523,"35277":21387,"35278":22489,"35279":23156,"35280":23252,"35281":23351,"35282":23604,"35283":23654,"35284":23679,"35285":23896,"35286":24110,"35287":24357,"35288":24212,"35289":24691,"35290":25103,"35291":20987,"35292":25380,"35293":25319,"35294":25311,"35295":25601,"35296":25947,"35297":27609,"35298":26279,"35299":26723,"35300":26816,"35301":26727,"35302":26633,"35303":27183,"35304":27539,"35305":27617,"35306":27870,"35307":28392,"35308":27982,"35309":28059,"35310":28389,"35311":28073,"35312":28493,"35313":33829,"35314":28799,"35315":28891,"35316":28905,"35317":22681,"35318":29406,"35319":33719,"35320":29615,"35321":29815,"35322":30184,"35323":30103,"35324":30699,"35325":30970,"35326":30710,"35392":31699,"35393":31914,"35394":38214,"35395":31937,"35396":32553,"35397":32489,"35398":32554,"35399":32533,"35400":32551,"35401":32503,"35402":32541,"35403":24635,"35404":32437,"35405":32555,"35406":32420,"35407":32549,"35408":32358,"35409":32550,"35410":22768,"35411":32874,"35412":32852,"35413":32824,"35414":33043,"35415":32966,"35416":33080,"35417":33037,"35418":20020,"35419":20030,"35420":33392,"35421":34103,"35422":34015,"35423":20111,"35424":34684,"35425":34632,"35426":20149,"35427":35099,"35428":35274,"35429":35868,"35430":35876,"35431":35878,"35432":35762,"35433":35854,"35434":35875,"35435":35874,"35436":35466,"35437":35879,"35438":36186,"35439":36187,"35440":36141,"35441":36185,"35442":36235,"35443":36758,"35444":36759,"35445":27586,"35446":36757,"35447":33286,"35448":36824,"35449":36808,"35450":37213,"35451":38208,"35452":38209,"35453":38170,"35454":38190,"35489":38194,"35490":38149,"35491":38180,"35492":38202,"35493":38201,"35494":38203,"35495":38206,"35496":38199,"35497":38420,"35498":38421,"35499":38417,"35500":38385,"35501":38544,"35502":38582,"35503":34429,"35504":38889,"35505":39063,"35506":39123,"35507":39563,"35508":39567,"35509":40092,"35510":40091,"35511":40084,"35512":40081,"35513":40511,"35514":40509,"35515":28857,"35516":25995,"35517":19995,"35518":22108,"35519":22329,"35520":22418,"35521":23158,"35522":25041,"35523":25193,"35524":25527,"35525":25200,"35526":25781,"35527":25670,"35528":25822,"35529":25783,"35530":26029,"35531":27103,"35532":26588,"35533":27099,"35534":26592,"35535":27428,"35536":24402,"35537":27553,"35538":27899,"35539":28182,"35540":28388,"35541":28174,"35542":28293,"35543":27983,"35544":28908,"35545":28952,"35546":29367,"35547":29454,"35548":29934,"35549":30112,"35550":30545,"35551":30784,"35552":31036,"35553":31313,"35554":31229,"35555":31388,"35556":31373,"35557":31659,"35558":31783,"35559":31658,"35560":31697,"35561":31616,"35562":31918,"35563":32455,"35564":32558,"35565":32469,"35566":32557,"35567":32483,"35568":32559,"35569":32728,"35570":32844,"35571":32834,"35572":33040,"35573":33169,"35574":26087,"35575":33832,"35576":34013,"35577":33632,"35578":34546,"35579":34633,"35580":35280,"35581":35294,"35582":35871,"35648":35880,"35649":35884,"35650":35882,"35651":36184,"35652":36434,"35653":36857,"35654":36344,"35655":36527,"35656":36716,"35657":36761,"35658":36841,"35659":21307,"35660":37233,"35661":38225,"35662":38145,"35663":38056,"35664":38221,"35665":38215,"35666":38224,"35667":38226,"35668":38217,"35669":38422,"35670":38383,"35671":38423,"35672":38425,"35673":26434,"35674":21452,"35675":38607,"35676":40481,"35677":39069,"35678":39068,"35679":39064,"35680":39066,"35681":39067,"35682":39311,"35683":39306,"35684":39304,"35685":39569,"35686":39617,"35687":40104,"35688":40100,"35689":40107,"35690":40103,"35691":40515,"35692":40517,"35693":40516,"35694":22404,"35695":22364,"35696":23456,"35697":24222,"35698":24208,"35699":24809,"35700":24576,"35701":25042,"35702":25314,"35703":26103,"35704":27249,"35705":26911,"35706":27016,"35707":27257,"35708":28487,"35709":28625,"35710":27813,"35745":28626,"35746":27896,"35747":28865,"35748":29261,"35749":29322,"35750":20861,"35751":29549,"35752":29626,"35753":29756,"35754":30068,"35755":30250,"35756":30861,"35757":31095,"35758":31283,"35759":31614,"35760":33575,"35761":32462,"35762":32499,"35763":32472,"35764":32599,"35765":32564,"35766":33211,"35767":33402,"35768":34222,"35769":33647,"35770":34433,"35771":34631,"35772":35014,"35773":34948,"35774":35889,"35775":35782,"35776":35885,"35777":35890,"35778":35749,"35779":35887,"35780":36192,"35781":36190,"35782":36343,"35783":36762,"35784":36735,"35785":36766,"35786":36793,"35787":38236,"35788":38237,"35789":38238,"35790":38142,"35791":38231,"35792":38232,"35793":38230,"35794":38233,"35795":38197,"35796":38210,"35797":38143,"35798":37694,"35799":20851,"35800":38471,"35801":38590,"35802":38654,"35803":38892,"35804":38901,"35805":31867,"35806":39072,"35807":39125,"35808":39314,"35809":39313,"35810":39579,"35811":39575,"35812":40120,"35813":40115,"35814":40109,"35815":40119,"35816":40529,"35817":40521,"35818":40522,"35819":40524,"35820":40527,"35821":20029,"35822":40628,"35823":21149,"35824":21657,"35825":22052,"35826":20005,"35827":23453,"35828":24748,"35829":24527,"35830":25318,"35831":25600,"35832":32999,"35833":27015,"35834":28572,"35835":28491,"35836":28809,"35837":29649,"35838":30719,"35904":30778,"35905":30718,"35906":30782,"35907":31398,"35908":31454,"35909":31609,"35910":31726,"35911":36779,"35912":32548,"35913":32487,"35914":32578,"35915":33002,"35916":33328,"35917":34108,"35918":34106,"35919":33446,"35920":33529,"35921":34164,"35922":34461,"35923":35124,"35924":35273,"35925":35302,"35926":35758,"35927":35793,"35928":35893,"35929":36194,"35930":36193,"35931":36280,"35932":37322,"35933":38047,"35934":38105,"35935":38152,"35936":38416,"35937":39128,"35938":39286,"35939":39269,"35940":39582,"35941":33150,"35942":39578,"35943":40131,"35944":40133,"35945":20826,"35946":40835,"35947":40836,"35948":20458,"35949":21995,"35950":21869,"35951":22179,"35952":23646,"35953":24807,"35954":24913,"35955":25668,"35956":25658,"35957":26003,"35958":27185,"35959":26639,"35960":26818,"35961":27516,"35962":28866,"35963":29306,"35964":38262,"35965":29838,"35966":30302,"36001":32544,"36002":32493,"36003":20848,"36004":34259,"36005":34510,"36006":35272,"36007":35892,"36008":25252,"36009":35465,"36010":36163,"36011":36364,"36012":36291,"36013":36347,"36014":36720,"36015":36777,"36016":38256,"36017":38253,"36018":38081,"36019":38107,"36020":38094,"36021":38255,"36022":38220,"36023":21709,"36024":39038,"36025":39074,"36026":39144,"36027":39537,"36028":39584,"36029":34022,"36030":39585,"36031":39621,"36032":40141,"36033":40143,"36034":33722,"36035":40548,"36036":40542,"36037":40839,"36038":40840,"36039":21870,"36040":20456,"36041":20645,"36042":21587,"36043":23402,"36044":24005,"36045":23782,"36046":24367,"36047":25674,"36048":26435,"36049":27426,"36050":28393,"36051":29473,"36052":21472,"36053":30270,"36054":30307,"36055":31548,"36056":31809,"36057":32843,"36058":33039,"36059":34989,"36060":34924,"36061":35835,"36062":36174,"36063":36189,"36064":36399,"36065":36396,"36066":36756,"36067":37094,"36068":38136,"36069":37492,"36070":38657,"36071":38801,"36072":32366,"36073":39076,"36074":39556,"36075":39553,"36076":40150,"36077":40098,"36078":40148,"36079":40151,"36080":40551,"36081":40485,"36082":40761,"36083":40841,"36084":40842,"36085":40858,"36086":24651,"36087":25371,"36088":25605,"36089":29906,"36090":31363,"36091":32552,"36092":33250,"36093":33821,"36094":34506,"36160":21464,"36161":36902,"36162":36923,"36163":38259,"36164":38084,"36165":38757,"36166":26174,"36167":39181,"36168":24778,"36169":39551,"36170":39564,"36171":39635,"36172":39633,"36173":40157,"36174":40158,"36175":40156,"36176":40502,"36177":22065,"36178":22365,"36179":25597,"36180":30251,"36181":30315,"36182":32641,"36183":34453,"36184":35753,"36185":35863,"36186":35894,"36187":33395,"36188":36195,"36189":37247,"36190":38643,"36191":28789,"36192":38701,"36193":39078,"36194":39588,"36195":39699,"36196":39751,"36197":40078,"36198":40560,"36199":40557,"36200":30839,"36201":30416,"36202":40140,"36203":40844,"36204":40843,"36205":21381,"36206":27012,"36207":28286,"36208":31729,"36209":31657,"36210":34542,"36211":35266,"36212":36433,"36213":34885,"36214":38053,"36215":39045,"36216":39307,"36217":39627,"36218":40649,"36219":28390,"36220":30633,"36221":38218,"36222":38831,"36257":39540,"36258":39589,"36259":32518,"36260":35872,"36261":36495,"36262":37245,"36263":38075,"36264":37550,"36265":38179,"36266":40132,"36267":40072,"36268":40681,"36269":20991,"36270":40550,"36271":39562,"36272":40563,"36273":40510,"36274":38074,"36275":20162,"36276":34381,"36277":27538,"36278":22439,"36279":22395,"36280":25099,"36281":20451,"36282":21037,"36283":21389,"36284":21593,"36285":21370,"36286":32424,"36287":33543,"36288":38023,"36289":38022,"36290":21591,"36291":24362,"36292":31059,"36293":32446,"36294":37071,"36295":38028,"36296":21072,"36297":21286,"36298":22261,"36299":22445,"36300":23045,"36301":23741,"36302":23811,"36303":28062,"36304":28172,"36305":28867,"36306":30502,"36307":32448,"36308":32464,"36309":33003,"36310":38030,"36311":38032,"36312":38037,"36313":38029,"36314":38379,"36315":22955,"36316":23899,"36317":24701,"36318":26720,"36319":26536,"36320":27817,"36321":27976,"36322":30066,"36323":30743,"36324":32471,"36325":33757,"36326":35271,"36327":35765,"36328":35790,"36329":35794,"36330":36150,"36331":36147,"36332":36730,"36333":36725,"36334":36728,"36335":36911,"36336":37075,"36337":37124,"36338":38059,"36339":38060,"36340":38043,"36341":38063,"36342":38061,"36343":38058,"36344":38390,"36345":38503,"36346":39032,"36347":39275,"36348":40697,"36349":20251,"36350":20603,"36416":20325,"36417":21794,"36418":22450,"36419":24047,"36420":24493,"36421":28828,"36422":33557,"36423":29426,"36424":29614,"36425":32488,"36426":32480,"36427":32481,"36428":32671,"36429":33645,"36430":34545,"36431":35795,"36432":35798,"36433":35817,"36434":35796,"36435":35804,"36436":36241,"36437":36738,"36438":36737,"36439":37036,"36440":38090,"36441":38088,"36442":38064,"36443":38066,"36444":38070,"36445":38157,"36446":38092,"36447":38077,"36448":38076,"36449":39043,"36450":39040,"36451":20971,"36452":40702,"36453":20606,"36454":21787,"36455":23901,"36456":24123,"36457":24747,"36458":24749,"36459":24580,"36460":25132,"36461":25111,"36462":25247,"36463":25248,"36464":25532,"36465":26724,"36466":26473,"36467":33637,"36468":27986,"36469":27812,"36470":28829,"36471":30386,"36472":30720,"36473":32507,"36474":32498,"36475":32495,"36476":32506,"36477":33715,"36478":35275,"36513":35830,"36514":36167,"36515":38129,"36516":38098,"36517":38097,"36518":38101,"36519":38111,"36520":38123,"36521":38127,"36522":38122,"36523":38135,"36524":38102,"36525":38117,"36526":39121,"36527":21055,"36528":21154,"36529":21715,"36530":21586,"36531":23810,"36532":23780,"36533":24209,"36534":24870,"36535":25378,"36536":26912,"36537":27637,"36538":39053,"36539":28061,"36540":28514,"36541":28064,"36542":28375,"36543":29711,"36544":29825,"36545":30231,"36546":32515,"36547":32535,"36548":32524,"36549":32527,"36550":32529,"36551":33628,"36552":33932,"36553":33553,"36554":33473,"36555":35833,"36556":35836,"36557":35842,"36558":36181,"36559":37112,"36560":38162,"36561":38103,"36562":38141,"36563":38163,"36564":38154,"36565":38116,"36566":38150,"36567":38151,"36568":38164,"36569":38406,"36570":38403,"36571":38739,"36572":39055,"36573":39293,"36574":39541,"36575":39552,"36576":40066,"36577":40488,"36578":21714,"36579":21717,"36580":21721,"36581":23250,"36582":23748,"36583":24639,"36584":27546,"36585":27981,"36586":28904,"36587":29443,"36588":29423,"36589":30876,"36590":31405,"36591":32279,"36592":32539,"36593":33927,"36594":33640,"36595":33929,"36596":33630,"36597":33720,"36598":33431,"36599":34547,"36600":35816,"36601":35857,"36602":35860,"36603":35869,"36604":37072,"36605":38185,"36606":38188,"36672":38166,"36673":38167,"36674":38140,"36675":38171,"36676":38165,"36677":38174,"36678":38036,"36679":38415,"36680":38408,"36681":38409,"36682":38410,"36683":38412,"36684":38413,"36685":40498,"36686":40497,"36687":21724,"36688":24113,"36689":24697,"36690":25672,"36691":58305,"36692":27894,"36693":29461,"36694":29971,"36695":30213,"36696":30187,"36697":30807,"36698":31654,"36699":31578,"36700":31976,"36701":32545,"36702":32807,"36703":33631,"36704":33718,"36705":34544,"36706":35042,"36707":35279,"36708":35873,"36709":35788,"36710":35877,"36711":36292,"36712":38200,"36713":38196,"36714":38113,"36715":38198,"36716":38418,"36717":39271,"36718":40082,"36719":40085,"36720":40504,"36721":40505,"36722":40506,"36723":40832,"36724":24636,"36725":25669,"36726":25784,"36727":27898,"36728":30102,"36729":32523,"36730":32873,"36731":33641,"36732":34789,"36733":34414,"36734":35764,"36769":35881,"36770":36188,"36771":36157,"36772":36760,"36773":37021,"36774":38227,"36775":38112,"36776":38204,"36777":38223,"36778":34021,"36779":38890,"36780":39273,"36781":39568,"36782":39570,"36783":39571,"36784":38411,"36785":40105,"36786":40096,"36787":40520,"36788":40513,"36789":40518,"36790":21411,"36791":21590,"36792":22406,"36793":27104,"36794":26638,"36795":27655,"36796":27895,"36797":28486,"36798":31074,"36799":32562,"36800":32563,"36801":32628,"36802":33315,"36803":34511,"36804":34431,"36805":35043,"36806":35281,"36807":35311,"36808":35886,"36809":38235,"36810":38239,"36811":38250,"36812":38214,"36813":38121,"36814":38891,"36815":39073,"36816":39312,"36817":39618,"36818":40117,"36819":40118,"36820":40123,"36821":40113,"36822":40526,"36823":40491,"36824":40700,"36825":21950,"36826":25732,"36827":26634,"36828":26533,"36829":26636,"36830":32561,"36831":32845,"36832":33551,"36833":33480,"36834":34162,"36835":34548,"36836":34686,"36837":38132,"36838":38246,"36839":38248,"36840":38241,"36841":38243,"36842":38212,"36843":38251,"36844":38119,"36845":38244,"36846":38137,"36847":38426,"36848":39071,"36849":39316,"36850":39546,"36851":39581,"36852":39583,"36853":39576,"36854":40535,"36855":40538,"36856":40540,"36857":40838,"36858":40837,"36859":20649,"36860":23743,"36861":30152,"36862":25786,"36928":27017,"36929":28384,"36930":30779,"36931":31901,"36932":32425,"36933":32556,"36934":34105,"36935":36166,"36936":38257,"36937":38396,"36938":39129,"36939":39586,"36940":39574,"36941":39580,"36942":40101,"36943":40142,"36944":40144,"36945":40547,"36946":40536,"36947":40574,"36948":20865,"36949":23048,"36950":28757,"36951":25874,"36952":30271,"36953":31656,"36954":31860,"36955":33339,"36956":35276,"36957":36345,"36958":36318,"36959":36729,"36960":38228,"36961":38252,"36962":39587,"36963":39557,"36964":40149,"36965":40099,"36966":40102,"36967":40552,"36968":40503,"36969":40859,"36970":26686,"36971":26916,"36972":34016,"36973":38624,"36974":36723,"36975":40159,"36976":40095,"36977":40553,"36978":40556,"36979":40554,"36980":40555,"36981":40519,"36982":28751,"36983":31766,"36984":35888,"36985":39628,"36986":31550,"36987":31900,"36988":32565,"36989":33044,"36990":36479,"37025":38247,"37026":40090,"37027":36273,"37028":36508,"37029":37246,"37030":35891,"37031":39070,"37032":39079,"37033":39591,"37034":40492,"37035":25094,"37036":38404,"37037":40097,"37038":40514,"37039":31160,"37040":25300,"37041":36299,"37042":29648,"37043":23467,"37044":25296,"37045":27585,"37046":20943,"37047":31108,"37048":21525,"37049":28508,"37050":34972,"37051":37095,"37052":20857,"37053":25144,"37054":25243,"37055":25383,"37056":25531,"37057":25566,"37058":25594,"37059":25745,"37060":25792,"37061":25825,"37062":25846,"37063":25861,"37064":25909,"37065":25934,"37066":25963,"37067":25992,"37068":26073,"37069":26142,"37070":26171,"37071":26175,"37072":26180,"37073":26199,"37074":26217,"37075":26227,"37076":26243,"37077":26300,"37078":26303,"37079":26305,"37080":26357,"37081":26362,"37082":26363,"37083":26382,"37084":26390,"37085":26423,"37086":26468,"37087":26470,"37088":26534,"37089":26535,"37090":26537,"37091":26619,"37092":26621,"37093":26624,"37094":26625,"37095":26629,"37096":26654,"37097":26698,"37098":26706,"37099":26709,"37100":26713,"37101":26765,"37102":26809,"37103":26831,"37104":20616,"37105":38184,"37106":40087,"37107":26914,"37108":26918,"37109":220,"37110":58591,"37111":58592,"37112":252,"37113":58594,"37114":58595,"37115":220,"37116":252,"37117":26934,"37118":26977,"37184":33477,"37185":33482,"37186":33496,"37187":33560,"37188":33562,"37189":33571,"37190":33606,"37191":33627,"37192":33634,"37193":33644,"37194":33646,"37195":33692,"37196":33695,"37197":33717,"37198":33724,"37199":33783,"37200":33834,"37201":33864,"37202":33884,"37203":33890,"37204":33924,"37205":33928,"37206":34012,"37207":34019,"37208":34104,"37209":34138,"37210":34199,"37211":34219,"37212":34241,"37213":34323,"37214":34326,"37215":8715,"37216":34581,"37217":34672,"37218":34685,"37219":34699,"37220":34728,"37221":34759,"37222":34768,"37223":34823,"37224":34830,"37225":34855,"37226":34990,"37227":8712,"37228":34997,"37229":35007,"37230":35045,"37231":35061,"37232":35100,"37233":35101,"37234":35191,"37235":35303,"37236":35383,"37237":35500,"37238":35546,"37239":35675,"37240":35697,"37241":35883,"37242":35898,"37243":35964,"37244":35982,"37245":36014,"37246":36114,"37281":36169,"37282":36173,"37283":36209,"37284":36360,"37285":36410,"37286":36464,"37287":36505,"37288":36528,"37289":36529,"37290":36549,"37291":36550,"37292":36558,"37293":36579,"37294":36620,"37295":36721,"37296":36727,"37297":36775,"37298":36847,"37299":36878,"37300":36921,"37301":36965,"37302":37001,"37303":37086,"37304":37141,"37305":37334,"37306":37339,"37307":37342,"37308":37345,"37309":37349,"37310":37366,"37311":37372,"37312":37417,"37313":37420,"37314":65287,"37315":37465,"37316":37495,"37317":37613,"37318":37690,"37319":58701,"37320":58702,"37321":29227,"37322":20866,"37323":20886,"37324":20023,"37325":20843,"37326":20799,"37327":58709,"37328":58710,"37329":26409,"37330":27706,"37331":21378,"37332":30098,"37333":32896,"37334":34916,"37335":19974,"37336":58718,"37337":58719,"37338":58720,"37339":11927,"37340":21241,"37341":21269,"37342":8225,"37343":58725,"37344":13316,"37345":58727,"37346":58728,"37347":58729,"37348":58730,"37349":58731,"37350":20981,"37351":58733,"37352":23662,"37353":58735,"37354":22231,"37355":20128,"37356":20907,"37357":11904,"37358":27079,"37359":58741,"37360":9550,"37361":9688,"37362":9689,"37363":9794,"37364":9654,"37365":9668,"37366":8597,"37367":8252,"37368":182,"37369":8704,"37370":8616,"37371":8596,"37372":8962,"37373":58755,"37374":58756,"37440":20124,"37441":24746,"37442":22311,"37443":22258,"37444":21307,"37445":22769,"37446":36920,"37447":38560,"37448":26628,"37449":21942,"37450":39365,"37451":35585,"37452":20870,"37453":32257,"37454":24540,"37455":27431,"37456":27572,"37457":26716,"37458":22885,"37459":31311,"37460":20206,"37461":20385,"37462":30011,"37463":28784,"37464":20250,"37465":24724,"37466":28023,"37467":32117,"37468":22730,"37469":25040,"37470":25313,"37471":27579,"37472":35226,"37473":23398,"37474":27005,"37475":21917,"37476":28167,"37477":58794,"37478":24059,"37479":38501,"37480":21223,"37481":23515,"37482":28450,"37483":38306,"37484":27475,"37485":35251,"37486":27671,"37487":24112,"37488":25135,"37489":29344,"37490":34384,"37491":26087,"37492":24613,"37493":25312,"37494":25369,"37495":34394,"37496":23777,"37497":25375,"37498":29421,"37499":37111,"37500":38911,"37501":26241,"37502":21220,"37537":35641,"37538":21306,"37539":39366,"37540":21234,"37541":58824,"37542":24452,"37543":33550,"37544":24693,"37545":25522,"37546":28179,"37547":32076,"37548":34509,"37549":36605,"37550":32153,"37551":40335,"37552":25731,"37553":30476,"37554":20537,"37555":21091,"37556":38522,"37557":22287,"37558":26908,"37559":27177,"37560":38997,"37561":39443,"37562":21427,"37563":21577,"37564":23087,"37565":35492,"37566":24195,"37567":28207,"37568":37489,"37569":21495,"37570":22269,"37571":40658,"37572":31296,"37573":30741,"37574":28168,"37575":25998,"37576":27507,"37577":21092,"37578":38609,"37579":21442,"37580":26719,"37581":24808,"37582":36059,"37583":27531,"37584":27503,"37585":20816,"37586":36766,"37587":28287,"37588":23455,"37589":20889,"37590":33294,"37591":25448,"37592":37320,"37593":23551,"37594":21454,"37595":34886,"37596":24467,"37597":28171,"37598":29539,"37599":32294,"37600":31899,"37601":20966,"37602":23558,"37603":31216,"37604":28169,"37605":28988,"37606":22888,"37607":26465,"37608":29366,"37609":20055,"37610":27972,"37611":21104,"37612":30067,"37613":32260,"37614":22732,"37615":23330,"37616":35698,"37617":37304,"37618":35302,"37619":22065,"37620":23517,"37621":23613,"37622":22259,"37623":31883,"37624":37204,"37625":31298,"37626":38543,"37627":39620,"37628":26530,"37629":25968,"37630":25454,"37696":28716,"37697":22768,"37698":25993,"37699":38745,"37700":31363,"37701":25666,"37702":32118,"37703":23554,"37704":27973,"37705":25126,"37706":36341,"37707":37549,"37708":28508,"37709":36983,"37710":36984,"37711":32330,"37712":31109,"37713":30094,"37714":22766,"37715":20105,"37716":33624,"37717":25436,"37718":25407,"37719":24035,"37720":31379,"37721":35013,"37722":20711,"37723":23652,"37724":32207,"37725":39442,"37726":22679,"37727":24974,"37728":34101,"37729":36104,"37730":33235,"37731":23646,"37732":32154,"37733":22549,"37734":23550,"37735":24111,"37736":28382,"37737":28381,"37738":25246,"37739":27810,"37740":28655,"37741":21336,"37742":22022,"37743":22243,"37744":26029,"37745":24382,"37746":36933,"37747":26172,"37748":37619,"37749":24193,"37750":24500,"37751":32884,"37752":25074,"37753":22618,"37754":36883,"37755":37444,"37756":28857,"37757":36578,"37758":20253,"37793":38651,"37794":28783,"37795":24403,"37796":20826,"37797":30423,"37798":31282,"37799":38360,"37800":24499,"37801":27602,"37802":29420,"37803":35501,"37804":23626,"37805":38627,"37806":24336,"37807":24745,"37808":33075,"37809":25309,"37810":24259,"37811":22770,"37812":26757,"37813":21338,"37814":34180,"37815":40614,"37816":32283,"37817":30330,"37818":39658,"37819":25244,"37820":27996,"37821":27996,"37822":25935,"37823":25975,"37824":20398,"37825":25173,"37826":20175,"37827":36794,"37828":22793,"37829":27497,"37830":33303,"37831":31807,"37832":21253,"37833":23453,"37834":25265,"37835":27873,"37836":32990,"37837":30770,"37838":35914,"37839":39165,"37840":22696,"37841":27598,"37842":28288,"37843":33032,"37844":40665,"37845":35379,"37846":34220,"37847":36493,"37848":19982,"37849":35465,"37850":25671,"37851":27096,"37852":35617,"37853":26332,"37854":26469,"37855":38972,"37856":20081,"37857":35239,"37858":31452,"37859":38534,"37860":26053,"37861":20001,"37862":29471,"37863":32209,"37864":28057,"37865":22593,"37866":31036,"37867":21169,"37868":25147,"37869":38666,"37870":40802,"37871":26278,"37872":27508,"37873":24651,"37874":32244,"37875":37676,"37876":28809,"37877":21172,"37878":27004,"37879":37682,"37880":28286,"37881":24357,"37882":20096,"37883":26365,"37884":22985,"37885":23437,"37886":23947,"37952":27179,"37953":26907,"37954":21936,"37955":31874,"37956":36796,"37957":27018,"37958":21682,"37959":40235,"37960":38635,"37961":26905,"37962":25539,"37963":39364,"37964":20967,"37965":26626,"37966":36795,"37967":20685,"37968":23776,"37969":26627,"37970":20970,"37971":21250,"37972":30834,"37973":30033,"37974":30048,"37975":22138,"37976":37618,"37977":22592,"37978":26622,"37979":20451,"37980":26466,"37981":31870,"37982":21249,"37983":20452,"37984":20453,"37985":20969,"37986":21498,"37987":21720,"37988":22222,"37989":22310,"37990":22327,"37991":22328,"37992":22408,"37993":22451,"37994":22442,"37995":22448,"37996":22486,"37997":22640,"37998":22713,"37999":22743,"38000":23670,"38001":23740,"38002":23749,"38003":23742,"38004":23926,"38005":24342,"38006":24634,"38007":25525,"38008":26433,"38009":26467,"38010":26529,"38011":26810,"38012":26917,"38013":26920,"38014":27258,"38049":26915,"38050":26913,"38051":27006,"38052":27009,"38053":27101,"38054":27182,"38055":27250,"38056":27423,"38057":27615,"38058":28181,"38059":29077,"38060":29927,"38061":29938,"38062":29936,"38063":29937,"38064":29944,"38065":29957,"38066":30057,"38067":30314,"38068":30836,"38069":31437,"38070":31439,"38071":31445,"38072":31443,"38073":31457,"38074":31472,"38075":31490,"38076":31763,"38077":31767,"38078":31888,"38079":31917,"38080":31936,"38081":31960,"38082":32155,"38083":32261,"38084":32359,"38085":32387,"38086":32400,"38087":33188,"38088":33373,"38089":33826,"38090":34009,"38091":34352,"38092":34475,"38093":34543,"38094":34992,"38095":35011,"38096":35012,"38097":35076,"38098":59183,"38099":36542,"38100":36552,"38101":36684,"38102":36791,"38103":36826,"38104":36903,"38105":36950,"38106":37685,"38107":37691,"38108":37817,"38109":38282,"38110":38294,"38111":38777,"38112":38790,"38113":38800,"38114":39082,"38115":39830,"38116":39831,"38117":39860,"38118":39887,"38119":39889,"38120":39890,"38121":39922,"38122":39921,"38123":39984,"38124":40007,"38125":40026,"38126":40176,"38127":40262,"38128":40292,"38129":40363,"38130":20036,"38131":21583,"38132":25368,"38133":39857,"38134":40041,"38135":40263,"38136":40293,"38137":39983,"38138":40639,"38139":20916,"38140":21610,"38141":26528,"38142":39822,"38208":37032,"38209":20914,"38210":13869,"38211":25285,"38212":21189,"38213":26545,"38214":21709,"38215":24658,"38216":21441,"38217":28913,"38218":22531,"38219":21855,"38220":37390,"38221":30528,"38222":29756,"38223":29002,"38224":28377,"38225":21472,"38226":29486,"38227":35023,"38228":30861,"38229":32675,"38230":32171,"38231":36394,"38232":37979,"38233":25452,"38234":24487,"38235":23557,"38236":32827,"38237":23791,"38238":14776,"38239":29009,"38240":36045,"38241":38894,"38242":22642,"38243":23139,"38244":32632,"38245":23895,"38246":24943,"38247":27032,"38248":32137,"38249":31918,"38250":32179,"38251":28545,"38252":23290,"38253":22715,"38254":29269,"38255":30286,"38256":36653,"38257":37561,"38258":40286,"38259":40623,"38260":32583,"38261":40388,"38262":36120,"38263":20915,"38264":34412,"38265":21668,"38266":21414,"38267":21030,"38268":26422,"38269":20001,"38270":21364,"38305":24313,"38306":21177,"38307":21647,"38308":24312,"38309":22956,"38310":24625,"38311":29248,"38312":33047,"38313":30267,"38314":24333,"38315":26187,"38316":26280,"38317":24932,"38318":25423,"38319":28895,"38320":27940,"38321":31911,"38322":31945,"38323":21465,"38324":25933,"38325":22338,"38326":29647,"38327":32966,"38328":13649,"38329":27445,"38330":30849,"38331":21452,"38332":29483,"38333":29482,"38334":29641,"38335":30026,"38336":23033,"38337":29124,"38338":29966,"38339":32220,"38340":39393,"38341":35241,"38342":28662,"38343":14935,"38344":25834,"38345":15341,"38346":27809,"38347":28284,"38348":30055,"38349":22633,"38350":22633,"38351":20996,"38352":59338,"38353":24967,"38354":25658,"38355":33263,"38356":59342,"38357":20917,"38358":20945,"38359":27769,"38360":22815,"38361":36857,"38362":39153,"38363":25911,"38364":33033,"38365":34996,"38366":14890,"38367":36525,"38368":32663,"38369":39440,"38370":32037,"38371":27336,"38372":20876,"38373":21031,"38374":59360,"38375":33050,"38376":21408,"38377":21410,"38378":27738,"38379":27703,"38380":33304,"38381":21894,"38382":24315,"38383":20937,"38384":30897,"38385":37474,"38386":21357,"38387":20931,"38388":59374,"38389":33905,"38390":35207,"38391":38765,"38392":35728,"38393":38563,"38394":24316,"38395":38583,"38396":20814,"38397":39952,"38398":26160,"38464":37461,"38465":30728,"38466":37701,"38467":37491,"38468":37737,"38469":59390,"38470":59391,"38471":59392,"38472":59393,"38473":37343,"38474":37338,"38475":30804,"38476":30822,"38477":30856,"38478":30902,"38479":30919,"38480":30930,"38481":30935,"38482":8491,"38483":8651,"38484":30948,"38485":30958,"38486":30960,"38487":30961,"38488":30965,"38489":31026,"38490":31027,"38491":31030,"38492":31064,"38493":12307,"38494":31065,"38495":31089,"38496":31102,"38497":31107,"38498":31110,"38499":31111,"38500":31121,"38501":31129,"38502":31135,"38503":31141,"38504":31202,"38505":31217,"38506":31220,"38507":31274,"38508":31290,"38509":31301,"38510":31333,"38511":31420,"38512":31426,"38513":31433,"38514":31451,"38515":31465,"38516":31486,"38517":31500,"38518":31527,"38519":31529,"38520":31554,"38521":31555,"38522":31573,"38523":31599,"38524":31666,"38525":27102,"38526":27129,"38561":37238,"38562":33114,"38563":33527,"38564":21579,"38565":33074,"38566":32957,"38567":33816,"38568":37214,"38569":37232,"38570":37260,"38571":33096,"38572":59459,"38573":17462,"38574":33113,"38575":32927,"38576":59463,"38577":21833,"38578":21537,"38579":21722,"38580":21554,"38581":21945,"38582":21652,"38583":59470,"38584":30802,"38585":30789,"38586":30796,"38587":59474,"38588":33981,"38589":33820,"38590":33476,"38591":59478,"38592":33915,"38593":35629,"38594":59481,"38595":22347,"38596":59483,"38597":59484,"38598":22341,"38599":34766,"38600":22112,"38601":21994,"38602":22139,"38603":32956,"38604":59491,"38605":30904,"38606":27148,"38607":21708,"38608":31696,"38609":31724,"38610":31738,"38611":31765,"38612":31771,"38613":31797,"38614":31812,"38615":31853,"38616":31886,"38617":31928,"38618":31939,"38619":31974,"38620":31981,"38621":31987,"38622":31989,"38623":31993,"38624":59511,"38625":31996,"38626":32139,"38627":32151,"38628":32164,"38629":32168,"38630":32205,"38631":32208,"38632":32211,"38633":32229,"38634":32253,"38635":27154,"38636":27170,"38637":27184,"38638":27190,"38639":27237,"38640":59527,"38641":59528,"38642":59529,"38643":59530,"38644":59531,"38645":59532,"38646":59533,"38647":59534,"38648":27251,"38649":27256,"38650":59537,"38651":59538,"38652":27260,"38653":27305,"38654":27306,"38720":9450,"38721":9312,"38722":9313,"38723":9314,"38724":9315,"38725":9316,"38726":9317,"38727":9318,"38728":9319,"38729":9320,"38730":9321,"38731":9322,"38732":9323,"38733":9324,"38734":9325,"38735":9326,"38736":9327,"38737":9328,"38738":9329,"38739":9330,"38740":9331,"38741":37700,"38742":37805,"38743":37830,"38744":37861,"38745":37914,"38746":37921,"38747":37950,"38748":37953,"38749":37971,"38750":37978,"38751":38042,"38752":38071,"38753":38104,"38754":38110,"38755":38131,"38756":38147,"38757":38158,"38758":38159,"38759":38168,"38760":38173,"38761":38186,"38762":38187,"38763":38207,"38764":38213,"38765":38222,"38766":38242,"38767":38245,"38768":38249,"38769":38258,"38770":38279,"38771":38297,"38772":38304,"38773":38322,"38774":38502,"38775":38557,"38776":38575,"38777":38578,"38778":38707,"38779":38715,"38780":38733,"38781":38735,"38782":38737,"38817":38741,"38818":38756,"38819":38763,"38820":38769,"38821":38802,"38822":38834,"38823":38898,"38824":38973,"38825":38996,"38826":39077,"38827":39107,"38828":39130,"38829":39150,"38830":39197,"38831":39200,"38832":39267,"38833":39296,"38834":39303,"38835":39309,"38836":39315,"38837":39317,"38838":39356,"38839":39368,"38840":39410,"38841":39606,"38842":39641,"38843":39646,"38844":39695,"38845":39753,"38846":39794,"38847":39811,"38848":39839,"38849":39867,"38850":39907,"38851":39925,"38852":39936,"38853":39940,"38854":39963,"38855":9398,"38856":9399,"38857":9400,"38858":9401,"38859":9402,"38860":9403,"38861":9404,"38862":9405,"38863":9406,"38864":9407,"38865":9408,"38866":9409,"38867":9410,"38868":9411,"38869":9412,"38870":9413,"38871":9414,"38872":9415,"38873":9416,"38874":9417,"38875":9418,"38876":9419,"38877":9420,"38878":9421,"38879":9422,"38880":9423,"38881":9424,"38882":9425,"38883":9426,"38884":9427,"38885":9428,"38886":9429,"38887":9430,"38888":9431,"38889":9432,"38890":9433,"38891":9434,"38892":9435,"38893":9436,"38894":9437,"38895":9438,"38896":9439,"38897":9440,"38898":9441,"38899":9442,"38900":9443,"38901":9444,"38902":9445,"38903":9446,"38904":9447,"38905":9448,"38906":9449,"38907":174,"38908":8482,"38909":59697,"38910":59698,"38976":40054,"38977":10122,"38978":10123,"38979":10124,"38980":10125,"38981":10126,"38982":10127,"38983":10128,"38984":10129,"38985":10130,"38986":10131,"38987":40069,"38988":40070,"38989":40071,"38990":40075,"38991":40080,"38992":40094,"38993":40110,"38994":40112,"38995":40114,"38996":40116,"38997":40122,"38998":40124,"38999":40125,"39000":40134,"39001":40135,"39002":40138,"39003":40139,"39004":40147,"39005":40152,"39006":40153,"39007":40162,"39008":40171,"39009":40172,"39010":40234,"39011":40264,"39012":40272,"39013":40314,"39014":40390,"39015":40523,"39016":40533,"39017":40539,"39018":40561,"39019":40618,"39020":40637,"39021":40644,"39022":40674,"39023":40682,"39024":40712,"39025":40715,"39026":40717,"39027":40737,"39028":40772,"39029":40785,"39030":40861,"39031":64014,"39032":64015,"39033":64017,"39034":64019,"39035":64020,"39036":64024,"39037":64031,"39038":64032,"39073":64033,"39074":64035,"39075":64036,"39076":64039,"39077":64040,"39078":64041,"39079":19972,"39080":20015,"39081":20097,"39082":20103,"39083":20131,"39084":20151,"39085":20156,"39086":20216,"39087":20264,"39088":20265,"39089":20279,"39090":20290,"39091":20293,"39092":20299,"39093":20338,"39094":20386,"39095":20400,"39096":20413,"39097":20424,"39098":20428,"39099":20464,"39100":20466,"39101":20473,"39102":20483,"39103":20488,"39104":20532,"39105":20539,"39106":20568,"39107":20582,"39108":20609,"39109":20624,"39110":20668,"39111":20688,"39112":20703,"39113":20705,"39114":20732,"39115":20749,"39116":20779,"39117":20832,"39118":20910,"39119":20920,"39120":20946,"39121":20962,"39122":20997,"39123":21044,"39124":21052,"39125":21081,"39126":21096,"39127":21113,"39128":21156,"39129":21196,"39130":21287,"39131":21314,"39132":21341,"39133":21373,"39134":21374,"39135":21445,"39136":21456,"39137":21458,"39138":21502,"39139":21613,"39140":21637,"39141":21651,"39142":21662,"39143":21689,"39144":21731,"39145":21743,"39146":21773,"39147":21784,"39148":21797,"39149":21800,"39150":21803,"39151":21831,"39152":21881,"39153":21904,"39154":21940,"39155":21953,"39156":21975,"39157":21976,"39158":22011,"39159":20404,"39160":22049,"39161":8707,"39162":22098,"39163":59852,"39164":9787,"39165":59854,"39166":59855,"39232":22109,"39233":9332,"39234":9333,"39235":9334,"39236":9335,"39237":9336,"39238":9337,"39239":9338,"39240":9339,"39241":9340,"39242":9341,"39243":9342,"39244":9343,"39245":9344,"39246":9345,"39247":9346,"39248":9347,"39249":9348,"39250":9349,"39251":9350,"39252":9351,"39253":22113,"39254":22153,"39255":22155,"39256":22174,"39257":22177,"39258":22193,"39259":22201,"39260":22207,"39261":22230,"39262":22255,"39263":22293,"39264":22301,"39265":22322,"39266":22333,"39267":22335,"39268":22339,"39269":8660,"39270":22398,"39271":22410,"39272":22413,"39273":22416,"39274":22428,"39275":22459,"39276":22462,"39277":22468,"39278":22494,"39279":22526,"39280":22546,"39281":22562,"39282":22599,"39283":22620,"39284":22623,"39285":22643,"39286":22695,"39287":22698,"39288":22704,"39289":22709,"39290":22710,"39291":22731,"39292":22736,"39293":22752,"39294":22789,"39329":22801,"39330":22921,"39331":22932,"39332":22938,"39333":22943,"39334":22960,"39335":22968,"39336":22980,"39337":23023,"39338":23024,"39339":23032,"39340":23042,"39341":23051,"39342":23053,"39343":23058,"39344":23073,"39345":23076,"39346":23079,"39347":23082,"39348":23083,"39349":23084,"39350":23101,"39351":23109,"39352":23124,"39353":23129,"39354":23137,"39355":23144,"39356":23147,"39357":23150,"39358":23153,"39359":23161,"39360":23166,"39361":23169,"39362":23170,"39363":23174,"39364":23176,"39365":23185,"39366":23193,"39367":23200,"39368":23201,"39369":23211,"39370":23235,"39371":23246,"39372":23247,"39373":23251,"39374":23268,"39375":23280,"39376":23294,"39377":23309,"39378":23313,"39379":23317,"39380":23327,"39381":23339,"39382":23361,"39383":23364,"39384":23366,"39385":23370,"39386":23375,"39387":23400,"39388":23412,"39389":23414,"39390":23420,"39391":23426,"39392":23440,"39393":9372,"39394":9373,"39395":9374,"39396":9375,"39397":9376,"39398":9377,"39399":9378,"39400":9379,"39401":9380,"39402":9381,"39403":9382,"39404":9383,"39405":9384,"39406":9385,"39407":9386,"39408":9387,"39409":9388,"39410":9389,"39411":9390,"39412":9391,"39413":9392,"39414":9393,"39415":9394,"39416":9395,"39417":9396,"39418":9397,"39419":60009,"39420":12850,"39421":12849,"39422":27307,"39488":23446,"39489":9352,"39490":9353,"39491":9354,"39492":9355,"39493":9356,"39494":9357,"39495":9358,"39496":9359,"39497":9360,"39498":9361,"39499":9362,"39500":9363,"39501":9364,"39502":9365,"39503":9366,"39504":9367,"39505":9368,"39506":9369,"39507":9370,"39508":9371,"39509":23509,"39510":23511,"39511":23587,"39512":23685,"39513":23710,"39514":23746,"39515":23824,"39516":23852,"39517":23855,"39518":23880,"39519":23894,"39520":23920,"39521":23931,"39522":23941,"39523":23972,"39524":23979,"39525":23990,"39526":24001,"39527":24023,"39528":24073,"39529":24136,"39530":24210,"39531":24253,"39532":24334,"39533":24434,"39534":24497,"39535":24514,"39536":24539,"39537":24543,"39538":24611,"39539":24702,"39540":24791,"39541":24839,"39542":24844,"39543":24857,"39544":24866,"39545":24912,"39546":24928,"39547":24961,"39548":24981,"39549":25017,"39550":25024,"39585":25039,"39586":25043,"39587":25050,"39588":25232,"39589":25393,"39590":8835,"39591":25399,"39592":25465,"39593":25483,"39594":25537,"39595":25570,"39596":25574,"39597":25595,"39598":25598,"39599":25607,"39600":25650,"39601":25656,"39602":25659,"39603":25690,"39604":25713,"39605":25724,"39606":25741,"39607":25775,"39608":25780,"39609":25782,"39610":25821,"39611":25829,"39612":25866,"39613":25873,"39614":25887,"39615":25951,"39616":25965,"39617":25990,"39618":26037,"39619":26046,"39620":26065,"39621":26068,"39622":26083,"39623":26111,"39624":26136,"39625":26147,"39626":26211,"39627":26219,"39628":26237,"39629":26245,"39630":26258,"39631":26266,"39632":26276,"39633":26285,"39634":26291,"39635":26294,"39636":26317,"39637":26318,"39638":26370,"39639":26380,"39640":26393,"39641":26436,"39642":26475,"39643":26511,"39644":26532,"39645":26559,"39646":26582,"39647":26583,"39648":8834,"39649":26637,"39650":26640,"39651":26651,"39652":26678,"39653":26695,"39654":26710,"39655":26756,"39656":26760,"39657":26813,"39658":26819,"39659":26821,"39660":26882,"39661":26883,"39662":26889,"39663":26904,"39664":26947,"39665":26950,"39666":26980,"39667":26983,"39668":26994,"39669":27013,"39670":27039,"39671":27042,"39672":27089,"39673":27093,"39674":27094,"39675":39457,"39676":39462,"39677":39471,"39678":27329,"39744":22975,"39745":27105,"39746":27139,"39747":27162,"39748":27164,"39749":27180,"39750":27181,"39751":27187,"39752":27203,"39753":27205,"39754":27212,"39755":27219,"39756":27223,"39757":27235,"39758":27252,"39759":27266,"39760":27274,"39761":27279,"39762":27289,"39763":27303,"39764":27313,"39765":27317,"39766":27326,"39767":27337,"39768":27348,"39769":27352,"39770":27382,"39771":27479,"39772":27514,"39773":27612,"39774":27676,"39775":27697,"39776":27736,"39777":27758,"39778":27765,"39779":27775,"39780":27823,"39781":27851,"39782":27871,"39783":27903,"39784":27906,"39785":27909,"39786":27910,"39787":27942,"39788":27991,"39789":27995,"39790":28017,"39791":28033,"39792":28047,"39793":28069,"39794":28081,"39795":28158,"39796":28162,"39797":28164,"39798":28175,"39799":28184,"39800":28202,"39801":28240,"39802":28249,"39803":28314,"39804":28341,"39805":28344,"39806":28379,"39841":28410,"39842":28420,"39843":28427,"39844":28428,"39845":28438,"39846":28439,"39847":28468,"39848":28477,"39849":28502,"39850":28537,"39851":28554,"39852":28573,"39853":28575,"39854":28603,"39855":28606,"39856":28627,"39857":28633,"39858":28664,"39859":28675,"39860":28747,"39861":28749,"39862":28752,"39863":28756,"39864":28764,"39865":28775,"39866":28791,"39867":28793,"39868":28811,"39869":28815,"39870":28832,"39871":28835,"39872":28837,"39873":28838,"39874":28839,"39875":28868,"39876":28876,"39877":28880,"39878":28886,"39879":618,"39880":603,"39881":230,"39882":652,"39883":593,"39884":596,"39885":650,"39886":605,"39887":601,"39888":602,"39889":604,"39890":609,"39891":7747,"39892":7753,"39893":330,"39894":7739,"39895":629,"39896":240,"39897":643,"39898":658,"39899":679,"39900":676,"39901":227,"39902":60294,"39903":60295,"39904":623,"39905":632,"39906":647,"39907":60299,"39908":199,"39909":339,"39910":594,"39911":65351,"39912":715,"39913":719,"39914":65345,"39915":65346,"39916":65348,"39917":65349,"39918":65350,"39919":65352,"39920":65353,"39921":65354,"39922":65355,"39923":65356,"39924":65357,"39925":65358,"39926":65359,"39927":65360,"39928":65362,"39929":65363,"39930":65364,"39931":65365,"39932":65366,"39933":65367,"39934":65370,"40000":28917,"40001":12832,"40002":12833,"40003":12834,"40004":12835,"40005":12836,"40006":12837,"40007":12838,"40008":12839,"40009":12840,"40010":12841,"40011":28926,"40012":28933,"40013":28957,"40014":28969,"40015":28971,"40016":28972,"40017":28979,"40018":28981,"40019":28987,"40020":28990,"40021":28992,"40022":29007,"40023":29035,"40024":29045,"40025":29047,"40026":29052,"40027":29054,"40028":29068,"40029":29070,"40030":29073,"40031":29078,"40032":29090,"40033":29091,"40034":29101,"40035":29108,"40036":29111,"40037":29114,"40038":29137,"40039":29149,"40040":29163,"40041":29184,"40042":29193,"40043":29198,"40044":29199,"40045":29206,"40046":29207,"40047":29220,"40048":23204,"40049":29230,"40050":8838,"40051":29271,"40052":29276,"40053":29332,"40054":29444,"40055":29456,"40056":29505,"40057":29556,"40058":29580,"40059":29583,"40060":29592,"40061":29596,"40062":29598,"40097":29607,"40098":29610,"40099":29653,"40100":29665,"40101":29666,"40102":29668,"40103":29670,"40104":29679,"40105":29683,"40106":8839,"40107":29689,"40108":29691,"40109":29698,"40110":29713,"40111":29714,"40112":29716,"40113":29717,"40114":29719,"40115":29721,"40116":29724,"40117":29726,"40118":29727,"40119":29751,"40120":29752,"40121":29753,"40122":29763,"40123":29765,"40124":29767,"40125":29768,"40126":29769,"40127":29779,"40128":29782,"40129":29797,"40130":29803,"40131":29804,"40132":29812,"40133":29818,"40134":29826,"40135":21378,"40136":24191,"40137":20008,"40138":24186,"40139":20886,"40140":23424,"40141":21353,"40142":11911,"40143":60436,"40144":21251,"40145":9746,"40146":33401,"40147":17553,"40148":11916,"40149":11914,"40150":20022,"40151":60444,"40152":21274,"40153":60446,"40154":60447,"40155":11925,"40156":60449,"40157":60450,"40158":9492,"40159":20058,"40160":36790,"40161":24308,"40162":20872,"40163":20101,"40164":60457,"40165":20031,"40166":60459,"40167":60460,"40168":20059,"40169":21430,"40170":36710,"40171":32415,"40172":35744,"40173":36125,"40174":40479,"40175":38376,"40176":38021,"40177":38429,"40178":25164,"40179":27701,"40180":20155,"40181":24516,"40182":28780,"40183":11950,"40184":21475,"40185":27362,"40186":39483,"40187":39484,"40188":39512,"40189":39516,"40190":39523,"40256":9742,"40257":8594,"40258":8592,"40259":8593,"40260":8595,"40261":8680,"40262":8678,"40263":8679,"40264":8681,"40265":8680,"40266":8678,"40267":8679,"40268":8681,"40269":9758,"40270":9756,"40271":9755,"40272":9759,"40273":12310,"40274":12311,"40275":9675,"40276":10005,"40277":10003,"40278":22267,"40279":9789,"40280":22813,"40281":26189,"40282":29221,"40283":10025,"40284":10017,"40285":9786,"40286":9785,"40287":60515,"40288":60516,"40289":60517,"40290":60518,"40291":60519,"40292":23672,"40293":9836,"40294":9834,"40295":23249,"40296":23479,"40297":23804,"40298":60526,"40299":9993,"40300":9986,"40301":60529,"40302":60530,"40303":60531,"40304":60532,"40305":23765,"40306":26478,"40307":29793,"40308":29853,"40309":32595,"40310":34195,"40311":10063,"40312":60540,"40313":60541,"40314":23928,"40315":24379,"40316":60544,"40317":9473,"40318":9475,"40353":60547,"40354":60548,"40355":60549,"40356":60550,"40357":60551,"40358":60552,"40359":60553,"40360":60554,"40361":60555,"40362":60556,"40363":60557,"40364":60558,"40365":60559,"40366":60560,"40367":60561,"40368":39602,"40369":39648,"40370":39700,"40371":39732,"40372":39737,"40373":39744,"40374":39760,"40375":39807,"40376":9788,"40377":32149,"40378":9729,"40379":38708,"40380":9730,"40381":60575,"40382":60576,"40383":60577,"40384":9992,"40385":60579,"40386":60580,"40387":60581,"40388":60582,"40389":60583,"40390":60584,"40391":60585,"40392":8507,"40393":8481,"40394":26343,"40395":28247,"40396":60590,"40397":29015,"40398":31178,"40399":8470,"40400":33132,"40401":35577,"40402":38998,"40403":60597,"40404":60598,"40405":9760,"40406":60600,"40407":9828,"40408":9824,"40409":9831,"40410":9827,"40411":9826,"40412":9830,"40413":9825,"40414":9829,"40415":60609,"40416":60610,"40417":27364,"40418":8478,"40419":13250,"40420":13272,"40421":13217,"40422":60616,"40423":13221,"40424":60618,"40425":60619,"40426":60620,"40427":60621,"40428":60622,"40429":9745,"40430":39809,"40431":39819,"40432":39821,"40433":39901,"40434":39913,"40435":39917,"40436":39924,"40437":39967,"40438":39968,"40439":39974,"40440":40019,"40441":40029,"40442":40059,"40443":40204,"40444":40214,"40445":8626,"40446":27397,"40512":36073,"40513":36082,"40514":36099,"40515":36113,"40516":36124,"40517":36218,"40518":36265,"40519":36288,"40520":36353,"40521":36366,"40522":36422,"40523":36456,"40524":36465,"40525":36478,"40526":36480,"40527":36534,"40528":36537,"40529":36540,"40530":36547,"40531":36580,"40532":36589,"40533":36594,"40534":36656,"40535":36673,"40536":36682,"40537":36773,"40538":36787,"40539":36792,"40540":36810,"40541":36815,"40542":36872,"40543":36915,"40544":36919,"40545":36964,"40546":36972,"40547":37289,"40548":37302,"40549":37316,"40550":37370,"40551":37384,"40552":37395,"40553":37409,"40554":37416,"40555":37419,"40556":37429,"40557":37436,"40558":37441,"40559":37464,"40560":37469,"40561":37471,"40562":37483,"40563":37486,"40564":37505,"40565":37508,"40566":37513,"40567":37519,"40568":37553,"40569":37562,"40570":37567,"40571":37588,"40572":37595,"40573":37603,"40574":37605,"40609":37611,"40610":37612,"40611":37620,"40612":37622,"40613":37629,"40614":37635,"40615":37639,"40616":37680,"40617":37681,"40618":37696,"40619":37698,"40620":37699,"40621":37727,"40622":37730,"40623":37734,"40624":37736,"40625":37747,"40626":37748,"40627":37752,"40628":37757,"40629":37761,"40630":37764,"40631":37766,"40632":37767,"40633":37776,"40634":37788,"40635":37792,"40636":37816,"40637":37819,"40638":37821,"40639":37823,"40640":37835,"40641":37843,"40642":37851,"40643":37856,"40644":37872,"40645":37873,"40646":37875,"40647":37876,"40648":37889,"40649":37892,"40650":37896,"40651":37911,"40652":37915,"40653":37917,"40654":37924,"40655":37925,"40656":37926,"40657":37933,"40658":37954,"40659":37955,"40660":37965,"40661":37972,"40662":37976,"40663":37989,"40664":37991,"40665":37996,"40666":38009,"40667":38011,"40668":38264,"40669":38277,"40670":38310,"40671":38314,"40672":38486,"40673":38523,"40674":38565,"40675":38644,"40676":38683,"40677":38710,"40678":38720,"40679":38721,"40680":38743,"40681":38791,"40682":38793,"40683":38811,"40684":38833,"40685":38845,"40686":38848,"40687":38850,"40688":38866,"40689":38880,"40690":38932,"40691":38933,"40692":38947,"40693":38963,"40694":39016,"40695":39095,"40696":39097,"40697":39111,"40698":39114,"40699":39136,"40700":39137,"40701":39148,"40702":39157,"40768":40225,"40769":40244,"40770":40249,"40771":40265,"40772":40270,"40773":40301,"40774":8759,"40775":40302,"40776":40316,"40777":40323,"40778":40339,"40779":40357,"40780":8748,"40781":40381,"40782":27521,"40783":27569,"40784":40015,"40785":40592,"40786":40384,"40787":60817,"40788":60818,"40789":9775,"40790":9776,"40791":9783,"40792":9779,"40793":9780,"40794":9781,"40795":9778,"40796":9782,"40797":9777,"40798":40393,"40799":40404,"40800":40444,"40801":40458,"40802":40460,"40803":40462,"40804":40472,"40805":40571,"40806":40581,"40807":40610,"40808":40620,"40809":40625,"40810":40641,"40811":40646,"40812":40647,"40813":40689,"40814":40696,"40815":40743,"40816":39182,"40817":39193,"40818":39196,"40819":39223,"40820":39261,"40821":39266,"40822":39323,"40823":39332,"40824":39338,"40825":39352,"40826":39392,"40827":39398,"40828":39413,"40829":39455,"40830":32254,"40865":32263,"40866":32347,"40867":32357,"40868":32364,"40869":32567,"40870":32576,"40871":32577,"40872":32585,"40873":32594,"40874":32655,"40875":32659,"40876":32692,"40877":32733,"40878":32743,"40879":32762,"40880":32770,"40881":32776,"40882":32814,"40883":32815,"40884":32828,"40885":32935,"40886":33036,"40887":33066,"40888":33076,"40889":33090,"40890":33110,"40891":33156,"40892":33189,"40893":33252,"40894":33364,"40895":33381,"40896":33403,"40897":33415,"40898":33471,"40899":33506,"40900":33518,"40901":33528,"40902":33532,"40903":33535,"40904":33547,"40905":33565,"40906":33597,"40907":33623,"40908":33681,"40909":33708,"40910":33741,"40911":33773,"40912":33797,"40913":33812,"40914":33814,"40915":33825,"40916":33838,"40917":33854,"40918":33866,"40919":33875,"40920":33877,"40921":33880,"40922":33892,"40923":33906,"40924":33919,"40925":33920,"40926":33938,"40927":33939,"40928":33942,"40929":33955,"40930":33982,"40931":34014,"40932":34017,"40933":34018,"40934":34020,"40935":34040,"40936":34051,"40937":34053,"40938":34064,"40939":34099,"40940":8208,"40941":34114,"40942":34124,"40943":34130,"40944":34143,"40945":34159,"40946":34160,"40947":34163,"40948":34262,"40949":34272,"40950":34286,"40951":34300,"40952":34317,"40953":34319,"40954":34324,"40955":34344,"40956":34370,"40957":34373,"40958":34418,"41024":34972,"41025":23405,"41026":33079,"41027":60958,"41028":39224,"41029":21874,"41030":21867,"41031":60962,"41032":13774,"41033":21873,"41034":21946,"41035":22001,"41036":13778,"41037":22000,"41038":22021,"41039":22050,"41040":22061,"41041":22083,"41042":22046,"41043":22162,"41044":31949,"41045":21530,"41046":21523,"41047":21655,"41048":26353,"41049":30004,"41050":21581,"41051":22180,"41052":22175,"41053":25811,"41054":25390,"41055":25592,"41056":25886,"41057":20088,"41058":27626,"41059":27698,"41060":27709,"41061":27746,"41062":27826,"41063":28152,"41064":28201,"41065":28278,"41066":28290,"41067":28294,"41068":28347,"41069":28383,"41070":28386,"41071":28433,"41072":28452,"41073":28532,"41074":28561,"41075":28597,"41076":28659,"41077":28661,"41078":28859,"41079":28864,"41080":28943,"41081":8706,"41082":29013,"41083":29043,"41084":29050,"41085":61016,"41086":21027,"41121":61018,"41122":13393,"41123":61020,"41124":36812,"41125":61022,"41126":61023,"41127":192,"41128":200,"41129":204,"41130":210,"41131":217,"41132":193,"41133":205,"41134":211,"41135":218,"41136":257,"41137":275,"41138":299,"41139":333,"41140":363,"41141":470,"41142":196,"41143":203,"41144":207,"41145":214,"41146":220,"41147":198,"41148":199,"41149":209,"41150":195,"41151":213,"41152":225,"41153":233,"41154":237,"41155":243,"41156":250,"41157":472,"41158":228,"41159":235,"41160":239,"41161":246,"41162":252,"41163":230,"41164":231,"41165":241,"41166":227,"41167":245,"41168":462,"41169":283,"41170":464,"41171":466,"41172":468,"41173":474,"41174":197,"41175":201,"41176":29064,"41177":216,"41178":208,"41179":7922,"41180":222,"41181":223,"41182":170,"41183":161,"41184":224,"41185":232,"41186":236,"41187":242,"41188":249,"41189":476,"41190":229,"41191":29080,"41192":29143,"41193":248,"41194":240,"41195":7923,"41196":254,"41197":255,"41198":186,"41199":191,"41200":226,"41201":234,"41202":238,"41203":244,"41204":251,"41205":29173,"41206":194,"41207":202,"41208":206,"41209":212,"41210":219,"41211":184,"41212":164,"41213":61110,"41214":402,"41280":12288,"41281":65292,"41282":12289,"41283":12290,"41284":65294,"41285":8231,"41286":65307,"41287":65306,"41288":65311,"41289":65281,"41290":65072,"41291":8230,"41292":8229,"41293":65104,"41294":65105,"41295":65106,"41296":183,"41297":65108,"41298":65109,"41299":65110,"41300":65111,"41301":65372,"41302":8211,"41303":65073,"41304":8212,"41305":65075,"41306":9588,"41307":65076,"41308":65103,"41309":65288,"41310":65289,"41311":65077,"41312":65078,"41313":65371,"41314":65373,"41315":65079,"41316":65080,"41317":12308,"41318":12309,"41319":65081,"41320":65082,"41321":12304,"41322":12305,"41323":65083,"41324":65084,"41325":12298,"41326":12299,"41327":65085,"41328":65086,"41329":12296,"41330":12297,"41331":65087,"41332":65088,"41333":12300,"41334":12301,"41335":65089,"41336":65090,"41337":12302,"41338":12303,"41339":65091,"41340":65092,"41341":65113,"41342":65114,"41377":65115,"41378":65116,"41379":65117,"41380":65118,"41381":8216,"41382":8217,"41383":8220,"41384":8221,"41385":12317,"41386":12318,"41387":8245,"41388":8242,"41389":65283,"41390":65286,"41391":65290,"41392":8251,"41393":167,"41394":12291,"41395":9675,"41396":9679,"41397":9651,"41398":9650,"41399":9678,"41400":9734,"41401":9733,"41402":9671,"41403":9670,"41404":9633,"41405":9632,"41406":9661,"41407":9660,"41408":12963,"41409":8453,"41410":175,"41411":65507,"41412":65343,"41413":717,"41414":65097,"41415":65098,"41416":65101,"41417":65102,"41418":65099,"41419":65100,"41420":65119,"41421":65120,"41422":65121,"41423":65291,"41424":65293,"41425":215,"41426":247,"41427":177,"41428":8730,"41429":65308,"41430":65310,"41431":65309,"41432":8806,"41433":8807,"41434":8800,"41435":8734,"41436":8786,"41437":8801,"41438":65122,"41439":65123,"41440":65124,"41441":65125,"41442":65126,"41443":65374,"41444":8745,"41445":8746,"41446":8869,"41447":8736,"41448":8735,"41449":8895,"41450":13266,"41451":13265,"41452":8747,"41453":8750,"41454":8757,"41455":8756,"41456":9792,"41457":9794,"41458":8853,"41459":8857,"41460":8593,"41461":8595,"41462":8592,"41463":8594,"41464":8598,"41465":8599,"41466":8601,"41467":8600,"41468":8741,"41469":8739,"41470":65295,"41536":65340,"41537":8725,"41538":65128,"41539":65284,"41540":65509,"41541":12306,"41542":65504,"41543":65505,"41544":65285,"41545":65312,"41546":8451,"41547":8457,"41548":65129,"41549":65130,"41550":65131,"41551":13269,"41552":13212,"41553":13213,"41554":13214,"41555":13262,"41556":13217,"41557":13198,"41558":13199,"41559":13252,"41560":176,"41561":20825,"41562":20827,"41563":20830,"41564":20829,"41565":20833,"41566":20835,"41567":21991,"41568":29929,"41569":31950,"41570":9601,"41571":9602,"41572":9603,"41573":9604,"41574":9605,"41575":9606,"41576":9607,"41577":9608,"41578":9615,"41579":9614,"41580":9613,"41581":9612,"41582":9611,"41583":9610,"41584":9609,"41585":9532,"41586":9524,"41587":9516,"41588":9508,"41589":9500,"41590":9620,"41591":9472,"41592":9474,"41593":9621,"41594":9484,"41595":9488,"41596":9492,"41597":9496,"41598":9581,"41633":9582,"41634":9584,"41635":9583,"41636":9552,"41637":9566,"41638":9578,"41639":9569,"41640":9698,"41641":9699,"41642":9701,"41643":9700,"41644":9585,"41645":9586,"41646":9587,"41647":65296,"41648":65297,"41649":65298,"41650":65299,"41651":65300,"41652":65301,"41653":65302,"41654":65303,"41655":65304,"41656":65305,"41657":8544,"41658":8545,"41659":8546,"41660":8547,"41661":8548,"41662":8549,"41663":8550,"41664":8551,"41665":8552,"41666":8553,"41667":12321,"41668":12322,"41669":12323,"41670":12324,"41671":12325,"41672":12326,"41673":12327,"41674":12328,"41675":12329,"41676":21313,"41677":21316,"41678":21317,"41679":65313,"41680":65314,"41681":65315,"41682":65316,"41683":65317,"41684":65318,"41685":65319,"41686":65320,"41687":65321,"41688":65322,"41689":65323,"41690":65324,"41691":65325,"41692":65326,"41693":65327,"41694":65328,"41695":65329,"41696":65330,"41697":65331,"41698":65332,"41699":65333,"41700":65334,"41701":65335,"41702":65336,"41703":65337,"41704":65338,"41705":65345,"41706":65346,"41707":65347,"41708":65348,"41709":65349,"41710":65350,"41711":65351,"41712":65352,"41713":65353,"41714":65354,"41715":65355,"41716":65356,"41717":65357,"41718":65358,"41719":65359,"41720":65360,"41721":65361,"41722":65362,"41723":65363,"41724":65364,"41725":65365,"41726":65366,"41792":65367,"41793":65368,"41794":65369,"41795":65370,"41796":913,"41797":914,"41798":915,"41799":916,"41800":917,"41801":918,"41802":919,"41803":920,"41804":921,"41805":922,"41806":923,"41807":924,"41808":925,"41809":926,"41810":927,"41811":928,"41812":929,"41813":931,"41814":932,"41815":933,"41816":934,"41817":935,"41818":936,"41819":937,"41820":945,"41821":946,"41822":947,"41823":948,"41824":949,"41825":950,"41826":951,"41827":952,"41828":953,"41829":954,"41830":955,"41831":956,"41832":957,"41833":958,"41834":959,"41835":960,"41836":961,"41837":963,"41838":964,"41839":965,"41840":966,"41841":967,"41842":968,"41843":969,"41844":12549,"41845":12550,"41846":12551,"41847":12552,"41848":12553,"41849":12554,"41850":12555,"41851":12556,"41852":12557,"41853":12558,"41854":12559,"41889":12560,"41890":12561,"41891":12562,"41892":12563,"41893":12564,"41894":12565,"41895":12566,"41896":12567,"41897":12568,"41898":12569,"41899":12570,"41900":12571,"41901":12572,"41902":12573,"41903":12574,"41904":12575,"41905":12576,"41906":12577,"41907":12578,"41908":12579,"41909":12580,"41910":12581,"41911":12582,"41912":12583,"41913":12584,"41914":12585,"41915":729,"41916":713,"41917":714,"41918":711,"41919":715,"41920":9216,"41921":9217,"41922":9218,"41923":9219,"41924":9220,"41925":9221,"41926":9222,"41927":9223,"41928":9224,"41929":9225,"41930":9226,"41931":9227,"41932":9228,"41933":9229,"41934":9230,"41935":9231,"41936":9232,"41937":9233,"41938":9234,"41939":9235,"41940":9236,"41941":9237,"41942":9238,"41943":9239,"41944":9240,"41945":9241,"41946":9242,"41947":9243,"41948":9244,"41949":9245,"41950":9246,"41951":9247,"41952":9249,"41953":8364,"41954":63561,"41955":63562,"41956":63563,"41957":63564,"41958":63565,"41959":63566,"41960":63567,"41961":63568,"41962":63569,"41963":63570,"41964":63571,"41965":63572,"41966":63573,"41967":63574,"41968":63575,"41969":63576,"41970":63577,"41971":63578,"41972":63579,"41973":63580,"41974":63581,"41975":63582,"41976":63583,"41977":63584,"41978":63585,"41979":63586,"41980":63587,"41981":63588,"41982":63589,"42048":19968,"42049":20057,"42050":19969,"42051":19971,"42052":20035,"42053":20061,"42054":20102,"42055":20108,"42056":20154,"42057":20799,"42058":20837,"42059":20843,"42060":20960,"42061":20992,"42062":20993,"42063":21147,"42064":21269,"42065":21313,"42066":21340,"42067":21448,"42068":19977,"42069":19979,"42070":19976,"42071":19978,"42072":20011,"42073":20024,"42074":20961,"42075":20037,"42076":20040,"42077":20063,"42078":20062,"42079":20110,"42080":20129,"42081":20800,"42082":20995,"42083":21242,"42084":21315,"42085":21449,"42086":21475,"42087":22303,"42088":22763,"42089":22805,"42090":22823,"42091":22899,"42092":23376,"42093":23377,"42094":23379,"42095":23544,"42096":23567,"42097":23586,"42098":23608,"42099":23665,"42100":24029,"42101":24037,"42102":24049,"42103":24050,"42104":24051,"42105":24062,"42106":24178,"42107":24318,"42108":24331,"42109":24339,"42110":25165,"42145":19985,"42146":19984,"42147":19981,"42148":20013,"42149":20016,"42150":20025,"42151":20043,"42152":23609,"42153":20104,"42154":20113,"42155":20117,"42156":20114,"42157":20116,"42158":20130,"42159":20161,"42160":20160,"42161":20163,"42162":20166,"42163":20167,"42164":20173,"42165":20170,"42166":20171,"42167":20164,"42168":20803,"42169":20801,"42170":20839,"42171":20845,"42172":20846,"42173":20844,"42174":20887,"42175":20982,"42176":20998,"42177":20999,"42178":21000,"42179":21243,"42180":21246,"42181":21247,"42182":21270,"42183":21305,"42184":21320,"42185":21319,"42186":21317,"42187":21342,"42188":21380,"42189":21451,"42190":21450,"42191":21453,"42192":22764,"42193":22825,"42194":22827,"42195":22826,"42196":22829,"42197":23380,"42198":23569,"42199":23588,"42200":23610,"42201":23663,"42202":24052,"42203":24187,"42204":24319,"42205":24340,"42206":24341,"42207":24515,"42208":25096,"42209":25142,"42210":25163,"42211":25166,"42212":25903,"42213":25991,"42214":26007,"42215":26020,"42216":26041,"42217":26085,"42218":26352,"42219":26376,"42220":26408,"42221":27424,"42222":27490,"42223":27513,"42224":27595,"42225":27604,"42226":27611,"42227":27663,"42228":27700,"42229":28779,"42230":29226,"42231":29238,"42232":29243,"42233":29255,"42234":29273,"42235":29275,"42236":29356,"42237":29579,"42238":19993,"42304":19990,"42305":19989,"42306":19988,"42307":19992,"42308":20027,"42309":20045,"42310":20047,"42311":20046,"42312":20197,"42313":20184,"42314":20180,"42315":20181,"42316":20182,"42317":20183,"42318":20195,"42319":20196,"42320":20185,"42321":20190,"42322":20805,"42323":20804,"42324":20873,"42325":20874,"42326":20908,"42327":20985,"42328":20986,"42329":20984,"42330":21002,"42331":21152,"42332":21151,"42333":21253,"42334":21254,"42335":21271,"42336":21277,"42337":20191,"42338":21322,"42339":21321,"42340":21345,"42341":21344,"42342":21359,"42343":21358,"42344":21435,"42345":21487,"42346":21476,"42347":21491,"42348":21484,"42349":21486,"42350":21481,"42351":21480,"42352":21500,"42353":21496,"42354":21493,"42355":21483,"42356":21478,"42357":21482,"42358":21490,"42359":21489,"42360":21488,"42361":21477,"42362":21485,"42363":21499,"42364":22235,"42365":22234,"42366":22806,"42401":22830,"42402":22833,"42403":22900,"42404":22902,"42405":23381,"42406":23427,"42407":23612,"42408":24040,"42409":24039,"42410":24038,"42411":24066,"42412":24067,"42413":24179,"42414":24188,"42415":24321,"42416":24344,"42417":24343,"42418":24517,"42419":25098,"42420":25171,"42421":25172,"42422":25170,"42423":25169,"42424":26021,"42425":26086,"42426":26414,"42427":26412,"42428":26410,"42429":26411,"42430":26413,"42431":27491,"42432":27597,"42433":27665,"42434":27664,"42435":27704,"42436":27713,"42437":27712,"42438":27710,"42439":29359,"42440":29572,"42441":29577,"42442":29916,"42443":29926,"42444":29976,"42445":29983,"42446":29992,"42447":29993,"42448":30000,"42449":30001,"42450":30002,"42451":30003,"42452":30091,"42453":30333,"42454":30382,"42455":30399,"42456":30446,"42457":30683,"42458":30690,"42459":30707,"42460":31034,"42461":31166,"42462":31348,"42463":31435,"42464":19998,"42465":19999,"42466":20050,"42467":20051,"42468":20073,"42469":20121,"42470":20132,"42471":20134,"42472":20133,"42473":20223,"42474":20233,"42475":20249,"42476":20234,"42477":20245,"42478":20237,"42479":20240,"42480":20241,"42481":20239,"42482":20210,"42483":20214,"42484":20219,"42485":20208,"42486":20211,"42487":20221,"42488":20225,"42489":20235,"42490":20809,"42491":20807,"42492":20806,"42493":20808,"42494":20840,"42560":20849,"42561":20877,"42562":20912,"42563":21015,"42564":21009,"42565":21010,"42566":21006,"42567":21014,"42568":21155,"42569":21256,"42570":21281,"42571":21280,"42572":21360,"42573":21361,"42574":21513,"42575":21519,"42576":21516,"42577":21514,"42578":21520,"42579":21505,"42580":21515,"42581":21508,"42582":21521,"42583":21517,"42584":21512,"42585":21507,"42586":21518,"42587":21510,"42588":21522,"42589":22240,"42590":22238,"42591":22237,"42592":22323,"42593":22320,"42594":22312,"42595":22317,"42596":22316,"42597":22319,"42598":22313,"42599":22809,"42600":22810,"42601":22839,"42602":22840,"42603":22916,"42604":22904,"42605":22915,"42606":22909,"42607":22905,"42608":22914,"42609":22913,"42610":23383,"42611":23384,"42612":23431,"42613":23432,"42614":23429,"42615":23433,"42616":23546,"42617":23574,"42618":23673,"42619":24030,"42620":24070,"42621":24182,"42622":24180,"42657":24335,"42658":24347,"42659":24537,"42660":24534,"42661":25102,"42662":25100,"42663":25101,"42664":25104,"42665":25187,"42666":25179,"42667":25176,"42668":25910,"42669":26089,"42670":26088,"42671":26092,"42672":26093,"42673":26354,"42674":26355,"42675":26377,"42676":26429,"42677":26420,"42678":26417,"42679":26421,"42680":27425,"42681":27492,"42682":27515,"42683":27670,"42684":27741,"42685":27735,"42686":27737,"42687":27743,"42688":27744,"42689":27728,"42690":27733,"42691":27745,"42692":27739,"42693":27725,"42694":27726,"42695":28784,"42696":29279,"42697":29277,"42698":30334,"42699":31481,"42700":31859,"42701":31992,"42702":32566,"42703":32650,"42704":32701,"42705":32769,"42706":32771,"42707":32780,"42708":32786,"42709":32819,"42710":32895,"42711":32905,"42712":32907,"42713":32908,"42714":33251,"42715":33258,"42716":33267,"42717":33276,"42718":33292,"42719":33307,"42720":33311,"42721":33390,"42722":33394,"42723":33406,"42724":34411,"42725":34880,"42726":34892,"42727":34915,"42728":35199,"42729":38433,"42730":20018,"42731":20136,"42732":20301,"42733":20303,"42734":20295,"42735":20311,"42736":20318,"42737":20276,"42738":20315,"42739":20309,"42740":20272,"42741":20304,"42742":20305,"42743":20285,"42744":20282,"42745":20280,"42746":20291,"42747":20308,"42748":20284,"42749":20294,"42750":20323,"42816":20316,"42817":20320,"42818":20271,"42819":20302,"42820":20278,"42821":20313,"42822":20317,"42823":20296,"42824":20314,"42825":20812,"42826":20811,"42827":20813,"42828":20853,"42829":20918,"42830":20919,"42831":21029,"42832":21028,"42833":21033,"42834":21034,"42835":21032,"42836":21163,"42837":21161,"42838":21162,"42839":21164,"42840":21283,"42841":21363,"42842":21365,"42843":21533,"42844":21549,"42845":21534,"42846":21566,"42847":21542,"42848":21582,"42849":21543,"42850":21574,"42851":21571,"42852":21555,"42853":21576,"42854":21570,"42855":21531,"42856":21545,"42857":21578,"42858":21561,"42859":21563,"42860":21560,"42861":21550,"42862":21557,"42863":21558,"42864":21536,"42865":21564,"42866":21568,"42867":21553,"42868":21547,"42869":21535,"42870":21548,"42871":22250,"42872":22256,"42873":22244,"42874":22251,"42875":22346,"42876":22353,"42877":22336,"42878":22349,"42913":22343,"42914":22350,"42915":22334,"42916":22352,"42917":22351,"42918":22331,"42919":22767,"42920":22846,"42921":22941,"42922":22930,"42923":22952,"42924":22942,"42925":22947,"42926":22937,"42927":22934,"42928":22925,"42929":22948,"42930":22931,"42931":22922,"42932":22949,"42933":23389,"42934":23388,"42935":23386,"42936":23387,"42937":23436,"42938":23435,"42939":23439,"42940":23596,"42941":23616,"42942":23617,"42943":23615,"42944":23614,"42945":23696,"42946":23697,"42947":23700,"42948":23692,"42949":24043,"42950":24076,"42951":24207,"42952":24199,"42953":24202,"42954":24311,"42955":24324,"42956":24351,"42957":24420,"42958":24418,"42959":24439,"42960":24441,"42961":24536,"42962":24524,"42963":24535,"42964":24525,"42965":24561,"42966":24555,"42967":24568,"42968":24554,"42969":25106,"42970":25105,"42971":25220,"42972":25239,"42973":25238,"42974":25216,"42975":25206,"42976":25225,"42977":25197,"42978":25226,"42979":25212,"42980":25214,"42981":25209,"42982":25203,"42983":25234,"42984":25199,"42985":25240,"42986":25198,"42987":25237,"42988":25235,"42989":25233,"42990":25222,"42991":25913,"42992":25915,"42993":25912,"42994":26097,"42995":26356,"42996":26463,"42997":26446,"42998":26447,"42999":26448,"43000":26449,"43001":26460,"43002":26454,"43003":26462,"43004":26441,"43005":26438,"43006":26464,"43072":26451,"43073":26455,"43074":27493,"43075":27599,"43076":27714,"43077":27742,"43078":27801,"43079":27777,"43080":27784,"43081":27785,"43082":27781,"43083":27803,"43084":27754,"43085":27770,"43086":27792,"43087":27760,"43088":27788,"43089":27752,"43090":27798,"43091":27794,"43092":27773,"43093":27779,"43094":27762,"43095":27774,"43096":27764,"43097":27782,"43098":27766,"43099":27789,"43100":27796,"43101":27800,"43102":27778,"43103":28790,"43104":28796,"43105":28797,"43106":28792,"43107":29282,"43108":29281,"43109":29280,"43110":29380,"43111":29378,"43112":29590,"43113":29996,"43114":29995,"43115":30007,"43116":30008,"43117":30338,"43118":30447,"43119":30691,"43120":31169,"43121":31168,"43122":31167,"43123":31350,"43124":31995,"43125":32597,"43126":32918,"43127":32915,"43128":32925,"43129":32920,"43130":32923,"43131":32922,"43132":32946,"43133":33391,"43134":33426,"43169":33419,"43170":33421,"43171":35211,"43172":35282,"43173":35328,"43174":35895,"43175":35910,"43176":35925,"43177":35997,"43178":36196,"43179":36208,"43180":36275,"43181":36523,"43182":36554,"43183":36763,"43184":36784,"43185":36802,"43186":36806,"43187":36805,"43188":36804,"43189":24033,"43190":37009,"43191":37026,"43192":37034,"43193":37030,"43194":37027,"43195":37193,"43196":37318,"43197":37324,"43198":38450,"43199":38446,"43200":38449,"43201":38442,"43202":38444,"43203":20006,"43204":20054,"43205":20083,"43206":20107,"43207":20123,"43208":20126,"43209":20139,"43210":20140,"43211":20335,"43212":20381,"43213":20365,"43214":20339,"43215":20351,"43216":20332,"43217":20379,"43218":20363,"43219":20358,"43220":20355,"43221":20336,"43222":20341,"43223":20360,"43224":20329,"43225":20347,"43226":20374,"43227":20350,"43228":20367,"43229":20369,"43230":20346,"43231":20820,"43232":20818,"43233":20821,"43234":20841,"43235":20855,"43236":20854,"43237":20856,"43238":20925,"43239":20989,"43240":21051,"43241":21048,"43242":21047,"43243":21050,"43244":21040,"43245":21038,"43246":21046,"43247":21057,"43248":21182,"43249":21179,"43250":21330,"43251":21332,"43252":21331,"43253":21329,"43254":21350,"43255":21367,"43256":21368,"43257":21369,"43258":21462,"43259":21460,"43260":21463,"43261":21619,"43262":21621,"43328":21654,"43329":21624,"43330":21653,"43331":21632,"43332":21627,"43333":21623,"43334":21636,"43335":21650,"43336":21638,"43337":21628,"43338":21648,"43339":21617,"43340":21622,"43341":21644,"43342":21658,"43343":21602,"43344":21608,"43345":21643,"43346":21629,"43347":21646,"43348":22266,"43349":22403,"43350":22391,"43351":22378,"43352":22377,"43353":22369,"43354":22374,"43355":22372,"43356":22396,"43357":22812,"43358":22857,"43359":22855,"43360":22856,"43361":22852,"43362":22868,"43363":22974,"43364":22971,"43365":22996,"43366":22969,"43367":22958,"43368":22993,"43369":22982,"43370":22992,"43371":22989,"43372":22987,"43373":22995,"43374":22986,"43375":22959,"43376":22963,"43377":22994,"43378":22981,"43379":23391,"43380":23396,"43381":23395,"43382":23447,"43383":23450,"43384":23448,"43385":23452,"43386":23449,"43387":23451,"43388":23578,"43389":23624,"43390":23621,"43425":23622,"43426":23735,"43427":23713,"43428":23736,"43429":23721,"43430":23723,"43431":23729,"43432":23731,"43433":24088,"43434":24090,"43435":24086,"43436":24085,"43437":24091,"43438":24081,"43439":24184,"43440":24218,"43441":24215,"43442":24220,"43443":24213,"43444":24214,"43445":24310,"43446":24358,"43447":24359,"43448":24361,"43449":24448,"43450":24449,"43451":24447,"43452":24444,"43453":24541,"43454":24544,"43455":24573,"43456":24565,"43457":24575,"43458":24591,"43459":24596,"43460":24623,"43461":24629,"43462":24598,"43463":24618,"43464":24597,"43465":24609,"43466":24615,"43467":24617,"43468":24619,"43469":24603,"43470":25110,"43471":25109,"43472":25151,"43473":25150,"43474":25152,"43475":25215,"43476":25289,"43477":25292,"43478":25284,"43479":25279,"43480":25282,"43481":25273,"43482":25298,"43483":25307,"43484":25259,"43485":25299,"43486":25300,"43487":25291,"43488":25288,"43489":25256,"43490":25277,"43491":25276,"43492":25296,"43493":25305,"43494":25287,"43495":25293,"43496":25269,"43497":25306,"43498":25265,"43499":25304,"43500":25302,"43501":25303,"43502":25286,"43503":25260,"43504":25294,"43505":25918,"43506":26023,"43507":26044,"43508":26106,"43509":26132,"43510":26131,"43511":26124,"43512":26118,"43513":26114,"43514":26126,"43515":26112,"43516":26127,"43517":26133,"43518":26122,"43584":26119,"43585":26381,"43586":26379,"43587":26477,"43588":26507,"43589":26517,"43590":26481,"43591":26524,"43592":26483,"43593":26487,"43594":26503,"43595":26525,"43596":26519,"43597":26479,"43598":26480,"43599":26495,"43600":26505,"43601":26494,"43602":26512,"43603":26485,"43604":26522,"43605":26515,"43606":26492,"43607":26474,"43608":26482,"43609":27427,"43610":27494,"43611":27495,"43612":27519,"43613":27667,"43614":27675,"43615":27875,"43616":27880,"43617":27891,"43618":27825,"43619":27852,"43620":27877,"43621":27827,"43622":27837,"43623":27838,"43624":27836,"43625":27874,"43626":27819,"43627":27861,"43628":27859,"43629":27832,"43630":27844,"43631":27833,"43632":27841,"43633":27822,"43634":27863,"43635":27845,"43636":27889,"43637":27839,"43638":27835,"43639":27873,"43640":27867,"43641":27850,"43642":27820,"43643":27887,"43644":27868,"43645":27862,"43646":27872,"43681":28821,"43682":28814,"43683":28818,"43684":28810,"43685":28825,"43686":29228,"43687":29229,"43688":29240,"43689":29256,"43690":29287,"43691":29289,"43692":29376,"43693":29390,"43694":29401,"43695":29399,"43696":29392,"43697":29609,"43698":29608,"43699":29599,"43700":29611,"43701":29605,"43702":30013,"43703":30109,"43704":30105,"43705":30106,"43706":30340,"43707":30402,"43708":30450,"43709":30452,"43710":30693,"43711":30717,"43712":31038,"43713":31040,"43714":31041,"43715":31177,"43716":31176,"43717":31354,"43718":31353,"43719":31482,"43720":31998,"43721":32596,"43722":32652,"43723":32651,"43724":32773,"43725":32954,"43726":32933,"43727":32930,"43728":32945,"43729":32929,"43730":32939,"43731":32937,"43732":32948,"43733":32938,"43734":32943,"43735":33253,"43736":33278,"43737":33293,"43738":33459,"43739":33437,"43740":33433,"43741":33453,"43742":33469,"43743":33439,"43744":33465,"43745":33457,"43746":33452,"43747":33445,"43748":33455,"43749":33464,"43750":33443,"43751":33456,"43752":33470,"43753":33463,"43754":34382,"43755":34417,"43756":21021,"43757":34920,"43758":36555,"43759":36814,"43760":36820,"43761":36817,"43762":37045,"43763":37048,"43764":37041,"43765":37046,"43766":37319,"43767":37329,"43768":38263,"43769":38272,"43770":38428,"43771":38464,"43772":38463,"43773":38459,"43774":38468,"43840":38466,"43841":38585,"43842":38632,"43843":38738,"43844":38750,"43845":20127,"43846":20141,"43847":20142,"43848":20449,"43849":20405,"43850":20399,"43851":20415,"43852":20448,"43853":20433,"43854":20431,"43855":20445,"43856":20419,"43857":20406,"43858":20440,"43859":20447,"43860":20426,"43861":20439,"43862":20398,"43863":20432,"43864":20420,"43865":20418,"43866":20442,"43867":20430,"43868":20446,"43869":20407,"43870":20823,"43871":20882,"43872":20881,"43873":20896,"43874":21070,"43875":21059,"43876":21066,"43877":21069,"43878":21068,"43879":21067,"43880":21063,"43881":21191,"43882":21193,"43883":21187,"43884":21185,"43885":21261,"43886":21335,"43887":21371,"43888":21402,"43889":21467,"43890":21676,"43891":21696,"43892":21672,"43893":21710,"43894":21705,"43895":21688,"43896":21670,"43897":21683,"43898":21703,"43899":21698,"43900":21693,"43901":21674,"43902":21697,"43937":21700,"43938":21704,"43939":21679,"43940":21675,"43941":21681,"43942":21691,"43943":21673,"43944":21671,"43945":21695,"43946":22271,"43947":22402,"43948":22411,"43949":22432,"43950":22435,"43951":22434,"43952":22478,"43953":22446,"43954":22419,"43955":22869,"43956":22865,"43957":22863,"43958":22862,"43959":22864,"43960":23004,"43961":23000,"43962":23039,"43963":23011,"43964":23016,"43965":23043,"43966":23013,"43967":23018,"43968":23002,"43969":23014,"43970":23041,"43971":23035,"43972":23401,"43973":23459,"43974":23462,"43975":23460,"43976":23458,"43977":23461,"43978":23553,"43979":23630,"43980":23631,"43981":23629,"43982":23627,"43983":23769,"43984":23762,"43985":24055,"43986":24093,"43987":24101,"43988":24095,"43989":24189,"43990":24224,"43991":24230,"43992":24314,"43993":24328,"43994":24365,"43995":24421,"43996":24456,"43997":24453,"43998":24458,"43999":24459,"44000":24455,"44001":24460,"44002":24457,"44003":24594,"44004":24605,"44005":24608,"44006":24613,"44007":24590,"44008":24616,"44009":24653,"44010":24688,"44011":24680,"44012":24674,"44013":24646,"44014":24643,"44015":24684,"44016":24683,"44017":24682,"44018":24676,"44019":25153,"44020":25308,"44021":25366,"44022":25353,"44023":25340,"44024":25325,"44025":25345,"44026":25326,"44027":25341,"44028":25351,"44029":25329,"44030":25335,"44096":25327,"44097":25324,"44098":25342,"44099":25332,"44100":25361,"44101":25346,"44102":25919,"44103":25925,"44104":26027,"44105":26045,"44106":26082,"44107":26149,"44108":26157,"44109":26144,"44110":26151,"44111":26159,"44112":26143,"44113":26152,"44114":26161,"44115":26148,"44116":26359,"44117":26623,"44118":26579,"44119":26609,"44120":26580,"44121":26576,"44122":26604,"44123":26550,"44124":26543,"44125":26613,"44126":26601,"44127":26607,"44128":26564,"44129":26577,"44130":26548,"44131":26586,"44132":26597,"44133":26552,"44134":26575,"44135":26590,"44136":26611,"44137":26544,"44138":26585,"44139":26594,"44140":26589,"44141":26578,"44142":27498,"44143":27523,"44144":27526,"44145":27573,"44146":27602,"44147":27607,"44148":27679,"44149":27849,"44150":27915,"44151":27954,"44152":27946,"44153":27969,"44154":27941,"44155":27916,"44156":27953,"44157":27934,"44158":27927,"44193":27963,"44194":27965,"44195":27966,"44196":27958,"44197":27931,"44198":27893,"44199":27961,"44200":27943,"44201":27960,"44202":27945,"44203":27950,"44204":27957,"44205":27918,"44206":27947,"44207":28843,"44208":28858,"44209":28851,"44210":28844,"44211":28847,"44212":28845,"44213":28856,"44214":28846,"44215":28836,"44216":29232,"44217":29298,"44218":29295,"44219":29300,"44220":29417,"44221":29408,"44222":29409,"44223":29623,"44224":29642,"44225":29627,"44226":29618,"44227":29645,"44228":29632,"44229":29619,"44230":29978,"44231":29997,"44232":30031,"44233":30028,"44234":30030,"44235":30027,"44236":30123,"44237":30116,"44238":30117,"44239":30114,"44240":30115,"44241":30328,"44242":30342,"44243":30343,"44244":30344,"44245":30408,"44246":30406,"44247":30403,"44248":30405,"44249":30465,"44250":30457,"44251":30456,"44252":30473,"44253":30475,"44254":30462,"44255":30460,"44256":30471,"44257":30684,"44258":30722,"44259":30740,"44260":30732,"44261":30733,"44262":31046,"44263":31049,"44264":31048,"44265":31047,"44266":31161,"44267":31162,"44268":31185,"44269":31186,"44270":31179,"44271":31359,"44272":31361,"44273":31487,"44274":31485,"44275":31869,"44276":32002,"44277":32005,"44278":32000,"44279":32009,"44280":32007,"44281":32004,"44282":32006,"44283":32568,"44284":32654,"44285":32703,"44286":32772,"44352":32784,"44353":32781,"44354":32785,"44355":32822,"44356":32982,"44357":32997,"44358":32986,"44359":32963,"44360":32964,"44361":32972,"44362":32993,"44363":32987,"44364":32974,"44365":32990,"44366":32996,"44367":32989,"44368":33268,"44369":33314,"44370":33511,"44371":33539,"44372":33541,"44373":33507,"44374":33499,"44375":33510,"44376":33540,"44377":33509,"44378":33538,"44379":33545,"44380":33490,"44381":33495,"44382":33521,"44383":33537,"44384":33500,"44385":33492,"44386":33489,"44387":33502,"44388":33491,"44389":33503,"44390":33519,"44391":33542,"44392":34384,"44393":34425,"44394":34427,"44395":34426,"44396":34893,"44397":34923,"44398":35201,"44399":35284,"44400":35336,"44401":35330,"44402":35331,"44403":35998,"44404":36000,"44405":36212,"44406":36211,"44407":36276,"44408":36557,"44409":36556,"44410":36848,"44411":36838,"44412":36834,"44413":36842,"44414":36837,"44449":36845,"44450":36843,"44451":36836,"44452":36840,"44453":37066,"44454":37070,"44455":37057,"44456":37059,"44457":37195,"44458":37194,"44459":37325,"44460":38274,"44461":38480,"44462":38475,"44463":38476,"44464":38477,"44465":38754,"44466":38761,"44467":38859,"44468":38893,"44469":38899,"44470":38913,"44471":39080,"44472":39131,"44473":39135,"44474":39318,"44475":39321,"44476":20056,"44477":20147,"44478":20492,"44479":20493,"44480":20515,"44481":20463,"44482":20518,"44483":20517,"44484":20472,"44485":20521,"44486":20502,"44487":20486,"44488":20540,"44489":20511,"44490":20506,"44491":20498,"44492":20497,"44493":20474,"44494":20480,"44495":20500,"44496":20520,"44497":20465,"44498":20513,"44499":20491,"44500":20505,"44501":20504,"44502":20467,"44503":20462,"44504":20525,"44505":20522,"44506":20478,"44507":20523,"44508":20489,"44509":20860,"44510":20900,"44511":20901,"44512":20898,"44513":20941,"44514":20940,"44515":20934,"44516":20939,"44517":21078,"44518":21084,"44519":21076,"44520":21083,"44521":21085,"44522":21290,"44523":21375,"44524":21407,"44525":21405,"44526":21471,"44527":21736,"44528":21776,"44529":21761,"44530":21815,"44531":21756,"44532":21733,"44533":21746,"44534":21766,"44535":21754,"44536":21780,"44537":21737,"44538":21741,"44539":21729,"44540":21769,"44541":21742,"44542":21738,"44608":21734,"44609":21799,"44610":21767,"44611":21757,"44612":21775,"44613":22275,"44614":22276,"44615":22466,"44616":22484,"44617":22475,"44618":22467,"44619":22537,"44620":22799,"44621":22871,"44622":22872,"44623":22874,"44624":23057,"44625":23064,"44626":23068,"44627":23071,"44628":23067,"44629":23059,"44630":23020,"44631":23072,"44632":23075,"44633":23081,"44634":23077,"44635":23052,"44636":23049,"44637":23403,"44638":23640,"44639":23472,"44640":23475,"44641":23478,"44642":23476,"44643":23470,"44644":23477,"44645":23481,"44646":23480,"44647":23556,"44648":23633,"44649":23637,"44650":23632,"44651":23789,"44652":23805,"44653":23803,"44654":23786,"44655":23784,"44656":23792,"44657":23798,"44658":23809,"44659":23796,"44660":24046,"44661":24109,"44662":24107,"44663":24235,"44664":24237,"44665":24231,"44666":24369,"44667":24466,"44668":24465,"44669":24464,"44670":24665,"44705":24675,"44706":24677,"44707":24656,"44708":24661,"44709":24685,"44710":24681,"44711":24687,"44712":24708,"44713":24735,"44714":24730,"44715":24717,"44716":24724,"44717":24716,"44718":24709,"44719":24726,"44720":25159,"44721":25331,"44722":25352,"44723":25343,"44724":25422,"44725":25406,"44726":25391,"44727":25429,"44728":25410,"44729":25414,"44730":25423,"44731":25417,"44732":25402,"44733":25424,"44734":25405,"44735":25386,"44736":25387,"44737":25384,"44738":25421,"44739":25420,"44740":25928,"44741":25929,"44742":26009,"44743":26049,"44744":26053,"44745":26178,"44746":26185,"44747":26191,"44748":26179,"44749":26194,"44750":26188,"44751":26181,"44752":26177,"44753":26360,"44754":26388,"44755":26389,"44756":26391,"44757":26657,"44758":26680,"44759":26696,"44760":26694,"44761":26707,"44762":26681,"44763":26690,"44764":26708,"44765":26665,"44766":26803,"44767":26647,"44768":26700,"44769":26705,"44770":26685,"44771":26612,"44772":26704,"44773":26688,"44774":26684,"44775":26691,"44776":26666,"44777":26693,"44778":26643,"44779":26648,"44780":26689,"44781":27530,"44782":27529,"44783":27575,"44784":27683,"44785":27687,"44786":27688,"44787":27686,"44788":27684,"44789":27888,"44790":28010,"44791":28053,"44792":28040,"44793":28039,"44794":28006,"44795":28024,"44796":28023,"44797":27993,"44798":28051,"44864":28012,"44865":28041,"44866":28014,"44867":27994,"44868":28020,"44869":28009,"44870":28044,"44871":28042,"44872":28025,"44873":28037,"44874":28005,"44875":28052,"44876":28874,"44877":28888,"44878":28900,"44879":28889,"44880":28872,"44881":28879,"44882":29241,"44883":29305,"44884":29436,"44885":29433,"44886":29437,"44887":29432,"44888":29431,"44889":29574,"44890":29677,"44891":29705,"44892":29678,"44893":29664,"44894":29674,"44895":29662,"44896":30036,"44897":30045,"44898":30044,"44899":30042,"44900":30041,"44901":30142,"44902":30149,"44903":30151,"44904":30130,"44905":30131,"44906":30141,"44907":30140,"44908":30137,"44909":30146,"44910":30136,"44911":30347,"44912":30384,"44913":30410,"44914":30413,"44915":30414,"44916":30505,"44917":30495,"44918":30496,"44919":30504,"44920":30697,"44921":30768,"44922":30759,"44923":30776,"44924":30749,"44925":30772,"44926":30775,"44961":30757,"44962":30765,"44963":30752,"44964":30751,"44965":30770,"44966":31061,"44967":31056,"44968":31072,"44969":31071,"44970":31062,"44971":31070,"44972":31069,"44973":31063,"44974":31066,"44975":31204,"44976":31203,"44977":31207,"44978":31199,"44979":31206,"44980":31209,"44981":31192,"44982":31364,"44983":31368,"44984":31449,"44985":31494,"44986":31505,"44987":31881,"44988":32033,"44989":32023,"44990":32011,"44991":32010,"44992":32032,"44993":32034,"44994":32020,"44995":32016,"44996":32021,"44997":32026,"44998":32028,"44999":32013,"45000":32025,"45001":32027,"45002":32570,"45003":32607,"45004":32660,"45005":32709,"45006":32705,"45007":32774,"45008":32792,"45009":32789,"45010":32793,"45011":32791,"45012":32829,"45013":32831,"45014":33009,"45015":33026,"45016":33008,"45017":33029,"45018":33005,"45019":33012,"45020":33030,"45021":33016,"45022":33011,"45023":33032,"45024":33021,"45025":33034,"45026":33020,"45027":33007,"45028":33261,"45029":33260,"45030":33280,"45031":33296,"45032":33322,"45033":33323,"45034":33320,"45035":33324,"45036":33467,"45037":33579,"45038":33618,"45039":33620,"45040":33610,"45041":33592,"45042":33616,"45043":33609,"45044":33589,"45045":33588,"45046":33615,"45047":33586,"45048":33593,"45049":33590,"45050":33559,"45051":33600,"45052":33585,"45053":33576,"45054":33603,"45120":34388,"45121":34442,"45122":34474,"45123":34451,"45124":34468,"45125":34473,"45126":34444,"45127":34467,"45128":34460,"45129":34928,"45130":34935,"45131":34945,"45132":34946,"45133":34941,"45134":34937,"45135":35352,"45136":35344,"45137":35342,"45138":35340,"45139":35349,"45140":35338,"45141":35351,"45142":35347,"45143":35350,"45144":35343,"45145":35345,"45146":35912,"45147":35962,"45148":35961,"45149":36001,"45150":36002,"45151":36215,"45152":36524,"45153":36562,"45154":36564,"45155":36559,"45156":36785,"45157":36865,"45158":36870,"45159":36855,"45160":36864,"45161":36858,"45162":36852,"45163":36867,"45164":36861,"45165":36869,"45166":36856,"45167":37013,"45168":37089,"45169":37085,"45170":37090,"45171":37202,"45172":37197,"45173":37196,"45174":37336,"45175":37341,"45176":37335,"45177":37340,"45178":37337,"45179":38275,"45180":38498,"45181":38499,"45182":38497,"45217":38491,"45218":38493,"45219":38500,"45220":38488,"45221":38494,"45222":38587,"45223":39138,"45224":39340,"45225":39592,"45226":39640,"45227":39717,"45228":39730,"45229":39740,"45230":20094,"45231":20602,"45232":20605,"45233":20572,"45234":20551,"45235":20547,"45236":20556,"45237":20570,"45238":20553,"45239":20581,"45240":20598,"45241":20558,"45242":20565,"45243":20597,"45244":20596,"45245":20599,"45246":20559,"45247":20495,"45248":20591,"45249":20589,"45250":20828,"45251":20885,"45252":20976,"45253":21098,"45254":21103,"45255":21202,"45256":21209,"45257":21208,"45258":21205,"45259":21264,"45260":21263,"45261":21273,"45262":21311,"45263":21312,"45264":21310,"45265":21443,"45266":26364,"45267":21830,"45268":21866,"45269":21862,"45270":21828,"45271":21854,"45272":21857,"45273":21827,"45274":21834,"45275":21809,"45276":21846,"45277":21839,"45278":21845,"45279":21807,"45280":21860,"45281":21816,"45282":21806,"45283":21852,"45284":21804,"45285":21859,"45286":21811,"45287":21825,"45288":21847,"45289":22280,"45290":22283,"45291":22281,"45292":22495,"45293":22533,"45294":22538,"45295":22534,"45296":22496,"45297":22500,"45298":22522,"45299":22530,"45300":22581,"45301":22519,"45302":22521,"45303":22816,"45304":22882,"45305":23094,"45306":23105,"45307":23113,"45308":23142,"45309":23146,"45310":23104,"45376":23100,"45377":23138,"45378":23130,"45379":23110,"45380":23114,"45381":23408,"45382":23495,"45383":23493,"45384":23492,"45385":23490,"45386":23487,"45387":23494,"45388":23561,"45389":23560,"45390":23559,"45391":23648,"45392":23644,"45393":23645,"45394":23815,"45395":23814,"45396":23822,"45397":23835,"45398":23830,"45399":23842,"45400":23825,"45401":23849,"45402":23828,"45403":23833,"45404":23844,"45405":23847,"45406":23831,"45407":24034,"45408":24120,"45409":24118,"45410":24115,"45411":24119,"45412":24247,"45413":24248,"45414":24246,"45415":24245,"45416":24254,"45417":24373,"45418":24375,"45419":24407,"45420":24428,"45421":24425,"45422":24427,"45423":24471,"45424":24473,"45425":24478,"45426":24472,"45427":24481,"45428":24480,"45429":24476,"45430":24703,"45431":24739,"45432":24713,"45433":24736,"45434":24744,"45435":24779,"45436":24756,"45437":24806,"45438":24765,"45473":24773,"45474":24763,"45475":24757,"45476":24796,"45477":24764,"45478":24792,"45479":24789,"45480":24774,"45481":24799,"45482":24760,"45483":24794,"45484":24775,"45485":25114,"45486":25115,"45487":25160,"45488":25504,"45489":25511,"45490":25458,"45491":25494,"45492":25506,"45493":25509,"45494":25463,"45495":25447,"45496":25496,"45497":25514,"45498":25457,"45499":25513,"45500":25481,"45501":25475,"45502":25499,"45503":25451,"45504":25512,"45505":25476,"45506":25480,"45507":25497,"45508":25505,"45509":25516,"45510":25490,"45511":25487,"45512":25472,"45513":25467,"45514":25449,"45515":25448,"45516":25466,"45517":25949,"45518":25942,"45519":25937,"45520":25945,"45521":25943,"45522":21855,"45523":25935,"45524":25944,"45525":25941,"45526":25940,"45527":26012,"45528":26011,"45529":26028,"45530":26063,"45531":26059,"45532":26060,"45533":26062,"45534":26205,"45535":26202,"45536":26212,"45537":26216,"45538":26214,"45539":26206,"45540":26361,"45541":21207,"45542":26395,"45543":26753,"45544":26799,"45545":26786,"45546":26771,"45547":26805,"45548":26751,"45549":26742,"45550":26801,"45551":26791,"45552":26775,"45553":26800,"45554":26755,"45555":26820,"45556":26797,"45557":26758,"45558":26757,"45559":26772,"45560":26781,"45561":26792,"45562":26783,"45563":26785,"45564":26754,"45565":27442,"45566":27578,"45632":27627,"45633":27628,"45634":27691,"45635":28046,"45636":28092,"45637":28147,"45638":28121,"45639":28082,"45640":28129,"45641":28108,"45642":28132,"45643":28155,"45644":28154,"45645":28165,"45646":28103,"45647":28107,"45648":28079,"45649":28113,"45650":28078,"45651":28126,"45652":28153,"45653":28088,"45654":28151,"45655":28149,"45656":28101,"45657":28114,"45658":28186,"45659":28085,"45660":28122,"45661":28139,"45662":28120,"45663":28138,"45664":28145,"45665":28142,"45666":28136,"45667":28102,"45668":28100,"45669":28074,"45670":28140,"45671":28095,"45672":28134,"45673":28921,"45674":28937,"45675":28938,"45676":28925,"45677":28911,"45678":29245,"45679":29309,"45680":29313,"45681":29468,"45682":29467,"45683":29462,"45684":29459,"45685":29465,"45686":29575,"45687":29701,"45688":29706,"45689":29699,"45690":29702,"45691":29694,"45692":29709,"45693":29920,"45694":29942,"45729":29943,"45730":29980,"45731":29986,"45732":30053,"45733":30054,"45734":30050,"45735":30064,"45736":30095,"45737":30164,"45738":30165,"45739":30133,"45740":30154,"45741":30157,"45742":30350,"45743":30420,"45744":30418,"45745":30427,"45746":30519,"45747":30526,"45748":30524,"45749":30518,"45750":30520,"45751":30522,"45752":30827,"45753":30787,"45754":30798,"45755":31077,"45756":31080,"45757":31085,"45758":31227,"45759":31378,"45760":31381,"45761":31520,"45762":31528,"45763":31515,"45764":31532,"45765":31526,"45766":31513,"45767":31518,"45768":31534,"45769":31890,"45770":31895,"45771":31893,"45772":32070,"45773":32067,"45774":32113,"45775":32046,"45776":32057,"45777":32060,"45778":32064,"45779":32048,"45780":32051,"45781":32068,"45782":32047,"45783":32066,"45784":32050,"45785":32049,"45786":32573,"45787":32670,"45788":32666,"45789":32716,"45790":32718,"45791":32722,"45792":32796,"45793":32842,"45794":32838,"45795":33071,"45796":33046,"45797":33059,"45798":33067,"45799":33065,"45800":33072,"45801":33060,"45802":33282,"45803":33333,"45804":33335,"45805":33334,"45806":33337,"45807":33678,"45808":33694,"45809":33688,"45810":33656,"45811":33698,"45812":33686,"45813":33725,"45814":33707,"45815":33682,"45816":33674,"45817":33683,"45818":33673,"45819":33696,"45820":33655,"45821":33659,"45822":33660,"45888":33670,"45889":33703,"45890":34389,"45891":24426,"45892":34503,"45893":34496,"45894":34486,"45895":34500,"45896":34485,"45897":34502,"45898":34507,"45899":34481,"45900":34479,"45901":34505,"45902":34899,"45903":34974,"45904":34952,"45905":34987,"45906":34962,"45907":34966,"45908":34957,"45909":34955,"45910":35219,"45911":35215,"45912":35370,"45913":35357,"45914":35363,"45915":35365,"45916":35377,"45917":35373,"45918":35359,"45919":35355,"45920":35362,"45921":35913,"45922":35930,"45923":36009,"45924":36012,"45925":36011,"45926":36008,"45927":36010,"45928":36007,"45929":36199,"45930":36198,"45931":36286,"45932":36282,"45933":36571,"45934":36575,"45935":36889,"45936":36877,"45937":36890,"45938":36887,"45939":36899,"45940":36895,"45941":36893,"45942":36880,"45943":36885,"45944":36894,"45945":36896,"45946":36879,"45947":36898,"45948":36886,"45949":36891,"45950":36884,"45985":37096,"45986":37101,"45987":37117,"45988":37207,"45989":37326,"45990":37365,"45991":37350,"45992":37347,"45993":37351,"45994":37357,"45995":37353,"45996":38281,"45997":38506,"45998":38517,"45999":38515,"46000":38520,"46001":38512,"46002":38516,"46003":38518,"46004":38519,"46005":38508,"46006":38592,"46007":38634,"46008":38633,"46009":31456,"46010":31455,"46011":38914,"46012":38915,"46013":39770,"46014":40165,"46015":40565,"46016":40575,"46017":40613,"46018":40635,"46019":20642,"46020":20621,"46021":20613,"46022":20633,"46023":20625,"46024":20608,"46025":20630,"46026":20632,"46027":20634,"46028":26368,"46029":20977,"46030":21106,"46031":21108,"46032":21109,"46033":21097,"46034":21214,"46035":21213,"46036":21211,"46037":21338,"46038":21413,"46039":21883,"46040":21888,"46041":21927,"46042":21884,"46043":21898,"46044":21917,"46045":21912,"46046":21890,"46047":21916,"46048":21930,"46049":21908,"46050":21895,"46051":21899,"46052":21891,"46053":21939,"46054":21934,"46055":21919,"46056":21822,"46057":21938,"46058":21914,"46059":21947,"46060":21932,"46061":21937,"46062":21886,"46063":21897,"46064":21931,"46065":21913,"46066":22285,"46067":22575,"46068":22570,"46069":22580,"46070":22564,"46071":22576,"46072":22577,"46073":22561,"46074":22557,"46075":22560,"46076":22777,"46077":22778,"46078":22880,"46144":23159,"46145":23194,"46146":23167,"46147":23186,"46148":23195,"46149":23207,"46150":23411,"46151":23409,"46152":23506,"46153":23500,"46154":23507,"46155":23504,"46156":23562,"46157":23563,"46158":23601,"46159":23884,"46160":23888,"46161":23860,"46162":23879,"46163":24061,"46164":24133,"46165":24125,"46166":24128,"46167":24131,"46168":24190,"46169":24266,"46170":24257,"46171":24258,"46172":24260,"46173":24380,"46174":24429,"46175":24489,"46176":24490,"46177":24488,"46178":24785,"46179":24801,"46180":24754,"46181":24758,"46182":24800,"46183":24860,"46184":24867,"46185":24826,"46186":24853,"46187":24816,"46188":24827,"46189":24820,"46190":24936,"46191":24817,"46192":24846,"46193":24822,"46194":24841,"46195":24832,"46196":24850,"46197":25119,"46198":25161,"46199":25507,"46200":25484,"46201":25551,"46202":25536,"46203":25577,"46204":25545,"46205":25542,"46206":25549,"46241":25554,"46242":25571,"46243":25552,"46244":25569,"46245":25558,"46246":25581,"46247":25582,"46248":25462,"46249":25588,"46250":25578,"46251":25563,"46252":25682,"46253":25562,"46254":25593,"46255":25950,"46256":25958,"46257":25954,"46258":25955,"46259":26001,"46260":26000,"46261":26031,"46262":26222,"46263":26224,"46264":26228,"46265":26230,"46266":26223,"46267":26257,"46268":26234,"46269":26238,"46270":26231,"46271":26366,"46272":26367,"46273":26399,"46274":26397,"46275":26874,"46276":26837,"46277":26848,"46278":26840,"46279":26839,"46280":26885,"46281":26847,"46282":26869,"46283":26862,"46284":26855,"46285":26873,"46286":26834,"46287":26866,"46288":26851,"46289":26827,"46290":26829,"46291":26893,"46292":26898,"46293":26894,"46294":26825,"46295":26842,"46296":26990,"46297":26875,"46298":27454,"46299":27450,"46300":27453,"46301":27544,"46302":27542,"46303":27580,"46304":27631,"46305":27694,"46306":27695,"46307":27692,"46308":28207,"46309":28216,"46310":28244,"46311":28193,"46312":28210,"46313":28263,"46314":28234,"46315":28192,"46316":28197,"46317":28195,"46318":28187,"46319":28251,"46320":28248,"46321":28196,"46322":28246,"46323":28270,"46324":28205,"46325":28198,"46326":28271,"46327":28212,"46328":28237,"46329":28218,"46330":28204,"46331":28227,"46332":28189,"46333":28222,"46334":28363,"46400":28297,"46401":28185,"46402":28238,"46403":28259,"46404":28228,"46405":28274,"46406":28265,"46407":28255,"46408":28953,"46409":28954,"46410":28966,"46411":28976,"46412":28961,"46413":28982,"46414":29038,"46415":28956,"46416":29260,"46417":29316,"46418":29312,"46419":29494,"46420":29477,"46421":29492,"46422":29481,"46423":29754,"46424":29738,"46425":29747,"46426":29730,"46427":29733,"46428":29749,"46429":29750,"46430":29748,"46431":29743,"46432":29723,"46433":29734,"46434":29736,"46435":29989,"46436":29990,"46437":30059,"46438":30058,"46439":30178,"46440":30171,"46441":30179,"46442":30169,"46443":30168,"46444":30174,"46445":30176,"46446":30331,"46447":30332,"46448":30358,"46449":30355,"46450":30388,"46451":30428,"46452":30543,"46453":30701,"46454":30813,"46455":30828,"46456":30831,"46457":31245,"46458":31240,"46459":31243,"46460":31237,"46461":31232,"46462":31384,"46497":31383,"46498":31382,"46499":31461,"46500":31459,"46501":31561,"46502":31574,"46503":31558,"46504":31568,"46505":31570,"46506":31572,"46507":31565,"46508":31563,"46509":31567,"46510":31569,"46511":31903,"46512":31909,"46513":32094,"46514":32080,"46515":32104,"46516":32085,"46517":32043,"46518":32110,"46519":32114,"46520":32097,"46521":32102,"46522":32098,"46523":32112,"46524":32115,"46525":21892,"46526":32724,"46527":32725,"46528":32779,"46529":32850,"46530":32901,"46531":33109,"46532":33108,"46533":33099,"46534":33105,"46535":33102,"46536":33081,"46537":33094,"46538":33086,"46539":33100,"46540":33107,"46541":33140,"46542":33298,"46543":33308,"46544":33769,"46545":33795,"46546":33784,"46547":33805,"46548":33760,"46549":33733,"46550":33803,"46551":33729,"46552":33775,"46553":33777,"46554":33780,"46555":33879,"46556":33802,"46557":33776,"46558":33804,"46559":33740,"46560":33789,"46561":33778,"46562":33738,"46563":33848,"46564":33806,"46565":33796,"46566":33756,"46567":33799,"46568":33748,"46569":33759,"46570":34395,"46571":34527,"46572":34521,"46573":34541,"46574":34516,"46575":34523,"46576":34532,"46577":34512,"46578":34526,"46579":34903,"46580":35009,"46581":35010,"46582":34993,"46583":35203,"46584":35222,"46585":35387,"46586":35424,"46587":35413,"46588":35422,"46589":35388,"46590":35393,"46656":35412,"46657":35419,"46658":35408,"46659":35398,"46660":35380,"46661":35386,"46662":35382,"46663":35414,"46664":35937,"46665":35970,"46666":36015,"46667":36028,"46668":36019,"46669":36029,"46670":36033,"46671":36027,"46672":36032,"46673":36020,"46674":36023,"46675":36022,"46676":36031,"46677":36024,"46678":36234,"46679":36229,"46680":36225,"46681":36302,"46682":36317,"46683":36299,"46684":36314,"46685":36305,"46686":36300,"46687":36315,"46688":36294,"46689":36603,"46690":36600,"46691":36604,"46692":36764,"46693":36910,"46694":36917,"46695":36913,"46696":36920,"46697":36914,"46698":36918,"46699":37122,"46700":37109,"46701":37129,"46702":37118,"46703":37219,"46704":37221,"46705":37327,"46706":37396,"46707":37397,"46708":37411,"46709":37385,"46710":37406,"46711":37389,"46712":37392,"46713":37383,"46714":37393,"46715":38292,"46716":38287,"46717":38283,"46718":38289,"46753":38291,"46754":38290,"46755":38286,"46756":38538,"46757":38542,"46758":38539,"46759":38525,"46760":38533,"46761":38534,"46762":38541,"46763":38514,"46764":38532,"46765":38593,"46766":38597,"46767":38596,"46768":38598,"46769":38599,"46770":38639,"46771":38642,"46772":38860,"46773":38917,"46774":38918,"46775":38920,"46776":39143,"46777":39146,"46778":39151,"46779":39145,"46780":39154,"46781":39149,"46782":39342,"46783":39341,"46784":40643,"46785":40653,"46786":40657,"46787":20098,"46788":20653,"46789":20661,"46790":20658,"46791":20659,"46792":20677,"46793":20670,"46794":20652,"46795":20663,"46796":20667,"46797":20655,"46798":20679,"46799":21119,"46800":21111,"46801":21117,"46802":21215,"46803":21222,"46804":21220,"46805":21218,"46806":21219,"46807":21295,"46808":21983,"46809":21992,"46810":21971,"46811":21990,"46812":21966,"46813":21980,"46814":21959,"46815":21969,"46816":21987,"46817":21988,"46818":21999,"46819":21978,"46820":21985,"46821":21957,"46822":21958,"46823":21989,"46824":21961,"46825":22290,"46826":22291,"46827":22622,"46828":22609,"46829":22616,"46830":22615,"46831":22618,"46832":22612,"46833":22635,"46834":22604,"46835":22637,"46836":22602,"46837":22626,"46838":22610,"46839":22603,"46840":22887,"46841":23233,"46842":23241,"46843":23244,"46844":23230,"46845":23229,"46846":23228,"46912":23219,"46913":23234,"46914":23218,"46915":23913,"46916":23919,"46917":24140,"46918":24185,"46919":24265,"46920":24264,"46921":24338,"46922":24409,"46923":24492,"46924":24494,"46925":24858,"46926":24847,"46927":24904,"46928":24863,"46929":24819,"46930":24859,"46931":24825,"46932":24833,"46933":24840,"46934":24910,"46935":24908,"46936":24900,"46937":24909,"46938":24894,"46939":24884,"46940":24871,"46941":24845,"46942":24838,"46943":24887,"46944":25121,"46945":25122,"46946":25619,"46947":25662,"46948":25630,"46949":25642,"46950":25645,"46951":25661,"46952":25644,"46953":25615,"46954":25628,"46955":25620,"46956":25613,"46957":25654,"46958":25622,"46959":25623,"46960":25606,"46961":25964,"46962":26015,"46963":26032,"46964":26263,"46965":26249,"46966":26247,"46967":26248,"46968":26262,"46969":26244,"46970":26264,"46971":26253,"46972":26371,"46973":27028,"46974":26989,"47009":26970,"47010":26999,"47011":26976,"47012":26964,"47013":26997,"47014":26928,"47015":27010,"47016":26954,"47017":26984,"47018":26987,"47019":26974,"47020":26963,"47021":27001,"47022":27014,"47023":26973,"47024":26979,"47025":26971,"47026":27463,"47027":27506,"47028":27584,"47029":27583,"47030":27603,"47031":27645,"47032":28322,"47033":28335,"47034":28371,"47035":28342,"47036":28354,"47037":28304,"47038":28317,"47039":28359,"47040":28357,"47041":28325,"47042":28312,"47043":28348,"47044":28346,"47045":28331,"47046":28369,"47047":28310,"47048":28316,"47049":28356,"47050":28372,"47051":28330,"47052":28327,"47053":28340,"47054":29006,"47055":29017,"47056":29033,"47057":29028,"47058":29001,"47059":29031,"47060":29020,"47061":29036,"47062":29030,"47063":29004,"47064":29029,"47065":29022,"47066":28998,"47067":29032,"47068":29014,"47069":29242,"47070":29266,"47071":29495,"47072":29509,"47073":29503,"47074":29502,"47075":29807,"47076":29786,"47077":29781,"47078":29791,"47079":29790,"47080":29761,"47081":29759,"47082":29785,"47083":29787,"47084":29788,"47085":30070,"47086":30072,"47087":30208,"47088":30192,"47089":30209,"47090":30194,"47091":30193,"47092":30202,"47093":30207,"47094":30196,"47095":30195,"47096":30430,"47097":30431,"47098":30555,"47099":30571,"47100":30566,"47101":30558,"47102":30563,"47168":30585,"47169":30570,"47170":30572,"47171":30556,"47172":30565,"47173":30568,"47174":30562,"47175":30702,"47176":30862,"47177":30896,"47178":30871,"47179":30872,"47180":30860,"47181":30857,"47182":30844,"47183":30865,"47184":30867,"47185":30847,"47186":31098,"47187":31103,"47188":31105,"47189":33836,"47190":31165,"47191":31260,"47192":31258,"47193":31264,"47194":31252,"47195":31263,"47196":31262,"47197":31391,"47198":31392,"47199":31607,"47200":31680,"47201":31584,"47202":31598,"47203":31591,"47204":31921,"47205":31923,"47206":31925,"47207":32147,"47208":32121,"47209":32145,"47210":32129,"47211":32143,"47212":32091,"47213":32622,"47214":32617,"47215":32618,"47216":32626,"47217":32681,"47218":32680,"47219":32676,"47220":32854,"47221":32856,"47222":32902,"47223":32900,"47224":33137,"47225":33136,"47226":33144,"47227":33125,"47228":33134,"47229":33139,"47230":33131,"47265":33145,"47266":33146,"47267":33126,"47268":33285,"47269":33351,"47270":33922,"47271":33911,"47272":33853,"47273":33841,"47274":33909,"47275":33894,"47276":33899,"47277":33865,"47278":33900,"47279":33883,"47280":33852,"47281":33845,"47282":33889,"47283":33891,"47284":33897,"47285":33901,"47286":33862,"47287":34398,"47288":34396,"47289":34399,"47290":34553,"47291":34579,"47292":34568,"47293":34567,"47294":34560,"47295":34558,"47296":34555,"47297":34562,"47298":34563,"47299":34566,"47300":34570,"47301":34905,"47302":35039,"47303":35028,"47304":35033,"47305":35036,"47306":35032,"47307":35037,"47308":35041,"47309":35018,"47310":35029,"47311":35026,"47312":35228,"47313":35299,"47314":35435,"47315":35442,"47316":35443,"47317":35430,"47318":35433,"47319":35440,"47320":35463,"47321":35452,"47322":35427,"47323":35488,"47324":35441,"47325":35461,"47326":35437,"47327":35426,"47328":35438,"47329":35436,"47330":35449,"47331":35451,"47332":35390,"47333":35432,"47334":35938,"47335":35978,"47336":35977,"47337":36042,"47338":36039,"47339":36040,"47340":36036,"47341":36018,"47342":36035,"47343":36034,"47344":36037,"47345":36321,"47346":36319,"47347":36328,"47348":36335,"47349":36339,"47350":36346,"47351":36330,"47352":36324,"47353":36326,"47354":36530,"47355":36611,"47356":36617,"47357":36606,"47358":36618,"47424":36767,"47425":36786,"47426":36939,"47427":36938,"47428":36947,"47429":36930,"47430":36948,"47431":36924,"47432":36949,"47433":36944,"47434":36935,"47435":36943,"47436":36942,"47437":36941,"47438":36945,"47439":36926,"47440":36929,"47441":37138,"47442":37143,"47443":37228,"47444":37226,"47445":37225,"47446":37321,"47447":37431,"47448":37463,"47449":37432,"47450":37437,"47451":37440,"47452":37438,"47453":37467,"47454":37451,"47455":37476,"47456":37457,"47457":37428,"47458":37449,"47459":37453,"47460":37445,"47461":37433,"47462":37439,"47463":37466,"47464":38296,"47465":38552,"47466":38548,"47467":38549,"47468":38605,"47469":38603,"47470":38601,"47471":38602,"47472":38647,"47473":38651,"47474":38649,"47475":38646,"47476":38742,"47477":38772,"47478":38774,"47479":38928,"47480":38929,"47481":38931,"47482":38922,"47483":38930,"47484":38924,"47485":39164,"47486":39156,"47521":39165,"47522":39166,"47523":39347,"47524":39345,"47525":39348,"47526":39649,"47527":40169,"47528":40578,"47529":40718,"47530":40723,"47531":40736,"47532":20711,"47533":20718,"47534":20709,"47535":20694,"47536":20717,"47537":20698,"47538":20693,"47539":20687,"47540":20689,"47541":20721,"47542":20686,"47543":20713,"47544":20834,"47545":20979,"47546":21123,"47547":21122,"47548":21297,"47549":21421,"47550":22014,"47551":22016,"47552":22043,"47553":22039,"47554":22013,"47555":22036,"47556":22022,"47557":22025,"47558":22029,"47559":22030,"47560":22007,"47561":22038,"47562":22047,"47563":22024,"47564":22032,"47565":22006,"47566":22296,"47567":22294,"47568":22645,"47569":22654,"47570":22659,"47571":22675,"47572":22666,"47573":22649,"47574":22661,"47575":22653,"47576":22781,"47577":22821,"47578":22818,"47579":22820,"47580":22890,"47581":22889,"47582":23265,"47583":23270,"47584":23273,"47585":23255,"47586":23254,"47587":23256,"47588":23267,"47589":23413,"47590":23518,"47591":23527,"47592":23521,"47593":23525,"47594":23526,"47595":23528,"47596":23522,"47597":23524,"47598":23519,"47599":23565,"47600":23650,"47601":23940,"47602":23943,"47603":24155,"47604":24163,"47605":24149,"47606":24151,"47607":24148,"47608":24275,"47609":24278,"47610":24330,"47611":24390,"47612":24432,"47613":24505,"47614":24903,"47680":24895,"47681":24907,"47682":24951,"47683":24930,"47684":24931,"47685":24927,"47686":24922,"47687":24920,"47688":24949,"47689":25130,"47690":25735,"47691":25688,"47692":25684,"47693":25764,"47694":25720,"47695":25695,"47696":25722,"47697":25681,"47698":25703,"47699":25652,"47700":25709,"47701":25723,"47702":25970,"47703":26017,"47704":26071,"47705":26070,"47706":26274,"47707":26280,"47708":26269,"47709":27036,"47710":27048,"47711":27029,"47712":27073,"47713":27054,"47714":27091,"47715":27083,"47716":27035,"47717":27063,"47718":27067,"47719":27051,"47720":27060,"47721":27088,"47722":27085,"47723":27053,"47724":27084,"47725":27046,"47726":27075,"47727":27043,"47728":27465,"47729":27468,"47730":27699,"47731":28467,"47732":28436,"47733":28414,"47734":28435,"47735":28404,"47736":28457,"47737":28478,"47738":28448,"47739":28460,"47740":28431,"47741":28418,"47742":28450,"47777":28415,"47778":28399,"47779":28422,"47780":28465,"47781":28472,"47782":28466,"47783":28451,"47784":28437,"47785":28459,"47786":28463,"47787":28552,"47788":28458,"47789":28396,"47790":28417,"47791":28402,"47792":28364,"47793":28407,"47794":29076,"47795":29081,"47796":29053,"47797":29066,"47798":29060,"47799":29074,"47800":29246,"47801":29330,"47802":29334,"47803":29508,"47804":29520,"47805":29796,"47806":29795,"47807":29802,"47808":29808,"47809":29805,"47810":29956,"47811":30097,"47812":30247,"47813":30221,"47814":30219,"47815":30217,"47816":30227,"47817":30433,"47818":30435,"47819":30596,"47820":30589,"47821":30591,"47822":30561,"47823":30913,"47824":30879,"47825":30887,"47826":30899,"47827":30889,"47828":30883,"47829":31118,"47830":31119,"47831":31117,"47832":31278,"47833":31281,"47834":31402,"47835":31401,"47836":31469,"47837":31471,"47838":31649,"47839":31637,"47840":31627,"47841":31605,"47842":31639,"47843":31645,"47844":31636,"47845":31631,"47846":31672,"47847":31623,"47848":31620,"47849":31929,"47850":31933,"47851":31934,"47852":32187,"47853":32176,"47854":32156,"47855":32189,"47856":32190,"47857":32160,"47858":32202,"47859":32180,"47860":32178,"47861":32177,"47862":32186,"47863":32162,"47864":32191,"47865":32181,"47866":32184,"47867":32173,"47868":32210,"47869":32199,"47870":32172,"47936":32624,"47937":32736,"47938":32737,"47939":32735,"47940":32862,"47941":32858,"47942":32903,"47943":33104,"47944":33152,"47945":33167,"47946":33160,"47947":33162,"47948":33151,"47949":33154,"47950":33255,"47951":33274,"47952":33287,"47953":33300,"47954":33310,"47955":33355,"47956":33993,"47957":33983,"47958":33990,"47959":33988,"47960":33945,"47961":33950,"47962":33970,"47963":33948,"47964":33995,"47965":33976,"47966":33984,"47967":34003,"47968":33936,"47969":33980,"47970":34001,"47971":33994,"47972":34623,"47973":34588,"47974":34619,"47975":34594,"47976":34597,"47977":34612,"47978":34584,"47979":34645,"47980":34615,"47981":34601,"47982":35059,"47983":35074,"47984":35060,"47985":35065,"47986":35064,"47987":35069,"47988":35048,"47989":35098,"47990":35055,"47991":35494,"47992":35468,"47993":35486,"47994":35491,"47995":35469,"47996":35489,"47997":35475,"47998":35492,"48033":35498,"48034":35493,"48035":35496,"48036":35480,"48037":35473,"48038":35482,"48039":35495,"48040":35946,"48041":35981,"48042":35980,"48043":36051,"48044":36049,"48045":36050,"48046":36203,"48047":36249,"48048":36245,"48049":36348,"48050":36628,"48051":36626,"48052":36629,"48053":36627,"48054":36771,"48055":36960,"48056":36952,"48057":36956,"48058":36963,"48059":36953,"48060":36958,"48061":36962,"48062":36957,"48063":36955,"48064":37145,"48065":37144,"48066":37150,"48067":37237,"48068":37240,"48069":37239,"48070":37236,"48071":37496,"48072":37504,"48073":37509,"48074":37528,"48075":37526,"48076":37499,"48077":37523,"48078":37532,"48079":37544,"48080":37500,"48081":37521,"48082":38305,"48083":38312,"48084":38313,"48085":38307,"48086":38309,"48087":38308,"48088":38553,"48089":38556,"48090":38555,"48091":38604,"48092":38610,"48093":38656,"48094":38780,"48095":38789,"48096":38902,"48097":38935,"48098":38936,"48099":39087,"48100":39089,"48101":39171,"48102":39173,"48103":39180,"48104":39177,"48105":39361,"48106":39599,"48107":39600,"48108":39654,"48109":39745,"48110":39746,"48111":40180,"48112":40182,"48113":40179,"48114":40636,"48115":40763,"48116":40778,"48117":20740,"48118":20736,"48119":20731,"48120":20725,"48121":20729,"48122":20738,"48123":20744,"48124":20745,"48125":20741,"48126":20956,"48192":21127,"48193":21128,"48194":21129,"48195":21133,"48196":21130,"48197":21232,"48198":21426,"48199":22062,"48200":22075,"48201":22073,"48202":22066,"48203":22079,"48204":22068,"48205":22057,"48206":22099,"48207":22094,"48208":22103,"48209":22132,"48210":22070,"48211":22063,"48212":22064,"48213":22656,"48214":22687,"48215":22686,"48216":22707,"48217":22684,"48218":22702,"48219":22697,"48220":22694,"48221":22893,"48222":23305,"48223":23291,"48224":23307,"48225":23285,"48226":23308,"48227":23304,"48228":23534,"48229":23532,"48230":23529,"48231":23531,"48232":23652,"48233":23653,"48234":23965,"48235":23956,"48236":24162,"48237":24159,"48238":24161,"48239":24290,"48240":24282,"48241":24287,"48242":24285,"48243":24291,"48244":24288,"48245":24392,"48246":24433,"48247":24503,"48248":24501,"48249":24950,"48250":24935,"48251":24942,"48252":24925,"48253":24917,"48254":24962,"48289":24956,"48290":24944,"48291":24939,"48292":24958,"48293":24999,"48294":24976,"48295":25003,"48296":24974,"48297":25004,"48298":24986,"48299":24996,"48300":24980,"48301":25006,"48302":25134,"48303":25705,"48304":25711,"48305":25721,"48306":25758,"48307":25778,"48308":25736,"48309":25744,"48310":25776,"48311":25765,"48312":25747,"48313":25749,"48314":25769,"48315":25746,"48316":25774,"48317":25773,"48318":25771,"48319":25754,"48320":25772,"48321":25753,"48322":25762,"48323":25779,"48324":25973,"48325":25975,"48326":25976,"48327":26286,"48328":26283,"48329":26292,"48330":26289,"48331":27171,"48332":27167,"48333":27112,"48334":27137,"48335":27166,"48336":27161,"48337":27133,"48338":27169,"48339":27155,"48340":27146,"48341":27123,"48342":27138,"48343":27141,"48344":27117,"48345":27153,"48346":27472,"48347":27470,"48348":27556,"48349":27589,"48350":27590,"48351":28479,"48352":28540,"48353":28548,"48354":28497,"48355":28518,"48356":28500,"48357":28550,"48358":28525,"48359":28507,"48360":28536,"48361":28526,"48362":28558,"48363":28538,"48364":28528,"48365":28516,"48366":28567,"48367":28504,"48368":28373,"48369":28527,"48370":28512,"48371":28511,"48372":29087,"48373":29100,"48374":29105,"48375":29096,"48376":29270,"48377":29339,"48378":29518,"48379":29527,"48380":29801,"48381":29835,"48382":29827,"48448":29822,"48449":29824,"48450":30079,"48451":30240,"48452":30249,"48453":30239,"48454":30244,"48455":30246,"48456":30241,"48457":30242,"48458":30362,"48459":30394,"48460":30436,"48461":30606,"48462":30599,"48463":30604,"48464":30609,"48465":30603,"48466":30923,"48467":30917,"48468":30906,"48469":30922,"48470":30910,"48471":30933,"48472":30908,"48473":30928,"48474":31295,"48475":31292,"48476":31296,"48477":31293,"48478":31287,"48479":31291,"48480":31407,"48481":31406,"48482":31661,"48483":31665,"48484":31684,"48485":31668,"48486":31686,"48487":31687,"48488":31681,"48489":31648,"48490":31692,"48491":31946,"48492":32224,"48493":32244,"48494":32239,"48495":32251,"48496":32216,"48497":32236,"48498":32221,"48499":32232,"48500":32227,"48501":32218,"48502":32222,"48503":32233,"48504":32158,"48505":32217,"48506":32242,"48507":32249,"48508":32629,"48509":32631,"48510":32687,"48545":32745,"48546":32806,"48547":33179,"48548":33180,"48549":33181,"48550":33184,"48551":33178,"48552":33176,"48553":34071,"48554":34109,"48555":34074,"48556":34030,"48557":34092,"48558":34093,"48559":34067,"48560":34065,"48561":34083,"48562":34081,"48563":34068,"48564":34028,"48565":34085,"48566":34047,"48567":34054,"48568":34690,"48569":34676,"48570":34678,"48571":34656,"48572":34662,"48573":34680,"48574":34664,"48575":34649,"48576":34647,"48577":34636,"48578":34643,"48579":34907,"48580":34909,"48581":35088,"48582":35079,"48583":35090,"48584":35091,"48585":35093,"48586":35082,"48587":35516,"48588":35538,"48589":35527,"48590":35524,"48591":35477,"48592":35531,"48593":35576,"48594":35506,"48595":35529,"48596":35522,"48597":35519,"48598":35504,"48599":35542,"48600":35533,"48601":35510,"48602":35513,"48603":35547,"48604":35916,"48605":35918,"48606":35948,"48607":36064,"48608":36062,"48609":36070,"48610":36068,"48611":36076,"48612":36077,"48613":36066,"48614":36067,"48615":36060,"48616":36074,"48617":36065,"48618":36205,"48619":36255,"48620":36259,"48621":36395,"48622":36368,"48623":36381,"48624":36386,"48625":36367,"48626":36393,"48627":36383,"48628":36385,"48629":36382,"48630":36538,"48631":36637,"48632":36635,"48633":36639,"48634":36649,"48635":36646,"48636":36650,"48637":36636,"48638":36638,"48704":36645,"48705":36969,"48706":36974,"48707":36968,"48708":36973,"48709":36983,"48710":37168,"48711":37165,"48712":37159,"48713":37169,"48714":37255,"48715":37257,"48716":37259,"48717":37251,"48718":37573,"48719":37563,"48720":37559,"48721":37610,"48722":37548,"48723":37604,"48724":37569,"48725":37555,"48726":37564,"48727":37586,"48728":37575,"48729":37616,"48730":37554,"48731":38317,"48732":38321,"48733":38660,"48734":38662,"48735":38663,"48736":38665,"48737":38752,"48738":38797,"48739":38795,"48740":38799,"48741":38945,"48742":38955,"48743":38940,"48744":39091,"48745":39178,"48746":39187,"48747":39186,"48748":39192,"48749":39389,"48750":39376,"48751":39391,"48752":39387,"48753":39377,"48754":39381,"48755":39378,"48756":39385,"48757":39607,"48758":39662,"48759":39663,"48760":39719,"48761":39749,"48762":39748,"48763":39799,"48764":39791,"48765":40198,"48766":40201,"48801":40195,"48802":40617,"48803":40638,"48804":40654,"48805":22696,"48806":40786,"48807":20754,"48808":20760,"48809":20756,"48810":20752,"48811":20757,"48812":20864,"48813":20906,"48814":20957,"48815":21137,"48816":21139,"48817":21235,"48818":22105,"48819":22123,"48820":22137,"48821":22121,"48822":22116,"48823":22136,"48824":22122,"48825":22120,"48826":22117,"48827":22129,"48828":22127,"48829":22124,"48830":22114,"48831":22134,"48832":22721,"48833":22718,"48834":22727,"48835":22725,"48836":22894,"48837":23325,"48838":23348,"48839":23416,"48840":23536,"48841":23566,"48842":24394,"48843":25010,"48844":24977,"48845":25001,"48846":24970,"48847":25037,"48848":25014,"48849":25022,"48850":25034,"48851":25032,"48852":25136,"48853":25797,"48854":25793,"48855":25803,"48856":25787,"48857":25788,"48858":25818,"48859":25796,"48860":25799,"48861":25794,"48862":25805,"48863":25791,"48864":25810,"48865":25812,"48866":25790,"48867":25972,"48868":26310,"48869":26313,"48870":26297,"48871":26308,"48872":26311,"48873":26296,"48874":27197,"48875":27192,"48876":27194,"48877":27225,"48878":27243,"48879":27224,"48880":27193,"48881":27204,"48882":27234,"48883":27233,"48884":27211,"48885":27207,"48886":27189,"48887":27231,"48888":27208,"48889":27481,"48890":27511,"48891":27653,"48892":28610,"48893":28593,"48894":28577,"48960":28611,"48961":28580,"48962":28609,"48963":28583,"48964":28595,"48965":28608,"48966":28601,"48967":28598,"48968":28582,"48969":28576,"48970":28596,"48971":29118,"48972":29129,"48973":29136,"48974":29138,"48975":29128,"48976":29141,"48977":29113,"48978":29134,"48979":29145,"48980":29148,"48981":29123,"48982":29124,"48983":29544,"48984":29852,"48985":29859,"48986":29848,"48987":29855,"48988":29854,"48989":29922,"48990":29964,"48991":29965,"48992":30260,"48993":30264,"48994":30266,"48995":30439,"48996":30437,"48997":30624,"48998":30622,"48999":30623,"49000":30629,"49001":30952,"49002":30938,"49003":30956,"49004":30951,"49005":31142,"49006":31309,"49007":31310,"49008":31302,"49009":31308,"49010":31307,"49011":31418,"49012":31705,"49013":31761,"49014":31689,"49015":31716,"49016":31707,"49017":31713,"49018":31721,"49019":31718,"49020":31957,"49021":31958,"49022":32266,"49057":32273,"49058":32264,"49059":32283,"49060":32291,"49061":32286,"49062":32285,"49063":32265,"49064":32272,"49065":32633,"49066":32690,"49067":32752,"49068":32753,"49069":32750,"49070":32808,"49071":33203,"49072":33193,"49073":33192,"49074":33275,"49075":33288,"49076":33368,"49077":33369,"49078":34122,"49079":34137,"49080":34120,"49081":34152,"49082":34153,"49083":34115,"49084":34121,"49085":34157,"49086":34154,"49087":34142,"49088":34691,"49089":34719,"49090":34718,"49091":34722,"49092":34701,"49093":34913,"49094":35114,"49095":35122,"49096":35109,"49097":35115,"49098":35105,"49099":35242,"49100":35238,"49101":35558,"49102":35578,"49103":35563,"49104":35569,"49105":35584,"49106":35548,"49107":35559,"49108":35566,"49109":35582,"49110":35585,"49111":35586,"49112":35575,"49113":35565,"49114":35571,"49115":35574,"49116":35580,"49117":35947,"49118":35949,"49119":35987,"49120":36084,"49121":36420,"49122":36401,"49123":36404,"49124":36418,"49125":36409,"49126":36405,"49127":36667,"49128":36655,"49129":36664,"49130":36659,"49131":36776,"49132":36774,"49133":36981,"49134":36980,"49135":36984,"49136":36978,"49137":36988,"49138":36986,"49139":37172,"49140":37266,"49141":37664,"49142":37686,"49143":37624,"49144":37683,"49145":37679,"49146":37666,"49147":37628,"49148":37675,"49149":37636,"49150":37658,"49216":37648,"49217":37670,"49218":37665,"49219":37653,"49220":37678,"49221":37657,"49222":38331,"49223":38567,"49224":38568,"49225":38570,"49226":38613,"49227":38670,"49228":38673,"49229":38678,"49230":38669,"49231":38675,"49232":38671,"49233":38747,"49234":38748,"49235":38758,"49236":38808,"49237":38960,"49238":38968,"49239":38971,"49240":38967,"49241":38957,"49242":38969,"49243":38948,"49244":39184,"49245":39208,"49246":39198,"49247":39195,"49248":39201,"49249":39194,"49250":39405,"49251":39394,"49252":39409,"49253":39608,"49254":39612,"49255":39675,"49256":39661,"49257":39720,"49258":39825,"49259":40213,"49260":40227,"49261":40230,"49262":40232,"49263":40210,"49264":40219,"49265":40664,"49266":40660,"49267":40845,"49268":40860,"49269":20778,"49270":20767,"49271":20769,"49272":20786,"49273":21237,"49274":22158,"49275":22144,"49276":22160,"49277":22149,"49278":22151,"49313":22159,"49314":22741,"49315":22739,"49316":22737,"49317":22734,"49318":23344,"49319":23338,"49320":23332,"49321":23418,"49322":23607,"49323":23656,"49324":23996,"49325":23994,"49326":23997,"49327":23992,"49328":24171,"49329":24396,"49330":24509,"49331":25033,"49332":25026,"49333":25031,"49334":25062,"49335":25035,"49336":25138,"49337":25140,"49338":25806,"49339":25802,"49340":25816,"49341":25824,"49342":25840,"49343":25830,"49344":25836,"49345":25841,"49346":25826,"49347":25837,"49348":25986,"49349":25987,"49350":26329,"49351":26326,"49352":27264,"49353":27284,"49354":27268,"49355":27298,"49356":27292,"49357":27355,"49358":27299,"49359":27262,"49360":27287,"49361":27280,"49362":27296,"49363":27484,"49364":27566,"49365":27610,"49366":27656,"49367":28632,"49368":28657,"49369":28639,"49370":28640,"49371":28635,"49372":28644,"49373":28651,"49374":28655,"49375":28544,"49376":28652,"49377":28641,"49378":28649,"49379":28629,"49380":28654,"49381":28656,"49382":29159,"49383":29151,"49384":29166,"49385":29158,"49386":29157,"49387":29165,"49388":29164,"49389":29172,"49390":29152,"49391":29237,"49392":29254,"49393":29552,"49394":29554,"49395":29865,"49396":29872,"49397":29862,"49398":29864,"49399":30278,"49400":30274,"49401":30284,"49402":30442,"49403":30643,"49404":30634,"49405":30640,"49406":30636,"49472":30631,"49473":30637,"49474":30703,"49475":30967,"49476":30970,"49477":30964,"49478":30959,"49479":30977,"49480":31143,"49481":31146,"49482":31319,"49483":31423,"49484":31751,"49485":31757,"49486":31742,"49487":31735,"49488":31756,"49489":31712,"49490":31968,"49491":31964,"49492":31966,"49493":31970,"49494":31967,"49495":31961,"49496":31965,"49497":32302,"49498":32318,"49499":32326,"49500":32311,"49501":32306,"49502":32323,"49503":32299,"49504":32317,"49505":32305,"49506":32325,"49507":32321,"49508":32308,"49509":32313,"49510":32328,"49511":32309,"49512":32319,"49513":32303,"49514":32580,"49515":32755,"49516":32764,"49517":32881,"49518":32882,"49519":32880,"49520":32879,"49521":32883,"49522":33222,"49523":33219,"49524":33210,"49525":33218,"49526":33216,"49527":33215,"49528":33213,"49529":33225,"49530":33214,"49531":33256,"49532":33289,"49533":33393,"49534":34218,"49569":34180,"49570":34174,"49571":34204,"49572":34193,"49573":34196,"49574":34223,"49575":34203,"49576":34183,"49577":34216,"49578":34186,"49579":34407,"49580":34752,"49581":34769,"49582":34739,"49583":34770,"49584":34758,"49585":34731,"49586":34747,"49587":34746,"49588":34760,"49589":34763,"49590":35131,"49591":35126,"49592":35140,"49593":35128,"49594":35133,"49595":35244,"49596":35598,"49597":35607,"49598":35609,"49599":35611,"49600":35594,"49601":35616,"49602":35613,"49603":35588,"49604":35600,"49605":35905,"49606":35903,"49607":35955,"49608":36090,"49609":36093,"49610":36092,"49611":36088,"49612":36091,"49613":36264,"49614":36425,"49615":36427,"49616":36424,"49617":36426,"49618":36676,"49619":36670,"49620":36674,"49621":36677,"49622":36671,"49623":36991,"49624":36989,"49625":36996,"49626":36993,"49627":36994,"49628":36992,"49629":37177,"49630":37283,"49631":37278,"49632":37276,"49633":37709,"49634":37762,"49635":37672,"49636":37749,"49637":37706,"49638":37733,"49639":37707,"49640":37656,"49641":37758,"49642":37740,"49643":37723,"49644":37744,"49645":37722,"49646":37716,"49647":38346,"49648":38347,"49649":38348,"49650":38344,"49651":38342,"49652":38577,"49653":38584,"49654":38614,"49655":38684,"49656":38686,"49657":38816,"49658":38867,"49659":38982,"49660":39094,"49661":39221,"49662":39425,"49728":39423,"49729":39854,"49730":39851,"49731":39850,"49732":39853,"49733":40251,"49734":40255,"49735":40587,"49736":40655,"49737":40670,"49738":40668,"49739":40669,"49740":40667,"49741":40766,"49742":40779,"49743":21474,"49744":22165,"49745":22190,"49746":22745,"49747":22744,"49748":23352,"49749":24413,"49750":25059,"49751":25139,"49752":25844,"49753":25842,"49754":25854,"49755":25862,"49756":25850,"49757":25851,"49758":25847,"49759":26039,"49760":26332,"49761":26406,"49762":27315,"49763":27308,"49764":27331,"49765":27323,"49766":27320,"49767":27330,"49768":27310,"49769":27311,"49770":27487,"49771":27512,"49772":27567,"49773":28681,"49774":28683,"49775":28670,"49776":28678,"49777":28666,"49778":28689,"49779":28687,"49780":29179,"49781":29180,"49782":29182,"49783":29176,"49784":29559,"49785":29557,"49786":29863,"49787":29887,"49788":29973,"49789":30294,"49790":30296,"49825":30290,"49826":30653,"49827":30655,"49828":30651,"49829":30652,"49830":30990,"49831":31150,"49832":31329,"49833":31330,"49834":31328,"49835":31428,"49836":31429,"49837":31787,"49838":31783,"49839":31786,"49840":31774,"49841":31779,"49842":31777,"49843":31975,"49844":32340,"49845":32341,"49846":32350,"49847":32346,"49848":32353,"49849":32338,"49850":32345,"49851":32584,"49852":32761,"49853":32763,"49854":32887,"49855":32886,"49856":33229,"49857":33231,"49858":33290,"49859":34255,"49860":34217,"49861":34253,"49862":34256,"49863":34249,"49864":34224,"49865":34234,"49866":34233,"49867":34214,"49868":34799,"49869":34796,"49870":34802,"49871":34784,"49872":35206,"49873":35250,"49874":35316,"49875":35624,"49876":35641,"49877":35628,"49878":35627,"49879":35920,"49880":36101,"49881":36441,"49882":36451,"49883":36454,"49884":36452,"49885":36447,"49886":36437,"49887":36544,"49888":36681,"49889":36685,"49890":36999,"49891":36995,"49892":37000,"49893":37291,"49894":37292,"49895":37328,"49896":37780,"49897":37770,"49898":37782,"49899":37794,"49900":37811,"49901":37806,"49902":37804,"49903":37808,"49904":37784,"49905":37786,"49906":37783,"49907":38356,"49908":38358,"49909":38352,"49910":38357,"49911":38626,"49912":38620,"49913":38617,"49914":38619,"49915":38622,"49916":38692,"49917":38819,"49918":38822,"49984":38829,"49985":38905,"49986":38989,"49987":38991,"49988":38988,"49989":38990,"49990":38995,"49991":39098,"49992":39230,"49993":39231,"49994":39229,"49995":39214,"49996":39333,"49997":39438,"49998":39617,"49999":39683,"50000":39686,"50001":39759,"50002":39758,"50003":39757,"50004":39882,"50005":39881,"50006":39933,"50007":39880,"50008":39872,"50009":40273,"50010":40285,"50011":40288,"50012":40672,"50013":40725,"50014":40748,"50015":20787,"50016":22181,"50017":22750,"50018":22751,"50019":22754,"50020":23541,"50021":40848,"50022":24300,"50023":25074,"50024":25079,"50025":25078,"50026":25077,"50027":25856,"50028":25871,"50029":26336,"50030":26333,"50031":27365,"50032":27357,"50033":27354,"50034":27347,"50035":28699,"50036":28703,"50037":28712,"50038":28698,"50039":28701,"50040":28693,"50041":28696,"50042":29190,"50043":29197,"50044":29272,"50045":29346,"50046":29560,"50081":29562,"50082":29885,"50083":29898,"50084":29923,"50085":30087,"50086":30086,"50087":30303,"50088":30305,"50089":30663,"50090":31001,"50091":31153,"50092":31339,"50093":31337,"50094":31806,"50095":31807,"50096":31800,"50097":31805,"50098":31799,"50099":31808,"50100":32363,"50101":32365,"50102":32377,"50103":32361,"50104":32362,"50105":32645,"50106":32371,"50107":32694,"50108":32697,"50109":32696,"50110":33240,"50111":34281,"50112":34269,"50113":34282,"50114":34261,"50115":34276,"50116":34277,"50117":34295,"50118":34811,"50119":34821,"50120":34829,"50121":34809,"50122":34814,"50123":35168,"50124":35167,"50125":35158,"50126":35166,"50127":35649,"50128":35676,"50129":35672,"50130":35657,"50131":35674,"50132":35662,"50133":35663,"50134":35654,"50135":35673,"50136":36104,"50137":36106,"50138":36476,"50139":36466,"50140":36487,"50141":36470,"50142":36460,"50143":36474,"50144":36468,"50145":36692,"50146":36686,"50147":36781,"50148":37002,"50149":37003,"50150":37297,"50151":37294,"50152":37857,"50153":37841,"50154":37855,"50155":37827,"50156":37832,"50157":37852,"50158":37853,"50159":37846,"50160":37858,"50161":37837,"50162":37848,"50163":37860,"50164":37847,"50165":37864,"50166":38364,"50167":38580,"50168":38627,"50169":38698,"50170":38695,"50171":38753,"50172":38876,"50173":38907,"50174":39006,"50240":39000,"50241":39003,"50242":39100,"50243":39237,"50244":39241,"50245":39446,"50246":39449,"50247":39693,"50248":39912,"50249":39911,"50250":39894,"50251":39899,"50252":40329,"50253":40289,"50254":40306,"50255":40298,"50256":40300,"50257":40594,"50258":40599,"50259":40595,"50260":40628,"50261":21240,"50262":22184,"50263":22199,"50264":22198,"50265":22196,"50266":22204,"50267":22756,"50268":23360,"50269":23363,"50270":23421,"50271":23542,"50272":24009,"50273":25080,"50274":25082,"50275":25880,"50276":25876,"50277":25881,"50278":26342,"50279":26407,"50280":27372,"50281":28734,"50282":28720,"50283":28722,"50284":29200,"50285":29563,"50286":29903,"50287":30306,"50288":30309,"50289":31014,"50290":31018,"50291":31020,"50292":31019,"50293":31431,"50294":31478,"50295":31820,"50296":31811,"50297":31821,"50298":31983,"50299":31984,"50300":36782,"50301":32381,"50302":32380,"50337":32386,"50338":32588,"50339":32768,"50340":33242,"50341":33382,"50342":34299,"50343":34297,"50344":34321,"50345":34298,"50346":34310,"50347":34315,"50348":34311,"50349":34314,"50350":34836,"50351":34837,"50352":35172,"50353":35258,"50354":35320,"50355":35696,"50356":35692,"50357":35686,"50358":35695,"50359":35679,"50360":35691,"50361":36111,"50362":36109,"50363":36489,"50364":36481,"50365":36485,"50366":36482,"50367":37300,"50368":37323,"50369":37912,"50370":37891,"50371":37885,"50372":38369,"50373":38704,"50374":39108,"50375":39250,"50376":39249,"50377":39336,"50378":39467,"50379":39472,"50380":39479,"50381":39477,"50382":39955,"50383":39949,"50384":40569,"50385":40629,"50386":40680,"50387":40751,"50388":40799,"50389":40803,"50390":40801,"50391":20791,"50392":20792,"50393":22209,"50394":22208,"50395":22210,"50396":22804,"50397":23660,"50398":24013,"50399":25084,"50400":25086,"50401":25885,"50402":25884,"50403":26005,"50404":26345,"50405":27387,"50406":27396,"50407":27386,"50408":27570,"50409":28748,"50410":29211,"50411":29351,"50412":29910,"50413":29908,"50414":30313,"50415":30675,"50416":31824,"50417":32399,"50418":32396,"50419":32700,"50420":34327,"50421":34349,"50422":34330,"50423":34851,"50424":34850,"50425":34849,"50426":34847,"50427":35178,"50428":35180,"50429":35261,"50430":35700,"50496":35703,"50497":35709,"50498":36115,"50499":36490,"50500":36493,"50501":36491,"50502":36703,"50503":36783,"50504":37306,"50505":37934,"50506":37939,"50507":37941,"50508":37946,"50509":37944,"50510":37938,"50511":37931,"50512":38370,"50513":38712,"50514":38713,"50515":38706,"50516":38911,"50517":39015,"50518":39013,"50519":39255,"50520":39493,"50521":39491,"50522":39488,"50523":39486,"50524":39631,"50525":39764,"50526":39761,"50527":39981,"50528":39973,"50529":40367,"50530":40372,"50531":40386,"50532":40376,"50533":40605,"50534":40687,"50535":40729,"50536":40796,"50537":40806,"50538":40807,"50539":20796,"50540":20795,"50541":22216,"50542":22218,"50543":22217,"50544":23423,"50545":24020,"50546":24018,"50547":24398,"50548":25087,"50549":25892,"50550":27402,"50551":27489,"50552":28753,"50553":28760,"50554":29568,"50555":29924,"50556":30090,"50557":30318,"50558":30316,"50593":31155,"50594":31840,"50595":31839,"50596":32894,"50597":32893,"50598":33247,"50599":35186,"50600":35183,"50601":35324,"50602":35712,"50603":36118,"50604":36119,"50605":36497,"50606":36499,"50607":36705,"50608":37192,"50609":37956,"50610":37969,"50611":37970,"50612":38717,"50613":38718,"50614":38851,"50615":38849,"50616":39019,"50617":39253,"50618":39509,"50619":39501,"50620":39634,"50621":39706,"50622":40009,"50623":39985,"50624":39998,"50625":39995,"50626":40403,"50627":40407,"50628":40756,"50629":40812,"50630":40810,"50631":40852,"50632":22220,"50633":24022,"50634":25088,"50635":25891,"50636":25899,"50637":25898,"50638":26348,"50639":27408,"50640":29914,"50641":31434,"50642":31844,"50643":31843,"50644":31845,"50645":32403,"50646":32406,"50647":32404,"50648":33250,"50649":34360,"50650":34367,"50651":34865,"50652":35722,"50653":37008,"50654":37007,"50655":37987,"50656":37984,"50657":37988,"50658":38760,"50659":39023,"50660":39260,"50661":39514,"50662":39515,"50663":39511,"50664":39635,"50665":39636,"50666":39633,"50667":40020,"50668":40023,"50669":40022,"50670":40421,"50671":40607,"50672":40692,"50673":22225,"50674":22761,"50675":25900,"50676":28766,"50677":30321,"50678":30322,"50679":30679,"50680":32592,"50681":32648,"50682":34870,"50683":34873,"50684":34914,"50685":35731,"50686":35730,"50752":35734,"50753":33399,"50754":36123,"50755":37312,"50756":37994,"50757":38722,"50758":38728,"50759":38724,"50760":38854,"50761":39024,"50762":39519,"50763":39714,"50764":39768,"50765":40031,"50766":40441,"50767":40442,"50768":40572,"50769":40573,"50770":40711,"50771":40823,"50772":40818,"50773":24307,"50774":27414,"50775":28771,"50776":31852,"50777":31854,"50778":34875,"50779":35264,"50780":36513,"50781":37313,"50782":38002,"50783":38000,"50784":39025,"50785":39262,"50786":39638,"50787":39715,"50788":40652,"50789":28772,"50790":30682,"50791":35738,"50792":38007,"50793":38857,"50794":39522,"50795":39525,"50796":32412,"50797":35740,"50798":36522,"50799":37317,"50800":38013,"50801":38014,"50802":38012,"50803":40055,"50804":40056,"50805":40695,"50806":35924,"50807":38015,"50808":40474,"50809":29224,"50810":39530,"50811":39729,"50812":40475,"50813":40478,"50814":31858,"50849":9312,"50850":9313,"50851":9314,"50852":9315,"50853":9316,"50854":9317,"50855":9318,"50856":9319,"50857":9320,"50858":9321,"50859":9332,"50860":9333,"50861":9334,"50862":9335,"50863":9336,"50864":9337,"50865":9338,"50866":9339,"50867":9340,"50868":9341,"50869":8560,"50870":8561,"50871":8562,"50872":8563,"50873":8564,"50874":8565,"50875":8566,"50876":8567,"50877":8568,"50878":8569,"50879":20022,"50880":20031,"50881":20101,"50882":20128,"50883":20866,"50884":20886,"50885":20907,"50886":21241,"50887":21304,"50888":21353,"50889":21430,"50890":22794,"50891":23424,"50892":24027,"50893":24186,"50894":24191,"50895":24308,"50896":24400,"50897":24417,"50898":25908,"50899":26080,"50900":30098,"50901":30326,"50902":36789,"50903":38582,"50904":168,"50905":710,"50906":12541,"50907":12542,"50908":12445,"50909":12446,"50910":12291,"50911":20189,"50912":12293,"50913":12294,"50914":12295,"50915":12540,"50916":65339,"50917":65341,"50918":10045,"50919":12353,"50920":12354,"50921":12355,"50922":12356,"50923":12357,"50924":12358,"50925":12359,"50926":12360,"50927":12361,"50928":12362,"50929":12363,"50930":12364,"50931":12365,"50932":12366,"50933":12367,"50934":12368,"50935":12369,"50936":12370,"50937":12371,"50938":12372,"50939":12373,"50940":12374,"50941":12375,"50942":12376,"51008":12377,"51009":12378,"51010":12379,"51011":12380,"51012":12381,"51013":12382,"51014":12383,"51015":12384,"51016":12385,"51017":12386,"51018":12387,"51019":12388,"51020":12389,"51021":12390,"51022":12391,"51023":12392,"51024":12393,"51025":12394,"51026":12395,"51027":12396,"51028":12397,"51029":12398,"51030":12399,"51031":12400,"51032":12401,"51033":12402,"51034":12403,"51035":12404,"51036":12405,"51037":12406,"51038":12407,"51039":12408,"51040":12409,"51041":12410,"51042":12411,"51043":12412,"51044":12413,"51045":12414,"51046":12415,"51047":12416,"51048":12417,"51049":12418,"51050":12419,"51051":12420,"51052":12421,"51053":12422,"51054":12423,"51055":12424,"51056":12425,"51057":12426,"51058":12427,"51059":12428,"51060":12429,"51061":12430,"51062":12431,"51063":12432,"51064":12433,"51065":12434,"51066":12435,"51067":12449,"51068":12450,"51069":12451,"51070":12452,"51105":12453,"51106":12454,"51107":12455,"51108":12456,"51109":12457,"51110":12458,"51111":12459,"51112":12460,"51113":12461,"51114":12462,"51115":12463,"51116":12464,"51117":12465,"51118":12466,"51119":12467,"51120":12468,"51121":12469,"51122":12470,"51123":12471,"51124":12472,"51125":12473,"51126":12474,"51127":12475,"51128":12476,"51129":12477,"51130":12478,"51131":12479,"51132":12480,"51133":12481,"51134":12482,"51135":12483,"51136":12484,"51137":12485,"51138":12486,"51139":12487,"51140":12488,"51141":12489,"51142":12490,"51143":12491,"51144":12492,"51145":12493,"51146":12494,"51147":12495,"51148":12496,"51149":12497,"51150":12498,"51151":12499,"51152":12500,"51153":12501,"51154":12502,"51155":12503,"51156":12504,"51157":12505,"51158":12506,"51159":12507,"51160":12508,"51161":12509,"51162":12510,"51163":12511,"51164":12512,"51165":12513,"51166":12514,"51167":12515,"51168":12516,"51169":12517,"51170":12518,"51171":12519,"51172":12520,"51173":12521,"51174":12522,"51175":12523,"51176":12524,"51177":12525,"51178":12526,"51179":12527,"51180":12528,"51181":12529,"51182":12530,"51183":12531,"51184":12532,"51185":12533,"51186":12534,"51187":1040,"51188":1041,"51189":1042,"51190":1043,"51191":1044,"51192":1045,"51193":1025,"51194":1046,"51195":1047,"51196":1048,"51197":1049,"51198":1050,"51264":1051,"51265":1052,"51266":1053,"51267":1054,"51268":1055,"51269":1056,"51270":1057,"51271":1058,"51272":1059,"51273":1060,"51274":1061,"51275":1062,"51276":1063,"51277":1064,"51278":1065,"51279":1066,"51280":1067,"51281":1068,"51282":1069,"51283":1070,"51284":1071,"51285":1072,"51286":1073,"51287":1074,"51288":1075,"51289":1076,"51290":1077,"51291":1105,"51292":1078,"51293":1079,"51294":1080,"51295":1081,"51296":1082,"51297":1083,"51298":1084,"51299":1085,"51300":1086,"51301":1087,"51302":1088,"51303":1089,"51304":1090,"51305":1091,"51306":1092,"51307":1093,"51308":1094,"51309":1095,"51310":1096,"51311":1097,"51312":1098,"51313":1099,"51314":1100,"51315":1101,"51316":1102,"51317":1103,"51318":8679,"51319":8632,"51320":8633,"51321":12751,"51322":63462,"51323":20058,"51324":63464,"51325":20994,"51326":17553,"51361":40880,"51362":20872,"51363":40881,"51364":63470,"51365":63471,"51366":63472,"51367":63473,"51368":63474,"51369":63475,"51370":63476,"51371":63477,"51372":63478,"51373":63479,"51374":63480,"51375":63481,"51376":63482,"51377":12443,"51378":12444,"51379":12436,"51380":12535,"51381":12536,"51382":12537,"51383":12538,"51384":12539,"51385":65377,"51386":65378,"51387":65379,"51388":65380,"51389":65381,"51390":65382,"51391":65383,"51392":65384,"51393":65385,"51394":65386,"51395":65387,"51396":65388,"51397":65389,"51398":65390,"51399":65391,"51400":65392,"51401":65393,"51402":65394,"51403":65395,"51404":65396,"51405":65506,"51406":65508,"51407":65287,"51408":65282,"51409":12849,"51410":8470,"51411":8481,"51412":65397,"51413":65398,"51414":65399,"51415":65400,"51416":65401,"51417":65402,"51418":65403,"51419":65404,"51420":65405,"51421":65406,"51422":65407,"51423":65408,"51424":65409,"51425":65410,"51426":65411,"51427":65412,"51428":65413,"51429":65414,"51430":65415,"51431":65416,"51432":65417,"51433":65418,"51434":65419,"51435":65420,"51436":65421,"51437":65422,"51438":65423,"51439":65424,"51440":65425,"51441":65426,"51442":65427,"51443":65428,"51444":65429,"51445":65430,"51446":65431,"51447":65432,"51448":65433,"51449":65434,"51450":65435,"51451":65436,"51452":65437,"51453":65438,"51454":65439,"51520":20034,"51521":20060,"51522":20981,"51523":21274,"51524":21378,"51525":19975,"51526":19980,"51527":20039,"51528":20109,"51529":22231,"51530":64012,"51531":23662,"51532":24435,"51533":19983,"51534":20871,"51535":19982,"51536":20014,"51537":20115,"51538":20162,"51539":20169,"51540":20168,"51541":20888,"51542":21244,"51543":21356,"51544":21433,"51545":22304,"51546":22787,"51547":22828,"51548":23568,"51549":24063,"51550":26081,"51551":27571,"51552":27596,"51553":27668,"51554":29247,"51555":20017,"51556":20028,"51557":20200,"51558":20188,"51559":20201,"51560":20193,"51561":20189,"51562":20186,"51563":21004,"51564":21276,"51565":21324,"51566":22306,"51567":22307,"51568":22807,"51569":22831,"51570":23425,"51571":23428,"51572":23570,"51573":23611,"51574":23668,"51575":23667,"51576":24068,"51577":24192,"51578":24194,"51579":24521,"51580":25097,"51581":25168,"51582":27669,"51617":27702,"51618":27715,"51619":27711,"51620":27707,"51621":29358,"51622":29360,"51623":29578,"51624":31160,"51625":32906,"51626":38430,"51627":20238,"51628":20248,"51629":20268,"51630":20213,"51631":20244,"51632":20209,"51633":20224,"51634":20215,"51635":20232,"51636":20253,"51637":20226,"51638":20229,"51639":20258,"51640":20243,"51641":20228,"51642":20212,"51643":20242,"51644":20913,"51645":21011,"51646":21001,"51647":21008,"51648":21158,"51649":21282,"51650":21279,"51651":21325,"51652":21386,"51653":21511,"51654":22241,"51655":22239,"51656":22318,"51657":22314,"51658":22324,"51659":22844,"51660":22912,"51661":22908,"51662":22917,"51663":22907,"51664":22910,"51665":22903,"51666":22911,"51667":23382,"51668":23573,"51669":23589,"51670":23676,"51671":23674,"51672":23675,"51673":23678,"51674":24031,"51675":24181,"51676":24196,"51677":24322,"51678":24346,"51679":24436,"51680":24533,"51681":24532,"51682":24527,"51683":25180,"51684":25182,"51685":25188,"51686":25185,"51687":25190,"51688":25186,"51689":25177,"51690":25184,"51691":25178,"51692":25189,"51693":26095,"51694":26094,"51695":26430,"51696":26425,"51697":26424,"51698":26427,"51699":26426,"51700":26431,"51701":26428,"51702":26419,"51703":27672,"51704":27718,"51705":27730,"51706":27740,"51707":27727,"51708":27722,"51709":27732,"51710":27723,"51776":27724,"51777":28785,"51778":29278,"51779":29364,"51780":29365,"51781":29582,"51782":29994,"51783":30335,"51784":31349,"51785":32593,"51786":33400,"51787":33404,"51788":33408,"51789":33405,"51790":33407,"51791":34381,"51792":35198,"51793":37017,"51794":37015,"51795":37016,"51796":37019,"51797":37012,"51798":38434,"51799":38436,"51800":38432,"51801":38435,"51802":20310,"51803":20283,"51804":20322,"51805":20297,"51806":20307,"51807":20324,"51808":20286,"51809":20327,"51810":20306,"51811":20319,"51812":20289,"51813":20312,"51814":20269,"51815":20275,"51816":20287,"51817":20321,"51818":20879,"51819":20921,"51820":21020,"51821":21022,"51822":21025,"51823":21165,"51824":21166,"51825":21257,"51826":21347,"51827":21362,"51828":21390,"51829":21391,"51830":21552,"51831":21559,"51832":21546,"51833":21588,"51834":21573,"51835":21529,"51836":21532,"51837":21541,"51838":21528,"51873":21565,"51874":21583,"51875":21569,"51876":21544,"51877":21540,"51878":21575,"51879":22254,"51880":22247,"51881":22245,"51882":22337,"51883":22341,"51884":22348,"51885":22345,"51886":22347,"51887":22354,"51888":22790,"51889":22848,"51890":22950,"51891":22936,"51892":22944,"51893":22935,"51894":22926,"51895":22946,"51896":22928,"51897":22927,"51898":22951,"51899":22945,"51900":23438,"51901":23442,"51902":23592,"51903":23594,"51904":23693,"51905":23695,"51906":23688,"51907":23691,"51908":23689,"51909":23698,"51910":23690,"51911":23686,"51912":23699,"51913":23701,"51914":24032,"51915":24074,"51916":24078,"51917":24203,"51918":24201,"51919":24204,"51920":24200,"51921":24205,"51922":24325,"51923":24349,"51924":24440,"51925":24438,"51926":24530,"51927":24529,"51928":24528,"51929":24557,"51930":24552,"51931":24558,"51932":24563,"51933":24545,"51934":24548,"51935":24547,"51936":24570,"51937":24559,"51938":24567,"51939":24571,"51940":24576,"51941":24564,"51942":25146,"51943":25219,"51944":25228,"51945":25230,"51946":25231,"51947":25236,"51948":25223,"51949":25201,"51950":25211,"51951":25210,"51952":25200,"51953":25217,"51954":25224,"51955":25207,"51956":25213,"51957":25202,"51958":25204,"51959":25911,"51960":26096,"51961":26100,"51962":26099,"51963":26098,"51964":26101,"51965":26437,"51966":26439,"52032":26457,"52033":26453,"52034":26444,"52035":26440,"52036":26461,"52037":26445,"52038":26458,"52039":26443,"52040":27600,"52041":27673,"52042":27674,"52043":27768,"52044":27751,"52045":27755,"52046":27780,"52047":27787,"52048":27791,"52049":27761,"52050":27759,"52051":27753,"52052":27802,"52053":27757,"52054":27783,"52055":27797,"52056":27804,"52057":27750,"52058":27763,"52059":27749,"52060":27771,"52061":27790,"52062":28788,"52063":28794,"52064":29283,"52065":29375,"52066":29373,"52067":29379,"52068":29382,"52069":29377,"52070":29370,"52071":29381,"52072":29589,"52073":29591,"52074":29587,"52075":29588,"52076":29586,"52077":30010,"52078":30009,"52079":30100,"52080":30101,"52081":30337,"52082":31037,"52083":32820,"52084":32917,"52085":32921,"52086":32912,"52087":32914,"52088":32924,"52089":33424,"52090":33423,"52091":33413,"52092":33422,"52093":33425,"52094":33427,"52129":33418,"52130":33411,"52131":33412,"52132":35960,"52133":36809,"52134":36799,"52135":37023,"52136":37025,"52137":37029,"52138":37022,"52139":37031,"52140":37024,"52141":38448,"52142":38440,"52143":38447,"52144":38445,"52145":20019,"52146":20376,"52147":20348,"52148":20357,"52149":20349,"52150":20352,"52151":20359,"52152":20342,"52153":20340,"52154":20361,"52155":20356,"52156":20343,"52157":20300,"52158":20375,"52159":20330,"52160":20378,"52161":20345,"52162":20353,"52163":20344,"52164":20368,"52165":20380,"52166":20372,"52167":20382,"52168":20370,"52169":20354,"52170":20373,"52171":20331,"52172":20334,"52173":20894,"52174":20924,"52175":20926,"52176":21045,"52177":21042,"52178":21043,"52179":21062,"52180":21041,"52181":21180,"52182":21258,"52183":21259,"52184":21308,"52185":21394,"52186":21396,"52187":21639,"52188":21631,"52189":21633,"52190":21649,"52191":21634,"52192":21640,"52193":21611,"52194":21626,"52195":21630,"52196":21605,"52197":21612,"52198":21620,"52199":21606,"52200":21645,"52201":21615,"52202":21601,"52203":21600,"52204":21656,"52205":21603,"52206":21607,"52207":21604,"52208":22263,"52209":22265,"52210":22383,"52211":22386,"52212":22381,"52213":22379,"52214":22385,"52215":22384,"52216":22390,"52217":22400,"52218":22389,"52219":22395,"52220":22387,"52221":22388,"52222":22370,"52288":22376,"52289":22397,"52290":22796,"52291":22853,"52292":22965,"52293":22970,"52294":22991,"52295":22990,"52296":22962,"52297":22988,"52298":22977,"52299":22966,"52300":22972,"52301":22979,"52302":22998,"52303":22961,"52304":22973,"52305":22976,"52306":22984,"52307":22964,"52308":22983,"52309":23394,"52310":23397,"52311":23443,"52312":23445,"52313":23620,"52314":23623,"52315":23726,"52316":23716,"52317":23712,"52318":23733,"52319":23727,"52320":23720,"52321":23724,"52322":23711,"52323":23715,"52324":23725,"52325":23714,"52326":23722,"52327":23719,"52328":23709,"52329":23717,"52330":23734,"52331":23728,"52332":23718,"52333":24087,"52334":24084,"52335":24089,"52336":24360,"52337":24354,"52338":24355,"52339":24356,"52340":24404,"52341":24450,"52342":24446,"52343":24445,"52344":24542,"52345":24549,"52346":24621,"52347":24614,"52348":24601,"52349":24626,"52350":24587,"52385":24628,"52386":24586,"52387":24599,"52388":24627,"52389":24602,"52390":24606,"52391":24620,"52392":24610,"52393":24589,"52394":24592,"52395":24622,"52396":24595,"52397":24593,"52398":24588,"52399":24585,"52400":24604,"52401":25108,"52402":25149,"52403":25261,"52404":25268,"52405":25297,"52406":25278,"52407":25258,"52408":25270,"52409":25290,"52410":25262,"52411":25267,"52412":25263,"52413":25275,"52414":25257,"52415":25264,"52416":25272,"52417":25917,"52418":26024,"52419":26043,"52420":26121,"52421":26108,"52422":26116,"52423":26130,"52424":26120,"52425":26107,"52426":26115,"52427":26123,"52428":26125,"52429":26117,"52430":26109,"52431":26129,"52432":26128,"52433":26358,"52434":26378,"52435":26501,"52436":26476,"52437":26510,"52438":26514,"52439":26486,"52440":26491,"52441":26520,"52442":26502,"52443":26500,"52444":26484,"52445":26509,"52446":26508,"52447":26490,"52448":26527,"52449":26513,"52450":26521,"52451":26499,"52452":26493,"52453":26497,"52454":26488,"52455":26489,"52456":26516,"52457":27429,"52458":27520,"52459":27518,"52460":27614,"52461":27677,"52462":27795,"52463":27884,"52464":27883,"52465":27886,"52466":27865,"52467":27830,"52468":27860,"52469":27821,"52470":27879,"52471":27831,"52472":27856,"52473":27842,"52474":27834,"52475":27843,"52476":27846,"52477":27885,"52478":27890,"52544":27858,"52545":27869,"52546":27828,"52547":27786,"52548":27805,"52549":27776,"52550":27870,"52551":27840,"52552":27952,"52553":27853,"52554":27847,"52555":27824,"52556":27897,"52557":27855,"52558":27881,"52559":27857,"52560":28820,"52561":28824,"52562":28805,"52563":28819,"52564":28806,"52565":28804,"52566":28817,"52567":28822,"52568":28802,"52569":28826,"52570":28803,"52571":29290,"52572":29398,"52573":29387,"52574":29400,"52575":29385,"52576":29404,"52577":29394,"52578":29396,"52579":29402,"52580":29388,"52581":29393,"52582":29604,"52583":29601,"52584":29613,"52585":29606,"52586":29602,"52587":29600,"52588":29612,"52589":29597,"52590":29917,"52591":29928,"52592":30015,"52593":30016,"52594":30014,"52595":30092,"52596":30104,"52597":30383,"52598":30451,"52599":30449,"52600":30448,"52601":30453,"52602":30712,"52603":30716,"52604":30713,"52605":30715,"52606":30714,"52641":30711,"52642":31042,"52643":31039,"52644":31173,"52645":31352,"52646":31355,"52647":31483,"52648":31861,"52649":31997,"52650":32821,"52651":32911,"52652":32942,"52653":32931,"52654":32952,"52655":32949,"52656":32941,"52657":33312,"52658":33440,"52659":33472,"52660":33451,"52661":33434,"52662":33432,"52663":33435,"52664":33461,"52665":33447,"52666":33454,"52667":33468,"52668":33438,"52669":33466,"52670":33460,"52671":33448,"52672":33441,"52673":33449,"52674":33474,"52675":33444,"52676":33475,"52677":33462,"52678":33442,"52679":34416,"52680":34415,"52681":34413,"52682":34414,"52683":35926,"52684":36818,"52685":36811,"52686":36819,"52687":36813,"52688":36822,"52689":36821,"52690":36823,"52691":37042,"52692":37044,"52693":37039,"52694":37043,"52695":37040,"52696":38457,"52697":38461,"52698":38460,"52699":38458,"52700":38467,"52701":20429,"52702":20421,"52703":20435,"52704":20402,"52705":20425,"52706":20427,"52707":20417,"52708":20436,"52709":20444,"52710":20441,"52711":20411,"52712":20403,"52713":20443,"52714":20423,"52715":20438,"52716":20410,"52717":20416,"52718":20409,"52719":20460,"52720":21060,"52721":21065,"52722":21184,"52723":21186,"52724":21309,"52725":21372,"52726":21399,"52727":21398,"52728":21401,"52729":21400,"52730":21690,"52731":21665,"52732":21677,"52733":21669,"52734":21711,"52800":21699,"52801":33549,"52802":21687,"52803":21678,"52804":21718,"52805":21686,"52806":21701,"52807":21702,"52808":21664,"52809":21616,"52810":21692,"52811":21666,"52812":21694,"52813":21618,"52814":21726,"52815":21680,"52816":22453,"52817":22430,"52818":22431,"52819":22436,"52820":22412,"52821":22423,"52822":22429,"52823":22427,"52824":22420,"52825":22424,"52826":22415,"52827":22425,"52828":22437,"52829":22426,"52830":22421,"52831":22772,"52832":22797,"52833":22867,"52834":23009,"52835":23006,"52836":23022,"52837":23040,"52838":23025,"52839":23005,"52840":23034,"52841":23037,"52842":23036,"52843":23030,"52844":23012,"52845":23026,"52846":23031,"52847":23003,"52848":23017,"52849":23027,"52850":23029,"52851":23008,"52852":23038,"52853":23028,"52854":23021,"52855":23464,"52856":23628,"52857":23760,"52858":23768,"52859":23756,"52860":23767,"52861":23755,"52862":23771,"52897":23774,"52898":23770,"52899":23753,"52900":23751,"52901":23754,"52902":23766,"52903":23763,"52904":23764,"52905":23759,"52906":23752,"52907":23750,"52908":23758,"52909":23775,"52910":23800,"52911":24057,"52912":24097,"52913":24098,"52914":24099,"52915":24096,"52916":24100,"52917":24240,"52918":24228,"52919":24226,"52920":24219,"52921":24227,"52922":24229,"52923":24327,"52924":24366,"52925":24406,"52926":24454,"52927":24631,"52928":24633,"52929":24660,"52930":24690,"52931":24670,"52932":24645,"52933":24659,"52934":24647,"52935":24649,"52936":24667,"52937":24652,"52938":24640,"52939":24642,"52940":24671,"52941":24612,"52942":24644,"52943":24664,"52944":24678,"52945":24686,"52946":25154,"52947":25155,"52948":25295,"52949":25357,"52950":25355,"52951":25333,"52952":25358,"52953":25347,"52954":25323,"52955":25337,"52956":25359,"52957":25356,"52958":25336,"52959":25334,"52960":25344,"52961":25363,"52962":25364,"52963":25338,"52964":25365,"52965":25339,"52966":25328,"52967":25921,"52968":25923,"52969":26026,"52970":26047,"52971":26166,"52972":26145,"52973":26162,"52974":26165,"52975":26140,"52976":26150,"52977":26146,"52978":26163,"52979":26155,"52980":26170,"52981":26141,"52982":26164,"52983":26169,"52984":26158,"52985":26383,"52986":26384,"52987":26561,"52988":26610,"52989":26568,"52990":26554,"53056":26588,"53057":26555,"53058":26616,"53059":26584,"53060":26560,"53061":26551,"53062":26565,"53063":26603,"53064":26596,"53065":26591,"53066":26549,"53067":26573,"53068":26547,"53069":26615,"53070":26614,"53071":26606,"53072":26595,"53073":26562,"53074":26553,"53075":26574,"53076":26599,"53077":26608,"53078":26546,"53079":26620,"53080":26566,"53081":26605,"53082":26572,"53083":26542,"53084":26598,"53085":26587,"53086":26618,"53087":26569,"53088":26570,"53089":26563,"53090":26602,"53091":26571,"53092":27432,"53093":27522,"53094":27524,"53095":27574,"53096":27606,"53097":27608,"53098":27616,"53099":27680,"53100":27681,"53101":27944,"53102":27956,"53103":27949,"53104":27935,"53105":27964,"53106":27967,"53107":27922,"53108":27914,"53109":27866,"53110":27955,"53111":27908,"53112":27929,"53113":27962,"53114":27930,"53115":27921,"53116":27904,"53117":27933,"53118":27970,"53153":27905,"53154":27928,"53155":27959,"53156":27907,"53157":27919,"53158":27968,"53159":27911,"53160":27936,"53161":27948,"53162":27912,"53163":27938,"53164":27913,"53165":27920,"53166":28855,"53167":28831,"53168":28862,"53169":28849,"53170":28848,"53171":28833,"53172":28852,"53173":28853,"53174":28841,"53175":29249,"53176":29257,"53177":29258,"53178":29292,"53179":29296,"53180":29299,"53181":29294,"53182":29386,"53183":29412,"53184":29416,"53185":29419,"53186":29407,"53187":29418,"53188":29414,"53189":29411,"53190":29573,"53191":29644,"53192":29634,"53193":29640,"53194":29637,"53195":29625,"53196":29622,"53197":29621,"53198":29620,"53199":29675,"53200":29631,"53201":29639,"53202":29630,"53203":29635,"53204":29638,"53205":29624,"53206":29643,"53207":29932,"53208":29934,"53209":29998,"53210":30023,"53211":30024,"53212":30119,"53213":30122,"53214":30329,"53215":30404,"53216":30472,"53217":30467,"53218":30468,"53219":30469,"53220":30474,"53221":30455,"53222":30459,"53223":30458,"53224":30695,"53225":30696,"53226":30726,"53227":30737,"53228":30738,"53229":30725,"53230":30736,"53231":30735,"53232":30734,"53233":30729,"53234":30723,"53235":30739,"53236":31050,"53237":31052,"53238":31051,"53239":31045,"53240":31044,"53241":31189,"53242":31181,"53243":31183,"53244":31190,"53245":31182,"53246":31360,"53312":31358,"53313":31441,"53314":31488,"53315":31489,"53316":31866,"53317":31864,"53318":31865,"53319":31871,"53320":31872,"53321":31873,"53322":32003,"53323":32008,"53324":32001,"53325":32600,"53326":32657,"53327":32653,"53328":32702,"53329":32775,"53330":32782,"53331":32783,"53332":32788,"53333":32823,"53334":32984,"53335":32967,"53336":32992,"53337":32977,"53338":32968,"53339":32962,"53340":32976,"53341":32965,"53342":32995,"53343":32985,"53344":32988,"53345":32970,"53346":32981,"53347":32969,"53348":32975,"53349":32983,"53350":32998,"53351":32973,"53352":33279,"53353":33313,"53354":33428,"53355":33497,"53356":33534,"53357":33529,"53358":33543,"53359":33512,"53360":33536,"53361":33493,"53362":33594,"53363":33515,"53364":33494,"53365":33524,"53366":33516,"53367":33505,"53368":33522,"53369":33525,"53370":33548,"53371":33531,"53372":33526,"53373":33520,"53374":33514,"53409":33508,"53410":33504,"53411":33530,"53412":33523,"53413":33517,"53414":34423,"53415":34420,"53416":34428,"53417":34419,"53418":34881,"53419":34894,"53420":34919,"53421":34922,"53422":34921,"53423":35283,"53424":35332,"53425":35335,"53426":36210,"53427":36835,"53428":36833,"53429":36846,"53430":36832,"53431":37105,"53432":37053,"53433":37055,"53434":37077,"53435":37061,"53436":37054,"53437":37063,"53438":37067,"53439":37064,"53440":37332,"53441":37331,"53442":38484,"53443":38479,"53444":38481,"53445":38483,"53446":38474,"53447":38478,"53448":20510,"53449":20485,"53450":20487,"53451":20499,"53452":20514,"53453":20528,"53454":20507,"53455":20469,"53456":20468,"53457":20531,"53458":20535,"53459":20524,"53460":20470,"53461":20471,"53462":20503,"53463":20508,"53464":20512,"53465":20519,"53466":20533,"53467":20527,"53468":20529,"53469":20494,"53470":20826,"53471":20884,"53472":20883,"53473":20938,"53474":20932,"53475":20933,"53476":20936,"53477":20942,"53478":21089,"53479":21082,"53480":21074,"53481":21086,"53482":21087,"53483":21077,"53484":21090,"53485":21197,"53486":21262,"53487":21406,"53488":21798,"53489":21730,"53490":21783,"53491":21778,"53492":21735,"53493":21747,"53494":21732,"53495":21786,"53496":21759,"53497":21764,"53498":21768,"53499":21739,"53500":21777,"53501":21765,"53502":21745,"53568":21770,"53569":21755,"53570":21751,"53571":21752,"53572":21728,"53573":21774,"53574":21763,"53575":21771,"53576":22273,"53577":22274,"53578":22476,"53579":22578,"53580":22485,"53581":22482,"53582":22458,"53583":22470,"53584":22461,"53585":22460,"53586":22456,"53587":22454,"53588":22463,"53589":22471,"53590":22480,"53591":22457,"53592":22465,"53593":22798,"53594":22858,"53595":23065,"53596":23062,"53597":23085,"53598":23086,"53599":23061,"53600":23055,"53601":23063,"53602":23050,"53603":23070,"53604":23091,"53605":23404,"53606":23463,"53607":23469,"53608":23468,"53609":23555,"53610":23638,"53611":23636,"53612":23788,"53613":23807,"53614":23790,"53615":23793,"53616":23799,"53617":23808,"53618":23801,"53619":24105,"53620":24104,"53621":24232,"53622":24238,"53623":24234,"53624":24236,"53625":24371,"53626":24368,"53627":24423,"53628":24669,"53629":24666,"53630":24679,"53665":24641,"53666":24738,"53667":24712,"53668":24704,"53669":24722,"53670":24705,"53671":24733,"53672":24707,"53673":24725,"53674":24731,"53675":24727,"53676":24711,"53677":24732,"53678":24718,"53679":25113,"53680":25158,"53681":25330,"53682":25360,"53683":25430,"53684":25388,"53685":25412,"53686":25413,"53687":25398,"53688":25411,"53689":25572,"53690":25401,"53691":25419,"53692":25418,"53693":25404,"53694":25385,"53695":25409,"53696":25396,"53697":25432,"53698":25428,"53699":25433,"53700":25389,"53701":25415,"53702":25395,"53703":25434,"53704":25425,"53705":25400,"53706":25431,"53707":25408,"53708":25416,"53709":25930,"53710":25926,"53711":26054,"53712":26051,"53713":26052,"53714":26050,"53715":26186,"53716":26207,"53717":26183,"53718":26193,"53719":26386,"53720":26387,"53721":26655,"53722":26650,"53723":26697,"53724":26674,"53725":26675,"53726":26683,"53727":26699,"53728":26703,"53729":26646,"53730":26673,"53731":26652,"53732":26677,"53733":26667,"53734":26669,"53735":26671,"53736":26702,"53737":26692,"53738":26676,"53739":26653,"53740":26642,"53741":26644,"53742":26662,"53743":26664,"53744":26670,"53745":26701,"53746":26682,"53747":26661,"53748":26656,"53749":27436,"53750":27439,"53751":27437,"53752":27441,"53753":27444,"53754":27501,"53755":32898,"53756":27528,"53757":27622,"53758":27620,"53824":27624,"53825":27619,"53826":27618,"53827":27623,"53828":27685,"53829":28026,"53830":28003,"53831":28004,"53832":28022,"53833":27917,"53834":28001,"53835":28050,"53836":27992,"53837":28002,"53838":28013,"53839":28015,"53840":28049,"53841":28045,"53842":28143,"53843":28031,"53844":28038,"53845":27998,"53846":28007,"53847":28000,"53848":28055,"53849":28016,"53850":28028,"53851":27999,"53852":28034,"53853":28056,"53854":27951,"53855":28008,"53856":28043,"53857":28030,"53858":28032,"53859":28036,"53860":27926,"53861":28035,"53862":28027,"53863":28029,"53864":28021,"53865":28048,"53866":28892,"53867":28883,"53868":28881,"53869":28893,"53870":28875,"53871":32569,"53872":28898,"53873":28887,"53874":28882,"53875":28894,"53876":28896,"53877":28884,"53878":28877,"53879":28869,"53880":28870,"53881":28871,"53882":28890,"53883":28878,"53884":28897,"53885":29250,"53886":29304,"53921":29303,"53922":29302,"53923":29440,"53924":29434,"53925":29428,"53926":29438,"53927":29430,"53928":29427,"53929":29435,"53930":29441,"53931":29651,"53932":29657,"53933":29669,"53934":29654,"53935":29628,"53936":29671,"53937":29667,"53938":29673,"53939":29660,"53940":29650,"53941":29659,"53942":29652,"53943":29661,"53944":29658,"53945":29655,"53946":29656,"53947":29672,"53948":29918,"53949":29919,"53950":29940,"53951":29941,"53952":29985,"53953":30043,"53954":30047,"53955":30128,"53956":30145,"53957":30139,"53958":30148,"53959":30144,"53960":30143,"53961":30134,"53962":30138,"53963":30346,"53964":30409,"53965":30493,"53966":30491,"53967":30480,"53968":30483,"53969":30482,"53970":30499,"53971":30481,"53972":30485,"53973":30489,"53974":30490,"53975":30498,"53976":30503,"53977":30755,"53978":30764,"53979":30754,"53980":30773,"53981":30767,"53982":30760,"53983":30766,"53984":30763,"53985":30753,"53986":30761,"53987":30771,"53988":30762,"53989":30769,"53990":31060,"53991":31067,"53992":31055,"53993":31068,"53994":31059,"53995":31058,"53996":31057,"53997":31211,"53998":31212,"53999":31200,"54000":31214,"54001":31213,"54002":31210,"54003":31196,"54004":31198,"54005":31197,"54006":31366,"54007":31369,"54008":31365,"54009":31371,"54010":31372,"54011":31370,"54012":31367,"54013":31448,"54014":31504,"54080":31492,"54081":31507,"54082":31493,"54083":31503,"54084":31496,"54085":31498,"54086":31502,"54087":31497,"54088":31506,"54089":31876,"54090":31889,"54091":31882,"54092":31884,"54093":31880,"54094":31885,"54095":31877,"54096":32030,"54097":32029,"54098":32017,"54099":32014,"54100":32024,"54101":32022,"54102":32019,"54103":32031,"54104":32018,"54105":32015,"54106":32012,"54107":32604,"54108":32609,"54109":32606,"54110":32608,"54111":32605,"54112":32603,"54113":32662,"54114":32658,"54115":32707,"54116":32706,"54117":32704,"54118":32790,"54119":32830,"54120":32825,"54121":33018,"54122":33010,"54123":33017,"54124":33013,"54125":33025,"54126":33019,"54127":33024,"54128":33281,"54129":33327,"54130":33317,"54131":33587,"54132":33581,"54133":33604,"54134":33561,"54135":33617,"54136":33573,"54137":33622,"54138":33599,"54139":33601,"54140":33574,"54141":33564,"54142":33570,"54177":33602,"54178":33614,"54179":33563,"54180":33578,"54181":33544,"54182":33596,"54183":33613,"54184":33558,"54185":33572,"54186":33568,"54187":33591,"54188":33583,"54189":33577,"54190":33607,"54191":33605,"54192":33612,"54193":33619,"54194":33566,"54195":33580,"54196":33611,"54197":33575,"54198":33608,"54199":34387,"54200":34386,"54201":34466,"54202":34472,"54203":34454,"54204":34445,"54205":34449,"54206":34462,"54207":34439,"54208":34455,"54209":34438,"54210":34443,"54211":34458,"54212":34437,"54213":34469,"54214":34457,"54215":34465,"54216":34471,"54217":34453,"54218":34456,"54219":34446,"54220":34461,"54221":34448,"54222":34452,"54223":34883,"54224":34884,"54225":34925,"54226":34933,"54227":34934,"54228":34930,"54229":34944,"54230":34929,"54231":34943,"54232":34927,"54233":34947,"54234":34942,"54235":34932,"54236":34940,"54237":35346,"54238":35911,"54239":35927,"54240":35963,"54241":36004,"54242":36003,"54243":36214,"54244":36216,"54245":36277,"54246":36279,"54247":36278,"54248":36561,"54249":36563,"54250":36862,"54251":36853,"54252":36866,"54253":36863,"54254":36859,"54255":36868,"54256":36860,"54257":36854,"54258":37078,"54259":37088,"54260":37081,"54261":37082,"54262":37091,"54263":37087,"54264":37093,"54265":37080,"54266":37083,"54267":37079,"54268":37084,"54269":37092,"54270":37200,"54336":37198,"54337":37199,"54338":37333,"54339":37346,"54340":37338,"54341":38492,"54342":38495,"54343":38588,"54344":39139,"54345":39647,"54346":39727,"54347":20095,"54348":20592,"54349":20586,"54350":20577,"54351":20574,"54352":20576,"54353":20563,"54354":20555,"54355":20573,"54356":20594,"54357":20552,"54358":20557,"54359":20545,"54360":20571,"54361":20554,"54362":20578,"54363":20501,"54364":20549,"54365":20575,"54366":20585,"54367":20587,"54368":20579,"54369":20580,"54370":20550,"54371":20544,"54372":20590,"54373":20595,"54374":20567,"54375":20561,"54376":20944,"54377":21099,"54378":21101,"54379":21100,"54380":21102,"54381":21206,"54382":21203,"54383":21293,"54384":21404,"54385":21877,"54386":21878,"54387":21820,"54388":21837,"54389":21840,"54390":21812,"54391":21802,"54392":21841,"54393":21858,"54394":21814,"54395":21813,"54396":21808,"54397":21842,"54398":21829,"54433":21772,"54434":21810,"54435":21861,"54436":21838,"54437":21817,"54438":21832,"54439":21805,"54440":21819,"54441":21824,"54442":21835,"54443":22282,"54444":22279,"54445":22523,"54446":22548,"54447":22498,"54448":22518,"54449":22492,"54450":22516,"54451":22528,"54452":22509,"54453":22525,"54454":22536,"54455":22520,"54456":22539,"54457":22515,"54458":22479,"54459":22535,"54460":22510,"54461":22499,"54462":22514,"54463":22501,"54464":22508,"54465":22497,"54466":22542,"54467":22524,"54468":22544,"54469":22503,"54470":22529,"54471":22540,"54472":22513,"54473":22505,"54474":22512,"54475":22541,"54476":22532,"54477":22876,"54478":23136,"54479":23128,"54480":23125,"54481":23143,"54482":23134,"54483":23096,"54484":23093,"54485":23149,"54486":23120,"54487":23135,"54488":23141,"54489":23148,"54490":23123,"54491":23140,"54492":23127,"54493":23107,"54494":23133,"54495":23122,"54496":23108,"54497":23131,"54498":23112,"54499":23182,"54500":23102,"54501":23117,"54502":23097,"54503":23116,"54504":23152,"54505":23145,"54506":23111,"54507":23121,"54508":23126,"54509":23106,"54510":23132,"54511":23410,"54512":23406,"54513":23489,"54514":23488,"54515":23641,"54516":23838,"54517":23819,"54518":23837,"54519":23834,"54520":23840,"54521":23820,"54522":23848,"54523":23821,"54524":23846,"54525":23845,"54526":23823,"54592":23856,"54593":23826,"54594":23843,"54595":23839,"54596":23854,"54597":24126,"54598":24116,"54599":24241,"54600":24244,"54601":24249,"54602":24242,"54603":24243,"54604":24374,"54605":24376,"54606":24475,"54607":24470,"54608":24479,"54609":24714,"54610":24720,"54611":24710,"54612":24766,"54613":24752,"54614":24762,"54615":24787,"54616":24788,"54617":24783,"54618":24804,"54619":24793,"54620":24797,"54621":24776,"54622":24753,"54623":24795,"54624":24759,"54625":24778,"54626":24767,"54627":24771,"54628":24781,"54629":24768,"54630":25394,"54631":25445,"54632":25482,"54633":25474,"54634":25469,"54635":25533,"54636":25502,"54637":25517,"54638":25501,"54639":25495,"54640":25515,"54641":25486,"54642":25455,"54643":25479,"54644":25488,"54645":25454,"54646":25519,"54647":25461,"54648":25500,"54649":25453,"54650":25518,"54651":25468,"54652":25508,"54653":25403,"54654":25503,"54689":25464,"54690":25477,"54691":25473,"54692":25489,"54693":25485,"54694":25456,"54695":25939,"54696":26061,"54697":26213,"54698":26209,"54699":26203,"54700":26201,"54701":26204,"54702":26210,"54703":26392,"54704":26745,"54705":26759,"54706":26768,"54707":26780,"54708":26733,"54709":26734,"54710":26798,"54711":26795,"54712":26966,"54713":26735,"54714":26787,"54715":26796,"54716":26793,"54717":26741,"54718":26740,"54719":26802,"54720":26767,"54721":26743,"54722":26770,"54723":26748,"54724":26731,"54725":26738,"54726":26794,"54727":26752,"54728":26737,"54729":26750,"54730":26779,"54731":26774,"54732":26763,"54733":26784,"54734":26761,"54735":26788,"54736":26744,"54737":26747,"54738":26769,"54739":26764,"54740":26762,"54741":26749,"54742":27446,"54743":27443,"54744":27447,"54745":27448,"54746":27537,"54747":27535,"54748":27533,"54749":27534,"54750":27532,"54751":27690,"54752":28096,"54753":28075,"54754":28084,"54755":28083,"54756":28276,"54757":28076,"54758":28137,"54759":28130,"54760":28087,"54761":28150,"54762":28116,"54763":28160,"54764":28104,"54765":28128,"54766":28127,"54767":28118,"54768":28094,"54769":28133,"54770":28124,"54771":28125,"54772":28123,"54773":28148,"54774":28106,"54775":28093,"54776":28141,"54777":28144,"54778":28090,"54779":28117,"54780":28098,"54781":28111,"54782":28105,"54848":28112,"54849":28146,"54850":28115,"54851":28157,"54852":28119,"54853":28109,"54854":28131,"54855":28091,"54856":28922,"54857":28941,"54858":28919,"54859":28951,"54860":28916,"54861":28940,"54862":28912,"54863":28932,"54864":28915,"54865":28944,"54866":28924,"54867":28927,"54868":28934,"54869":28947,"54870":28928,"54871":28920,"54872":28918,"54873":28939,"54874":28930,"54875":28942,"54876":29310,"54877":29307,"54878":29308,"54879":29311,"54880":29469,"54881":29463,"54882":29447,"54883":29457,"54884":29464,"54885":29450,"54886":29448,"54887":29439,"54888":29455,"54889":29470,"54890":29576,"54891":29686,"54892":29688,"54893":29685,"54894":29700,"54895":29697,"54896":29693,"54897":29703,"54898":29696,"54899":29690,"54900":29692,"54901":29695,"54902":29708,"54903":29707,"54904":29684,"54905":29704,"54906":30052,"54907":30051,"54908":30158,"54909":30162,"54910":30159,"54945":30155,"54946":30156,"54947":30161,"54948":30160,"54949":30351,"54950":30345,"54951":30419,"54952":30521,"54953":30511,"54954":30509,"54955":30513,"54956":30514,"54957":30516,"54958":30515,"54959":30525,"54960":30501,"54961":30523,"54962":30517,"54963":30792,"54964":30802,"54965":30793,"54966":30797,"54967":30794,"54968":30796,"54969":30758,"54970":30789,"54971":30800,"54972":31076,"54973":31079,"54974":31081,"54975":31082,"54976":31075,"54977":31083,"54978":31073,"54979":31163,"54980":31226,"54981":31224,"54982":31222,"54983":31223,"54984":31375,"54985":31380,"54986":31376,"54987":31541,"54988":31559,"54989":31540,"54990":31525,"54991":31536,"54992":31522,"54993":31524,"54994":31539,"54995":31512,"54996":31530,"54997":31517,"54998":31537,"54999":31531,"55000":31533,"55001":31535,"55002":31538,"55003":31544,"55004":31514,"55005":31523,"55006":31892,"55007":31896,"55008":31894,"55009":31907,"55010":32053,"55011":32061,"55012":32056,"55013":32054,"55014":32058,"55015":32069,"55016":32044,"55017":32041,"55018":32065,"55019":32071,"55020":32062,"55021":32063,"55022":32074,"55023":32059,"55024":32040,"55025":32611,"55026":32661,"55027":32668,"55028":32669,"55029":32667,"55030":32714,"55031":32715,"55032":32717,"55033":32720,"55034":32721,"55035":32711,"55036":32719,"55037":32713,"55038":32799,"55104":32798,"55105":32795,"55106":32839,"55107":32835,"55108":32840,"55109":33048,"55110":33061,"55111":33049,"55112":33051,"55113":33069,"55114":33055,"55115":33068,"55116":33054,"55117":33057,"55118":33045,"55119":33063,"55120":33053,"55121":33058,"55122":33297,"55123":33336,"55124":33331,"55125":33338,"55126":33332,"55127":33330,"55128":33396,"55129":33680,"55130":33699,"55131":33704,"55132":33677,"55133":33658,"55134":33651,"55135":33700,"55136":33652,"55137":33679,"55138":33665,"55139":33685,"55140":33689,"55141":33653,"55142":33684,"55143":33705,"55144":33661,"55145":33667,"55146":33676,"55147":33693,"55148":33691,"55149":33706,"55150":33675,"55151":33662,"55152":33701,"55153":33711,"55154":33672,"55155":33687,"55156":33712,"55157":33663,"55158":33702,"55159":33671,"55160":33710,"55161":33654,"55162":33690,"55163":34393,"55164":34390,"55165":34495,"55166":34487,"55201":34498,"55202":34497,"55203":34501,"55204":34490,"55205":34480,"55206":34504,"55207":34489,"55208":34483,"55209":34488,"55210":34508,"55211":34484,"55212":34491,"55213":34492,"55214":34499,"55215":34493,"55216":34494,"55217":34898,"55218":34953,"55219":34965,"55220":34984,"55221":34978,"55222":34986,"55223":34970,"55224":34961,"55225":34977,"55226":34975,"55227":34968,"55228":34983,"55229":34969,"55230":34971,"55231":34967,"55232":34980,"55233":34988,"55234":34956,"55235":34963,"55236":34958,"55237":35202,"55238":35286,"55239":35289,"55240":35285,"55241":35376,"55242":35367,"55243":35372,"55244":35358,"55245":35897,"55246":35899,"55247":35932,"55248":35933,"55249":35965,"55250":36005,"55251":36221,"55252":36219,"55253":36217,"55254":36284,"55255":36290,"55256":36281,"55257":36287,"55258":36289,"55259":36568,"55260":36574,"55261":36573,"55262":36572,"55263":36567,"55264":36576,"55265":36577,"55266":36900,"55267":36875,"55268":36881,"55269":36892,"55270":36876,"55271":36897,"55272":37103,"55273":37098,"55274":37104,"55275":37108,"55276":37106,"55277":37107,"55278":37076,"55279":37099,"55280":37100,"55281":37097,"55282":37206,"55283":37208,"55284":37210,"55285":37203,"55286":37205,"55287":37356,"55288":37364,"55289":37361,"55290":37363,"55291":37368,"55292":37348,"55293":37369,"55294":37354,"55360":37355,"55361":37367,"55362":37352,"55363":37358,"55364":38266,"55365":38278,"55366":38280,"55367":38524,"55368":38509,"55369":38507,"55370":38513,"55371":38511,"55372":38591,"55373":38762,"55374":38916,"55375":39141,"55376":39319,"55377":20635,"55378":20629,"55379":20628,"55380":20638,"55381":20619,"55382":20643,"55383":20611,"55384":20620,"55385":20622,"55386":20637,"55387":20584,"55388":20636,"55389":20626,"55390":20610,"55391":20615,"55392":20831,"55393":20948,"55394":21266,"55395":21265,"55396":21412,"55397":21415,"55398":21905,"55399":21928,"55400":21925,"55401":21933,"55402":21879,"55403":22085,"55404":21922,"55405":21907,"55406":21896,"55407":21903,"55408":21941,"55409":21889,"55410":21923,"55411":21906,"55412":21924,"55413":21885,"55414":21900,"55415":21926,"55416":21887,"55417":21909,"55418":21921,"55419":21902,"55420":22284,"55421":22569,"55422":22583,"55457":22553,"55458":22558,"55459":22567,"55460":22563,"55461":22568,"55462":22517,"55463":22600,"55464":22565,"55465":22556,"55466":22555,"55467":22579,"55468":22591,"55469":22582,"55470":22574,"55471":22585,"55472":22584,"55473":22573,"55474":22572,"55475":22587,"55476":22881,"55477":23215,"55478":23188,"55479":23199,"55480":23162,"55481":23202,"55482":23198,"55483":23160,"55484":23206,"55485":23164,"55486":23205,"55487":23212,"55488":23189,"55489":23214,"55490":23095,"55491":23172,"55492":23178,"55493":23191,"55494":23171,"55495":23179,"55496":23209,"55497":23163,"55498":23165,"55499":23180,"55500":23196,"55501":23183,"55502":23187,"55503":23197,"55504":23530,"55505":23501,"55506":23499,"55507":23508,"55508":23505,"55509":23498,"55510":23502,"55511":23564,"55512":23600,"55513":23863,"55514":23875,"55515":23915,"55516":23873,"55517":23883,"55518":23871,"55519":23861,"55520":23889,"55521":23886,"55522":23893,"55523":23859,"55524":23866,"55525":23890,"55526":23869,"55527":23857,"55528":23897,"55529":23874,"55530":23865,"55531":23881,"55532":23864,"55533":23868,"55534":23858,"55535":23862,"55536":23872,"55537":23877,"55538":24132,"55539":24129,"55540":24408,"55541":24486,"55542":24485,"55543":24491,"55544":24777,"55545":24761,"55546":24780,"55547":24802,"55548":24782,"55549":24772,"55550":24852,"55616":24818,"55617":24842,"55618":24854,"55619":24837,"55620":24821,"55621":24851,"55622":24824,"55623":24828,"55624":24830,"55625":24769,"55626":24835,"55627":24856,"55628":24861,"55629":24848,"55630":24831,"55631":24836,"55632":24843,"55633":25162,"55634":25492,"55635":25521,"55636":25520,"55637":25550,"55638":25573,"55639":25576,"55640":25583,"55641":25539,"55642":25757,"55643":25587,"55644":25546,"55645":25568,"55646":25590,"55647":25557,"55648":25586,"55649":25589,"55650":25697,"55651":25567,"55652":25534,"55653":25565,"55654":25564,"55655":25540,"55656":25560,"55657":25555,"55658":25538,"55659":25543,"55660":25548,"55661":25547,"55662":25544,"55663":25584,"55664":25559,"55665":25561,"55666":25906,"55667":25959,"55668":25962,"55669":25956,"55670":25948,"55671":25960,"55672":25957,"55673":25996,"55674":26013,"55675":26014,"55676":26030,"55677":26064,"55678":26066,"55713":26236,"55714":26220,"55715":26235,"55716":26240,"55717":26225,"55718":26233,"55719":26218,"55720":26226,"55721":26369,"55722":26892,"55723":26835,"55724":26884,"55725":26844,"55726":26922,"55727":26860,"55728":26858,"55729":26865,"55730":26895,"55731":26838,"55732":26871,"55733":26859,"55734":26852,"55735":26870,"55736":26899,"55737":26896,"55738":26867,"55739":26849,"55740":26887,"55741":26828,"55742":26888,"55743":26992,"55744":26804,"55745":26897,"55746":26863,"55747":26822,"55748":26900,"55749":26872,"55750":26832,"55751":26877,"55752":26876,"55753":26856,"55754":26891,"55755":26890,"55756":26903,"55757":26830,"55758":26824,"55759":26845,"55760":26846,"55761":26854,"55762":26868,"55763":26833,"55764":26886,"55765":26836,"55766":26857,"55767":26901,"55768":26917,"55769":26823,"55770":27449,"55771":27451,"55772":27455,"55773":27452,"55774":27540,"55775":27543,"55776":27545,"55777":27541,"55778":27581,"55779":27632,"55780":27634,"55781":27635,"55782":27696,"55783":28156,"55784":28230,"55785":28231,"55786":28191,"55787":28233,"55788":28296,"55789":28220,"55790":28221,"55791":28229,"55792":28258,"55793":28203,"55794":28223,"55795":28225,"55796":28253,"55797":28275,"55798":28188,"55799":28211,"55800":28235,"55801":28224,"55802":28241,"55803":28219,"55804":28163,"55805":28206,"55806":28254,"55872":28264,"55873":28252,"55874":28257,"55875":28209,"55876":28200,"55877":28256,"55878":28273,"55879":28267,"55880":28217,"55881":28194,"55882":28208,"55883":28243,"55884":28261,"55885":28199,"55886":28280,"55887":28260,"55888":28279,"55889":28245,"55890":28281,"55891":28242,"55892":28262,"55893":28213,"55894":28214,"55895":28250,"55896":28960,"55897":28958,"55898":28975,"55899":28923,"55900":28974,"55901":28977,"55902":28963,"55903":28965,"55904":28962,"55905":28978,"55906":28959,"55907":28968,"55908":28986,"55909":28955,"55910":29259,"55911":29274,"55912":29320,"55913":29321,"55914":29318,"55915":29317,"55916":29323,"55917":29458,"55918":29451,"55919":29488,"55920":29474,"55921":29489,"55922":29491,"55923":29479,"55924":29490,"55925":29485,"55926":29478,"55927":29475,"55928":29493,"55929":29452,"55930":29742,"55931":29740,"55932":29744,"55933":29739,"55934":29718,"55969":29722,"55970":29729,"55971":29741,"55972":29745,"55973":29732,"55974":29731,"55975":29725,"55976":29737,"55977":29728,"55978":29746,"55979":29947,"55980":29999,"55981":30063,"55982":30060,"55983":30183,"55984":30170,"55985":30177,"55986":30182,"55987":30173,"55988":30175,"55989":30180,"55990":30167,"55991":30357,"55992":30354,"55993":30426,"55994":30534,"55995":30535,"55996":30532,"55997":30541,"55998":30533,"55999":30538,"56000":30542,"56001":30539,"56002":30540,"56003":30686,"56004":30700,"56005":30816,"56006":30820,"56007":30821,"56008":30812,"56009":30829,"56010":30833,"56011":30826,"56012":30830,"56013":30832,"56014":30825,"56015":30824,"56016":30814,"56017":30818,"56018":31092,"56019":31091,"56020":31090,"56021":31088,"56022":31234,"56023":31242,"56024":31235,"56025":31244,"56026":31236,"56027":31385,"56028":31462,"56029":31460,"56030":31562,"56031":31547,"56032":31556,"56033":31560,"56034":31564,"56035":31566,"56036":31552,"56037":31576,"56038":31557,"56039":31906,"56040":31902,"56041":31912,"56042":31905,"56043":32088,"56044":32111,"56045":32099,"56046":32083,"56047":32086,"56048":32103,"56049":32106,"56050":32079,"56051":32109,"56052":32092,"56053":32107,"56054":32082,"56055":32084,"56056":32105,"56057":32081,"56058":32095,"56059":32078,"56060":32574,"56061":32575,"56062":32613,"56128":32614,"56129":32674,"56130":32672,"56131":32673,"56132":32727,"56133":32849,"56134":32847,"56135":32848,"56136":33022,"56137":32980,"56138":33091,"56139":33098,"56140":33106,"56141":33103,"56142":33095,"56143":33085,"56144":33101,"56145":33082,"56146":33254,"56147":33262,"56148":33271,"56149":33272,"56150":33273,"56151":33284,"56152":33340,"56153":33341,"56154":33343,"56155":33397,"56156":33595,"56157":33743,"56158":33785,"56159":33827,"56160":33728,"56161":33768,"56162":33810,"56163":33767,"56164":33764,"56165":33788,"56166":33782,"56167":33808,"56168":33734,"56169":33736,"56170":33771,"56171":33763,"56172":33727,"56173":33793,"56174":33757,"56175":33765,"56176":33752,"56177":33791,"56178":33761,"56179":33739,"56180":33742,"56181":33750,"56182":33781,"56183":33737,"56184":33801,"56185":33807,"56186":33758,"56187":33809,"56188":33798,"56189":33730,"56190":33779,"56225":33749,"56226":33786,"56227":33735,"56228":33745,"56229":33770,"56230":33811,"56231":33731,"56232":33772,"56233":33774,"56234":33732,"56235":33787,"56236":33751,"56237":33762,"56238":33819,"56239":33755,"56240":33790,"56241":34520,"56242":34530,"56243":34534,"56244":34515,"56245":34531,"56246":34522,"56247":34538,"56248":34525,"56249":34539,"56250":34524,"56251":34540,"56252":34537,"56253":34519,"56254":34536,"56255":34513,"56256":34888,"56257":34902,"56258":34901,"56259":35002,"56260":35031,"56261":35001,"56262":35000,"56263":35008,"56264":35006,"56265":34998,"56266":35004,"56267":34999,"56268":35005,"56269":34994,"56270":35073,"56271":35017,"56272":35221,"56273":35224,"56274":35223,"56275":35293,"56276":35290,"56277":35291,"56278":35406,"56279":35405,"56280":35385,"56281":35417,"56282":35392,"56283":35415,"56284":35416,"56285":35396,"56286":35397,"56287":35410,"56288":35400,"56289":35409,"56290":35402,"56291":35404,"56292":35407,"56293":35935,"56294":35969,"56295":35968,"56296":36026,"56297":36030,"56298":36016,"56299":36025,"56300":36021,"56301":36228,"56302":36224,"56303":36233,"56304":36312,"56305":36307,"56306":36301,"56307":36295,"56308":36310,"56309":36316,"56310":36303,"56311":36309,"56312":36313,"56313":36296,"56314":36311,"56315":36293,"56316":36591,"56317":36599,"56318":36602,"56384":36601,"56385":36582,"56386":36590,"56387":36581,"56388":36597,"56389":36583,"56390":36584,"56391":36598,"56392":36587,"56393":36593,"56394":36588,"56395":36596,"56396":36585,"56397":36909,"56398":36916,"56399":36911,"56400":37126,"56401":37164,"56402":37124,"56403":37119,"56404":37116,"56405":37128,"56406":37113,"56407":37115,"56408":37121,"56409":37120,"56410":37127,"56411":37125,"56412":37123,"56413":37217,"56414":37220,"56415":37215,"56416":37218,"56417":37216,"56418":37377,"56419":37386,"56420":37413,"56421":37379,"56422":37402,"56423":37414,"56424":37391,"56425":37388,"56426":37376,"56427":37394,"56428":37375,"56429":37373,"56430":37382,"56431":37380,"56432":37415,"56433":37378,"56434":37404,"56435":37412,"56436":37401,"56437":37399,"56438":37381,"56439":37398,"56440":38267,"56441":38285,"56442":38284,"56443":38288,"56444":38535,"56445":38526,"56446":38536,"56481":38537,"56482":38531,"56483":38528,"56484":38594,"56485":38600,"56486":38595,"56487":38641,"56488":38640,"56489":38764,"56490":38768,"56491":38766,"56492":38919,"56493":39081,"56494":39147,"56495":40166,"56496":40697,"56497":20099,"56498":20100,"56499":20150,"56500":20669,"56501":20671,"56502":20678,"56503":20654,"56504":20676,"56505":20682,"56506":20660,"56507":20680,"56508":20674,"56509":20656,"56510":20673,"56511":20666,"56512":20657,"56513":20683,"56514":20681,"56515":20662,"56516":20664,"56517":20951,"56518":21114,"56519":21112,"56520":21115,"56521":21116,"56522":21955,"56523":21979,"56524":21964,"56525":21968,"56526":21963,"56527":21962,"56528":21981,"56529":21952,"56530":21972,"56531":21956,"56532":21993,"56533":21951,"56534":21970,"56535":21901,"56536":21967,"56537":21973,"56538":21986,"56539":21974,"56540":21960,"56541":22002,"56542":21965,"56543":21977,"56544":21954,"56545":22292,"56546":22611,"56547":22632,"56548":22628,"56549":22607,"56550":22605,"56551":22601,"56552":22639,"56553":22613,"56554":22606,"56555":22621,"56556":22617,"56557":22629,"56558":22619,"56559":22589,"56560":22627,"56561":22641,"56562":22780,"56563":23239,"56564":23236,"56565":23243,"56566":23226,"56567":23224,"56568":23217,"56569":23221,"56570":23216,"56571":23231,"56572":23240,"56573":23227,"56574":23238,"56640":23223,"56641":23232,"56642":23242,"56643":23220,"56644":23222,"56645":23245,"56646":23225,"56647":23184,"56648":23510,"56649":23512,"56650":23513,"56651":23583,"56652":23603,"56653":23921,"56654":23907,"56655":23882,"56656":23909,"56657":23922,"56658":23916,"56659":23902,"56660":23912,"56661":23911,"56662":23906,"56663":24048,"56664":24143,"56665":24142,"56666":24138,"56667":24141,"56668":24139,"56669":24261,"56670":24268,"56671":24262,"56672":24267,"56673":24263,"56674":24384,"56675":24495,"56676":24493,"56677":24823,"56678":24905,"56679":24906,"56680":24875,"56681":24901,"56682":24886,"56683":24882,"56684":24878,"56685":24902,"56686":24879,"56687":24911,"56688":24873,"56689":24896,"56690":25120,"56691":37224,"56692":25123,"56693":25125,"56694":25124,"56695":25541,"56696":25585,"56697":25579,"56698":25616,"56699":25618,"56700":25609,"56701":25632,"56702":25636,"56737":25651,"56738":25667,"56739":25631,"56740":25621,"56741":25624,"56742":25657,"56743":25655,"56744":25634,"56745":25635,"56746":25612,"56747":25638,"56748":25648,"56749":25640,"56750":25665,"56751":25653,"56752":25647,"56753":25610,"56754":25626,"56755":25664,"56756":25637,"56757":25639,"56758":25611,"56759":25575,"56760":25627,"56761":25646,"56762":25633,"56763":25614,"56764":25967,"56765":26002,"56766":26067,"56767":26246,"56768":26252,"56769":26261,"56770":26256,"56771":26251,"56772":26250,"56773":26265,"56774":26260,"56775":26232,"56776":26400,"56777":26982,"56778":26975,"56779":26936,"56780":26958,"56781":26978,"56782":26993,"56783":26943,"56784":26949,"56785":26986,"56786":26937,"56787":26946,"56788":26967,"56789":26969,"56790":27002,"56791":26952,"56792":26953,"56793":26933,"56794":26988,"56795":26931,"56796":26941,"56797":26981,"56798":26864,"56799":27000,"56800":26932,"56801":26985,"56802":26944,"56803":26991,"56804":26948,"56805":26998,"56806":26968,"56807":26945,"56808":26996,"56809":26956,"56810":26939,"56811":26955,"56812":26935,"56813":26972,"56814":26959,"56815":26961,"56816":26930,"56817":26962,"56818":26927,"56819":27003,"56820":26940,"56821":27462,"56822":27461,"56823":27459,"56824":27458,"56825":27464,"56826":27457,"56827":27547,"56828":64013,"56829":27643,"56830":27644,"56896":27641,"56897":27639,"56898":27640,"56899":28315,"56900":28374,"56901":28360,"56902":28303,"56903":28352,"56904":28319,"56905":28307,"56906":28308,"56907":28320,"56908":28337,"56909":28345,"56910":28358,"56911":28370,"56912":28349,"56913":28353,"56914":28318,"56915":28361,"56916":28343,"56917":28336,"56918":28365,"56919":28326,"56920":28367,"56921":28338,"56922":28350,"56923":28355,"56924":28380,"56925":28376,"56926":28313,"56927":28306,"56928":28302,"56929":28301,"56930":28324,"56931":28321,"56932":28351,"56933":28339,"56934":28368,"56935":28362,"56936":28311,"56937":28334,"56938":28323,"56939":28999,"56940":29012,"56941":29010,"56942":29027,"56943":29024,"56944":28993,"56945":29021,"56946":29026,"56947":29042,"56948":29048,"56949":29034,"56950":29025,"56951":28994,"56952":29016,"56953":28995,"56954":29003,"56955":29040,"56956":29023,"56957":29008,"56958":29011,"56993":28996,"56994":29005,"56995":29018,"56996":29263,"56997":29325,"56998":29324,"56999":29329,"57000":29328,"57001":29326,"57002":29500,"57003":29506,"57004":29499,"57005":29498,"57006":29504,"57007":29514,"57008":29513,"57009":29764,"57010":29770,"57011":29771,"57012":29778,"57013":29777,"57014":29783,"57015":29760,"57016":29775,"57017":29776,"57018":29774,"57019":29762,"57020":29766,"57021":29773,"57022":29780,"57023":29921,"57024":29951,"57025":29950,"57026":29949,"57027":29981,"57028":30073,"57029":30071,"57030":27011,"57031":30191,"57032":30223,"57033":30211,"57034":30199,"57035":30206,"57036":30204,"57037":30201,"57038":30200,"57039":30224,"57040":30203,"57041":30198,"57042":30189,"57043":30197,"57044":30205,"57045":30361,"57046":30389,"57047":30429,"57048":30549,"57049":30559,"57050":30560,"57051":30546,"57052":30550,"57053":30554,"57054":30569,"57055":30567,"57056":30548,"57057":30553,"57058":30573,"57059":30688,"57060":30855,"57061":30874,"57062":30868,"57063":30863,"57064":30852,"57065":30869,"57066":30853,"57067":30854,"57068":30881,"57069":30851,"57070":30841,"57071":30873,"57072":30848,"57073":30870,"57074":30843,"57075":31100,"57076":31106,"57077":31101,"57078":31097,"57079":31249,"57080":31256,"57081":31257,"57082":31250,"57083":31255,"57084":31253,"57085":31266,"57086":31251,"57152":31259,"57153":31248,"57154":31395,"57155":31394,"57156":31390,"57157":31467,"57158":31590,"57159":31588,"57160":31597,"57161":31604,"57162":31593,"57163":31602,"57164":31589,"57165":31603,"57166":31601,"57167":31600,"57168":31585,"57169":31608,"57170":31606,"57171":31587,"57172":31922,"57173":31924,"57174":31919,"57175":32136,"57176":32134,"57177":32128,"57178":32141,"57179":32127,"57180":32133,"57181":32122,"57182":32142,"57183":32123,"57184":32131,"57185":32124,"57186":32140,"57187":32148,"57188":32132,"57189":32125,"57190":32146,"57191":32621,"57192":32619,"57193":32615,"57194":32616,"57195":32620,"57196":32678,"57197":32677,"57198":32679,"57199":32731,"57200":32732,"57201":32801,"57202":33124,"57203":33120,"57204":33143,"57205":33116,"57206":33129,"57207":33115,"57208":33122,"57209":33138,"57210":26401,"57211":33118,"57212":33142,"57213":33127,"57214":33135,"57249":33092,"57250":33121,"57251":33309,"57252":33353,"57253":33348,"57254":33344,"57255":33346,"57256":33349,"57257":34033,"57258":33855,"57259":33878,"57260":33910,"57261":33913,"57262":33935,"57263":33933,"57264":33893,"57265":33873,"57266":33856,"57267":33926,"57268":33895,"57269":33840,"57270":33869,"57271":33917,"57272":33882,"57273":33881,"57274":33908,"57275":33907,"57276":33885,"57277":34055,"57278":33886,"57279":33847,"57280":33850,"57281":33844,"57282":33914,"57283":33859,"57284":33912,"57285":33842,"57286":33861,"57287":33833,"57288":33753,"57289":33867,"57290":33839,"57291":33858,"57292":33837,"57293":33887,"57294":33904,"57295":33849,"57296":33870,"57297":33868,"57298":33874,"57299":33903,"57300":33989,"57301":33934,"57302":33851,"57303":33863,"57304":33846,"57305":33843,"57306":33896,"57307":33918,"57308":33860,"57309":33835,"57310":33888,"57311":33876,"57312":33902,"57313":33872,"57314":34571,"57315":34564,"57316":34551,"57317":34572,"57318":34554,"57319":34518,"57320":34549,"57321":34637,"57322":34552,"57323":34574,"57324":34569,"57325":34561,"57326":34550,"57327":34573,"57328":34565,"57329":35030,"57330":35019,"57331":35021,"57332":35022,"57333":35038,"57334":35035,"57335":35034,"57336":35020,"57337":35024,"57338":35205,"57339":35227,"57340":35295,"57341":35301,"57342":35300,"57408":35297,"57409":35296,"57410":35298,"57411":35292,"57412":35302,"57413":35446,"57414":35462,"57415":35455,"57416":35425,"57417":35391,"57418":35447,"57419":35458,"57420":35460,"57421":35445,"57422":35459,"57423":35457,"57424":35444,"57425":35450,"57426":35900,"57427":35915,"57428":35914,"57429":35941,"57430":35940,"57431":35942,"57432":35974,"57433":35972,"57434":35973,"57435":36044,"57436":36200,"57437":36201,"57438":36241,"57439":36236,"57440":36238,"57441":36239,"57442":36237,"57443":36243,"57444":36244,"57445":36240,"57446":36242,"57447":36336,"57448":36320,"57449":36332,"57450":36337,"57451":36334,"57452":36304,"57453":36329,"57454":36323,"57455":36322,"57456":36327,"57457":36338,"57458":36331,"57459":36340,"57460":36614,"57461":36607,"57462":36609,"57463":36608,"57464":36613,"57465":36615,"57466":36616,"57467":36610,"57468":36619,"57469":36946,"57470":36927,"57505":36932,"57506":36937,"57507":36925,"57508":37136,"57509":37133,"57510":37135,"57511":37137,"57512":37142,"57513":37140,"57514":37131,"57515":37134,"57516":37230,"57517":37231,"57518":37448,"57519":37458,"57520":37424,"57521":37434,"57522":37478,"57523":37427,"57524":37477,"57525":37470,"57526":37507,"57527":37422,"57528":37450,"57529":37446,"57530":37485,"57531":37484,"57532":37455,"57533":37472,"57534":37479,"57535":37487,"57536":37430,"57537":37473,"57538":37488,"57539":37425,"57540":37460,"57541":37475,"57542":37456,"57543":37490,"57544":37454,"57545":37459,"57546":37452,"57547":37462,"57548":37426,"57549":38303,"57550":38300,"57551":38302,"57552":38299,"57553":38546,"57554":38547,"57555":38545,"57556":38551,"57557":38606,"57558":38650,"57559":38653,"57560":38648,"57561":38645,"57562":38771,"57563":38775,"57564":38776,"57565":38770,"57566":38927,"57567":38925,"57568":38926,"57569":39084,"57570":39158,"57571":39161,"57572":39343,"57573":39346,"57574":39344,"57575":39349,"57576":39597,"57577":39595,"57578":39771,"57579":40170,"57580":40173,"57581":40167,"57582":40576,"57583":40701,"57584":20710,"57585":20692,"57586":20695,"57587":20712,"57588":20723,"57589":20699,"57590":20714,"57591":20701,"57592":20708,"57593":20691,"57594":20716,"57595":20720,"57596":20719,"57597":20707,"57598":20704,"57664":20952,"57665":21120,"57666":21121,"57667":21225,"57668":21227,"57669":21296,"57670":21420,"57671":22055,"57672":22037,"57673":22028,"57674":22034,"57675":22012,"57676":22031,"57677":22044,"57678":22017,"57679":22035,"57680":22018,"57681":22010,"57682":22045,"57683":22020,"57684":22015,"57685":22009,"57686":22665,"57687":22652,"57688":22672,"57689":22680,"57690":22662,"57691":22657,"57692":22655,"57693":22644,"57694":22667,"57695":22650,"57696":22663,"57697":22673,"57698":22670,"57699":22646,"57700":22658,"57701":22664,"57702":22651,"57703":22676,"57704":22671,"57705":22782,"57706":22891,"57707":23260,"57708":23278,"57709":23269,"57710":23253,"57711":23274,"57712":23258,"57713":23277,"57714":23275,"57715":23283,"57716":23266,"57717":23264,"57718":23259,"57719":23276,"57720":23262,"57721":23261,"57722":23257,"57723":23272,"57724":23263,"57725":23415,"57726":23520,"57761":23523,"57762":23651,"57763":23938,"57764":23936,"57765":23933,"57766":23942,"57767":23930,"57768":23937,"57769":23927,"57770":23946,"57771":23945,"57772":23944,"57773":23934,"57774":23932,"57775":23949,"57776":23929,"57777":23935,"57778":24152,"57779":24153,"57780":24147,"57781":24280,"57782":24273,"57783":24279,"57784":24270,"57785":24284,"57786":24277,"57787":24281,"57788":24274,"57789":24276,"57790":24388,"57791":24387,"57792":24431,"57793":24502,"57794":24876,"57795":24872,"57796":24897,"57797":24926,"57798":24945,"57799":24947,"57800":24914,"57801":24915,"57802":24946,"57803":24940,"57804":24960,"57805":24948,"57806":24916,"57807":24954,"57808":24923,"57809":24933,"57810":24891,"57811":24938,"57812":24929,"57813":24918,"57814":25129,"57815":25127,"57816":25131,"57817":25643,"57818":25677,"57819":25691,"57820":25693,"57821":25716,"57822":25718,"57823":25714,"57824":25715,"57825":25725,"57826":25717,"57827":25702,"57828":25766,"57829":25678,"57830":25730,"57831":25694,"57832":25692,"57833":25675,"57834":25683,"57835":25696,"57836":25680,"57837":25727,"57838":25663,"57839":25708,"57840":25707,"57841":25689,"57842":25701,"57843":25719,"57844":25971,"57845":26016,"57846":26273,"57847":26272,"57848":26271,"57849":26373,"57850":26372,"57851":26402,"57852":27057,"57853":27062,"57854":27081,"57920":27040,"57921":27086,"57922":27030,"57923":27056,"57924":27052,"57925":27068,"57926":27025,"57927":27033,"57928":27022,"57929":27047,"57930":27021,"57931":27049,"57932":27070,"57933":27055,"57934":27071,"57935":27076,"57936":27069,"57937":27044,"57938":27092,"57939":27065,"57940":27082,"57941":27034,"57942":27087,"57943":27059,"57944":27027,"57945":27050,"57946":27041,"57947":27038,"57948":27097,"57949":27031,"57950":27024,"57951":27074,"57952":27061,"57953":27045,"57954":27078,"57955":27466,"57956":27469,"57957":27467,"57958":27550,"57959":27551,"57960":27552,"57961":27587,"57962":27588,"57963":27646,"57964":28366,"57965":28405,"57966":28401,"57967":28419,"57968":28453,"57969":28408,"57970":28471,"57971":28411,"57972":28462,"57973":28425,"57974":28494,"57975":28441,"57976":28442,"57977":28455,"57978":28440,"57979":28475,"57980":28434,"57981":28397,"57982":28426,"58017":28470,"58018":28531,"58019":28409,"58020":28398,"58021":28461,"58022":28480,"58023":28464,"58024":28476,"58025":28469,"58026":28395,"58027":28423,"58028":28430,"58029":28483,"58030":28421,"58031":28413,"58032":28406,"58033":28473,"58034":28444,"58035":28412,"58036":28474,"58037":28447,"58038":28429,"58039":28446,"58040":28424,"58041":28449,"58042":29063,"58043":29072,"58044":29065,"58045":29056,"58046":29061,"58047":29058,"58048":29071,"58049":29051,"58050":29062,"58051":29057,"58052":29079,"58053":29252,"58054":29267,"58055":29335,"58056":29333,"58057":29331,"58058":29507,"58059":29517,"58060":29521,"58061":29516,"58062":29794,"58063":29811,"58064":29809,"58065":29813,"58066":29810,"58067":29799,"58068":29806,"58069":29952,"58070":29954,"58071":29955,"58072":30077,"58073":30096,"58074":30230,"58075":30216,"58076":30220,"58077":30229,"58078":30225,"58079":30218,"58080":30228,"58081":30392,"58082":30593,"58083":30588,"58084":30597,"58085":30594,"58086":30574,"58087":30592,"58088":30575,"58089":30590,"58090":30595,"58091":30898,"58092":30890,"58093":30900,"58094":30893,"58095":30888,"58096":30846,"58097":30891,"58098":30878,"58099":30885,"58100":30880,"58101":30892,"58102":30882,"58103":30884,"58104":31128,"58105":31114,"58106":31115,"58107":31126,"58108":31125,"58109":31124,"58110":31123,"58176":31127,"58177":31112,"58178":31122,"58179":31120,"58180":31275,"58181":31306,"58182":31280,"58183":31279,"58184":31272,"58185":31270,"58186":31400,"58187":31403,"58188":31404,"58189":31470,"58190":31624,"58191":31644,"58192":31626,"58193":31633,"58194":31632,"58195":31638,"58196":31629,"58197":31628,"58198":31643,"58199":31630,"58200":31621,"58201":31640,"58202":21124,"58203":31641,"58204":31652,"58205":31618,"58206":31931,"58207":31935,"58208":31932,"58209":31930,"58210":32167,"58211":32183,"58212":32194,"58213":32163,"58214":32170,"58215":32193,"58216":32192,"58217":32197,"58218":32157,"58219":32206,"58220":32196,"58221":32198,"58222":32203,"58223":32204,"58224":32175,"58225":32185,"58226":32150,"58227":32188,"58228":32159,"58229":32166,"58230":32174,"58231":32169,"58232":32161,"58233":32201,"58234":32627,"58235":32738,"58236":32739,"58237":32741,"58238":32734,"58273":32804,"58274":32861,"58275":32860,"58276":33161,"58277":33158,"58278":33155,"58279":33159,"58280":33165,"58281":33164,"58282":33163,"58283":33301,"58284":33943,"58285":33956,"58286":33953,"58287":33951,"58288":33978,"58289":33998,"58290":33986,"58291":33964,"58292":33966,"58293":33963,"58294":33977,"58295":33972,"58296":33985,"58297":33997,"58298":33962,"58299":33946,"58300":33969,"58301":34000,"58302":33949,"58303":33959,"58304":33979,"58305":33954,"58306":33940,"58307":33991,"58308":33996,"58309":33947,"58310":33961,"58311":33967,"58312":33960,"58313":34006,"58314":33944,"58315":33974,"58316":33999,"58317":33952,"58318":34007,"58319":34004,"58320":34002,"58321":34011,"58322":33968,"58323":33937,"58324":34401,"58325":34611,"58326":34595,"58327":34600,"58328":34667,"58329":34624,"58330":34606,"58331":34590,"58332":34593,"58333":34585,"58334":34587,"58335":34627,"58336":34604,"58337":34625,"58338":34622,"58339":34630,"58340":34592,"58341":34610,"58342":34602,"58343":34605,"58344":34620,"58345":34578,"58346":34618,"58347":34609,"58348":34613,"58349":34626,"58350":34598,"58351":34599,"58352":34616,"58353":34596,"58354":34586,"58355":34608,"58356":34577,"58357":35063,"58358":35047,"58359":35057,"58360":35058,"58361":35066,"58362":35070,"58363":35054,"58364":35068,"58365":35062,"58366":35067,"58432":35056,"58433":35052,"58434":35051,"58435":35229,"58436":35233,"58437":35231,"58438":35230,"58439":35305,"58440":35307,"58441":35304,"58442":35499,"58443":35481,"58444":35467,"58445":35474,"58446":35471,"58447":35478,"58448":35901,"58449":35944,"58450":35945,"58451":36053,"58452":36047,"58453":36055,"58454":36246,"58455":36361,"58456":36354,"58457":36351,"58458":36365,"58459":36349,"58460":36362,"58461":36355,"58462":36359,"58463":36358,"58464":36357,"58465":36350,"58466":36352,"58467":36356,"58468":36624,"58469":36625,"58470":36622,"58471":36621,"58472":37155,"58473":37148,"58474":37152,"58475":37154,"58476":37151,"58477":37149,"58478":37146,"58479":37156,"58480":37153,"58481":37147,"58482":37242,"58483":37234,"58484":37241,"58485":37235,"58486":37541,"58487":37540,"58488":37494,"58489":37531,"58490":37498,"58491":37536,"58492":37524,"58493":37546,"58494":37517,"58529":37542,"58530":37530,"58531":37547,"58532":37497,"58533":37527,"58534":37503,"58535":37539,"58536":37614,"58537":37518,"58538":37506,"58539":37525,"58540":37538,"58541":37501,"58542":37512,"58543":37537,"58544":37514,"58545":37510,"58546":37516,"58547":37529,"58548":37543,"58549":37502,"58550":37511,"58551":37545,"58552":37533,"58553":37515,"58554":37421,"58555":38558,"58556":38561,"58557":38655,"58558":38744,"58559":38781,"58560":38778,"58561":38782,"58562":38787,"58563":38784,"58564":38786,"58565":38779,"58566":38788,"58567":38785,"58568":38783,"58569":38862,"58570":38861,"58571":38934,"58572":39085,"58573":39086,"58574":39170,"58575":39168,"58576":39175,"58577":39325,"58578":39324,"58579":39363,"58580":39353,"58581":39355,"58582":39354,"58583":39362,"58584":39357,"58585":39367,"58586":39601,"58587":39651,"58588":39655,"58589":39742,"58590":39743,"58591":39776,"58592":39777,"58593":39775,"58594":40177,"58595":40178,"58596":40181,"58597":40615,"58598":20735,"58599":20739,"58600":20784,"58601":20728,"58602":20742,"58603":20743,"58604":20726,"58605":20734,"58606":20747,"58607":20748,"58608":20733,"58609":20746,"58610":21131,"58611":21132,"58612":21233,"58613":21231,"58614":22088,"58615":22082,"58616":22092,"58617":22069,"58618":22081,"58619":22090,"58620":22089,"58621":22086,"58622":22104,"58688":22106,"58689":22080,"58690":22067,"58691":22077,"58692":22060,"58693":22078,"58694":22072,"58695":22058,"58696":22074,"58697":22298,"58698":22699,"58699":22685,"58700":22705,"58701":22688,"58702":22691,"58703":22703,"58704":22700,"58705":22693,"58706":22689,"58707":22783,"58708":23295,"58709":23284,"58710":23293,"58711":23287,"58712":23286,"58713":23299,"58714":23288,"58715":23298,"58716":23289,"58717":23297,"58718":23303,"58719":23301,"58720":23311,"58721":23655,"58722":23961,"58723":23959,"58724":23967,"58725":23954,"58726":23970,"58727":23955,"58728":23957,"58729":23968,"58730":23964,"58731":23969,"58732":23962,"58733":23966,"58734":24169,"58735":24157,"58736":24160,"58737":24156,"58738":32243,"58739":24283,"58740":24286,"58741":24289,"58742":24393,"58743":24498,"58744":24971,"58745":24963,"58746":24953,"58747":25009,"58748":25008,"58749":24994,"58750":24969,"58785":24987,"58786":24979,"58787":25007,"58788":25005,"58789":24991,"58790":24978,"58791":25002,"58792":24993,"58793":24973,"58794":24934,"58795":25011,"58796":25133,"58797":25710,"58798":25712,"58799":25750,"58800":25760,"58801":25733,"58802":25751,"58803":25756,"58804":25743,"58805":25739,"58806":25738,"58807":25740,"58808":25763,"58809":25759,"58810":25704,"58811":25777,"58812":25752,"58813":25974,"58814":25978,"58815":25977,"58816":25979,"58817":26034,"58818":26035,"58819":26293,"58820":26288,"58821":26281,"58822":26290,"58823":26295,"58824":26282,"58825":26287,"58826":27136,"58827":27142,"58828":27159,"58829":27109,"58830":27128,"58831":27157,"58832":27121,"58833":27108,"58834":27168,"58835":27135,"58836":27116,"58837":27106,"58838":27163,"58839":27165,"58840":27134,"58841":27175,"58842":27122,"58843":27118,"58844":27156,"58845":27127,"58846":27111,"58847":27200,"58848":27144,"58849":27110,"58850":27131,"58851":27149,"58852":27132,"58853":27115,"58854":27145,"58855":27140,"58856":27160,"58857":27173,"58858":27151,"58859":27126,"58860":27174,"58861":27143,"58862":27124,"58863":27158,"58864":27473,"58865":27557,"58866":27555,"58867":27554,"58868":27558,"58869":27649,"58870":27648,"58871":27647,"58872":27650,"58873":28481,"58874":28454,"58875":28542,"58876":28551,"58877":28614,"58878":28562,"58944":28557,"58945":28553,"58946":28556,"58947":28514,"58948":28495,"58949":28549,"58950":28506,"58951":28566,"58952":28534,"58953":28524,"58954":28546,"58955":28501,"58956":28530,"58957":28498,"58958":28496,"58959":28503,"58960":28564,"58961":28563,"58962":28509,"58963":28416,"58964":28513,"58965":28523,"58966":28541,"58967":28519,"58968":28560,"58969":28499,"58970":28555,"58971":28521,"58972":28543,"58973":28565,"58974":28515,"58975":28535,"58976":28522,"58977":28539,"58978":29106,"58979":29103,"58980":29083,"58981":29104,"58982":29088,"58983":29082,"58984":29097,"58985":29109,"58986":29085,"58987":29093,"58988":29086,"58989":29092,"58990":29089,"58991":29098,"58992":29084,"58993":29095,"58994":29107,"58995":29336,"58996":29338,"58997":29528,"58998":29522,"58999":29534,"59000":29535,"59001":29536,"59002":29533,"59003":29531,"59004":29537,"59005":29530,"59006":29529,"59041":29538,"59042":29831,"59043":29833,"59044":29834,"59045":29830,"59046":29825,"59047":29821,"59048":29829,"59049":29832,"59050":29820,"59051":29817,"59052":29960,"59053":29959,"59054":30078,"59055":30245,"59056":30238,"59057":30233,"59058":30237,"59059":30236,"59060":30243,"59061":30234,"59062":30248,"59063":30235,"59064":30364,"59065":30365,"59066":30366,"59067":30363,"59068":30605,"59069":30607,"59070":30601,"59071":30600,"59072":30925,"59073":30907,"59074":30927,"59075":30924,"59076":30929,"59077":30926,"59078":30932,"59079":30920,"59080":30915,"59081":30916,"59082":30921,"59083":31130,"59084":31137,"59085":31136,"59086":31132,"59087":31138,"59088":31131,"59089":27510,"59090":31289,"59091":31410,"59092":31412,"59093":31411,"59094":31671,"59095":31691,"59096":31678,"59097":31660,"59098":31694,"59099":31663,"59100":31673,"59101":31690,"59102":31669,"59103":31941,"59104":31944,"59105":31948,"59106":31947,"59107":32247,"59108":32219,"59109":32234,"59110":32231,"59111":32215,"59112":32225,"59113":32259,"59114":32250,"59115":32230,"59116":32246,"59117":32241,"59118":32240,"59119":32238,"59120":32223,"59121":32630,"59122":32684,"59123":32688,"59124":32685,"59125":32749,"59126":32747,"59127":32746,"59128":32748,"59129":32742,"59130":32744,"59131":32868,"59132":32871,"59133":33187,"59134":33183,"59200":33182,"59201":33173,"59202":33186,"59203":33177,"59204":33175,"59205":33302,"59206":33359,"59207":33363,"59208":33362,"59209":33360,"59210":33358,"59211":33361,"59212":34084,"59213":34107,"59214":34063,"59215":34048,"59216":34089,"59217":34062,"59218":34057,"59219":34061,"59220":34079,"59221":34058,"59222":34087,"59223":34076,"59224":34043,"59225":34091,"59226":34042,"59227":34056,"59228":34060,"59229":34036,"59230":34090,"59231":34034,"59232":34069,"59233":34039,"59234":34027,"59235":34035,"59236":34044,"59237":34066,"59238":34026,"59239":34025,"59240":34070,"59241":34046,"59242":34088,"59243":34077,"59244":34094,"59245":34050,"59246":34045,"59247":34078,"59248":34038,"59249":34097,"59250":34086,"59251":34023,"59252":34024,"59253":34032,"59254":34031,"59255":34041,"59256":34072,"59257":34080,"59258":34096,"59259":34059,"59260":34073,"59261":34095,"59262":34402,"59297":34646,"59298":34659,"59299":34660,"59300":34679,"59301":34785,"59302":34675,"59303":34648,"59304":34644,"59305":34651,"59306":34642,"59307":34657,"59308":34650,"59309":34641,"59310":34654,"59311":34669,"59312":34666,"59313":34640,"59314":34638,"59315":34655,"59316":34653,"59317":34671,"59318":34668,"59319":34682,"59320":34670,"59321":34652,"59322":34661,"59323":34639,"59324":34683,"59325":34677,"59326":34658,"59327":34663,"59328":34665,"59329":34906,"59330":35077,"59331":35084,"59332":35092,"59333":35083,"59334":35095,"59335":35096,"59336":35097,"59337":35078,"59338":35094,"59339":35089,"59340":35086,"59341":35081,"59342":35234,"59343":35236,"59344":35235,"59345":35309,"59346":35312,"59347":35308,"59348":35535,"59349":35526,"59350":35512,"59351":35539,"59352":35537,"59353":35540,"59354":35541,"59355":35515,"59356":35543,"59357":35518,"59358":35520,"59359":35525,"59360":35544,"59361":35523,"59362":35514,"59363":35517,"59364":35545,"59365":35902,"59366":35917,"59367":35983,"59368":36069,"59369":36063,"59370":36057,"59371":36072,"59372":36058,"59373":36061,"59374":36071,"59375":36256,"59376":36252,"59377":36257,"59378":36251,"59379":36384,"59380":36387,"59381":36389,"59382":36388,"59383":36398,"59384":36373,"59385":36379,"59386":36374,"59387":36369,"59388":36377,"59389":36390,"59390":36391,"59456":36372,"59457":36370,"59458":36376,"59459":36371,"59460":36380,"59461":36375,"59462":36378,"59463":36652,"59464":36644,"59465":36632,"59466":36634,"59467":36640,"59468":36643,"59469":36630,"59470":36631,"59471":36979,"59472":36976,"59473":36975,"59474":36967,"59475":36971,"59476":37167,"59477":37163,"59478":37161,"59479":37162,"59480":37170,"59481":37158,"59482":37166,"59483":37253,"59484":37254,"59485":37258,"59486":37249,"59487":37250,"59488":37252,"59489":37248,"59490":37584,"59491":37571,"59492":37572,"59493":37568,"59494":37593,"59495":37558,"59496":37583,"59497":37617,"59498":37599,"59499":37592,"59500":37609,"59501":37591,"59502":37597,"59503":37580,"59504":37615,"59505":37570,"59506":37608,"59507":37578,"59508":37576,"59509":37582,"59510":37606,"59511":37581,"59512":37589,"59513":37577,"59514":37600,"59515":37598,"59516":37607,"59517":37585,"59518":37587,"59553":37557,"59554":37601,"59555":37574,"59556":37556,"59557":38268,"59558":38316,"59559":38315,"59560":38318,"59561":38320,"59562":38564,"59563":38562,"59564":38611,"59565":38661,"59566":38664,"59567":38658,"59568":38746,"59569":38794,"59570":38798,"59571":38792,"59572":38864,"59573":38863,"59574":38942,"59575":38941,"59576":38950,"59577":38953,"59578":38952,"59579":38944,"59580":38939,"59581":38951,"59582":39090,"59583":39176,"59584":39162,"59585":39185,"59586":39188,"59587":39190,"59588":39191,"59589":39189,"59590":39388,"59591":39373,"59592":39375,"59593":39379,"59594":39380,"59595":39374,"59596":39369,"59597":39382,"59598":39384,"59599":39371,"59600":39383,"59601":39372,"59602":39603,"59603":39660,"59604":39659,"59605":39667,"59606":39666,"59607":39665,"59608":39750,"59609":39747,"59610":39783,"59611":39796,"59612":39793,"59613":39782,"59614":39798,"59615":39797,"59616":39792,"59617":39784,"59618":39780,"59619":39788,"59620":40188,"59621":40186,"59622":40189,"59623":40191,"59624":40183,"59625":40199,"59626":40192,"59627":40185,"59628":40187,"59629":40200,"59630":40197,"59631":40196,"59632":40579,"59633":40659,"59634":40719,"59635":40720,"59636":20764,"59637":20755,"59638":20759,"59639":20762,"59640":20753,"59641":20958,"59642":21300,"59643":21473,"59644":22128,"59645":22112,"59646":22126,"59712":22131,"59713":22118,"59714":22115,"59715":22125,"59716":22130,"59717":22110,"59718":22135,"59719":22300,"59720":22299,"59721":22728,"59722":22717,"59723":22729,"59724":22719,"59725":22714,"59726":22722,"59727":22716,"59728":22726,"59729":23319,"59730":23321,"59731":23323,"59732":23329,"59733":23316,"59734":23315,"59735":23312,"59736":23318,"59737":23336,"59738":23322,"59739":23328,"59740":23326,"59741":23535,"59742":23980,"59743":23985,"59744":23977,"59745":23975,"59746":23989,"59747":23984,"59748":23982,"59749":23978,"59750":23976,"59751":23986,"59752":23981,"59753":23983,"59754":23988,"59755":24167,"59756":24168,"59757":24166,"59758":24175,"59759":24297,"59760":24295,"59761":24294,"59762":24296,"59763":24293,"59764":24395,"59765":24508,"59766":24989,"59767":25000,"59768":24982,"59769":25029,"59770":25012,"59771":25030,"59772":25025,"59773":25036,"59774":25018,"59809":25023,"59810":25016,"59811":24972,"59812":25815,"59813":25814,"59814":25808,"59815":25807,"59816":25801,"59817":25789,"59818":25737,"59819":25795,"59820":25819,"59821":25843,"59822":25817,"59823":25907,"59824":25983,"59825":25980,"59826":26018,"59827":26312,"59828":26302,"59829":26304,"59830":26314,"59831":26315,"59832":26319,"59833":26301,"59834":26299,"59835":26298,"59836":26316,"59837":26403,"59838":27188,"59839":27238,"59840":27209,"59841":27239,"59842":27186,"59843":27240,"59844":27198,"59845":27229,"59846":27245,"59847":27254,"59848":27227,"59849":27217,"59850":27176,"59851":27226,"59852":27195,"59853":27199,"59854":27201,"59855":27242,"59856":27236,"59857":27216,"59858":27215,"59859":27220,"59860":27247,"59861":27241,"59862":27232,"59863":27196,"59864":27230,"59865":27222,"59866":27221,"59867":27213,"59868":27214,"59869":27206,"59870":27477,"59871":27476,"59872":27478,"59873":27559,"59874":27562,"59875":27563,"59876":27592,"59877":27591,"59878":27652,"59879":27651,"59880":27654,"59881":28589,"59882":28619,"59883":28579,"59884":28615,"59885":28604,"59886":28622,"59887":28616,"59888":28510,"59889":28612,"59890":28605,"59891":28574,"59892":28618,"59893":28584,"59894":28676,"59895":28581,"59896":28590,"59897":28602,"59898":28588,"59899":28586,"59900":28623,"59901":28607,"59902":28600,"59968":28578,"59969":28617,"59970":28587,"59971":28621,"59972":28591,"59973":28594,"59974":28592,"59975":29125,"59976":29122,"59977":29119,"59978":29112,"59979":29142,"59980":29120,"59981":29121,"59982":29131,"59983":29140,"59984":29130,"59985":29127,"59986":29135,"59987":29117,"59988":29144,"59989":29116,"59990":29126,"59991":29146,"59992":29147,"59993":29341,"59994":29342,"59995":29545,"59996":29542,"59997":29543,"59998":29548,"59999":29541,"60000":29547,"60001":29546,"60002":29823,"60003":29850,"60004":29856,"60005":29844,"60006":29842,"60007":29845,"60008":29857,"60009":29963,"60010":30080,"60011":30255,"60012":30253,"60013":30257,"60014":30269,"60015":30259,"60016":30268,"60017":30261,"60018":30258,"60019":30256,"60020":30395,"60021":30438,"60022":30618,"60023":30621,"60024":30625,"60025":30620,"60026":30619,"60027":30626,"60028":30627,"60029":30613,"60030":30617,"60065":30615,"60066":30941,"60067":30953,"60068":30949,"60069":30954,"60070":30942,"60071":30947,"60072":30939,"60073":30945,"60074":30946,"60075":30957,"60076":30943,"60077":30944,"60078":31140,"60079":31300,"60080":31304,"60081":31303,"60082":31414,"60083":31416,"60084":31413,"60085":31409,"60086":31415,"60087":31710,"60088":31715,"60089":31719,"60090":31709,"60091":31701,"60092":31717,"60093":31706,"60094":31720,"60095":31737,"60096":31700,"60097":31722,"60098":31714,"60099":31708,"60100":31723,"60101":31704,"60102":31711,"60103":31954,"60104":31956,"60105":31959,"60106":31952,"60107":31953,"60108":32274,"60109":32289,"60110":32279,"60111":32268,"60112":32287,"60113":32288,"60114":32275,"60115":32270,"60116":32284,"60117":32277,"60118":32282,"60119":32290,"60120":32267,"60121":32271,"60122":32278,"60123":32269,"60124":32276,"60125":32293,"60126":32292,"60127":32579,"60128":32635,"60129":32636,"60130":32634,"60131":32689,"60132":32751,"60133":32810,"60134":32809,"60135":32876,"60136":33201,"60137":33190,"60138":33198,"60139":33209,"60140":33205,"60141":33195,"60142":33200,"60143":33196,"60144":33204,"60145":33202,"60146":33207,"60147":33191,"60148":33266,"60149":33365,"60150":33366,"60151":33367,"60152":34134,"60153":34117,"60154":34155,"60155":34125,"60156":34131,"60157":34145,"60158":34136,"60224":34112,"60225":34118,"60226":34148,"60227":34113,"60228":34146,"60229":34116,"60230":34129,"60231":34119,"60232":34147,"60233":34110,"60234":34139,"60235":34161,"60236":34126,"60237":34158,"60238":34165,"60239":34133,"60240":34151,"60241":34144,"60242":34188,"60243":34150,"60244":34141,"60245":34132,"60246":34149,"60247":34156,"60248":34403,"60249":34405,"60250":34404,"60251":34715,"60252":34703,"60253":34711,"60254":34707,"60255":34706,"60256":34696,"60257":34689,"60258":34710,"60259":34712,"60260":34681,"60261":34695,"60262":34723,"60263":34693,"60264":34704,"60265":34705,"60266":34717,"60267":34692,"60268":34708,"60269":34716,"60270":34714,"60271":34697,"60272":35102,"60273":35110,"60274":35120,"60275":35117,"60276":35118,"60277":35111,"60278":35121,"60279":35106,"60280":35113,"60281":35107,"60282":35119,"60283":35116,"60284":35103,"60285":35313,"60286":35552,"60321":35554,"60322":35570,"60323":35572,"60324":35573,"60325":35549,"60326":35604,"60327":35556,"60328":35551,"60329":35568,"60330":35528,"60331":35550,"60332":35553,"60333":35560,"60334":35583,"60335":35567,"60336":35579,"60337":35985,"60338":35986,"60339":35984,"60340":36085,"60341":36078,"60342":36081,"60343":36080,"60344":36083,"60345":36204,"60346":36206,"60347":36261,"60348":36263,"60349":36403,"60350":36414,"60351":36408,"60352":36416,"60353":36421,"60354":36406,"60355":36412,"60356":36413,"60357":36417,"60358":36400,"60359":36415,"60360":36541,"60361":36662,"60362":36654,"60363":36661,"60364":36658,"60365":36665,"60366":36663,"60367":36660,"60368":36982,"60369":36985,"60370":36987,"60371":36998,"60372":37114,"60373":37171,"60374":37173,"60375":37174,"60376":37267,"60377":37264,"60378":37265,"60379":37261,"60380":37263,"60381":37671,"60382":37662,"60383":37640,"60384":37663,"60385":37638,"60386":37647,"60387":37754,"60388":37688,"60389":37692,"60390":37659,"60391":37667,"60392":37650,"60393":37633,"60394":37702,"60395":37677,"60396":37646,"60397":37645,"60398":37579,"60399":37661,"60400":37626,"60401":37669,"60402":37651,"60403":37625,"60404":37623,"60405":37684,"60406":37634,"60407":37668,"60408":37631,"60409":37673,"60410":37689,"60411":37685,"60412":37674,"60413":37652,"60414":37644,"60480":37643,"60481":37630,"60482":37641,"60483":37632,"60484":37627,"60485":37654,"60486":38332,"60487":38349,"60488":38334,"60489":38329,"60490":38330,"60491":38326,"60492":38335,"60493":38325,"60494":38333,"60495":38569,"60496":38612,"60497":38667,"60498":38674,"60499":38672,"60500":38809,"60501":38807,"60502":38804,"60503":38896,"60504":38904,"60505":38965,"60506":38959,"60507":38962,"60508":39204,"60509":39199,"60510":39207,"60511":39209,"60512":39326,"60513":39406,"60514":39404,"60515":39397,"60516":39396,"60517":39408,"60518":39395,"60519":39402,"60520":39401,"60521":39399,"60522":39609,"60523":39615,"60524":39604,"60525":39611,"60526":39670,"60527":39674,"60528":39673,"60529":39671,"60530":39731,"60531":39808,"60532":39813,"60533":39815,"60534":39804,"60535":39806,"60536":39803,"60537":39810,"60538":39827,"60539":39826,"60540":39824,"60541":39802,"60542":39829,"60577":39805,"60578":39816,"60579":40229,"60580":40215,"60581":40224,"60582":40222,"60583":40212,"60584":40233,"60585":40221,"60586":40216,"60587":40226,"60588":40208,"60589":40217,"60590":40223,"60591":40584,"60592":40582,"60593":40583,"60594":40622,"60595":40621,"60596":40661,"60597":40662,"60598":40698,"60599":40722,"60600":40765,"60601":20774,"60602":20773,"60603":20770,"60604":20772,"60605":20768,"60606":20777,"60607":21236,"60608":22163,"60609":22156,"60610":22157,"60611":22150,"60612":22148,"60613":22147,"60614":22142,"60615":22146,"60616":22143,"60617":22145,"60618":22742,"60619":22740,"60620":22735,"60621":22738,"60622":23341,"60623":23333,"60624":23346,"60625":23331,"60626":23340,"60627":23335,"60628":23334,"60629":23343,"60630":23342,"60631":23419,"60632":23537,"60633":23538,"60634":23991,"60635":24172,"60636":24170,"60637":24510,"60638":24507,"60639":25027,"60640":25013,"60641":25020,"60642":25063,"60643":25056,"60644":25061,"60645":25060,"60646":25064,"60647":25054,"60648":25839,"60649":25833,"60650":25827,"60651":25835,"60652":25828,"60653":25832,"60654":25985,"60655":25984,"60656":26038,"60657":26074,"60658":26322,"60659":27277,"60660":27286,"60661":27265,"60662":27301,"60663":27273,"60664":27295,"60665":27291,"60666":27297,"60667":27294,"60668":27271,"60669":27283,"60670":27278,"60736":27285,"60737":27267,"60738":27304,"60739":27300,"60740":27281,"60741":27263,"60742":27302,"60743":27290,"60744":27269,"60745":27276,"60746":27282,"60747":27483,"60748":27565,"60749":27657,"60750":28620,"60751":28585,"60752":28660,"60753":28628,"60754":28643,"60755":28636,"60756":28653,"60757":28647,"60758":28646,"60759":28638,"60760":28658,"60761":28637,"60762":28642,"60763":28648,"60764":29153,"60765":29169,"60766":29160,"60767":29170,"60768":29156,"60769":29168,"60770":29154,"60771":29555,"60772":29550,"60773":29551,"60774":29847,"60775":29874,"60776":29867,"60777":29840,"60778":29866,"60779":29869,"60780":29873,"60781":29861,"60782":29871,"60783":29968,"60784":29969,"60785":29970,"60786":29967,"60787":30084,"60788":30275,"60789":30280,"60790":30281,"60791":30279,"60792":30372,"60793":30441,"60794":30645,"60795":30635,"60796":30642,"60797":30647,"60798":30646,"60833":30644,"60834":30641,"60835":30632,"60836":30704,"60837":30963,"60838":30973,"60839":30978,"60840":30971,"60841":30972,"60842":30962,"60843":30981,"60844":30969,"60845":30974,"60846":30980,"60847":31147,"60848":31144,"60849":31324,"60850":31323,"60851":31318,"60852":31320,"60853":31316,"60854":31322,"60855":31422,"60856":31424,"60857":31425,"60858":31749,"60859":31759,"60860":31730,"60861":31744,"60862":31743,"60863":31739,"60864":31758,"60865":31732,"60866":31755,"60867":31731,"60868":31746,"60869":31753,"60870":31747,"60871":31745,"60872":31736,"60873":31741,"60874":31750,"60875":31728,"60876":31729,"60877":31760,"60878":31754,"60879":31976,"60880":32301,"60881":32316,"60882":32322,"60883":32307,"60884":38984,"60885":32312,"60886":32298,"60887":32329,"60888":32320,"60889":32327,"60890":32297,"60891":32332,"60892":32304,"60893":32315,"60894":32310,"60895":32324,"60896":32314,"60897":32581,"60898":32639,"60899":32638,"60900":32637,"60901":32756,"60902":32754,"60903":32812,"60904":33211,"60905":33220,"60906":33228,"60907":33226,"60908":33221,"60909":33223,"60910":33212,"60911":33257,"60912":33371,"60913":33370,"60914":33372,"60915":34179,"60916":34176,"60917":34191,"60918":34215,"60919":34197,"60920":34208,"60921":34187,"60922":34211,"60923":34171,"60924":34212,"60925":34202,"60926":34206,"60992":34167,"60993":34172,"60994":34185,"60995":34209,"60996":34170,"60997":34168,"60998":34135,"60999":34190,"61000":34198,"61001":34182,"61002":34189,"61003":34201,"61004":34205,"61005":34177,"61006":34210,"61007":34178,"61008":34184,"61009":34181,"61010":34169,"61011":34166,"61012":34200,"61013":34192,"61014":34207,"61015":34408,"61016":34750,"61017":34730,"61018":34733,"61019":34757,"61020":34736,"61021":34732,"61022":34745,"61023":34741,"61024":34748,"61025":34734,"61026":34761,"61027":34755,"61028":34754,"61029":34764,"61030":34743,"61031":34735,"61032":34756,"61033":34762,"61034":34740,"61035":34742,"61036":34751,"61037":34744,"61038":34749,"61039":34782,"61040":34738,"61041":35125,"61042":35123,"61043":35132,"61044":35134,"61045":35137,"61046":35154,"61047":35127,"61048":35138,"61049":35245,"61050":35247,"61051":35246,"61052":35314,"61053":35315,"61054":35614,"61089":35608,"61090":35606,"61091":35601,"61092":35589,"61093":35595,"61094":35618,"61095":35599,"61096":35602,"61097":35605,"61098":35591,"61099":35597,"61100":35592,"61101":35590,"61102":35612,"61103":35603,"61104":35610,"61105":35919,"61106":35952,"61107":35954,"61108":35953,"61109":35951,"61110":35989,"61111":35988,"61112":36089,"61113":36207,"61114":36430,"61115":36429,"61116":36435,"61117":36432,"61118":36428,"61119":36423,"61120":36675,"61121":36672,"61122":36997,"61123":36990,"61124":37176,"61125":37274,"61126":37282,"61127":37275,"61128":37273,"61129":37279,"61130":37281,"61131":37277,"61132":37280,"61133":37793,"61134":37763,"61135":37807,"61136":37732,"61137":37718,"61138":37703,"61139":37756,"61140":37720,"61141":37724,"61142":37750,"61143":37705,"61144":37712,"61145":37713,"61146":37728,"61147":37741,"61148":37775,"61149":37708,"61150":37738,"61151":37753,"61152":37719,"61153":37717,"61154":37714,"61155":37711,"61156":37745,"61157":37751,"61158":37755,"61159":37729,"61160":37726,"61161":37731,"61162":37735,"61163":37760,"61164":37710,"61165":37721,"61166":38343,"61167":38336,"61168":38345,"61169":38339,"61170":38341,"61171":38327,"61172":38574,"61173":38576,"61174":38572,"61175":38688,"61176":38687,"61177":38680,"61178":38685,"61179":38681,"61180":38810,"61181":38817,"61182":38812,"61248":38814,"61249":38813,"61250":38869,"61251":38868,"61252":38897,"61253":38977,"61254":38980,"61255":38986,"61256":38985,"61257":38981,"61258":38979,"61259":39205,"61260":39211,"61261":39212,"61262":39210,"61263":39219,"61264":39218,"61265":39215,"61266":39213,"61267":39217,"61268":39216,"61269":39320,"61270":39331,"61271":39329,"61272":39426,"61273":39418,"61274":39412,"61275":39415,"61276":39417,"61277":39416,"61278":39414,"61279":39419,"61280":39421,"61281":39422,"61282":39420,"61283":39427,"61284":39614,"61285":39678,"61286":39677,"61287":39681,"61288":39676,"61289":39752,"61290":39834,"61291":39848,"61292":39838,"61293":39835,"61294":39846,"61295":39841,"61296":39845,"61297":39844,"61298":39814,"61299":39842,"61300":39840,"61301":39855,"61302":40243,"61303":40257,"61304":40295,"61305":40246,"61306":40238,"61307":40239,"61308":40241,"61309":40248,"61310":40240,"61345":40261,"61346":40258,"61347":40259,"61348":40254,"61349":40247,"61350":40256,"61351":40253,"61352":32757,"61353":40237,"61354":40586,"61355":40585,"61356":40589,"61357":40624,"61358":40648,"61359":40666,"61360":40699,"61361":40703,"61362":40740,"61363":40739,"61364":40738,"61365":40788,"61366":40864,"61367":20785,"61368":20781,"61369":20782,"61370":22168,"61371":22172,"61372":22167,"61373":22170,"61374":22173,"61375":22169,"61376":22896,"61377":23356,"61378":23657,"61379":23658,"61380":24000,"61381":24173,"61382":24174,"61383":25048,"61384":25055,"61385":25069,"61386":25070,"61387":25073,"61388":25066,"61389":25072,"61390":25067,"61391":25046,"61392":25065,"61393":25855,"61394":25860,"61395":25853,"61396":25848,"61397":25857,"61398":25859,"61399":25852,"61400":26004,"61401":26075,"61402":26330,"61403":26331,"61404":26328,"61405":27333,"61406":27321,"61407":27325,"61408":27361,"61409":27334,"61410":27322,"61411":27318,"61412":27319,"61413":27335,"61414":27316,"61415":27309,"61416":27486,"61417":27593,"61418":27659,"61419":28679,"61420":28684,"61421":28685,"61422":28673,"61423":28677,"61424":28692,"61425":28686,"61426":28671,"61427":28672,"61428":28667,"61429":28710,"61430":28668,"61431":28663,"61432":28682,"61433":29185,"61434":29183,"61435":29177,"61436":29187,"61437":29181,"61438":29558,"61504":29880,"61505":29888,"61506":29877,"61507":29889,"61508":29886,"61509":29878,"61510":29883,"61511":29890,"61512":29972,"61513":29971,"61514":30300,"61515":30308,"61516":30297,"61517":30288,"61518":30291,"61519":30295,"61520":30298,"61521":30374,"61522":30397,"61523":30444,"61524":30658,"61525":30650,"61526":30975,"61527":30988,"61528":30995,"61529":30996,"61530":30985,"61531":30992,"61532":30994,"61533":30993,"61534":31149,"61535":31148,"61536":31327,"61537":31772,"61538":31785,"61539":31769,"61540":31776,"61541":31775,"61542":31789,"61543":31773,"61544":31782,"61545":31784,"61546":31778,"61547":31781,"61548":31792,"61549":32348,"61550":32336,"61551":32342,"61552":32355,"61553":32344,"61554":32354,"61555":32351,"61556":32337,"61557":32352,"61558":32343,"61559":32339,"61560":32693,"61561":32691,"61562":32759,"61563":32760,"61564":32885,"61565":33233,"61566":33234,"61601":33232,"61602":33375,"61603":33374,"61604":34228,"61605":34246,"61606":34240,"61607":34243,"61608":34242,"61609":34227,"61610":34229,"61611":34237,"61612":34247,"61613":34244,"61614":34239,"61615":34251,"61616":34254,"61617":34248,"61618":34245,"61619":34225,"61620":34230,"61621":34258,"61622":34340,"61623":34232,"61624":34231,"61625":34238,"61626":34409,"61627":34791,"61628":34790,"61629":34786,"61630":34779,"61631":34795,"61632":34794,"61633":34789,"61634":34783,"61635":34803,"61636":34788,"61637":34772,"61638":34780,"61639":34771,"61640":34797,"61641":34776,"61642":34787,"61643":34724,"61644":34775,"61645":34777,"61646":34817,"61647":34804,"61648":34792,"61649":34781,"61650":35155,"61651":35147,"61652":35151,"61653":35148,"61654":35142,"61655":35152,"61656":35153,"61657":35145,"61658":35626,"61659":35623,"61660":35619,"61661":35635,"61662":35632,"61663":35637,"61664":35655,"61665":35631,"61666":35644,"61667":35646,"61668":35633,"61669":35621,"61670":35639,"61671":35622,"61672":35638,"61673":35630,"61674":35620,"61675":35643,"61676":35645,"61677":35642,"61678":35906,"61679":35957,"61680":35993,"61681":35992,"61682":35991,"61683":36094,"61684":36100,"61685":36098,"61686":36096,"61687":36444,"61688":36450,"61689":36448,"61690":36439,"61691":36438,"61692":36446,"61693":36453,"61694":36455,"61760":36443,"61761":36442,"61762":36449,"61763":36445,"61764":36457,"61765":36436,"61766":36678,"61767":36679,"61768":36680,"61769":36683,"61770":37160,"61771":37178,"61772":37179,"61773":37182,"61774":37288,"61775":37285,"61776":37287,"61777":37295,"61778":37290,"61779":37813,"61780":37772,"61781":37778,"61782":37815,"61783":37787,"61784":37789,"61785":37769,"61786":37799,"61787":37774,"61788":37802,"61789":37790,"61790":37798,"61791":37781,"61792":37768,"61793":37785,"61794":37791,"61795":37773,"61796":37809,"61797":37777,"61798":37810,"61799":37796,"61800":37800,"61801":37812,"61802":37795,"61803":37797,"61804":38354,"61805":38355,"61806":38353,"61807":38579,"61808":38615,"61809":38618,"61810":24002,"61811":38623,"61812":38616,"61813":38621,"61814":38691,"61815":38690,"61816":38693,"61817":38828,"61818":38830,"61819":38824,"61820":38827,"61821":38820,"61822":38826,"61857":38818,"61858":38821,"61859":38871,"61860":38873,"61861":38870,"61862":38872,"61863":38906,"61864":38992,"61865":38993,"61866":38994,"61867":39096,"61868":39233,"61869":39228,"61870":39226,"61871":39439,"61872":39435,"61873":39433,"61874":39437,"61875":39428,"61876":39441,"61877":39434,"61878":39429,"61879":39431,"61880":39430,"61881":39616,"61882":39644,"61883":39688,"61884":39684,"61885":39685,"61886":39721,"61887":39733,"61888":39754,"61889":39756,"61890":39755,"61891":39879,"61892":39878,"61893":39875,"61894":39871,"61895":39873,"61896":39861,"61897":39864,"61898":39891,"61899":39862,"61900":39876,"61901":39865,"61902":39869,"61903":40284,"61904":40275,"61905":40271,"61906":40266,"61907":40283,"61908":40267,"61909":40281,"61910":40278,"61911":40268,"61912":40279,"61913":40274,"61914":40276,"61915":40287,"61916":40280,"61917":40282,"61918":40590,"61919":40588,"61920":40671,"61921":40705,"61922":40704,"61923":40726,"61924":40741,"61925":40747,"61926":40746,"61927":40745,"61928":40744,"61929":40780,"61930":40789,"61931":20788,"61932":20789,"61933":21142,"61934":21239,"61935":21428,"61936":22187,"61937":22189,"61938":22182,"61939":22183,"61940":22186,"61941":22188,"61942":22746,"61943":22749,"61944":22747,"61945":22802,"61946":23357,"61947":23358,"61948":23359,"61949":24003,"61950":24176,"62016":24511,"62017":25083,"62018":25863,"62019":25872,"62020":25869,"62021":25865,"62022":25868,"62023":25870,"62024":25988,"62025":26078,"62026":26077,"62027":26334,"62028":27367,"62029":27360,"62030":27340,"62031":27345,"62032":27353,"62033":27339,"62034":27359,"62035":27356,"62036":27344,"62037":27371,"62038":27343,"62039":27341,"62040":27358,"62041":27488,"62042":27568,"62043":27660,"62044":28697,"62045":28711,"62046":28704,"62047":28694,"62048":28715,"62049":28705,"62050":28706,"62051":28707,"62052":28713,"62053":28695,"62054":28708,"62055":28700,"62056":28714,"62057":29196,"62058":29194,"62059":29191,"62060":29186,"62061":29189,"62062":29349,"62063":29350,"62064":29348,"62065":29347,"62066":29345,"62067":29899,"62068":29893,"62069":29879,"62070":29891,"62071":29974,"62072":30304,"62073":30665,"62074":30666,"62075":30660,"62076":30705,"62077":31005,"62078":31003,"62113":31009,"62114":31004,"62115":30999,"62116":31006,"62117":31152,"62118":31335,"62119":31336,"62120":31795,"62121":31804,"62122":31801,"62123":31788,"62124":31803,"62125":31980,"62126":31978,"62127":32374,"62128":32373,"62129":32376,"62130":32368,"62131":32375,"62132":32367,"62133":32378,"62134":32370,"62135":32372,"62136":32360,"62137":32587,"62138":32586,"62139":32643,"62140":32646,"62141":32695,"62142":32765,"62143":32766,"62144":32888,"62145":33239,"62146":33237,"62147":33380,"62148":33377,"62149":33379,"62150":34283,"62151":34289,"62152":34285,"62153":34265,"62154":34273,"62155":34280,"62156":34266,"62157":34263,"62158":34284,"62159":34290,"62160":34296,"62161":34264,"62162":34271,"62163":34275,"62164":34268,"62165":34257,"62166":34288,"62167":34278,"62168":34287,"62169":34270,"62170":34274,"62171":34816,"62172":34810,"62173":34819,"62174":34806,"62175":34807,"62176":34825,"62177":34828,"62178":34827,"62179":34822,"62180":34812,"62181":34824,"62182":34815,"62183":34826,"62184":34818,"62185":35170,"62186":35162,"62187":35163,"62188":35159,"62189":35169,"62190":35164,"62191":35160,"62192":35165,"62193":35161,"62194":35208,"62195":35255,"62196":35254,"62197":35318,"62198":35664,"62199":35656,"62200":35658,"62201":35648,"62202":35667,"62203":35670,"62204":35668,"62205":35659,"62206":35669,"62272":35665,"62273":35650,"62274":35666,"62275":35671,"62276":35907,"62277":35959,"62278":35958,"62279":35994,"62280":36102,"62281":36103,"62282":36105,"62283":36268,"62284":36266,"62285":36269,"62286":36267,"62287":36461,"62288":36472,"62289":36467,"62290":36458,"62291":36463,"62292":36475,"62293":36546,"62294":36690,"62295":36689,"62296":36687,"62297":36688,"62298":36691,"62299":36788,"62300":37184,"62301":37183,"62302":37296,"62303":37293,"62304":37854,"62305":37831,"62306":37839,"62307":37826,"62308":37850,"62309":37840,"62310":37881,"62311":37868,"62312":37836,"62313":37849,"62314":37801,"62315":37862,"62316":37834,"62317":37844,"62318":37870,"62319":37859,"62320":37845,"62321":37828,"62322":37838,"62323":37824,"62324":37842,"62325":37863,"62326":38269,"62327":38362,"62328":38363,"62329":38625,"62330":38697,"62331":38699,"62332":38700,"62333":38696,"62334":38694,"62369":38835,"62370":38839,"62371":38838,"62372":38877,"62373":38878,"62374":38879,"62375":39004,"62376":39001,"62377":39005,"62378":38999,"62379":39103,"62380":39101,"62381":39099,"62382":39102,"62383":39240,"62384":39239,"62385":39235,"62386":39334,"62387":39335,"62388":39450,"62389":39445,"62390":39461,"62391":39453,"62392":39460,"62393":39451,"62394":39458,"62395":39456,"62396":39463,"62397":39459,"62398":39454,"62399":39452,"62400":39444,"62401":39618,"62402":39691,"62403":39690,"62404":39694,"62405":39692,"62406":39735,"62407":39914,"62408":39915,"62409":39904,"62410":39902,"62411":39908,"62412":39910,"62413":39906,"62414":39920,"62415":39892,"62416":39895,"62417":39916,"62418":39900,"62419":39897,"62420":39909,"62421":39893,"62422":39905,"62423":39898,"62424":40311,"62425":40321,"62426":40330,"62427":40324,"62428":40328,"62429":40305,"62430":40320,"62431":40312,"62432":40326,"62433":40331,"62434":40332,"62435":40317,"62436":40299,"62437":40308,"62438":40309,"62439":40304,"62440":40297,"62441":40325,"62442":40307,"62443":40315,"62444":40322,"62445":40303,"62446":40313,"62447":40319,"62448":40327,"62449":40296,"62450":40596,"62451":40593,"62452":40640,"62453":40700,"62454":40749,"62455":40768,"62456":40769,"62457":40781,"62458":40790,"62459":40791,"62460":40792,"62461":21303,"62462":22194,"62528":22197,"62529":22195,"62530":22755,"62531":23365,"62532":24006,"62533":24007,"62534":24302,"62535":24303,"62536":24512,"62537":24513,"62538":25081,"62539":25879,"62540":25878,"62541":25877,"62542":25875,"62543":26079,"62544":26344,"62545":26339,"62546":26340,"62547":27379,"62548":27376,"62549":27370,"62550":27368,"62551":27385,"62552":27377,"62553":27374,"62554":27375,"62555":28732,"62556":28725,"62557":28719,"62558":28727,"62559":28724,"62560":28721,"62561":28738,"62562":28728,"62563":28735,"62564":28730,"62565":28729,"62566":28736,"62567":28731,"62568":28723,"62569":28737,"62570":29203,"62571":29204,"62572":29352,"62573":29565,"62574":29564,"62575":29882,"62576":30379,"62577":30378,"62578":30398,"62579":30445,"62580":30668,"62581":30670,"62582":30671,"62583":30669,"62584":30706,"62585":31013,"62586":31011,"62587":31015,"62588":31016,"62589":31012,"62590":31017,"62625":31154,"62626":31342,"62627":31340,"62628":31341,"62629":31479,"62630":31817,"62631":31816,"62632":31818,"62633":31815,"62634":31813,"62635":31982,"62636":32379,"62637":32382,"62638":32385,"62639":32384,"62640":32698,"62641":32767,"62642":32889,"62643":33243,"62644":33241,"62645":33291,"62646":33384,"62647":33385,"62648":34338,"62649":34303,"62650":34305,"62651":34302,"62652":34331,"62653":34304,"62654":34294,"62655":34308,"62656":34313,"62657":34309,"62658":34316,"62659":34301,"62660":34841,"62661":34832,"62662":34833,"62663":34839,"62664":34835,"62665":34838,"62666":35171,"62667":35174,"62668":35257,"62669":35319,"62670":35680,"62671":35690,"62672":35677,"62673":35688,"62674":35683,"62675":35685,"62676":35687,"62677":35693,"62678":36270,"62679":36486,"62680":36488,"62681":36484,"62682":36697,"62683":36694,"62684":36695,"62685":36693,"62686":36696,"62687":36698,"62688":37005,"62689":37187,"62690":37185,"62691":37303,"62692":37301,"62693":37298,"62694":37299,"62695":37899,"62696":37907,"62697":37883,"62698":37920,"62699":37903,"62700":37908,"62701":37886,"62702":37909,"62703":37904,"62704":37928,"62705":37913,"62706":37901,"62707":37877,"62708":37888,"62709":37879,"62710":37895,"62711":37902,"62712":37910,"62713":37906,"62714":37882,"62715":37897,"62716":37880,"62717":37898,"62718":37887,"62784":37884,"62785":37900,"62786":37878,"62787":37905,"62788":37894,"62789":38366,"62790":38368,"62791":38367,"62792":38702,"62793":38703,"62794":38841,"62795":38843,"62796":38909,"62797":38910,"62798":39008,"62799":39010,"62800":39011,"62801":39007,"62802":39105,"62803":39106,"62804":39248,"62805":39246,"62806":39257,"62807":39244,"62808":39243,"62809":39251,"62810":39474,"62811":39476,"62812":39473,"62813":39468,"62814":39466,"62815":39478,"62816":39465,"62817":39470,"62818":39480,"62819":39469,"62820":39623,"62821":39626,"62822":39622,"62823":39696,"62824":39698,"62825":39697,"62826":39947,"62827":39944,"62828":39927,"62829":39941,"62830":39954,"62831":39928,"62832":40000,"62833":39943,"62834":39950,"62835":39942,"62836":39959,"62837":39956,"62838":39945,"62839":40351,"62840":40345,"62841":40356,"62842":40349,"62843":40338,"62844":40344,"62845":40336,"62846":40347,"62881":40352,"62882":40340,"62883":40348,"62884":40362,"62885":40343,"62886":40353,"62887":40346,"62888":40354,"62889":40360,"62890":40350,"62891":40355,"62892":40383,"62893":40361,"62894":40342,"62895":40358,"62896":40359,"62897":40601,"62898":40603,"62899":40602,"62900":40677,"62901":40676,"62902":40679,"62903":40678,"62904":40752,"62905":40750,"62906":40795,"62907":40800,"62908":40798,"62909":40797,"62910":40793,"62911":40849,"62912":20794,"62913":20793,"62914":21144,"62915":21143,"62916":22211,"62917":22205,"62918":22206,"62919":23368,"62920":23367,"62921":24011,"62922":24015,"62923":24305,"62924":25085,"62925":25883,"62926":27394,"62927":27388,"62928":27395,"62929":27384,"62930":27392,"62931":28739,"62932":28740,"62933":28746,"62934":28744,"62935":28745,"62936":28741,"62937":28742,"62938":29213,"62939":29210,"62940":29209,"62941":29566,"62942":29975,"62943":30314,"62944":30672,"62945":31021,"62946":31025,"62947":31023,"62948":31828,"62949":31827,"62950":31986,"62951":32394,"62952":32391,"62953":32392,"62954":32395,"62955":32390,"62956":32397,"62957":32589,"62958":32699,"62959":32816,"62960":33245,"62961":34328,"62962":34346,"62963":34342,"62964":34335,"62965":34339,"62966":34332,"62967":34329,"62968":34343,"62969":34350,"62970":34337,"62971":34336,"62972":34345,"62973":34334,"62974":34341,"63040":34857,"63041":34845,"63042":34843,"63043":34848,"63044":34852,"63045":34844,"63046":34859,"63047":34890,"63048":35181,"63049":35177,"63050":35182,"63051":35179,"63052":35322,"63053":35705,"63054":35704,"63055":35653,"63056":35706,"63057":35707,"63058":36112,"63059":36116,"63060":36271,"63061":36494,"63062":36492,"63063":36702,"63064":36699,"63065":36701,"63066":37190,"63067":37188,"63068":37189,"63069":37305,"63070":37951,"63071":37947,"63072":37942,"63073":37929,"63074":37949,"63075":37948,"63076":37936,"63077":37945,"63078":37930,"63079":37943,"63080":37932,"63081":37952,"63082":37937,"63083":38373,"63084":38372,"63085":38371,"63086":38709,"63087":38714,"63088":38847,"63089":38881,"63090":39012,"63091":39113,"63092":39110,"63093":39104,"63094":39256,"63095":39254,"63096":39481,"63097":39485,"63098":39494,"63099":39492,"63100":39490,"63101":39489,"63102":39482,"63137":39487,"63138":39629,"63139":39701,"63140":39703,"63141":39704,"63142":39702,"63143":39738,"63144":39762,"63145":39979,"63146":39965,"63147":39964,"63148":39980,"63149":39971,"63150":39976,"63151":39977,"63152":39972,"63153":39969,"63154":40375,"63155":40374,"63156":40380,"63157":40385,"63158":40391,"63159":40394,"63160":40399,"63161":40382,"63162":40389,"63163":40387,"63164":40379,"63165":40373,"63166":40398,"63167":40377,"63168":40378,"63169":40364,"63170":40392,"63171":40369,"63172":40365,"63173":40396,"63174":40371,"63175":40397,"63176":40370,"63177":40570,"63178":40604,"63179":40683,"63180":40686,"63181":40685,"63182":40731,"63183":40728,"63184":40730,"63185":40753,"63186":40782,"63187":40805,"63188":40804,"63189":40850,"63190":20153,"63191":22214,"63192":22213,"63193":22219,"63194":22897,"63195":23371,"63196":23372,"63197":24021,"63198":24017,"63199":24306,"63200":25889,"63201":25888,"63202":25894,"63203":25890,"63204":27403,"63205":27400,"63206":27401,"63207":27661,"63208":28757,"63209":28758,"63210":28759,"63211":28754,"63212":29214,"63213":29215,"63214":29353,"63215":29567,"63216":29912,"63217":29909,"63218":29913,"63219":29911,"63220":30317,"63221":30381,"63222":31029,"63223":31156,"63224":31344,"63225":31345,"63226":31831,"63227":31836,"63228":31833,"63229":31835,"63230":31834,"63296":31988,"63297":31985,"63298":32401,"63299":32591,"63300":32647,"63301":33246,"63302":33387,"63303":34356,"63304":34357,"63305":34355,"63306":34348,"63307":34354,"63308":34358,"63309":34860,"63310":34856,"63311":34854,"63312":34858,"63313":34853,"63314":35185,"63315":35263,"63316":35262,"63317":35323,"63318":35710,"63319":35716,"63320":35714,"63321":35718,"63322":35717,"63323":35711,"63324":36117,"63325":36501,"63326":36500,"63327":36506,"63328":36498,"63329":36496,"63330":36502,"63331":36503,"63332":36704,"63333":36706,"63334":37191,"63335":37964,"63336":37968,"63337":37962,"63338":37963,"63339":37967,"63340":37959,"63341":37957,"63342":37960,"63343":37961,"63344":37958,"63345":38719,"63346":38883,"63347":39018,"63348":39017,"63349":39115,"63350":39252,"63351":39259,"63352":39502,"63353":39507,"63354":39508,"63355":39500,"63356":39503,"63357":39496,"63358":39498,"63393":39497,"63394":39506,"63395":39504,"63396":39632,"63397":39705,"63398":39723,"63399":39739,"63400":39766,"63401":39765,"63402":40006,"63403":40008,"63404":39999,"63405":40004,"63406":39993,"63407":39987,"63408":40001,"63409":39996,"63410":39991,"63411":39988,"63412":39986,"63413":39997,"63414":39990,"63415":40411,"63416":40402,"63417":40414,"63418":40410,"63419":40395,"63420":40400,"63421":40412,"63422":40401,"63423":40415,"63424":40425,"63425":40409,"63426":40408,"63427":40406,"63428":40437,"63429":40405,"63430":40413,"63431":40630,"63432":40688,"63433":40757,"63434":40755,"63435":40754,"63436":40770,"63437":40811,"63438":40853,"63439":40866,"63440":20797,"63441":21145,"63442":22760,"63443":22759,"63444":22898,"63445":23373,"63446":24024,"63447":34863,"63448":24399,"63449":25089,"63450":25091,"63451":25092,"63452":25897,"63453":25893,"63454":26006,"63455":26347,"63456":27409,"63457":27410,"63458":27407,"63459":27594,"63460":28763,"63461":28762,"63462":29218,"63463":29570,"63464":29569,"63465":29571,"63466":30320,"63467":30676,"63468":31847,"63469":31846,"63470":32405,"63471":33388,"63472":34362,"63473":34368,"63474":34361,"63475":34364,"63476":34353,"63477":34363,"63478":34366,"63479":34864,"63480":34866,"63481":34862,"63482":34867,"63483":35190,"63484":35188,"63485":35187,"63486":35326,"63552":35724,"63553":35726,"63554":35723,"63555":35720,"63556":35909,"63557":36121,"63558":36504,"63559":36708,"63560":36707,"63561":37308,"63562":37986,"63563":37973,"63564":37981,"63565":37975,"63566":37982,"63567":38852,"63568":38853,"63569":38912,"63570":39510,"63571":39513,"63572":39710,"63573":39711,"63574":39712,"63575":40018,"63576":40024,"63577":40016,"63578":40010,"63579":40013,"63580":40011,"63581":40021,"63582":40025,"63583":40012,"63584":40014,"63585":40443,"63586":40439,"63587":40431,"63588":40419,"63589":40427,"63590":40440,"63591":40420,"63592":40438,"63593":40417,"63594":40430,"63595":40422,"63596":40434,"63597":40432,"63598":40418,"63599":40428,"63600":40436,"63601":40435,"63602":40424,"63603":40429,"63604":40642,"63605":40656,"63606":40690,"63607":40691,"63608":40710,"63609":40732,"63610":40760,"63611":40759,"63612":40758,"63613":40771,"63614":40783,"63649":40817,"63650":40816,"63651":40814,"63652":40815,"63653":22227,"63654":22221,"63655":23374,"63656":23661,"63657":25901,"63658":26349,"63659":26350,"63660":27411,"63661":28767,"63662":28769,"63663":28765,"63664":28768,"63665":29219,"63666":29915,"63667":29925,"63668":30677,"63669":31032,"63670":31159,"63671":31158,"63672":31850,"63673":32407,"63674":32649,"63675":33389,"63676":34371,"63677":34872,"63678":34871,"63679":34869,"63680":34891,"63681":35732,"63682":35733,"63683":36510,"63684":36511,"63685":36512,"63686":36509,"63687":37310,"63688":37309,"63689":37314,"63690":37995,"63691":37992,"63692":37993,"63693":38629,"63694":38726,"63695":38723,"63696":38727,"63697":38855,"63698":38885,"63699":39518,"63700":39637,"63701":39769,"63702":40035,"63703":40039,"63704":40038,"63705":40034,"63706":40030,"63707":40032,"63708":40450,"63709":40446,"63710":40455,"63711":40451,"63712":40454,"63713":40453,"63714":40448,"63715":40449,"63716":40457,"63717":40447,"63718":40445,"63719":40452,"63720":40608,"63721":40734,"63722":40774,"63723":40820,"63724":40821,"63725":40822,"63726":22228,"63727":25902,"63728":26040,"63729":27416,"63730":27417,"63731":27415,"63732":27418,"63733":28770,"63734":29222,"63735":29354,"63736":30680,"63737":30681,"63738":31033,"63739":31849,"63740":31851,"63741":31990,"63742":32410,"63808":32408,"63809":32411,"63810":32409,"63811":33248,"63812":33249,"63813":34374,"63814":34375,"63815":34376,"63816":35193,"63817":35194,"63818":35196,"63819":35195,"63820":35327,"63821":35736,"63822":35737,"63823":36517,"63824":36516,"63825":36515,"63826":37998,"63827":37997,"63828":37999,"63829":38001,"63830":38003,"63831":38729,"63832":39026,"63833":39263,"63834":40040,"63835":40046,"63836":40045,"63837":40459,"63838":40461,"63839":40464,"63840":40463,"63841":40466,"63842":40465,"63843":40609,"63844":40693,"63845":40713,"63846":40775,"63847":40824,"63848":40827,"63849":40826,"63850":40825,"63851":22302,"63852":28774,"63853":31855,"63854":34876,"63855":36274,"63856":36518,"63857":37315,"63858":38004,"63859":38008,"63860":38006,"63861":38005,"63862":39520,"63863":40052,"63864":40051,"63865":40049,"63866":40053,"63867":40468,"63868":40467,"63869":40694,"63870":40714,"63905":40868,"63906":28776,"63907":28773,"63908":31991,"63909":34410,"63910":34878,"63911":34877,"63912":34879,"63913":35742,"63914":35996,"63915":36521,"63916":36553,"63917":38731,"63918":39027,"63919":39028,"63920":39116,"63921":39265,"63922":39339,"63923":39524,"63924":39526,"63925":39527,"63926":39716,"63927":40469,"63928":40471,"63929":40776,"63930":25095,"63931":27422,"63932":29223,"63933":34380,"63934":36520,"63935":38018,"63936":38016,"63937":38017,"63938":39529,"63939":39528,"63940":39726,"63941":40473,"63942":29225,"63943":34379,"63944":35743,"63945":38019,"63946":40057,"63947":40631,"63948":30325,"63949":39531,"63950":40058,"63951":40477,"63952":28777,"63953":28778,"63954":40612,"63955":40830,"63956":40777,"63957":40856,"63958":30849,"63959":37561,"63960":35023,"63961":22715,"63962":24658,"63963":31911,"63964":23290,"63965":9556,"63966":9574,"63967":9559,"63968":9568,"63969":9580,"63970":9571,"63971":9562,"63972":9577,"63973":9565,"63974":9554,"63975":9572,"63976":9557,"63977":9566,"63978":9578,"63979":9569,"63980":9560,"63981":9575,"63982":9563,"63983":9555,"63984":9573,"63985":9558,"63986":9567,"63987":9579,"63988":9570,"63989":9561,"63990":9576,"63991":9564,"63992":9553,"63993":9552,"63994":9581,"63995":9582,"63996":9584,"63997":9583,"63998":9619,"64064":57344,"64065":57345,"64066":57346,"64067":57347,"64068":57348,"64069":57349,"64070":57350,"64071":57351,"64072":57352,"64073":57353,"64074":57354,"64075":57355,"64076":57356,"64077":57357,"64078":57358,"64079":57359,"64080":57360,"64081":57361,"64082":57362,"64083":57363,"64084":57364,"64085":57365,"64086":57366,"64087":57367,"64088":57368,"64089":57369,"64090":57370,"64091":57371,"64092":57372,"64093":57373,"64094":57374,"64095":57375,"64096":57376,"64097":57377,"64098":57378,"64099":57379,"64100":29234,"64101":29244,"64102":29286,"64103":29314,"64104":29327,"64105":29343,"64106":29357,"64107":29361,"64108":29368,"64109":29374,"64110":29389,"64111":29403,"64112":29476,"64113":29487,"64114":29496,"64115":29497,"64116":29629,"64117":29646,"64118":29681,"64119":29814,"64120":29858,"64121":29953,"64122":29977,"64123":29987,"64124":30012,"64125":30020,"64126":30025,"64161":30029,"64162":30061,"64163":30082,"64164":30083,"64165":30089,"64166":30124,"64167":30166,"64168":30185,"64169":30272,"64170":30285,"64171":30292,"64172":30312,"64173":30336,"64174":30339,"64175":30352,"64176":30391,"64177":30393,"64178":30477,"64179":30494,"64180":30531,"64181":30744,"64182":30748,"64183":30777,"64184":30780,"64185":30791,"64186":30806,"64187":30842,"64188":30901,"64189":30905,"64190":30918,"64191":30937,"64192":30983,"64193":31024,"64194":31028,"64195":31035,"64196":31104,"64197":31133,"64198":31171,"64199":31201,"64200":31238,"64201":31246,"64202":31299,"64203":31312,"64204":31427,"64205":31442,"64206":31458,"64207":31463,"64208":31480,"64209":31542,"64210":31586,"64211":31596,"64212":31610,"64213":31611,"64214":31642,"64215":31646,"64216":31647,"64217":31650,"64218":31655,"64219":31734,"64220":31762,"64221":31764,"64222":31823,"64223":31830,"64224":31832,"64225":31915,"64226":31994,"64227":32072,"64228":32075,"64229":32119,"64230":32212,"64231":32213,"64232":32214,"64233":32228,"64234":32333,"64235":32349,"64236":32383,"64237":32393,"64238":32398,"64239":32402,"64240":32468,"64241":32497,"64242":32530,"64243":32560,"64244":32625,"64245":32642,"64246":32686,"64247":32710,"64248":32800,"64249":32802,"64250":32805,"64251":32817,"64252":32863,"64253":32872,"64254":32940,"64320":32951,"64321":20890,"64322":21526,"64323":21524,"64324":13535,"64325":19581,"64326":25283,"64327":57508,"64328":57509,"64329":57510,"64330":21707,"64331":57512,"64332":21948,"64333":32950,"64334":20903,"64335":57516,"64336":57517,"64337":57518,"64338":21779,"64339":33318,"64340":57521,"64341":21790,"64342":21982,"64343":25529,"64344":26776,"64345":57526,"64346":21762,"64347":21865,"64348":30132,"64349":25596,"64350":40580,"64351":37418,"64352":57533,"64353":57534,"64354":57535,"64355":35015,"64356":24734,"64357":22053,"64358":28997,"64359":23282,"64360":57541,"64361":21135,"64362":22095,"64363":30611,"64364":34694,"64365":36397,"64366":33206,"64367":13822,"64368":29174,"64369":57550,"64370":34820,"64371":37765,"64372":57553,"64373":57554,"64374":30310,"64375":57556,"64376":40050,"64377":57558,"64378":25294,"64379":57560,"64380":40598,"64381":18825,"64382":31955,"64417":36570,"64418":40619,"64419":25831,"64420":57567,"64421":33450,"64422":26471,"64423":28018,"64424":30982,"64425":31172,"64426":32590,"64427":34798,"64428":57575,"64429":33726,"64430":34351,"64431":35237,"64432":17935,"64433":57580,"64434":39112,"64435":39232,"64436":39245,"64437":39436,"64438":39639,"64439":40600,"64440":40742,"64441":57588,"64442":20227,"64443":57590,"64444":20281,"64445":20274,"64446":20395,"64447":20566,"64448":57595,"64449":20526,"64450":20646,"64451":20697,"64452":20750,"64453":20717,"64454":20737,"64455":20980,"64456":21023,"64457":21088,"64458":21079,"64459":21146,"64460":21201,"64461":21216,"64462":21217,"64463":20947,"64464":20959,"64465":30022,"64466":20990,"64467":21298,"64468":21292,"64469":21299,"64470":21419,"64471":21418,"64472":40846,"64473":21609,"64474":21660,"64475":21466,"64476":27338,"64477":21875,"64478":57625,"64479":13782,"64480":57627,"64481":22033,"64482":22093,"64483":57630,"64484":22100,"64485":13811,"64486":57633,"64487":22342,"64488":22394,"64489":22375,"64490":22586,"64491":22502,"64492":22493,"64493":22592,"64494":57641,"64495":22566,"64496":22748,"64497":22967,"64498":23001,"64499":23584,"64500":57647,"64501":23761,"64502":23785,"64503":23878,"64504":23950,"64505":57652,"64506":24053,"64507":24075,"64508":24082,"64509":24110,"64510":24158,"64576":57658,"64577":24397,"64578":31357,"64579":23491,"64580":31419,"64581":57663,"64582":57664,"64583":24484,"64584":24506,"64585":24508,"64586":57668,"64587":24695,"64588":24740,"64589":24755,"64590":24829,"64591":24880,"64592":57674,"64593":24988,"64594":24921,"64595":24957,"64596":24924,"64597":25471,"64598":25058,"64599":28885,"64600":25145,"64601":25192,"64602":25221,"64603":25218,"64604":25254,"64605":25301,"64606":25444,"64607":25397,"64608":25744,"64609":14940,"64610":26184,"64611":26215,"64612":26398,"64613":26627,"64614":26540,"64615":26617,"64616":26806,"64617":26924,"64618":26881,"64619":26880,"64620":26826,"64621":26995,"64622":27008,"64623":26942,"64624":57706,"64625":27058,"64626":27072,"64627":27018,"64628":27130,"64629":27113,"64630":27314,"64631":27218,"64632":27293,"64633":27421,"64634":27474,"64635":27642,"64636":15569,"64637":27854,"64638":28239,"64673":28089,"64674":28484,"64675":57723,"64676":28634,"64677":28801,"64678":31180,"64679":28980,"64680":15820,"64681":29046,"64682":57730,"64683":57731,"64684":29205,"64685":29264,"64686":29319,"64687":29484,"64688":29362,"64689":29410,"64690":29442,"64691":29512,"64692":29480,"64693":29519,"64694":29553,"64695":25989,"64696":57744,"64697":29789,"64698":29800,"64699":29982,"64700":30035,"64701":30074,"64702":30369,"64703":30412,"64704":30500,"64705":30507,"64706":16485,"64707":30803,"64708":30931,"64709":30936,"64710":40318,"64711":30895,"64712":57760,"64713":24898,"64714":31145,"64715":39994,"64716":31188,"64717":57765,"64718":31277,"64719":31294,"64720":31305,"64721":31453,"64722":31450,"64723":30147,"64724":30215,"64725":30210,"64726":57774,"64727":30311,"64728":30319,"64729":22048,"64730":35431,"64731":40727,"64732":31519,"64733":31634,"64734":31651,"64735":31695,"64736":57784,"64737":31740,"64738":31810,"64739":31825,"64740":31837,"64741":31856,"64742":31870,"64743":31878,"64744":31875,"64745":31916,"64746":31943,"64747":31938,"64748":57796,"64749":31962,"64750":57798,"64751":32077,"64752":32090,"64753":32245,"64754":32295,"64755":32366,"64756":40597,"64757":21107,"64758":32797,"64759":32866,"64760":32867,"64761":32870,"64762":32859,"64763":32934,"64764":33027,"64765":40577,"64766":33224,"64832":57815,"64833":36768,"64834":33270,"64835":33306,"64836":57819,"64837":34673,"64838":34729,"64839":34700,"64840":40606,"64841":34753,"64842":40476,"64843":57826,"64844":34774,"64845":34805,"64846":34831,"64847":34840,"64848":34861,"64849":34882,"64850":34885,"64851":39989,"64852":34926,"64853":34986,"64854":34976,"64855":25245,"64856":35139,"64857":35149,"64858":29042,"64859":34910,"64860":57843,"64861":33533,"64862":17591,"64863":33488,"64864":33669,"64865":40194,"64866":40809,"64867":33824,"64868":57851,"64869":34010,"64870":33965,"64871":17659,"64872":34123,"64873":57856,"64874":34306,"64875":34320,"64876":25553,"64877":35209,"64878":35210,"64879":35220,"64880":40005,"64881":35260,"64882":35454,"64883":35401,"64884":35596,"64885":35651,"64886":35713,"64887":35660,"64888":57871,"64889":36013,"64890":36075,"64891":36087,"64892":36108,"64893":36226,"64894":36262,"64929":36308,"64930":36392,"64931":36431,"64932":36471,"64933":36469,"64934":36519,"64935":36633,"64936":57885,"64937":36700,"64938":40260,"64939":37060,"64940":37201,"64941":57890,"64942":37212,"64943":37209,"64944":37223,"64945":37244,"64946":37262,"64947":37307,"64948":40616,"64949":36950,"64950":36940,"64951":37374,"64952":37474,"64953":37566,"64954":37739,"64955":37742,"64956":37818,"64957":37927,"64958":38295,"64959":38311,"64960":57909,"64961":38456,"64962":57911,"64963":38531,"64964":38550,"64965":38529,"64966":38589,"64967":38659,"64968":38689,"64969":38705,"64970":38751,"64971":38815,"64972":38836,"64973":38840,"64974":38842,"64975":38846,"64976":38856,"64977":40639,"64978":38943,"64979":38958,"64980":40869,"64981":38983,"64982":38987,"64983":39014,"64984":39020,"64985":39092,"64986":40794,"64987":39132,"64988":39142,"64989":39234,"64990":39225,"64991":39227,"64992":40787,"64993":39242,"64994":40773,"64995":19326,"64996":39386,"64997":31432,"64998":39610,"64999":39613,"65000":40706,"65001":39722,"65002":57951,"65003":39725,"65004":39650,"65005":39682,"65006":39679,"65007":19463,"65008":39689,"65009":19460,"65010":19515,"65011":39823,"65012":39837,"65013":39856,"65014":39948,"65015":39957,"65016":39946,"65017":39935,"65018":39982,"65019":33000,"65020":33001,"65021":33004,"65022":33038,"65088":27705,"65089":20074,"65090":38465,"65091":22770,"65092":31074,"65093":26658,"65094":57978,"65095":57979,"65096":33031,"65097":22487,"65098":17642,"65099":25653,"65100":34100,"65101":16607,"65102":57986,"65103":26906,"65104":39938,"65105":30129,"65106":33747,"65107":29041,"65108":27147,"65109":57993,"65110":27258,"65111":39668,"65112":57996,"65113":57997,"65114":30649,"65115":25904,"65116":28054,"65117":22071,"65118":26405,"65119":27179,"65120":32093,"65121":36961,"65122":20120,"65123":31910,"65124":31545,"65125":58009,"65126":22901,"65127":14023,"65128":28799,"65129":58013,"65130":28299,"65131":58015,"65132":58016,"65133":38749,"65134":37584,"65135":22356,"65136":58020,"65137":16089,"65138":58022,"65139":58023,"65140":24985,"65141":29792,"65142":28991,"65143":31022,"65144":23190,"65145":37704,"65146":26254,"65147":20477,"65148":37697,"65149":13908,"65150":23925,"65185":28702,"65186":25979,"65187":28813,"65188":24269,"65189":58039,"65190":24743,"65191":31408,"65192":24419,"65193":58043,"65194":29687,"65195":58045,"65196":29800,"65197":30132,"65198":58048,"65199":39785,"65200":189,"65201":8531,"65202":8532,"65203":188,"65204":190,"65205":8533,"65206":8534,"65207":8535,"65208":8536,"65209":8537,"65210":8538,"65211":34450,"65212":34464,"65213":34477,"65214":34482,"65215":34725,"65216":34737,"65217":8539,"65218":8540,"65219":8541,"65220":8542,"65221":34778,"65222":34895,"65223":34912,"65224":34951,"65225":34959,"65226":34960,"65227":35046,"65228":35071,"65229":35072,"65230":35108,"65231":35143,"65232":35156,"65233":35173,"65234":35200,"65235":35217,"65236":35356,"65237":35369,"65238":35371,"65239":35384,"65240":35389,"65241":8978,"65242":35472,"65243":35476,"65244":35484,"65245":35497,"65246":35503,"65247":35508,"65248":35562,"65249":35615,"65250":8240,"65251":35647,"65252":35661,"65253":35678,"65254":35682,"65255":35689,"65256":35739,"65257":35921,"65258":35995,"65259":35999,"65260":36052,"65261":36054,"65262":33042,"65263":33073,"65264":33078,"65265":33119,"65266":33133,"65267":33149,"65268":33171,"65269":33194,"65270":33208,"65271":33217,"65272":33321,"65273":33325,"65274":33326,"65275":33342,"65276":33378,"65277":33386,"65278":33416,"NaN":null} \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js new file mode 100644 index 0000000..c464623 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js @@ -0,0 +1 @@ +module.exports={33088:19970,33089:19972,33090:19973,33091:19974,33092:19983,33093:19986,33094:19991,33095:19999,33096:20000,33097:20001,33098:20003,33099:20006,33100:20009,33101:20014,33102:20015,33103:20017,33104:20019,33105:20021,33106:20023,33107:20028,33108:20032,33109:20033,33110:20034,33111:20036,33112:20038,33113:20042,33114:20049,33115:20053,33116:20055,33117:20058,33118:20059,33119:20066,33120:20067,33121:20068,33122:20069,33123:20071,33124:20072,33125:20074,33126:20075,33127:20076,33128:20077,33129:20078,33130:20079,33131:20082,33132:20084,33133:20085,33134:20086,33135:20087,33136:20088,33137:20089,33138:20090,33139:20091,33140:20092,33141:20093,33142:20095,33143:20096,33144:20097,33145:20098,33146:20099,33147:20100,33148:20101,33149:20103,33150:20106,33152:20112,33153:20118,33154:20119,33155:20121,33156:20124,33157:20125,33158:20126,33159:20131,33160:20138,33161:20143,33162:20144,33163:20145,33164:20148,33165:20150,33166:20151,33167:20152,33168:20153,33169:20156,33170:20157,33171:20158,33172:20168,33173:20172,33174:20175,33175:20176,33176:20178,33177:20186,33178:20187,33179:20188,33180:20192,33181:20194,33182:20198,33183:20199,33184:20201,33185:20205,33186:20206,33187:20207,33188:20209,33189:20212,33190:20216,33191:20217,33192:20218,33193:20220,33194:20222,33195:20224,33196:20226,33197:20227,33198:20228,33199:20229,33200:20230,33201:20231,33202:20232,33203:20235,33204:20236,33205:20242,33206:20243,33207:20244,33208:20245,33209:20246,33210:20252,33211:20253,33212:20257,33213:20259,33214:20264,33215:20265,33216:20268,33217:20269,33218:20270,33219:20273,33220:20275,33221:20277,33222:20279,33223:20281,33224:20283,33225:20286,33226:20287,33227:20288,33228:20289,33229:20290,33230:20292,33231:20293,33232:20295,33233:20296,33234:20297,33235:20298,33236:20299,33237:20300,33238:20306,33239:20308,33240:20310,33241:20321,33242:20322,33243:20326,33244:20328,33245:20330,33246:20331,33247:20333,33248:20334,33249:20337,33250:20338,33251:20341,33252:20343,33253:20344,33254:20345,33255:20346,33256:20349,33257:20352,33258:20353,33259:20354,33260:20357,33261:20358,33262:20359,33263:20362,33264:20364,33265:20366,33266:20368,33267:20370,33268:20371,33269:20373,33270:20374,33271:20376,33272:20377,33273:20378,33274:20380,33275:20382,33276:20383,33277:20385,33278:20386,33344:20388,33345:20395,33346:20397,33347:20400,33348:20401,33349:20402,33350:20403,33351:20404,33352:20406,33353:20407,33354:20408,33355:20409,33356:20410,33357:20411,33358:20412,33359:20413,33360:20414,33361:20416,33362:20417,33363:20418,33364:20422,33365:20423,33366:20424,33367:20425,33368:20427,33369:20428,33370:20429,33371:20434,33372:20435,33373:20436,33374:20437,33375:20438,33376:20441,33377:20443,33378:20448,33379:20450,33380:20452,33381:20453,33382:20455,33383:20459,33384:20460,33385:20464,33386:20466,33387:20468,33388:20469,33389:20470,33390:20471,33391:20473,33392:20475,33393:20476,33394:20477,33395:20479,33396:20480,33397:20481,33398:20482,33399:20483,33400:20484,33401:20485,33402:20486,33403:20487,33404:20488,33405:20489,33406:20490,33408:20491,33409:20494,33410:20496,33411:20497,33412:20499,33413:20501,33414:20502,33415:20503,33416:20507,33417:20509,33418:20510,33419:20512,33420:20514,33421:20515,33422:20516,33423:20519,33424:20523,33425:20527,33426:20528,33427:20529,33428:20530,33429:20531,33430:20532,33431:20533,33432:20534,33433:20535,33434:20536,33435:20537,33436:20539,33437:20541,33438:20543,33439:20544,33440:20545,33441:20546,33442:20548,33443:20549,33444:20550,33445:20553,33446:20554,33447:20555,33448:20557,33449:20560,33450:20561,33451:20562,33452:20563,33453:20564,33454:20566,33455:20567,33456:20568,33457:20569,33458:20571,33459:20573,33460:20574,33461:20575,33462:20576,33463:20577,33464:20578,33465:20579,33466:20580,33467:20582,33468:20583,33469:20584,33470:20585,33471:20586,33472:20587,33473:20589,33474:20590,33475:20591,33476:20592,33477:20593,33478:20594,33479:20595,33480:20596,33481:20597,33482:20600,33483:20601,33484:20602,33485:20604,33486:20605,33487:20609,33488:20610,33489:20611,33490:20612,33491:20614,33492:20615,33493:20617,33494:20618,33495:20619,33496:20620,33497:20622,33498:20623,33499:20624,33500:20625,33501:20626,33502:20627,33503:20628,33504:20629,33505:20630,33506:20631,33507:20632,33508:20633,33509:20634,33510:20635,33511:20636,33512:20637,33513:20638,33514:20639,33515:20640,33516:20641,33517:20642,33518:20644,33519:20646,33520:20650,33521:20651,33522:20653,33523:20654,33524:20655,33525:20656,33526:20657,33527:20659,33528:20660,33529:20661,33530:20662,33531:20663,33532:20664,33533:20665,33534:20668,33600:20669,33601:20670,33602:20671,33603:20672,33604:20673,33605:20674,33606:20675,33607:20676,33608:20677,33609:20678,33610:20679,33611:20680,33612:20681,33613:20682,33614:20683,33615:20684,33616:20685,33617:20686,33618:20688,33619:20689,33620:20690,33621:20691,33622:20692,33623:20693,33624:20695,33625:20696,33626:20697,33627:20699,33628:20700,33629:20701,33630:20702,33631:20703,33632:20704,33633:20705,33634:20706,33635:20707,33636:20708,33637:20709,33638:20712,33639:20713,33640:20714,33641:20715,33642:20719,33643:20720,33644:20721,33645:20722,33646:20724,33647:20726,33648:20727,33649:20728,33650:20729,33651:20730,33652:20732,33653:20733,33654:20734,33655:20735,33656:20736,33657:20737,33658:20738,33659:20739,33660:20740,33661:20741,33662:20744,33664:20745,33665:20746,33666:20748,33667:20749,33668:20750,33669:20751,33670:20752,33671:20753,33672:20755,33673:20756,33674:20757,33675:20758,33676:20759,33677:20760,33678:20761,33679:20762,33680:20763,33681:20764,33682:20765,33683:20766,33684:20767,33685:20768,33686:20770,33687:20771,33688:20772,33689:20773,33690:20774,33691:20775,33692:20776,33693:20777,33694:20778,33695:20779,33696:20780,33697:20781,33698:20782,33699:20783,33700:20784,33701:20785,33702:20786,33703:20787,33704:20788,33705:20789,33706:20790,33707:20791,33708:20792,33709:20793,33710:20794,33711:20795,33712:20796,33713:20797,33714:20798,33715:20802,33716:20807,33717:20810,33718:20812,33719:20814,33720:20815,33721:20816,33722:20818,33723:20819,33724:20823,33725:20824,33726:20825,33727:20827,33728:20829,33729:20830,33730:20831,33731:20832,33732:20833,33733:20835,33734:20836,33735:20838,33736:20839,33737:20841,33738:20842,33739:20847,33740:20850,33741:20858,33742:20862,33743:20863,33744:20867,33745:20868,33746:20870,33747:20871,33748:20874,33749:20875,33750:20878,33751:20879,33752:20880,33753:20881,33754:20883,33755:20884,33756:20888,33757:20890,33758:20893,33759:20894,33760:20895,33761:20897,33762:20899,33763:20902,33764:20903,33765:20904,33766:20905,33767:20906,33768:20909,33769:20910,33770:20916,33771:20920,33772:20921,33773:20922,33774:20926,33775:20927,33776:20929,33777:20930,33778:20931,33779:20933,33780:20936,33781:20938,33782:20941,33783:20942,33784:20944,33785:20946,33786:20947,33787:20948,33788:20949,33789:20950,33790:20951,33856:20952,33857:20953,33858:20954,33859:20956,33860:20958,33861:20959,33862:20962,33863:20963,33864:20965,33865:20966,33866:20967,33867:20968,33868:20969,33869:20970,33870:20972,33871:20974,33872:20977,33873:20978,33874:20980,33875:20983,33876:20990,33877:20996,33878:20997,33879:21001,33880:21003,33881:21004,33882:21007,33883:21008,33884:21011,33885:21012,33886:21013,33887:21020,33888:21022,33889:21023,33890:21025,33891:21026,33892:21027,33893:21029,33894:21030,33895:21031,33896:21034,33897:21036,33898:21039,33899:21041,33900:21042,33901:21044,33902:21045,33903:21052,33904:21054,33905:21060,33906:21061,33907:21062,33908:21063,33909:21064,33910:21065,33911:21067,33912:21070,33913:21071,33914:21074,33915:21075,33916:21077,33917:21079,33918:21080,33920:21081,33921:21082,33922:21083,33923:21085,33924:21087,33925:21088,33926:21090,33927:21091,33928:21092,33929:21094,33930:21096,33931:21099,33932:21100,33933:21101,33934:21102,33935:21104,33936:21105,33937:21107,33938:21108,33939:21109,33940:21110,33941:21111,33942:21112,33943:21113,33944:21114,33945:21115,33946:21116,33947:21118,33948:21120,33949:21123,33950:21124,33951:21125,33952:21126,33953:21127,33954:21129,33955:21130,33956:21131,33957:21132,33958:21133,33959:21134,33960:21135,33961:21137,33962:21138,33963:21140,33964:21141,33965:21142,33966:21143,33967:21144,33968:21145,33969:21146,33970:21148,33971:21156,33972:21157,33973:21158,33974:21159,33975:21166,33976:21167,33977:21168,33978:21172,33979:21173,33980:21174,33981:21175,33982:21176,33983:21177,33984:21178,33985:21179,33986:21180,33987:21181,33988:21184,33989:21185,33990:21186,33991:21188,33992:21189,33993:21190,33994:21192,33995:21194,33996:21196,33997:21197,33998:21198,33999:21199,34000:21201,34001:21203,34002:21204,34003:21205,34004:21207,34005:21209,34006:21210,34007:21211,34008:21212,34009:21213,34010:21214,34011:21216,34012:21217,34013:21218,34014:21219,34015:21221,34016:21222,34017:21223,34018:21224,34019:21225,34020:21226,34021:21227,34022:21228,34023:21229,34024:21230,34025:21231,34026:21233,34027:21234,34028:21235,34029:21236,34030:21237,34031:21238,34032:21239,34033:21240,34034:21243,34035:21244,34036:21245,34037:21249,34038:21250,34039:21251,34040:21252,34041:21255,34042:21257,34043:21258,34044:21259,34045:21260,34046:21262,34112:21265,34113:21266,34114:21267,34115:21268,34116:21272,34117:21275,34118:21276,34119:21278,34120:21279,34121:21282,34122:21284,34123:21285,34124:21287,34125:21288,34126:21289,34127:21291,34128:21292,34129:21293,34130:21295,34131:21296,34132:21297,34133:21298,34134:21299,34135:21300,34136:21301,34137:21302,34138:21303,34139:21304,34140:21308,34141:21309,34142:21312,34143:21314,34144:21316,34145:21318,34146:21323,34147:21324,34148:21325,34149:21328,34150:21332,34151:21336,34152:21337,34153:21339,34154:21341,34155:21349,34156:21352,34157:21354,34158:21356,34159:21357,34160:21362,34161:21366,34162:21369,34163:21371,34164:21372,34165:21373,34166:21374,34167:21376,34168:21377,34169:21379,34170:21383,34171:21384,34172:21386,34173:21390,34174:21391,34176:21392,34177:21393,34178:21394,34179:21395,34180:21396,34181:21398,34182:21399,34183:21401,34184:21403,34185:21404,34186:21406,34187:21408,34188:21409,34189:21412,34190:21415,34191:21418,34192:21419,34193:21420,34194:21421,34195:21423,34196:21424,34197:21425,34198:21426,34199:21427,34200:21428,34201:21429,34202:21431,34203:21432,34204:21433,34205:21434,34206:21436,34207:21437,34208:21438,34209:21440,34210:21443,34211:21444,34212:21445,34213:21446,34214:21447,34215:21454,34216:21455,34217:21456,34218:21458,34219:21459,34220:21461,34221:21466,34222:21468,34223:21469,34224:21470,34225:21473,34226:21474,34227:21479,34228:21492,34229:21498,34230:21502,34231:21503,34232:21504,34233:21506,34234:21509,34235:21511,34236:21515,34237:21524,34238:21528,34239:21529,34240:21530,34241:21532,34242:21538,34243:21540,34244:21541,34245:21546,34246:21552,34247:21555,34248:21558,34249:21559,34250:21562,34251:21565,34252:21567,34253:21569,34254:21570,34255:21572,34256:21573,34257:21575,34258:21577,34259:21580,34260:21581,34261:21582,34262:21583,34263:21585,34264:21594,34265:21597,34266:21598,34267:21599,34268:21600,34269:21601,34270:21603,34271:21605,34272:21607,34273:21609,34274:21610,34275:21611,34276:21612,34277:21613,34278:21614,34279:21615,34280:21616,34281:21620,34282:21625,34283:21626,34284:21630,34285:21631,34286:21633,34287:21635,34288:21637,34289:21639,34290:21640,34291:21641,34292:21642,34293:21645,34294:21649,34295:21651,34296:21655,34297:21656,34298:21660,34299:21662,34300:21663,34301:21664,34302:21665,34368:21666,34369:21669,34370:21678,34371:21680,34372:21682,34373:21685,34374:21686,34375:21687,34376:21689,34377:21690,34378:21692,34379:21694,34380:21699,34381:21701,34382:21706,34383:21707,34384:21718,34385:21720,34386:21723,34387:21728,34388:21729,34389:21730,34390:21731,34391:21732,34392:21739,34393:21740,34394:21743,34395:21744,34396:21745,34397:21748,34398:21749,34399:21750,34400:21751,34401:21752,34402:21753,34403:21755,34404:21758,34405:21760,34406:21762,34407:21763,34408:21764,34409:21765,34410:21768,34411:21770,34412:21771,34413:21772,34414:21773,34415:21774,34416:21778,34417:21779,34418:21781,34419:21782,34420:21783,34421:21784,34422:21785,34423:21786,34424:21788,34425:21789,34426:21790,34427:21791,34428:21793,34429:21797,34430:21798,34432:21800,34433:21801,34434:21803,34435:21805,34436:21810,34437:21812,34438:21813,34439:21814,34440:21816,34441:21817,34442:21818,34443:21819,34444:21821,34445:21824,34446:21826,34447:21829,34448:21831,34449:21832,34450:21835,34451:21836,34452:21837,34453:21838,34454:21839,34455:21841,34456:21842,34457:21843,34458:21844,34459:21847,34460:21848,34461:21849,34462:21850,34463:21851,34464:21853,34465:21854,34466:21855,34467:21856,34468:21858,34469:21859,34470:21864,34471:21865,34472:21867,34473:21871,34474:21872,34475:21873,34476:21874,34477:21875,34478:21876,34479:21881,34480:21882,34481:21885,34482:21887,34483:21893,34484:21894,34485:21900,34486:21901,34487:21902,34488:21904,34489:21906,34490:21907,34491:21909,34492:21910,34493:21911,34494:21914,34495:21915,34496:21918,34497:21920,34498:21921,34499:21922,34500:21923,34501:21924,34502:21925,34503:21926,34504:21928,34505:21929,34506:21930,34507:21931,34508:21932,34509:21933,34510:21934,34511:21935,34512:21936,34513:21938,34514:21940,34515:21942,34516:21944,34517:21946,34518:21948,34519:21951,34520:21952,34521:21953,34522:21954,34523:21955,34524:21958,34525:21959,34526:21960,34527:21962,34528:21963,34529:21966,34530:21967,34531:21968,34532:21973,34533:21975,34534:21976,34535:21977,34536:21978,34537:21979,34538:21982,34539:21984,34540:21986,34541:21991,34542:21993,34543:21997,34544:21998,34545:22000,34546:22001,34547:22004,34548:22006,34549:22008,34550:22009,34551:22010,34552:22011,34553:22012,34554:22015,34555:22018,34556:22019,34557:22020,34558:22021,34624:22022,34625:22023,34626:22026,34627:22027,34628:22029,34629:22032,34630:22033,34631:22034,34632:22035,34633:22036,34634:22037,34635:22038,34636:22039,34637:22041,34638:22042,34639:22044,34640:22045,34641:22048,34642:22049,34643:22050,34644:22053,34645:22054,34646:22056,34647:22057,34648:22058,34649:22059,34650:22062,34651:22063,34652:22064,34653:22067,34654:22069,34655:22071,34656:22072,34657:22074,34658:22076,34659:22077,34660:22078,34661:22080,34662:22081,34663:22082,34664:22083,34665:22084,34666:22085,34667:22086,34668:22087,34669:22088,34670:22089,34671:22090,34672:22091,34673:22095,34674:22096,34675:22097,34676:22098,34677:22099,34678:22101,34679:22102,34680:22106,34681:22107,34682:22109,34683:22110,34684:22111,34685:22112,34686:22113,34688:22115,34689:22117,34690:22118,34691:22119,34692:22125,34693:22126,34694:22127,34695:22128,34696:22130,34697:22131,34698:22132,34699:22133,34700:22135,34701:22136,34702:22137,34703:22138,34704:22141,34705:22142,34706:22143,34707:22144,34708:22145,34709:22146,34710:22147,34711:22148,34712:22151,34713:22152,34714:22153,34715:22154,34716:22155,34717:22156,34718:22157,34719:22160,34720:22161,34721:22162,34722:22164,34723:22165,34724:22166,34725:22167,34726:22168,34727:22169,34728:22170,34729:22171,34730:22172,34731:22173,34732:22174,34733:22175,34734:22176,34735:22177,34736:22178,34737:22180,34738:22181,34739:22182,34740:22183,34741:22184,34742:22185,34743:22186,34744:22187,34745:22188,34746:22189,34747:22190,34748:22192,34749:22193,34750:22194,34751:22195,34752:22196,34753:22197,34754:22198,34755:22200,34756:22201,34757:22202,34758:22203,34759:22205,34760:22206,34761:22207,34762:22208,34763:22209,34764:22210,34765:22211,34766:22212,34767:22213,34768:22214,34769:22215,34770:22216,34771:22217,34772:22219,34773:22220,34774:22221,34775:22222,34776:22223,34777:22224,34778:22225,34779:22226,34780:22227,34781:22229,34782:22230,34783:22232,34784:22233,34785:22236,34786:22243,34787:22245,34788:22246,34789:22247,34790:22248,34791:22249,34792:22250,34793:22252,34794:22254,34795:22255,34796:22258,34797:22259,34798:22262,34799:22263,34800:22264,34801:22267,34802:22268,34803:22272,34804:22273,34805:22274,34806:22277,34807:22279,34808:22283,34809:22284,34810:22285,34811:22286,34812:22287,34813:22288,34814:22289,34880:22290,34881:22291,34882:22292,34883:22293,34884:22294,34885:22295,34886:22296,34887:22297,34888:22298,34889:22299,34890:22301,34891:22302,34892:22304,34893:22305,34894:22306,34895:22308,34896:22309,34897:22310,34898:22311,34899:22315,34900:22321,34901:22322,34902:22324,34903:22325,34904:22326,34905:22327,34906:22328,34907:22332,34908:22333,34909:22335,34910:22337,34911:22339,34912:22340,34913:22341,34914:22342,34915:22344,34916:22345,34917:22347,34918:22354,34919:22355,34920:22356,34921:22357,34922:22358,34923:22360,34924:22361,34925:22370,34926:22371,34927:22373,34928:22375,34929:22380,34930:22382,34931:22384,34932:22385,34933:22386,34934:22388,34935:22389,34936:22392,34937:22393,34938:22394,34939:22397,34940:22398,34941:22399,34942:22400,34944:22401,34945:22407,34946:22408,34947:22409,34948:22410,34949:22413,34950:22414,34951:22415,34952:22416,34953:22417,34954:22420,34955:22421,34956:22422,34957:22423,34958:22424,34959:22425,34960:22426,34961:22428,34962:22429,34963:22430,34964:22431,34965:22437,34966:22440,34967:22442,34968:22444,34969:22447,34970:22448,34971:22449,34972:22451,34973:22453,34974:22454,34975:22455,34976:22457,34977:22458,34978:22459,34979:22460,34980:22461,34981:22462,34982:22463,34983:22464,34984:22465,34985:22468,34986:22469,34987:22470,34988:22471,34989:22472,34990:22473,34991:22474,34992:22476,34993:22477,34994:22480,34995:22481,34996:22483,34997:22486,34998:22487,34999:22491,35000:22492,35001:22494,35002:22497,35003:22498,35004:22499,35005:22501,35006:22502,35007:22503,35008:22504,35009:22505,35010:22506,35011:22507,35012:22508,35013:22510,35014:22512,35015:22513,35016:22514,35017:22515,35018:22517,35019:22518,35020:22519,35021:22523,35022:22524,35023:22526,35024:22527,35025:22529,35026:22531,35027:22532,35028:22533,35029:22536,35030:22537,35031:22538,35032:22540,35033:22542,35034:22543,35035:22544,35036:22546,35037:22547,35038:22548,35039:22550,35040:22551,35041:22552,35042:22554,35043:22555,35044:22556,35045:22557,35046:22559,35047:22562,35048:22563,35049:22565,35050:22566,35051:22567,35052:22568,35053:22569,35054:22571,35055:22572,35056:22573,35057:22574,35058:22575,35059:22577,35060:22578,35061:22579,35062:22580,35063:22582,35064:22583,35065:22584,35066:22585,35067:22586,35068:22587,35069:22588,35070:22589,35136:22590,35137:22591,35138:22592,35139:22593,35140:22594,35141:22595,35142:22597,35143:22598,35144:22599,35145:22600,35146:22601,35147:22602,35148:22603,35149:22606,35150:22607,35151:22608,35152:22610,35153:22611,35154:22613,35155:22614,35156:22615,35157:22617,35158:22618,35159:22619,35160:22620,35161:22621,35162:22623,35163:22624,35164:22625,35165:22626,35166:22627,35167:22628,35168:22630,35169:22631,35170:22632,35171:22633,35172:22634,35173:22637,35174:22638,35175:22639,35176:22640,35177:22641,35178:22642,35179:22643,35180:22644,35181:22645,35182:22646,35183:22647,35184:22648,35185:22649,35186:22650,35187:22651,35188:22652,35189:22653,35190:22655,35191:22658,35192:22660,35193:22662,35194:22663,35195:22664,35196:22666,35197:22667,35198:22668,35200:22669,35201:22670,35202:22671,35203:22672,35204:22673,35205:22676,35206:22677,35207:22678,35208:22679,35209:22680,35210:22683,35211:22684,35212:22685,35213:22688,35214:22689,35215:22690,35216:22691,35217:22692,35218:22693,35219:22694,35220:22695,35221:22698,35222:22699,35223:22700,35224:22701,35225:22702,35226:22703,35227:22704,35228:22705,35229:22706,35230:22707,35231:22708,35232:22709,35233:22710,35234:22711,35235:22712,35236:22713,35237:22714,35238:22715,35239:22717,35240:22718,35241:22719,35242:22720,35243:22722,35244:22723,35245:22724,35246:22726,35247:22727,35248:22728,35249:22729,35250:22730,35251:22731,35252:22732,35253:22733,35254:22734,35255:22735,35256:22736,35257:22738,35258:22739,35259:22740,35260:22742,35261:22743,35262:22744,35263:22745,35264:22746,35265:22747,35266:22748,35267:22749,35268:22750,35269:22751,35270:22752,35271:22753,35272:22754,35273:22755,35274:22757,35275:22758,35276:22759,35277:22760,35278:22761,35279:22762,35280:22765,35281:22767,35282:22769,35283:22770,35284:22772,35285:22773,35286:22775,35287:22776,35288:22778,35289:22779,35290:22780,35291:22781,35292:22782,35293:22783,35294:22784,35295:22785,35296:22787,35297:22789,35298:22790,35299:22792,35300:22793,35301:22794,35302:22795,35303:22796,35304:22798,35305:22800,35306:22801,35307:22802,35308:22803,35309:22807,35310:22808,35311:22811,35312:22813,35313:22814,35314:22816,35315:22817,35316:22818,35317:22819,35318:22822,35319:22824,35320:22828,35321:22832,35322:22834,35323:22835,35324:22837,35325:22838,35326:22843,35392:22845,35393:22846,35394:22847,35395:22848,35396:22851,35397:22853,35398:22854,35399:22858,35400:22860,35401:22861,35402:22864,35403:22866,35404:22867,35405:22873,35406:22875,35407:22876,35408:22877,35409:22878,35410:22879,35411:22881,35412:22883,35413:22884,35414:22886,35415:22887,35416:22888,35417:22889,35418:22890,35419:22891,35420:22892,35421:22893,35422:22894,35423:22895,35424:22896,35425:22897,35426:22898,35427:22901,35428:22903,35429:22906,35430:22907,35431:22908,35432:22910,35433:22911,35434:22912,35435:22917,35436:22921,35437:22923,35438:22924,35439:22926,35440:22927,35441:22928,35442:22929,35443:22932,35444:22933,35445:22936,35446:22938,35447:22939,35448:22940,35449:22941,35450:22943,35451:22944,35452:22945,35453:22946,35454:22950,35456:22951,35457:22956,35458:22957,35459:22960,35460:22961,35461:22963,35462:22964,35463:22965,35464:22966,35465:22967,35466:22968,35467:22970,35468:22972,35469:22973,35470:22975,35471:22976,35472:22977,35473:22978,35474:22979,35475:22980,35476:22981,35477:22983,35478:22984,35479:22985,35480:22988,35481:22989,35482:22990,35483:22991,35484:22997,35485:22998,35486:23001,35487:23003,35488:23006,35489:23007,35490:23008,35491:23009,35492:23010,35493:23012,35494:23014,35495:23015,35496:23017,35497:23018,35498:23019,35499:23021,35500:23022,35501:23023,35502:23024,35503:23025,35504:23026,35505:23027,35506:23028,35507:23029,35508:23030,35509:23031,35510:23032,35511:23034,35512:23036,35513:23037,35514:23038,35515:23040,35516:23042,35517:23050,35518:23051,35519:23053,35520:23054,35521:23055,35522:23056,35523:23058,35524:23060,35525:23061,35526:23062,35527:23063,35528:23065,35529:23066,35530:23067,35531:23069,35532:23070,35533:23073,35534:23074,35535:23076,35536:23078,35537:23079,35538:23080,35539:23082,35540:23083,35541:23084,35542:23085,35543:23086,35544:23087,35545:23088,35546:23091,35547:23093,35548:23095,35549:23096,35550:23097,35551:23098,35552:23099,35553:23101,35554:23102,35555:23103,35556:23105,35557:23106,35558:23107,35559:23108,35560:23109,35561:23111,35562:23112,35563:23115,35564:23116,35565:23117,35566:23118,35567:23119,35568:23120,35569:23121,35570:23122,35571:23123,35572:23124,35573:23126,35574:23127,35575:23128,35576:23129,35577:23131,35578:23132,35579:23133,35580:23134,35581:23135,35582:23136,35648:23137,35649:23139,35650:23140,35651:23141,35652:23142,35653:23144,35654:23145,35655:23147,35656:23148,35657:23149,35658:23150,35659:23151,35660:23152,35661:23153,35662:23154,35663:23155,35664:23160,35665:23161,35666:23163,35667:23164,35668:23165,35669:23166,35670:23168,35671:23169,35672:23170,35673:23171,35674:23172,35675:23173,35676:23174,35677:23175,35678:23176,35679:23177,35680:23178,35681:23179,35682:23180,35683:23181,35684:23182,35685:23183,35686:23184,35687:23185,35688:23187,35689:23188,35690:23189,35691:23190,35692:23191,35693:23192,35694:23193,35695:23196,35696:23197,35697:23198,35698:23199,35699:23200,35700:23201,35701:23202,35702:23203,35703:23204,35704:23205,35705:23206,35706:23207,35707:23208,35708:23209,35709:23211,35710:23212,35712:23213,35713:23214,35714:23215,35715:23216,35716:23217,35717:23220,35718:23222,35719:23223,35720:23225,35721:23226,35722:23227,35723:23228,35724:23229,35725:23231,35726:23232,35727:23235,35728:23236,35729:23237,35730:23238,35731:23239,35732:23240,35733:23242,35734:23243,35735:23245,35736:23246,35737:23247,35738:23248,35739:23249,35740:23251,35741:23253,35742:23255,35743:23257,35744:23258,35745:23259,35746:23261,35747:23262,35748:23263,35749:23266,35750:23268,35751:23269,35752:23271,35753:23272,35754:23274,35755:23276,35756:23277,35757:23278,35758:23279,35759:23280,35760:23282,35761:23283,35762:23284,35763:23285,35764:23286,35765:23287,35766:23288,35767:23289,35768:23290,35769:23291,35770:23292,35771:23293,35772:23294,35773:23295,35774:23296,35775:23297,35776:23298,35777:23299,35778:23300,35779:23301,35780:23302,35781:23303,35782:23304,35783:23306,35784:23307,35785:23308,35786:23309,35787:23310,35788:23311,35789:23312,35790:23313,35791:23314,35792:23315,35793:23316,35794:23317,35795:23320,35796:23321,35797:23322,35798:23323,35799:23324,35800:23325,35801:23326,35802:23327,35803:23328,35804:23329,35805:23330,35806:23331,35807:23332,35808:23333,35809:23334,35810:23335,35811:23336,35812:23337,35813:23338,35814:23339,35815:23340,35816:23341,35817:23342,35818:23343,35819:23344,35820:23345,35821:23347,35822:23349,35823:23350,35824:23352,35825:23353,35826:23354,35827:23355,35828:23356,35829:23357,35830:23358,35831:23359,35832:23361,35833:23362,35834:23363,35835:23364,35836:23365,35837:23366,35838:23367,35904:23368,35905:23369,35906:23370,35907:23371,35908:23372,35909:23373,35910:23374,35911:23375,35912:23378,35913:23382,35914:23390,35915:23392,35916:23393,35917:23399,35918:23400,35919:23403,35920:23405,35921:23406,35922:23407,35923:23410,35924:23412,35925:23414,35926:23415,35927:23416,35928:23417,35929:23419,35930:23420,35931:23422,35932:23423,35933:23426,35934:23430,35935:23434,35936:23437,35937:23438,35938:23440,35939:23441,35940:23442,35941:23444,35942:23446,35943:23455,35944:23463,35945:23464,35946:23465,35947:23468,35948:23469,35949:23470,35950:23471,35951:23473,35952:23474,35953:23479,35954:23482,35955:23483,35956:23484,35957:23488,35958:23489,35959:23491,35960:23496,35961:23497,35962:23498,35963:23499,35964:23501,35965:23502,35966:23503,35968:23505,35969:23508,35970:23509,35971:23510,35972:23511,35973:23512,35974:23513,35975:23514,35976:23515,35977:23516,35978:23520,35979:23522,35980:23523,35981:23526,35982:23527,35983:23529,35984:23530,35985:23531,35986:23532,35987:23533,35988:23535,35989:23537,35990:23538,35991:23539,35992:23540,35993:23541,35994:23542,35995:23543,35996:23549,35997:23550,35998:23552,35999:23554,36000:23555,36001:23557,36002:23559,36003:23560,36004:23563,36005:23564,36006:23565,36007:23566,36008:23568,36009:23570,36010:23571,36011:23575,36012:23577,36013:23579,36014:23582,36015:23583,36016:23584,36017:23585,36018:23587,36019:23590,36020:23592,36021:23593,36022:23594,36023:23595,36024:23597,36025:23598,36026:23599,36027:23600,36028:23602,36029:23603,36030:23605,36031:23606,36032:23607,36033:23619,36034:23620,36035:23622,36036:23623,36037:23628,36038:23629,36039:23634,36040:23635,36041:23636,36042:23638,36043:23639,36044:23640,36045:23642,36046:23643,36047:23644,36048:23645,36049:23647,36050:23650,36051:23652,36052:23655,36053:23656,36054:23657,36055:23658,36056:23659,36057:23660,36058:23661,36059:23664,36060:23666,36061:23667,36062:23668,36063:23669,36064:23670,36065:23671,36066:23672,36067:23675,36068:23676,36069:23677,36070:23678,36071:23680,36072:23683,36073:23684,36074:23685,36075:23686,36076:23687,36077:23689,36078:23690,36079:23691,36080:23694,36081:23695,36082:23698,36083:23699,36084:23701,36085:23709,36086:23710,36087:23711,36088:23712,36089:23713,36090:23716,36091:23717,36092:23718,36093:23719,36094:23720,36160:23722,36161:23726,36162:23727,36163:23728,36164:23730,36165:23732,36166:23734,36167:23737,36168:23738,36169:23739,36170:23740,36171:23742,36172:23744,36173:23746,36174:23747,36175:23749,36176:23750,36177:23751,36178:23752,36179:23753,36180:23754,36181:23756,36182:23757,36183:23758,36184:23759,36185:23760,36186:23761,36187:23763,36188:23764,36189:23765,36190:23766,36191:23767,36192:23768,36193:23770,36194:23771,36195:23772,36196:23773,36197:23774,36198:23775,36199:23776,36200:23778,36201:23779,36202:23783,36203:23785,36204:23787,36205:23788,36206:23790,36207:23791,36208:23793,36209:23794,36210:23795,36211:23796,36212:23797,36213:23798,36214:23799,36215:23800,36216:23801,36217:23802,36218:23804,36219:23805,36220:23806,36221:23807,36222:23808,36224:23809,36225:23812,36226:23813,36227:23816,36228:23817,36229:23818,36230:23819,36231:23820,36232:23821,36233:23823,36234:23824,36235:23825,36236:23826,36237:23827,36238:23829,36239:23831,36240:23832,36241:23833,36242:23834,36243:23836,36244:23837,36245:23839,36246:23840,36247:23841,36248:23842,36249:23843,36250:23845,36251:23848,36252:23850,36253:23851,36254:23852,36255:23855,36256:23856,36257:23857,36258:23858,36259:23859,36260:23861,36261:23862,36262:23863,36263:23864,36264:23865,36265:23866,36266:23867,36267:23868,36268:23871,36269:23872,36270:23873,36271:23874,36272:23875,36273:23876,36274:23877,36275:23878,36276:23880,36277:23881,36278:23885,36279:23886,36280:23887,36281:23888,36282:23889,36283:23890,36284:23891,36285:23892,36286:23893,36287:23894,36288:23895,36289:23897,36290:23898,36291:23900,36292:23902,36293:23903,36294:23904,36295:23905,36296:23906,36297:23907,36298:23908,36299:23909,36300:23910,36301:23911,36302:23912,36303:23914,36304:23917,36305:23918,36306:23920,36307:23921,36308:23922,36309:23923,36310:23925,36311:23926,36312:23927,36313:23928,36314:23929,36315:23930,36316:23931,36317:23932,36318:23933,36319:23934,36320:23935,36321:23936,36322:23937,36323:23939,36324:23940,36325:23941,36326:23942,36327:23943,36328:23944,36329:23945,36330:23946,36331:23947,36332:23948,36333:23949,36334:23950,36335:23951,36336:23952,36337:23953,36338:23954,36339:23955,36340:23956,36341:23957,36342:23958,36343:23959,36344:23960,36345:23962,36346:23963,36347:23964,36348:23966,36349:23967,36350:23968,36416:23969,36417:23970,36418:23971,36419:23972,36420:23973,36421:23974,36422:23975,36423:23976,36424:23977,36425:23978,36426:23979,36427:23980,36428:23981,36429:23982,36430:23983,36431:23984,36432:23985,36433:23986,36434:23987,36435:23988,36436:23989,36437:23990,36438:23992,36439:23993,36440:23994,36441:23995,36442:23996,36443:23997,36444:23998,36445:23999,36446:24000,36447:24001,36448:24002,36449:24003,36450:24004,36451:24006,36452:24007,36453:24008,36454:24009,36455:24010,36456:24011,36457:24012,36458:24014,36459:24015,36460:24016,36461:24017,36462:24018,36463:24019,36464:24020,36465:24021,36466:24022,36467:24023,36468:24024,36469:24025,36470:24026,36471:24028,36472:24031,36473:24032,36474:24035,36475:24036,36476:24042,36477:24044,36478:24045,36480:24048,36481:24053,36482:24054,36483:24056,36484:24057,36485:24058,36486:24059,36487:24060,36488:24063,36489:24064,36490:24068,36491:24071,36492:24073,36493:24074,36494:24075,36495:24077,36496:24078,36497:24082,36498:24083,36499:24087,36500:24094,36501:24095,36502:24096,36503:24097,36504:24098,36505:24099,36506:24100,36507:24101,36508:24104,36509:24105,36510:24106,36511:24107,36512:24108,36513:24111,36514:24112,36515:24114,36516:24115,36517:24116,36518:24117,36519:24118,36520:24121,36521:24122,36522:24126,36523:24127,36524:24128,36525:24129,36526:24131,36527:24134,36528:24135,36529:24136,36530:24137,36531:24138,36532:24139,36533:24141,36534:24142,36535:24143,36536:24144,36537:24145,36538:24146,36539:24147,36540:24150,36541:24151,36542:24152,36543:24153,36544:24154,36545:24156,36546:24157,36547:24159,36548:24160,36549:24163,36550:24164,36551:24165,36552:24166,36553:24167,36554:24168,36555:24169,36556:24170,36557:24171,36558:24172,36559:24173,36560:24174,36561:24175,36562:24176,36563:24177,36564:24181,36565:24183,36566:24185,36567:24190,36568:24193,36569:24194,36570:24195,36571:24197,36572:24200,36573:24201,36574:24204,36575:24205,36576:24206,36577:24210,36578:24216,36579:24219,36580:24221,36581:24225,36582:24226,36583:24227,36584:24228,36585:24232,36586:24233,36587:24234,36588:24235,36589:24236,36590:24238,36591:24239,36592:24240,36593:24241,36594:24242,36595:24244,36596:24250,36597:24251,36598:24252,36599:24253,36600:24255,36601:24256,36602:24257,36603:24258,36604:24259,36605:24260,36606:24261,36672:24262,36673:24263,36674:24264,36675:24267,36676:24268,36677:24269,36678:24270,36679:24271,36680:24272,36681:24276,36682:24277,36683:24279,36684:24280,36685:24281,36686:24282,36687:24284,36688:24285,36689:24286,36690:24287,36691:24288,36692:24289,36693:24290,36694:24291,36695:24292,36696:24293,36697:24294,36698:24295,36699:24297,36700:24299,36701:24300,36702:24301,36703:24302,36704:24303,36705:24304,36706:24305,36707:24306,36708:24307,36709:24309,36710:24312,36711:24313,36712:24315,36713:24316,36714:24317,36715:24325,36716:24326,36717:24327,36718:24329,36719:24332,36720:24333,36721:24334,36722:24336,36723:24338,36724:24340,36725:24342,36726:24345,36727:24346,36728:24348,36729:24349,36730:24350,36731:24353,36732:24354,36733:24355,36734:24356,36736:24360,36737:24363,36738:24364,36739:24366,36740:24368,36741:24370,36742:24371,36743:24372,36744:24373,36745:24374,36746:24375,36747:24376,36748:24379,36749:24381,36750:24382,36751:24383,36752:24385,36753:24386,36754:24387,36755:24388,36756:24389,36757:24390,36758:24391,36759:24392,36760:24393,36761:24394,36762:24395,36763:24396,36764:24397,36765:24398,36766:24399,36767:24401,36768:24404,36769:24409,36770:24410,36771:24411,36772:24412,36773:24414,36774:24415,36775:24416,36776:24419,36777:24421,36778:24423,36779:24424,36780:24427,36781:24430,36782:24431,36783:24434,36784:24436,36785:24437,36786:24438,36787:24440,36788:24442,36789:24445,36790:24446,36791:24447,36792:24451,36793:24454,36794:24461,36795:24462,36796:24463,36797:24465,36798:24467,36799:24468,36800:24470,36801:24474,36802:24475,36803:24477,36804:24478,36805:24479,36806:24480,36807:24482,36808:24483,36809:24484,36810:24485,36811:24486,36812:24487,36813:24489,36814:24491,36815:24492,36816:24495,36817:24496,36818:24497,36819:24498,36820:24499,36821:24500,36822:24502,36823:24504,36824:24505,36825:24506,36826:24507,36827:24510,36828:24511,36829:24512,36830:24513,36831:24514,36832:24519,36833:24520,36834:24522,36835:24523,36836:24526,36837:24531,36838:24532,36839:24533,36840:24538,36841:24539,36842:24540,36843:24542,36844:24543,36845:24546,36846:24547,36847:24549,36848:24550,36849:24552,36850:24553,36851:24556,36852:24559,36853:24560,36854:24562,36855:24563,36856:24564,36857:24566,36858:24567,36859:24569,36860:24570,36861:24572,36862:24583,36928:24584,36929:24585,36930:24587,36931:24588,36932:24592,36933:24593,36934:24595,36935:24599,36936:24600,36937:24602,36938:24606,36939:24607,36940:24610,36941:24611,36942:24612,36943:24620,36944:24621,36945:24622,36946:24624,36947:24625,36948:24626,36949:24627,36950:24628,36951:24630,36952:24631,36953:24632,36954:24633,36955:24634,36956:24637,36957:24638,36958:24640,36959:24644,36960:24645,36961:24646,36962:24647,36963:24648,36964:24649,36965:24650,36966:24652,36967:24654,36968:24655,36969:24657,36970:24659,36971:24660,36972:24662,36973:24663,36974:24664,36975:24667,36976:24668,36977:24670,36978:24671,36979:24672,36980:24673,36981:24677,36982:24678,36983:24686,36984:24689,36985:24690,36986:24692,36987:24693,36988:24695,36989:24702,36990:24704,36992:24705,36993:24706,36994:24709,36995:24710,36996:24711,36997:24712,36998:24714,36999:24715,37000:24718,37001:24719,37002:24720,37003:24721,37004:24723,37005:24725,37006:24727,37007:24728,37008:24729,37009:24732,37010:24734,37011:24737,37012:24738,37013:24740,37014:24741,37015:24743,37016:24745,37017:24746,37018:24750,37019:24752,37020:24755,37021:24757,37022:24758,37023:24759,37024:24761,37025:24762,37026:24765,37027:24766,37028:24767,37029:24768,37030:24769,37031:24770,37032:24771,37033:24772,37034:24775,37035:24776,37036:24777,37037:24780,37038:24781,37039:24782,37040:24783,37041:24784,37042:24786,37043:24787,37044:24788,37045:24790,37046:24791,37047:24793,37048:24795,37049:24798,37050:24801,37051:24802,37052:24803,37053:24804,37054:24805,37055:24810,37056:24817,37057:24818,37058:24821,37059:24823,37060:24824,37061:24827,37062:24828,37063:24829,37064:24830,37065:24831,37066:24834,37067:24835,37068:24836,37069:24837,37070:24839,37071:24842,37072:24843,37073:24844,37074:24848,37075:24849,37076:24850,37077:24851,37078:24852,37079:24854,37080:24855,37081:24856,37082:24857,37083:24859,37084:24860,37085:24861,37086:24862,37087:24865,37088:24866,37089:24869,37090:24872,37091:24873,37092:24874,37093:24876,37094:24877,37095:24878,37096:24879,37097:24880,37098:24881,37099:24882,37100:24883,37101:24884,37102:24885,37103:24886,37104:24887,37105:24888,37106:24889,37107:24890,37108:24891,37109:24892,37110:24893,37111:24894,37112:24896,37113:24897,37114:24898,37115:24899,37116:24900,37117:24901,37118:24902,37184:24903,37185:24905,37186:24907,37187:24909,37188:24911,37189:24912,37190:24914,37191:24915,37192:24916,37193:24918,37194:24919,37195:24920,37196:24921,37197:24922,37198:24923,37199:24924,37200:24926,37201:24927,37202:24928,37203:24929,37204:24931,37205:24932,37206:24933,37207:24934,37208:24937,37209:24938,37210:24939,37211:24940,37212:24941,37213:24942,37214:24943,37215:24945,37216:24946,37217:24947,37218:24948,37219:24950,37220:24952,37221:24953,37222:24954,37223:24955,37224:24956,37225:24957,37226:24958,37227:24959,37228:24960,37229:24961,37230:24962,37231:24963,37232:24964,37233:24965,37234:24966,37235:24967,37236:24968,37237:24969,37238:24970,37239:24972,37240:24973,37241:24975,37242:24976,37243:24977,37244:24978,37245:24979,37246:24981,37248:24982,37249:24983,37250:24984,37251:24985,37252:24986,37253:24987,37254:24988,37255:24990,37256:24991,37257:24992,37258:24993,37259:24994,37260:24995,37261:24996,37262:24997,37263:24998,37264:25002,37265:25003,37266:25005,37267:25006,37268:25007,37269:25008,37270:25009,37271:25010,37272:25011,37273:25012,37274:25013,37275:25014,37276:25016,37277:25017,37278:25018,37279:25019,37280:25020,37281:25021,37282:25023,37283:25024,37284:25025,37285:25027,37286:25028,37287:25029,37288:25030,37289:25031,37290:25033,37291:25036,37292:25037,37293:25038,37294:25039,37295:25040,37296:25043,37297:25045,37298:25046,37299:25047,37300:25048,37301:25049,37302:25050,37303:25051,37304:25052,37305:25053,37306:25054,37307:25055,37308:25056,37309:25057,37310:25058,37311:25059,37312:25060,37313:25061,37314:25063,37315:25064,37316:25065,37317:25066,37318:25067,37319:25068,37320:25069,37321:25070,37322:25071,37323:25072,37324:25073,37325:25074,37326:25075,37327:25076,37328:25078,37329:25079,37330:25080,37331:25081,37332:25082,37333:25083,37334:25084,37335:25085,37336:25086,37337:25088,37338:25089,37339:25090,37340:25091,37341:25092,37342:25093,37343:25095,37344:25097,37345:25107,37346:25108,37347:25113,37348:25116,37349:25117,37350:25118,37351:25120,37352:25123,37353:25126,37354:25127,37355:25128,37356:25129,37357:25131,37358:25133,37359:25135,37360:25136,37361:25137,37362:25138,37363:25141,37364:25142,37365:25144,37366:25145,37367:25146,37368:25147,37369:25148,37370:25154,37371:25156,37372:25157,37373:25158,37374:25162,37440:25167,37441:25168,37442:25173,37443:25174,37444:25175,37445:25177,37446:25178,37447:25180,37448:25181,37449:25182,37450:25183,37451:25184,37452:25185,37453:25186,37454:25188,37455:25189,37456:25192,37457:25201,37458:25202,37459:25204,37460:25205,37461:25207,37462:25208,37463:25210,37464:25211,37465:25213,37466:25217,37467:25218,37468:25219,37469:25221,37470:25222,37471:25223,37472:25224,37473:25227,37474:25228,37475:25229,37476:25230,37477:25231,37478:25232,37479:25236,37480:25241,37481:25244,37482:25245,37483:25246,37484:25251,37485:25254,37486:25255,37487:25257,37488:25258,37489:25261,37490:25262,37491:25263,37492:25264,37493:25266,37494:25267,37495:25268,37496:25270,37497:25271,37498:25272,37499:25274,37500:25278,37501:25280,37502:25281,37504:25283,37505:25291,37506:25295,37507:25297,37508:25301,37509:25309,37510:25310,37511:25312,37512:25313,37513:25316,37514:25322,37515:25323,37516:25328,37517:25330,37518:25333,37519:25336,37520:25337,37521:25338,37522:25339,37523:25344,37524:25347,37525:25348,37526:25349,37527:25350,37528:25354,37529:25355,37530:25356,37531:25357,37532:25359,37533:25360,37534:25362,37535:25363,37536:25364,37537:25365,37538:25367,37539:25368,37540:25369,37541:25372,37542:25382,37543:25383,37544:25385,37545:25388,37546:25389,37547:25390,37548:25392,37549:25393,37550:25395,37551:25396,37552:25397,37553:25398,37554:25399,37555:25400,37556:25403,37557:25404,37558:25406,37559:25407,37560:25408,37561:25409,37562:25412,37563:25415,37564:25416,37565:25418,37566:25425,37567:25426,37568:25427,37569:25428,37570:25430,37571:25431,37572:25432,37573:25433,37574:25434,37575:25435,37576:25436,37577:25437,37578:25440,37579:25444,37580:25445,37581:25446,37582:25448,37583:25450,37584:25451,37585:25452,37586:25455,37587:25456,37588:25458,37589:25459,37590:25460,37591:25461,37592:25464,37593:25465,37594:25468,37595:25469,37596:25470,37597:25471,37598:25473,37599:25475,37600:25476,37601:25477,37602:25478,37603:25483,37604:25485,37605:25489,37606:25491,37607:25492,37608:25493,37609:25495,37610:25497,37611:25498,37612:25499,37613:25500,37614:25501,37615:25502,37616:25503,37617:25505,37618:25508,37619:25510,37620:25515,37621:25519,37622:25521,37623:25522,37624:25525,37625:25526,37626:25529,37627:25531,37628:25533,37629:25535,37630:25536,37696:25537,37697:25538,37698:25539,37699:25541,37700:25543,37701:25544,37702:25546,37703:25547,37704:25548,37705:25553,37706:25555,37707:25556,37708:25557,37709:25559,37710:25560,37711:25561,37712:25562,37713:25563,37714:25564,37715:25565,37716:25567,37717:25570,37718:25572,37719:25573,37720:25574,37721:25575,37722:25576,37723:25579,37724:25580,37725:25582,37726:25583,37727:25584,37728:25585,37729:25587,37730:25589,37731:25591,37732:25593,37733:25594,37734:25595,37735:25596,37736:25598,37737:25603,37738:25604,37739:25606,37740:25607,37741:25608,37742:25609,37743:25610,37744:25613,37745:25614,37746:25617,37747:25618,37748:25621,37749:25622,37750:25623,37751:25624,37752:25625,37753:25626,37754:25629,37755:25631,37756:25634,37757:25635,37758:25636,37760:25637,37761:25639,37762:25640,37763:25641,37764:25643,37765:25646,37766:25647,37767:25648,37768:25649,37769:25650,37770:25651,37771:25653,37772:25654,37773:25655,37774:25656,37775:25657,37776:25659,37777:25660,37778:25662,37779:25664,37780:25666,37781:25667,37782:25673,37783:25675,37784:25676,37785:25677,37786:25678,37787:25679,37788:25680,37789:25681,37790:25683,37791:25685,37792:25686,37793:25687,37794:25689,37795:25690,37796:25691,37797:25692,37798:25693,37799:25695,37800:25696,37801:25697,37802:25698,37803:25699,37804:25700,37805:25701,37806:25702,37807:25704,37808:25706,37809:25707,37810:25708,37811:25710,37812:25711,37813:25712,37814:25713,37815:25714,37816:25715,37817:25716,37818:25717,37819:25718,37820:25719,37821:25723,37822:25724,37823:25725,37824:25726,37825:25727,37826:25728,37827:25729,37828:25731,37829:25734,37830:25736,37831:25737,37832:25738,37833:25739,37834:25740,37835:25741,37836:25742,37837:25743,37838:25744,37839:25747,37840:25748,37841:25751,37842:25752,37843:25754,37844:25755,37845:25756,37846:25757,37847:25759,37848:25760,37849:25761,37850:25762,37851:25763,37852:25765,37853:25766,37854:25767,37855:25768,37856:25770,37857:25771,37858:25775,37859:25777,37860:25778,37861:25779,37862:25780,37863:25782,37864:25785,37865:25787,37866:25789,37867:25790,37868:25791,37869:25793,37870:25795,37871:25796,37872:25798,37873:25799,37874:25800,37875:25801,37876:25802,37877:25803,37878:25804,37879:25807,37880:25809,37881:25811,37882:25812,37883:25813,37884:25814,37885:25817,37886:25818,37952:25819,37953:25820,37954:25821,37955:25823,37956:25824,37957:25825,37958:25827,37959:25829,37960:25831,37961:25832,37962:25833,37963:25834,37964:25835,37965:25836,37966:25837,37967:25838,37968:25839,37969:25840,37970:25841,37971:25842,37972:25843,37973:25844,37974:25845,37975:25846,37976:25847,37977:25848,37978:25849,37979:25850,37980:25851,37981:25852,37982:25853,37983:25854,37984:25855,37985:25857,37986:25858,37987:25859,37988:25860,37989:25861,37990:25862,37991:25863,37992:25864,37993:25866,37994:25867,37995:25868,37996:25869,37997:25870,37998:25871,37999:25872,38000:25873,38001:25875,38002:25876,38003:25877,38004:25878,38005:25879,38006:25881,38007:25882,38008:25883,38009:25884,38010:25885,38011:25886,38012:25887,38013:25888,38014:25889,38016:25890,38017:25891,38018:25892,38019:25894,38020:25895,38021:25896,38022:25897,38023:25898,38024:25900,38025:25901,38026:25904,38027:25905,38028:25906,38029:25907,38030:25911,38031:25914,38032:25916,38033:25917,38034:25920,38035:25921,38036:25922,38037:25923,38038:25924,38039:25926,38040:25927,38041:25930,38042:25931,38043:25933,38044:25934,38045:25936,38046:25938,38047:25939,38048:25940,38049:25943,38050:25944,38051:25946,38052:25948,38053:25951,38054:25952,38055:25953,38056:25956,38057:25957,38058:25959,38059:25960,38060:25961,38061:25962,38062:25965,38063:25966,38064:25967,38065:25969,38066:25971,38067:25973,38068:25974,38069:25976,38070:25977,38071:25978,38072:25979,38073:25980,38074:25981,38075:25982,38076:25983,38077:25984,38078:25985,38079:25986,38080:25987,38081:25988,38082:25989,38083:25990,38084:25992,38085:25993,38086:25994,38087:25997,38088:25998,38089:25999,38090:26002,38091:26004,38092:26005,38093:26006,38094:26008,38095:26010,38096:26013,38097:26014,38098:26016,38099:26018,38100:26019,38101:26022,38102:26024,38103:26026,38104:26028,38105:26030,38106:26033,38107:26034,38108:26035,38109:26036,38110:26037,38111:26038,38112:26039,38113:26040,38114:26042,38115:26043,38116:26046,38117:26047,38118:26048,38119:26050,38120:26055,38121:26056,38122:26057,38123:26058,38124:26061,38125:26064,38126:26065,38127:26067,38128:26068,38129:26069,38130:26072,38131:26073,38132:26074,38133:26075,38134:26076,38135:26077,38136:26078,38137:26079,38138:26081,38139:26083,38140:26084,38141:26090,38142:26091,38208:26098,38209:26099,38210:26100,38211:26101,38212:26104,38213:26105,38214:26107,38215:26108,38216:26109,38217:26110,38218:26111,38219:26113,38220:26116,38221:26117,38222:26119,38223:26120,38224:26121,38225:26123,38226:26125,38227:26128,38228:26129,38229:26130,38230:26134,38231:26135,38232:26136,38233:26138,38234:26139,38235:26140,38236:26142,38237:26145,38238:26146,38239:26147,38240:26148,38241:26150,38242:26153,38243:26154,38244:26155,38245:26156,38246:26158,38247:26160,38248:26162,38249:26163,38250:26167,38251:26168,38252:26169,38253:26170,38254:26171,38255:26173,38256:26175,38257:26176,38258:26178,38259:26180,38260:26181,38261:26182,38262:26183,38263:26184,38264:26185,38265:26186,38266:26189,38267:26190,38268:26192,38269:26193,38270:26200,38272:26201,38273:26203,38274:26204,38275:26205,38276:26206,38277:26208,38278:26210,38279:26211,38280:26213,38281:26215,38282:26217,38283:26218,38284:26219,38285:26220,38286:26221,38287:26225,38288:26226,38289:26227,38290:26229,38291:26232,38292:26233,38293:26235,38294:26236,38295:26237,38296:26239,38297:26240,38298:26241,38299:26243,38300:26245,38301:26246,38302:26248,38303:26249,38304:26250,38305:26251,38306:26253,38307:26254,38308:26255,38309:26256,38310:26258,38311:26259,38312:26260,38313:26261,38314:26264,38315:26265,38316:26266,38317:26267,38318:26268,38319:26270,38320:26271,38321:26272,38322:26273,38323:26274,38324:26275,38325:26276,38326:26277,38327:26278,38328:26281,38329:26282,38330:26283,38331:26284,38332:26285,38333:26287,38334:26288,38335:26289,38336:26290,38337:26291,38338:26293,38339:26294,38340:26295,38341:26296,38342:26298,38343:26299,38344:26300,38345:26301,38346:26303,38347:26304,38348:26305,38349:26306,38350:26307,38351:26308,38352:26309,38353:26310,38354:26311,38355:26312,38356:26313,38357:26314,38358:26315,38359:26316,38360:26317,38361:26318,38362:26319,38363:26320,38364:26321,38365:26322,38366:26323,38367:26324,38368:26325,38369:26326,38370:26327,38371:26328,38372:26330,38373:26334,38374:26335,38375:26336,38376:26337,38377:26338,38378:26339,38379:26340,38380:26341,38381:26343,38382:26344,38383:26346,38384:26347,38385:26348,38386:26349,38387:26350,38388:26351,38389:26353,38390:26357,38391:26358,38392:26360,38393:26362,38394:26363,38395:26365,38396:26369,38397:26370,38398:26371,38464:26372,38465:26373,38466:26374,38467:26375,38468:26380,38469:26382,38470:26383,38471:26385,38472:26386,38473:26387,38474:26390,38475:26392,38476:26393,38477:26394,38478:26396,38479:26398,38480:26400,38481:26401,38482:26402,38483:26403,38484:26404,38485:26405,38486:26407,38487:26409,38488:26414,38489:26416,38490:26418,38491:26419,38492:26422,38493:26423,38494:26424,38495:26425,38496:26427,38497:26428,38498:26430,38499:26431,38500:26433,38501:26436,38502:26437,38503:26439,38504:26442,38505:26443,38506:26445,38507:26450,38508:26452,38509:26453,38510:26455,38511:26456,38512:26457,38513:26458,38514:26459,38515:26461,38516:26466,38517:26467,38518:26468,38519:26470,38520:26471,38521:26475,38522:26476,38523:26478,38524:26481,38525:26484,38526:26486,38528:26488,38529:26489,38530:26490,38531:26491,38532:26493,38533:26496,38534:26498,38535:26499,38536:26501,38537:26502,38538:26504,38539:26506,38540:26508,38541:26509,38542:26510,38543:26511,38544:26513,38545:26514,38546:26515,38547:26516,38548:26518,38549:26521,38550:26523,38551:26527,38552:26528,38553:26529,38554:26532,38555:26534,38556:26537,38557:26540,38558:26542,38559:26545,38560:26546,38561:26548,38562:26553,38563:26554,38564:26555,38565:26556,38566:26557,38567:26558,38568:26559,38569:26560,38570:26562,38571:26565,38572:26566,38573:26567,38574:26568,38575:26569,38576:26570,38577:26571,38578:26572,38579:26573,38580:26574,38581:26581,38582:26582,38583:26583,38584:26587,38585:26591,38586:26593,38587:26595,38588:26596,38589:26598,38590:26599,38591:26600,38592:26602,38593:26603,38594:26605,38595:26606,38596:26610,38597:26613,38598:26614,38599:26615,38600:26616,38601:26617,38602:26618,38603:26619,38604:26620,38605:26622,38606:26625,38607:26626,38608:26627,38609:26628,38610:26630,38611:26637,38612:26640,38613:26642,38614:26644,38615:26645,38616:26648,38617:26649,38618:26650,38619:26651,38620:26652,38621:26654,38622:26655,38623:26656,38624:26658,38625:26659,38626:26660,38627:26661,38628:26662,38629:26663,38630:26664,38631:26667,38632:26668,38633:26669,38634:26670,38635:26671,38636:26672,38637:26673,38638:26676,38639:26677,38640:26678,38641:26682,38642:26683,38643:26687,38644:26695,38645:26699,38646:26701,38647:26703,38648:26706,38649:26710,38650:26711,38651:26712,38652:26713,38653:26714,38654:26715,38720:26716,38721:26717,38722:26718,38723:26719,38724:26730,38725:26732,38726:26733,38727:26734,38728:26735,38729:26736,38730:26737,38731:26738,38732:26739,38733:26741,38734:26744,38735:26745,38736:26746,38737:26747,38738:26748,38739:26749,38740:26750,38741:26751,38742:26752,38743:26754,38744:26756,38745:26759,38746:26760,38747:26761,38748:26762,38749:26763,38750:26764,38751:26765,38752:26766,38753:26768,38754:26769,38755:26770,38756:26772,38757:26773,38758:26774,38759:26776,38760:26777,38761:26778,38762:26779,38763:26780,38764:26781,38765:26782,38766:26783,38767:26784,38768:26785,38769:26787,38770:26788,38771:26789,38772:26793,38773:26794,38774:26795,38775:26796,38776:26798,38777:26801,38778:26802,38779:26804,38780:26806,38781:26807,38782:26808,38784:26809,38785:26810,38786:26811,38787:26812,38788:26813,38789:26814,38790:26815,38791:26817,38792:26819,38793:26820,38794:26821,38795:26822,38796:26823,38797:26824,38798:26826,38799:26828,38800:26830,38801:26831,38802:26832,38803:26833,38804:26835,38805:26836,38806:26838,38807:26839,38808:26841,38809:26843,38810:26844,38811:26845,38812:26846,38813:26847,38814:26849,38815:26850,38816:26852,38817:26853,38818:26854,38819:26855,38820:26856,38821:26857,38822:26858,38823:26859,38824:26860,38825:26861,38826:26863,38827:26866,38828:26867,38829:26868,38830:26870,38831:26871,38832:26872,38833:26875,38834:26877,38835:26878,38836:26879,38837:26880,38838:26882,38839:26883,38840:26884,38841:26886,38842:26887,38843:26888,38844:26889,38845:26890,38846:26892,38847:26895,38848:26897,38849:26899,38850:26900,38851:26901,38852:26902,38853:26903,38854:26904,38855:26905,38856:26906,38857:26907,38858:26908,38859:26909,38860:26910,38861:26913,38862:26914,38863:26915,38864:26917,38865:26918,38866:26919,38867:26920,38868:26921,38869:26922,38870:26923,38871:26924,38872:26926,38873:26927,38874:26929,38875:26930,38876:26931,38877:26933,38878:26934,38879:26935,38880:26936,38881:26938,38882:26939,38883:26940,38884:26942,38885:26944,38886:26945,38887:26947,38888:26948,38889:26949,38890:26950,38891:26951,38892:26952,38893:26953,38894:26954,38895:26955,38896:26956,38897:26957,38898:26958,38899:26959,38900:26960,38901:26961,38902:26962,38903:26963,38904:26965,38905:26966,38906:26968,38907:26969,38908:26971,38909:26972,38910:26975,38976:26977,38977:26978,38978:26980,38979:26981,38980:26983,38981:26984,38982:26985,38983:26986,38984:26988,38985:26989,38986:26991,38987:26992,38988:26994,38989:26995,38990:26996,38991:26997,38992:26998,38993:27002,38994:27003,38995:27005,38996:27006,38997:27007,38998:27009,38999:27011,39000:27013,39001:27018,39002:27019,39003:27020,39004:27022,39005:27023,39006:27024,39007:27025,39008:27026,39009:27027,39010:27030,39011:27031,39012:27033,39013:27034,39014:27037,39015:27038,39016:27039,39017:27040,39018:27041,39019:27042,39020:27043,39021:27044,39022:27045,39023:27046,39024:27049,39025:27050,39026:27052,39027:27054,39028:27055,39029:27056,39030:27058,39031:27059,39032:27061,39033:27062,39034:27064,39035:27065,39036:27066,39037:27068,39038:27069,39040:27070,39041:27071,39042:27072,39043:27074,39044:27075,39045:27076,39046:27077,39047:27078,39048:27079,39049:27080,39050:27081,39051:27083,39052:27085,39053:27087,39054:27089,39055:27090,39056:27091,39057:27093,39058:27094,39059:27095,39060:27096,39061:27097,39062:27098,39063:27100,39064:27101,39065:27102,39066:27105,39067:27106,39068:27107,39069:27108,39070:27109,39071:27110,39072:27111,39073:27112,39074:27113,39075:27114,39076:27115,39077:27116,39078:27118,39079:27119,39080:27120,39081:27121,39082:27123,39083:27124,39084:27125,39085:27126,39086:27127,39087:27128,39088:27129,39089:27130,39090:27131,39091:27132,39092:27134,39093:27136,39094:27137,39095:27138,39096:27139,39097:27140,39098:27141,39099:27142,39100:27143,39101:27144,39102:27145,39103:27147,39104:27148,39105:27149,39106:27150,39107:27151,39108:27152,39109:27153,39110:27154,39111:27155,39112:27156,39113:27157,39114:27158,39115:27161,39116:27162,39117:27163,39118:27164,39119:27165,39120:27166,39121:27168,39122:27170,39123:27171,39124:27172,39125:27173,39126:27174,39127:27175,39128:27177,39129:27179,39130:27180,39131:27181,39132:27182,39133:27184,39134:27186,39135:27187,39136:27188,39137:27190,39138:27191,39139:27192,39140:27193,39141:27194,39142:27195,39143:27196,39144:27199,39145:27200,39146:27201,39147:27202,39148:27203,39149:27205,39150:27206,39151:27208,39152:27209,39153:27210,39154:27211,39155:27212,39156:27213,39157:27214,39158:27215,39159:27217,39160:27218,39161:27219,39162:27220,39163:27221,39164:27222,39165:27223,39166:27226,39232:27228,39233:27229,39234:27230,39235:27231,39236:27232,39237:27234,39238:27235,39239:27236,39240:27238,39241:27239,39242:27240,39243:27241,39244:27242,39245:27243,39246:27244,39247:27245,39248:27246,39249:27247,39250:27248,39251:27250,39252:27251,39253:27252,39254:27253,39255:27254,39256:27255,39257:27256,39258:27258,39259:27259,39260:27261,39261:27262,39262:27263,39263:27265,39264:27266,39265:27267,39266:27269,39267:27270,39268:27271,39269:27272,39270:27273,39271:27274,39272:27275,39273:27276,39274:27277,39275:27279,39276:27282,39277:27283,39278:27284,39279:27285,39280:27286,39281:27288,39282:27289,39283:27290,39284:27291,39285:27292,39286:27293,39287:27294,39288:27295,39289:27297,39290:27298,39291:27299,39292:27300,39293:27301,39294:27302,39296:27303,39297:27304,39298:27306,39299:27309,39300:27310,39301:27311,39302:27312,39303:27313,39304:27314,39305:27315,39306:27316,39307:27317,39308:27318,39309:27319,39310:27320,39311:27321,39312:27322,39313:27323,39314:27324,39315:27325,39316:27326,39317:27327,39318:27328,39319:27329,39320:27330,39321:27331,39322:27332,39323:27333,39324:27334,39325:27335,39326:27336,39327:27337,39328:27338,39329:27339,39330:27340,39331:27341,39332:27342,39333:27343,39334:27344,39335:27345,39336:27346,39337:27347,39338:27348,39339:27349,39340:27350,39341:27351,39342:27352,39343:27353,39344:27354,39345:27355,39346:27356,39347:27357,39348:27358,39349:27359,39350:27360,39351:27361,39352:27362,39353:27363,39354:27364,39355:27365,39356:27366,39357:27367,39358:27368,39359:27369,39360:27370,39361:27371,39362:27372,39363:27373,39364:27374,39365:27375,39366:27376,39367:27377,39368:27378,39369:27379,39370:27380,39371:27381,39372:27382,39373:27383,39374:27384,39375:27385,39376:27386,39377:27387,39378:27388,39379:27389,39380:27390,39381:27391,39382:27392,39383:27393,39384:27394,39385:27395,39386:27396,39387:27397,39388:27398,39389:27399,39390:27400,39391:27401,39392:27402,39393:27403,39394:27404,39395:27405,39396:27406,39397:27407,39398:27408,39399:27409,39400:27410,39401:27411,39402:27412,39403:27413,39404:27414,39405:27415,39406:27416,39407:27417,39408:27418,39409:27419,39410:27420,39411:27421,39412:27422,39413:27423,39414:27429,39415:27430,39416:27432,39417:27433,39418:27434,39419:27435,39420:27436,39421:27437,39422:27438,39488:27439,39489:27440,39490:27441,39491:27443,39492:27444,39493:27445,39494:27446,39495:27448,39496:27451,39497:27452,39498:27453,39499:27455,39500:27456,39501:27457,39502:27458,39503:27460,39504:27461,39505:27464,39506:27466,39507:27467,39508:27469,39509:27470,39510:27471,39511:27472,39512:27473,39513:27474,39514:27475,39515:27476,39516:27477,39517:27478,39518:27479,39519:27480,39520:27482,39521:27483,39522:27484,39523:27485,39524:27486,39525:27487,39526:27488,39527:27489,39528:27496,39529:27497,39530:27499,39531:27500,39532:27501,39533:27502,39534:27503,39535:27504,39536:27505,39537:27506,39538:27507,39539:27508,39540:27509,39541:27510,39542:27511,39543:27512,39544:27514,39545:27517,39546:27518,39547:27519,39548:27520,39549:27525,39550:27528,39552:27532,39553:27534,39554:27535,39555:27536,39556:27537,39557:27540,39558:27541,39559:27543,39560:27544,39561:27545,39562:27548,39563:27549,39564:27550,39565:27551,39566:27552,39567:27554,39568:27555,39569:27556,39570:27557,39571:27558,39572:27559,39573:27560,39574:27561,39575:27563,39576:27564,39577:27565,39578:27566,39579:27567,39580:27568,39581:27569,39582:27570,39583:27574,39584:27576,39585:27577,39586:27578,39587:27579,39588:27580,39589:27581,39590:27582,39591:27584,39592:27587,39593:27588,39594:27590,39595:27591,39596:27592,39597:27593,39598:27594,39599:27596,39600:27598,39601:27600,39602:27601,39603:27608,39604:27610,39605:27612,39606:27613,39607:27614,39608:27615,39609:27616,39610:27618,39611:27619,39612:27620,39613:27621,39614:27622,39615:27623,39616:27624,39617:27625,39618:27628,39619:27629,39620:27630,39621:27632,39622:27633,39623:27634,39624:27636,39625:27638,39626:27639,39627:27640,39628:27642,39629:27643,39630:27644,39631:27646,39632:27647,39633:27648,39634:27649,39635:27650,39636:27651,39637:27652,39638:27656,39639:27657,39640:27658,39641:27659,39642:27660,39643:27662,39644:27666,39645:27671,39646:27676,39647:27677,39648:27678,39649:27680,39650:27683,39651:27685,39652:27691,39653:27692,39654:27693,39655:27697,39656:27699,39657:27702,39658:27703,39659:27705,39660:27706,39661:27707,39662:27708,39663:27710,39664:27711,39665:27715,39666:27716,39667:27717,39668:27720,39669:27723,39670:27724,39671:27725,39672:27726,39673:27727,39674:27729,39675:27730,39676:27731,39677:27734,39678:27736,39744:27737,39745:27738,39746:27746,39747:27747,39748:27749,39749:27750,39750:27751,39751:27755,39752:27756,39753:27757,39754:27758,39755:27759,39756:27761,39757:27763,39758:27765,39759:27767,39760:27768,39761:27770,39762:27771,39763:27772,39764:27775,39765:27776,39766:27780,39767:27783,39768:27786,39769:27787,39770:27789,39771:27790,39772:27793,39773:27794,39774:27797,39775:27798,39776:27799,39777:27800,39778:27802,39779:27804,39780:27805,39781:27806,39782:27808,39783:27810,39784:27816,39785:27820,39786:27823,39787:27824,39788:27828,39789:27829,39790:27830,39791:27831,39792:27834,39793:27840,39794:27841,39795:27842,39796:27843,39797:27846,39798:27847,39799:27848,39800:27851,39801:27853,39802:27854,39803:27855,39804:27857,39805:27858,39806:27864,39808:27865,39809:27866,39810:27868,39811:27869,39812:27871,39813:27876,39814:27878,39815:27879,39816:27881,39817:27884,39818:27885,39819:27890,39820:27892,39821:27897,39822:27903,39823:27904,39824:27906,39825:27907,39826:27909,39827:27910,39828:27912,39829:27913,39830:27914,39831:27917,39832:27919,39833:27920,39834:27921,39835:27923,39836:27924,39837:27925,39838:27926,39839:27928,39840:27932,39841:27933,39842:27935,39843:27936,39844:27937,39845:27938,39846:27939,39847:27940,39848:27942,39849:27944,39850:27945,39851:27948,39852:27949,39853:27951,39854:27952,39855:27956,39856:27958,39857:27959,39858:27960,39859:27962,39860:27967,39861:27968,39862:27970,39863:27972,39864:27977,39865:27980,39866:27984,39867:27989,39868:27990,39869:27991,39870:27992,39871:27995,39872:27997,39873:27999,39874:28001,39875:28002,39876:28004,39877:28005,39878:28007,39879:28008,39880:28011,39881:28012,39882:28013,39883:28016,39884:28017,39885:28018,39886:28019,39887:28021,39888:28022,39889:28025,39890:28026,39891:28027,39892:28029,39893:28030,39894:28031,39895:28032,39896:28033,39897:28035,39898:28036,39899:28038,39900:28039,39901:28042,39902:28043,39903:28045,39904:28047,39905:28048,39906:28050,39907:28054,39908:28055,39909:28056,39910:28057,39911:28058,39912:28060,39913:28066,39914:28069,39915:28076,39916:28077,39917:28080,39918:28081,39919:28083,39920:28084,39921:28086,39922:28087,39923:28089,39924:28090,39925:28091,39926:28092,39927:28093,39928:28094,39929:28097,39930:28098,39931:28099,39932:28104,39933:28105,39934:28106,40000:28109,40001:28110,40002:28111,40003:28112,40004:28114,40005:28115,40006:28116,40007:28117,40008:28119,40009:28122,40010:28123,40011:28124,40012:28127,40013:28130,40014:28131,40015:28133,40016:28135,40017:28136,40018:28137,40019:28138,40020:28141,40021:28143,40022:28144,40023:28146,40024:28148,40025:28149,40026:28150,40027:28152,40028:28154,40029:28157,40030:28158,40031:28159,40032:28160,40033:28161,40034:28162,40035:28163,40036:28164,40037:28166,40038:28167,40039:28168,40040:28169,40041:28171,40042:28175,40043:28178,40044:28179,40045:28181,40046:28184,40047:28185,40048:28187,40049:28188,40050:28190,40051:28191,40052:28194,40053:28198,40054:28199,40055:28200,40056:28202,40057:28204,40058:28206,40059:28208,40060:28209,40061:28211,40062:28213,40064:28214,40065:28215,40066:28217,40067:28219,40068:28220,40069:28221,40070:28222,40071:28223,40072:28224,40073:28225,40074:28226,40075:28229,40076:28230,40077:28231,40078:28232,40079:28233,40080:28234,40081:28235,40082:28236,40083:28239,40084:28240,40085:28241,40086:28242,40087:28245,40088:28247,40089:28249,40090:28250,40091:28252,40092:28253,40093:28254,40094:28256,40095:28257,40096:28258,40097:28259,40098:28260,40099:28261,40100:28262,40101:28263,40102:28264,40103:28265,40104:28266,40105:28268,40106:28269,40107:28271,40108:28272,40109:28273,40110:28274,40111:28275,40112:28276,40113:28277,40114:28278,40115:28279,40116:28280,40117:28281,40118:28282,40119:28283,40120:28284,40121:28285,40122:28288,40123:28289,40124:28290,40125:28292,40126:28295,40127:28296,40128:28298,40129:28299,40130:28300,40131:28301,40132:28302,40133:28305,40134:28306,40135:28307,40136:28308,40137:28309,40138:28310,40139:28311,40140:28313,40141:28314,40142:28315,40143:28317,40144:28318,40145:28320,40146:28321,40147:28323,40148:28324,40149:28326,40150:28328,40151:28329,40152:28331,40153:28332,40154:28333,40155:28334,40156:28336,40157:28339,40158:28341,40159:28344,40160:28345,40161:28348,40162:28350,40163:28351,40164:28352,40165:28355,40166:28356,40167:28357,40168:28358,40169:28360,40170:28361,40171:28362,40172:28364,40173:28365,40174:28366,40175:28368,40176:28370,40177:28374,40178:28376,40179:28377,40180:28379,40181:28380,40182:28381,40183:28387,40184:28391,40185:28394,40186:28395,40187:28396,40188:28397,40189:28398,40190:28399,40256:28400,40257:28401,40258:28402,40259:28403,40260:28405,40261:28406,40262:28407,40263:28408,40264:28410,40265:28411,40266:28412,40267:28413,40268:28414,40269:28415,40270:28416,40271:28417,40272:28419,40273:28420,40274:28421,40275:28423,40276:28424,40277:28426,40278:28427,40279:28428,40280:28429,40281:28430,40282:28432,40283:28433,40284:28434,40285:28438,40286:28439,40287:28440,40288:28441,40289:28442,40290:28443,40291:28444,40292:28445,40293:28446,40294:28447,40295:28449,40296:28450,40297:28451,40298:28453,40299:28454,40300:28455,40301:28456,40302:28460,40303:28462,40304:28464,40305:28466,40306:28468,40307:28469,40308:28471,40309:28472,40310:28473,40311:28474,40312:28475,40313:28476,40314:28477,40315:28479,40316:28480,40317:28481,40318:28482,40320:28483,40321:28484,40322:28485,40323:28488,40324:28489,40325:28490,40326:28492,40327:28494,40328:28495,40329:28496,40330:28497,40331:28498,40332:28499,40333:28500,40334:28501,40335:28502,40336:28503,40337:28505,40338:28506,40339:28507,40340:28509,40341:28511,40342:28512,40343:28513,40344:28515,40345:28516,40346:28517,40347:28519,40348:28520,40349:28521,40350:28522,40351:28523,40352:28524,40353:28527,40354:28528,40355:28529,40356:28531,40357:28533,40358:28534,40359:28535,40360:28537,40361:28539,40362:28541,40363:28542,40364:28543,40365:28544,40366:28545,40367:28546,40368:28547,40369:28549,40370:28550,40371:28551,40372:28554,40373:28555,40374:28559,40375:28560,40376:28561,40377:28562,40378:28563,40379:28564,40380:28565,40381:28566,40382:28567,40383:28568,40384:28569,40385:28570,40386:28571,40387:28573,40388:28574,40389:28575,40390:28576,40391:28578,40392:28579,40393:28580,40394:28581,40395:28582,40396:28584,40397:28585,40398:28586,40399:28587,40400:28588,40401:28589,40402:28590,40403:28591,40404:28592,40405:28593,40406:28594,40407:28596,40408:28597,40409:28599,40410:28600,40411:28602,40412:28603,40413:28604,40414:28605,40415:28606,40416:28607,40417:28609,40418:28611,40419:28612,40420:28613,40421:28614,40422:28615,40423:28616,40424:28618,40425:28619,40426:28620,40427:28621,40428:28622,40429:28623,40430:28624,40431:28627,40432:28628,40433:28629,40434:28630,40435:28631,40436:28632,40437:28633,40438:28634,40439:28635,40440:28636,40441:28637,40442:28639,40443:28642,40444:28643,40445:28644,40446:28645,40512:28646,40513:28647,40514:28648,40515:28649,40516:28650,40517:28651,40518:28652,40519:28653,40520:28656,40521:28657,40522:28658,40523:28659,40524:28660,40525:28661,40526:28662,40527:28663,40528:28664,40529:28665,40530:28666,40531:28667,40532:28668,40533:28669,40534:28670,40535:28671,40536:28672,40537:28673,40538:28674,40539:28675,40540:28676,40541:28677,40542:28678,40543:28679,40544:28680,40545:28681,40546:28682,40547:28683,40548:28684,40549:28685,40550:28686,40551:28687,40552:28688,40553:28690,40554:28691,40555:28692,40556:28693,40557:28694,40558:28695,40559:28696,40560:28697,40561:28700,40562:28701,40563:28702,40564:28703,40565:28704,40566:28705,40567:28706,40568:28708,40569:28709,40570:28710,40571:28711,40572:28712,40573:28713,40574:28714,40576:28715,40577:28716,40578:28717,40579:28718,40580:28719,40581:28720,40582:28721,40583:28722,40584:28723,40585:28724,40586:28726,40587:28727,40588:28728,40589:28730,40590:28731,40591:28732,40592:28733,40593:28734,40594:28735,40595:28736,40596:28737,40597:28738,40598:28739,40599:28740,40600:28741,40601:28742,40602:28743,40603:28744,40604:28745,40605:28746,40606:28747,40607:28749,40608:28750,40609:28752,40610:28753,40611:28754,40612:28755,40613:28756,40614:28757,40615:28758,40616:28759,40617:28760,40618:28761,40619:28762,40620:28763,40621:28764,40622:28765,40623:28767,40624:28768,40625:28769,40626:28770,40627:28771,40628:28772,40629:28773,40630:28774,40631:28775,40632:28776,40633:28777,40634:28778,40635:28782,40636:28785,40637:28786,40638:28787,40639:28788,40640:28791,40641:28793,40642:28794,40643:28795,40644:28797,40645:28801,40646:28802,40647:28803,40648:28804,40649:28806,40650:28807,40651:28808,40652:28811,40653:28812,40654:28813,40655:28815,40656:28816,40657:28817,40658:28819,40659:28823,40660:28824,40661:28826,40662:28827,40663:28830,40664:28831,40665:28832,40666:28833,40667:28834,40668:28835,40669:28836,40670:28837,40671:28838,40672:28839,40673:28840,40674:28841,40675:28842,40676:28848,40677:28850,40678:28852,40679:28853,40680:28854,40681:28858,40682:28862,40683:28863,40684:28868,40685:28869,40686:28870,40687:28871,40688:28873,40689:28875,40690:28876,40691:28877,40692:28878,40693:28879,40694:28880,40695:28881,40696:28882,40697:28883,40698:28884,40699:28885,40700:28886,40701:28887,40702:28890,40768:28892,40769:28893,40770:28894,40771:28896,40772:28897,40773:28898,40774:28899,40775:28901,40776:28906,40777:28910,40778:28912,40779:28913,40780:28914,40781:28915,40782:28916,40783:28917,40784:28918,40785:28920,40786:28922,40787:28923,40788:28924,40789:28926,40790:28927,40791:28928,40792:28929,40793:28930,40794:28931,40795:28932,40796:28933,40797:28934,40798:28935,40799:28936,40800:28939,40801:28940,40802:28941,40803:28942,40804:28943,40805:28945,40806:28946,40807:28948,40808:28951,40809:28955,40810:28956,40811:28957,40812:28958,40813:28959,40814:28960,40815:28961,40816:28962,40817:28963,40818:28964,40819:28965,40820:28967,40821:28968,40822:28969,40823:28970,40824:28971,40825:28972,40826:28973,40827:28974,40828:28978,40829:28979,40830:28980,40832:28981,40833:28983,40834:28984,40835:28985,40836:28986,40837:28987,40838:28988,40839:28989,40840:28990,40841:28991,40842:28992,40843:28993,40844:28994,40845:28995,40846:28996,40847:28998,40848:28999,40849:29000,40850:29001,40851:29003,40852:29005,40853:29007,40854:29008,40855:29009,40856:29010,40857:29011,40858:29012,40859:29013,40860:29014,40861:29015,40862:29016,40863:29017,40864:29018,40865:29019,40866:29021,40867:29023,40868:29024,40869:29025,40870:29026,40871:29027,40872:29029,40873:29033,40874:29034,40875:29035,40876:29036,40877:29037,40878:29039,40879:29040,40880:29041,40881:29044,40882:29045,40883:29046,40884:29047,40885:29049,40886:29051,40887:29052,40888:29054,40889:29055,40890:29056,40891:29057,40892:29058,40893:29059,40894:29061,40895:29062,40896:29063,40897:29064,40898:29065,40899:29067,40900:29068,40901:29069,40902:29070,40903:29072,40904:29073,40905:29074,40906:29075,40907:29077,40908:29078,40909:29079,40910:29082,40911:29083,40912:29084,40913:29085,40914:29086,40915:29089,40916:29090,40917:29091,40918:29092,40919:29093,40920:29094,40921:29095,40922:29097,40923:29098,40924:29099,40925:29101,40926:29102,40927:29103,40928:29104,40929:29105,40930:29106,40931:29108,40932:29110,40933:29111,40934:29112,40935:29114,40936:29115,40937:29116,40938:29117,40939:29118,40940:29119,40941:29120,40942:29121,40943:29122,40944:29124,40945:29125,40946:29126,40947:29127,40948:29128,40949:29129,40950:29130,40951:29131,40952:29132,40953:29133,40954:29135,40955:29136,40956:29137,40957:29138,40958:29139,41024:29142,41025:29143,41026:29144,41027:29145,41028:29146,41029:29147,41030:29148,41031:29149,41032:29150,41033:29151,41034:29153,41035:29154,41036:29155,41037:29156,41038:29158,41039:29160,41040:29161,41041:29162,41042:29163,41043:29164,41044:29165,41045:29167,41046:29168,41047:29169,41048:29170,41049:29171,41050:29172,41051:29173,41052:29174,41053:29175,41054:29176,41055:29178,41056:29179,41057:29180,41058:29181,41059:29182,41060:29183,41061:29184,41062:29185,41063:29186,41064:29187,41065:29188,41066:29189,41067:29191,41068:29192,41069:29193,41070:29194,41071:29195,41072:29196,41073:29197,41074:29198,41075:29199,41076:29200,41077:29201,41078:29202,41079:29203,41080:29204,41081:29205,41082:29206,41083:29207,41084:29208,41085:29209,41086:29210,41088:29211,41089:29212,41090:29214,41091:29215,41092:29216,41093:29217,41094:29218,41095:29219,41096:29220,41097:29221,41098:29222,41099:29223,41100:29225,41101:29227,41102:29229,41103:29230,41104:29231,41105:29234,41106:29235,41107:29236,41108:29242,41109:29244,41110:29246,41111:29248,41112:29249,41113:29250,41114:29251,41115:29252,41116:29253,41117:29254,41118:29257,41119:29258,41120:29259,41121:29262,41122:29263,41123:29264,41124:29265,41125:29267,41126:29268,41127:29269,41128:29271,41129:29272,41130:29274,41131:29276,41132:29278,41133:29280,41134:29283,41135:29284,41136:29285,41137:29288,41138:29290,41139:29291,41140:29292,41141:29293,41142:29296,41143:29297,41144:29299,41145:29300,41146:29302,41147:29303,41148:29304,41149:29307,41150:29308,41151:29309,41152:29314,41153:29315,41154:29317,41155:29318,41156:29319,41157:29320,41158:29321,41159:29324,41160:29326,41161:29328,41162:29329,41163:29331,41164:29332,41165:29333,41166:29334,41167:29335,41168:29336,41169:29337,41170:29338,41171:29339,41172:29340,41173:29341,41174:29342,41175:29344,41176:29345,41177:29346,41178:29347,41179:29348,41180:29349,41181:29350,41182:29351,41183:29352,41184:29353,41185:29354,41186:29355,41187:29358,41188:29361,41189:29362,41190:29363,41191:29365,41192:29370,41193:29371,41194:29372,41195:29373,41196:29374,41197:29375,41198:29376,41199:29381,41200:29382,41201:29383,41202:29385,41203:29386,41204:29387,41205:29388,41206:29391,41207:29393,41208:29395,41209:29396,41210:29397,41211:29398,41212:29400,41213:29402,41214:29403,41280:58566,41281:58567,41282:58568,41283:58569,41284:58570,41285:58571,41286:58572,41287:58573,41288:58574,41289:58575,41290:58576,41291:58577,41292:58578,41293:58579,41294:58580,41295:58581,41296:58582,41297:58583,41298:58584,41299:58585,41300:58586,41301:58587,41302:58588,41303:58589,41304:58590,41305:58591,41306:58592,41307:58593,41308:58594,41309:58595,41310:58596,41311:58597,41312:58598,41313:58599,41314:58600,41315:58601,41316:58602,41317:58603,41318:58604,41319:58605,41320:58606,41321:58607,41322:58608,41323:58609,41324:58610,41325:58611,41326:58612,41327:58613,41328:58614,41329:58615,41330:58616,41331:58617,41332:58618,41333:58619,41334:58620,41335:58621,41336:58622,41337:58623,41338:58624,41339:58625,41340:58626,41341:58627,41342:58628,41344:58629,41345:58630,41346:58631,41347:58632,41348:58633,41349:58634,41350:58635,41351:58636,41352:58637,41353:58638,41354:58639,41355:58640,41356:58641,41357:58642,41358:58643,41359:58644,41360:58645,41361:58646,41362:58647,41363:58648,41364:58649,41365:58650,41366:58651,41367:58652,41368:58653,41369:58654,41370:58655,41371:58656,41372:58657,41373:58658,41374:58659,41375:58660,41376:58661,41377:12288,41378:12289,41379:12290,41380:183,41381:713,41382:711,41383:168,41384:12291,41385:12293,41386:8212,41387:65374,41388:8214,41389:8230,41390:8216,41391:8217,41392:8220,41393:8221,41394:12308,41395:12309,41396:12296,41397:12297,41398:12298,41399:12299,41400:12300,41401:12301,41402:12302,41403:12303,41404:12310,41405:12311,41406:12304,41407:12305,41408:177,41409:215,41410:247,41411:8758,41412:8743,41413:8744,41414:8721,41415:8719,41416:8746,41417:8745,41418:8712,41419:8759,41420:8730,41421:8869,41422:8741,41423:8736,41424:8978,41425:8857,41426:8747,41427:8750,41428:8801,41429:8780,41430:8776,41431:8765,41432:8733,41433:8800,41434:8814,41435:8815,41436:8804,41437:8805,41438:8734,41439:8757,41440:8756,41441:9794,41442:9792,41443:176,41444:8242,41445:8243,41446:8451,41447:65284,41448:164,41449:65504,41450:65505,41451:8240,41452:167,41453:8470,41454:9734,41455:9733,41456:9675,41457:9679,41458:9678,41459:9671,41460:9670,41461:9633,41462:9632,41463:9651,41464:9650,41465:8251,41466:8594,41467:8592,41468:8593,41469:8595,41470:12307,41536:58662,41537:58663,41538:58664,41539:58665,41540:58666,41541:58667,41542:58668,41543:58669,41544:58670,41545:58671,41546:58672,41547:58673,41548:58674,41549:58675,41550:58676,41551:58677,41552:58678,41553:58679,41554:58680,41555:58681,41556:58682,41557:58683,41558:58684,41559:58685,41560:58686,41561:58687,41562:58688,41563:58689,41564:58690,41565:58691,41566:58692,41567:58693,41568:58694,41569:58695,41570:58696,41571:58697,41572:58698,41573:58699,41574:58700,41575:58701,41576:58702,41577:58703,41578:58704,41579:58705,41580:58706,41581:58707,41582:58708,41583:58709,41584:58710,41585:58711,41586:58712,41587:58713,41588:58714,41589:58715,41590:58716,41591:58717,41592:58718,41593:58719,41594:58720,41595:58721,41596:58722,41597:58723,41598:58724,41600:58725,41601:58726,41602:58727,41603:58728,41604:58729,41605:58730,41606:58731,41607:58732,41608:58733,41609:58734,41610:58735,41611:58736,41612:58737,41613:58738,41614:58739,41615:58740,41616:58741,41617:58742,41618:58743,41619:58744,41620:58745,41621:58746,41622:58747,41623:58748,41624:58749,41625:58750,41626:58751,41627:58752,41628:58753,41629:58754,41630:58755,41631:58756,41632:58757,41633:8560,41634:8561,41635:8562,41636:8563,41637:8564,41638:8565,41639:8566,41640:8567,41641:8568,41642:8569,41643:59238,41644:59239,41645:59240,41646:59241,41647:59242,41648:59243,41649:9352,41650:9353,41651:9354,41652:9355,41653:9356,41654:9357,41655:9358,41656:9359,41657:9360,41658:9361,41659:9362,41660:9363,41661:9364,41662:9365,41663:9366,41664:9367,41665:9368,41666:9369,41667:9370,41668:9371,41669:9332,41670:9333,41671:9334,41672:9335,41673:9336,41674:9337,41675:9338,41676:9339,41677:9340,41678:9341,41679:9342,41680:9343,41681:9344,41682:9345,41683:9346,41684:9347,41685:9348,41686:9349,41687:9350,41688:9351,41689:9312,41690:9313,41691:9314,41692:9315,41693:9316,41694:9317,41695:9318,41696:9319,41697:9320,41698:9321,41699:8364,41700:59245,41701:12832,41702:12833,41703:12834,41704:12835,41705:12836,41706:12837,41707:12838,41708:12839,41709:12840,41710:12841,41711:59246,41712:59247,41713:8544,41714:8545,41715:8546,41716:8547,41717:8548,41718:8549,41719:8550,41720:8551,41721:8552,41722:8553,41723:8554,41724:8555,41725:59248,41726:59249,41792:58758,41793:58759,41794:58760,41795:58761,41796:58762,41797:58763,41798:58764,41799:58765,41800:58766,41801:58767,41802:58768,41803:58769,41804:58770,41805:58771,41806:58772,41807:58773,41808:58774,41809:58775,41810:58776,41811:58777,41812:58778,41813:58779,41814:58780,41815:58781,41816:58782,41817:58783,41818:58784,41819:58785,41820:58786,41821:58787,41822:58788,41823:58789,41824:58790,41825:58791,41826:58792,41827:58793,41828:58794,41829:58795,41830:58796,41831:58797,41832:58798,41833:58799,41834:58800,41835:58801,41836:58802,41837:58803,41838:58804,41839:58805,41840:58806,41841:58807,41842:58808,41843:58809,41844:58810,41845:58811,41846:58812,41847:58813,41848:58814,41849:58815,41850:58816,41851:58817,41852:58818,41853:58819,41854:58820,41856:58821,41857:58822,41858:58823,41859:58824,41860:58825,41861:58826,41862:58827,41863:58828,41864:58829,41865:58830,41866:58831,41867:58832,41868:58833,41869:58834,41870:58835,41871:58836,41872:58837,41873:58838,41874:58839,41875:58840,41876:58841,41877:58842,41878:58843,41879:58844,41880:58845,41881:58846,41882:58847,41883:58848,41884:58849,41885:58850,41886:58851,41887:58852,41888:58853,41889:65281,41890:65282,41891:65283,41892:65509,41893:65285,41894:65286,41895:65287,41896:65288,41897:65289,41898:65290,41899:65291,41900:65292,41901:65293,41902:65294,41903:65295,41904:65296,41905:65297,41906:65298,41907:65299,41908:65300,41909:65301,41910:65302,41911:65303,41912:65304,41913:65305,41914:65306,41915:65307,41916:65308,41917:65309,41918:65310,41919:65311,41920:65312,41921:65313,41922:65314,41923:65315,41924:65316,41925:65317,41926:65318,41927:65319,41928:65320,41929:65321,41930:65322,41931:65323,41932:65324,41933:65325,41934:65326,41935:65327,41936:65328,41937:65329,41938:65330,41939:65331,41940:65332,41941:65333,41942:65334,41943:65335,41944:65336,41945:65337,41946:65338,41947:65339,41948:65340,41949:65341,41950:65342,41951:65343,41952:65344,41953:65345,41954:65346,41955:65347,41956:65348,41957:65349,41958:65350,41959:65351,41960:65352,41961:65353,41962:65354,41963:65355,41964:65356,41965:65357,41966:65358,41967:65359,41968:65360,41969:65361,41970:65362,41971:65363,41972:65364,41973:65365,41974:65366,41975:65367,41976:65368,41977:65369,41978:65370,41979:65371,41980:65372,41981:65373,41982:65507,42048:58854,42049:58855,42050:58856,42051:58857,42052:58858,42053:58859,42054:58860,42055:58861,42056:58862,42057:58863,42058:58864,42059:58865,42060:58866,42061:58867,42062:58868,42063:58869,42064:58870,42065:58871,42066:58872,42067:58873,42068:58874,42069:58875,42070:58876,42071:58877,42072:58878,42073:58879,42074:58880,42075:58881,42076:58882,42077:58883,42078:58884,42079:58885,42080:58886,42081:58887,42082:58888,42083:58889,42084:58890,42085:58891,42086:58892,42087:58893,42088:58894,42089:58895,42090:58896,42091:58897,42092:58898,42093:58899,42094:58900,42095:58901,42096:58902,42097:58903,42098:58904,42099:58905,42100:58906,42101:58907,42102:58908,42103:58909,42104:58910,42105:58911,42106:58912,42107:58913,42108:58914,42109:58915,42110:58916,42112:58917,42113:58918,42114:58919,42115:58920,42116:58921,42117:58922,42118:58923,42119:58924,42120:58925,42121:58926,42122:58927,42123:58928,42124:58929,42125:58930,42126:58931,42127:58932,42128:58933,42129:58934,42130:58935,42131:58936,42132:58937,42133:58938,42134:58939,42135:58940,42136:58941,42137:58942,42138:58943,42139:58944,42140:58945,42141:58946,42142:58947,42143:58948,42144:58949,42145:12353,42146:12354,42147:12355,42148:12356,42149:12357,42150:12358,42151:12359,42152:12360,42153:12361,42154:12362,42155:12363,42156:12364,42157:12365,42158:12366,42159:12367,42160:12368,42161:12369,42162:12370,42163:12371,42164:12372,42165:12373,42166:12374,42167:12375,42168:12376,42169:12377,42170:12378,42171:12379,42172:12380,42173:12381,42174:12382,42175:12383,42176:12384,42177:12385,42178:12386,42179:12387,42180:12388,42181:12389,42182:12390,42183:12391,42184:12392,42185:12393,42186:12394,42187:12395,42188:12396,42189:12397,42190:12398,42191:12399,42192:12400,42193:12401,42194:12402,42195:12403,42196:12404,42197:12405,42198:12406,42199:12407,42200:12408,42201:12409,42202:12410,42203:12411,42204:12412,42205:12413,42206:12414,42207:12415,42208:12416,42209:12417,42210:12418,42211:12419,42212:12420,42213:12421,42214:12422,42215:12423,42216:12424,42217:12425,42218:12426,42219:12427,42220:12428,42221:12429,42222:12430,42223:12431,42224:12432,42225:12433,42226:12434,42227:12435,42228:59250,42229:59251,42230:59252,42231:59253,42232:59254,42233:59255,42234:59256,42235:59257,42236:59258,42237:59259,42238:59260,42304:58950,42305:58951,42306:58952,42307:58953,42308:58954,42309:58955,42310:58956,42311:58957,42312:58958,42313:58959,42314:58960,42315:58961,42316:58962,42317:58963,42318:58964,42319:58965,42320:58966,42321:58967,42322:58968,42323:58969,42324:58970,42325:58971,42326:58972,42327:58973,42328:58974,42329:58975,42330:58976,42331:58977,42332:58978,42333:58979,42334:58980,42335:58981,42336:58982,42337:58983,42338:58984,42339:58985,42340:58986,42341:58987,42342:58988,42343:58989,42344:58990,42345:58991,42346:58992,42347:58993,42348:58994,42349:58995,42350:58996,42351:58997,42352:58998,42353:58999,42354:59000,42355:59001,42356:59002,42357:59003,42358:59004,42359:59005,42360:59006,42361:59007,42362:59008,42363:59009,42364:59010,42365:59011,42366:59012,42368:59013,42369:59014,42370:59015,42371:59016,42372:59017,42373:59018,42374:59019,42375:59020,42376:59021,42377:59022,42378:59023,42379:59024,42380:59025,42381:59026,42382:59027,42383:59028,42384:59029,42385:59030,42386:59031,42387:59032,42388:59033,42389:59034,42390:59035,42391:59036,42392:59037,42393:59038,42394:59039,42395:59040,42396:59041,42397:59042,42398:59043,42399:59044,42400:59045,42401:12449,42402:12450,42403:12451,42404:12452,42405:12453,42406:12454,42407:12455,42408:12456,42409:12457,42410:12458,42411:12459,42412:12460,42413:12461,42414:12462,42415:12463,42416:12464,42417:12465,42418:12466,42419:12467,42420:12468,42421:12469,42422:12470,42423:12471,42424:12472,42425:12473,42426:12474,42427:12475,42428:12476,42429:12477,42430:12478,42431:12479,42432:12480,42433:12481,42434:12482,42435:12483,42436:12484,42437:12485,42438:12486,42439:12487,42440:12488,42441:12489,42442:12490,42443:12491,42444:12492,42445:12493,42446:12494,42447:12495,42448:12496,42449:12497,42450:12498,42451:12499,42452:12500,42453:12501,42454:12502,42455:12503,42456:12504,42457:12505,42458:12506,42459:12507,42460:12508,42461:12509,42462:12510,42463:12511,42464:12512,42465:12513,42466:12514,42467:12515,42468:12516,42469:12517,42470:12518,42471:12519,42472:12520,42473:12521,42474:12522,42475:12523,42476:12524,42477:12525,42478:12526,42479:12527,42480:12528,42481:12529,42482:12530,42483:12531,42484:12532,42485:12533,42486:12534,42487:59261,42488:59262,42489:59263,42490:59264,42491:59265,42492:59266,42493:59267,42494:59268,42560:59046,42561:59047,42562:59048,42563:59049,42564:59050,42565:59051,42566:59052,42567:59053,42568:59054,42569:59055,42570:59056,42571:59057,42572:59058,42573:59059,42574:59060,42575:59061,42576:59062,42577:59063,42578:59064,42579:59065,42580:59066,42581:59067,42582:59068,42583:59069,42584:59070,42585:59071,42586:59072,42587:59073,42588:59074,42589:59075,42590:59076,42591:59077,42592:59078,42593:59079,42594:59080,42595:59081,42596:59082,42597:59083,42598:59084,42599:59085,42600:59086,42601:59087,42602:59088,42603:59089,42604:59090,42605:59091,42606:59092,42607:59093,42608:59094,42609:59095,42610:59096,42611:59097,42612:59098,42613:59099,42614:59100,42615:59101,42616:59102,42617:59103,42618:59104,42619:59105,42620:59106,42621:59107,42622:59108,42624:59109,42625:59110,42626:59111,42627:59112,42628:59113,42629:59114,42630:59115,42631:59116,42632:59117,42633:59118,42634:59119,42635:59120,42636:59121,42637:59122,42638:59123,42639:59124,42640:59125,42641:59126,42642:59127,42643:59128,42644:59129,42645:59130,42646:59131,42647:59132,42648:59133,42649:59134,42650:59135,42651:59136,42652:59137,42653:59138,42654:59139,42655:59140,42656:59141,42657:913,42658:914,42659:915,42660:916,42661:917,42662:918,42663:919,42664:920,42665:921,42666:922,42667:923,42668:924,42669:925,42670:926,42671:927,42672:928,42673:929,42674:931,42675:932,42676:933,42677:934,42678:935,42679:936,42680:937,42681:59269,42682:59270,42683:59271,42684:59272,42685:59273,42686:59274,42687:59275,42688:59276,42689:945,42690:946,42691:947,42692:948,42693:949,42694:950,42695:951,42696:952,42697:953,42698:954,42699:955,42700:956,42701:957,42702:958,42703:959,42704:960,42705:961,42706:963,42707:964,42708:965,42709:966,42710:967,42711:968,42712:969,42713:59277,42714:59278,42715:59279,42716:59280,42717:59281,42718:59282,42719:59283,42720:65077,42721:65078,42722:65081,42723:65082,42724:65087,42725:65088,42726:65085,42727:65086,42728:65089,42729:65090,42730:65091,42731:65092,42732:59284,42733:59285,42734:65083,42735:65084,42736:65079,42737:65080,42738:65073,42739:59286,42740:65075,42741:65076,42742:59287,42743:59288,42744:59289,42745:59290,42746:59291,42747:59292,42748:59293,42749:59294,42750:59295,42816:59142,42817:59143,42818:59144,42819:59145,42820:59146,42821:59147,42822:59148,42823:59149,42824:59150,42825:59151,42826:59152,42827:59153,42828:59154,42829:59155,42830:59156,42831:59157,42832:59158,42833:59159,42834:59160,42835:59161,42836:59162,42837:59163,42838:59164,42839:59165,42840:59166,42841:59167,42842:59168,42843:59169,42844:59170,42845:59171,42846:59172,42847:59173,42848:59174,42849:59175,42850:59176,42851:59177,42852:59178,42853:59179,42854:59180,42855:59181,42856:59182,42857:59183,42858:59184,42859:59185,42860:59186,42861:59187,42862:59188,42863:59189,42864:59190,42865:59191,42866:59192,42867:59193,42868:59194,42869:59195,42870:59196,42871:59197,42872:59198,42873:59199,42874:59200,42875:59201,42876:59202,42877:59203,42878:59204,42880:59205,42881:59206,42882:59207,42883:59208,42884:59209,42885:59210,42886:59211,42887:59212,42888:59213,42889:59214,42890:59215,42891:59216,42892:59217,42893:59218,42894:59219,42895:59220,42896:59221,42897:59222,42898:59223,42899:59224,42900:59225,42901:59226,42902:59227,42903:59228,42904:59229,42905:59230,42906:59231,42907:59232,42908:59233,42909:59234,42910:59235,42911:59236,42912:59237,42913:1040,42914:1041,42915:1042,42916:1043,42917:1044,42918:1045,42919:1025,42920:1046,42921:1047,42922:1048,42923:1049,42924:1050,42925:1051,42926:1052,42927:1053,42928:1054,42929:1055,42930:1056,42931:1057,42932:1058,42933:1059,42934:1060,42935:1061,42936:1062,42937:1063,42938:1064,42939:1065,42940:1066,42941:1067,42942:1068,42943:1069,42944:1070,42945:1071,42946:59296,42947:59297,42948:59298,42949:59299,42950:59300,42951:59301,42952:59302,42953:59303,42954:59304,42955:59305,42956:59306,42957:59307,42958:59308,42959:59309,42960:59310,42961:1072,42962:1073,42963:1074,42964:1075,42965:1076,42966:1077,42967:1105,42968:1078,42969:1079,42970:1080,42971:1081,42972:1082,42973:1083,42974:1084,42975:1085,42976:1086,42977:1087,42978:1088,42979:1089,42980:1090,42981:1091,42982:1092,42983:1093,42984:1094,42985:1095,42986:1096,42987:1097,42988:1098,42989:1099,42990:1100,42991:1101,42992:1102,42993:1103,42994:59311,42995:59312,42996:59313,42997:59314,42998:59315,42999:59316,43000:59317,43001:59318,43002:59319,43003:59320,43004:59321,43005:59322,43006:59323,43072:714,43073:715,43074:729,43075:8211,43076:8213,43077:8229,43078:8245,43079:8453,43080:8457,43081:8598,43082:8599,43083:8600,43084:8601,43085:8725,43086:8735,43087:8739,43088:8786,43089:8806,43090:8807,43091:8895,43092:9552,43093:9553,43094:9554,43095:9555,43096:9556,43097:9557,43098:9558,43099:9559,43100:9560,43101:9561,43102:9562,43103:9563,43104:9564,43105:9565,43106:9566,43107:9567,43108:9568,43109:9569,43110:9570,43111:9571,43112:9572,43113:9573,43114:9574,43115:9575,43116:9576,43117:9577,43118:9578,43119:9579,43120:9580,43121:9581,43122:9582,43123:9583,43124:9584,43125:9585,43126:9586,43127:9587,43128:9601,43129:9602,43130:9603,43131:9604,43132:9605,43133:9606,43134:9607,43136:9608,43137:9609,43138:9610,43139:9611,43140:9612,43141:9613,43142:9614,43143:9615,43144:9619,43145:9620,43146:9621,43147:9660,43148:9661,43149:9698,43150:9699,43151:9700,43152:9701,43153:9737,43154:8853,43155:12306,43156:12317,43157:12318,43158:59324,43159:59325,43160:59326,43161:59327,43162:59328,43163:59329,43164:59330,43165:59331,43166:59332,43167:59333,43168:59334,43169:257,43170:225,43171:462,43172:224,43173:275,43174:233,43175:283,43176:232,43177:299,43178:237,43179:464,43180:236,43181:333,43182:243,43183:466,43184:242,43185:363,43186:250,43187:468,43188:249,43189:470,43190:472,43191:474,43192:476,43193:252,43194:234,43195:593,43196:59335,43197:324,43198:328,43199:505,43200:609,43201:59337,43202:59338,43203:59339,43204:59340,43205:12549,43206:12550,43207:12551,43208:12552,43209:12553,43210:12554,43211:12555,43212:12556,43213:12557,43214:12558,43215:12559,43216:12560,43217:12561,43218:12562,43219:12563,43220:12564,43221:12565,43222:12566,43223:12567,43224:12568,43225:12569,43226:12570,43227:12571,43228:12572,43229:12573,43230:12574,43231:12575,43232:12576,43233:12577,43234:12578,43235:12579,43236:12580,43237:12581,43238:12582,43239:12583,43240:12584,43241:12585,43242:59341,43243:59342,43244:59343,43245:59344,43246:59345,43247:59346,43248:59347,43249:59348,43250:59349,43251:59350,43252:59351,43253:59352,43254:59353,43255:59354,43256:59355,43257:59356,43258:59357,43259:59358,43260:59359,43261:59360,43262:59361,43328:12321,43329:12322,43330:12323,43331:12324,43332:12325,43333:12326,43334:12327,43335:12328,43336:12329,43337:12963,43338:13198,43339:13199,43340:13212,43341:13213,43342:13214,43343:13217,43344:13252,43345:13262,43346:13265,43347:13266,43348:13269,43349:65072,43350:65506,43351:65508,43352:59362,43353:8481,43354:12849,43355:59363,43356:8208,43357:59364,43358:59365,43359:59366,43360:12540,43361:12443,43362:12444,43363:12541,43364:12542,43365:12294,43366:12445,43367:12446,43368:65097,43369:65098,43370:65099,43371:65100,43372:65101,43373:65102,43374:65103,43375:65104,43376:65105,43377:65106,43378:65108,43379:65109,43380:65110,43381:65111,43382:65113,43383:65114,43384:65115,43385:65116,43386:65117,43387:65118,43388:65119,43389:65120,43390:65121,43392:65122,43393:65123,43394:65124,43395:65125,43396:65126,43397:65128,43398:65129,43399:65130,43400:65131,43401:12350,43402:12272,43403:12273,43404:12274,43405:12275,43406:12276,43407:12277,43408:12278,43409:12279,43410:12280,43411:12281,43412:12282,43413:12283,43414:12295,43415:59380,43416:59381,43417:59382,43418:59383,43419:59384,43420:59385,43421:59386,43422:59387,43423:59388,43424:59389,43425:59390,43426:59391,43427:59392,43428:9472,43429:9473,43430:9474,43431:9475,43432:9476,43433:9477,43434:9478,43435:9479,43436:9480,43437:9481,43438:9482,43439:9483,43440:9484,43441:9485,43442:9486,43443:9487,43444:9488,43445:9489,43446:9490,43447:9491,43448:9492,43449:9493,43450:9494,43451:9495,43452:9496,43453:9497,43454:9498,43455:9499,43456:9500,43457:9501,43458:9502,43459:9503,43460:9504,43461:9505,43462:9506,43463:9507,43464:9508,43465:9509,43466:9510,43467:9511,43468:9512,43469:9513,43470:9514,43471:9515,43472:9516,43473:9517,43474:9518,43475:9519,43476:9520,43477:9521,43478:9522,43479:9523,43480:9524,43481:9525,43482:9526,43483:9527,43484:9528,43485:9529,43486:9530,43487:9531,43488:9532,43489:9533,43490:9534,43491:9535,43492:9536,43493:9537,43494:9538,43495:9539,43496:9540,43497:9541,43498:9542,43499:9543,43500:9544,43501:9545,43502:9546,43503:9547,43504:59393,43505:59394,43506:59395,43507:59396,43508:59397,43509:59398,43510:59399,43511:59400,43512:59401,43513:59402,43514:59403,43515:59404,43516:59405,43517:59406,43518:59407,43584:29404,43585:29405,43586:29407,43587:29410,43588:29411,43589:29412,43590:29413,43591:29414,43592:29415,43593:29418,43594:29419,43595:29429,43596:29430,43597:29433,43598:29437,43599:29438,43600:29439,43601:29440,43602:29442,43603:29444,43604:29445,43605:29446,43606:29447,43607:29448,43608:29449,43609:29451,43610:29452,43611:29453,43612:29455,43613:29456,43614:29457,43615:29458,43616:29460,43617:29464,43618:29465,43619:29466,43620:29471,43621:29472,43622:29475,43623:29476,43624:29478,43625:29479,43626:29480,43627:29485,43628:29487,43629:29488,43630:29490,43631:29491,43632:29493,43633:29494,43634:29498,43635:29499,43636:29500,43637:29501,43638:29504,43639:29505,43640:29506,43641:29507,43642:29508,43643:29509,43644:29510,43645:29511,43646:29512,43648:29513,43649:29514,43650:29515,43651:29516,43652:29518,43653:29519,43654:29521,43655:29523,43656:29524,43657:29525,43658:29526,43659:29528,43660:29529,43661:29530,43662:29531,43663:29532,43664:29533,43665:29534,43666:29535,43667:29537,43668:29538,43669:29539,43670:29540,43671:29541,43672:29542,43673:29543,43674:29544,43675:29545,43676:29546,43677:29547,43678:29550,43679:29552,43680:29553,43681:57344,43682:57345,43683:57346,43684:57347,43685:57348,43686:57349,43687:57350,43688:57351,43689:57352,43690:57353,43691:57354,43692:57355,43693:57356,43694:57357,43695:57358,43696:57359,43697:57360,43698:57361,43699:57362,43700:57363,43701:57364,43702:57365,43703:57366,43704:57367,43705:57368,43706:57369,43707:57370,43708:57371,43709:57372,43710:57373,43711:57374,43712:57375,43713:57376,43714:57377,43715:57378,43716:57379,43717:57380,43718:57381,43719:57382,43720:57383,43721:57384,43722:57385,43723:57386,43724:57387,43725:57388,43726:57389,43727:57390,43728:57391,43729:57392,43730:57393,43731:57394,43732:57395,43733:57396,43734:57397,43735:57398,43736:57399,43737:57400,43738:57401,43739:57402,43740:57403,43741:57404,43742:57405,43743:57406,43744:57407,43745:57408,43746:57409,43747:57410,43748:57411,43749:57412,43750:57413,43751:57414,43752:57415,43753:57416,43754:57417,43755:57418,43756:57419,43757:57420,43758:57421,43759:57422,43760:57423,43761:57424,43762:57425,43763:57426,43764:57427,43765:57428,43766:57429,43767:57430,43768:57431,43769:57432,43770:57433,43771:57434,43772:57435,43773:57436,43774:57437,43840:29554,43841:29555,43842:29556,43843:29557,43844:29558,43845:29559,43846:29560,43847:29561,43848:29562,43849:29563,43850:29564,43851:29565,43852:29567,43853:29568,43854:29569,43855:29570,43856:29571,43857:29573,43858:29574,43859:29576,43860:29578,43861:29580,43862:29581,43863:29583,43864:29584,43865:29586,43866:29587,43867:29588,43868:29589,43869:29591,43870:29592,43871:29593,43872:29594,43873:29596,43874:29597,43875:29598,43876:29600,43877:29601,43878:29603,43879:29604,43880:29605,43881:29606,43882:29607,43883:29608,43884:29610,43885:29612,43886:29613,43887:29617,43888:29620,43889:29621,43890:29622,43891:29624,43892:29625,43893:29628,43894:29629,43895:29630,43896:29631,43897:29633,43898:29635,43899:29636,43900:29637,43901:29638,43902:29639,43904:29643,43905:29644,43906:29646,43907:29650,43908:29651,43909:29652,43910:29653,43911:29654,43912:29655,43913:29656,43914:29658,43915:29659,43916:29660,43917:29661,43918:29663,43919:29665,43920:29666,43921:29667,43922:29668,43923:29670,43924:29672,43925:29674,43926:29675,43927:29676,43928:29678,43929:29679,43930:29680,43931:29681,43932:29683,43933:29684,43934:29685,43935:29686,43936:29687,43937:57438,43938:57439,43939:57440,43940:57441,43941:57442,43942:57443,43943:57444,43944:57445,43945:57446,43946:57447,43947:57448,43948:57449,43949:57450,43950:57451,43951:57452,43952:57453,43953:57454,43954:57455,43955:57456,43956:57457,43957:57458,43958:57459,43959:57460,43960:57461,43961:57462,43962:57463,43963:57464,43964:57465,43965:57466,43966:57467,43967:57468,43968:57469,43969:57470,43970:57471,43971:57472,43972:57473,43973:57474,43974:57475,43975:57476,43976:57477,43977:57478,43978:57479,43979:57480,43980:57481,43981:57482,43982:57483,43983:57484,43984:57485,43985:57486,43986:57487,43987:57488,43988:57489,43989:57490,43990:57491,43991:57492,43992:57493,43993:57494,43994:57495,43995:57496,43996:57497,43997:57498,43998:57499,43999:57500,44000:57501,44001:57502,44002:57503,44003:57504,44004:57505,44005:57506,44006:57507,44007:57508,44008:57509,44009:57510,44010:57511,44011:57512,44012:57513,44013:57514,44014:57515,44015:57516,44016:57517,44017:57518,44018:57519,44019:57520,44020:57521,44021:57522,44022:57523,44023:57524,44024:57525,44025:57526,44026:57527,44027:57528,44028:57529,44029:57530,44030:57531,44096:29688,44097:29689,44098:29690,44099:29691,44100:29692,44101:29693,44102:29694,44103:29695,44104:29696,44105:29697,44106:29698,44107:29700,44108:29703,44109:29704,44110:29707,44111:29708,44112:29709,44113:29710,44114:29713,44115:29714,44116:29715,44117:29716,44118:29717,44119:29718,44120:29719,44121:29720,44122:29721,44123:29724,44124:29725,44125:29726,44126:29727,44127:29728,44128:29729,44129:29731,44130:29732,44131:29735,44132:29737,44133:29739,44134:29741,44135:29743,44136:29745,44137:29746,44138:29751,44139:29752,44140:29753,44141:29754,44142:29755,44143:29757,44144:29758,44145:29759,44146:29760,44147:29762,44148:29763,44149:29764,44150:29765,44151:29766,44152:29767,44153:29768,44154:29769,44155:29770,44156:29771,44157:29772,44158:29773,44160:29774,44161:29775,44162:29776,44163:29777,44164:29778,44165:29779,44166:29780,44167:29782,44168:29784,44169:29789,44170:29792,44171:29793,44172:29794,44173:29795,44174:29796,44175:29797,44176:29798,44177:29799,44178:29800,44179:29801,44180:29802,44181:29803,44182:29804,44183:29806,44184:29807,44185:29809,44186:29810,44187:29811,44188:29812,44189:29813,44190:29816,44191:29817,44192:29818,44193:57532,44194:57533,44195:57534,44196:57535,44197:57536,44198:57537,44199:57538,44200:57539,44201:57540,44202:57541,44203:57542,44204:57543,44205:57544,44206:57545,44207:57546,44208:57547,44209:57548,44210:57549,44211:57550,44212:57551,44213:57552,44214:57553,44215:57554,44216:57555,44217:57556,44218:57557,44219:57558,44220:57559,44221:57560,44222:57561,44223:57562,44224:57563,44225:57564,44226:57565,44227:57566,44228:57567,44229:57568,44230:57569,44231:57570,44232:57571,44233:57572,44234:57573,44235:57574,44236:57575,44237:57576,44238:57577,44239:57578,44240:57579,44241:57580,44242:57581,44243:57582,44244:57583,44245:57584,44246:57585,44247:57586,44248:57587,44249:57588,44250:57589,44251:57590,44252:57591,44253:57592,44254:57593,44255:57594,44256:57595,44257:57596,44258:57597,44259:57598,44260:57599,44261:57600,44262:57601,44263:57602,44264:57603,44265:57604,44266:57605,44267:57606,44268:57607,44269:57608,44270:57609,44271:57610,44272:57611,44273:57612,44274:57613,44275:57614,44276:57615,44277:57616,44278:57617,44279:57618,44280:57619,44281:57620,44282:57621,44283:57622,44284:57623,44285:57624,44286:57625,44352:29819,44353:29820,44354:29821,44355:29823,44356:29826,44357:29828,44358:29829,44359:29830,44360:29832,44361:29833,44362:29834,44363:29836,44364:29837,44365:29839,44366:29841,44367:29842,44368:29843,44369:29844,44370:29845,44371:29846,44372:29847,44373:29848,44374:29849,44375:29850,44376:29851,44377:29853,44378:29855,44379:29856,44380:29857,44381:29858,44382:29859,44383:29860,44384:29861,44385:29862,44386:29866,44387:29867,44388:29868,44389:29869,44390:29870,44391:29871,44392:29872,44393:29873,44394:29874,44395:29875,44396:29876,44397:29877,44398:29878,44399:29879,44400:29880,44401:29881,44402:29883,44403:29884,44404:29885,44405:29886,44406:29887,44407:29888,44408:29889,44409:29890,44410:29891,44411:29892,44412:29893,44413:29894,44414:29895,44416:29896,44417:29897,44418:29898,44419:29899,44420:29900,44421:29901,44422:29902,44423:29903,44424:29904,44425:29905,44426:29907,44427:29908,44428:29909,44429:29910,44430:29911,44431:29912,44432:29913,44433:29914,44434:29915,44435:29917,44436:29919,44437:29921,44438:29925,44439:29927,44440:29928,44441:29929,44442:29930,44443:29931,44444:29932,44445:29933,44446:29936,44447:29937,44448:29938,44449:57626,44450:57627,44451:57628,44452:57629,44453:57630,44454:57631,44455:57632,44456:57633,44457:57634,44458:57635,44459:57636,44460:57637,44461:57638,44462:57639,44463:57640,44464:57641,44465:57642,44466:57643,44467:57644,44468:57645,44469:57646,44470:57647,44471:57648,44472:57649,44473:57650,44474:57651,44475:57652,44476:57653,44477:57654,44478:57655,44479:57656,44480:57657,44481:57658,44482:57659,44483:57660,44484:57661,44485:57662,44486:57663,44487:57664,44488:57665,44489:57666,44490:57667,44491:57668,44492:57669,44493:57670,44494:57671,44495:57672,44496:57673,44497:57674,44498:57675,44499:57676,44500:57677,44501:57678,44502:57679,44503:57680,44504:57681,44505:57682,44506:57683,44507:57684,44508:57685,44509:57686,44510:57687,44511:57688,44512:57689,44513:57690,44514:57691,44515:57692,44516:57693,44517:57694,44518:57695,44519:57696,44520:57697,44521:57698,44522:57699,44523:57700,44524:57701,44525:57702,44526:57703,44527:57704,44528:57705,44529:57706,44530:57707,44531:57708,44532:57709,44533:57710,44534:57711,44535:57712,44536:57713,44537:57714,44538:57715,44539:57716,44540:57717,44541:57718,44542:57719,44608:29939,44609:29941,44610:29944,44611:29945,44612:29946,44613:29947,44614:29948,44615:29949,44616:29950,44617:29952,44618:29953,44619:29954,44620:29955,44621:29957,44622:29958,44623:29959,44624:29960,44625:29961,44626:29962,44627:29963,44628:29964,44629:29966,44630:29968,44631:29970,44632:29972,44633:29973,44634:29974,44635:29975,44636:29979,44637:29981,44638:29982,44639:29984,44640:29985,44641:29986,44642:29987,44643:29988,44644:29990,44645:29991,44646:29994,44647:29998,44648:30004,44649:30006,44650:30009,44651:30012,44652:30013,44653:30015,44654:30017,44655:30018,44656:30019,44657:30020,44658:30022,44659:30023,44660:30025,44661:30026,44662:30029,44663:30032,44664:30033,44665:30034,44666:30035,44667:30037,44668:30038,44669:30039,44670:30040,44672:30045,44673:30046,44674:30047,44675:30048,44676:30049,44677:30050,44678:30051,44679:30052,44680:30055,44681:30056,44682:30057,44683:30059,44684:30060,44685:30061,44686:30062,44687:30063,44688:30064,44689:30065,44690:30067,44691:30069,44692:30070,44693:30071,44694:30074,44695:30075,44696:30076,44697:30077,44698:30078,44699:30080,44700:30081,44701:30082,44702:30084,44703:30085,44704:30087,44705:57720,44706:57721,44707:57722,44708:57723,44709:57724,44710:57725,44711:57726,44712:57727,44713:57728,44714:57729,44715:57730,44716:57731,44717:57732,44718:57733,44719:57734,44720:57735,44721:57736,44722:57737,44723:57738,44724:57739,44725:57740,44726:57741,44727:57742,44728:57743,44729:57744,44730:57745,44731:57746,44732:57747,44733:57748,44734:57749,44735:57750,44736:57751,44737:57752,44738:57753,44739:57754,44740:57755,44741:57756,44742:57757,44743:57758,44744:57759,44745:57760,44746:57761,44747:57762,44748:57763,44749:57764,44750:57765,44751:57766,44752:57767,44753:57768,44754:57769,44755:57770,44756:57771,44757:57772,44758:57773,44759:57774,44760:57775,44761:57776,44762:57777,44763:57778,44764:57779,44765:57780,44766:57781,44767:57782,44768:57783,44769:57784,44770:57785,44771:57786,44772:57787,44773:57788,44774:57789,44775:57790,44776:57791,44777:57792,44778:57793,44779:57794,44780:57795,44781:57796,44782:57797,44783:57798,44784:57799,44785:57800,44786:57801,44787:57802,44788:57803,44789:57804,44790:57805,44791:57806,44792:57807,44793:57808,44794:57809,44795:57810,44796:57811,44797:57812,44798:57813,44864:30088,44865:30089,44866:30090,44867:30092,44868:30093,44869:30094,44870:30096,44871:30099,44872:30101,44873:30104,44874:30107,44875:30108,44876:30110,44877:30114,44878:30118,44879:30119,44880:30120,44881:30121,44882:30122,44883:30125,44884:30134,44885:30135,44886:30138,44887:30139,44888:30143,44889:30144,44890:30145,44891:30150,44892:30155,44893:30156,44894:30158,44895:30159,44896:30160,44897:30161,44898:30163,44899:30167,44900:30169,44901:30170,44902:30172,44903:30173,44904:30175,44905:30176,44906:30177,44907:30181,44908:30185,44909:30188,44910:30189,44911:30190,44912:30191,44913:30194,44914:30195,44915:30197,44916:30198,44917:30199,44918:30200,44919:30202,44920:30203,44921:30205,44922:30206,44923:30210,44924:30212,44925:30214,44926:30215,44928:30216,44929:30217,44930:30219,44931:30221,44932:30222,44933:30223,44934:30225,44935:30226,44936:30227,44937:30228,44938:30230,44939:30234,44940:30236,44941:30237,44942:30238,44943:30241,44944:30243,44945:30247,44946:30248,44947:30252,44948:30254,44949:30255,44950:30257,44951:30258,44952:30262,44953:30263,44954:30265,44955:30266,44956:30267,44957:30269,44958:30273,44959:30274,44960:30276,44961:57814,44962:57815,44963:57816,44964:57817,44965:57818,44966:57819,44967:57820,44968:57821,44969:57822,44970:57823,44971:57824,44972:57825,44973:57826,44974:57827,44975:57828,44976:57829,44977:57830,44978:57831,44979:57832,44980:57833,44981:57834,44982:57835,44983:57836,44984:57837,44985:57838,44986:57839,44987:57840,44988:57841,44989:57842,44990:57843,44991:57844,44992:57845,44993:57846,44994:57847,44995:57848,44996:57849,44997:57850,44998:57851,44999:57852,45000:57853,45001:57854,45002:57855,45003:57856,45004:57857,45005:57858,45006:57859,45007:57860,45008:57861,45009:57862,45010:57863,45011:57864,45012:57865,45013:57866,45014:57867,45015:57868,45016:57869,45017:57870,45018:57871,45019:57872,45020:57873,45021:57874,45022:57875,45023:57876,45024:57877,45025:57878,45026:57879,45027:57880,45028:57881,45029:57882,45030:57883,45031:57884,45032:57885,45033:57886,45034:57887,45035:57888,45036:57889,45037:57890,45038:57891,45039:57892,45040:57893,45041:57894,45042:57895,45043:57896,45044:57897,45045:57898,45046:57899,45047:57900,45048:57901,45049:57902,45050:57903,45051:57904,45052:57905,45053:57906,45054:57907,45120:30277,45121:30278,45122:30279,45123:30280,45124:30281,45125:30282,45126:30283,45127:30286,45128:30287,45129:30288,45130:30289,45131:30290,45132:30291,45133:30293,45134:30295,45135:30296,45136:30297,45137:30298,45138:30299,45139:30301,45140:30303,45141:30304,45142:30305,45143:30306,45144:30308,45145:30309,45146:30310,45147:30311,45148:30312,45149:30313,45150:30314,45151:30316,45152:30317,45153:30318,45154:30320,45155:30321,45156:30322,45157:30323,45158:30324,45159:30325,45160:30326,45161:30327,45162:30329,45163:30330,45164:30332,45165:30335,45166:30336,45167:30337,45168:30339,45169:30341,45170:30345,45171:30346,45172:30348,45173:30349,45174:30351,45175:30352,45176:30354,45177:30356,45178:30357,45179:30359,45180:30360,45181:30362,45182:30363,45184:30364,45185:30365,45186:30366,45187:30367,45188:30368,45189:30369,45190:30370,45191:30371,45192:30373,45193:30374,45194:30375,45195:30376,45196:30377,45197:30378,45198:30379,45199:30380,45200:30381,45201:30383,45202:30384,45203:30387,45204:30389,45205:30390,45206:30391,45207:30392,45208:30393,45209:30394,45210:30395,45211:30396,45212:30397,45213:30398,45214:30400,45215:30401,45216:30403,45217:21834,45218:38463,45219:22467,45220:25384,45221:21710,45222:21769,45223:21696,45224:30353,45225:30284,45226:34108,45227:30702,45228:33406,45229:30861,45230:29233,45231:38552,45232:38797,45233:27688,45234:23433,45235:20474,45236:25353,45237:26263,45238:23736,45239:33018,45240:26696,45241:32942,45242:26114,45243:30414,45244:20985,45245:25942,45246:29100,45247:32753,45248:34948,45249:20658,45250:22885,45251:25034,45252:28595,45253:33453,45254:25420,45255:25170,45256:21485,45257:21543,45258:31494,45259:20843,45260:30116,45261:24052,45262:25300,45263:36299,45264:38774,45265:25226,45266:32793,45267:22365,45268:38712,45269:32610,45270:29240,45271:30333,45272:26575,45273:30334,45274:25670,45275:20336,45276:36133,45277:25308,45278:31255,45279:26001,45280:29677,45281:25644,45282:25203,45283:33324,45284:39041,45285:26495,45286:29256,45287:25198,45288:25292,45289:20276,45290:29923,45291:21322,45292:21150,45293:32458,45294:37030,45295:24110,45296:26758,45297:27036,45298:33152,45299:32465,45300:26834,45301:30917,45302:34444,45303:38225,45304:20621,45305:35876,45306:33502,45307:32990,45308:21253,45309:35090,45310:21093,45376:30404,45377:30407,45378:30409,45379:30411,45380:30412,45381:30419,45382:30421,45383:30425,45384:30426,45385:30428,45386:30429,45387:30430,45388:30432,45389:30433,45390:30434,45391:30435,45392:30436,45393:30438,45394:30439,45395:30440,45396:30441,45397:30442,45398:30443,45399:30444,45400:30445,45401:30448,45402:30451,45403:30453,45404:30454,45405:30455,45406:30458,45407:30459,45408:30461,45409:30463,45410:30464,45411:30466,45412:30467,45413:30469,45414:30470,45415:30474,45416:30476,45417:30478,45418:30479,45419:30480,45420:30481,45421:30482,45422:30483,45423:30484,45424:30485,45425:30486,45426:30487,45427:30488,45428:30491,45429:30492,45430:30493,45431:30494,45432:30497,45433:30499,45434:30500,45435:30501,45436:30503,45437:30506,45438:30507,45440:30508,45441:30510,45442:30512,45443:30513,45444:30514,45445:30515,45446:30516,45447:30521,45448:30523,45449:30525,45450:30526,45451:30527,45452:30530,45453:30532,45454:30533,45455:30534,45456:30536,45457:30537,45458:30538,45459:30539,45460:30540,45461:30541,45462:30542,45463:30543,45464:30546,45465:30547,45466:30548,45467:30549,45468:30550,45469:30551,45470:30552,45471:30553,45472:30556,45473:34180,45474:38649,45475:20445,45476:22561,45477:39281,45478:23453,45479:25265,45480:25253,45481:26292,45482:35961,45483:40077,45484:29190,45485:26479,45486:30865,45487:24754,45488:21329,45489:21271,45490:36744,45491:32972,45492:36125,45493:38049,45494:20493,45495:29384,45496:22791,45497:24811,45498:28953,45499:34987,45500:22868,45501:33519,45502:26412,45503:31528,45504:23849,45505:32503,45506:29997,45507:27893,45508:36454,45509:36856,45510:36924,45511:40763,45512:27604,45513:37145,45514:31508,45515:24444,45516:30887,45517:34006,45518:34109,45519:27605,45520:27609,45521:27606,45522:24065,45523:24199,45524:30201,45525:38381,45526:25949,45527:24330,45528:24517,45529:36767,45530:22721,45531:33218,45532:36991,45533:38491,45534:38829,45535:36793,45536:32534,45537:36140,45538:25153,45539:20415,45540:21464,45541:21342,45542:36776,45543:36777,45544:36779,45545:36941,45546:26631,45547:24426,45548:33176,45549:34920,45550:40150,45551:24971,45552:21035,45553:30250,45554:24428,45555:25996,45556:28626,45557:28392,45558:23486,45559:25672,45560:20853,45561:20912,45562:26564,45563:19993,45564:31177,45565:39292,45566:28851,45632:30557,45633:30558,45634:30559,45635:30560,45636:30564,45637:30567,45638:30569,45639:30570,45640:30573,45641:30574,45642:30575,45643:30576,45644:30577,45645:30578,45646:30579,45647:30580,45648:30581,45649:30582,45650:30583,45651:30584,45652:30586,45653:30587,45654:30588,45655:30593,45656:30594,45657:30595,45658:30598,45659:30599,45660:30600,45661:30601,45662:30602,45663:30603,45664:30607,45665:30608,45666:30611,45667:30612,45668:30613,45669:30614,45670:30615,45671:30616,45672:30617,45673:30618,45674:30619,45675:30620,45676:30621,45677:30622,45678:30625,45679:30627,45680:30628,45681:30630,45682:30632,45683:30635,45684:30637,45685:30638,45686:30639,45687:30641,45688:30642,45689:30644,45690:30646,45691:30647,45692:30648,45693:30649,45694:30650,45696:30652,45697:30654,45698:30656,45699:30657,45700:30658,45701:30659,45702:30660,45703:30661,45704:30662,45705:30663,45706:30664,45707:30665,45708:30666,45709:30667,45710:30668,45711:30670,45712:30671,45713:30672,45714:30673,45715:30674,45716:30675,45717:30676,45718:30677,45719:30678,45720:30680,45721:30681,45722:30682,45723:30685,45724:30686,45725:30687,45726:30688,45727:30689,45728:30692,45729:30149,45730:24182,45731:29627,45732:33760,45733:25773,45734:25320,45735:38069,45736:27874,45737:21338,45738:21187,45739:25615,45740:38082,45741:31636,45742:20271,45743:24091,45744:33334,45745:33046,45746:33162,45747:28196,45748:27850,45749:39539,45750:25429,45751:21340,45752:21754,45753:34917,45754:22496,45755:19981,45756:24067,45757:27493,45758:31807,45759:37096,45760:24598,45761:25830,45762:29468,45763:35009,45764:26448,45765:25165,45766:36130,45767:30572,45768:36393,45769:37319,45770:24425,45771:33756,45772:34081,45773:39184,45774:21442,45775:34453,45776:27531,45777:24813,45778:24808,45779:28799,45780:33485,45781:33329,45782:20179,45783:27815,45784:34255,45785:25805,45786:31961,45787:27133,45788:26361,45789:33609,45790:21397,45791:31574,45792:20391,45793:20876,45794:27979,45795:23618,45796:36461,45797:25554,45798:21449,45799:33580,45800:33590,45801:26597,45802:30900,45803:25661,45804:23519,45805:23700,45806:24046,45807:35815,45808:25286,45809:26612,45810:35962,45811:25600,45812:25530,45813:34633,45814:39307,45815:35863,45816:32544,45817:38130,45818:20135,45819:38416,45820:39076,45821:26124,45822:29462,45888:30694,45889:30696,45890:30698,45891:30703,45892:30704,45893:30705,45894:30706,45895:30708,45896:30709,45897:30711,45898:30713,45899:30714,45900:30715,45901:30716,45902:30723,45903:30724,45904:30725,45905:30726,45906:30727,45907:30728,45908:30730,45909:30731,45910:30734,45911:30735,45912:30736,45913:30739,45914:30741,45915:30745,45916:30747,45917:30750,45918:30752,45919:30753,45920:30754,45921:30756,45922:30760,45923:30762,45924:30763,45925:30766,45926:30767,45927:30769,45928:30770,45929:30771,45930:30773,45931:30774,45932:30781,45933:30783,45934:30785,45935:30786,45936:30787,45937:30788,45938:30790,45939:30792,45940:30793,45941:30794,45942:30795,45943:30797,45944:30799,45945:30801,45946:30803,45947:30804,45948:30808,45949:30809,45950:30810,45952:30811,45953:30812,45954:30814,45955:30815,45956:30816,45957:30817,45958:30818,45959:30819,45960:30820,45961:30821,45962:30822,45963:30823,45964:30824,45965:30825,45966:30831,45967:30832,45968:30833,45969:30834,45970:30835,45971:30836,45972:30837,45973:30838,45974:30840,45975:30841,45976:30842,45977:30843,45978:30845,45979:30846,45980:30847,45981:30848,45982:30849,45983:30850,45984:30851,45985:22330,45986:23581,45987:24120,45988:38271,45989:20607,45990:32928,45991:21378,45992:25950,45993:30021,45994:21809,45995:20513,45996:36229,45997:25220,45998:38046,45999:26397,46000:22066,46001:28526,46002:24034,46003:21557,46004:28818,46005:36710,46006:25199,46007:25764,46008:25507,46009:24443,46010:28552,46011:37108,46012:33251,46013:36784,46014:23576,46015:26216,46016:24561,46017:27785,46018:38472,46019:36225,46020:34924,46021:25745,46022:31216,46023:22478,46024:27225,46025:25104,46026:21576,46027:20056,46028:31243,46029:24809,46030:28548,46031:35802,46032:25215,46033:36894,46034:39563,46035:31204,46036:21507,46037:30196,46038:25345,46039:21273,46040:27744,46041:36831,46042:24347,46043:39536,46044:32827,46045:40831,46046:20360,46047:23610,46048:36196,46049:32709,46050:26021,46051:28861,46052:20805,46053:20914,46054:34411,46055:23815,46056:23456,46057:25277,46058:37228,46059:30068,46060:36364,46061:31264,46062:24833,46063:31609,46064:20167,46065:32504,46066:30597,46067:19985,46068:33261,46069:21021,46070:20986,46071:27249,46072:21416,46073:36487,46074:38148,46075:38607,46076:28353,46077:38500,46078:26970,46144:30852,46145:30853,46146:30854,46147:30856,46148:30858,46149:30859,46150:30863,46151:30864,46152:30866,46153:30868,46154:30869,46155:30870,46156:30873,46157:30877,46158:30878,46159:30880,46160:30882,46161:30884,46162:30886,46163:30888,46164:30889,46165:30890,46166:30891,46167:30892,46168:30893,46169:30894,46170:30895,46171:30901,46172:30902,46173:30903,46174:30904,46175:30906,46176:30907,46177:30908,46178:30909,46179:30911,46180:30912,46181:30914,46182:30915,46183:30916,46184:30918,46185:30919,46186:30920,46187:30924,46188:30925,46189:30926,46190:30927,46191:30929,46192:30930,46193:30931,46194:30934,46195:30935,46196:30936,46197:30938,46198:30939,46199:30940,46200:30941,46201:30942,46202:30943,46203:30944,46204:30945,46205:30946,46206:30947,46208:30948,46209:30949,46210:30950,46211:30951,46212:30953,46213:30954,46214:30955,46215:30957,46216:30958,46217:30959,46218:30960,46219:30961,46220:30963,46221:30965,46222:30966,46223:30968,46224:30969,46225:30971,46226:30972,46227:30973,46228:30974,46229:30975,46230:30976,46231:30978,46232:30979,46233:30980,46234:30982,46235:30983,46236:30984,46237:30985,46238:30986,46239:30987,46240:30988,46241:30784,46242:20648,46243:30679,46244:25616,46245:35302,46246:22788,46247:25571,46248:24029,46249:31359,46250:26941,46251:20256,46252:33337,46253:21912,46254:20018,46255:30126,46256:31383,46257:24162,46258:24202,46259:38383,46260:21019,46261:21561,46262:28810,46263:25462,46264:38180,46265:22402,46266:26149,46267:26943,46268:37255,46269:21767,46270:28147,46271:32431,46272:34850,46273:25139,46274:32496,46275:30133,46276:33576,46277:30913,46278:38604,46279:36766,46280:24904,46281:29943,46282:35789,46283:27492,46284:21050,46285:36176,46286:27425,46287:32874,46288:33905,46289:22257,46290:21254,46291:20174,46292:19995,46293:20945,46294:31895,46295:37259,46296:31751,46297:20419,46298:36479,46299:31713,46300:31388,46301:25703,46302:23828,46303:20652,46304:33030,46305:30209,46306:31929,46307:28140,46308:32736,46309:26449,46310:23384,46311:23544,46312:30923,46313:25774,46314:25619,46315:25514,46316:25387,46317:38169,46318:25645,46319:36798,46320:31572,46321:30249,46322:25171,46323:22823,46324:21574,46325:27513,46326:20643,46327:25140,46328:24102,46329:27526,46330:20195,46331:36151,46332:34955,46333:24453,46334:36910,46400:30989,46401:30990,46402:30991,46403:30992,46404:30993,46405:30994,46406:30996,46407:30997,46408:30998,46409:30999,46410:31000,46411:31001,46412:31002,46413:31003,46414:31004,46415:31005,46416:31007,46417:31008,46418:31009,46419:31010,46420:31011,46421:31013,46422:31014,46423:31015,46424:31016,46425:31017,46426:31018,46427:31019,46428:31020,46429:31021,46430:31022,46431:31023,46432:31024,46433:31025,46434:31026,46435:31027,46436:31029,46437:31030,46438:31031,46439:31032,46440:31033,46441:31037,46442:31039,46443:31042,46444:31043,46445:31044,46446:31045,46447:31047,46448:31050,46449:31051,46450:31052,46451:31053,46452:31054,46453:31055,46454:31056,46455:31057,46456:31058,46457:31060,46458:31061,46459:31064,46460:31065,46461:31073,46462:31075,46464:31076,46465:31078,46466:31081,46467:31082,46468:31083,46469:31084,46470:31086,46471:31088,46472:31089,46473:31090,46474:31091,46475:31092,46476:31093,46477:31094,46478:31097,46479:31099,46480:31100,46481:31101,46482:31102,46483:31103,46484:31106,46485:31107,46486:31110,46487:31111,46488:31112,46489:31113,46490:31115,46491:31116,46492:31117,46493:31118,46494:31120,46495:31121,46496:31122,46497:24608,46498:32829,46499:25285,46500:20025,46501:21333,46502:37112,46503:25528,46504:32966,46505:26086,46506:27694,46507:20294,46508:24814,46509:28129,46510:35806,46511:24377,46512:34507,46513:24403,46514:25377,46515:20826,46516:33633,46517:26723,46518:20992,46519:25443,46520:36424,46521:20498,46522:23707,46523:31095,46524:23548,46525:21040,46526:31291,46527:24764,46528:36947,46529:30423,46530:24503,46531:24471,46532:30340,46533:36460,46534:28783,46535:30331,46536:31561,46537:30634,46538:20979,46539:37011,46540:22564,46541:20302,46542:28404,46543:36842,46544:25932,46545:31515,46546:29380,46547:28068,46548:32735,46549:23265,46550:25269,46551:24213,46552:22320,46553:33922,46554:31532,46555:24093,46556:24351,46557:36882,46558:32532,46559:39072,46560:25474,46561:28359,46562:30872,46563:28857,46564:20856,46565:38747,46566:22443,46567:30005,46568:20291,46569:30008,46570:24215,46571:24806,46572:22880,46573:28096,46574:27583,46575:30857,46576:21500,46577:38613,46578:20939,46579:20993,46580:25481,46581:21514,46582:38035,46583:35843,46584:36300,46585:29241,46586:30879,46587:34678,46588:36845,46589:35853,46590:21472,46656:31123,46657:31124,46658:31125,46659:31126,46660:31127,46661:31128,46662:31129,46663:31131,46664:31132,46665:31133,46666:31134,46667:31135,46668:31136,46669:31137,46670:31138,46671:31139,46672:31140,46673:31141,46674:31142,46675:31144,46676:31145,46677:31146,46678:31147,46679:31148,46680:31149,46681:31150,46682:31151,46683:31152,46684:31153,46685:31154,46686:31156,46687:31157,46688:31158,46689:31159,46690:31160,46691:31164,46692:31167,46693:31170,46694:31172,46695:31173,46696:31175,46697:31176,46698:31178,46699:31180,46700:31182,46701:31183,46702:31184,46703:31187,46704:31188,46705:31190,46706:31191,46707:31193,46708:31194,46709:31195,46710:31196,46711:31197,46712:31198,46713:31200,46714:31201,46715:31202,46716:31205,46717:31208,46718:31210,46720:31212,46721:31214,46722:31217,46723:31218,46724:31219,46725:31220,46726:31221,46727:31222,46728:31223,46729:31225,46730:31226,46731:31228,46732:31230,46733:31231,46734:31233,46735:31236,46736:31237,46737:31239,46738:31240,46739:31241,46740:31242,46741:31244,46742:31247,46743:31248,46744:31249,46745:31250,46746:31251,46747:31253,46748:31254,46749:31256,46750:31257,46751:31259,46752:31260,46753:19969,46754:30447,46755:21486,46756:38025,46757:39030,46758:40718,46759:38189,46760:23450,46761:35746,46762:20002,46763:19996,46764:20908,46765:33891,46766:25026,46767:21160,46768:26635,46769:20375,46770:24683,46771:20923,46772:27934,46773:20828,46774:25238,46775:26007,46776:38497,46777:35910,46778:36887,46779:30168,46780:37117,46781:30563,46782:27602,46783:29322,46784:29420,46785:35835,46786:22581,46787:30585,46788:36172,46789:26460,46790:38208,46791:32922,46792:24230,46793:28193,46794:22930,46795:31471,46796:30701,46797:38203,46798:27573,46799:26029,46800:32526,46801:22534,46802:20817,46803:38431,46804:23545,46805:22697,46806:21544,46807:36466,46808:25958,46809:39039,46810:22244,46811:38045,46812:30462,46813:36929,46814:25479,46815:21702,46816:22810,46817:22842,46818:22427,46819:36530,46820:26421,46821:36346,46822:33333,46823:21057,46824:24816,46825:22549,46826:34558,46827:23784,46828:40517,46829:20420,46830:39069,46831:35769,46832:23077,46833:24694,46834:21380,46835:25212,46836:36943,46837:37122,46838:39295,46839:24681,46840:32780,46841:20799,46842:32819,46843:23572,46844:39285,46845:27953,46846:20108,46912:31261,46913:31263,46914:31265,46915:31266,46916:31268,46917:31269,46918:31270,46919:31271,46920:31272,46921:31273,46922:31274,46923:31275,46924:31276,46925:31277,46926:31278,46927:31279,46928:31280,46929:31281,46930:31282,46931:31284,46932:31285,46933:31286,46934:31288,46935:31290,46936:31294,46937:31296,46938:31297,46939:31298,46940:31299,46941:31300,46942:31301,46943:31303,46944:31304,46945:31305,46946:31306,46947:31307,46948:31308,46949:31309,46950:31310,46951:31311,46952:31312,46953:31314,46954:31315,46955:31316,46956:31317,46957:31318,46958:31320,46959:31321,46960:31322,46961:31323,46962:31324,46963:31325,46964:31326,46965:31327,46966:31328,46967:31329,46968:31330,46969:31331,46970:31332,46971:31333,46972:31334,46973:31335,46974:31336,46976:31337,46977:31338,46978:31339,46979:31340,46980:31341,46981:31342,46982:31343,46983:31345,46984:31346,46985:31347,46986:31349,46987:31355,46988:31356,46989:31357,46990:31358,46991:31362,46992:31365,46993:31367,46994:31369,46995:31370,46996:31371,46997:31372,46998:31374,46999:31375,47000:31376,47001:31379,47002:31380,47003:31385,47004:31386,47005:31387,47006:31390,47007:31393,47008:31394,47009:36144,47010:21457,47011:32602,47012:31567,47013:20240,47014:20047,47015:38400,47016:27861,47017:29648,47018:34281,47019:24070,47020:30058,47021:32763,47022:27146,47023:30718,47024:38034,47025:32321,47026:20961,47027:28902,47028:21453,47029:36820,47030:33539,47031:36137,47032:29359,47033:39277,47034:27867,47035:22346,47036:33459,47037:26041,47038:32938,47039:25151,47040:38450,47041:22952,47042:20223,47043:35775,47044:32442,47045:25918,47046:33778,47047:38750,47048:21857,47049:39134,47050:32933,47051:21290,47052:35837,47053:21536,47054:32954,47055:24223,47056:27832,47057:36153,47058:33452,47059:37210,47060:21545,47061:27675,47062:20998,47063:32439,47064:22367,47065:28954,47066:27774,47067:31881,47068:22859,47069:20221,47070:24575,47071:24868,47072:31914,47073:20016,47074:23553,47075:26539,47076:34562,47077:23792,47078:38155,47079:39118,47080:30127,47081:28925,47082:36898,47083:20911,47084:32541,47085:35773,47086:22857,47087:20964,47088:20315,47089:21542,47090:22827,47091:25975,47092:32932,47093:23413,47094:25206,47095:25282,47096:36752,47097:24133,47098:27679,47099:31526,47100:20239,47101:20440,47102:26381,47168:31395,47169:31396,47170:31399,47171:31401,47172:31402,47173:31403,47174:31406,47175:31407,47176:31408,47177:31409,47178:31410,47179:31412,47180:31413,47181:31414,47182:31415,47183:31416,47184:31417,47185:31418,47186:31419,47187:31420,47188:31421,47189:31422,47190:31424,47191:31425,47192:31426,47193:31427,47194:31428,47195:31429,47196:31430,47197:31431,47198:31432,47199:31433,47200:31434,47201:31436,47202:31437,47203:31438,47204:31439,47205:31440,47206:31441,47207:31442,47208:31443,47209:31444,47210:31445,47211:31447,47212:31448,47213:31450,47214:31451,47215:31452,47216:31453,47217:31457,47218:31458,47219:31460,47220:31463,47221:31464,47222:31465,47223:31466,47224:31467,47225:31468,47226:31470,47227:31472,47228:31473,47229:31474,47230:31475,47232:31476,47233:31477,47234:31478,47235:31479,47236:31480,47237:31483,47238:31484,47239:31486,47240:31488,47241:31489,47242:31490,47243:31493,47244:31495,47245:31497,47246:31500,47247:31501,47248:31502,47249:31504,47250:31506,47251:31507,47252:31510,47253:31511,47254:31512,47255:31514,47256:31516,47257:31517,47258:31519,47259:31521,47260:31522,47261:31523,47262:31527,47263:31529,47264:31533,47265:28014,47266:28074,47267:31119,47268:34993,47269:24343,47270:29995,47271:25242,47272:36741,47273:20463,47274:37340,47275:26023,47276:33071,47277:33105,47278:24220,47279:33104,47280:36212,47281:21103,47282:35206,47283:36171,47284:22797,47285:20613,47286:20184,47287:38428,47288:29238,47289:33145,47290:36127,47291:23500,47292:35747,47293:38468,47294:22919,47295:32538,47296:21648,47297:22134,47298:22030,47299:35813,47300:25913,47301:27010,47302:38041,47303:30422,47304:28297,47305:24178,47306:29976,47307:26438,47308:26577,47309:31487,47310:32925,47311:36214,47312:24863,47313:31174,47314:25954,47315:36195,47316:20872,47317:21018,47318:38050,47319:32568,47320:32923,47321:32434,47322:23703,47323:28207,47324:26464,47325:31705,47326:30347,47327:39640,47328:33167,47329:32660,47330:31957,47331:25630,47332:38224,47333:31295,47334:21578,47335:21733,47336:27468,47337:25601,47338:25096,47339:40509,47340:33011,47341:30105,47342:21106,47343:38761,47344:33883,47345:26684,47346:34532,47347:38401,47348:38548,47349:38124,47350:20010,47351:21508,47352:32473,47353:26681,47354:36319,47355:32789,47356:26356,47357:24218,47358:32697,47424:31535,47425:31536,47426:31538,47427:31540,47428:31541,47429:31542,47430:31543,47431:31545,47432:31547,47433:31549,47434:31551,47435:31552,47436:31553,47437:31554,47438:31555,47439:31556,47440:31558,47441:31560,47442:31562,47443:31565,47444:31566,47445:31571,47446:31573,47447:31575,47448:31577,47449:31580,47450:31582,47451:31583,47452:31585,47453:31587,47454:31588,47455:31589,47456:31590,47457:31591,47458:31592,47459:31593,47460:31594,47461:31595,47462:31596,47463:31597,47464:31599,47465:31600,47466:31603,47467:31604,47468:31606,47469:31608,47470:31610,47471:31612,47472:31613,47473:31615,47474:31617,47475:31618,47476:31619,47477:31620,47478:31622,47479:31623,47480:31624,47481:31625,47482:31626,47483:31627,47484:31628,47485:31630,47486:31631,47488:31633,47489:31634,47490:31635,47491:31638,47492:31640,47493:31641,47494:31642,47495:31643,47496:31646,47497:31647,47498:31648,47499:31651,47500:31652,47501:31653,47502:31662,47503:31663,47504:31664,47505:31666,47506:31667,47507:31669,47508:31670,47509:31671,47510:31673,47511:31674,47512:31675,47513:31676,47514:31677,47515:31678,47516:31679,47517:31680,47518:31682,47519:31683,47520:31684,47521:22466,47522:32831,47523:26775,47524:24037,47525:25915,47526:21151,47527:24685,47528:40858,47529:20379,47530:36524,47531:20844,47532:23467,47533:24339,47534:24041,47535:27742,47536:25329,47537:36129,47538:20849,47539:38057,47540:21246,47541:27807,47542:33503,47543:29399,47544:22434,47545:26500,47546:36141,47547:22815,47548:36764,47549:33735,47550:21653,47551:31629,47552:20272,47553:27837,47554:23396,47555:22993,47556:40723,47557:21476,47558:34506,47559:39592,47560:35895,47561:32929,47562:25925,47563:39038,47564:22266,47565:38599,47566:21038,47567:29916,47568:21072,47569:23521,47570:25346,47571:35074,47572:20054,47573:25296,47574:24618,47575:26874,47576:20851,47577:23448,47578:20896,47579:35266,47580:31649,47581:39302,47582:32592,47583:24815,47584:28748,47585:36143,47586:20809,47587:24191,47588:36891,47589:29808,47590:35268,47591:22317,47592:30789,47593:24402,47594:40863,47595:38394,47596:36712,47597:39740,47598:35809,47599:30328,47600:26690,47601:26588,47602:36330,47603:36149,47604:21053,47605:36746,47606:28378,47607:26829,47608:38149,47609:37101,47610:22269,47611:26524,47612:35065,47613:36807,47614:21704,47680:31685,47681:31688,47682:31689,47683:31690,47684:31691,47685:31693,47686:31694,47687:31695,47688:31696,47689:31698,47690:31700,47691:31701,47692:31702,47693:31703,47694:31704,47695:31707,47696:31708,47697:31710,47698:31711,47699:31712,47700:31714,47701:31715,47702:31716,47703:31719,47704:31720,47705:31721,47706:31723,47707:31724,47708:31725,47709:31727,47710:31728,47711:31730,47712:31731,47713:31732,47714:31733,47715:31734,47716:31736,47717:31737,47718:31738,47719:31739,47720:31741,47721:31743,47722:31744,47723:31745,47724:31746,47725:31747,47726:31748,47727:31749,47728:31750,47729:31752,47730:31753,47731:31754,47732:31757,47733:31758,47734:31760,47735:31761,47736:31762,47737:31763,47738:31764,47739:31765,47740:31767,47741:31768,47742:31769,47744:31770,47745:31771,47746:31772,47747:31773,47748:31774,47749:31776,47750:31777,47751:31778,47752:31779,47753:31780,47754:31781,47755:31784,47756:31785,47757:31787,47758:31788,47759:31789,47760:31790,47761:31791,47762:31792,47763:31793,47764:31794,47765:31795,47766:31796,47767:31797,47768:31798,47769:31799,47770:31801,47771:31802,47772:31803,47773:31804,47774:31805,47775:31806,47776:31810,47777:39608,47778:23401,47779:28023,47780:27686,47781:20133,47782:23475,47783:39559,47784:37219,47785:25000,47786:37039,47787:38889,47788:21547,47789:28085,47790:23506,47791:20989,47792:21898,47793:32597,47794:32752,47795:25788,47796:25421,47797:26097,47798:25022,47799:24717,47800:28938,47801:27735,47802:27721,47803:22831,47804:26477,47805:33322,47806:22741,47807:22158,47808:35946,47809:27627,47810:37085,47811:22909,47812:32791,47813:21495,47814:28009,47815:21621,47816:21917,47817:33655,47818:33743,47819:26680,47820:31166,47821:21644,47822:20309,47823:21512,47824:30418,47825:35977,47826:38402,47827:27827,47828:28088,47829:36203,47830:35088,47831:40548,47832:36154,47833:22079,47834:40657,47835:30165,47836:24456,47837:29408,47838:24680,47839:21756,47840:20136,47841:27178,47842:34913,47843:24658,47844:36720,47845:21700,47846:28888,47847:34425,47848:40511,47849:27946,47850:23439,47851:24344,47852:32418,47853:21897,47854:20399,47855:29492,47856:21564,47857:21402,47858:20505,47859:21518,47860:21628,47861:20046,47862:24573,47863:29786,47864:22774,47865:33899,47866:32993,47867:34676,47868:29392,47869:31946,47870:28246,47936:31811,47937:31812,47938:31813,47939:31814,47940:31815,47941:31816,47942:31817,47943:31818,47944:31819,47945:31820,47946:31822,47947:31823,47948:31824,47949:31825,47950:31826,47951:31827,47952:31828,47953:31829,47954:31830,47955:31831,47956:31832,47957:31833,47958:31834,47959:31835,47960:31836,47961:31837,47962:31838,47963:31839,47964:31840,47965:31841,47966:31842,47967:31843,47968:31844,47969:31845,47970:31846,47971:31847,47972:31848,47973:31849,47974:31850,47975:31851,47976:31852,47977:31853,47978:31854,47979:31855,47980:31856,47981:31857,47982:31858,47983:31861,47984:31862,47985:31863,47986:31864,47987:31865,47988:31866,47989:31870,47990:31871,47991:31872,47992:31873,47993:31874,47994:31875,47995:31876,47996:31877,47997:31878,47998:31879,48000:31880,48001:31882,48002:31883,48003:31884,48004:31885,48005:31886,48006:31887,48007:31888,48008:31891,48009:31892,48010:31894,48011:31897,48012:31898,48013:31899,48014:31904,48015:31905,48016:31907,48017:31910,48018:31911,48019:31912,48020:31913,48021:31915,48022:31916,48023:31917,48024:31919,48025:31920,48026:31924,48027:31925,48028:31926,48029:31927,48030:31928,48031:31930,48032:31931,48033:24359,48034:34382,48035:21804,48036:25252,48037:20114,48038:27818,48039:25143,48040:33457,48041:21719,48042:21326,48043:29502,48044:28369,48045:30011,48046:21010,48047:21270,48048:35805,48049:27088,48050:24458,48051:24576,48052:28142,48053:22351,48054:27426,48055:29615,48056:26707,48057:36824,48058:32531,48059:25442,48060:24739,48061:21796,48062:30186,48063:35938,48064:28949,48065:28067,48066:23462,48067:24187,48068:33618,48069:24908,48070:40644,48071:30970,48072:34647,48073:31783,48074:30343,48075:20976,48076:24822,48077:29004,48078:26179,48079:24140,48080:24653,48081:35854,48082:28784,48083:25381,48084:36745,48085:24509,48086:24674,48087:34516,48088:22238,48089:27585,48090:24724,48091:24935,48092:21321,48093:24800,48094:26214,48095:36159,48096:31229,48097:20250,48098:28905,48099:27719,48100:35763,48101:35826,48102:32472,48103:33636,48104:26127,48105:23130,48106:39746,48107:27985,48108:28151,48109:35905,48110:27963,48111:20249,48112:28779,48113:33719,48114:25110,48115:24785,48116:38669,48117:36135,48118:31096,48119:20987,48120:22334,48121:22522,48122:26426,48123:30072,48124:31293,48125:31215,48126:31637,48192:31935,48193:31936,48194:31938,48195:31939,48196:31940,48197:31942,48198:31945,48199:31947,48200:31950,48201:31951,48202:31952,48203:31953,48204:31954,48205:31955,48206:31956,48207:31960,48208:31962,48209:31963,48210:31965,48211:31966,48212:31969,48213:31970,48214:31971,48215:31972,48216:31973,48217:31974,48218:31975,48219:31977,48220:31978,48221:31979,48222:31980,48223:31981,48224:31982,48225:31984,48226:31985,48227:31986,48228:31987,48229:31988,48230:31989,48231:31990,48232:31991,48233:31993,48234:31994,48235:31996,48236:31997,48237:31998,48238:31999,48239:32000,48240:32001,48241:32002,48242:32003,48243:32004,48244:32005,48245:32006,48246:32007,48247:32008,48248:32009,48249:32011,48250:32012,48251:32013,48252:32014,48253:32015,48254:32016,48256:32017,48257:32018,48258:32019,48259:32020,48260:32021,48261:32022,48262:32023,48263:32024,48264:32025,48265:32026,48266:32027,48267:32028,48268:32029,48269:32030,48270:32031,48271:32033,48272:32035,48273:32036,48274:32037,48275:32038,48276:32040,48277:32041,48278:32042,48279:32044,48280:32045,48281:32046,48282:32048,48283:32049,48284:32050,48285:32051,48286:32052,48287:32053,48288:32054,48289:32908,48290:39269,48291:36857,48292:28608,48293:35749,48294:40481,48295:23020,48296:32489,48297:32521,48298:21513,48299:26497,48300:26840,48301:36753,48302:31821,48303:38598,48304:21450,48305:24613,48306:30142,48307:27762,48308:21363,48309:23241,48310:32423,48311:25380,48312:20960,48313:33034,48314:24049,48315:34015,48316:25216,48317:20864,48318:23395,48319:20238,48320:31085,48321:21058,48322:24760,48323:27982,48324:23492,48325:23490,48326:35745,48327:35760,48328:26082,48329:24524,48330:38469,48331:22931,48332:32487,48333:32426,48334:22025,48335:26551,48336:22841,48337:20339,48338:23478,48339:21152,48340:33626,48341:39050,48342:36158,48343:30002,48344:38078,48345:20551,48346:31292,48347:20215,48348:26550,48349:39550,48350:23233,48351:27516,48352:30417,48353:22362,48354:23574,48355:31546,48356:38388,48357:29006,48358:20860,48359:32937,48360:33392,48361:22904,48362:32516,48363:33575,48364:26816,48365:26604,48366:30897,48367:30839,48368:25315,48369:25441,48370:31616,48371:20461,48372:21098,48373:20943,48374:33616,48375:27099,48376:37492,48377:36341,48378:36145,48379:35265,48380:38190,48381:31661,48382:20214,48448:32055,48449:32056,48450:32057,48451:32058,48452:32059,48453:32060,48454:32061,48455:32062,48456:32063,48457:32064,48458:32065,48459:32066,48460:32067,48461:32068,48462:32069,48463:32070,48464:32071,48465:32072,48466:32073,48467:32074,48468:32075,48469:32076,48470:32077,48471:32078,48472:32079,48473:32080,48474:32081,48475:32082,48476:32083,48477:32084,48478:32085,48479:32086,48480:32087,48481:32088,48482:32089,48483:32090,48484:32091,48485:32092,48486:32093,48487:32094,48488:32095,48489:32096,48490:32097,48491:32098,48492:32099,48493:32100,48494:32101,48495:32102,48496:32103,48497:32104,48498:32105,48499:32106,48500:32107,48501:32108,48502:32109,48503:32111,48504:32112,48505:32113,48506:32114,48507:32115,48508:32116,48509:32117,48510:32118,48512:32120,48513:32121,48514:32122,48515:32123,48516:32124,48517:32125,48518:32126,48519:32127,48520:32128,48521:32129,48522:32130,48523:32131,48524:32132,48525:32133,48526:32134,48527:32135,48528:32136,48529:32137,48530:32138,48531:32139,48532:32140,48533:32141,48534:32142,48535:32143,48536:32144,48537:32145,48538:32146,48539:32147,48540:32148,48541:32149,48542:32150,48543:32151,48544:32152,48545:20581,48546:33328,48547:21073,48548:39279,48549:28176,48550:28293,48551:28071,48552:24314,48553:20725,48554:23004,48555:23558,48556:27974,48557:27743,48558:30086,48559:33931,48560:26728,48561:22870,48562:35762,48563:21280,48564:37233,48565:38477,48566:34121,48567:26898,48568:30977,48569:28966,48570:33014,48571:20132,48572:37066,48573:27975,48574:39556,48575:23047,48576:22204,48577:25605,48578:38128,48579:30699,48580:20389,48581:33050,48582:29409,48583:35282,48584:39290,48585:32564,48586:32478,48587:21119,48588:25945,48589:37237,48590:36735,48591:36739,48592:21483,48593:31382,48594:25581,48595:25509,48596:30342,48597:31224,48598:34903,48599:38454,48600:25130,48601:21163,48602:33410,48603:26708,48604:26480,48605:25463,48606:30571,48607:31469,48608:27905,48609:32467,48610:35299,48611:22992,48612:25106,48613:34249,48614:33445,48615:30028,48616:20511,48617:20171,48618:30117,48619:35819,48620:23626,48621:24062,48622:31563,48623:26020,48624:37329,48625:20170,48626:27941,48627:35167,48628:32039,48629:38182,48630:20165,48631:35880,48632:36827,48633:38771,48634:26187,48635:31105,48636:36817,48637:28908,48638:28024,48704:32153,48705:32154,48706:32155,48707:32156,48708:32157,48709:32158,48710:32159,48711:32160,48712:32161,48713:32162,48714:32163,48715:32164,48716:32165,48717:32167,48718:32168,48719:32169,48720:32170,48721:32171,48722:32172,48723:32173,48724:32175,48725:32176,48726:32177,48727:32178,48728:32179,48729:32180,48730:32181,48731:32182,48732:32183,48733:32184,48734:32185,48735:32186,48736:32187,48737:32188,48738:32189,48739:32190,48740:32191,48741:32192,48742:32193,48743:32194,48744:32195,48745:32196,48746:32197,48747:32198,48748:32199,48749:32200,48750:32201,48751:32202,48752:32203,48753:32204,48754:32205,48755:32206,48756:32207,48757:32208,48758:32209,48759:32210,48760:32211,48761:32212,48762:32213,48763:32214,48764:32215,48765:32216,48766:32217,48768:32218,48769:32219,48770:32220,48771:32221,48772:32222,48773:32223,48774:32224,48775:32225,48776:32226,48777:32227,48778:32228,48779:32229,48780:32230,48781:32231,48782:32232,48783:32233,48784:32234,48785:32235,48786:32236,48787:32237,48788:32238,48789:32239,48790:32240,48791:32241,48792:32242,48793:32243,48794:32244,48795:32245,48796:32246,48797:32247,48798:32248,48799:32249,48800:32250,48801:23613,48802:21170,48803:33606,48804:20834,48805:33550,48806:30555,48807:26230,48808:40120,48809:20140,48810:24778,48811:31934,48812:31923,48813:32463,48814:20117,48815:35686,48816:26223,48817:39048,48818:38745,48819:22659,48820:25964,48821:38236,48822:24452,48823:30153,48824:38742,48825:31455,48826:31454,48827:20928,48828:28847,48829:31384,48830:25578,48831:31350,48832:32416,48833:29590,48834:38893,48835:20037,48836:28792,48837:20061,48838:37202,48839:21417,48840:25937,48841:26087,48842:33276,48843:33285,48844:21646,48845:23601,48846:30106,48847:38816,48848:25304,48849:29401,48850:30141,48851:23621,48852:39545,48853:33738,48854:23616,48855:21632,48856:30697,48857:20030,48858:27822,48859:32858,48860:25298,48861:25454,48862:24040,48863:20855,48864:36317,48865:36382,48866:38191,48867:20465,48868:21477,48869:24807,48870:28844,48871:21095,48872:25424,48873:40515,48874:23071,48875:20518,48876:30519,48877:21367,48878:32482,48879:25733,48880:25899,48881:25225,48882:25496,48883:20500,48884:29237,48885:35273,48886:20915,48887:35776,48888:32477,48889:22343,48890:33740,48891:38055,48892:20891,48893:21531,48894:23803,48960:32251,48961:32252,48962:32253,48963:32254,48964:32255,48965:32256,48966:32257,48967:32258,48968:32259,48969:32260,48970:32261,48971:32262,48972:32263,48973:32264,48974:32265,48975:32266,48976:32267,48977:32268,48978:32269,48979:32270,48980:32271,48981:32272,48982:32273,48983:32274,48984:32275,48985:32276,48986:32277,48987:32278,48988:32279,48989:32280,48990:32281,48991:32282,48992:32283,48993:32284,48994:32285,48995:32286,48996:32287,48997:32288,48998:32289,48999:32290,49000:32291,49001:32292,49002:32293,49003:32294,49004:32295,49005:32296,49006:32297,49007:32298,49008:32299,49009:32300,49010:32301,49011:32302,49012:32303,49013:32304,49014:32305,49015:32306,49016:32307,49017:32308,49018:32309,49019:32310,49020:32311,49021:32312,49022:32313,49024:32314,49025:32316,49026:32317,49027:32318,49028:32319,49029:32320,49030:32322,49031:32323,49032:32324,49033:32325,49034:32326,49035:32328,49036:32329,49037:32330,49038:32331,49039:32332,49040:32333,49041:32334,49042:32335,49043:32336,49044:32337,49045:32338,49046:32339,49047:32340,49048:32341,49049:32342,49050:32343,49051:32344,49052:32345,49053:32346,49054:32347,49055:32348,49056:32349,49057:20426,49058:31459,49059:27994,49060:37089,49061:39567,49062:21888,49063:21654,49064:21345,49065:21679,49066:24320,49067:25577,49068:26999,49069:20975,49070:24936,49071:21002,49072:22570,49073:21208,49074:22350,49075:30733,49076:30475,49077:24247,49078:24951,49079:31968,49080:25179,49081:25239,49082:20130,49083:28821,49084:32771,49085:25335,49086:28900,49087:38752,49088:22391,49089:33499,49090:26607,49091:26869,49092:30933,49093:39063,49094:31185,49095:22771,49096:21683,49097:21487,49098:28212,49099:20811,49100:21051,49101:23458,49102:35838,49103:32943,49104:21827,49105:22438,49106:24691,49107:22353,49108:21549,49109:31354,49110:24656,49111:23380,49112:25511,49113:25248,49114:21475,49115:25187,49116:23495,49117:26543,49118:21741,49119:31391,49120:33510,49121:37239,49122:24211,49123:35044,49124:22840,49125:22446,49126:25358,49127:36328,49128:33007,49129:22359,49130:31607,49131:20393,49132:24555,49133:23485,49134:27454,49135:21281,49136:31568,49137:29378,49138:26694,49139:30719,49140:30518,49141:26103,49142:20917,49143:20111,49144:30420,49145:23743,49146:31397,49147:33909,49148:22862,49149:39745,49150:20608,49216:32350,49217:32351,49218:32352,49219:32353,49220:32354,49221:32355,49222:32356,49223:32357,49224:32358,49225:32359,49226:32360,49227:32361,49228:32362,49229:32363,49230:32364,49231:32365,49232:32366,49233:32367,49234:32368,49235:32369,49236:32370,49237:32371,49238:32372,49239:32373,49240:32374,49241:32375,49242:32376,49243:32377,49244:32378,49245:32379,49246:32380,49247:32381,49248:32382,49249:32383,49250:32384,49251:32385,49252:32387,49253:32388,49254:32389,49255:32390,49256:32391,49257:32392,49258:32393,49259:32394,49260:32395,49261:32396,49262:32397,49263:32398,49264:32399,49265:32400,49266:32401,49267:32402,49268:32403,49269:32404,49270:32405,49271:32406,49272:32407,49273:32408,49274:32409,49275:32410,49276:32412,49277:32413,49278:32414,49280:32430,49281:32436,49282:32443,49283:32444,49284:32470,49285:32484,49286:32492,49287:32505,49288:32522,49289:32528,49290:32542,49291:32567,49292:32569,49293:32571,49294:32572,49295:32573,49296:32574,49297:32575,49298:32576,49299:32577,49300:32579,49301:32582,49302:32583,49303:32584,49304:32585,49305:32586,49306:32587,49307:32588,49308:32589,49309:32590,49310:32591,49311:32594,49312:32595,49313:39304,49314:24871,49315:28291,49316:22372,49317:26118,49318:25414,49319:22256,49320:25324,49321:25193,49322:24275,49323:38420,49324:22403,49325:25289,49326:21895,49327:34593,49328:33098,49329:36771,49330:21862,49331:33713,49332:26469,49333:36182,49334:34013,49335:23146,49336:26639,49337:25318,49338:31726,49339:38417,49340:20848,49341:28572,49342:35888,49343:25597,49344:35272,49345:25042,49346:32518,49347:28866,49348:28389,49349:29701,49350:27028,49351:29436,49352:24266,49353:37070,49354:26391,49355:28010,49356:25438,49357:21171,49358:29282,49359:32769,49360:20332,49361:23013,49362:37226,49363:28889,49364:28061,49365:21202,49366:20048,49367:38647,49368:38253,49369:34174,49370:30922,49371:32047,49372:20769,49373:22418,49374:25794,49375:32907,49376:31867,49377:27882,49378:26865,49379:26974,49380:20919,49381:21400,49382:26792,49383:29313,49384:40654,49385:31729,49386:29432,49387:31163,49388:28435,49389:29702,49390:26446,49391:37324,49392:40100,49393:31036,49394:33673,49395:33620,49396:21519,49397:26647,49398:20029,49399:21385,49400:21169,49401:30782,49402:21382,49403:21033,49404:20616,49405:20363,49406:20432,49472:32598,49473:32601,49474:32603,49475:32604,49476:32605,49477:32606,49478:32608,49479:32611,49480:32612,49481:32613,49482:32614,49483:32615,49484:32619,49485:32620,49486:32621,49487:32623,49488:32624,49489:32627,49490:32629,49491:32630,49492:32631,49493:32632,49494:32634,49495:32635,49496:32636,49497:32637,49498:32639,49499:32640,49500:32642,49501:32643,49502:32644,49503:32645,49504:32646,49505:32647,49506:32648,49507:32649,49508:32651,49509:32653,49510:32655,49511:32656,49512:32657,49513:32658,49514:32659,49515:32661,49516:32662,49517:32663,49518:32664,49519:32665,49520:32667,49521:32668,49522:32672,49523:32674,49524:32675,49525:32677,49526:32678,49527:32680,49528:32681,49529:32682,49530:32683,49531:32684,49532:32685,49533:32686,49534:32689,49536:32691,49537:32692,49538:32693,49539:32694,49540:32695,49541:32698,49542:32699,49543:32702,49544:32704,49545:32706,49546:32707,49547:32708,49548:32710,49549:32711,49550:32712,49551:32713,49552:32715,49553:32717,49554:32719,49555:32720,49556:32721,49557:32722,49558:32723,49559:32726,49560:32727,49561:32729,49562:32730,49563:32731,49564:32732,49565:32733,49566:32734,49567:32738,49568:32739,49569:30178,49570:31435,49571:31890,49572:27813,49573:38582,49574:21147,49575:29827,49576:21737,49577:20457,49578:32852,49579:33714,49580:36830,49581:38256,49582:24265,49583:24604,49584:28063,49585:24088,49586:25947,49587:33080,49588:38142,49589:24651,49590:28860,49591:32451,49592:31918,49593:20937,49594:26753,49595:31921,49596:33391,49597:20004,49598:36742,49599:37327,49600:26238,49601:20142,49602:35845,49603:25769,49604:32842,49605:20698,49606:30103,49607:29134,49608:23525,49609:36797,49610:28518,49611:20102,49612:25730,49613:38243,49614:24278,49615:26009,49616:21015,49617:35010,49618:28872,49619:21155,49620:29454,49621:29747,49622:26519,49623:30967,49624:38678,49625:20020,49626:37051,49627:40158,49628:28107,49629:20955,49630:36161,49631:21533,49632:25294,49633:29618,49634:33777,49635:38646,49636:40836,49637:38083,49638:20278,49639:32666,49640:20940,49641:28789,49642:38517,49643:23725,49644:39046,49645:21478,49646:20196,49647:28316,49648:29705,49649:27060,49650:30827,49651:39311,49652:30041,49653:21016,49654:30244,49655:27969,49656:26611,49657:20845,49658:40857,49659:32843,49660:21657,49661:31548,49662:31423,49728:32740,49729:32743,49730:32744,49731:32746,49732:32747,49733:32748,49734:32749,49735:32751,49736:32754,49737:32756,49738:32757,49739:32758,49740:32759,49741:32760,49742:32761,49743:32762,49744:32765,49745:32766,49746:32767,49747:32770,49748:32775,49749:32776,49750:32777,49751:32778,49752:32782,49753:32783,49754:32785,49755:32787,49756:32794,49757:32795,49758:32797,49759:32798,49760:32799,49761:32801,49762:32803,49763:32804,49764:32811,49765:32812,49766:32813,49767:32814,49768:32815,49769:32816,49770:32818,49771:32820,49772:32825,49773:32826,49774:32828,49775:32830,49776:32832,49777:32833,49778:32836,49779:32837,49780:32839,49781:32840,49782:32841,49783:32846,49784:32847,49785:32848,49786:32849,49787:32851,49788:32853,49789:32854,49790:32855,49792:32857,49793:32859,49794:32860,49795:32861,49796:32862,49797:32863,49798:32864,49799:32865,49800:32866,49801:32867,49802:32868,49803:32869,49804:32870,49805:32871,49806:32872,49807:32875,49808:32876,49809:32877,49810:32878,49811:32879,49812:32880,49813:32882,49814:32883,49815:32884,49816:32885,49817:32886,49818:32887,49819:32888,49820:32889,49821:32890,49822:32891,49823:32892,49824:32893,49825:38534,49826:22404,49827:25314,49828:38471,49829:27004,49830:23044,49831:25602,49832:31699,49833:28431,49834:38475,49835:33446,49836:21346,49837:39045,49838:24208,49839:28809,49840:25523,49841:21348,49842:34383,49843:40065,49844:40595,49845:30860,49846:38706,49847:36335,49848:36162,49849:40575,49850:28510,49851:31108,49852:24405,49853:38470,49854:25134,49855:39540,49856:21525,49857:38109,49858:20387,49859:26053,49860:23653,49861:23649,49862:32533,49863:34385,49864:27695,49865:24459,49866:29575,49867:28388,49868:32511,49869:23782,49870:25371,49871:23402,49872:28390,49873:21365,49874:20081,49875:25504,49876:30053,49877:25249,49878:36718,49879:20262,49880:20177,49881:27814,49882:32438,49883:35770,49884:33821,49885:34746,49886:32599,49887:36923,49888:38179,49889:31657,49890:39585,49891:35064,49892:33853,49893:27931,49894:39558,49895:32476,49896:22920,49897:40635,49898:29595,49899:30721,49900:34434,49901:39532,49902:39554,49903:22043,49904:21527,49905:22475,49906:20080,49907:40614,49908:21334,49909:36808,49910:33033,49911:30610,49912:39314,49913:34542,49914:28385,49915:34067,49916:26364,49917:24930,49918:28459,49984:32894,49985:32897,49986:32898,49987:32901,49988:32904,49989:32906,49990:32909,49991:32910,49992:32911,49993:32912,49994:32913,49995:32914,49996:32916,49997:32917,49998:32919,49999:32921,50000:32926,50001:32931,50002:32934,50003:32935,50004:32936,50005:32940,50006:32944,50007:32947,50008:32949,50009:32950,50010:32952,50011:32953,50012:32955,50013:32965,50014:32967,50015:32968,50016:32969,50017:32970,50018:32971,50019:32975,50020:32976,50021:32977,50022:32978,50023:32979,50024:32980,50025:32981,50026:32984,50027:32991,50028:32992,50029:32994,50030:32995,50031:32998,50032:33006,50033:33013,50034:33015,50035:33017,50036:33019,50037:33022,50038:33023,50039:33024,50040:33025,50041:33027,50042:33028,50043:33029,50044:33031,50045:33032,50046:33035,50048:33036,50049:33045,50050:33047,50051:33049,50052:33051,50053:33052,50054:33053,50055:33055,50056:33056,50057:33057,50058:33058,50059:33059,50060:33060,50061:33061,50062:33062,50063:33063,50064:33064,50065:33065,50066:33066,50067:33067,50068:33069,50069:33070,50070:33072,50071:33075,50072:33076,50073:33077,50074:33079,50075:33081,50076:33082,50077:33083,50078:33084,50079:33085,50080:33087,50081:35881,50082:33426,50083:33579,50084:30450,50085:27667,50086:24537,50087:33725,50088:29483,50089:33541,50090:38170,50091:27611,50092:30683,50093:38086,50094:21359,50095:33538,50096:20882,50097:24125,50098:35980,50099:36152,50100:20040,50101:29611,50102:26522,50103:26757,50104:37238,50105:38665,50106:29028,50107:27809,50108:30473,50109:23186,50110:38209,50111:27599,50112:32654,50113:26151,50114:23504,50115:22969,50116:23194,50117:38376,50118:38391,50119:20204,50120:33804,50121:33945,50122:27308,50123:30431,50124:38192,50125:29467,50126:26790,50127:23391,50128:30511,50129:37274,50130:38753,50131:31964,50132:36855,50133:35868,50134:24357,50135:31859,50136:31192,50137:35269,50138:27852,50139:34588,50140:23494,50141:24130,50142:26825,50143:30496,50144:32501,50145:20885,50146:20813,50147:21193,50148:23081,50149:32517,50150:38754,50151:33495,50152:25551,50153:30596,50154:34256,50155:31186,50156:28218,50157:24217,50158:22937,50159:34065,50160:28781,50161:27665,50162:25279,50163:30399,50164:25935,50165:24751,50166:38397,50167:26126,50168:34719,50169:40483,50170:38125,50171:21517,50172:21629,50173:35884,50174:25720,50240:33088,50241:33089,50242:33090,50243:33091,50244:33092,50245:33093,50246:33095,50247:33097,50248:33101,50249:33102,50250:33103,50251:33106,50252:33110,50253:33111,50254:33112,50255:33115,50256:33116,50257:33117,50258:33118,50259:33119,50260:33121,50261:33122,50262:33123,50263:33124,50264:33126,50265:33128,50266:33130,50267:33131,50268:33132,50269:33135,50270:33138,50271:33139,50272:33141,50273:33142,50274:33143,50275:33144,50276:33153,50277:33155,50278:33156,50279:33157,50280:33158,50281:33159,50282:33161,50283:33163,50284:33164,50285:33165,50286:33166,50287:33168,50288:33170,50289:33171,50290:33172,50291:33173,50292:33174,50293:33175,50294:33177,50295:33178,50296:33182,50297:33183,50298:33184,50299:33185,50300:33186,50301:33188,50302:33189,50304:33191,50305:33193,50306:33195,50307:33196,50308:33197,50309:33198,50310:33199,50311:33200,50312:33201,50313:33202,50314:33204,50315:33205,50316:33206,50317:33207,50318:33208,50319:33209,50320:33212,50321:33213,50322:33214,50323:33215,50324:33220,50325:33221,50326:33223,50327:33224,50328:33225,50329:33227,50330:33229,50331:33230,50332:33231,50333:33232,50334:33233,50335:33234,50336:33235,50337:25721,50338:34321,50339:27169,50340:33180,50341:30952,50342:25705,50343:39764,50344:25273,50345:26411,50346:33707,50347:22696,50348:40664,50349:27819,50350:28448,50351:23518,50352:38476,50353:35851,50354:29279,50355:26576,50356:25287,50357:29281,50358:20137,50359:22982,50360:27597,50361:22675,50362:26286,50363:24149,50364:21215,50365:24917,50366:26408,50367:30446,50368:30566,50369:29287,50370:31302,50371:25343,50372:21738,50373:21584,50374:38048,50375:37027,50376:23068,50377:32435,50378:27670,50379:20035,50380:22902,50381:32784,50382:22856,50383:21335,50384:30007,50385:38590,50386:22218,50387:25376,50388:33041,50389:24700,50390:38393,50391:28118,50392:21602,50393:39297,50394:20869,50395:23273,50396:33021,50397:22958,50398:38675,50399:20522,50400:27877,50401:23612,50402:25311,50403:20320,50404:21311,50405:33147,50406:36870,50407:28346,50408:34091,50409:25288,50410:24180,50411:30910,50412:25781,50413:25467,50414:24565,50415:23064,50416:37247,50417:40479,50418:23615,50419:25423,50420:32834,50421:23421,50422:21870,50423:38218,50424:38221,50425:28037,50426:24744,50427:26592,50428:29406,50429:20957,50430:23425,50496:33236,50497:33237,50498:33238,50499:33239,50500:33240,50501:33241,50502:33242,50503:33243,50504:33244,50505:33245,50506:33246,50507:33247,50508:33248,50509:33249,50510:33250,50511:33252,50512:33253,50513:33254,50514:33256,50515:33257,50516:33259,50517:33262,50518:33263,50519:33264,50520:33265,50521:33266,50522:33269,50523:33270,50524:33271,50525:33272,50526:33273,50527:33274,50528:33277,50529:33279,50530:33283,50531:33287,50532:33288,50533:33289,50534:33290,50535:33291,50536:33294,50537:33295,50538:33297,50539:33299,50540:33301,50541:33302,50542:33303,50543:33304,50544:33305,50545:33306,50546:33309,50547:33312,50548:33316,50549:33317,50550:33318,50551:33319,50552:33321,50553:33326,50554:33330,50555:33338,50556:33340,50557:33341,50558:33343,50560:33344,50561:33345,50562:33346,50563:33347,50564:33349,50565:33350,50566:33352,50567:33354,50568:33356,50569:33357,50570:33358,50571:33360,50572:33361,50573:33362,50574:33363,50575:33364,50576:33365,50577:33366,50578:33367,50579:33369,50580:33371,50581:33372,50582:33373,50583:33374,50584:33376,50585:33377,50586:33378,50587:33379,50588:33380,50589:33381,50590:33382,50591:33383,50592:33385,50593:25319,50594:27870,50595:29275,50596:25197,50597:38062,50598:32445,50599:33043,50600:27987,50601:20892,50602:24324,50603:22900,50604:21162,50605:24594,50606:22899,50607:26262,50608:34384,50609:30111,50610:25386,50611:25062,50612:31983,50613:35834,50614:21734,50615:27431,50616:40485,50617:27572,50618:34261,50619:21589,50620:20598,50621:27812,50622:21866,50623:36276,50624:29228,50625:24085,50626:24597,50627:29750,50628:25293,50629:25490,50630:29260,50631:24472,50632:28227,50633:27966,50634:25856,50635:28504,50636:30424,50637:30928,50638:30460,50639:30036,50640:21028,50641:21467,50642:20051,50643:24222,50644:26049,50645:32810,50646:32982,50647:25243,50648:21638,50649:21032,50650:28846,50651:34957,50652:36305,50653:27873,50654:21624,50655:32986,50656:22521,50657:35060,50658:36180,50659:38506,50660:37197,50661:20329,50662:27803,50663:21943,50664:30406,50665:30768,50666:25256,50667:28921,50668:28558,50669:24429,50670:34028,50671:26842,50672:30844,50673:31735,50674:33192,50675:26379,50676:40527,50677:25447,50678:30896,50679:22383,50680:30738,50681:38713,50682:25209,50683:25259,50684:21128,50685:29749,50686:27607,50752:33386,50753:33387,50754:33388,50755:33389,50756:33393,50757:33397,50758:33398,50759:33399,50760:33400,50761:33403,50762:33404,50763:33408,50764:33409,50765:33411,50766:33413,50767:33414,50768:33415,50769:33417,50770:33420,50771:33424,50772:33427,50773:33428,50774:33429,50775:33430,50776:33434,50777:33435,50778:33438,50779:33440,50780:33442,50781:33443,50782:33447,50783:33458,50784:33461,50785:33462,50786:33466,50787:33467,50788:33468,50789:33471,50790:33472,50791:33474,50792:33475,50793:33477,50794:33478,50795:33481,50796:33488,50797:33494,50798:33497,50799:33498,50800:33501,50801:33506,50802:33511,50803:33512,50804:33513,50805:33514,50806:33516,50807:33517,50808:33518,50809:33520,50810:33522,50811:33523,50812:33525,50813:33526,50814:33528,50816:33530,50817:33532,50818:33533,50819:33534,50820:33535,50821:33536,50822:33546,50823:33547,50824:33549,50825:33552,50826:33554,50827:33555,50828:33558,50829:33560,50830:33561,50831:33565,50832:33566,50833:33567,50834:33568,50835:33569,50836:33570,50837:33571,50838:33572,50839:33573,50840:33574,50841:33577,50842:33578,50843:33582,50844:33584,50845:33586,50846:33591,50847:33595,50848:33597,50849:21860,50850:33086,50851:30130,50852:30382,50853:21305,50854:30174,50855:20731,50856:23617,50857:35692,50858:31687,50859:20559,50860:29255,50861:39575,50862:39128,50863:28418,50864:29922,50865:31080,50866:25735,50867:30629,50868:25340,50869:39057,50870:36139,50871:21697,50872:32856,50873:20050,50874:22378,50875:33529,50876:33805,50877:24179,50878:20973,50879:29942,50880:35780,50881:23631,50882:22369,50883:27900,50884:39047,50885:23110,50886:30772,50887:39748,50888:36843,50889:31893,50890:21078,50891:25169,50892:38138,50893:20166,50894:33670,50895:33889,50896:33769,50897:33970,50898:22484,50899:26420,50900:22275,50901:26222,50902:28006,50903:35889,50904:26333,50905:28689,50906:26399,50907:27450,50908:26646,50909:25114,50910:22971,50911:19971,50912:20932,50913:28422,50914:26578,50915:27791,50916:20854,50917:26827,50918:22855,50919:27495,50920:30054,50921:23822,50922:33040,50923:40784,50924:26071,50925:31048,50926:31041,50927:39569,50928:36215,50929:23682,50930:20062,50931:20225,50932:21551,50933:22865,50934:30732,50935:22120,50936:27668,50937:36804,50938:24323,50939:27773,50940:27875,50941:35755,50942:25488,51008:33598,51009:33599,51010:33601,51011:33602,51012:33604,51013:33605,51014:33608,51015:33610,51016:33611,51017:33612,51018:33613,51019:33614,51020:33619,51021:33621,51022:33622,51023:33623,51024:33624,51025:33625,51026:33629,51027:33634,51028:33648,51029:33649,51030:33650,51031:33651,51032:33652,51033:33653,51034:33654,51035:33657,51036:33658,51037:33662,51038:33663,51039:33664,51040:33665,51041:33666,51042:33667,51043:33668,51044:33671,51045:33672,51046:33674,51047:33675,51048:33676,51049:33677,51050:33679,51051:33680,51052:33681,51053:33684,51054:33685,51055:33686,51056:33687,51057:33689,51058:33690,51059:33693,51060:33695,51061:33697,51062:33698,51063:33699,51064:33700,51065:33701,51066:33702,51067:33703,51068:33708,51069:33709,51070:33710,51072:33711,51073:33717,51074:33723,51075:33726,51076:33727,51077:33730,51078:33731,51079:33732,51080:33734,51081:33736,51082:33737,51083:33739,51084:33741,51085:33742,51086:33744,51087:33745,51088:33746,51089:33747,51090:33749,51091:33751,51092:33753,51093:33754,51094:33755,51095:33758,51096:33762,51097:33763,51098:33764,51099:33766,51100:33767,51101:33768,51102:33771,51103:33772,51104:33773,51105:24688,51106:27965,51107:29301,51108:25190,51109:38030,51110:38085,51111:21315,51112:36801,51113:31614,51114:20191,51115:35878,51116:20094,51117:40660,51118:38065,51119:38067,51120:21069,51121:28508,51122:36963,51123:27973,51124:35892,51125:22545,51126:23884,51127:27424,51128:27465,51129:26538,51130:21595,51131:33108,51132:32652,51133:22681,51134:34103,51135:24378,51136:25250,51137:27207,51138:38201,51139:25970,51140:24708,51141:26725,51142:30631,51143:20052,51144:20392,51145:24039,51146:38808,51147:25772,51148:32728,51149:23789,51150:20431,51151:31373,51152:20999,51153:33540,51154:19988,51155:24623,51156:31363,51157:38054,51158:20405,51159:20146,51160:31206,51161:29748,51162:21220,51163:33465,51164:25810,51165:31165,51166:23517,51167:27777,51168:38738,51169:36731,51170:27682,51171:20542,51172:21375,51173:28165,51174:25806,51175:26228,51176:27696,51177:24773,51178:39031,51179:35831,51180:24198,51181:29756,51182:31351,51183:31179,51184:19992,51185:37041,51186:29699,51187:27714,51188:22234,51189:37195,51190:27845,51191:36235,51192:21306,51193:34502,51194:26354,51195:36527,51196:23624,51197:39537,51198:28192,51264:33774,51265:33775,51266:33779,51267:33780,51268:33781,51269:33782,51270:33783,51271:33786,51272:33787,51273:33788,51274:33790,51275:33791,51276:33792,51277:33794,51278:33797,51279:33799,51280:33800,51281:33801,51282:33802,51283:33808,51284:33810,51285:33811,51286:33812,51287:33813,51288:33814,51289:33815,51290:33817,51291:33818,51292:33819,51293:33822,51294:33823,51295:33824,51296:33825,51297:33826,51298:33827,51299:33833,51300:33834,51301:33835,51302:33836,51303:33837,51304:33838,51305:33839,51306:33840,51307:33842,51308:33843,51309:33844,51310:33845,51311:33846,51312:33847,51313:33849,51314:33850,51315:33851,51316:33854,51317:33855,51318:33856,51319:33857,51320:33858,51321:33859,51322:33860,51323:33861,51324:33863,51325:33864,51326:33865,51328:33866,51329:33867,51330:33868,51331:33869,51332:33870,51333:33871,51334:33872,51335:33874,51336:33875,51337:33876,51338:33877,51339:33878,51340:33880,51341:33885,51342:33886,51343:33887,51344:33888,51345:33890,51346:33892,51347:33893,51348:33894,51349:33895,51350:33896,51351:33898,51352:33902,51353:33903,51354:33904,51355:33906,51356:33908,51357:33911,51358:33913,51359:33915,51360:33916,51361:21462,51362:23094,51363:40843,51364:36259,51365:21435,51366:22280,51367:39079,51368:26435,51369:37275,51370:27849,51371:20840,51372:30154,51373:25331,51374:29356,51375:21048,51376:21149,51377:32570,51378:28820,51379:30264,51380:21364,51381:40522,51382:27063,51383:30830,51384:38592,51385:35033,51386:32676,51387:28982,51388:29123,51389:20873,51390:26579,51391:29924,51392:22756,51393:25880,51394:22199,51395:35753,51396:39286,51397:25200,51398:32469,51399:24825,51400:28909,51401:22764,51402:20161,51403:20154,51404:24525,51405:38887,51406:20219,51407:35748,51408:20995,51409:22922,51410:32427,51411:25172,51412:20173,51413:26085,51414:25102,51415:33592,51416:33993,51417:33635,51418:34701,51419:29076,51420:28342,51421:23481,51422:32466,51423:20887,51424:25545,51425:26580,51426:32905,51427:33593,51428:34837,51429:20754,51430:23418,51431:22914,51432:36785,51433:20083,51434:27741,51435:20837,51436:35109,51437:36719,51438:38446,51439:34122,51440:29790,51441:38160,51442:38384,51443:28070,51444:33509,51445:24369,51446:25746,51447:27922,51448:33832,51449:33134,51450:40131,51451:22622,51452:36187,51453:19977,51454:21441,51520:33917,51521:33918,51522:33919,51523:33920,51524:33921,51525:33923,51526:33924,51527:33925,51528:33926,51529:33930,51530:33933,51531:33935,51532:33936,51533:33937,51534:33938,51535:33939,51536:33940,51537:33941,51538:33942,51539:33944,51540:33946,51541:33947,51542:33949,51543:33950,51544:33951,51545:33952,51546:33954,51547:33955,51548:33956,51549:33957,51550:33958,51551:33959,51552:33960,51553:33961,51554:33962,51555:33963,51556:33964,51557:33965,51558:33966,51559:33968,51560:33969,51561:33971,51562:33973,51563:33974,51564:33975,51565:33979,51566:33980,51567:33982,51568:33984,51569:33986,51570:33987,51571:33989,51572:33990,51573:33991,51574:33992,51575:33995,51576:33996,51577:33998,51578:33999,51579:34002,51580:34004,51581:34005,51582:34007,51584:34008,51585:34009,51586:34010,51587:34011,51588:34012,51589:34014,51590:34017,51591:34018,51592:34020,51593:34023,51594:34024,51595:34025,51596:34026,51597:34027,51598:34029,51599:34030,51600:34031,51601:34033,51602:34034,51603:34035,51604:34036,51605:34037,51606:34038,51607:34039,51608:34040,51609:34041,51610:34042,51611:34043,51612:34045,51613:34046,51614:34048,51615:34049,51616:34050,51617:20254,51618:25955,51619:26705,51620:21971,51621:20007,51622:25620,51623:39578,51624:25195,51625:23234,51626:29791,51627:33394,51628:28073,51629:26862,51630:20711,51631:33678,51632:30722,51633:26432,51634:21049,51635:27801,51636:32433,51637:20667,51638:21861,51639:29022,51640:31579,51641:26194,51642:29642,51643:33515,51644:26441,51645:23665,51646:21024,51647:29053,51648:34923,51649:38378,51650:38485,51651:25797,51652:36193,51653:33203,51654:21892,51655:27733,51656:25159,51657:32558,51658:22674,51659:20260,51660:21830,51661:36175,51662:26188,51663:19978,51664:23578,51665:35059,51666:26786,51667:25422,51668:31245,51669:28903,51670:33421,51671:21242,51672:38902,51673:23569,51674:21736,51675:37045,51676:32461,51677:22882,51678:36170,51679:34503,51680:33292,51681:33293,51682:36198,51683:25668,51684:23556,51685:24913,51686:28041,51687:31038,51688:35774,51689:30775,51690:30003,51691:21627,51692:20280,51693:36523,51694:28145,51695:23072,51696:32453,51697:31070,51698:27784,51699:23457,51700:23158,51701:29978,51702:32958,51703:24910,51704:28183,51705:22768,51706:29983,51707:29989,51708:29298,51709:21319,51710:32499,51776:34051,51777:34052,51778:34053,51779:34054,51780:34055,51781:34056,51782:34057,51783:34058,51784:34059,51785:34061,51786:34062,51787:34063,51788:34064,51789:34066,51790:34068,51791:34069,51792:34070,51793:34072,51794:34073,51795:34075,51796:34076,51797:34077,51798:34078,51799:34080,51800:34082,51801:34083,51802:34084,51803:34085,51804:34086,51805:34087,51806:34088,51807:34089,51808:34090,51809:34093,51810:34094,51811:34095,51812:34096,51813:34097,51814:34098,51815:34099,51816:34100,51817:34101,51818:34102,51819:34110,51820:34111,51821:34112,51822:34113,51823:34114,51824:34116,51825:34117,51826:34118,51827:34119,51828:34123,51829:34124,51830:34125,51831:34126,51832:34127,51833:34128,51834:34129,51835:34130,51836:34131,51837:34132,51838:34133,51840:34135,51841:34136,51842:34138,51843:34139,51844:34140,51845:34141,51846:34143,51847:34144,51848:34145,51849:34146,51850:34147,51851:34149,51852:34150,51853:34151,51854:34153,51855:34154,51856:34155,51857:34156,51858:34157,51859:34158,51860:34159,51861:34160,51862:34161,51863:34163,51864:34165,51865:34166,51866:34167,51867:34168,51868:34172,51869:34173,51870:34175,51871:34176,51872:34177,51873:30465,51874:30427,51875:21097,51876:32988,51877:22307,51878:24072,51879:22833,51880:29422,51881:26045,51882:28287,51883:35799,51884:23608,51885:34417,51886:21313,51887:30707,51888:25342,51889:26102,51890:20160,51891:39135,51892:34432,51893:23454,51894:35782,51895:21490,51896:30690,51897:20351,51898:23630,51899:39542,51900:22987,51901:24335,51902:31034,51903:22763,51904:19990,51905:26623,51906:20107,51907:25325,51908:35475,51909:36893,51910:21183,51911:26159,51912:21980,51913:22124,51914:36866,51915:20181,51916:20365,51917:37322,51918:39280,51919:27663,51920:24066,51921:24643,51922:23460,51923:35270,51924:35797,51925:25910,51926:25163,51927:39318,51928:23432,51929:23551,51930:25480,51931:21806,51932:21463,51933:30246,51934:20861,51935:34092,51936:26530,51937:26803,51938:27530,51939:25234,51940:36755,51941:21460,51942:33298,51943:28113,51944:30095,51945:20070,51946:36174,51947:23408,51948:29087,51949:34223,51950:26257,51951:26329,51952:32626,51953:34560,51954:40653,51955:40736,51956:23646,51957:26415,51958:36848,51959:26641,51960:26463,51961:25101,51962:31446,51963:22661,51964:24246,51965:25968,51966:28465,52032:34178,52033:34179,52034:34182,52035:34184,52036:34185,52037:34186,52038:34187,52039:34188,52040:34189,52041:34190,52042:34192,52043:34193,52044:34194,52045:34195,52046:34196,52047:34197,52048:34198,52049:34199,52050:34200,52051:34201,52052:34202,52053:34205,52054:34206,52055:34207,52056:34208,52057:34209,52058:34210,52059:34211,52060:34213,52061:34214,52062:34215,52063:34217,52064:34219,52065:34220,52066:34221,52067:34225,52068:34226,52069:34227,52070:34228,52071:34229,52072:34230,52073:34232,52074:34234,52075:34235,52076:34236,52077:34237,52078:34238,52079:34239,52080:34240,52081:34242,52082:34243,52083:34244,52084:34245,52085:34246,52086:34247,52087:34248,52088:34250,52089:34251,52090:34252,52091:34253,52092:34254,52093:34257,52094:34258,52096:34260,52097:34262,52098:34263,52099:34264,52100:34265,52101:34266,52102:34267,52103:34269,52104:34270,52105:34271,52106:34272,52107:34273,52108:34274,52109:34275,52110:34277,52111:34278,52112:34279,52113:34280,52114:34282,52115:34283,52116:34284,52117:34285,52118:34286,52119:34287,52120:34288,52121:34289,52122:34290,52123:34291,52124:34292,52125:34293,52126:34294,52127:34295,52128:34296,52129:24661,52130:21047,52131:32781,52132:25684,52133:34928,52134:29993,52135:24069,52136:26643,52137:25332,52138:38684,52139:21452,52140:29245,52141:35841,52142:27700,52143:30561,52144:31246,52145:21550,52146:30636,52147:39034,52148:33308,52149:35828,52150:30805,52151:26388,52152:28865,52153:26031,52154:25749,52155:22070,52156:24605,52157:31169,52158:21496,52159:19997,52160:27515,52161:32902,52162:23546,52163:21987,52164:22235,52165:20282,52166:20284,52167:39282,52168:24051,52169:26494,52170:32824,52171:24578,52172:39042,52173:36865,52174:23435,52175:35772,52176:35829,52177:25628,52178:33368,52179:25822,52180:22013,52181:33487,52182:37221,52183:20439,52184:32032,52185:36895,52186:31903,52187:20723,52188:22609,52189:28335,52190:23487,52191:35785,52192:32899,52193:37240,52194:33948,52195:31639,52196:34429,52197:38539,52198:38543,52199:32485,52200:39635,52201:30862,52202:23681,52203:31319,52204:36930,52205:38567,52206:31071,52207:23385,52208:25439,52209:31499,52210:34001,52211:26797,52212:21766,52213:32553,52214:29712,52215:32034,52216:38145,52217:25152,52218:22604,52219:20182,52220:23427,52221:22905,52222:22612,52288:34297,52289:34298,52290:34300,52291:34301,52292:34302,52293:34304,52294:34305,52295:34306,52296:34307,52297:34308,52298:34310,52299:34311,52300:34312,52301:34313,52302:34314,52303:34315,52304:34316,52305:34317,52306:34318,52307:34319,52308:34320,52309:34322,52310:34323,52311:34324,52312:34325,52313:34327,52314:34328,52315:34329,52316:34330,52317:34331,52318:34332,52319:34333,52320:34334,52321:34335,52322:34336,52323:34337,52324:34338,52325:34339,52326:34340,52327:34341,52328:34342,52329:34344,52330:34346,52331:34347,52332:34348,52333:34349,52334:34350,52335:34351,52336:34352,52337:34353,52338:34354,52339:34355,52340:34356,52341:34357,52342:34358,52343:34359,52344:34361,52345:34362,52346:34363,52347:34365,52348:34366,52349:34367,52350:34368,52352:34369,52353:34370,52354:34371,52355:34372,52356:34373,52357:34374,52358:34375,52359:34376,52360:34377,52361:34378,52362:34379,52363:34380,52364:34386,52365:34387,52366:34389,52367:34390,52368:34391,52369:34392,52370:34393,52371:34395,52372:34396,52373:34397,52374:34399,52375:34400,52376:34401,52377:34403,52378:34404,52379:34405,52380:34406,52381:34407,52382:34408,52383:34409,52384:34410,52385:29549,52386:25374,52387:36427,52388:36367,52389:32974,52390:33492,52391:25260,52392:21488,52393:27888,52394:37214,52395:22826,52396:24577,52397:27760,52398:22349,52399:25674,52400:36138,52401:30251,52402:28393,52403:22363,52404:27264,52405:30192,52406:28525,52407:35885,52408:35848,52409:22374,52410:27631,52411:34962,52412:30899,52413:25506,52414:21497,52415:28845,52416:27748,52417:22616,52418:25642,52419:22530,52420:26848,52421:33179,52422:21776,52423:31958,52424:20504,52425:36538,52426:28108,52427:36255,52428:28907,52429:25487,52430:28059,52431:28372,52432:32486,52433:33796,52434:26691,52435:36867,52436:28120,52437:38518,52438:35752,52439:22871,52440:29305,52441:34276,52442:33150,52443:30140,52444:35466,52445:26799,52446:21076,52447:36386,52448:38161,52449:25552,52450:39064,52451:36420,52452:21884,52453:20307,52454:26367,52455:22159,52456:24789,52457:28053,52458:21059,52459:23625,52460:22825,52461:28155,52462:22635,52463:30000,52464:29980,52465:24684,52466:33300,52467:33094,52468:25361,52469:26465,52470:36834,52471:30522,52472:36339,52473:36148,52474:38081,52475:24086,52476:21381,52477:21548,52478:28867,52544:34413,52545:34415,52546:34416,52547:34418,52548:34419,52549:34420,52550:34421,52551:34422,52552:34423,52553:34424,52554:34435,52555:34436,52556:34437,52557:34438,52558:34439,52559:34440,52560:34441,52561:34446,52562:34447,52563:34448,52564:34449,52565:34450,52566:34452,52567:34454,52568:34455,52569:34456,52570:34457,52571:34458,52572:34459,52573:34462,52574:34463,52575:34464,52576:34465,52577:34466,52578:34469,52579:34470,52580:34475,52581:34477,52582:34478,52583:34482,52584:34483,52585:34487,52586:34488,52587:34489,52588:34491,52589:34492,52590:34493,52591:34494,52592:34495,52593:34497,52594:34498,52595:34499,52596:34501,52597:34504,52598:34508,52599:34509,52600:34514,52601:34515,52602:34517,52603:34518,52604:34519,52605:34522,52606:34524,52608:34525,52609:34528,52610:34529,52611:34530,52612:34531,52613:34533,52614:34534,52615:34535,52616:34536,52617:34538,52618:34539,52619:34540,52620:34543,52621:34549,52622:34550,52623:34551,52624:34554,52625:34555,52626:34556,52627:34557,52628:34559,52629:34561,52630:34564,52631:34565,52632:34566,52633:34571,52634:34572,52635:34574,52636:34575,52637:34576,52638:34577,52639:34580,52640:34582,52641:27712,52642:24311,52643:20572,52644:20141,52645:24237,52646:25402,52647:33351,52648:36890,52649:26704,52650:37230,52651:30643,52652:21516,52653:38108,52654:24420,52655:31461,52656:26742,52657:25413,52658:31570,52659:32479,52660:30171,52661:20599,52662:25237,52663:22836,52664:36879,52665:20984,52666:31171,52667:31361,52668:22270,52669:24466,52670:36884,52671:28034,52672:23648,52673:22303,52674:21520,52675:20820,52676:28237,52677:22242,52678:25512,52679:39059,52680:33151,52681:34581,52682:35114,52683:36864,52684:21534,52685:23663,52686:33216,52687:25302,52688:25176,52689:33073,52690:40501,52691:38464,52692:39534,52693:39548,52694:26925,52695:22949,52696:25299,52697:21822,52698:25366,52699:21703,52700:34521,52701:27964,52702:23043,52703:29926,52704:34972,52705:27498,52706:22806,52707:35916,52708:24367,52709:28286,52710:29609,52711:39037,52712:20024,52713:28919,52714:23436,52715:30871,52716:25405,52717:26202,52718:30358,52719:24779,52720:23451,52721:23113,52722:19975,52723:33109,52724:27754,52725:29579,52726:20129,52727:26505,52728:32593,52729:24448,52730:26106,52731:26395,52732:24536,52733:22916,52734:23041,52800:34585,52801:34587,52802:34589,52803:34591,52804:34592,52805:34596,52806:34598,52807:34599,52808:34600,52809:34602,52810:34603,52811:34604,52812:34605,52813:34607,52814:34608,52815:34610,52816:34611,52817:34613,52818:34614,52819:34616,52820:34617,52821:34618,52822:34620,52823:34621,52824:34624,52825:34625,52826:34626,52827:34627,52828:34628,52829:34629,52830:34630,52831:34634,52832:34635,52833:34637,52834:34639,52835:34640,52836:34641,52837:34642,52838:34644,52839:34645,52840:34646,52841:34648,52842:34650,52843:34651,52844:34652,52845:34653,52846:34654,52847:34655,52848:34657,52849:34658,52850:34662,52851:34663,52852:34664,52853:34665,52854:34666,52855:34667,52856:34668,52857:34669,52858:34671,52859:34673,52860:34674,52861:34675,52862:34677,52864:34679,52865:34680,52866:34681,52867:34682,52868:34687,52869:34688,52870:34689,52871:34692,52872:34694,52873:34695,52874:34697,52875:34698,52876:34700,52877:34702,52878:34703,52879:34704,52880:34705,52881:34706,52882:34708,52883:34709,52884:34710,52885:34712,52886:34713,52887:34714,52888:34715,52889:34716,52890:34717,52891:34718,52892:34720,52893:34721,52894:34722,52895:34723,52896:34724,52897:24013,52898:24494,52899:21361,52900:38886,52901:36829,52902:26693,52903:22260,52904:21807,52905:24799,52906:20026,52907:28493,52908:32500,52909:33479,52910:33806,52911:22996,52912:20255,52913:20266,52914:23614,52915:32428,52916:26410,52917:34074,52918:21619,52919:30031,52920:32963,52921:21890,52922:39759,52923:20301,52924:28205,52925:35859,52926:23561,52927:24944,52928:21355,52929:30239,52930:28201,52931:34442,52932:25991,52933:38395,52934:32441,52935:21563,52936:31283,52937:32010,52938:38382,52939:21985,52940:32705,52941:29934,52942:25373,52943:34583,52944:28065,52945:31389,52946:25105,52947:26017,52948:21351,52949:25569,52950:27779,52951:24043,52952:21596,52953:38056,52954:20044,52955:27745,52956:35820,52957:23627,52958:26080,52959:33436,52960:26791,52961:21566,52962:21556,52963:27595,52964:27494,52965:20116,52966:25410,52967:21320,52968:33310,52969:20237,52970:20398,52971:22366,52972:25098,52973:38654,52974:26212,52975:29289,52976:21247,52977:21153,52978:24735,52979:35823,52980:26132,52981:29081,52982:26512,52983:35199,52984:30802,52985:30717,52986:26224,52987:22075,52988:21560,52989:38177,52990:29306,53056:34725,53057:34726,53058:34727,53059:34729,53060:34730,53061:34734,53062:34736,53063:34737,53064:34738,53065:34740,53066:34742,53067:34743,53068:34744,53069:34745,53070:34747,53071:34748,53072:34750,53073:34751,53074:34753,53075:34754,53076:34755,53077:34756,53078:34757,53079:34759,53080:34760,53081:34761,53082:34764,53083:34765,53084:34766,53085:34767,53086:34768,53087:34772,53088:34773,53089:34774,53090:34775,53091:34776,53092:34777,53093:34778,53094:34780,53095:34781,53096:34782,53097:34783,53098:34785,53099:34786,53100:34787,53101:34788,53102:34790,53103:34791,53104:34792,53105:34793,53106:34795,53107:34796,53108:34797,53109:34799,53110:34800,53111:34801,53112:34802,53113:34803,53114:34804,53115:34805,53116:34806,53117:34807,53118:34808,53120:34810,53121:34811,53122:34812,53123:34813,53124:34815,53125:34816,53126:34817,53127:34818,53128:34820,53129:34821,53130:34822,53131:34823,53132:34824,53133:34825,53134:34827,53135:34828,53136:34829,53137:34830,53138:34831,53139:34832,53140:34833,53141:34834,53142:34836,53143:34839,53144:34840,53145:34841,53146:34842,53147:34844,53148:34845,53149:34846,53150:34847,53151:34848,53152:34851,53153:31232,53154:24687,53155:24076,53156:24713,53157:33181,53158:22805,53159:24796,53160:29060,53161:28911,53162:28330,53163:27728,53164:29312,53165:27268,53166:34989,53167:24109,53168:20064,53169:23219,53170:21916,53171:38115,53172:27927,53173:31995,53174:38553,53175:25103,53176:32454,53177:30606,53178:34430,53179:21283,53180:38686,53181:36758,53182:26247,53183:23777,53184:20384,53185:29421,53186:19979,53187:21414,53188:22799,53189:21523,53190:25472,53191:38184,53192:20808,53193:20185,53194:40092,53195:32420,53196:21688,53197:36132,53198:34900,53199:33335,53200:38386,53201:28046,53202:24358,53203:23244,53204:26174,53205:38505,53206:29616,53207:29486,53208:21439,53209:33146,53210:39301,53211:32673,53212:23466,53213:38519,53214:38480,53215:32447,53216:30456,53217:21410,53218:38262,53219:39321,53220:31665,53221:35140,53222:28248,53223:20065,53224:32724,53225:31077,53226:35814,53227:24819,53228:21709,53229:20139,53230:39033,53231:24055,53232:27233,53233:20687,53234:21521,53235:35937,53236:33831,53237:30813,53238:38660,53239:21066,53240:21742,53241:22179,53242:38144,53243:28040,53244:23477,53245:28102,53246:26195,53312:34852,53313:34853,53314:34854,53315:34855,53316:34856,53317:34857,53318:34858,53319:34859,53320:34860,53321:34861,53322:34862,53323:34863,53324:34864,53325:34865,53326:34867,53327:34868,53328:34869,53329:34870,53330:34871,53331:34872,53332:34874,53333:34875,53334:34877,53335:34878,53336:34879,53337:34881,53338:34882,53339:34883,53340:34886,53341:34887,53342:34888,53343:34889,53344:34890,53345:34891,53346:34894,53347:34895,53348:34896,53349:34897,53350:34898,53351:34899,53352:34901,53353:34902,53354:34904,53355:34906,53356:34907,53357:34908,53358:34909,53359:34910,53360:34911,53361:34912,53362:34918,53363:34919,53364:34922,53365:34925,53366:34927,53367:34929,53368:34931,53369:34932,53370:34933,53371:34934,53372:34936,53373:34937,53374:34938,53376:34939,53377:34940,53378:34944,53379:34947,53380:34950,53381:34951,53382:34953,53383:34954,53384:34956,53385:34958,53386:34959,53387:34960,53388:34961,53389:34963,53390:34964,53391:34965,53392:34967,53393:34968,53394:34969,53395:34970,53396:34971,53397:34973,53398:34974,53399:34975,53400:34976,53401:34977,53402:34979,53403:34981,53404:34982,53405:34983,53406:34984,53407:34985,53408:34986,53409:23567,53410:23389,53411:26657,53412:32918,53413:21880,53414:31505,53415:25928,53416:26964,53417:20123,53418:27463,53419:34638,53420:38795,53421:21327,53422:25375,53423:25658,53424:37034,53425:26012,53426:32961,53427:35856,53428:20889,53429:26800,53430:21368,53431:34809,53432:25032,53433:27844,53434:27899,53435:35874,53436:23633,53437:34218,53438:33455,53439:38156,53440:27427,53441:36763,53442:26032,53443:24571,53444:24515,53445:20449,53446:34885,53447:26143,53448:33125,53449:29481,53450:24826,53451:20852,53452:21009,53453:22411,53454:24418,53455:37026,53456:34892,53457:37266,53458:24184,53459:26447,53460:24615,53461:22995,53462:20804,53463:20982,53464:33016,53465:21256,53466:27769,53467:38596,53468:29066,53469:20241,53470:20462,53471:32670,53472:26429,53473:21957,53474:38152,53475:31168,53476:34966,53477:32483,53478:22687,53479:25100,53480:38656,53481:34394,53482:22040,53483:39035,53484:24464,53485:35768,53486:33988,53487:37207,53488:21465,53489:26093,53490:24207,53491:30044,53492:24676,53493:32110,53494:23167,53495:32490,53496:32493,53497:36713,53498:21927,53499:23459,53500:24748,53501:26059,53502:29572,53568:34988,53569:34990,53570:34991,53571:34992,53572:34994,53573:34995,53574:34996,53575:34997,53576:34998,53577:35000,53578:35001,53579:35002,53580:35003,53581:35005,53582:35006,53583:35007,53584:35008,53585:35011,53586:35012,53587:35015,53588:35016,53589:35018,53590:35019,53591:35020,53592:35021,53593:35023,53594:35024,53595:35025,53596:35027,53597:35030,53598:35031,53599:35034,53600:35035,53601:35036,53602:35037,53603:35038,53604:35040,53605:35041,53606:35046,53607:35047,53608:35049,53609:35050,53610:35051,53611:35052,53612:35053,53613:35054,53614:35055,53615:35058,53616:35061,53617:35062,53618:35063,53619:35066,53620:35067,53621:35069,53622:35071,53623:35072,53624:35073,53625:35075,53626:35076,53627:35077,53628:35078,53629:35079,53630:35080,53632:35081,53633:35083,53634:35084,53635:35085,53636:35086,53637:35087,53638:35089,53639:35092,53640:35093,53641:35094,53642:35095,53643:35096,53644:35100,53645:35101,53646:35102,53647:35103,53648:35104,53649:35106,53650:35107,53651:35108,53652:35110,53653:35111,53654:35112,53655:35113,53656:35116,53657:35117,53658:35118,53659:35119,53660:35121,53661:35122,53662:35123,53663:35125,53664:35127,53665:36873,53666:30307,53667:30505,53668:32474,53669:38772,53670:34203,53671:23398,53672:31348,53673:38634,53674:34880,53675:21195,53676:29071,53677:24490,53678:26092,53679:35810,53680:23547,53681:39535,53682:24033,53683:27529,53684:27739,53685:35757,53686:35759,53687:36874,53688:36805,53689:21387,53690:25276,53691:40486,53692:40493,53693:21568,53694:20011,53695:33469,53696:29273,53697:34460,53698:23830,53699:34905,53700:28079,53701:38597,53702:21713,53703:20122,53704:35766,53705:28937,53706:21693,53707:38409,53708:28895,53709:28153,53710:30416,53711:20005,53712:30740,53713:34578,53714:23721,53715:24310,53716:35328,53717:39068,53718:38414,53719:28814,53720:27839,53721:22852,53722:25513,53723:30524,53724:34893,53725:28436,53726:33395,53727:22576,53728:29141,53729:21388,53730:30746,53731:38593,53732:21761,53733:24422,53734:28976,53735:23476,53736:35866,53737:39564,53738:27523,53739:22830,53740:40495,53741:31207,53742:26472,53743:25196,53744:20335,53745:30113,53746:32650,53747:27915,53748:38451,53749:27687,53750:20208,53751:30162,53752:20859,53753:26679,53754:28478,53755:36992,53756:33136,53757:22934,53758:29814,53824:35128,53825:35129,53826:35130,53827:35131,53828:35132,53829:35133,53830:35134,53831:35135,53832:35136,53833:35138,53834:35139,53835:35141,53836:35142,53837:35143,53838:35144,53839:35145,53840:35146,53841:35147,53842:35148,53843:35149,53844:35150,53845:35151,53846:35152,53847:35153,53848:35154,53849:35155,53850:35156,53851:35157,53852:35158,53853:35159,53854:35160,53855:35161,53856:35162,53857:35163,53858:35164,53859:35165,53860:35168,53861:35169,53862:35170,53863:35171,53864:35172,53865:35173,53866:35175,53867:35176,53868:35177,53869:35178,53870:35179,53871:35180,53872:35181,53873:35182,53874:35183,53875:35184,53876:35185,53877:35186,53878:35187,53879:35188,53880:35189,53881:35190,53882:35191,53883:35192,53884:35193,53885:35194,53886:35196,53888:35197,53889:35198,53890:35200,53891:35202,53892:35204,53893:35205,53894:35207,53895:35208,53896:35209,53897:35210,53898:35211,53899:35212,53900:35213,53901:35214,53902:35215,53903:35216,53904:35217,53905:35218,53906:35219,53907:35220,53908:35221,53909:35222,53910:35223,53911:35224,53912:35225,53913:35226,53914:35227,53915:35228,53916:35229,53917:35230,53918:35231,53919:35232,53920:35233,53921:25671,53922:23591,53923:36965,53924:31377,53925:35875,53926:23002,53927:21676,53928:33280,53929:33647,53930:35201,53931:32768,53932:26928,53933:22094,53934:32822,53935:29239,53936:37326,53937:20918,53938:20063,53939:39029,53940:25494,53941:19994,53942:21494,53943:26355,53944:33099,53945:22812,53946:28082,53947:19968,53948:22777,53949:21307,53950:25558,53951:38129,53952:20381,53953:20234,53954:34915,53955:39056,53956:22839,53957:36951,53958:31227,53959:20202,53960:33008,53961:30097,53962:27778,53963:23452,53964:23016,53965:24413,53966:26885,53967:34433,53968:20506,53969:24050,53970:20057,53971:30691,53972:20197,53973:33402,53974:25233,53975:26131,53976:37009,53977:23673,53978:20159,53979:24441,53980:33222,53981:36920,53982:32900,53983:30123,53984:20134,53985:35028,53986:24847,53987:27589,53988:24518,53989:20041,53990:30410,53991:28322,53992:35811,53993:35758,53994:35850,53995:35793,53996:24322,53997:32764,53998:32716,53999:32462,54000:33589,54001:33643,54002:22240,54003:27575,54004:38899,54005:38452,54006:23035,54007:21535,54008:38134,54009:28139,54010:23493,54011:39278,54012:23609,54013:24341,54014:38544,54080:35234,54081:35235,54082:35236,54083:35237,54084:35238,54085:35239,54086:35240,54087:35241,54088:35242,54089:35243,54090:35244,54091:35245,54092:35246,54093:35247,54094:35248,54095:35249,54096:35250,54097:35251,54098:35252,54099:35253,54100:35254,54101:35255,54102:35256,54103:35257,54104:35258,54105:35259,54106:35260,54107:35261,54108:35262,54109:35263,54110:35264,54111:35267,54112:35277,54113:35283,54114:35284,54115:35285,54116:35287,54117:35288,54118:35289,54119:35291,54120:35293,54121:35295,54122:35296,54123:35297,54124:35298,54125:35300,54126:35303,54127:35304,54128:35305,54129:35306,54130:35308,54131:35309,54132:35310,54133:35312,54134:35313,54135:35314,54136:35316,54137:35317,54138:35318,54139:35319,54140:35320,54141:35321,54142:35322,54144:35323,54145:35324,54146:35325,54147:35326,54148:35327,54149:35329,54150:35330,54151:35331,54152:35332,54153:35333,54154:35334,54155:35336,54156:35337,54157:35338,54158:35339,54159:35340,54160:35341,54161:35342,54162:35343,54163:35344,54164:35345,54165:35346,54166:35347,54167:35348,54168:35349,54169:35350,54170:35351,54171:35352,54172:35353,54173:35354,54174:35355,54175:35356,54176:35357,54177:21360,54178:33521,54179:27185,54180:23156,54181:40560,54182:24212,54183:32552,54184:33721,54185:33828,54186:33829,54187:33639,54188:34631,54189:36814,54190:36194,54191:30408,54192:24433,54193:39062,54194:30828,54195:26144,54196:21727,54197:25317,54198:20323,54199:33219,54200:30152,54201:24248,54202:38605,54203:36362,54204:34553,54205:21647,54206:27891,54207:28044,54208:27704,54209:24703,54210:21191,54211:29992,54212:24189,54213:20248,54214:24736,54215:24551,54216:23588,54217:30001,54218:37038,54219:38080,54220:29369,54221:27833,54222:28216,54223:37193,54224:26377,54225:21451,54226:21491,54227:20305,54228:37321,54229:35825,54230:21448,54231:24188,54232:36802,54233:28132,54234:20110,54235:30402,54236:27014,54237:34398,54238:24858,54239:33286,54240:20313,54241:20446,54242:36926,54243:40060,54244:24841,54245:28189,54246:28180,54247:38533,54248:20104,54249:23089,54250:38632,54251:19982,54252:23679,54253:31161,54254:23431,54255:35821,54256:32701,54257:29577,54258:22495,54259:33419,54260:37057,54261:21505,54262:36935,54263:21947,54264:23786,54265:24481,54266:24840,54267:27442,54268:29425,54269:32946,54270:35465,54336:35358,54337:35359,54338:35360,54339:35361,54340:35362,54341:35363,54342:35364,54343:35365,54344:35366,54345:35367,54346:35368,54347:35369,54348:35370,54349:35371,54350:35372,54351:35373,54352:35374,54353:35375,54354:35376,54355:35377,54356:35378,54357:35379,54358:35380,54359:35381,54360:35382,54361:35383,54362:35384,54363:35385,54364:35386,54365:35387,54366:35388,54367:35389,54368:35391,54369:35392,54370:35393,54371:35394,54372:35395,54373:35396,54374:35397,54375:35398,54376:35399,54377:35401,54378:35402,54379:35403,54380:35404,54381:35405,54382:35406,54383:35407,54384:35408,54385:35409,54386:35410,54387:35411,54388:35412,54389:35413,54390:35414,54391:35415,54392:35416,54393:35417,54394:35418,54395:35419,54396:35420,54397:35421,54398:35422,54400:35423,54401:35424,54402:35425,54403:35426,54404:35427,54405:35428,54406:35429,54407:35430,54408:35431,54409:35432,54410:35433,54411:35434,54412:35435,54413:35436,54414:35437,54415:35438,54416:35439,54417:35440,54418:35441,54419:35442,54420:35443,54421:35444,54422:35445,54423:35446,54424:35447,54425:35448,54426:35450,54427:35451,54428:35452,54429:35453,54430:35454,54431:35455,54432:35456,54433:28020,54434:23507,54435:35029,54436:39044,54437:35947,54438:39533,54439:40499,54440:28170,54441:20900,54442:20803,54443:22435,54444:34945,54445:21407,54446:25588,54447:36757,54448:22253,54449:21592,54450:22278,54451:29503,54452:28304,54453:32536,54454:36828,54455:33489,54456:24895,54457:24616,54458:38498,54459:26352,54460:32422,54461:36234,54462:36291,54463:38053,54464:23731,54465:31908,54466:26376,54467:24742,54468:38405,54469:32792,54470:20113,54471:37095,54472:21248,54473:38504,54474:20801,54475:36816,54476:34164,54477:37213,54478:26197,54479:38901,54480:23381,54481:21277,54482:30776,54483:26434,54484:26685,54485:21705,54486:28798,54487:23472,54488:36733,54489:20877,54490:22312,54491:21681,54492:25874,54493:26242,54494:36190,54495:36163,54496:33039,54497:33900,54498:36973,54499:31967,54500:20991,54501:34299,54502:26531,54503:26089,54504:28577,54505:34468,54506:36481,54507:22122,54508:36896,54509:30338,54510:28790,54511:29157,54512:36131,54513:25321,54514:21017,54515:27901,54516:36156,54517:24590,54518:22686,54519:24974,54520:26366,54521:36192,54522:25166,54523:21939,54524:28195,54525:26413,54526:36711,54592:35457,54593:35458,54594:35459,54595:35460,54596:35461,54597:35462,54598:35463,54599:35464,54600:35467,54601:35468,54602:35469,54603:35470,54604:35471,54605:35472,54606:35473,54607:35474,54608:35476,54609:35477,54610:35478,54611:35479,54612:35480,54613:35481,54614:35482,54615:35483,54616:35484,54617:35485,54618:35486,54619:35487,54620:35488,54621:35489,54622:35490,54623:35491,54624:35492,54625:35493,54626:35494,54627:35495,54628:35496,54629:35497,54630:35498,54631:35499,54632:35500,54633:35501,54634:35502,54635:35503,54636:35504,54637:35505,54638:35506,54639:35507,54640:35508,54641:35509,54642:35510,54643:35511,54644:35512,54645:35513,54646:35514,54647:35515,54648:35516,54649:35517,54650:35518,54651:35519,54652:35520,54653:35521,54654:35522,54656:35523,54657:35524,54658:35525,54659:35526,54660:35527,54661:35528,54662:35529,54663:35530,54664:35531,54665:35532,54666:35533,54667:35534,54668:35535,54669:35536,54670:35537,54671:35538,54672:35539,54673:35540,54674:35541,54675:35542,54676:35543,54677:35544,54678:35545,54679:35546,54680:35547,54681:35548,54682:35549,54683:35550,54684:35551,54685:35552,54686:35553,54687:35554,54688:35555,54689:38113,54690:38392,54691:30504,54692:26629,54693:27048,54694:21643,54695:20045,54696:28856,54697:35784,54698:25688,54699:25995,54700:23429,54701:31364,54702:20538,54703:23528,54704:30651,54705:27617,54706:35449,54707:31896,54708:27838,54709:30415,54710:26025,54711:36759,54712:23853,54713:23637,54714:34360,54715:26632,54716:21344,54717:25112,54718:31449,54719:28251,54720:32509,54721:27167,54722:31456,54723:24432,54724:28467,54725:24352,54726:25484,54727:28072,54728:26454,54729:19976,54730:24080,54731:36134,54732:20183,54733:32960,54734:30260,54735:38556,54736:25307,54737:26157,54738:25214,54739:27836,54740:36213,54741:29031,54742:32617,54743:20806,54744:32903,54745:21484,54746:36974,54747:25240,54748:21746,54749:34544,54750:36761,54751:32773,54752:38167,54753:34071,54754:36825,54755:27993,54756:29645,54757:26015,54758:30495,54759:29956,54760:30759,54761:33275,54762:36126,54763:38024,54764:20390,54765:26517,54766:30137,54767:35786,54768:38663,54769:25391,54770:38215,54771:38453,54772:33976,54773:25379,54774:30529,54775:24449,54776:29424,54777:20105,54778:24596,54779:25972,54780:25327,54781:27491,54782:25919,54848:35556,54849:35557,54850:35558,54851:35559,54852:35560,54853:35561,54854:35562,54855:35563,54856:35564,54857:35565,54858:35566,54859:35567,54860:35568,54861:35569,54862:35570,54863:35571,54864:35572,54865:35573,54866:35574,54867:35575,54868:35576,54869:35577,54870:35578,54871:35579,54872:35580,54873:35581,54874:35582,54875:35583,54876:35584,54877:35585,54878:35586,54879:35587,54880:35588,54881:35589,54882:35590,54883:35592,54884:35593,54885:35594,54886:35595,54887:35596,54888:35597,54889:35598,54890:35599,54891:35600,54892:35601,54893:35602,54894:35603,54895:35604,54896:35605,54897:35606,54898:35607,54899:35608,54900:35609,54901:35610,54902:35611,54903:35612,54904:35613,54905:35614,54906:35615,54907:35616,54908:35617,54909:35618,54910:35619,54912:35620,54913:35621,54914:35623,54915:35624,54916:35625,54917:35626,54918:35627,54919:35628,54920:35629,54921:35630,54922:35631,54923:35632,54924:35633,54925:35634,54926:35635,54927:35636,54928:35637,54929:35638,54930:35639,54931:35640,54932:35641,54933:35642,54934:35643,54935:35644,54936:35645,54937:35646,54938:35647,54939:35648,54940:35649,54941:35650,54942:35651,54943:35652,54944:35653,54945:24103,54946:30151,54947:37073,54948:35777,54949:33437,54950:26525,54951:25903,54952:21553,54953:34584,54954:30693,54955:32930,54956:33026,54957:27713,54958:20043,54959:32455,54960:32844,54961:30452,54962:26893,54963:27542,54964:25191,54965:20540,54966:20356,54967:22336,54968:25351,54969:27490,54970:36286,54971:21482,54972:26088,54973:32440,54974:24535,54975:25370,54976:25527,54977:33267,54978:33268,54979:32622,54980:24092,54981:23769,54982:21046,54983:26234,54984:31209,54985:31258,54986:36136,54987:28825,54988:30164,54989:28382,54990:27835,54991:31378,54992:20013,54993:30405,54994:24544,54995:38047,54996:34935,54997:32456,54998:31181,54999:32959,55000:37325,55001:20210,55002:20247,55003:33311,55004:21608,55005:24030,55006:27954,55007:35788,55008:31909,55009:36724,55010:32920,55011:24090,55012:21650,55013:30385,55014:23449,55015:26172,55016:39588,55017:29664,55018:26666,55019:34523,55020:26417,55021:29482,55022:35832,55023:35803,55024:36880,55025:31481,55026:28891,55027:29038,55028:25284,55029:30633,55030:22065,55031:20027,55032:33879,55033:26609,55034:21161,55035:34496,55036:36142,55037:38136,55038:31569,55104:35654,55105:35655,55106:35656,55107:35657,55108:35658,55109:35659,55110:35660,55111:35661,55112:35662,55113:35663,55114:35664,55115:35665,55116:35666,55117:35667,55118:35668,55119:35669,55120:35670,55121:35671,55122:35672,55123:35673,55124:35674,55125:35675,55126:35676,55127:35677,55128:35678,55129:35679,55130:35680,55131:35681,55132:35682,55133:35683,55134:35684,55135:35685,55136:35687,55137:35688,55138:35689,55139:35690,55140:35691,55141:35693,55142:35694,55143:35695,55144:35696,55145:35697,55146:35698,55147:35699,55148:35700,55149:35701,55150:35702,55151:35703,55152:35704,55153:35705,55154:35706,55155:35707,55156:35708,55157:35709,55158:35710,55159:35711,55160:35712,55161:35713,55162:35714,55163:35715,55164:35716,55165:35717,55166:35718,55168:35719,55169:35720,55170:35721,55171:35722,55172:35723,55173:35724,55174:35725,55175:35726,55176:35727,55177:35728,55178:35729,55179:35730,55180:35731,55181:35732,55182:35733,55183:35734,55184:35735,55185:35736,55186:35737,55187:35738,55188:35739,55189:35740,55190:35741,55191:35742,55192:35743,55193:35756,55194:35761,55195:35771,55196:35783,55197:35792,55198:35818,55199:35849,55200:35870,55201:20303,55202:27880,55203:31069,55204:39547,55205:25235,55206:29226,55207:25341,55208:19987,55209:30742,55210:36716,55211:25776,55212:36186,55213:31686,55214:26729,55215:24196,55216:35013,55217:22918,55218:25758,55219:22766,55220:29366,55221:26894,55222:38181,55223:36861,55224:36184,55225:22368,55226:32512,55227:35846,55228:20934,55229:25417,55230:25305,55231:21331,55232:26700,55233:29730,55234:33537,55235:37196,55236:21828,55237:30528,55238:28796,55239:27978,55240:20857,55241:21672,55242:36164,55243:23039,55244:28363,55245:28100,55246:23388,55247:32043,55248:20180,55249:31869,55250:28371,55251:23376,55252:33258,55253:28173,55254:23383,55255:39683,55256:26837,55257:36394,55258:23447,55259:32508,55260:24635,55261:32437,55262:37049,55263:36208,55264:22863,55265:25549,55266:31199,55267:36275,55268:21330,55269:26063,55270:31062,55271:35781,55272:38459,55273:32452,55274:38075,55275:32386,55276:22068,55277:37257,55278:26368,55279:32618,55280:23562,55281:36981,55282:26152,55283:24038,55284:20304,55285:26590,55286:20570,55287:20316,55288:22352,55289:24231,55290:59408,55291:59409,55292:59410,55293:59411,55294:59412,55360:35896,55361:35897,55362:35898,55363:35899,55364:35900,55365:35901,55366:35902,55367:35903,55368:35904,55369:35906,55370:35907,55371:35908,55372:35909,55373:35912,55374:35914,55375:35915,55376:35917,55377:35918,55378:35919,55379:35920,55380:35921,55381:35922,55382:35923,55383:35924,55384:35926,55385:35927,55386:35928,55387:35929,55388:35931,55389:35932,55390:35933,55391:35934,55392:35935,55393:35936,55394:35939,55395:35940,55396:35941,55397:35942,55398:35943,55399:35944,55400:35945,55401:35948,55402:35949,55403:35950,55404:35951,55405:35952,55406:35953,55407:35954,55408:35956,55409:35957,55410:35958,55411:35959,55412:35963,55413:35964,55414:35965,55415:35966,55416:35967,55417:35968,55418:35969,55419:35971,55420:35972,55421:35974,55422:35975,55424:35976,55425:35979,55426:35981,55427:35982,55428:35983,55429:35984,55430:35985,55431:35986,55432:35987,55433:35989,55434:35990,55435:35991,55436:35993,55437:35994,55438:35995,55439:35996,55440:35997,55441:35998,55442:35999,55443:36000,55444:36001,55445:36002,55446:36003,55447:36004,55448:36005,55449:36006,55450:36007,55451:36008,55452:36009,55453:36010,55454:36011,55455:36012,55456:36013,55457:20109,55458:19980,55459:20800,55460:19984,55461:24319,55462:21317,55463:19989,55464:20120,55465:19998,55466:39730,55467:23404,55468:22121,55469:20008,55470:31162,55471:20031,55472:21269,55473:20039,55474:22829,55475:29243,55476:21358,55477:27664,55478:22239,55479:32996,55480:39319,55481:27603,55482:30590,55483:40727,55484:20022,55485:20127,55486:40720,55487:20060,55488:20073,55489:20115,55490:33416,55491:23387,55492:21868,55493:22031,55494:20164,55495:21389,55496:21405,55497:21411,55498:21413,55499:21422,55500:38757,55501:36189,55502:21274,55503:21493,55504:21286,55505:21294,55506:21310,55507:36188,55508:21350,55509:21347,55510:20994,55511:21000,55512:21006,55513:21037,55514:21043,55515:21055,55516:21056,55517:21068,55518:21086,55519:21089,55520:21084,55521:33967,55522:21117,55523:21122,55524:21121,55525:21136,55526:21139,55527:20866,55528:32596,55529:20155,55530:20163,55531:20169,55532:20162,55533:20200,55534:20193,55535:20203,55536:20190,55537:20251,55538:20211,55539:20258,55540:20324,55541:20213,55542:20261,55543:20263,55544:20233,55545:20267,55546:20318,55547:20327,55548:25912,55549:20314,55550:20317,55616:36014,55617:36015,55618:36016,55619:36017,55620:36018,55621:36019,55622:36020,55623:36021,55624:36022,55625:36023,55626:36024,55627:36025,55628:36026,55629:36027,55630:36028,55631:36029,55632:36030,55633:36031,55634:36032,55635:36033,55636:36034,55637:36035,55638:36036,55639:36037,55640:36038,55641:36039,55642:36040,55643:36041,55644:36042,55645:36043,55646:36044,55647:36045,55648:36046,55649:36047,55650:36048,55651:36049,55652:36050,55653:36051,55654:36052,55655:36053,55656:36054,55657:36055,55658:36056,55659:36057,55660:36058,55661:36059,55662:36060,55663:36061,55664:36062,55665:36063,55666:36064,55667:36065,55668:36066,55669:36067,55670:36068,55671:36069,55672:36070,55673:36071,55674:36072,55675:36073,55676:36074,55677:36075,55678:36076,55680:36077,55681:36078,55682:36079,55683:36080,55684:36081,55685:36082,55686:36083,55687:36084,55688:36085,55689:36086,55690:36087,55691:36088,55692:36089,55693:36090,55694:36091,55695:36092,55696:36093,55697:36094,55698:36095,55699:36096,55700:36097,55701:36098,55702:36099,55703:36100,55704:36101,55705:36102,55706:36103,55707:36104,55708:36105,55709:36106,55710:36107,55711:36108,55712:36109,55713:20319,55714:20311,55715:20274,55716:20285,55717:20342,55718:20340,55719:20369,55720:20361,55721:20355,55722:20367,55723:20350,55724:20347,55725:20394,55726:20348,55727:20396,55728:20372,55729:20454,55730:20456,55731:20458,55732:20421,55733:20442,55734:20451,55735:20444,55736:20433,55737:20447,55738:20472,55739:20521,55740:20556,55741:20467,55742:20524,55743:20495,55744:20526,55745:20525,55746:20478,55747:20508,55748:20492,55749:20517,55750:20520,55751:20606,55752:20547,55753:20565,55754:20552,55755:20558,55756:20588,55757:20603,55758:20645,55759:20647,55760:20649,55761:20666,55762:20694,55763:20742,55764:20717,55765:20716,55766:20710,55767:20718,55768:20743,55769:20747,55770:20189,55771:27709,55772:20312,55773:20325,55774:20430,55775:40864,55776:27718,55777:31860,55778:20846,55779:24061,55780:40649,55781:39320,55782:20865,55783:22804,55784:21241,55785:21261,55786:35335,55787:21264,55788:20971,55789:22809,55790:20821,55791:20128,55792:20822,55793:20147,55794:34926,55795:34980,55796:20149,55797:33044,55798:35026,55799:31104,55800:23348,55801:34819,55802:32696,55803:20907,55804:20913,55805:20925,55806:20924,55872:36110,55873:36111,55874:36112,55875:36113,55876:36114,55877:36115,55878:36116,55879:36117,55880:36118,55881:36119,55882:36120,55883:36121,55884:36122,55885:36123,55886:36124,55887:36128,55888:36177,55889:36178,55890:36183,55891:36191,55892:36197,55893:36200,55894:36201,55895:36202,55896:36204,55897:36206,55898:36207,55899:36209,55900:36210,55901:36216,55902:36217,55903:36218,55904:36219,55905:36220,55906:36221,55907:36222,55908:36223,55909:36224,55910:36226,55911:36227,55912:36230,55913:36231,55914:36232,55915:36233,55916:36236,55917:36237,55918:36238,55919:36239,55920:36240,55921:36242,55922:36243,55923:36245,55924:36246,55925:36247,55926:36248,55927:36249,55928:36250,55929:36251,55930:36252,55931:36253,55932:36254,55933:36256,55934:36257,55936:36258,55937:36260,55938:36261,55939:36262,55940:36263,55941:36264,55942:36265,55943:36266,55944:36267,55945:36268,55946:36269,55947:36270,55948:36271,55949:36272,55950:36274,55951:36278,55952:36279,55953:36281,55954:36283,55955:36285,55956:36288,55957:36289,55958:36290,55959:36293,55960:36295,55961:36296,55962:36297,55963:36298,55964:36301,55965:36304,55966:36306,55967:36307,55968:36308,55969:20935,55970:20886,55971:20898,55972:20901,55973:35744,55974:35750,55975:35751,55976:35754,55977:35764,55978:35765,55979:35767,55980:35778,55981:35779,55982:35787,55983:35791,55984:35790,55985:35794,55986:35795,55987:35796,55988:35798,55989:35800,55990:35801,55991:35804,55992:35807,55993:35808,55994:35812,55995:35816,55996:35817,55997:35822,55998:35824,55999:35827,56000:35830,56001:35833,56002:35836,56003:35839,56004:35840,56005:35842,56006:35844,56007:35847,56008:35852,56009:35855,56010:35857,56011:35858,56012:35860,56013:35861,56014:35862,56015:35865,56016:35867,56017:35864,56018:35869,56019:35871,56020:35872,56021:35873,56022:35877,56023:35879,56024:35882,56025:35883,56026:35886,56027:35887,56028:35890,56029:35891,56030:35893,56031:35894,56032:21353,56033:21370,56034:38429,56035:38434,56036:38433,56037:38449,56038:38442,56039:38461,56040:38460,56041:38466,56042:38473,56043:38484,56044:38495,56045:38503,56046:38508,56047:38514,56048:38516,56049:38536,56050:38541,56051:38551,56052:38576,56053:37015,56054:37019,56055:37021,56056:37017,56057:37036,56058:37025,56059:37044,56060:37043,56061:37046,56062:37050,56128:36309,56129:36312,56130:36313,56131:36316,56132:36320,56133:36321,56134:36322,56135:36325,56136:36326,56137:36327,56138:36329,56139:36333,56140:36334,56141:36336,56142:36337,56143:36338,56144:36340,56145:36342,56146:36348,56147:36350,56148:36351,56149:36352,56150:36353,56151:36354,56152:36355,56153:36356,56154:36358,56155:36359,56156:36360,56157:36363,56158:36365,56159:36366,56160:36368,56161:36369,56162:36370,56163:36371,56164:36373,56165:36374,56166:36375,56167:36376,56168:36377,56169:36378,56170:36379,56171:36380,56172:36384,56173:36385,56174:36388,56175:36389,56176:36390,56177:36391,56178:36392,56179:36395,56180:36397,56181:36400,56182:36402,56183:36403,56184:36404,56185:36406,56186:36407,56187:36408,56188:36411,56189:36412,56190:36414,56192:36415,56193:36419,56194:36421,56195:36422,56196:36428,56197:36429,56198:36430,56199:36431,56200:36432,56201:36435,56202:36436,56203:36437,56204:36438,56205:36439,56206:36440,56207:36442,56208:36443,56209:36444,56210:36445,56211:36446,56212:36447,56213:36448,56214:36449,56215:36450,56216:36451,56217:36452,56218:36453,56219:36455,56220:36456,56221:36458,56222:36459,56223:36462,56224:36465,56225:37048,56226:37040,56227:37071,56228:37061,56229:37054,56230:37072,56231:37060,56232:37063,56233:37075,56234:37094,56235:37090,56236:37084,56237:37079,56238:37083,56239:37099,56240:37103,56241:37118,56242:37124,56243:37154,56244:37150,56245:37155,56246:37169,56247:37167,56248:37177,56249:37187,56250:37190,56251:21005,56252:22850,56253:21154,56254:21164,56255:21165,56256:21182,56257:21759,56258:21200,56259:21206,56260:21232,56261:21471,56262:29166,56263:30669,56264:24308,56265:20981,56266:20988,56267:39727,56268:21430,56269:24321,56270:30042,56271:24047,56272:22348,56273:22441,56274:22433,56275:22654,56276:22716,56277:22725,56278:22737,56279:22313,56280:22316,56281:22314,56282:22323,56283:22329,56284:22318,56285:22319,56286:22364,56287:22331,56288:22338,56289:22377,56290:22405,56291:22379,56292:22406,56293:22396,56294:22395,56295:22376,56296:22381,56297:22390,56298:22387,56299:22445,56300:22436,56301:22412,56302:22450,56303:22479,56304:22439,56305:22452,56306:22419,56307:22432,56308:22485,56309:22488,56310:22490,56311:22489,56312:22482,56313:22456,56314:22516,56315:22511,56316:22520,56317:22500,56318:22493,56384:36467,56385:36469,56386:36471,56387:36472,56388:36473,56389:36474,56390:36475,56391:36477,56392:36478,56393:36480,56394:36482,56395:36483,56396:36484,56397:36486,56398:36488,56399:36489,56400:36490,56401:36491,56402:36492,56403:36493,56404:36494,56405:36497,56406:36498,56407:36499,56408:36501,56409:36502,56410:36503,56411:36504,56412:36505,56413:36506,56414:36507,56415:36509,56416:36511,56417:36512,56418:36513,56419:36514,56420:36515,56421:36516,56422:36517,56423:36518,56424:36519,56425:36520,56426:36521,56427:36522,56428:36525,56429:36526,56430:36528,56431:36529,56432:36531,56433:36532,56434:36533,56435:36534,56436:36535,56437:36536,56438:36537,56439:36539,56440:36540,56441:36541,56442:36542,56443:36543,56444:36544,56445:36545,56446:36546,56448:36547,56449:36548,56450:36549,56451:36550,56452:36551,56453:36552,56454:36553,56455:36554,56456:36555,56457:36556,56458:36557,56459:36559,56460:36560,56461:36561,56462:36562,56463:36563,56464:36564,56465:36565,56466:36566,56467:36567,56468:36568,56469:36569,56470:36570,56471:36571,56472:36572,56473:36573,56474:36574,56475:36575,56476:36576,56477:36577,56478:36578,56479:36579,56480:36580,56481:22539,56482:22541,56483:22525,56484:22509,56485:22528,56486:22558,56487:22553,56488:22596,56489:22560,56490:22629,56491:22636,56492:22657,56493:22665,56494:22682,56495:22656,56496:39336,56497:40729,56498:25087,56499:33401,56500:33405,56501:33407,56502:33423,56503:33418,56504:33448,56505:33412,56506:33422,56507:33425,56508:33431,56509:33433,56510:33451,56511:33464,56512:33470,56513:33456,56514:33480,56515:33482,56516:33507,56517:33432,56518:33463,56519:33454,56520:33483,56521:33484,56522:33473,56523:33449,56524:33460,56525:33441,56526:33450,56527:33439,56528:33476,56529:33486,56530:33444,56531:33505,56532:33545,56533:33527,56534:33508,56535:33551,56536:33543,56537:33500,56538:33524,56539:33490,56540:33496,56541:33548,56542:33531,56543:33491,56544:33553,56545:33562,56546:33542,56547:33556,56548:33557,56549:33504,56550:33493,56551:33564,56552:33617,56553:33627,56554:33628,56555:33544,56556:33682,56557:33596,56558:33588,56559:33585,56560:33691,56561:33630,56562:33583,56563:33615,56564:33607,56565:33603,56566:33631,56567:33600,56568:33559,56569:33632,56570:33581,56571:33594,56572:33587,56573:33638,56574:33637,56640:36581,56641:36582,56642:36583,56643:36584,56644:36585,56645:36586,56646:36587,56647:36588,56648:36589,56649:36590,56650:36591,56651:36592,56652:36593,56653:36594,56654:36595,56655:36596,56656:36597,56657:36598,56658:36599,56659:36600,56660:36601,56661:36602,56662:36603,56663:36604,56664:36605,56665:36606,56666:36607,56667:36608,56668:36609,56669:36610,56670:36611,56671:36612,56672:36613,56673:36614,56674:36615,56675:36616,56676:36617,56677:36618,56678:36619,56679:36620,56680:36621,56681:36622,56682:36623,56683:36624,56684:36625,56685:36626,56686:36627,56687:36628,56688:36629,56689:36630,56690:36631,56691:36632,56692:36633,56693:36634,56694:36635,56695:36636,56696:36637,56697:36638,56698:36639,56699:36640,56700:36641,56701:36642,56702:36643,56704:36644,56705:36645,56706:36646,56707:36647,56708:36648,56709:36649,56710:36650,56711:36651,56712:36652,56713:36653,56714:36654,56715:36655,56716:36656,56717:36657,56718:36658,56719:36659,56720:36660,56721:36661,56722:36662,56723:36663,56724:36664,56725:36665,56726:36666,56727:36667,56728:36668,56729:36669,56730:36670,56731:36671,56732:36672,56733:36673,56734:36674,56735:36675,56736:36676,56737:33640,56738:33563,56739:33641,56740:33644,56741:33642,56742:33645,56743:33646,56744:33712,56745:33656,56746:33715,56747:33716,56748:33696,56749:33706,56750:33683,56751:33692,56752:33669,56753:33660,56754:33718,56755:33705,56756:33661,56757:33720,56758:33659,56759:33688,56760:33694,56761:33704,56762:33722,56763:33724,56764:33729,56765:33793,56766:33765,56767:33752,56768:22535,56769:33816,56770:33803,56771:33757,56772:33789,56773:33750,56774:33820,56775:33848,56776:33809,56777:33798,56778:33748,56779:33759,56780:33807,56781:33795,56782:33784,56783:33785,56784:33770,56785:33733,56786:33728,56787:33830,56788:33776,56789:33761,56790:33884,56791:33873,56792:33882,56793:33881,56794:33907,56795:33927,56796:33928,56797:33914,56798:33929,56799:33912,56800:33852,56801:33862,56802:33897,56803:33910,56804:33932,56805:33934,56806:33841,56807:33901,56808:33985,56809:33997,56810:34000,56811:34022,56812:33981,56813:34003,56814:33994,56815:33983,56816:33978,56817:34016,56818:33953,56819:33977,56820:33972,56821:33943,56822:34021,56823:34019,56824:34060,56825:29965,56826:34104,56827:34032,56828:34105,56829:34079,56830:34106,56896:36677,56897:36678,56898:36679,56899:36680,56900:36681,56901:36682,56902:36683,56903:36684,56904:36685,56905:36686,56906:36687,56907:36688,56908:36689,56909:36690,56910:36691,56911:36692,56912:36693,56913:36694,56914:36695,56915:36696,56916:36697,56917:36698,56918:36699,56919:36700,56920:36701,56921:36702,56922:36703,56923:36704,56924:36705,56925:36706,56926:36707,56927:36708,56928:36709,56929:36714,56930:36736,56931:36748,56932:36754,56933:36765,56934:36768,56935:36769,56936:36770,56937:36772,56938:36773,56939:36774,56940:36775,56941:36778,56942:36780,56943:36781,56944:36782,56945:36783,56946:36786,56947:36787,56948:36788,56949:36789,56950:36791,56951:36792,56952:36794,56953:36795,56954:36796,56955:36799,56956:36800,56957:36803,56958:36806,56960:36809,56961:36810,56962:36811,56963:36812,56964:36813,56965:36815,56966:36818,56967:36822,56968:36823,56969:36826,56970:36832,56971:36833,56972:36835,56973:36839,56974:36844,56975:36847,56976:36849,56977:36850,56978:36852,56979:36853,56980:36854,56981:36858,56982:36859,56983:36860,56984:36862,56985:36863,56986:36871,56987:36872,56988:36876,56989:36878,56990:36883,56991:36885,56992:36888,56993:34134,56994:34107,56995:34047,56996:34044,56997:34137,56998:34120,56999:34152,57000:34148,57001:34142,57002:34170,57003:30626,57004:34115,57005:34162,57006:34171,57007:34212,57008:34216,57009:34183,57010:34191,57011:34169,57012:34222,57013:34204,57014:34181,57015:34233,57016:34231,57017:34224,57018:34259,57019:34241,57020:34268,57021:34303,57022:34343,57023:34309,57024:34345,57025:34326,57026:34364,57027:24318,57028:24328,57029:22844,57030:22849,57031:32823,57032:22869,57033:22874,57034:22872,57035:21263,57036:23586,57037:23589,57038:23596,57039:23604,57040:25164,57041:25194,57042:25247,57043:25275,57044:25290,57045:25306,57046:25303,57047:25326,57048:25378,57049:25334,57050:25401,57051:25419,57052:25411,57053:25517,57054:25590,57055:25457,57056:25466,57057:25486,57058:25524,57059:25453,57060:25516,57061:25482,57062:25449,57063:25518,57064:25532,57065:25586,57066:25592,57067:25568,57068:25599,57069:25540,57070:25566,57071:25550,57072:25682,57073:25542,57074:25534,57075:25669,57076:25665,57077:25611,57078:25627,57079:25632,57080:25612,57081:25638,57082:25633,57083:25694,57084:25732,57085:25709,57086:25750,57152:36889,57153:36892,57154:36899,57155:36900,57156:36901,57157:36903,57158:36904,57159:36905,57160:36906,57161:36907,57162:36908,57163:36912,57164:36913,57165:36914,57166:36915,57167:36916,57168:36919,57169:36921,57170:36922,57171:36925,57172:36927,57173:36928,57174:36931,57175:36933,57176:36934,57177:36936,57178:36937,57179:36938,57180:36939,57181:36940,57182:36942,57183:36948,57184:36949,57185:36950,57186:36953,57187:36954,57188:36956,57189:36957,57190:36958,57191:36959,57192:36960,57193:36961,57194:36964,57195:36966,57196:36967,57197:36969,57198:36970,57199:36971,57200:36972,57201:36975,57202:36976,57203:36977,57204:36978,57205:36979,57206:36982,57207:36983,57208:36984,57209:36985,57210:36986,57211:36987,57212:36988,57213:36990,57214:36993,57216:36996,57217:36997,57218:36998,57219:36999,57220:37001,57221:37002,57222:37004,57223:37005,57224:37006,57225:37007,57226:37008,57227:37010,57228:37012,57229:37014,57230:37016,57231:37018,57232:37020,57233:37022,57234:37023,57235:37024,57236:37028,57237:37029,57238:37031,57239:37032,57240:37033,57241:37035,57242:37037,57243:37042,57244:37047,57245:37052,57246:37053,57247:37055,57248:37056,57249:25722,57250:25783,57251:25784,57252:25753,57253:25786,57254:25792,57255:25808,57256:25815,57257:25828,57258:25826,57259:25865,57260:25893,57261:25902,57262:24331,57263:24530,57264:29977,57265:24337,57266:21343,57267:21489,57268:21501,57269:21481,57270:21480,57271:21499,57272:21522,57273:21526,57274:21510,57275:21579,57276:21586,57277:21587,57278:21588,57279:21590,57280:21571,57281:21537,57282:21591,57283:21593,57284:21539,57285:21554,57286:21634,57287:21652,57288:21623,57289:21617,57290:21604,57291:21658,57292:21659,57293:21636,57294:21622,57295:21606,57296:21661,57297:21712,57298:21677,57299:21698,57300:21684,57301:21714,57302:21671,57303:21670,57304:21715,57305:21716,57306:21618,57307:21667,57308:21717,57309:21691,57310:21695,57311:21708,57312:21721,57313:21722,57314:21724,57315:21673,57316:21674,57317:21668,57318:21725,57319:21711,57320:21726,57321:21787,57322:21735,57323:21792,57324:21757,57325:21780,57326:21747,57327:21794,57328:21795,57329:21775,57330:21777,57331:21799,57332:21802,57333:21863,57334:21903,57335:21941,57336:21833,57337:21869,57338:21825,57339:21845,57340:21823,57341:21840,57342:21820,57408:37058,57409:37059,57410:37062,57411:37064,57412:37065,57413:37067,57414:37068,57415:37069,57416:37074,57417:37076,57418:37077,57419:37078,57420:37080,57421:37081,57422:37082,57423:37086,57424:37087,57425:37088,57426:37091,57427:37092,57428:37093,57429:37097,57430:37098,57431:37100,57432:37102,57433:37104,57434:37105,57435:37106,57436:37107,57437:37109,57438:37110,57439:37111,57440:37113,57441:37114,57442:37115,57443:37116,57444:37119,57445:37120,57446:37121,57447:37123,57448:37125,57449:37126,57450:37127,57451:37128,57452:37129,57453:37130,57454:37131,57455:37132,57456:37133,57457:37134,57458:37135,57459:37136,57460:37137,57461:37138,57462:37139,57463:37140,57464:37141,57465:37142,57466:37143,57467:37144,57468:37146,57469:37147,57470:37148,57472:37149,57473:37151,57474:37152,57475:37153,57476:37156,57477:37157,57478:37158,57479:37159,57480:37160,57481:37161,57482:37162,57483:37163,57484:37164,57485:37165,57486:37166,57487:37168,57488:37170,57489:37171,57490:37172,57491:37173,57492:37174,57493:37175,57494:37176,57495:37178,57496:37179,57497:37180,57498:37181,57499:37182,57500:37183,57501:37184,57502:37185,57503:37186,57504:37188,57505:21815,57506:21846,57507:21877,57508:21878,57509:21879,57510:21811,57511:21808,57512:21852,57513:21899,57514:21970,57515:21891,57516:21937,57517:21945,57518:21896,57519:21889,57520:21919,57521:21886,57522:21974,57523:21905,57524:21883,57525:21983,57526:21949,57527:21950,57528:21908,57529:21913,57530:21994,57531:22007,57532:21961,57533:22047,57534:21969,57535:21995,57536:21996,57537:21972,57538:21990,57539:21981,57540:21956,57541:21999,57542:21989,57543:22002,57544:22003,57545:21964,57546:21965,57547:21992,57548:22005,57549:21988,57550:36756,57551:22046,57552:22024,57553:22028,57554:22017,57555:22052,57556:22051,57557:22014,57558:22016,57559:22055,57560:22061,57561:22104,57562:22073,57563:22103,57564:22060,57565:22093,57566:22114,57567:22105,57568:22108,57569:22092,57570:22100,57571:22150,57572:22116,57573:22129,57574:22123,57575:22139,57576:22140,57577:22149,57578:22163,57579:22191,57580:22228,57581:22231,57582:22237,57583:22241,57584:22261,57585:22251,57586:22265,57587:22271,57588:22276,57589:22282,57590:22281,57591:22300,57592:24079,57593:24089,57594:24084,57595:24081,57596:24113,57597:24123,57598:24124,57664:37189,57665:37191,57666:37192,57667:37201,57668:37203,57669:37204,57670:37205,57671:37206,57672:37208,57673:37209,57674:37211,57675:37212,57676:37215,57677:37216,57678:37222,57679:37223,57680:37224,57681:37227,57682:37229,57683:37235,57684:37242,57685:37243,57686:37244,57687:37248,57688:37249,57689:37250,57690:37251,57691:37252,57692:37254,57693:37256,57694:37258,57695:37262,57696:37263,57697:37267,57698:37268,57699:37269,57700:37270,57701:37271,57702:37272,57703:37273,57704:37276,57705:37277,57706:37278,57707:37279,57708:37280,57709:37281,57710:37284,57711:37285,57712:37286,57713:37287,57714:37288,57715:37289,57716:37291,57717:37292,57718:37296,57719:37297,57720:37298,57721:37299,57722:37302,57723:37303,57724:37304,57725:37305,57726:37307,57728:37308,57729:37309,57730:37310,57731:37311,57732:37312,57733:37313,57734:37314,57735:37315,57736:37316,57737:37317,57738:37318,57739:37320,57740:37323,57741:37328,57742:37330,57743:37331,57744:37332,57745:37333,57746:37334,57747:37335,57748:37336,57749:37337,57750:37338,57751:37339,57752:37341,57753:37342,57754:37343,57755:37344,57756:37345,57757:37346,57758:37347,57759:37348,57760:37349,57761:24119,57762:24132,57763:24148,57764:24155,57765:24158,57766:24161,57767:23692,57768:23674,57769:23693,57770:23696,57771:23702,57772:23688,57773:23704,57774:23705,57775:23697,57776:23706,57777:23708,57778:23733,57779:23714,57780:23741,57781:23724,57782:23723,57783:23729,57784:23715,57785:23745,57786:23735,57787:23748,57788:23762,57789:23780,57790:23755,57791:23781,57792:23810,57793:23811,57794:23847,57795:23846,57796:23854,57797:23844,57798:23838,57799:23814,57800:23835,57801:23896,57802:23870,57803:23860,57804:23869,57805:23916,57806:23899,57807:23919,57808:23901,57809:23915,57810:23883,57811:23882,57812:23913,57813:23924,57814:23938,57815:23961,57816:23965,57817:35955,57818:23991,57819:24005,57820:24435,57821:24439,57822:24450,57823:24455,57824:24457,57825:24460,57826:24469,57827:24473,57828:24476,57829:24488,57830:24493,57831:24501,57832:24508,57833:34914,57834:24417,57835:29357,57836:29360,57837:29364,57838:29367,57839:29368,57840:29379,57841:29377,57842:29390,57843:29389,57844:29394,57845:29416,57846:29423,57847:29417,57848:29426,57849:29428,57850:29431,57851:29441,57852:29427,57853:29443,57854:29434,57920:37350,57921:37351,57922:37352,57923:37353,57924:37354,57925:37355,57926:37356,57927:37357,57928:37358,57929:37359,57930:37360,57931:37361,57932:37362,57933:37363,57934:37364,57935:37365,57936:37366,57937:37367,57938:37368,57939:37369,57940:37370,57941:37371,57942:37372,57943:37373,57944:37374,57945:37375,57946:37376,57947:37377,57948:37378,57949:37379,57950:37380,57951:37381,57952:37382,57953:37383,57954:37384,57955:37385,57956:37386,57957:37387,57958:37388,57959:37389,57960:37390,57961:37391,57962:37392,57963:37393,57964:37394,57965:37395,57966:37396,57967:37397,57968:37398,57969:37399,57970:37400,57971:37401,57972:37402,57973:37403,57974:37404,57975:37405,57976:37406,57977:37407,57978:37408,57979:37409,57980:37410,57981:37411,57982:37412,57984:37413,57985:37414,57986:37415,57987:37416,57988:37417,57989:37418,57990:37419,57991:37420,57992:37421,57993:37422,57994:37423,57995:37424,57996:37425,57997:37426,57998:37427,57999:37428,58000:37429,58001:37430,58002:37431,58003:37432,58004:37433,58005:37434,58006:37435,58007:37436,58008:37437,58009:37438,58010:37439,58011:37440,58012:37441,58013:37442,58014:37443,58015:37444,58016:37445,58017:29435,58018:29463,58019:29459,58020:29473,58021:29450,58022:29470,58023:29469,58024:29461,58025:29474,58026:29497,58027:29477,58028:29484,58029:29496,58030:29489,58031:29520,58032:29517,58033:29527,58034:29536,58035:29548,58036:29551,58037:29566,58038:33307,58039:22821,58040:39143,58041:22820,58042:22786,58043:39267,58044:39271,58045:39272,58046:39273,58047:39274,58048:39275,58049:39276,58050:39284,58051:39287,58052:39293,58053:39296,58054:39300,58055:39303,58056:39306,58057:39309,58058:39312,58059:39313,58060:39315,58061:39316,58062:39317,58063:24192,58064:24209,58065:24203,58066:24214,58067:24229,58068:24224,58069:24249,58070:24245,58071:24254,58072:24243,58073:36179,58074:24274,58075:24273,58076:24283,58077:24296,58078:24298,58079:33210,58080:24516,58081:24521,58082:24534,58083:24527,58084:24579,58085:24558,58086:24580,58087:24545,58088:24548,58089:24574,58090:24581,58091:24582,58092:24554,58093:24557,58094:24568,58095:24601,58096:24629,58097:24614,58098:24603,58099:24591,58100:24589,58101:24617,58102:24619,58103:24586,58104:24639,58105:24609,58106:24696,58107:24697,58108:24699,58109:24698,58110:24642,58176:37446,58177:37447,58178:37448,58179:37449,58180:37450,58181:37451,58182:37452,58183:37453,58184:37454,58185:37455,58186:37456,58187:37457,58188:37458,58189:37459,58190:37460,58191:37461,58192:37462,58193:37463,58194:37464,58195:37465,58196:37466,58197:37467,58198:37468,58199:37469,58200:37470,58201:37471,58202:37472,58203:37473,58204:37474,58205:37475,58206:37476,58207:37477,58208:37478,58209:37479,58210:37480,58211:37481,58212:37482,58213:37483,58214:37484,58215:37485,58216:37486,58217:37487,58218:37488,58219:37489,58220:37490,58221:37491,58222:37493,58223:37494,58224:37495,58225:37496,58226:37497,58227:37498,58228:37499,58229:37500,58230:37501,58231:37502,58232:37503,58233:37504,58234:37505,58235:37506,58236:37507,58237:37508,58238:37509,58240:37510,58241:37511,58242:37512,58243:37513,58244:37514,58245:37515,58246:37516,58247:37517,58248:37519,58249:37520,58250:37521,58251:37522,58252:37523,58253:37524,58254:37525,58255:37526,58256:37527,58257:37528,58258:37529,58259:37530,58260:37531,58261:37532,58262:37533,58263:37534,58264:37535,58265:37536,58266:37537,58267:37538,58268:37539,58269:37540,58270:37541,58271:37542,58272:37543,58273:24682,58274:24701,58275:24726,58276:24730,58277:24749,58278:24733,58279:24707,58280:24722,58281:24716,58282:24731,58283:24812,58284:24763,58285:24753,58286:24797,58287:24792,58288:24774,58289:24794,58290:24756,58291:24864,58292:24870,58293:24853,58294:24867,58295:24820,58296:24832,58297:24846,58298:24875,58299:24906,58300:24949,58301:25004,58302:24980,58303:24999,58304:25015,58305:25044,58306:25077,58307:24541,58308:38579,58309:38377,58310:38379,58311:38385,58312:38387,58313:38389,58314:38390,58315:38396,58316:38398,58317:38403,58318:38404,58319:38406,58320:38408,58321:38410,58322:38411,58323:38412,58324:38413,58325:38415,58326:38418,58327:38421,58328:38422,58329:38423,58330:38425,58331:38426,58332:20012,58333:29247,58334:25109,58335:27701,58336:27732,58337:27740,58338:27722,58339:27811,58340:27781,58341:27792,58342:27796,58343:27788,58344:27752,58345:27753,58346:27764,58347:27766,58348:27782,58349:27817,58350:27856,58351:27860,58352:27821,58353:27895,58354:27896,58355:27889,58356:27863,58357:27826,58358:27872,58359:27862,58360:27898,58361:27883,58362:27886,58363:27825,58364:27859,58365:27887,58366:27902,58432:37544,58433:37545,58434:37546,58435:37547,58436:37548,58437:37549,58438:37551,58439:37552,58440:37553,58441:37554,58442:37555,58443:37556,58444:37557,58445:37558,58446:37559,58447:37560,58448:37561,58449:37562,58450:37563,58451:37564,58452:37565,58453:37566,58454:37567,58455:37568,58456:37569,58457:37570,58458:37571,58459:37572,58460:37573,58461:37574,58462:37575,58463:37577,58464:37578,58465:37579,58466:37580,58467:37581,58468:37582,58469:37583,58470:37584,58471:37585,58472:37586,58473:37587,58474:37588,58475:37589,58476:37590,58477:37591,58478:37592,58479:37593,58480:37594,58481:37595,58482:37596,58483:37597,58484:37598,58485:37599,58486:37600,58487:37601,58488:37602,58489:37603,58490:37604,58491:37605,58492:37606,58493:37607,58494:37608,58496:37609,58497:37610,58498:37611,58499:37612,58500:37613,58501:37614,58502:37615,58503:37616,58504:37617,58505:37618,58506:37619,58507:37620,58508:37621,58509:37622,58510:37623,58511:37624,58512:37625,58513:37626,58514:37627,58515:37628,58516:37629,58517:37630,58518:37631,58519:37632,58520:37633,58521:37634,58522:37635,58523:37636,58524:37637,58525:37638,58526:37639,58527:37640,58528:37641,58529:27961,58530:27943,58531:27916,58532:27971,58533:27976,58534:27911,58535:27908,58536:27929,58537:27918,58538:27947,58539:27981,58540:27950,58541:27957,58542:27930,58543:27983,58544:27986,58545:27988,58546:27955,58547:28049,58548:28015,58549:28062,58550:28064,58551:27998,58552:28051,58553:28052,58554:27996,58555:28000,58556:28028,58557:28003,58558:28186,58559:28103,58560:28101,58561:28126,58562:28174,58563:28095,58564:28128,58565:28177,58566:28134,58567:28125,58568:28121,58569:28182,58570:28075,58571:28172,58572:28078,58573:28203,58574:28270,58575:28238,58576:28267,58577:28338,58578:28255,58579:28294,58580:28243,58581:28244,58582:28210,58583:28197,58584:28228,58585:28383,58586:28337,58587:28312,58588:28384,58589:28461,58590:28386,58591:28325,58592:28327,58593:28349,58594:28347,58595:28343,58596:28375,58597:28340,58598:28367,58599:28303,58600:28354,58601:28319,58602:28514,58603:28486,58604:28487,58605:28452,58606:28437,58607:28409,58608:28463,58609:28470,58610:28491,58611:28532,58612:28458,58613:28425,58614:28457,58615:28553,58616:28557,58617:28556,58618:28536,58619:28530,58620:28540,58621:28538,58622:28625,58688:37642,58689:37643,58690:37644,58691:37645,58692:37646,58693:37647,58694:37648,58695:37649,58696:37650,58697:37651,58698:37652,58699:37653,58700:37654,58701:37655,58702:37656,58703:37657,58704:37658,58705:37659,58706:37660,58707:37661,58708:37662,58709:37663,58710:37664,58711:37665,58712:37666,58713:37667,58714:37668,58715:37669,58716:37670,58717:37671,58718:37672,58719:37673,58720:37674,58721:37675,58722:37676,58723:37677,58724:37678,58725:37679,58726:37680,58727:37681,58728:37682,58729:37683,58730:37684,58731:37685,58732:37686,58733:37687,58734:37688,58735:37689,58736:37690,58737:37691,58738:37692,58739:37693,58740:37695,58741:37696,58742:37697,58743:37698,58744:37699,58745:37700,58746:37701,58747:37702,58748:37703,58749:37704,58750:37705,58752:37706,58753:37707,58754:37708,58755:37709,58756:37710,58757:37711,58758:37712,58759:37713,58760:37714,58761:37715,58762:37716,58763:37717,58764:37718,58765:37719,58766:37720,58767:37721,58768:37722,58769:37723,58770:37724,58771:37725,58772:37726,58773:37727,58774:37728,58775:37729,58776:37730,58777:37731,58778:37732,58779:37733,58780:37734,58781:37735,58782:37736,58783:37737,58784:37739,58785:28617,58786:28583,58787:28601,58788:28598,58789:28610,58790:28641,58791:28654,58792:28638,58793:28640,58794:28655,58795:28698,58796:28707,58797:28699,58798:28729,58799:28725,58800:28751,58801:28766,58802:23424,58803:23428,58804:23445,58805:23443,58806:23461,58807:23480,58808:29999,58809:39582,58810:25652,58811:23524,58812:23534,58813:35120,58814:23536,58815:36423,58816:35591,58817:36790,58818:36819,58819:36821,58820:36837,58821:36846,58822:36836,58823:36841,58824:36838,58825:36851,58826:36840,58827:36869,58828:36868,58829:36875,58830:36902,58831:36881,58832:36877,58833:36886,58834:36897,58835:36917,58836:36918,58837:36909,58838:36911,58839:36932,58840:36945,58841:36946,58842:36944,58843:36968,58844:36952,58845:36962,58846:36955,58847:26297,58848:36980,58849:36989,58850:36994,58851:37000,58852:36995,58853:37003,58854:24400,58855:24407,58856:24406,58857:24408,58858:23611,58859:21675,58860:23632,58861:23641,58862:23409,58863:23651,58864:23654,58865:32700,58866:24362,58867:24361,58868:24365,58869:33396,58870:24380,58871:39739,58872:23662,58873:22913,58874:22915,58875:22925,58876:22953,58877:22954,58878:22947,58944:37740,58945:37741,58946:37742,58947:37743,58948:37744,58949:37745,58950:37746,58951:37747,58952:37748,58953:37749,58954:37750,58955:37751,58956:37752,58957:37753,58958:37754,58959:37755,58960:37756,58961:37757,58962:37758,58963:37759,58964:37760,58965:37761,58966:37762,58967:37763,58968:37764,58969:37765,58970:37766,58971:37767,58972:37768,58973:37769,58974:37770,58975:37771,58976:37772,58977:37773,58978:37774,58979:37776,58980:37777,58981:37778,58982:37779,58983:37780,58984:37781,58985:37782,58986:37783,58987:37784,58988:37785,58989:37786,58990:37787,58991:37788,58992:37789,58993:37790,58994:37791,58995:37792,58996:37793,58997:37794,58998:37795,58999:37796,59000:37797,59001:37798,59002:37799,59003:37800,59004:37801,59005:37802,59006:37803,59008:37804,59009:37805,59010:37806,59011:37807,59012:37808,59013:37809,59014:37810,59015:37811,59016:37812,59017:37813,59018:37814,59019:37815,59020:37816,59021:37817,59022:37818,59023:37819,59024:37820,59025:37821,59026:37822,59027:37823,59028:37824,59029:37825,59030:37826,59031:37827,59032:37828,59033:37829,59034:37830,59035:37831,59036:37832,59037:37833,59038:37835,59039:37836,59040:37837,59041:22935,59042:22986,59043:22955,59044:22942,59045:22948,59046:22994,59047:22962,59048:22959,59049:22999,59050:22974,59051:23045,59052:23046,59053:23005,59054:23048,59055:23011,59056:23000,59057:23033,59058:23052,59059:23049,59060:23090,59061:23092,59062:23057,59063:23075,59064:23059,59065:23104,59066:23143,59067:23114,59068:23125,59069:23100,59070:23138,59071:23157,59072:33004,59073:23210,59074:23195,59075:23159,59076:23162,59077:23230,59078:23275,59079:23218,59080:23250,59081:23252,59082:23224,59083:23264,59084:23267,59085:23281,59086:23254,59087:23270,59088:23256,59089:23260,59090:23305,59091:23319,59092:23318,59093:23346,59094:23351,59095:23360,59096:23573,59097:23580,59098:23386,59099:23397,59100:23411,59101:23377,59102:23379,59103:23394,59104:39541,59105:39543,59106:39544,59107:39546,59108:39551,59109:39549,59110:39552,59111:39553,59112:39557,59113:39560,59114:39562,59115:39568,59116:39570,59117:39571,59118:39574,59119:39576,59120:39579,59121:39580,59122:39581,59123:39583,59124:39584,59125:39586,59126:39587,59127:39589,59128:39591,59129:32415,59130:32417,59131:32419,59132:32421,59133:32424,59134:32425,59200:37838,59201:37839,59202:37840,59203:37841,59204:37842,59205:37843,59206:37844,59207:37845,59208:37847,59209:37848,59210:37849,59211:37850,59212:37851,59213:37852,59214:37853,59215:37854,59216:37855,59217:37856,59218:37857,59219:37858,59220:37859,59221:37860,59222:37861,59223:37862,59224:37863,59225:37864,59226:37865,59227:37866,59228:37867,59229:37868,59230:37869,59231:37870,59232:37871,59233:37872,59234:37873,59235:37874,59236:37875,59237:37876,59238:37877,59239:37878,59240:37879,59241:37880,59242:37881,59243:37882,59244:37883,59245:37884,59246:37885,59247:37886,59248:37887,59249:37888,59250:37889,59251:37890,59252:37891,59253:37892,59254:37893,59255:37894,59256:37895,59257:37896,59258:37897,59259:37898,59260:37899,59261:37900,59262:37901,59264:37902,59265:37903,59266:37904,59267:37905,59268:37906,59269:37907,59270:37908,59271:37909,59272:37910,59273:37911,59274:37912,59275:37913,59276:37914,59277:37915,59278:37916,59279:37917,59280:37918,59281:37919,59282:37920,59283:37921,59284:37922,59285:37923,59286:37924,59287:37925,59288:37926,59289:37927,59290:37928,59291:37929,59292:37930,59293:37931,59294:37932,59295:37933,59296:37934,59297:32429,59298:32432,59299:32446,59300:32448,59301:32449,59302:32450,59303:32457,59304:32459,59305:32460,59306:32464,59307:32468,59308:32471,59309:32475,59310:32480,59311:32481,59312:32488,59313:32491,59314:32494,59315:32495,59316:32497,59317:32498,59318:32525,59319:32502,59320:32506,59321:32507,59322:32510,59323:32513,59324:32514,59325:32515,59326:32519,59327:32520,59328:32523,59329:32524,59330:32527,59331:32529,59332:32530,59333:32535,59334:32537,59335:32540,59336:32539,59337:32543,59338:32545,59339:32546,59340:32547,59341:32548,59342:32549,59343:32550,59344:32551,59345:32554,59346:32555,59347:32556,59348:32557,59349:32559,59350:32560,59351:32561,59352:32562,59353:32563,59354:32565,59355:24186,59356:30079,59357:24027,59358:30014,59359:37013,59360:29582,59361:29585,59362:29614,59363:29602,59364:29599,59365:29647,59366:29634,59367:29649,59368:29623,59369:29619,59370:29632,59371:29641,59372:29640,59373:29669,59374:29657,59375:39036,59376:29706,59377:29673,59378:29671,59379:29662,59380:29626,59381:29682,59382:29711,59383:29738,59384:29787,59385:29734,59386:29733,59387:29736,59388:29744,59389:29742,59390:29740,59456:37935,59457:37936,59458:37937,59459:37938,59460:37939,59461:37940,59462:37941,59463:37942,59464:37943,59465:37944,59466:37945,59467:37946,59468:37947,59469:37948,59470:37949,59471:37951,59472:37952,59473:37953,59474:37954,59475:37955,59476:37956,59477:37957,59478:37958,59479:37959,59480:37960,59481:37961,59482:37962,59483:37963,59484:37964,59485:37965,59486:37966,59487:37967,59488:37968,59489:37969,59490:37970,59491:37971,59492:37972,59493:37973,59494:37974,59495:37975,59496:37976,59497:37977,59498:37978,59499:37979,59500:37980,59501:37981,59502:37982,59503:37983,59504:37984,59505:37985,59506:37986,59507:37987,59508:37988,59509:37989,59510:37990,59511:37991,59512:37992,59513:37993,59514:37994,59515:37996,59516:37997,59517:37998,59518:37999,59520:38000,59521:38001,59522:38002,59523:38003,59524:38004,59525:38005,59526:38006,59527:38007,59528:38008,59529:38009,59530:38010,59531:38011,59532:38012,59533:38013,59534:38014,59535:38015,59536:38016,59537:38017,59538:38018,59539:38019,59540:38020,59541:38033,59542:38038,59543:38040,59544:38087,59545:38095,59546:38099,59547:38100,59548:38106,59549:38118,59550:38139,59551:38172,59552:38176,59553:29723,59554:29722,59555:29761,59556:29788,59557:29783,59558:29781,59559:29785,59560:29815,59561:29805,59562:29822,59563:29852,59564:29838,59565:29824,59566:29825,59567:29831,59568:29835,59569:29854,59570:29864,59571:29865,59572:29840,59573:29863,59574:29906,59575:29882,59576:38890,59577:38891,59578:38892,59579:26444,59580:26451,59581:26462,59582:26440,59583:26473,59584:26533,59585:26503,59586:26474,59587:26483,59588:26520,59589:26535,59590:26485,59591:26536,59592:26526,59593:26541,59594:26507,59595:26487,59596:26492,59597:26608,59598:26633,59599:26584,59600:26634,59601:26601,59602:26544,59603:26636,59604:26585,59605:26549,59606:26586,59607:26547,59608:26589,59609:26624,59610:26563,59611:26552,59612:26594,59613:26638,59614:26561,59615:26621,59616:26674,59617:26675,59618:26720,59619:26721,59620:26702,59621:26722,59622:26692,59623:26724,59624:26755,59625:26653,59626:26709,59627:26726,59628:26689,59629:26727,59630:26688,59631:26686,59632:26698,59633:26697,59634:26665,59635:26805,59636:26767,59637:26740,59638:26743,59639:26771,59640:26731,59641:26818,59642:26990,59643:26876,59644:26911,59645:26912,59646:26873,59712:38183,59713:38195,59714:38205,59715:38211,59716:38216,59717:38219,59718:38229,59719:38234,59720:38240,59721:38254,59722:38260,59723:38261,59724:38263,59725:38264,59726:38265,59727:38266,59728:38267,59729:38268,59730:38269,59731:38270,59732:38272,59733:38273,59734:38274,59735:38275,59736:38276,59737:38277,59738:38278,59739:38279,59740:38280,59741:38281,59742:38282,59743:38283,59744:38284,59745:38285,59746:38286,59747:38287,59748:38288,59749:38289,59750:38290,59751:38291,59752:38292,59753:38293,59754:38294,59755:38295,59756:38296,59757:38297,59758:38298,59759:38299,59760:38300,59761:38301,59762:38302,59763:38303,59764:38304,59765:38305,59766:38306,59767:38307,59768:38308,59769:38309,59770:38310,59771:38311,59772:38312,59773:38313,59774:38314,59776:38315,59777:38316,59778:38317,59779:38318,59780:38319,59781:38320,59782:38321,59783:38322,59784:38323,59785:38324,59786:38325,59787:38326,59788:38327,59789:38328,59790:38329,59791:38330,59792:38331,59793:38332,59794:38333,59795:38334,59796:38335,59797:38336,59798:38337,59799:38338,59800:38339,59801:38340,59802:38341,59803:38342,59804:38343,59805:38344,59806:38345,59807:38346,59808:38347,59809:26916,59810:26864,59811:26891,59812:26881,59813:26967,59814:26851,59815:26896,59816:26993,59817:26937,59818:26976,59819:26946,59820:26973,59821:27012,59822:26987,59823:27008,59824:27032,59825:27000,59826:26932,59827:27084,59828:27015,59829:27016,59830:27086,59831:27017,59832:26982,59833:26979,59834:27001,59835:27035,59836:27047,59837:27067,59838:27051,59839:27053,59840:27092,59841:27057,59842:27073,59843:27082,59844:27103,59845:27029,59846:27104,59847:27021,59848:27135,59849:27183,59850:27117,59851:27159,59852:27160,59853:27237,59854:27122,59855:27204,59856:27198,59857:27296,59858:27216,59859:27227,59860:27189,59861:27278,59862:27257,59863:27197,59864:27176,59865:27224,59866:27260,59867:27281,59868:27280,59869:27305,59870:27287,59871:27307,59872:29495,59873:29522,59874:27521,59875:27522,59876:27527,59877:27524,59878:27538,59879:27539,59880:27533,59881:27546,59882:27547,59883:27553,59884:27562,59885:36715,59886:36717,59887:36721,59888:36722,59889:36723,59890:36725,59891:36726,59892:36728,59893:36727,59894:36729,59895:36730,59896:36732,59897:36734,59898:36737,59899:36738,59900:36740,59901:36743,59902:36747,59968:38348,59969:38349,59970:38350,59971:38351,59972:38352,59973:38353,59974:38354,59975:38355,59976:38356,59977:38357,59978:38358,59979:38359,59980:38360,59981:38361,59982:38362,59983:38363,59984:38364,59985:38365,59986:38366,59987:38367,59988:38368,59989:38369,59990:38370,59991:38371,59992:38372,59993:38373,59994:38374,59995:38375,59996:38380,59997:38399,59998:38407,59999:38419,60000:38424,60001:38427,60002:38430,60003:38432,60004:38435,60005:38436,60006:38437,60007:38438,60008:38439,60009:38440,60010:38441,60011:38443,60012:38444,60013:38445,60014:38447,60015:38448,60016:38455,60017:38456,60018:38457,60019:38458,60020:38462,60021:38465,60022:38467,60023:38474,60024:38478,60025:38479,60026:38481,60027:38482,60028:38483,60029:38486,60030:38487,60032:38488,60033:38489,60034:38490,60035:38492,60036:38493,60037:38494,60038:38496,60039:38499,60040:38501,60041:38502,60042:38507,60043:38509,60044:38510,60045:38511,60046:38512,60047:38513,60048:38515,60049:38520,60050:38521,60051:38522,60052:38523,60053:38524,60054:38525,60055:38526,60056:38527,60057:38528,60058:38529,60059:38530,60060:38531,60061:38532,60062:38535,60063:38537,60064:38538,60065:36749,60066:36750,60067:36751,60068:36760,60069:36762,60070:36558,60071:25099,60072:25111,60073:25115,60074:25119,60075:25122,60076:25121,60077:25125,60078:25124,60079:25132,60080:33255,60081:29935,60082:29940,60083:29951,60084:29967,60085:29969,60086:29971,60087:25908,60088:26094,60089:26095,60090:26096,60091:26122,60092:26137,60093:26482,60094:26115,60095:26133,60096:26112,60097:28805,60098:26359,60099:26141,60100:26164,60101:26161,60102:26166,60103:26165,60104:32774,60105:26207,60106:26196,60107:26177,60108:26191,60109:26198,60110:26209,60111:26199,60112:26231,60113:26244,60114:26252,60115:26279,60116:26269,60117:26302,60118:26331,60119:26332,60120:26342,60121:26345,60122:36146,60123:36147,60124:36150,60125:36155,60126:36157,60127:36160,60128:36165,60129:36166,60130:36168,60131:36169,60132:36167,60133:36173,60134:36181,60135:36185,60136:35271,60137:35274,60138:35275,60139:35276,60140:35278,60141:35279,60142:35280,60143:35281,60144:29294,60145:29343,60146:29277,60147:29286,60148:29295,60149:29310,60150:29311,60151:29316,60152:29323,60153:29325,60154:29327,60155:29330,60156:25352,60157:25394,60158:25520,60224:38540,60225:38542,60226:38545,60227:38546,60228:38547,60229:38549,60230:38550,60231:38554,60232:38555,60233:38557,60234:38558,60235:38559,60236:38560,60237:38561,60238:38562,60239:38563,60240:38564,60241:38565,60242:38566,60243:38568,60244:38569,60245:38570,60246:38571,60247:38572,60248:38573,60249:38574,60250:38575,60251:38577,60252:38578,60253:38580,60254:38581,60255:38583,60256:38584,60257:38586,60258:38587,60259:38591,60260:38594,60261:38595,60262:38600,60263:38602,60264:38603,60265:38608,60266:38609,60267:38611,60268:38612,60269:38614,60270:38615,60271:38616,60272:38617,60273:38618,60274:38619,60275:38620,60276:38621,60277:38622,60278:38623,60279:38625,60280:38626,60281:38627,60282:38628,60283:38629,60284:38630,60285:38631,60286:38635,60288:38636,60289:38637,60290:38638,60291:38640,60292:38641,60293:38642,60294:38644,60295:38645,60296:38648,60297:38650,60298:38651,60299:38652,60300:38653,60301:38655,60302:38658,60303:38659,60304:38661,60305:38666,60306:38667,60307:38668,60308:38672,60309:38673,60310:38674,60311:38676,60312:38677,60313:38679,60314:38680,60315:38681,60316:38682,60317:38683,60318:38685,60319:38687,60320:38688,60321:25663,60322:25816,60323:32772,60324:27626,60325:27635,60326:27645,60327:27637,60328:27641,60329:27653,60330:27655,60331:27654,60332:27661,60333:27669,60334:27672,60335:27673,60336:27674,60337:27681,60338:27689,60339:27684,60340:27690,60341:27698,60342:25909,60343:25941,60344:25963,60345:29261,60346:29266,60347:29270,60348:29232,60349:34402,60350:21014,60351:32927,60352:32924,60353:32915,60354:32956,60355:26378,60356:32957,60357:32945,60358:32939,60359:32941,60360:32948,60361:32951,60362:32999,60363:33000,60364:33001,60365:33002,60366:32987,60367:32962,60368:32964,60369:32985,60370:32973,60371:32983,60372:26384,60373:32989,60374:33003,60375:33009,60376:33012,60377:33005,60378:33037,60379:33038,60380:33010,60381:33020,60382:26389,60383:33042,60384:35930,60385:33078,60386:33054,60387:33068,60388:33048,60389:33074,60390:33096,60391:33100,60392:33107,60393:33140,60394:33113,60395:33114,60396:33137,60397:33120,60398:33129,60399:33148,60400:33149,60401:33133,60402:33127,60403:22605,60404:23221,60405:33160,60406:33154,60407:33169,60408:28373,60409:33187,60410:33194,60411:33228,60412:26406,60413:33226,60414:33211,60480:38689,60481:38690,60482:38691,60483:38692,60484:38693,60485:38694,60486:38695,60487:38696,60488:38697,60489:38699,60490:38700,60491:38702,60492:38703,60493:38705,60494:38707,60495:38708,60496:38709,60497:38710,60498:38711,60499:38714,60500:38715,60501:38716,60502:38717,60503:38719,60504:38720,60505:38721,60506:38722,60507:38723,60508:38724,60509:38725,60510:38726,60511:38727,60512:38728,60513:38729,60514:38730,60515:38731,60516:38732,60517:38733,60518:38734,60519:38735,60520:38736,60521:38737,60522:38740,60523:38741,60524:38743,60525:38744,60526:38746,60527:38748,60528:38749,60529:38751,60530:38755,60531:38756,60532:38758,60533:38759,60534:38760,60535:38762,60536:38763,60537:38764,60538:38765,60539:38766,60540:38767,60541:38768,60542:38769,60544:38770,60545:38773,60546:38775,60547:38776,60548:38777,60549:38778,60550:38779,60551:38781,60552:38782,60553:38783,60554:38784,60555:38785,60556:38786,60557:38787,60558:38788,60559:38790,60560:38791,60561:38792,60562:38793,60563:38794,60564:38796,60565:38798,60566:38799,60567:38800,60568:38803,60569:38805,60570:38806,60571:38807,60572:38809,60573:38810,60574:38811,60575:38812,60576:38813,60577:33217,60578:33190,60579:27428,60580:27447,60581:27449,60582:27459,60583:27462,60584:27481,60585:39121,60586:39122,60587:39123,60588:39125,60589:39129,60590:39130,60591:27571,60592:24384,60593:27586,60594:35315,60595:26000,60596:40785,60597:26003,60598:26044,60599:26054,60600:26052,60601:26051,60602:26060,60603:26062,60604:26066,60605:26070,60606:28800,60607:28828,60608:28822,60609:28829,60610:28859,60611:28864,60612:28855,60613:28843,60614:28849,60615:28904,60616:28874,60617:28944,60618:28947,60619:28950,60620:28975,60621:28977,60622:29043,60623:29020,60624:29032,60625:28997,60626:29042,60627:29002,60628:29048,60629:29050,60630:29080,60631:29107,60632:29109,60633:29096,60634:29088,60635:29152,60636:29140,60637:29159,60638:29177,60639:29213,60640:29224,60641:28780,60642:28952,60643:29030,60644:29113,60645:25150,60646:25149,60647:25155,60648:25160,60649:25161,60650:31035,60651:31040,60652:31046,60653:31049,60654:31067,60655:31068,60656:31059,60657:31066,60658:31074,60659:31063,60660:31072,60661:31087,60662:31079,60663:31098,60664:31109,60665:31114,60666:31130,60667:31143,60668:31155,60669:24529,60670:24528,60736:38814,60737:38815,60738:38817,60739:38818,60740:38820,60741:38821,60742:38822,60743:38823,60744:38824,60745:38825,60746:38826,60747:38828,60748:38830,60749:38832,60750:38833,60751:38835,60752:38837,60753:38838,60754:38839,60755:38840,60756:38841,60757:38842,60758:38843,60759:38844,60760:38845,60761:38846,60762:38847,60763:38848,60764:38849,60765:38850,60766:38851,60767:38852,60768:38853,60769:38854,60770:38855,60771:38856,60772:38857,60773:38858,60774:38859,60775:38860,60776:38861,60777:38862,60778:38863,60779:38864,60780:38865,60781:38866,60782:38867,60783:38868,60784:38869,60785:38870,60786:38871,60787:38872,60788:38873,60789:38874,60790:38875,60791:38876,60792:38877,60793:38878,60794:38879,60795:38880,60796:38881,60797:38882,60798:38883,60800:38884,60801:38885,60802:38888,60803:38894,60804:38895,60805:38896,60806:38897,60807:38898,60808:38900,60809:38903,60810:38904,60811:38905,60812:38906,60813:38907,60814:38908,60815:38909,60816:38910,60817:38911,60818:38912,60819:38913,60820:38914,60821:38915,60822:38916,60823:38917,60824:38918,60825:38919,60826:38920,60827:38921,60828:38922,60829:38923,60830:38924,60831:38925,60832:38926,60833:24636,60834:24669,60835:24666,60836:24679,60837:24641,60838:24665,60839:24675,60840:24747,60841:24838,60842:24845,60843:24925,60844:25001,60845:24989,60846:25035,60847:25041,60848:25094,60849:32896,60850:32895,60851:27795,60852:27894,60853:28156,60854:30710,60855:30712,60856:30720,60857:30729,60858:30743,60859:30744,60860:30737,60861:26027,60862:30765,60863:30748,60864:30749,60865:30777,60866:30778,60867:30779,60868:30751,60869:30780,60870:30757,60871:30764,60872:30755,60873:30761,60874:30798,60875:30829,60876:30806,60877:30807,60878:30758,60879:30800,60880:30791,60881:30796,60882:30826,60883:30875,60884:30867,60885:30874,60886:30855,60887:30876,60888:30881,60889:30883,60890:30898,60891:30905,60892:30885,60893:30932,60894:30937,60895:30921,60896:30956,60897:30962,60898:30981,60899:30964,60900:30995,60901:31012,60902:31006,60903:31028,60904:40859,60905:40697,60906:40699,60907:40700,60908:30449,60909:30468,60910:30477,60911:30457,60912:30471,60913:30472,60914:30490,60915:30498,60916:30489,60917:30509,60918:30502,60919:30517,60920:30520,60921:30544,60922:30545,60923:30535,60924:30531,60925:30554,60926:30568,60992:38927,60993:38928,60994:38929,60995:38930,60996:38931,60997:38932,60998:38933,60999:38934,61000:38935,61001:38936,61002:38937,61003:38938,61004:38939,61005:38940,61006:38941,61007:38942,61008:38943,61009:38944,61010:38945,61011:38946,61012:38947,61013:38948,61014:38949,61015:38950,61016:38951,61017:38952,61018:38953,61019:38954,61020:38955,61021:38956,61022:38957,61023:38958,61024:38959,61025:38960,61026:38961,61027:38962,61028:38963,61029:38964,61030:38965,61031:38966,61032:38967,61033:38968,61034:38969,61035:38970,61036:38971,61037:38972,61038:38973,61039:38974,61040:38975,61041:38976,61042:38977,61043:38978,61044:38979,61045:38980,61046:38981,61047:38982,61048:38983,61049:38984,61050:38985,61051:38986,61052:38987,61053:38988,61054:38989,61056:38990,61057:38991,61058:38992,61059:38993,61060:38994,61061:38995,61062:38996,61063:38997,61064:38998,61065:38999,61066:39000,61067:39001,61068:39002,61069:39003,61070:39004,61071:39005,61072:39006,61073:39007,61074:39008,61075:39009,61076:39010,61077:39011,61078:39012,61079:39013,61080:39014,61081:39015,61082:39016,61083:39017,61084:39018,61085:39019,61086:39020,61087:39021,61088:39022,61089:30562,61090:30565,61091:30591,61092:30605,61093:30589,61094:30592,61095:30604,61096:30609,61097:30623,61098:30624,61099:30640,61100:30645,61101:30653,61102:30010,61103:30016,61104:30030,61105:30027,61106:30024,61107:30043,61108:30066,61109:30073,61110:30083,61111:32600,61112:32609,61113:32607,61114:35400,61115:32616,61116:32628,61117:32625,61118:32633,61119:32641,61120:32638,61121:30413,61122:30437,61123:34866,61124:38021,61125:38022,61126:38023,61127:38027,61128:38026,61129:38028,61130:38029,61131:38031,61132:38032,61133:38036,61134:38039,61135:38037,61136:38042,61137:38043,61138:38044,61139:38051,61140:38052,61141:38059,61142:38058,61143:38061,61144:38060,61145:38063,61146:38064,61147:38066,61148:38068,61149:38070,61150:38071,61151:38072,61152:38073,61153:38074,61154:38076,61155:38077,61156:38079,61157:38084,61158:38088,61159:38089,61160:38090,61161:38091,61162:38092,61163:38093,61164:38094,61165:38096,61166:38097,61167:38098,61168:38101,61169:38102,61170:38103,61171:38105,61172:38104,61173:38107,61174:38110,61175:38111,61176:38112,61177:38114,61178:38116,61179:38117,61180:38119,61181:38120,61182:38122,61248:39023,61249:39024,61250:39025,61251:39026,61252:39027,61253:39028,61254:39051,61255:39054,61256:39058,61257:39061,61258:39065,61259:39075,61260:39080,61261:39081,61262:39082,61263:39083,61264:39084,61265:39085,61266:39086,61267:39087,61268:39088,61269:39089,61270:39090,61271:39091,61272:39092,61273:39093,61274:39094,61275:39095,61276:39096,61277:39097,61278:39098,61279:39099,61280:39100,61281:39101,61282:39102,61283:39103,61284:39104,61285:39105,61286:39106,61287:39107,61288:39108,61289:39109,61290:39110,61291:39111,61292:39112,61293:39113,61294:39114,61295:39115,61296:39116,61297:39117,61298:39119,61299:39120,61300:39124,61301:39126,61302:39127,61303:39131,61304:39132,61305:39133,61306:39136,61307:39137,61308:39138,61309:39139,61310:39140,61312:39141,61313:39142,61314:39145,61315:39146,61316:39147,61317:39148,61318:39149,61319:39150,61320:39151,61321:39152,61322:39153,61323:39154,61324:39155,61325:39156,61326:39157,61327:39158,61328:39159,61329:39160,61330:39161,61331:39162,61332:39163,61333:39164,61334:39165,61335:39166,61336:39167,61337:39168,61338:39169,61339:39170,61340:39171,61341:39172,61342:39173,61343:39174,61344:39175,61345:38121,61346:38123,61347:38126,61348:38127,61349:38131,61350:38132,61351:38133,61352:38135,61353:38137,61354:38140,61355:38141,61356:38143,61357:38147,61358:38146,61359:38150,61360:38151,61361:38153,61362:38154,61363:38157,61364:38158,61365:38159,61366:38162,61367:38163,61368:38164,61369:38165,61370:38166,61371:38168,61372:38171,61373:38173,61374:38174,61375:38175,61376:38178,61377:38186,61378:38187,61379:38185,61380:38188,61381:38193,61382:38194,61383:38196,61384:38198,61385:38199,61386:38200,61387:38204,61388:38206,61389:38207,61390:38210,61391:38197,61392:38212,61393:38213,61394:38214,61395:38217,61396:38220,61397:38222,61398:38223,61399:38226,61400:38227,61401:38228,61402:38230,61403:38231,61404:38232,61405:38233,61406:38235,61407:38238,61408:38239,61409:38237,61410:38241,61411:38242,61412:38244,61413:38245,61414:38246,61415:38247,61416:38248,61417:38249,61418:38250,61419:38251,61420:38252,61421:38255,61422:38257,61423:38258,61424:38259,61425:38202,61426:30695,61427:30700,61428:38601,61429:31189,61430:31213,61431:31203,61432:31211,61433:31238,61434:23879,61435:31235,61436:31234,61437:31262,61438:31252,61504:39176,61505:39177,61506:39178,61507:39179,61508:39180,61509:39182,61510:39183,61511:39185,61512:39186,61513:39187,61514:39188,61515:39189,61516:39190,61517:39191,61518:39192,61519:39193,61520:39194,61521:39195,61522:39196,61523:39197,61524:39198,61525:39199,61526:39200,61527:39201,61528:39202,61529:39203,61530:39204,61531:39205,61532:39206,61533:39207,61534:39208,61535:39209,61536:39210,61537:39211,61538:39212,61539:39213,61540:39215,61541:39216,61542:39217,61543:39218,61544:39219,61545:39220,61546:39221,61547:39222,61548:39223,61549:39224,61550:39225,61551:39226,61552:39227,61553:39228,61554:39229,61555:39230,61556:39231,61557:39232,61558:39233,61559:39234,61560:39235,61561:39236,61562:39237,61563:39238,61564:39239,61565:39240,61566:39241,61568:39242,61569:39243,61570:39244,61571:39245,61572:39246,61573:39247,61574:39248,61575:39249,61576:39250,61577:39251,61578:39254,61579:39255,61580:39256,61581:39257,61582:39258,61583:39259,61584:39260,61585:39261,61586:39262,61587:39263,61588:39264,61589:39265,61590:39266,61591:39268,61592:39270,61593:39283,61594:39288,61595:39289,61596:39291,61597:39294,61598:39298,61599:39299,61600:39305,61601:31289,61602:31287,61603:31313,61604:40655,61605:39333,61606:31344,61607:30344,61608:30350,61609:30355,61610:30361,61611:30372,61612:29918,61613:29920,61614:29996,61615:40480,61616:40482,61617:40488,61618:40489,61619:40490,61620:40491,61621:40492,61622:40498,61623:40497,61624:40502,61625:40504,61626:40503,61627:40505,61628:40506,61629:40510,61630:40513,61631:40514,61632:40516,61633:40518,61634:40519,61635:40520,61636:40521,61637:40523,61638:40524,61639:40526,61640:40529,61641:40533,61642:40535,61643:40538,61644:40539,61645:40540,61646:40542,61647:40547,61648:40550,61649:40551,61650:40552,61651:40553,61652:40554,61653:40555,61654:40556,61655:40561,61656:40557,61657:40563,61658:30098,61659:30100,61660:30102,61661:30112,61662:30109,61663:30124,61664:30115,61665:30131,61666:30132,61667:30136,61668:30148,61669:30129,61670:30128,61671:30147,61672:30146,61673:30166,61674:30157,61675:30179,61676:30184,61677:30182,61678:30180,61679:30187,61680:30183,61681:30211,61682:30193,61683:30204,61684:30207,61685:30224,61686:30208,61687:30213,61688:30220,61689:30231,61690:30218,61691:30245,61692:30232,61693:30229,61694:30233,61760:39308,61761:39310,61762:39322,61763:39323,61764:39324,61765:39325,61766:39326,61767:39327,61768:39328,61769:39329,61770:39330,61771:39331,61772:39332,61773:39334,61774:39335,61775:39337,61776:39338,61777:39339,61778:39340,61779:39341,61780:39342,61781:39343,61782:39344,61783:39345,61784:39346,61785:39347,61786:39348,61787:39349,61788:39350,61789:39351,61790:39352,61791:39353,61792:39354,61793:39355,61794:39356,61795:39357,61796:39358,61797:39359,61798:39360,61799:39361,61800:39362,61801:39363,61802:39364,61803:39365,61804:39366,61805:39367,61806:39368,61807:39369,61808:39370,61809:39371,61810:39372,61811:39373,61812:39374,61813:39375,61814:39376,61815:39377,61816:39378,61817:39379,61818:39380,61819:39381,61820:39382,61821:39383,61822:39384,61824:39385,61825:39386,61826:39387,61827:39388,61828:39389,61829:39390,61830:39391,61831:39392,61832:39393,61833:39394,61834:39395,61835:39396,61836:39397,61837:39398,61838:39399,61839:39400,61840:39401,61841:39402,61842:39403,61843:39404,61844:39405,61845:39406,61846:39407,61847:39408,61848:39409,61849:39410,61850:39411,61851:39412,61852:39413,61853:39414,61854:39415,61855:39416,61856:39417,61857:30235,61858:30268,61859:30242,61860:30240,61861:30272,61862:30253,61863:30256,61864:30271,61865:30261,61866:30275,61867:30270,61868:30259,61869:30285,61870:30302,61871:30292,61872:30300,61873:30294,61874:30315,61875:30319,61876:32714,61877:31462,61878:31352,61879:31353,61880:31360,61881:31366,61882:31368,61883:31381,61884:31398,61885:31392,61886:31404,61887:31400,61888:31405,61889:31411,61890:34916,61891:34921,61892:34930,61893:34941,61894:34943,61895:34946,61896:34978,61897:35014,61898:34999,61899:35004,61900:35017,61901:35042,61902:35022,61903:35043,61904:35045,61905:35057,61906:35098,61907:35068,61908:35048,61909:35070,61910:35056,61911:35105,61912:35097,61913:35091,61914:35099,61915:35082,61916:35124,61917:35115,61918:35126,61919:35137,61920:35174,61921:35195,61922:30091,61923:32997,61924:30386,61925:30388,61926:30684,61927:32786,61928:32788,61929:32790,61930:32796,61931:32800,61932:32802,61933:32805,61934:32806,61935:32807,61936:32809,61937:32808,61938:32817,61939:32779,61940:32821,61941:32835,61942:32838,61943:32845,61944:32850,61945:32873,61946:32881,61947:35203,61948:39032,61949:39040,61950:39043,62016:39418,62017:39419,62018:39420,62019:39421,62020:39422,62021:39423,62022:39424,62023:39425,62024:39426,62025:39427,62026:39428,62027:39429,62028:39430,62029:39431,62030:39432,62031:39433,62032:39434,62033:39435,62034:39436,62035:39437,62036:39438,62037:39439,62038:39440,62039:39441,62040:39442,62041:39443,62042:39444,62043:39445,62044:39446,62045:39447,62046:39448,62047:39449,62048:39450,62049:39451,62050:39452,62051:39453,62052:39454,62053:39455,62054:39456,62055:39457,62056:39458,62057:39459,62058:39460,62059:39461,62060:39462,62061:39463,62062:39464,62063:39465,62064:39466,62065:39467,62066:39468,62067:39469,62068:39470,62069:39471,62070:39472,62071:39473,62072:39474,62073:39475,62074:39476,62075:39477,62076:39478,62077:39479,62078:39480,62080:39481,62081:39482,62082:39483,62083:39484,62084:39485,62085:39486,62086:39487,62087:39488,62088:39489,62089:39490,62090:39491,62091:39492,62092:39493,62093:39494,62094:39495,62095:39496,62096:39497,62097:39498,62098:39499,62099:39500,62100:39501,62101:39502,62102:39503,62103:39504,62104:39505,62105:39506,62106:39507,62107:39508,62108:39509,62109:39510,62110:39511,62111:39512,62112:39513,62113:39049,62114:39052,62115:39053,62116:39055,62117:39060,62118:39066,62119:39067,62120:39070,62121:39071,62122:39073,62123:39074,62124:39077,62125:39078,62126:34381,62127:34388,62128:34412,62129:34414,62130:34431,62131:34426,62132:34428,62133:34427,62134:34472,62135:34445,62136:34443,62137:34476,62138:34461,62139:34471,62140:34467,62141:34474,62142:34451,62143:34473,62144:34486,62145:34500,62146:34485,62147:34510,62148:34480,62149:34490,62150:34481,62151:34479,62152:34505,62153:34511,62154:34484,62155:34537,62156:34545,62157:34546,62158:34541,62159:34547,62160:34512,62161:34579,62162:34526,62163:34548,62164:34527,62165:34520,62166:34513,62167:34563,62168:34567,62169:34552,62170:34568,62171:34570,62172:34573,62173:34569,62174:34595,62175:34619,62176:34590,62177:34597,62178:34606,62179:34586,62180:34622,62181:34632,62182:34612,62183:34609,62184:34601,62185:34615,62186:34623,62187:34690,62188:34594,62189:34685,62190:34686,62191:34683,62192:34656,62193:34672,62194:34636,62195:34670,62196:34699,62197:34643,62198:34659,62199:34684,62200:34660,62201:34649,62202:34661,62203:34707,62204:34735,62205:34728,62206:34770,62272:39514,62273:39515,62274:39516,62275:39517,62276:39518,62277:39519,62278:39520,62279:39521,62280:39522,62281:39523,62282:39524,62283:39525,62284:39526,62285:39527,62286:39528,62287:39529,62288:39530,62289:39531,62290:39538,62291:39555,62292:39561,62293:39565,62294:39566,62295:39572,62296:39573,62297:39577,62298:39590,62299:39593,62300:39594,62301:39595,62302:39596,62303:39597,62304:39598,62305:39599,62306:39602,62307:39603,62308:39604,62309:39605,62310:39609,62311:39611,62312:39613,62313:39614,62314:39615,62315:39619,62316:39620,62317:39622,62318:39623,62319:39624,62320:39625,62321:39626,62322:39629,62323:39630,62324:39631,62325:39632,62326:39634,62327:39636,62328:39637,62329:39638,62330:39639,62331:39641,62332:39642,62333:39643,62334:39644,62336:39645,62337:39646,62338:39648,62339:39650,62340:39651,62341:39652,62342:39653,62343:39655,62344:39656,62345:39657,62346:39658,62347:39660,62348:39662,62349:39664,62350:39665,62351:39666,62352:39667,62353:39668,62354:39669,62355:39670,62356:39671,62357:39672,62358:39674,62359:39676,62360:39677,62361:39678,62362:39679,62363:39680,62364:39681,62365:39682,62366:39684,62367:39685,62368:39686,62369:34758,62370:34696,62371:34693,62372:34733,62373:34711,62374:34691,62375:34731,62376:34789,62377:34732,62378:34741,62379:34739,62380:34763,62381:34771,62382:34749,62383:34769,62384:34752,62385:34762,62386:34779,62387:34794,62388:34784,62389:34798,62390:34838,62391:34835,62392:34814,62393:34826,62394:34843,62395:34849,62396:34873,62397:34876,62398:32566,62399:32578,62400:32580,62401:32581,62402:33296,62403:31482,62404:31485,62405:31496,62406:31491,62407:31492,62408:31509,62409:31498,62410:31531,62411:31503,62412:31559,62413:31544,62414:31530,62415:31513,62416:31534,62417:31537,62418:31520,62419:31525,62420:31524,62421:31539,62422:31550,62423:31518,62424:31576,62425:31578,62426:31557,62427:31605,62428:31564,62429:31581,62430:31584,62431:31598,62432:31611,62433:31586,62434:31602,62435:31601,62436:31632,62437:31654,62438:31655,62439:31672,62440:31660,62441:31645,62442:31656,62443:31621,62444:31658,62445:31644,62446:31650,62447:31659,62448:31668,62449:31697,62450:31681,62451:31692,62452:31709,62453:31706,62454:31717,62455:31718,62456:31722,62457:31756,62458:31742,62459:31740,62460:31759,62461:31766,62462:31755,62528:39687,62529:39689,62530:39690,62531:39691,62532:39692,62533:39693,62534:39694,62535:39696,62536:39697,62537:39698,62538:39700,62539:39701,62540:39702,62541:39703,62542:39704,62543:39705,62544:39706,62545:39707,62546:39708,62547:39709,62548:39710,62549:39712,62550:39713,62551:39714,62552:39716,62553:39717,62554:39718,62555:39719,62556:39720,62557:39721,62558:39722,62559:39723,62560:39724,62561:39725,62562:39726,62563:39728,62564:39729,62565:39731,62566:39732,62567:39733,62568:39734,62569:39735,62570:39736,62571:39737,62572:39738,62573:39741,62574:39742,62575:39743,62576:39744,62577:39750,62578:39754,62579:39755,62580:39756,62581:39758,62582:39760,62583:39762,62584:39763,62585:39765,62586:39766,62587:39767,62588:39768,62589:39769,62590:39770,62592:39771,62593:39772,62594:39773,62595:39774,62596:39775,62597:39776,62598:39777,62599:39778,62600:39779,62601:39780,62602:39781,62603:39782,62604:39783,62605:39784,62606:39785,62607:39786,62608:39787,62609:39788,62610:39789,62611:39790,62612:39791,62613:39792,62614:39793,62615:39794,62616:39795,62617:39796,62618:39797,62619:39798,62620:39799,62621:39800,62622:39801,62623:39802,62624:39803,62625:31775,62626:31786,62627:31782,62628:31800,62629:31809,62630:31808,62631:33278,62632:33281,62633:33282,62634:33284,62635:33260,62636:34884,62637:33313,62638:33314,62639:33315,62640:33325,62641:33327,62642:33320,62643:33323,62644:33336,62645:33339,62646:33331,62647:33332,62648:33342,62649:33348,62650:33353,62651:33355,62652:33359,62653:33370,62654:33375,62655:33384,62656:34942,62657:34949,62658:34952,62659:35032,62660:35039,62661:35166,62662:32669,62663:32671,62664:32679,62665:32687,62666:32688,62667:32690,62668:31868,62669:25929,62670:31889,62671:31901,62672:31900,62673:31902,62674:31906,62675:31922,62676:31932,62677:31933,62678:31937,62679:31943,62680:31948,62681:31949,62682:31944,62683:31941,62684:31959,62685:31976,62686:33390,62687:26280,62688:32703,62689:32718,62690:32725,62691:32741,62692:32737,62693:32742,62694:32745,62695:32750,62696:32755,62697:31992,62698:32119,62699:32166,62700:32174,62701:32327,62702:32411,62703:40632,62704:40628,62705:36211,62706:36228,62707:36244,62708:36241,62709:36273,62710:36199,62711:36205,62712:35911,62713:35913,62714:37194,62715:37200,62716:37198,62717:37199,62718:37220,62784:39804,62785:39805,62786:39806,62787:39807,62788:39808,62789:39809,62790:39810,62791:39811,62792:39812,62793:39813,62794:39814,62795:39815,62796:39816,62797:39817,62798:39818,62799:39819,62800:39820,62801:39821,62802:39822,62803:39823,62804:39824,62805:39825,62806:39826,62807:39827,62808:39828,62809:39829,62810:39830,62811:39831,62812:39832,62813:39833,62814:39834,62815:39835,62816:39836,62817:39837,62818:39838,62819:39839,62820:39840,62821:39841,62822:39842,62823:39843,62824:39844,62825:39845,62826:39846,62827:39847,62828:39848,62829:39849,62830:39850,62831:39851,62832:39852,62833:39853,62834:39854,62835:39855,62836:39856,62837:39857,62838:39858,62839:39859,62840:39860,62841:39861,62842:39862,62843:39863,62844:39864,62845:39865,62846:39866,62848:39867,62849:39868,62850:39869,62851:39870,62852:39871,62853:39872,62854:39873,62855:39874,62856:39875,62857:39876,62858:39877,62859:39878,62860:39879,62861:39880,62862:39881,62863:39882,62864:39883,62865:39884,62866:39885,62867:39886,62868:39887,62869:39888,62870:39889,62871:39890,62872:39891,62873:39892,62874:39893,62875:39894,62876:39895,62877:39896,62878:39897,62879:39898,62880:39899,62881:37218,62882:37217,62883:37232,62884:37225,62885:37231,62886:37245,62887:37246,62888:37234,62889:37236,62890:37241,62891:37260,62892:37253,62893:37264,62894:37261,62895:37265,62896:37282,62897:37283,62898:37290,62899:37293,62900:37294,62901:37295,62902:37301,62903:37300,62904:37306,62905:35925,62906:40574,62907:36280,62908:36331,62909:36357,62910:36441,62911:36457,62912:36277,62913:36287,62914:36284,62915:36282,62916:36292,62917:36310,62918:36311,62919:36314,62920:36318,62921:36302,62922:36303,62923:36315,62924:36294,62925:36332,62926:36343,62927:36344,62928:36323,62929:36345,62930:36347,62931:36324,62932:36361,62933:36349,62934:36372,62935:36381,62936:36383,62937:36396,62938:36398,62939:36387,62940:36399,62941:36410,62942:36416,62943:36409,62944:36405,62945:36413,62946:36401,62947:36425,62948:36417,62949:36418,62950:36433,62951:36434,62952:36426,62953:36464,62954:36470,62955:36476,62956:36463,62957:36468,62958:36485,62959:36495,62960:36500,62961:36496,62962:36508,62963:36510,62964:35960,62965:35970,62966:35978,62967:35973,62968:35992,62969:35988,62970:26011,62971:35286,62972:35294,62973:35290,62974:35292,63040:39900,63041:39901,63042:39902,63043:39903,63044:39904,63045:39905,63046:39906,63047:39907,63048:39908,63049:39909,63050:39910,63051:39911,63052:39912,63053:39913,63054:39914,63055:39915,63056:39916,63057:39917,63058:39918,63059:39919,63060:39920,63061:39921,63062:39922,63063:39923,63064:39924,63065:39925,63066:39926,63067:39927,63068:39928,63069:39929,63070:39930,63071:39931,63072:39932,63073:39933,63074:39934,63075:39935,63076:39936,63077:39937,63078:39938,63079:39939,63080:39940,63081:39941,63082:39942,63083:39943,63084:39944,63085:39945,63086:39946,63087:39947,63088:39948,63089:39949,63090:39950,63091:39951,63092:39952,63093:39953,63094:39954,63095:39955,63096:39956,63097:39957,63098:39958,63099:39959,63100:39960,63101:39961,63102:39962,63104:39963,63105:39964,63106:39965,63107:39966,63108:39967,63109:39968,63110:39969,63111:39970,63112:39971,63113:39972,63114:39973,63115:39974,63116:39975,63117:39976,63118:39977,63119:39978,63120:39979,63121:39980,63122:39981,63123:39982,63124:39983,63125:39984,63126:39985,63127:39986,63128:39987,63129:39988,63130:39989,63131:39990,63132:39991,63133:39992,63134:39993,63135:39994,63136:39995,63137:35301,63138:35307,63139:35311,63140:35390,63141:35622,63142:38739,63143:38633,63144:38643,63145:38639,63146:38662,63147:38657,63148:38664,63149:38671,63150:38670,63151:38698,63152:38701,63153:38704,63154:38718,63155:40832,63156:40835,63157:40837,63158:40838,63159:40839,63160:40840,63161:40841,63162:40842,63163:40844,63164:40702,63165:40715,63166:40717,63167:38585,63168:38588,63169:38589,63170:38606,63171:38610,63172:30655,63173:38624,63174:37518,63175:37550,63176:37576,63177:37694,63178:37738,63179:37834,63180:37775,63181:37950,63182:37995,63183:40063,63184:40066,63185:40069,63186:40070,63187:40071,63188:40072,63189:31267,63190:40075,63191:40078,63192:40080,63193:40081,63194:40082,63195:40084,63196:40085,63197:40090,63198:40091,63199:40094,63200:40095,63201:40096,63202:40097,63203:40098,63204:40099,63205:40101,63206:40102,63207:40103,63208:40104,63209:40105,63210:40107,63211:40109,63212:40110,63213:40112,63214:40113,63215:40114,63216:40115,63217:40116,63218:40117,63219:40118,63220:40119,63221:40122,63222:40123,63223:40124,63224:40125,63225:40132,63226:40133,63227:40134,63228:40135,63229:40138,63230:40139,63296:39996,63297:39997,63298:39998,63299:39999,63300:40000,63301:40001,63302:40002,63303:40003,63304:40004,63305:40005,63306:40006,63307:40007,63308:40008,63309:40009,63310:40010,63311:40011,63312:40012,63313:40013,63314:40014,63315:40015,63316:40016,63317:40017,63318:40018,63319:40019,63320:40020,63321:40021,63322:40022,63323:40023,63324:40024,63325:40025,63326:40026,63327:40027,63328:40028,63329:40029,63330:40030,63331:40031,63332:40032,63333:40033,63334:40034,63335:40035,63336:40036,63337:40037,63338:40038,63339:40039,63340:40040,63341:40041,63342:40042,63343:40043,63344:40044,63345:40045,63346:40046,63347:40047,63348:40048,63349:40049,63350:40050,63351:40051,63352:40052,63353:40053,63354:40054,63355:40055,63356:40056,63357:40057,63358:40058,63360:40059,63361:40061,63362:40062,63363:40064,63364:40067,63365:40068,63366:40073,63367:40074,63368:40076,63369:40079,63370:40083,63371:40086,63372:40087,63373:40088,63374:40089,63375:40093,63376:40106,63377:40108,63378:40111,63379:40121,63380:40126,63381:40127,63382:40128,63383:40129,63384:40130,63385:40136,63386:40137,63387:40145,63388:40146,63389:40154,63390:40155,63391:40160,63392:40161,63393:40140,63394:40141,63395:40142,63396:40143,63397:40144,63398:40147,63399:40148,63400:40149,63401:40151,63402:40152,63403:40153,63404:40156,63405:40157,63406:40159,63407:40162,63408:38780,63409:38789,63410:38801,63411:38802,63412:38804,63413:38831,63414:38827,63415:38819,63416:38834,63417:38836,63418:39601,63419:39600,63420:39607,63421:40536,63422:39606,63423:39610,63424:39612,63425:39617,63426:39616,63427:39621,63428:39618,63429:39627,63430:39628,63431:39633,63432:39749,63433:39747,63434:39751,63435:39753,63436:39752,63437:39757,63438:39761,63439:39144,63440:39181,63441:39214,63442:39253,63443:39252,63444:39647,63445:39649,63446:39654,63447:39663,63448:39659,63449:39675,63450:39661,63451:39673,63452:39688,63453:39695,63454:39699,63455:39711,63456:39715,63457:40637,63458:40638,63459:32315,63460:40578,63461:40583,63462:40584,63463:40587,63464:40594,63465:37846,63466:40605,63467:40607,63468:40667,63469:40668,63470:40669,63471:40672,63472:40671,63473:40674,63474:40681,63475:40679,63476:40677,63477:40682,63478:40687,63479:40738,63480:40748,63481:40751,63482:40761,63483:40759,63484:40765,63485:40766,63486:40772,63552:40163,63553:40164,63554:40165,63555:40166,63556:40167,63557:40168,63558:40169,63559:40170,63560:40171,63561:40172,63562:40173,63563:40174,63564:40175,63565:40176,63566:40177,63567:40178,63568:40179,63569:40180,63570:40181,63571:40182,63572:40183,63573:40184,63574:40185,63575:40186,63576:40187,63577:40188,63578:40189,63579:40190,63580:40191,63581:40192,63582:40193,63583:40194,63584:40195,63585:40196,63586:40197,63587:40198,63588:40199,63589:40200,63590:40201,63591:40202,63592:40203,63593:40204,63594:40205,63595:40206,63596:40207,63597:40208,63598:40209,63599:40210,63600:40211,63601:40212,63602:40213,63603:40214,63604:40215,63605:40216,63606:40217,63607:40218,63608:40219,63609:40220,63610:40221,63611:40222,63612:40223,63613:40224,63614:40225,63616:40226,63617:40227,63618:40228,63619:40229,63620:40230,63621:40231,63622:40232,63623:40233,63624:40234,63625:40235,63626:40236,63627:40237,63628:40238,63629:40239,63630:40240,63631:40241,63632:40242,63633:40243,63634:40244,63635:40245,63636:40246,63637:40247,63638:40248,63639:40249,63640:40250,63641:40251,63642:40252,63643:40253,63644:40254,63645:40255,63646:40256,63647:40257,63648:40258,63649:57908,63650:57909,63651:57910,63652:57911,63653:57912,63654:57913,63655:57914,63656:57915,63657:57916,63658:57917,63659:57918,63660:57919,63661:57920,63662:57921,63663:57922,63664:57923,63665:57924,63666:57925,63667:57926,63668:57927,63669:57928,63670:57929,63671:57930,63672:57931,63673:57932,63674:57933,63675:57934,63676:57935,63677:57936,63678:57937,63679:57938,63680:57939,63681:57940,63682:57941,63683:57942,63684:57943,63685:57944,63686:57945,63687:57946,63688:57947,63689:57948,63690:57949,63691:57950,63692:57951,63693:57952,63694:57953,63695:57954,63696:57955,63697:57956,63698:57957,63699:57958,63700:57959,63701:57960,63702:57961,63703:57962,63704:57963,63705:57964,63706:57965,63707:57966,63708:57967,63709:57968,63710:57969,63711:57970,63712:57971,63713:57972,63714:57973,63715:57974,63716:57975,63717:57976,63718:57977,63719:57978,63720:57979,63721:57980,63722:57981,63723:57982,63724:57983,63725:57984,63726:57985,63727:57986,63728:57987,63729:57988,63730:57989,63731:57990,63732:57991,63733:57992,63734:57993,63735:57994,63736:57995,63737:57996,63738:57997,63739:57998,63740:57999,63741:58000,63742:58001,63808:40259,63809:40260,63810:40261,63811:40262,63812:40263,63813:40264,63814:40265,63815:40266,63816:40267,63817:40268,63818:40269,63819:40270,63820:40271,63821:40272,63822:40273,63823:40274,63824:40275,63825:40276,63826:40277,63827:40278,63828:40279,63829:40280,63830:40281,63831:40282,63832:40283,63833:40284,63834:40285,63835:40286,63836:40287,63837:40288,63838:40289,63839:40290,63840:40291,63841:40292,63842:40293,63843:40294,63844:40295,63845:40296,63846:40297,63847:40298,63848:40299,63849:40300,63850:40301,63851:40302,63852:40303,63853:40304,63854:40305,63855:40306,63856:40307,63857:40308,63858:40309,63859:40310,63860:40311,63861:40312,63862:40313,63863:40314,63864:40315,63865:40316,63866:40317,63867:40318,63868:40319,63869:40320,63870:40321,63872:40322,63873:40323,63874:40324,63875:40325,63876:40326,63877:40327,63878:40328,63879:40329,63880:40330,63881:40331,63882:40332,63883:40333,63884:40334,63885:40335,63886:40336,63887:40337,63888:40338,63889:40339,63890:40340,63891:40341,63892:40342,63893:40343,63894:40344,63895:40345,63896:40346,63897:40347,63898:40348,63899:40349,63900:40350,63901:40351,63902:40352,63903:40353,63904:40354,63905:58002,63906:58003,63907:58004,63908:58005,63909:58006,63910:58007,63911:58008,63912:58009,63913:58010,63914:58011,63915:58012,63916:58013,63917:58014,63918:58015,63919:58016,63920:58017,63921:58018,63922:58019,63923:58020,63924:58021,63925:58022,63926:58023,63927:58024,63928:58025,63929:58026,63930:58027,63931:58028,63932:58029,63933:58030,63934:58031,63935:58032,63936:58033,63937:58034,63938:58035,63939:58036,63940:58037,63941:58038,63942:58039,63943:58040,63944:58041,63945:58042,63946:58043,63947:58044,63948:58045,63949:58046,63950:58047,63951:58048,63952:58049,63953:58050,63954:58051,63955:58052,63956:58053,63957:58054,63958:58055,63959:58056,63960:58057,63961:58058,63962:58059,63963:58060,63964:58061,63965:58062,63966:58063,63967:58064,63968:58065,63969:58066,63970:58067,63971:58068,63972:58069,63973:58070,63974:58071,63975:58072,63976:58073,63977:58074,63978:58075,63979:58076,63980:58077,63981:58078,63982:58079,63983:58080,63984:58081,63985:58082,63986:58083,63987:58084,63988:58085,63989:58086,63990:58087,63991:58088,63992:58089,63993:58090,63994:58091,63995:58092,63996:58093,63997:58094,63998:58095,64064:40355,64065:40356,64066:40357,64067:40358,64068:40359,64069:40360,64070:40361,64071:40362,64072:40363,64073:40364,64074:40365,64075:40366,64076:40367,64077:40368,64078:40369,64079:40370,64080:40371,64081:40372,64082:40373,64083:40374,64084:40375,64085:40376,64086:40377,64087:40378,64088:40379,64089:40380,64090:40381,64091:40382,64092:40383,64093:40384,64094:40385,64095:40386,64096:40387,64097:40388,64098:40389,64099:40390,64100:40391,64101:40392,64102:40393,64103:40394,64104:40395,64105:40396,64106:40397,64107:40398,64108:40399,64109:40400,64110:40401,64111:40402,64112:40403,64113:40404,64114:40405,64115:40406,64116:40407,64117:40408,64118:40409,64119:40410,64120:40411,64121:40412,64122:40413,64123:40414,64124:40415,64125:40416,64126:40417,64128:40418,64129:40419,64130:40420,64131:40421,64132:40422,64133:40423,64134:40424,64135:40425,64136:40426,64137:40427,64138:40428,64139:40429,64140:40430,64141:40431,64142:40432,64143:40433,64144:40434,64145:40435,64146:40436,64147:40437,64148:40438,64149:40439,64150:40440,64151:40441,64152:40442,64153:40443,64154:40444,64155:40445,64156:40446,64157:40447,64158:40448,64159:40449,64160:40450,64161:58096,64162:58097,64163:58098,64164:58099,64165:58100,64166:58101,64167:58102,64168:58103,64169:58104,64170:58105,64171:58106,64172:58107,64173:58108,64174:58109,64175:58110,64176:58111,64177:58112,64178:58113,64179:58114,64180:58115,64181:58116,64182:58117,64183:58118,64184:58119,64185:58120,64186:58121,64187:58122,64188:58123,64189:58124,64190:58125,64191:58126,64192:58127,64193:58128,64194:58129,64195:58130,64196:58131,64197:58132,64198:58133,64199:58134,64200:58135,64201:58136,64202:58137,64203:58138,64204:58139,64205:58140,64206:58141,64207:58142,64208:58143,64209:58144,64210:58145,64211:58146,64212:58147,64213:58148,64214:58149,64215:58150,64216:58151,64217:58152,64218:58153,64219:58154,64220:58155,64221:58156,64222:58157,64223:58158,64224:58159,64225:58160,64226:58161,64227:58162,64228:58163,64229:58164,64230:58165,64231:58166,64232:58167,64233:58168,64234:58169,64235:58170,64236:58171,64237:58172,64238:58173,64239:58174,64240:58175,64241:58176,64242:58177,64243:58178,64244:58179,64245:58180,64246:58181,64247:58182,64248:58183,64249:58184,64250:58185,64251:58186,64252:58187,64253:58188,64254:58189,64320:40451,64321:40452,64322:40453,64323:40454,64324:40455,64325:40456,64326:40457,64327:40458,64328:40459,64329:40460,64330:40461,64331:40462,64332:40463,64333:40464,64334:40465,64335:40466,64336:40467,64337:40468,64338:40469,64339:40470,64340:40471,64341:40472,64342:40473,64343:40474,64344:40475,64345:40476,64346:40477,64347:40478,64348:40484,64349:40487,64350:40494,64351:40496,64352:40500,64353:40507,64354:40508,64355:40512,64356:40525,64357:40528,64358:40530,64359:40531,64360:40532,64361:40534,64362:40537,64363:40541,64364:40543,64365:40544,64366:40545,64367:40546,64368:40549,64369:40558,64370:40559,64371:40562,64372:40564,64373:40565,64374:40566,64375:40567,64376:40568,64377:40569,64378:40570,64379:40571,64380:40572,64381:40573,64382:40576,64384:40577,64385:40579,64386:40580,64387:40581,64388:40582,64389:40585,64390:40586,64391:40588,64392:40589,64393:40590,64394:40591,64395:40592,64396:40593,64397:40596,64398:40597,64399:40598,64400:40599,64401:40600,64402:40601,64403:40602,64404:40603,64405:40604,64406:40606,64407:40608,64408:40609,64409:40610,64410:40611,64411:40612,64412:40613,64413:40615,64414:40616,64415:40617,64416:40618,64417:58190,64418:58191,64419:58192,64420:58193,64421:58194,64422:58195,64423:58196,64424:58197,64425:58198,64426:58199,64427:58200,64428:58201,64429:58202,64430:58203,64431:58204,64432:58205,64433:58206,64434:58207,64435:58208,64436:58209,64437:58210,64438:58211,64439:58212,64440:58213,64441:58214,64442:58215,64443:58216,64444:58217,64445:58218,64446:58219,64447:58220,64448:58221,64449:58222,64450:58223,64451:58224,64452:58225,64453:58226,64454:58227,64455:58228,64456:58229,64457:58230,64458:58231,64459:58232,64460:58233,64461:58234,64462:58235,64463:58236,64464:58237,64465:58238,64466:58239,64467:58240,64468:58241,64469:58242,64470:58243,64471:58244,64472:58245,64473:58246,64474:58247,64475:58248,64476:58249,64477:58250,64478:58251,64479:58252,64480:58253,64481:58254,64482:58255,64483:58256,64484:58257,64485:58258,64486:58259,64487:58260,64488:58261,64489:58262,64490:58263,64491:58264,64492:58265,64493:58266,64494:58267,64495:58268,64496:58269,64497:58270,64498:58271,64499:58272,64500:58273,64501:58274,64502:58275,64503:58276,64504:58277,64505:58278,64506:58279,64507:58280,64508:58281,64509:58282,64510:58283,64576:40619,64577:40620,64578:40621,64579:40622,64580:40623,64581:40624,64582:40625,64583:40626,64584:40627,64585:40629,64586:40630,64587:40631,64588:40633,64589:40634,64590:40636,64591:40639,64592:40640,64593:40641,64594:40642,64595:40643,64596:40645,64597:40646,64598:40647,64599:40648,64600:40650,64601:40651,64602:40652,64603:40656,64604:40658,64605:40659,64606:40661,64607:40662,64608:40663,64609:40665,64610:40666,64611:40670,64612:40673,64613:40675,64614:40676,64615:40678,64616:40680,64617:40683,64618:40684,64619:40685,64620:40686,64621:40688,64622:40689,64623:40690,64624:40691,64625:40692,64626:40693,64627:40694,64628:40695,64629:40696,64630:40698,64631:40701,64632:40703,64633:40704,64634:40705,64635:40706,64636:40707,64637:40708,64638:40709,64640:40710,64641:40711,64642:40712,64643:40713,64644:40714,64645:40716,64646:40719,64647:40721,64648:40722,64649:40724,64650:40725,64651:40726,64652:40728,64653:40730,64654:40731,64655:40732,64656:40733,64657:40734,64658:40735,64659:40737,64660:40739,64661:40740,64662:40741,64663:40742,64664:40743,64665:40744,64666:40745,64667:40746,64668:40747,64669:40749,64670:40750,64671:40752,64672:40753,64673:58284,64674:58285,64675:58286,64676:58287,64677:58288,64678:58289,64679:58290,64680:58291,64681:58292,64682:58293,64683:58294,64684:58295,64685:58296,64686:58297,64687:58298,64688:58299,64689:58300,64690:58301,64691:58302,64692:58303,64693:58304,64694:58305,64695:58306,64696:58307,64697:58308,64698:58309,64699:58310,64700:58311,64701:58312,64702:58313,64703:58314,64704:58315,64705:58316,64706:58317,64707:58318,64708:58319,64709:58320,64710:58321,64711:58322,64712:58323,64713:58324,64714:58325,64715:58326,64716:58327,64717:58328,64718:58329,64719:58330,64720:58331,64721:58332,64722:58333,64723:58334,64724:58335,64725:58336,64726:58337,64727:58338,64728:58339,64729:58340,64730:58341,64731:58342,64732:58343,64733:58344,64734:58345,64735:58346,64736:58347,64737:58348,64738:58349,64739:58350,64740:58351,64741:58352,64742:58353,64743:58354,64744:58355,64745:58356,64746:58357,64747:58358,64748:58359,64749:58360,64750:58361,64751:58362,64752:58363,64753:58364,64754:58365,64755:58366,64756:58367,64757:58368,64758:58369,64759:58370,64760:58371,64761:58372,64762:58373,64763:58374,64764:58375,64765:58376,64766:58377,64832:40754,64833:40755,64834:40756,64835:40757,64836:40758,64837:40760,64838:40762,64839:40764,64840:40767,64841:40768,64842:40769,64843:40770,64844:40771,64845:40773,64846:40774,64847:40775,64848:40776,64849:40777,64850:40778,64851:40779,64852:40780,64853:40781,64854:40782,64855:40783,64856:40786,64857:40787,64858:40788,64859:40789,64860:40790,64861:40791,64862:40792,64863:40793,64864:40794,64865:40795,64866:40796,64867:40797,64868:40798,64869:40799,64870:40800,64871:40801,64872:40802,64873:40803,64874:40804,64875:40805,64876:40806,64877:40807,64878:40808,64879:40809,64880:40810,64881:40811,64882:40812,64883:40813,64884:40814,64885:40815,64886:40816,64887:40817,64888:40818,64889:40819,64890:40820,64891:40821,64892:40822,64893:40823,64894:40824,64896:40825,64897:40826,64898:40827,64899:40828,64900:40829,64901:40830,64902:40833,64903:40834,64904:40845,64905:40846,64906:40847,64907:40848,64908:40849,64909:40850,64910:40851,64911:40852,64912:40853,64913:40854,64914:40855,64915:40856,64916:40860,64917:40861,64918:40862,64919:40865,64920:40866,64921:40867,64922:40868,64923:40869,64924:63788,64925:63865,64926:63893,64927:63975,64928:63985,64929:58378,64930:58379,64931:58380,64932:58381,64933:58382,64934:58383,64935:58384,64936:58385,64937:58386,64938:58387,64939:58388,64940:58389,64941:58390,64942:58391,64943:58392,64944:58393,64945:58394,64946:58395,64947:58396,64948:58397,64949:58398,64950:58399,64951:58400,64952:58401,64953:58402,64954:58403,64955:58404,64956:58405,64957:58406,64958:58407,64959:58408,64960:58409,64961:58410,64962:58411,64963:58412,64964:58413,64965:58414,64966:58415,64967:58416,64968:58417,64969:58418,64970:58419,64971:58420,64972:58421,64973:58422,64974:58423,64975:58424,64976:58425,64977:58426,64978:58427,64979:58428,64980:58429,64981:58430,64982:58431,64983:58432,64984:58433,64985:58434,64986:58435,64987:58436,64988:58437,64989:58438,64990:58439,64991:58440,64992:58441,64993:58442,64994:58443,64995:58444,64996:58445,64997:58446,64998:58447,64999:58448,65000:58449,65001:58450,65002:58451,65003:58452,65004:58453,65005:58454,65006:58455,65007:58456,65008:58457,65009:58458,65010:58459,65011:58460,65012:58461,65013:58462,65014:58463,65015:58464,65016:58465,65017:58466,65018:58467,65019:58468,65020:58469,65021:58470,65022:58471,65088:64012,65089:64013,65090:64014,65091:64015,65092:64017,65093:64019,65094:64020,65095:64024,65096:64031,65097:64032,65098:64033,65099:64035,65100:64036,65101:64039,65102:64040,65103:64041,65104:11905,65105:59414,65106:59415,65107:59416,65108:11908,65109:13427,65110:13383,65111:11912,65112:11915,65113:59422,65114:13726,65115:13850,65116:13838,65117:11916,65118:11927,65119:14702,65120:14616,65121:59430,65122:14799,65123:14815,65124:14963,65125:14800,65126:59435,65127:59436,65128:15182,65129:15470,65130:15584,65131:11943,65132:59441,65133:59442,65134:11946,65135:16470,65136:16735,65137:11950,65138:17207,65139:11955,65140:11958,65141:11959,65142:59451,65143:17329,65144:17324,65145:11963,65146:17373,65147:17622,65148:18017,65149:17996,65150:59459,65152:18211,65153:18217,65154:18300,65155:18317,65156:11978,65157:18759,65158:18810,65159:18813,65160:18818,65161:18819,65162:18821,65163:18822,65164:18847,65165:18843,65166:18871,65167:18870,65168:59476,65169:59477,65170:19619,65171:19615,65172:19616,65173:19617,65174:19575,65175:19618,65176:19731,65177:19732,65178:19733,65179:19734,65180:19735,65181:19736,65182:19737,65183:19886,65184:59492,65185:58472,65186:58473,65187:58474,65188:58475,65189:58476,65190:58477,65191:58478,65192:58479,65193:58480,65194:58481,65195:58482,65196:58483,65197:58484,65198:58485,65199:58486,65200:58487,65201:58488,65202:58489,65203:58490,65204:58491,65205:58492,65206:58493,65207:58494,65208:58495,65209:58496,65210:58497,65211:58498,65212:58499,65213:58500,65214:58501,65215:58502,65216:58503,65217:58504,65218:58505,65219:58506,65220:58507,65221:58508,65222:58509,65223:58510,65224:58511,65225:58512,65226:58513,65227:58514,65228:58515,65229:58516,65230:58517,65231:58518,65232:58519,65233:58520,65234:58521,65235:58522,65236:58523,65237:58524,65238:58525,65239:58526,65240:58527,65241:58528,65242:58529,65243:58530,65244:58531,65245:58532,65246:58533,65247:58534,65248:58535,65249:58536,65250:58537,65251:58538,65252:58539,65253:58540,65254:58541,65255:58542,65256:58543,65257:58544,65258:58545,65259:58546,65260:58547,65261:58548,65262:58549,65263:58550,65264:58551,65265:58552,65266:58553,65267:58554,65268:58555,65269:58556,65270:58557,65271:58558,65272:58559,65273:58560,65274:58561,65275:58562,65276:58563,65277:58564,65278:58565} \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js b/static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js new file mode 100644 index 0000000..909e433 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js @@ -0,0 +1,25 @@ +var http = require('http'); +var fs = require('fs'); +// BIG5 +var cp950_b2u = {host:'moztw.org',path:'/docs/big5/table/cp950-b2u.txt'}, + cp950_u2b = {host:'moztw.org',path:'/docs/big5/table/cp950-u2b.txt'}, + cp950_moz18_b2u = {host:'moztw.org',path:'/docs/big5/table/moz18-b2u.txt'}; + +http.get(cp950_moz18_b2u, function(res) { + var data = ''; + res.on('data', function(chunk) { + data += chunk; + }); + res.on('end', function() { + var table = {}; + data = data.split('\n').slice(1); + data.forEach(function(line, idx) { + var pair = line.split(' '); + var key = parseInt(pair[0]); + var val = parseInt(pair[1]); + table[key] = val; + }); + fs.createWriteSync('encodings/table/big5.js', + 'module.exports = ' + JSON.stringify(table) + ';'); + }); +}); diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js b/static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js new file mode 100644 index 0000000..2cbebec --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js @@ -0,0 +1,142 @@ +var fs = require("fs"); +var Iconv = require("iconv").Iconv; + + +var encodingFamilies = [ + { + // Windows code pages + encodings: [1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258], + convert: function(cp) { + return { + name: "windows-"+cp, + aliases: ["win"+cp, "cp"+cp, ""+cp], + } + } + }, + { + // ISO-8859 code pages + encodings: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16], + convert: function(i) { + return { + name: "iso-8859-"+i, + aliases: ["cp"+(28590+i), (28590+i)], + } + } + }, + { + // IBM/DOS code pages + encodings: [437, 737, 775, 850, 852, 855, 857, 858, 860, 861, 862, 863, 864, 865, 866, 869], + convert: function(cp) { + return { + name: "CP"+cp, + aliases: ["ibm"+cp, ""+cp], + } + } + }, + { + // Macintosh code pages + encodings: ["macCroatian", "macCyrillic", "macGreek", + "macIceland", "macRoman", "macRomania", + "macThai", "macTurkish", "macUkraine"], + }, + { + // KOI8 code pages + encodings: ["KOI8-R", "KOI8-U"], + }, +]; + + +var encodings = { + // Aliases. + "ascii8bit": "ascii", + "usascii": "ascii", + + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + + "cp819": "iso88951", + "arabic": "iso88596", + "arabic8": "iso88596", + "greek" : "iso88597", + "greek8" : "iso88597", + "hebrew": "iso88598", + "hebrew8": "iso88598", + "turkish": "iso88599", + "turkish8": "iso88599", + "thai": "iso885911", + "thai8": "iso885911", + "tis620": "iso885911", + "windows874": "iso885911", + "win874": "iso885911", + "cp874": "iso885911", + "874": "iso885911", + "celtic": "iso885914", + "celtic8": "iso885914", + + "cp20866": "koi8r", + "20866": "koi8r", + "ibm878": "koi8r", + "cp21866": "koi8u", + "21866": "koi8u", + "ibm1168": "koi8u", + +}; + +// Add all encodings from encodingFamilies. +encodingFamilies.forEach(function(family){ + family.encodings.forEach(function(encoding){ + if (family.convert) + encoding = family.convert(encoding); + + var encodingIconvName = encoding.name ? encoding.name : encoding; + var encodingName = encodingIconvName.replace(/[-_]/g, "").toLowerCase(); + + encodings[encodingName] = { + type: "singlebyte", + chars: generateCharsString(encodingIconvName) + }; + + if (encoding.aliases) + encoding.aliases.forEach(function(alias){ + encodings[alias] = encodingName; + }); + }); +}); + +// Write encodings. +fs.writeFileSync("encodings/singlebyte.js", + "module.exports = " + JSON.stringify(encodings, undefined, " ") + ";"); + + +function generateCharsString(encoding) { + console.log("Generate encoding for " + encoding); + var iconvToUtf8 = new Iconv(encoding, "UTF-8"); + var chars = ""; + + for (var b = 0x80; b < 0x100; b++) { + + try { + var convertedChar = iconvToUtf8.convert(new Buffer([b])).toString(); + + if (convertedChar.length != 1) + throw new Error("Single-byte encoding error: Must return single char."); + } catch (exception) { + if (exception.code === "EILSEQ") { + convertedChar = "\ufffd"; + } else { + throw exception; + } + } + + chars += convertedChar; + } + + return chars; +} diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/index.js b/static/js/node_modules/grunt/node_modules/iconv-lite/index.js new file mode 100644 index 0000000..a55691b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/index.js @@ -0,0 +1,231 @@ +var RE_SPACEDASH = /[- ]/g; +// Module exports +var iconv = module.exports = { + toEncoding: function(str, encoding) { + return iconv.getCodec(encoding).toEncoding(str); + }, + fromEncoding: function(buf, encoding) { + return iconv.getCodec(encoding).fromEncoding(buf); + }, + encodingExists: function(enc) { + loadEncodings(); + enc = enc.replace(RE_SPACEDASH, "").toLowerCase(); + return (iconv.encodings[enc] !== undefined); + }, + + defaultCharUnicode: '�', + defaultCharSingleByte: '?', + + encodingsLoaded: false, + + // Get correct codec for given encoding. + getCodec: function(encoding) { + loadEncodings(); + var enc = encoding || "utf8"; + var codecOptions = undefined; + while (1) { + if (getType(enc) === "String") + enc = enc.replace(RE_SPACEDASH, "").toLowerCase(); + var codec = iconv.encodings[enc]; + var type = getType(codec); + if (type === "String") { + // Link to other encoding. + codecOptions = {originalEncoding: enc}; + enc = codec; + } + else if (type === "Object" && codec.type != undefined) { + // Options for other encoding. + codecOptions = codec; + enc = codec.type; + } + else if (type === "Function") + // Codec itself. + return codec(codecOptions); + else + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '"+enc+"')"); + } + }, + + // Define basic encodings + encodings: { + internal: function(options) { + return { + toEncoding: toInternalEncoding, + fromEncoding: fromInternalEncoding, + options: options + }; + }, + utf8: "internal", + ucs2: "internal", + binary: "internal", + ascii: "internal", + base64: "internal", + + // Codepage single-byte encodings. + singlebyte: function(options) { + // Prepare chars if needed + if (!options.charsBuf) { + if (!options.chars || (options.chars.length !== 128 && options.chars.length !== 256)) + throw new Error("Encoding '"+options.type+"' has incorrect 'chars' (must be of len 128 or 256)"); + + if (options.chars.length === 128) + options.chars = asciiString + options.chars; + + options.charsBuf = new Buffer(options.chars, 'ucs2'); + } + + if (!options.revCharsBuf) { + options.revCharsBuf = new Buffer(65536); + var defChar = iconv.defaultCharSingleByte.charCodeAt(0); + for (var i = 0; i < options.revCharsBuf.length; i++) + options.revCharsBuf[i] = defChar; + for (var i = 0; i < options.chars.length; i++) + options.revCharsBuf[options.chars.charCodeAt(i)] = i; + } + + return { + toEncoding: toSingleByteEncoding, + fromEncoding: fromSingleByteEncoding, + options: options, + }; + }, + + // Codepage double-byte encodings. + table: function(options) { + if (!options.table) { + throw new Error("Encoding '" + options.type + "' has incorect 'table' option"); + } + if (!options.revCharsTable) { + var revCharsTable = options.revCharsTable = {}; + for (var i = 0; i <= 0xFFFF; i++) { + revCharsTable[i] = 0; + } + + var table = options.table; + for (var key in table) { + revCharsTable[table[key]] = +key; + } + } + + return { + toEncoding: toTableEncoding, + fromEncoding: fromTableEncoding, + options: options, + }; + } + } +}; + +function toInternalEncoding(str) { + return new Buffer(ensureString(str), this.options.originalEncoding); +} + +function fromInternalEncoding(buf) { + return ensureBuffer(buf).toString(this.options.originalEncoding); +} + +function toTableEncoding(str) { + str = ensureString(str); + var strLen = str.length; + var revCharsTable = this.options.revCharsTable; + var newBuf = new Buffer(strLen*2), gbkcode, unicode, + defaultChar = revCharsTable[iconv.defaultCharUnicode.charCodeAt(0)]; + + for (var i = 0, j = 0; i < strLen; i++) { + unicode = str.charCodeAt(i); + if (unicode >> 7) { + gbkcode = revCharsTable[unicode] || defaultChar; + newBuf[j++] = gbkcode >> 8; //high byte; + newBuf[j++] = gbkcode & 0xFF; //low byte + } else {//ascii + newBuf[j++] = unicode; + } + } + return newBuf.slice(0, j); +} + +function fromTableEncoding(buf) { + buf = ensureBuffer(buf); + var bufLen = buf.length; + var table = this.options.table; + var newBuf = new Buffer(bufLen*2), unicode, gbkcode, + defaultChar = iconv.defaultCharUnicode.charCodeAt(0); + + for (var i = 0, j = 0; i < bufLen; i++, j+=2) { + gbkcode = buf[i]; + if (gbkcode & 0x80) { + gbkcode = (gbkcode << 8) + buf[++i]; + unicode = table[gbkcode] || defaultChar; + } else { + unicode = gbkcode; + } + newBuf[j] = unicode & 0xFF; //low byte + newBuf[j+1] = unicode >> 8; //high byte + } + return newBuf.slice(0, j).toString('ucs2'); +} + +function toSingleByteEncoding(str) { + str = ensureString(str); + + var buf = new Buffer(str.length); + var revCharsBuf = this.options.revCharsBuf; + for (var i = 0; i < str.length; i++) + buf[i] = revCharsBuf[str.charCodeAt(i)]; + + return buf; +} + +function fromSingleByteEncoding(buf) { + buf = ensureBuffer(buf); + + // Strings are immutable in JS -> we use ucs2 buffer to speed up computations. + var charsBuf = this.options.charsBuf; + var newBuf = new Buffer(buf.length*2); + var idx1 = 0, idx2 = 0; + for (var i = 0, _len = buf.length; i < _len; i++) { + idx1 = buf[i]*2; idx2 = i*2; + newBuf[idx2] = charsBuf[idx1]; + newBuf[idx2+1] = charsBuf[idx1+1]; + } + return newBuf.toString('ucs2'); +} + +// Add aliases to convert functions +iconv.encode = iconv.toEncoding; +iconv.decode = iconv.fromEncoding; + +// Load other encodings manually from files in /encodings dir. +function loadEncodings() { + if (!iconv.encodingsLoaded) { + [ require('./encodings/singlebyte'), + require('./encodings/gbk'), + require('./encodings/big5') + ].forEach(function(encodings) { + for (var key in encodings) + iconv.encodings[key] = encodings[key] + }); + iconv.encodingsLoaded = true; + } +} + + + +// Utilities +var asciiString = '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f'+ + ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f'; + +var ensureBuffer = function(buf) { + buf = buf || new Buffer(0); + return (buf instanceof Buffer) ? buf : new Buffer(""+buf, "binary"); +} + +var ensureString = function(str) { + str = str || ""; + return (str instanceof Buffer) ? str.toString('utf8') : (""+str); +} + +var getType = function(obj) { + return Object.prototype.toString.call(obj).slice(8, -1); +} + diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/package.json b/static/js/node_modules/grunt/node_modules/iconv-lite/package.json new file mode 100644 index 0000000..098d1f3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/package.json @@ -0,0 +1,80 @@ +{ + "name": "iconv-lite", + "description": "Convert character encodings in pure javascript.", + "version": "0.2.11", + "license": "MIT", + "keywords": [ + "iconv", + "convert", + "charset" + ], + "author": { + "name": "Alexander Shtuchkin", + "email": "ashtuchkin@gmail.com" + }, + "contributors": [ + { + "name": "Jinwu Zhan", + "url": "https://github.com/jenkinv" + }, + { + "name": "Adamansky Anton", + "url": "https://github.com/adamansky" + }, + { + "name": "George Stagas", + "url": "https://github.com/stagas" + }, + { + "name": "Mike D Pilsbury", + "url": "https://github.com/pekim" + }, + { + "name": "Niggler", + "url": "https://github.com/Niggler" + }, + { + "name": "wychi", + "url": "https://github.com/wychi" + }, + { + "name": "David Kuo", + "url": "https://github.com/david50407" + }, + { + "name": "ChangZhuo Chen", + "url": "https://github.com/czchen" + }, + { + "name": "Lee Treveil", + "url": "https://github.com/leetreveil" + }, + { + "name": "Brian White", + "url": "https://github.com/mscdex" + } + ], + "main": "index.js", + "homepage": "https://github.com/ashtuchkin/iconv-lite", + "repository": { + "type": "git", + "url": "git://github.com/ashtuchkin/iconv-lite.git" + }, + "engines": { + "node": ">=0.4.0" + }, + "scripts": { + "test": "vows --spec" + }, + "devDependencies": { + "vows": "", + "iconv": ">=1.1" + }, + "readme": "iconv-lite - pure javascript character encoding conversion\n======================================================================\n\n[![Build Status](https://secure.travis-ci.org/ashtuchkin/iconv-lite.png?branch=master)](http://travis-ci.org/ashtuchkin/iconv-lite)\n\n## Features\n\n* Pure javascript. Doesn't need native code compilation.\n* Easy API.\n* Works on Windows and in sandboxed environments like [Cloud9](http://c9.io).\n* Encoding is much faster than node-iconv (see below for performance comparison).\n\n## Usage\n\n var iconv = require('iconv-lite');\n \n // Convert from an encoded buffer to string.\n str = iconv.decode(buf, 'win1251');\n \n // Convert from string to an encoded buffer.\n buf = iconv.encode(\"Sample input string\", 'win1251');\n\n // Check if encoding is supported\n iconv.encodingExists(\"us-ascii\")\n\n\n## Supported encodings\n\n* All node.js native encodings: 'utf8', 'ucs2', 'ascii', 'binary', 'base64'\n* All widespread single byte encodings: Windows 125x family, ISO-8859 family, \n IBM/DOS codepages, Macintosh family, KOI8 family. \n Aliases like 'latin1', 'us-ascii' also supported.\n* Multibyte encodings: 'gbk', 'gb2313', 'Big5', 'cp950'.\n\nOthers are easy to add, see the source. Please, participate.\nMost encodings are generated from node-iconv. Thank you Ben Noordhuis and iconv authors!\n\nNot supported yet: EUC family, Shift_JIS.\n\n\n## Encoding/decoding speed\n\nComparison with node-iconv module (1000x256kb, on Ubuntu 12.04, Core i5/2.5 GHz, Node v0.8.7). \nNote: your results may vary, so please always check on your hardware.\n\n operation iconv@1.2.4 iconv-lite@0.2.4 \n ----------------------------------------------------------\n encode('win1251') ~115 Mb/s ~230 Mb/s\n decode('win1251') ~95 Mb/s ~130 Mb/s\n\n\n## Notes\n\nWhen decoding, a 'binary'-encoded string can be used as a source buffer. \nUntranslatable characters are set to � or ?. No transliteration is currently supported, pull requests are welcome.\n\n## Testing\n\n git clone git@github.com:ashtuchkin/iconv-lite.git\n cd iconv-lite\n npm install\n npm test\n \n # To view performance:\n node test/performance.js\n\n## TODO\n\n* Support streaming character conversion, something like util.pipe(req, iconv.fromEncodingStream('latin1')).\n* Add more encodings.\n* Add transliteration (best fit char).\n* Add tests and correct support of variable-byte encodings (currently work is delegated to node).\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/ashtuchkin/iconv-lite/issues" + }, + "_id": "iconv-lite@0.2.11", + "_from": "iconv-lite@~0.2.11" +} diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/big5-test.js b/static/js/node_modules/grunt/node_modules/iconv-lite/test/big5-test.js new file mode 100644 index 0000000..f3fe1a8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/big5-test.js @@ -0,0 +1,36 @@ +var vows = require('vows'), + fs = require('fs'), + assert = require('assert'), + iconv = require(__dirname + '/../'); + +var testString = "中文abc", //unicode contains Big5-code and ascii + testStringBig5Buffer = new Buffer([0xa4,0xa4,0xa4,0xe5,0x61,0x62,0x63]), + testString2 = '測試', + testStringBig5Buffer2 = new Buffer([0xb4, 0xfa, 0xb8, 0xd5]); + +vows.describe("Big5 tests").addBatch({ + "Big5 correctly encoded/decoded": function() { + assert.strictEqual(iconv.toEncoding(testString, "big5").toString('binary'), testStringBig5Buffer.toString('binary')); + assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer, "big5"), testString); + assert.strictEqual(iconv.toEncoding(testString2, 'big5').toString('binary'), testStringBig5Buffer2.toString('binary')); + assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer2, 'big5'), testString2); + }, + "cp950 correctly encoded/decoded": function() { + assert.strictEqual(iconv.toEncoding(testString, "cp950").toString('binary'), testStringBig5Buffer.toString('binary')); + assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer, "cp950"), testString); + }, + "Big5 file read decoded,compare with iconv result": function() { + var contentBuffer = fs.readFileSync(__dirname+"/big5File.txt"); + var str = iconv.fromEncoding(contentBuffer, "big5"); + var iconvc = new (require('iconv').Iconv)('big5','utf8'); + assert.strictEqual(iconvc.convert(contentBuffer).toString(), str); + }, + "Big5 correctly decodes and encodes characters · and ×": function() { + // https://github.com/ashtuchkin/iconv-lite/issues/13 + // Reference: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + var chars = "·×"; + var big5Chars = new Buffer([0xA1, 0x50, 0xA1, 0xD1]); + assert.strictEqual(iconv.toEncoding(chars, "big5").toString('binary'), big5Chars.toString('binary')); + assert.strictEqual(iconv.fromEncoding(big5Chars, "big5"), chars) + }, +}).export(module) diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/big5File.txt b/static/js/node_modules/grunt/node_modules/iconv-lite/test/big5File.txt new file mode 100644 index 0000000..515b251 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/big5File.txt @@ -0,0 +1,13 @@ + + + meta ҪϥΡG + + + + +oO@c餤I
        +(This page uses big5 character set.)
        +charset=big5 + + + \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js b/static/js/node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js new file mode 100644 index 0000000..259d283 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js @@ -0,0 +1,86 @@ +var vows = require('vows'), + assert = require('assert'), + iconv = require(__dirname+'/../'); + +var baseStrings = { + empty: "", + hi: "Привет!", + ascii: '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f'+ + ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f', + rus: "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя", + additional1: "ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬\xAD®Ї°±Ііґµ¶·ё№є»јЅѕї", + additional2: "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©", + additional3: " ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏ№ёђѓєѕіїјљњћќ§ўџ", + untranslatable: "£Åçþÿ¿", +}; + +var encodings = [{ + name: "Win-1251", + variations: ['win1251', 'Windows-1251', 'windows1251', 'CP1251', 1251], + encodedStrings: { + empty: new Buffer(''), + hi: new Buffer('\xcf\xf0\xe8\xe2\xe5\xf2!', 'binary'), + ascii: new Buffer(baseStrings.ascii, 'binary'), + rus: new Buffer('\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff', 'binary'), + additional1: new Buffer('\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf','binary'), + } +}, { + name: "Koi8-R", + variations: ['koi8r', 'KOI8-R', 'cp20866', 20866], + encodedStrings: { + empty: new Buffer(''), + hi: new Buffer('\xf0\xd2\xc9\xd7\xc5\xd4!', 'binary'), + ascii: new Buffer(baseStrings.ascii, 'binary'), + rus: new Buffer('\xe1\xe2\xf7\xe7\xe4\xe5\xf6\xfa\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf2\xf3\xf4\xf5\xe6\xe8\xe3\xfe\xfb\xfd\xff\xf9\xf8\xfc\xe0\xf1\xc1\xc2\xd7\xc7\xc4\xc5\xd6\xda\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd2\xd3\xd4\xd5\xc6\xc8\xc3\xde\xdb\xdd\xdf\xd9\xd8\xdc\xc0\xd1', 'binary'), + additional2: new Buffer('\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf', 'binary'), + } +}, { + name: "ISO 8859-5", + variations: ['iso88595', 'ISO-8859-5', 'ISO 8859-5', 'cp28595', 28595], + encodedStrings: { + empty: new Buffer(''), + hi: new Buffer('\xbf\xe0\xd8\xd2\xd5\xe2!', 'binary'), + ascii: new Buffer(baseStrings.ascii, 'binary'), + rus: new Buffer('\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef', 'binary'), + additional3: new Buffer('\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff', 'binary'), + } +}]; + +var testsBatch = {}; +encodings.forEach(function(encoding) { + var enc = encoding.variations[0]; + var key = "hi"; + var tests = { + "Convert to empty buffer": function() { + assert.strictEqual(iconv.toEncoding("", enc).toString('binary'), new Buffer('').toString('binary')); + }, + "Convert from empty buffer": function() { + assert.strictEqual(iconv.fromEncoding(new Buffer(''), enc), ""); + }, + "Convert from buffer": function() { + for (var key in encoding.encodedStrings) + assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), + baseStrings[key]); + }, + "Convert to buffer": function() { + for (var key in encoding.encodedStrings) + assert.strictEqual(iconv.toEncoding(baseStrings[key], enc).toString('binary'), + encoding.encodedStrings[key].toString('binary')); + }, + "Try different variations of encoding": function() { + encoding.variations.forEach(function(enc) { + assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), baseStrings[key]); + assert.strictEqual(iconv.toEncoding(baseStrings[key], enc).toString('binary'), encoding.encodedStrings[key].toString('binary')); + }); + }, + "Untranslatable chars are converted to defaultCharSingleByte": function() { + var expected = baseStrings.untranslatable.split('').map(function(c) {return iconv.defaultCharSingleByte; }).join(''); + assert.strictEqual(iconv.toEncoding(baseStrings.untranslatable, enc).toString('binary'), expected); // Only '?' characters. + } + }; + + testsBatch[encoding.name+":"] = tests; +}); + +vows.describe("Test Cyrillic encodings").addBatch(testsBatch).export(module); + diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js b/static/js/node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js new file mode 100644 index 0000000..7b2e47b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js @@ -0,0 +1,38 @@ +var vows = require('vows'), + fs = require('fs'), + assert = require('assert'), + iconv = require(__dirname+'/../'); + +var testString = "中国abc",//unicode contains GBK-code and ascii + testStringGBKBuffer = new Buffer([0xd6,0xd0,0xb9,0xfa,0x61,0x62,0x63]); + +vows.describe("GBK tests").addBatch({ + "Vows is working": function() {}, + "Return values are of correct types": function() { + assert.ok(iconv.toEncoding(testString, "utf8") instanceof Buffer); + var s = iconv.fromEncoding(new Buffer(testString), "utf8"); + assert.strictEqual(Object.prototype.toString.call(s), "[object String]"); + }, + "GBK correctly encoded/decoded": function() { + assert.strictEqual(iconv.toEncoding(testString, "GBK").toString('binary'), testStringGBKBuffer.toString('binary')); + assert.strictEqual(iconv.fromEncoding(testStringGBKBuffer, "GBK"), testString); + }, + "GB2312 correctly encoded/decoded": function() { + assert.strictEqual(iconv.toEncoding(testString, "GB2312").toString('binary'), testStringGBKBuffer.toString('binary')); + assert.strictEqual(iconv.fromEncoding(testStringGBKBuffer, "GB2312"), testString); + }, + "GBK file read decoded,compare with iconv result": function() { + var contentBuffer = fs.readFileSync(__dirname+"/gbkFile.txt"); + var str = iconv.fromEncoding(contentBuffer, "GBK"); + var iconvc = new (require('iconv').Iconv)('GBK','utf8'); + assert.strictEqual(iconvc.convert(contentBuffer).toString(), str); + }, + "GBK correctly decodes and encodes characters · and ×": function() { + // https://github.com/ashtuchkin/iconv-lite/issues/13 + // Reference: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT + var chars = "·×"; + var gbkChars = new Buffer([0xA1, 0xA4, 0xA1, 0xC1]); + assert.strictEqual(iconv.toEncoding(chars, "GBK").toString('binary'), gbkChars.toString('binary')); + assert.strictEqual(iconv.fromEncoding(gbkChars, "GBK"), chars) + }, +}).export(module) diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/gbkFile.txt b/static/js/node_modules/grunt/node_modules/iconv-lite/test/gbkFile.txt new file mode 100644 index 0000000..1154d0a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/gbkFile.txt @@ -0,0 +1,14 @@ +ٶһ£֪ + + +
         | ¼
        + + + + + + + + \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js b/static/js/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js new file mode 100644 index 0000000..0394ee6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js @@ -0,0 +1,79 @@ +var vows = require('vows'), + assert = require('assert'), + iconv = require(__dirname+'/../'); + +var baseStrings = { + empty: "", + hi: "Γειά!", + ascii: '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f'+ + ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f', + greek: "αβγδεζηθικλμνξοπρστυφχψωΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩάέήίόύώΆΈΉΊΌΎΏϊϋΪΫ", + untranslatable: "Åçþÿ¿" +}; + +var encodings = [{ + name: "windows1253", + variations: ['windows-1253', 'win-1253', 'win1253', 'cp1253', 'cp-1253', 1253], + encodedStrings: { + empty: new Buffer(''), + hi: new Buffer('\xc3\xe5\xe9\xdc!', 'binary'), + ascii: new Buffer(baseStrings.ascii, 'binary'), + greek: new Buffer('\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xdc\xdd\xde\xdf\xfc\xfd\xfe\xa2\xb8\xb9\xba\xbc\xbe\xbf\xfa\xfb\xda\xdb', 'binary'), + } +}, { + name: "iso88597", + variations: ['iso-8859-7', 'greek', 'greek8', 'cp28597', 'cp-28597', 28597], + encodedStrings: { + empty: new Buffer(''), + hi: new Buffer('\xc3\xe5\xe9\xdc!', 'binary'), + ascii: new Buffer(baseStrings.ascii, 'binary'), + greek: new Buffer('\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xdc\xdd\xde\xdf\xfc\xfd\xfe\xb6\xb8\xb9\xba\xbc\xbe\xbf\xfa\xfb\xda\xdb', 'binary'), + } +}, { + name: "cp737", + variations: ['cp-737', 737], + encodedStrings: { + empty: new Buffer(''), + hi: new Buffer('\x82\x9c\xa0\xe1!', 'binary'), + ascii: new Buffer(baseStrings.ascii, 'binary'), + greek: new Buffer('\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xab\xac\xad\xae\xaf\xe0\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\xe1\xe2\xe3\xe5\xe6\xe7\xe9\xea\xeb\xec\xed\xee\xef\xf0\xe4\xe8\xf4\xf5', 'binary'), + } +}]; + +var testsBatch = {}; +encodings.forEach(function(encoding) { + var enc = encoding.variations[0]; + var key = "hi"; + var tests = { + "Convert to empty buffer": function() { + assert.strictEqual(iconv.toEncoding("", enc).toString('binary'), new Buffer('').toString('binary')); + }, + "Convert from empty buffer": function() { + assert.strictEqual(iconv.fromEncoding(new Buffer(''), enc), ""); + }, + "Convert from buffer": function() { + for (var key in encoding.encodedStrings) + assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), + baseStrings[key]); + }, + "Convert to buffer": function() { + for (var key in encoding.encodedStrings) + assert.strictEqual(iconv.toEncoding(baseStrings[key], enc).toString('binary'), + encoding.encodedStrings[key].toString('binary')); + }, + "Try different variations of encoding": function() { + encoding.variations.forEach(function(enc) { + assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), baseStrings[key]); + assert.strictEqual(iconv.toEncoding(baseStrings[key], enc).toString('binary'), encoding.encodedStrings[key].toString('binary')); + }); + }, + "Untranslatable chars are converted to defaultCharSingleByte": function() { + var expected = baseStrings.untranslatable.split('').map(function(c) {return iconv.defaultCharSingleByte; }).join(''); + assert.strictEqual(iconv.toEncoding(baseStrings.untranslatable, enc).toString('binary'), expected); // Only '?' characters. + } + }; + + testsBatch[encoding.name+":"] = tests; +}); + +vows.describe("Test Greek encodings").addBatch(testsBatch).export(module); diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/main-test.js b/static/js/node_modules/grunt/node_modules/iconv-lite/test/main-test.js new file mode 100644 index 0000000..50177f2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/main-test.js @@ -0,0 +1,55 @@ +var vows = require('vows'), + assert = require('assert'), + iconv = require(__dirname+'/../'); + +var testString = "Hello123!"; +var testStringLatin1 = "Hello123!£Å÷×çþÿ¿®"; +var testStringBase64 = "SGVsbG8xMjMh"; + +vows.describe("Generic UTF8-UCS2 tests").addBatch({ + "Vows is working": function() {}, + "Return values are of correct types": function() { + assert.ok(iconv.toEncoding(testString, "utf8") instanceof Buffer); + + var s = iconv.fromEncoding(new Buffer(testString), "utf8"); + assert.strictEqual(Object.prototype.toString.call(s), "[object String]"); + }, + "Internal encodings all correctly encoded/decoded": function() { + ['utf8', "UTF-8", "UCS2", "binary", ""].forEach(function(enc) { + assert.strictEqual(iconv.toEncoding(testStringLatin1, enc).toString(enc), testStringLatin1); + assert.strictEqual(iconv.fromEncoding(new Buffer(testStringLatin1, enc), enc), testStringLatin1); + }); + }, + "Base64 correctly encoded/decoded": function() { + assert.strictEqual(iconv.toEncoding(testStringBase64, "base64").toString("binary"), testString); + assert.strictEqual(iconv.fromEncoding(new Buffer(testString, "binary"), "base64"), testStringBase64); + }, + "Latin1 correctly encoded/decoded": function() { + assert.strictEqual(iconv.toEncoding(testStringLatin1, "latin1").toString("binary"), testStringLatin1); + assert.strictEqual(iconv.fromEncoding(new Buffer(testStringLatin1, "binary"), "latin1"), testStringLatin1); + }, + "Convert from string, not buffer (binary encoding used)": function() { + assert.strictEqual(iconv.fromEncoding(testStringLatin1, "binary"), testStringLatin1); + }, + "Convert to string, not buffer (utf8 used)": function() { + var res = iconv.toEncoding(new Buffer(testStringLatin1, "utf8")); + assert.ok(res instanceof Buffer); + assert.strictEqual(res.toString("utf8"), testStringLatin1); + }, + "Throws on unknown encodings": function() { + assert.throws(function() { iconv.toEncoding("a", "xxx"); }); + assert.throws(function() { iconv.fromEncoding("a", "xxx"); }); + }, + "Convert non-strings and non-buffers": function() { + assert.strictEqual(iconv.toEncoding({}, "utf8").toString(), "[object Object]"); + assert.strictEqual(iconv.toEncoding(10, "utf8").toString(), "10"); + assert.strictEqual(iconv.toEncoding(undefined, "utf8").toString(), ""); + assert.strictEqual(iconv.fromEncoding({}, "utf8"), "[object Object]"); + assert.strictEqual(iconv.fromEncoding(10, "utf8"), "10"); + assert.strictEqual(iconv.fromEncoding(undefined, "utf8"), ""); + }, + "Aliases encode and decode work the same as toEncoding and fromEncoding": function() { + assert.strictEqual(iconv.toEncoding(testString, "latin1").toString("binary"), iconv.encode(testString, "latin1").toString("binary")); + assert.strictEqual(iconv.fromEncoding(testStringLatin1, "latin1"), iconv.decode(testStringLatin1, "latin1")); + }, +}).export(module) diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/performance.js b/static/js/node_modules/grunt/node_modules/iconv-lite/test/performance.js new file mode 100644 index 0000000..835deac --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/performance.js @@ -0,0 +1,67 @@ + +var iconv = require('iconv'); +var iconv_lite = require("../index"); + +var encoding = process.argv[2] || "windows-1251"; +var convertTimes = 10000; + +var encodingStrings = { + 'windows-1251': 'This is a test string 32 chars..', + 'gbk': '这是中文字符测试。。!@¥%12', + 'utf8': '这是中文字符测试。。!@¥%12This is a test string 48 chars..', +}; +// Test encoding. +var str = encodingStrings[encoding]; +if (!str) { + throw new Error('Don\'t support ' + encoding + ' performance test.'); +} +for (var i = 0; i < 13; i++) { + str = str + str; +} + +console.log('\n' + encoding + ' charset performance test:'); +console.log("\nEncoding "+str.length+" chars "+convertTimes+" times:"); + +var start = Date.now(); +var converter = new iconv.Iconv("utf8", encoding); +for (var i = 0; i < convertTimes; i++) { + var b = converter.convert(str); +} +var duration = Date.now() - start; +var mbs = convertTimes*b.length/duration/1024; + +console.log("iconv: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); + +var start = Date.now(); +for (var i = 0; i < convertTimes; i++) { + var b = iconv_lite.encode(str, encoding); +} +var duration = Date.now() - start; +var mbs = convertTimes*b.length/duration/1024; + +console.log("iconv-lite: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); + + +// Test decoding. +var buf = iconv_lite.encode(str, encoding); +console.log("\nDecoding "+buf.length+" bytes "+convertTimes+" times:"); + +var start = Date.now(); +var converter = new iconv.Iconv(encoding, "utf8"); +for (var i = 0; i < convertTimes; i++) { + var s = converter.convert(buf).toString(); +} +var duration = Date.now() - start; +var mbs = convertTimes*buf.length/duration/1024; + +console.log("iconv: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); + +var start = Date.now(); +for (var i = 0; i < convertTimes; i++) { + var s = iconv_lite.decode(buf, encoding); +} +var duration = Date.now() - start; +var mbs = convertTimes*buf.length/duration/1024; + +console.log("iconv-lite: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); + diff --git a/static/js/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js b/static/js/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js new file mode 100644 index 0000000..b2eb68e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js @@ -0,0 +1,90 @@ +var vows = require('vows'), + assert = require('assert'), + iconv = require(__dirname+'/../'); + +var ascii = '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f'+ + ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f'; + +var encodings = [{ + name: "windows1254", + variations: ['windows-1254', 'win-1254', 'win1254', 'cp1254', 'cp-1254', 1254], + strings: { + empty: "", + ascii: ascii, + turkish: "€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ", + untranslatable: "\x81\x8d\x8e\x8f\x90\x9d\x9e" + }, + encodedStrings: { + empty: new Buffer(''), + ascii: new Buffer(ascii, 'binary'), + turkish: new Buffer( + '\x80\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c' + + '\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9f' + + '\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xae\xaf' + + '\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf' + + '\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf' + + '\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf' + + '\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef' + + '\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff', + 'binary'), + } +}, { + name: "iso88599", + variations: ['iso-8859-9', 'turkish', 'turkish8', 'cp28599', 'cp-28599', 28599], + strings: { + empty: "", + ascii: ascii, + turkish: "\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ", + untranslatable: '' + }, + encodedStrings: { + empty: new Buffer(''), + ascii: new Buffer(ascii, 'binary'), + turkish: new Buffer( + '\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf' + + '\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf' + + '\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf' + + '\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf' + + '\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef' + + '\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff', + 'binary') + } +}]; + +var testsBatch = {}; +encodings.forEach(function(encoding) { + var enc = encoding.variations[0]; + var key = "turkish"; + var tests = { + "Convert to empty buffer": function() { + assert.strictEqual(iconv.toEncoding("", enc).toString('binary'), new Buffer('').toString('binary')); + }, + "Convert from empty buffer": function() { + assert.strictEqual(iconv.fromEncoding(new Buffer(''), enc), ""); + }, + "Convert from buffer": function() { + for (var key in encoding.encodedStrings) + assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), + encoding.strings[key]); + }, + "Convert to buffer": function() { + for (var key in encoding.encodedStrings) + assert.strictEqual(iconv.toEncoding(encoding.strings[key], enc).toString('binary'), + encoding.encodedStrings[key].toString('binary')); + }, + "Try different variations of encoding": function() { + encoding.variations.forEach(function(enc) { + assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), encoding.strings[key]); + assert.strictEqual(iconv.toEncoding(encoding.strings[key], enc).toString('binary'), encoding.encodedStrings[key].toString('binary')); + }); + }, + "Untranslatable chars are converted to defaultCharSingleByte": function() { + var expected = encoding.strings.untranslatable.split('').map(function(c) {return iconv.defaultCharSingleByte; }).join(''); + assert.strictEqual(iconv.toEncoding(encoding.strings.untranslatable, enc).toString('binary'), expected); // Only '?' characters. + } + }; + + testsBatch[encoding.name+":"] = tests; +}); + +vows.describe("Test Turkish encodings").addBatch(testsBatch).export(module); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/HISTORY.md b/static/js/node_modules/grunt/node_modules/js-yaml/HISTORY.md new file mode 100644 index 0000000..dfc48c2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/HISTORY.md @@ -0,0 +1,155 @@ +2.0.5 / 2013-04-26 +------------------ + +* Close security issue in !!js/function constructor. + Big thanks to @nealpoole for security audit. + + +2.0.4 / 2013-04-08 +------------------ + +* Updated .npmignore to reduce package size + + +2.0.3 / 2013-02-26 +------------------ + +* Fixed dumping of empty arrays ans objects. ([] and {} instead of null) + + +2.0.2 / 2013-02-15 +------------------ + +* Fixed input validation: tabs are printable characters. + + +2.0.1 / 2013-02-09 +------------------ + +* Fixed error, when options not passed to function cass + + +2.0.0 / 2013-02-09 +------------------ + +* Full rewrite. New architecture. Fast one-stage parsing. +* Changed custom types API. +* Added YAML dumper. + + +1.0.3 / 2012-11-05 +------------------ + +* Fixed utf-8 files loading. + + +1.0.2 / 2012-08-02 +------------------ + +* Pull out hand-written shims. Use ES5-Shims for old browsers support. See #44. +* Fix timstamps incorectly parsed in local time when no time part specified. + + +1.0.1 / 2012-07-07 +------------------ + +* Fixes `TypeError: 'undefined' is not an object` under Safari. Thanks Phuong. +* Fix timestamps incorrectly parsed in local time. Thanks @caolan. Closes #46. + + +1.0.0 / 2012-07-01 +------------------ + +* `y`, `yes`, `n`, `no`, `on`, `off` are not converted to Booleans anymore. + Fixes #42. +* `require(filename)` now returns a single document and throws an Error if + file contains more than one document. +* CLI was merged back from js-yaml.bin + + +0.3.7 / 2012-02-28 +------------------ + +* Fix export of `addConstructor()`. Closes #39. + + +0.3.6 / 2012-02-22 +------------------ + +* Removed AMD parts - too buggy to use. Need help to rewrite from scratch +* Removed YUI compressor warning (renamed `double` variable). Closes #40. + + +0.3.5 / 2012-01-10 +------------------ + +* Workagound for .npmignore fuckup under windows. Thanks to airportyh. + + +0.3.4 / 2011-12-24 +------------------ + +* Fixes str[] for oldIEs support. +* Adds better has change support for browserified demo. +* improves compact output of Error. Closes #33. + + +0.3.3 / 2011-12-20 +------------------ + +* jsyaml executable moved to separate module. +* adds `compact` stringification of Errors. + + +0.3.2 / 2011-12-16 +------------------ + +* Fixes ug with block style scalars. Closes #26. +* All sources are passing JSLint now. +* Fixes bug in Safari. Closes #28. +* Fixes bug in Opers. Closes #29. +* Improves browser support. Closes #20. +* Added jsyaml executable. +* Added !!js/function support. Closes #12. + + +0.3.1 / 2011-11-18 +------------------ + +* Added AMD support for browserified version. +* Wrapped browserified js-yaml into closure. +* Fixed the resolvement of non-specific tags. Closes #17. +* Added permalinks for online demo YAML snippets. Now we have YPaste service, lol. +* Added !!js/regexp and !!js/undefined types. Partially solves #12. +* Fixed !!set mapping. +* Fixed month parse in dates. Closes #19. + + +0.3.0 / 2011-11-09 +------------------ + +* Removed JS.Class dependency. Closes #3. +* Added browserified version. Closes #13. +* Added live demo of browserified version. +* Ported some of the PyYAML tests. See #14. +* Fixed timestamp bug when fraction was given. + + +0.2.2 / 2011-11-06 +------------------ + +* Fixed crash on docs without ---. Closes #8. +* Fixed miltiline string parse +* Fixed tests/comments for using array as key + + +0.2.1 / 2011-11-02 +------------------ + +* Fixed short file read (<4k). Closes #9. + + +0.2.0 / 2011-11-02 +------------------ + +* First public release diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/LICENSE b/static/js/node_modules/grunt/node_modules/js-yaml/LICENSE new file mode 100644 index 0000000..0f16ee9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (C) 2011, 2013 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/README.md b/static/js/node_modules/grunt/node_modules/js-yaml/README.md new file mode 100644 index 0000000..e326d60 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/README.md @@ -0,0 +1,249 @@ +JS-YAML - YAML 1.2 parser and serializer for JavaScript +======================================================= + +[![Build Status](https://secure.travis-ci.org/nodeca/js-yaml.png)](http://travis-ci.org/nodeca/js-yaml) + +[Online Demo](http://nodeca.github.com/js-yaml/) + + +This is an implementation of [YAML](http://yaml.org/), a human friendly data +serialization language. Started as [PyYAML](http://pyyaml.org/) port, it was +completely rewritten from scratch. Now it's very fast, and supports 1.2 spec. + + +Breaking changes in 1.x.x -> 2.0.x +---------------------------------- + +If your have not used __custom__ tags or loader classes - no changes needed. Just +upgrade library and enjoy high parse speed. + +In other case, you should rewrite your tag constructors and custom loader +classes, to conform new schema-based API. See +[examples](https://github.com/nodeca/js-yaml/tree/master/examples) and +[wiki](https://github.com/nodeca/js-yaml/wiki) for details. +Note, that parser internals were completely rewritten. + + +Installation +------------ + +### YAML module for node.js + +``` +npm install js-yaml +``` + + +### CLI executable + +If you want to inspect your YAML files from CLI, install js-yaml globally: + +``` +npm install js-yaml -g +``` + +#### Usage + +``` +usage: js-yaml [-h] [-v] [-c] [-j] [-t] file + +Positional arguments: + file File with YAML document(s) + +Optional arguments: + -h, --help Show this help message and exit. + -v, --version Show program's version number and exit. + -c, --compact Display errors in compact mode + -j, --to-json Output a non-funky boring JSON + -t, --trace Show stack trace on error +``` + + +### Bundled YAML library for browsers + +``` html + + +``` + +Browser support was done mostly for online demo. If you find any errors - feel +free to send pull requests with fixes. Also note, that IE and other old browsers +needs [es5-shims](https://github.com/kriskowal/es5-shim) to operate. + + +API +--- + +Here we cover the most 'useful' methods. If you need advanced details (creating +your own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and +[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more +info. + +In node.js JS-YAML automatically registers handlers for `.yml` and `.yaml` +files. You can load them just with `require`. That's mostly equivalent to +calling `load()` on fetched content of a file. Just with one string! + +``` javascript +require('js-yaml'); + +// Get document, or throw exception on error +try { + var doc = require('/home/ixti/example.yml'); + console.log(doc); +} catch (e) { + console.log(e); +} +``` + + +### load (string [ , options ]) + +Parses `string` as single YAML document. Returns a JavaScript object or throws +`YAMLException` on error. + +NOTE: This function **does not** understands multi-document sources, it throws +exception on those. + +options: + +- `filename` _(default: null)_ - string to be used as a file path in + error/warning messages. +- `strict` _(default - false)_ makes the loader to throw errors instead of + warnings. +- `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use. + + +### loadAll (string, iterator [ , options ]) + +Same as `load()`, but understands multi-document sources and apply `iterator` to +each document. + +``` javascript +var yaml = require('js-yaml'); + +yaml.loadAll(data, function (doc) { + console.log(doc); +}); +``` + + +### safeLoad (string [ , options ]) + +Same as `load()` but uses `SAFE_SCHEMA` by default - only recommended tags of +YAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`). + + +### safeLoadAll (string, iterator [ , options ]) + +Same as `loadAll()` but uses `SAFE_SCHEMA` by default - only recommended tags of +YAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`). + + +### dump (object [ , options ]) + +Serializes `object` as YAML document. + +options: + +- `indent` _(default: 2)_ - indentation width to use (in spaces). +- `flowLevel` (default: -1) - specifies level of nesting, when to switch from + block to flow style for collections. -1 means block style everwhere +- `styles` - "tag" => "style" map. Each tag may have own set of styles. +- `schema` _(default: `DEFAULT_SCHEMA`)_ specifies a schema to use. + +styles: + +``` none +!!null + "canonical" => "~" + +!!int + "binary" => "0b1", "0b101010", "0b1110001111010" + "octal" => "01", "052", "016172" + "decimal" => "1", "42", "7290" + "hexadecimal" => "0x1", "0x2A", "0x1C7A" + +!!null, !!bool, !!float + "lowercase" => "null", "true", "false", ".nan", '.inf' + "uppercase" => "NULL", "TRUE", "FALSE", ".NAN", '.INF' + "camelcase" => "Null", "True", "False", ".NaN", '.Inf' +``` + +By default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`. + + +### safeDump (object [ , options ]) + +Same as `dump()` but uses `SAFE_SCHEMA` by default - only recommended tags of +YAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`). + + +Supported YAML types +-------------------- + +The list of standard YAML tags and corresponding JavaScipt types. See also +[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and +[YAML types repository](http://yaml.org/type/). + +``` +!!null '' # null +!!bool 'yes' # bool +!!int '3...' # number +!!float '3.14...' # number +!!binary '...base64...' # buffer +!!timestamp 'YYYY-...' # date +!!omap [ ... ] # array of key-value pairs +!!pairs [ ... ] # array or array pairs +!!set { ... } # array of objects with given keys and null values +!!str '...' # string +!!seq [ ... ] # array +!!map { ... } # object +``` + +**JavaScript-specific tags** + +``` +!!js/regexp /pattern/gim # RegExp +!!js/undefined '' # Undefined +!!js/function 'function () {...}' # Function +``` + + + + +## Caveats + +Note, that you use arrays or objects as key in JS-YAML. JS do not allows objects +or array as keys, and stringifies (by calling .toString method) them at the +moment of adding them. + +``` yaml +--- +? [ foo, bar ] +: - baz +? { foo: bar } +: - baz + - baz +``` + +``` javascript +{ "foo,bar": ["baz"], "[object Object]": ["baz", "baz"] } +``` + +Also, reading of properties on implicit block mapping keys is not supported yet. +So, the following YAML document cannot be loaded. + +``` yaml +&anchor foo: + foo: bar + *anchor: duplicate key + baz: bat + *anchor: duplicate key +``` + +## License + +View the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file +(MIT). diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js b/static/js/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js new file mode 100644 index 0000000..5110a4c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js @@ -0,0 +1,125 @@ +#!/usr/bin/env node + + +'use strict'; + + +// stdlib +var fs = require('fs'); +var util = require('util'); + + +// 3rd-party +var ArgumentParser = require('argparse').ArgumentParser; + + +// internal +var yaml = require('..'); + + +//////////////////////////////////////////////////////////////////////////////// + + +var cli = new ArgumentParser({ + prog: 'js-yaml', + version: require('../package.json').version, + addHelp: true +}); + + +cli.addArgument(['-c', '--compact'], { + help: 'Display errors in compact mode', + action: 'storeTrue' +}); + + +cli.addArgument(['-j', '--to-json'], { + help: 'Output a non-funky boring JSON', + dest: 'json', + action: 'storeTrue' +}); + + +cli.addArgument(['-t', '--trace'], { + help: 'Show stack trace on error', + action: 'storeTrue' +}); + + +cli.addArgument(['file'], { + help: 'File to read' +}); + + +//////////////////////////////////////////////////////////////////////////////// + + +var options = cli.parseArgs(); + + +//////////////////////////////////////////////////////////////////////////////// + + +fs.readFile(options.file, 'utf8', function (error, input) { + var output, isYaml; + + if (error) { + if ('ENOENT' === error.code) { + console.error('File not found: ' + options.file); + process.exit(2); + } + + console.error( + options.trace && error.stack || + error.message || + String(error)); + + process.exit(1); + } + + try { + output = JSON.parse(input); + isYaml = false; + } catch (error) { + if (error instanceof SyntaxError) { + try { + output = []; + yaml.loadAll(input, function (doc) { output.push(doc); }, {}); + isYaml = true; + + if (0 === output.length) { + output = null; + } else if (1 === output.length) { + output = output[0]; + } + } catch (error) { + if (options.trace && error.stack) { + console.error(error.stack); + } else { + console.error(error.toString(options.compact)); + } + + process.exit(1); + } + } else { + console.error( + options.trace && error.stack || + error.message || + String(error)); + + process.exit(1); + } + } + + if (isYaml) { + if (options.json) { + console.log(JSON.stringify(output, null, ' ')); + } else { + console.log("\n" + util.inspect(output, false, 10, true) + "\n"); + } + } else { + console.log(yaml.dump(output)); + } + + process.exit(0); +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js b/static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js new file mode 100644 index 0000000..1cb987c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js @@ -0,0 +1,104 @@ +'use strict'; + + +var fs = require('fs'); +var path = require('path'); +var util = require('util'); +var yaml = require('../lib/js-yaml'); + + +// Let define a couple of classes... + +function Point(x, y, z) { + this.klass = 'Point'; + this.x = x; + this.y = y; + this.z = z; +} + + +function Space(height, width, points) { + if (points) { + if (!points.every(function (point) { return point instanceof Point; })) { + throw new Error('A non-Point inside a points array!'); + } + } + + this.klass = 'Space'; + this.height = height; + this.width = width; + this.points = points; +} + + +// Let define YAML types to load and dump our Point/Space objects. + +var pointYamlType = new yaml.Type('!point', { + // The information used to load a Point. + loader: { + kind: 'array', // It must be an array. (sequence in YAML) + resolver: function (object) { + // It must contain exactly tree elements. + if (3 === object.length) { + return new Point(object[0], object[1], object[2]); + + // Otherwise, it is NOT a Point. + } else { + return yaml.NIL; + } + } + }, + // The information used to dump a Point. + dumper: { + kind: 'object', // It must be an object but not an array. + instanceOf: Point, // Also, it must be an instance of Point class. + representer: function (point) { + // And it should be represented in YAML as three-element sequence. + return [ point.x, point.y, point.z ]; + } + } +}); + + +var spaceYamlType = new yaml.Type('!space', { + loader: { + kind: 'object', // 'object' here means 'mapping' in YAML. + resolver: function (object) { + return new Space(object.height, object.width, object.points); + } + }, + dumper: { + kind: 'object', + instanceOf: Space + // The representer is omitted here. So, Space objects will be dumped as is. + // That is regular mapping with three key-value pairs but with !space tag. + } +}); + + +// After our types are defined, it's time to join them into a schema. + +var SPACE_SCHEMA = yaml.Schema.create([ spaceYamlType, pointYamlType ]); + + +// And read a document using that schema. + +fs.readFile(path.join(__dirname, 'custom_types.yaml'), 'utf8', function (error, data) { + var loaded; + + if (!error) { + loaded = yaml.load(data, { schema: SPACE_SCHEMA }); + console.log(util.inspect(loaded, false, 20, true)); + } else { + console.error(error.stack || error.message || String(error)); + } +}); + + +// There are some exports to play with this example interactively. + +module.exports.Point = Point; +module.exports.Space = Space; +module.exports.pointYamlType = pointYamlType; +module.exports.spaceYamlType = spaceYamlType; +module.exports.SPACE_SCHEMA = SPACE_SCHEMA; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml b/static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml new file mode 100644 index 0000000..033134f --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml @@ -0,0 +1,18 @@ +subject: Custom types in JS-YAML +spaces: +- !space + height: 1000 + width: 1000 + points: + - !point [ 10, 43, 23 ] + - !point [ 165, 0, 50 ] + - !point [ 100, 100, 100 ] + +- !space + height: 64 + width: 128 + points: + - !point [ 12, 43, 0 ] + - !point [ 1, 4, 90 ] + +- !space {} # An empty space diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.js b/static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.js new file mode 100644 index 0000000..7952b18 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.js @@ -0,0 +1,31 @@ +'use strict'; + + +var yaml = require('../lib/js-yaml'); +var object = require('./dumper.json'); + + +console.log(yaml.dump(object, { + flowLevel: 3, + styles: { + '!!int' : 'hexadecimal', + '!!null' : 'camelcase' + } +})); + + +// Output: +//============================================================================== +// name: Wizzard +// level: 0x11 +// sanity: Null +// inventory: +// - name: Hat +// features: [magic, pointed] +// traits: {} +// - name: Staff +// features: [] +// traits: {damage: 0xA} +// - name: Cloak +// features: [old] +// traits: {defence: 0x0, comfort: 0x3} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.json b/static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.json new file mode 100644 index 0000000..9f54c05 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/examples/dumper.json @@ -0,0 +1,22 @@ +{ + "name" : "Wizzard", + "level" : 17, + "sanity" : null, + "inventory" : [ + { + "name" : "Hat", + "features" : [ "magic", "pointed" ], + "traits" : {} + }, + { + "name" : "Staff", + "features" : [], + "traits" : { "damage" : 10 } + }, + { + "name" : "Cloak", + "features" : [ "old" ], + "traits" : { "defence" : 0, "comfort" : 3 } + } + ] +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js b/static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js new file mode 100644 index 0000000..1ce370d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js @@ -0,0 +1,15 @@ +'use strict'; + + +var inspect = require('util').inspect; + +// just require jsyaml +require('../lib/js-yaml'); + + +try { + var doc = require(__dirname + '/sample_document.yaml'); + console.log(inspect(doc, false, 10, true)); +} catch (e) { + console.log(e.stack || e.toString()); +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml b/static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml new file mode 100644 index 0000000..4479ee9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml @@ -0,0 +1,197 @@ +--- +# Collection Types ############################################################# +################################################################################ + +# http://yaml.org/type/map.html -----------------------------------------------# + +map: + # Unordered set of key: value pairs. + Block style: !!map + Clark : Evans + Ingy : döt Net + Oren : Ben-Kiki + Flow style: !!map { Clark: Evans, Ingy: döt Net, Oren: Ben-Kiki } + +# http://yaml.org/type/omap.html ----------------------------------------------# + +omap: + # Explicitly typed ordered map (dictionary). + Bestiary: !!omap + - aardvark: African pig-like ant eater. Ugly. + - anteater: South-American ant eater. Two species. + - anaconda: South-American constrictor snake. Scaly. + # Etc. + # Flow style + Numbers: !!omap [ one: 1, two: 2, three : 3 ] + +# http://yaml.org/type/pairs.html ---------------------------------------------# + +pairs: + # Explicitly typed pairs. + Block tasks: !!pairs + - meeting: with team. + - meeting: with boss. + - break: lunch. + - meeting: with client. + Flow tasks: !!pairs [ meeting: with team, meeting: with boss ] + +# http://yaml.org/type/set.html -----------------------------------------------# + +set: + # Explicitly typed set. + baseball players: !!set + ? Mark McGwire + ? Sammy Sosa + ? Ken Griffey + # Flow style + baseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees } + +# http://yaml.org/type/seq.html -----------------------------------------------# + +seq: + # Ordered sequence of nodes + Block style: !!seq + - Mercury # Rotates - no light/dark sides. + - Venus # Deadliest. Aptly named. + - Earth # Mostly dirt. + - Mars # Seems empty. + - Jupiter # The king. + - Saturn # Pretty. + - Uranus # Where the sun hardly shines. + - Neptune # Boring. No rings. + - Pluto # You call this a planet? + Flow style: !!seq [ Mercury, Venus, Earth, Mars, # Rocks + Jupiter, Saturn, Uranus, Neptune, # Gas + Pluto ] # Overrated + + +# Scalar Types ################################################################# +################################################################################ + +# http://yaml.org/type/binary.html --------------------------------------------# + +binary: + canonical: !!binary "\ + R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\ + OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\ + +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\ + AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=" + generic: !!binary | + R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5 + OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+ + +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC + AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs= + description: + The binary value above is a tiny arrow encoded as a gif image. + +# http://yaml.org/type/bool.html ----------------------------------------------# + +bool: + - true + - True + - TRUE + - false + - False + - FALSE + +# http://yaml.org/type/float.html ---------------------------------------------# + +float: + canonical: 6.8523015e+5 + exponentioal: 685.230_15e+03 + fixed: 685_230.15 + sexagesimal: 190:20:30.15 + negative infinity: -.inf + not a number: .NaN + +# http://yaml.org/type/int.html -----------------------------------------------# + +int: + canonical: 685230 + decimal: +685_230 + octal: 02472256 + hexadecimal: 0x_0A_74_AE + binary: 0b1010_0111_0100_1010_1110 + sexagesimal: 190:20:30 + +# http://yaml.org/type/merge.html ---------------------------------------------# + +merge: + - &CENTER { x: 1, y: 2 } + - &LEFT { x: 0, y: 2 } + - &BIG { r: 10 } + - &SMALL { r: 1 } + + # All the following maps are equal: + + - # Explicit keys + x: 1 + y: 2 + r: 10 + label: nothing + + - # Merge one map + << : *CENTER + r: 10 + label: center + + - # Merge multiple maps + << : [ *CENTER, *BIG ] + label: center/big + + - # Override + << : [ *BIG, *LEFT, *SMALL ] + x: 1 + label: big/left/small + +# http://yaml.org/type/null.html ----------------------------------------------# + +null: + # This mapping has four keys, + # one has a value. + empty: + canonical: ~ + english: null + ~: null key + # This sequence has five + # entries, two have values. + sparse: + - ~ + - 2nd entry + - + - 4th entry + - Null + +# http://yaml.org/type/str.html -----------------------------------------------# + +string: abcd + +# http://yaml.org/type/timestamp.html -----------------------------------------# + +timestamp: + canonical: 2001-12-15T02:59:43.1Z + valid iso8601: 2001-12-14t21:59:43.10-05:00 + space separated: 2001-12-14 21:59:43.10 -5 + no time zone (Z): 2001-12-15 2:59:43.10 + date (00:00:00Z): 2002-12-14 + + +# JavaScript Specific Types #################################################### +################################################################################ + +# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp + +regexp: + simple: !!js/regexp foobar + modifiers: !!js/regexp /foobar/mi + +# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/undefined + +undefined: !!js/undefined ~ + +# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function + +function: !!js/function > + function foobar() { + return 'Wow! JS-YAML Rocks!'; + } diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/index.js b/static/js/node_modules/grunt/node_modules/js-yaml/index.js new file mode 100644 index 0000000..40606dd --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/js-yaml.js'); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js new file mode 100644 index 0000000..a5146a3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js @@ -0,0 +1,33 @@ +'use strict'; + + +var loader = require('./js-yaml/loader'); +var dumper = require('./js-yaml/dumper'); + + +function deprecated(name) { + return function () { + throw new Error('Function ' + name + ' is deprecated and cannot be used.'); + }; +} + + +module.exports.Type = require('./js-yaml/type'); +module.exports.Schema = require('./js-yaml/schema'); +module.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/minimal'); +module.exports.SAFE_SCHEMA = require('./js-yaml/schema/safe'); +module.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default'); +module.exports.load = loader.load; +module.exports.loadAll = loader.loadAll; +module.exports.safeLoad = loader.safeLoad; +module.exports.safeLoadAll = loader.safeLoadAll; +module.exports.dump = dumper.dump; +module.exports.safeDump = dumper.safeDump; +module.exports.YAMLException = require('./js-yaml/exception'); +module.exports.scan = deprecated('scan'); +module.exports.parse = deprecated('parse'); +module.exports.compose = deprecated('compose'); +module.exports.addConstructor = deprecated('addConstructor'); + + +require('./js-yaml/require'); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js new file mode 100644 index 0000000..cc7f824 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js @@ -0,0 +1,60 @@ +'use strict'; + + +var NIL = {}; + + +function isNothing(subject) { + return (undefined === subject) || (null === subject); +} + + +function isObject(subject) { + return ('object' === typeof subject) && (null !== subject); +} + + +function toArray(sequence) { + if (Array.isArray(sequence)) { + return sequence; + } else if (isNothing(sequence)) { + return []; + } else { + return [ sequence ]; + } +} + + +function extend(target, source) { + var index, length, key, sourceKeys; + + if (source) { + sourceKeys = Object.keys(source); + + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + + return target; +} + + +function repeat(string, count) { + var result = '', cycle; + + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + + return result; +} + + +module.exports.NIL = NIL; +module.exports.isNothing = isNothing; +module.exports.isObject = isObject; +module.exports.toArray = toArray; +module.exports.repeat = repeat; +module.exports.extend = extend; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js new file mode 100644 index 0000000..2385f56 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js @@ -0,0 +1,437 @@ +'use strict'; + + +var common = require('./common'); +var NIL = common.NIL; +var YAMLException = require('./exception'); +var DEFAULT_SCHEMA = require('./schema/default'); +var SAFE_SCHEMA = require('./schema/safe'); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +var CHAR_TAB = 0x09; /* Tab */ +var CHAR_LINE_FEED = 0x0A; /* LF */ +var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ +var CHAR_SPACE = 0x20; /* Space */ +var CHAR_EXCLAMATION = 0x21; /* ! */ +var CHAR_DOUBLE_QUOTE = 0x22; /* " */ +var CHAR_SHARP = 0x23; /* # */ +var CHAR_PERCENT = 0x25; /* % */ +var CHAR_AMPERSAND = 0x26; /* & */ +var CHAR_SINGLE_QUOTE = 0x27; /* ' */ +var CHAR_ASTERISK = 0x2A; /* * */ +var CHAR_COMMA = 0x2C; /* , */ +var CHAR_MINUS = 0x2D; /* - */ +var CHAR_COLON = 0x3A; /* : */ +var CHAR_GREATER_THAN = 0x3E; /* > */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + + +function kindOf(object) { + var kind = typeof object; + + if (null === object) { + return 'null'; + } else if ('number' === kind) { + return 0 === object % 1 ? 'integer' : 'float'; + } else if ('object' === kind && Array.isArray(object)) { + return 'array'; + } else { + return kind; + } +} + + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (null === map) { + return {}; + } + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if ('!!' === tag.slice(0, 2)) { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + + type = schema.compiledTypeMap[tag]; + + if (type && type.dumper) { + if (_hasOwnProperty.call(type.dumper.styleAliases, style)) { + style = type.dumper.styleAliases[style]; + } + } + + result[tag] = style; + } + + return result; +} + + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + + +function dump(input, options) { + options = options || {}; + + var schema = options['schema'] || DEFAULT_SCHEMA, + indent = Math.max(1, (options['indent'] || 2)), + flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']), + styleMap = compileStyleMap(schema, options['styles'] || null), + + implicitTypes = schema.compiledImplicit, + explicitTypes = schema.compiledExplicit, + + kind, + tag, + result; + + function generateNextLine(level) { + return '\n' + common.repeat(' ', indent * level); + } + + function testImplicitResolving(object) { + var index, length, type; + + for (index = 0, length = implicitTypes.length; index < length; index += 1) { + type = implicitTypes[index]; + + if (null !== type.loader && + NIL !== type.loader.resolver(object, false)) { + return true; + } + } + + return false; + } + + function writeScalar(object) { + var isQuoted, checkpoint, position, length, character; + + result = ''; + isQuoted = false; + checkpoint = 0; + + if (0 === object.length || + CHAR_SPACE === object.charCodeAt(0) || + CHAR_SPACE === object.charCodeAt(object.length - 1)) { + isQuoted = true; + } + + for (position = 0, length = object.length; position < length; position += 1) { + character = object.charCodeAt(position); + + if (!isQuoted) { + if (CHAR_TAB === character || + CHAR_LINE_FEED === character || + CHAR_CARRIAGE_RETURN === character || + CHAR_COMMA === character || + CHAR_LEFT_SQUARE_BRACKET === character || + CHAR_RIGHT_SQUARE_BRACKET === character || + CHAR_LEFT_CURLY_BRACKET === character || + CHAR_RIGHT_CURLY_BRACKET === character || + CHAR_SHARP === character || + CHAR_AMPERSAND === character || + CHAR_ASTERISK === character || + CHAR_EXCLAMATION === character || + CHAR_VERTICAL_LINE === character || + CHAR_GREATER_THAN === character || + CHAR_SINGLE_QUOTE === character || + CHAR_DOUBLE_QUOTE === character || + CHAR_PERCENT === character || + CHAR_COMMERCIAL_AT === character || + CHAR_GRAVE_ACCENT === character || + CHAR_QUESTION === character || + CHAR_COLON === character || + CHAR_MINUS === character) { + isQuoted = true; + } + } + + if (ESCAPE_SEQUENCES[character] || + !((0x00020 <= character && character <= 0x00007E) || + (0x00085 === character) || + (0x000A0 <= character && character <= 0x00D7FF) || + (0x0E000 <= character && character <= 0x00FFFD) || + (0x10000 <= character && character <= 0x10FFFF))) { + result += object.slice(checkpoint, position); + result += ESCAPE_SEQUENCES[character] || encodeHex(character); + checkpoint = position + 1; + isQuoted = true; + } + } + + if (checkpoint < position) { + result += object.slice(checkpoint, position); + } + + if (!isQuoted && testImplicitResolving(result)) { + isQuoted = true; + } + + if (isQuoted) { + result = '"' + result + '"'; + } + } + + function writeFlowSequence(level, object) { + var _result = '', + _tag = tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + if (0 !== index) { + _result += ', '; + } + + writeNode(level, object[index], false, false); + _result += result; + } + + tag = _tag; + result = '[' + _result + ']'; + } + + function writeBlockSequence(level, object, compact) { + var _result = '', + _tag = tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + if (!compact || 0 !== index) { + _result += generateNextLine(level); + } + + writeNode(level + 1, object[index], true, true); + _result += '- ' + result; + } + + tag = _tag; + result = _result; + } + + function writeFlowMapping(level, object) { + var _result = '', + _tag = tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + if (0 !== index) { + _result += ', '; + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + writeNode(level, objectKey, false, false); + + if (result.length > 1024) { + _result += '? '; + } + + _result += result + ': '; + writeNode(level, objectValue, false, false); + _result += result; + } + + tag = _tag; + result = '{' + _result + '}'; + } + + function writeBlockMapping(level, object, compact) { + var _result = '', + _tag = tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + if (!compact || 0 !== index) { + _result += generateNextLine(level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + writeNode(level + 1, objectKey, true, true); + explicitPair = (null !== tag && '?' !== tag && result.length <= 1024); + + if (explicitPair) { + _result += '? '; + } + + _result += result; + + if (explicitPair) { + _result += generateNextLine(level); + } + + writeNode(level + 1, objectValue, true, explicitPair); + _result += ': ' + result; + } + + tag = _tag; + result = _result; + } + + function detectType(object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? explicitTypes : implicitTypes; + kind = kindOf(object); + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((null !== type.dumper) && + (null === type.dumper.kind || kind === type.dumper.kind) && + (null === type.dumper.instanceOf || object instanceof type.dumper.instanceOf) && + (null === type.dumper.predicate || type.dumper.predicate(object))) { + tag = explicit ? type.tag : '?'; + + if (null !== type.dumper.representer) { + style = styleMap[type.tag] || type.dumper.defaultStyle; + + if ('function' === typeof type.dumper.representer) { + _result = type.dumper.representer(object, style); + } else if (_hasOwnProperty.call(type.dumper.representer, style)) { + _result = type.dumper.representer[style](object, style); + } else { + throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + if (NIL !== _result) { + kind = kindOf(_result); + result = _result; + } else { + if (explicit) { + throw new YAMLException('cannot represent an object of !<' + type.tag + '> type'); + } else { + continue; + } + } + } + + return true; + } + } + + return false; + } + + function writeNode(level, object, block, compact) { + tag = null; + result = object; + + if (!detectType(object, false)) { + detectType(object, true); + } + + if (block) { + block = (0 > flowLevel || flowLevel > level); + } + + if ((null !== tag && '?' !== tag) || (2 !== indent && level > 0)) { + compact = false; + } + + if ('object' === kind) { + if (block && (0 !== Object.keys(result).length)) { + writeBlockMapping(level, result, compact); + } else { + writeFlowMapping(level, result); + } + } else if ('array' === kind) { + if (block && (0 !== result.length)) { + writeBlockSequence(level, result, compact); + } else { + writeFlowSequence(level, result); + } + } else if ('string' === kind) { + if ('?' !== tag) { + writeScalar(result); + } + } else { + throw new YAMLException('unacceptabe kind of an object to dump (' + kind + ')'); + } + + if (null !== tag && '?' !== tag) { + result = '!<' + tag + '> ' + result; + } + } + + writeNode(0, input, true, true); + return result + '\n'; +} + + +function safeDump(input, options) { + return dump(input, common.extend({ schema: SAFE_SCHEMA }, options)); +} + + +module.exports.dump = dump; +module.exports.safeDump = safeDump; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js new file mode 100644 index 0000000..479ba88 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js @@ -0,0 +1,25 @@ +'use strict'; + + +function YAMLException(reason, mark) { + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = this.toString(false); +} + + +YAMLException.prototype.toString = function toString(compact) { + var result; + + result = 'JS-YAML: ' + (this.reason || '(unknown reason)'); + + if (!compact && this.mark) { + result += ' ' + this.mark.toString(); + } + + return result; +}; + + +module.exports = YAMLException; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js new file mode 100644 index 0000000..bdc71d1 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js @@ -0,0 +1,1549 @@ +'use strict'; + + +var common = require('./common'); +var YAMLException = require('./exception'); +var Mark = require('./mark'); +var NIL = common.NIL; +var SAFE_SCHEMA = require('./schema/safe'); +var DEFAULT_SCHEMA = require('./schema/default'); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +var KIND_STRING = 'string'; +var KIND_ARRAY = 'array'; +var KIND_OBJECT = 'object'; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var CHAR_TAB = 0x09; /* Tab */ +var CHAR_LINE_FEED = 0x0A; /* LF */ +var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ +var CHAR_SPACE = 0x20; /* Space */ +var CHAR_EXCLAMATION = 0x21; /* ! */ +var CHAR_DOUBLE_QUOTE = 0x22; /* " */ +var CHAR_SHARP = 0x23; /* # */ +var CHAR_PERCENT = 0x25; /* % */ +var CHAR_AMPERSAND = 0x26; /* & */ +var CHAR_SINGLE_QUOTE = 0x27; /* ' */ +var CHAR_ASTERISK = 0x2A; /* * */ +var CHAR_PLUS = 0x2B; /* + */ +var CHAR_COMMA = 0x2C; /* , */ +var CHAR_MINUS = 0x2D; /* - */ +var CHAR_DOT = 0x2E; /* . */ +var CHAR_SLASH = 0x2F; /* / */ +var CHAR_DIGIT_ZERO = 0x30; /* 0 */ +var CHAR_DIGIT_ONE = 0x31; /* 1 */ +var CHAR_DIGIT_NINE = 0x39; /* 9 */ +var CHAR_COLON = 0x3A; /* : */ +var CHAR_LESS_THAN = 0x3C; /* < */ +var CHAR_GREATER_THAN = 0x3E; /* > */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_CAPITAL_A = 0x41; /* A */ +var CHAR_CAPITAL_F = 0x46; /* F */ +var CHAR_CAPITAL_L = 0x4C; /* L */ +var CHAR_CAPITAL_N = 0x4E; /* N */ +var CHAR_CAPITAL_P = 0x50; /* P */ +var CHAR_CAPITAL_U = 0x55; /* U */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_BACKSLASH = 0x5C; /* \ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_UNDERSCORE = 0x5F; /* _ */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_SMALL_A = 0x61; /* a */ +var CHAR_SMALL_B = 0x62; /* b */ +var CHAR_SMALL_E = 0x65; /* e */ +var CHAR_SMALL_F = 0x66; /* f */ +var CHAR_SMALL_N = 0x6E; /* n */ +var CHAR_SMALL_R = 0x72; /* r */ +var CHAR_SMALL_T = 0x74; /* t */ +var CHAR_SMALL_U = 0x75; /* u */ +var CHAR_SMALL_V = 0x76; /* v */ +var CHAR_SMALL_X = 0x78; /* x */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + + +var SIMPLE_ESCAPE_SEQUENCES = {}; + +SIMPLE_ESCAPE_SEQUENCES[CHAR_DIGIT_ZERO] = '\x00'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_A] = '\x07'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_B] = '\x08'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_T] = '\x09'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_TAB] = '\x09'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_N] = '\x0A'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_V] = '\x0B'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_F] = '\x0C'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_R] = '\x0D'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_E] = '\x1B'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SPACE] = ' '; +SIMPLE_ESCAPE_SEQUENCES[CHAR_DOUBLE_QUOTE] = '\x22'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_SLASH] = '/'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_BACKSLASH] = '\x5C'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_N] = '\x85'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_UNDERSCORE] = '\xA0'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_L] = '\u2028'; +SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_P] = '\u2029'; + + +var HEXADECIMAL_ESCAPE_SEQUENCES = {}; + +HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_SMALL_X] = 2; +HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_SMALL_U] = 4; +HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_CAPITAL_U] = 8; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uD800-\uDFFF\uFFFE\uFFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function loadAll(input, output, options) { + options = options || {}; + + var filename = options['filename'] || null, + schema = options['schema'] || DEFAULT_SCHEMA, + resolve = options['resolve'] || true, + validate = options['validate'] || true, + strict = options['strict'] || false, + legacy = options['legacy'] || false, + + directiveHandlers = {}, + implicitTypes = schema.compiledImplicit, + typeMap = schema.compiledTypeMap, + + length = input.length, + position = 0, + line = 0, + lineStart = 0, + lineIndent = 0, + character = input.charCodeAt(position), + + version, + checkLineBreaks, + tagMap, + anchorMap, + tag, + anchor, + kind, + result; + + function generateError(message) { + return new YAMLException( + message, + new Mark(filename, input, position, line, (position - lineStart))); + } + + function throwError(message) { + throw generateError(message); + } + + function throwWarning(message) { + var error = generateError(message); + + if (strict) { + throw error; + } else { + console.warn(error.toString()); + } + } + + directiveHandlers['YAML'] = function handleYamlDirective(name, args) { + var match, major, minor; + + if (null !== version) { + throwError('duplication of %YAML directive'); + } + + if (1 !== args.length) { + throwError('YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (null === match) { + throwError('ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (1 !== major) { + throwError('unacceptable YAML version of the document'); + } + + version = args[0]; + checkLineBreaks = (minor < 2); + + if (1 !== minor && 2 !== minor) { + throwWarning('unsupported YAML version of the document'); + } + }; + + directiveHandlers['TAG'] = function handleTagDirective(name, args) { + var handle, prefix; + + if (2 !== args.length) { + throwError('TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError('ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty.call(tagMap, handle)) { + throwError('there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError('ill-formed tag prefix (second argument) of the TAG directive'); + } + + tagMap[handle] = prefix; + }; + + function captureSegment(start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = input.slice(start, end); + + if (checkJson && validate) { + for (_position = 0, _length = _result.length; + _position < _length; + _position += 1) { + _character = _result.charCodeAt(_position); + if (!(0x09 === _character || + 0x20 <= _character && _character <= 0x10FFFF)) { + throwError('expected valid JSON character'); + } + } + } + + result += _result; + } + } + + function mergeMappings(destination, source) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError('cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty.call(destination, key)) { + destination[key] = source[key]; + } + } + } + + function storeMappingPair(_result, keyTag, keyNode, valueNode) { + var index, quantity; + + keyNode = String(keyNode); + + if (null === _result) { + _result = {}; + } + + if ('tag:yaml.org,2002:merge' === keyTag) { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(_result, valueNode[index]); + } + } else { + mergeMappings(_result, valueNode); + } + } else { + _result[keyNode] = valueNode; + } + + return _result; + } + + function readLineBreak() { + if (CHAR_LINE_FEED === character) { + position += 1; + } else if (CHAR_CARRIAGE_RETURN === character) { + if (CHAR_LINE_FEED === input.charCodeAt(position + 1)) { + position += 2; + } else { + position += 1; + } + } else { + throwError('a line break is expected'); + } + + line += 1; + lineStart = position; + character = input.charCodeAt(position); + } + + function skipSeparationSpace(allowComments, checkIndent) { + var lineBreaks = 0; + + while (position < length) { + while (CHAR_SPACE === character || CHAR_TAB === character) { + character = input.charCodeAt(++position); + } + + if (allowComments && CHAR_SHARP === character) { + do { character = input.charCodeAt(++position); } + while (position < length && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character); + } + + if (CHAR_LINE_FEED === character || CHAR_CARRIAGE_RETURN === character) { + readLineBreak(); + lineBreaks += 1; + lineIndent = 0; + + while (CHAR_SPACE === character) { + lineIndent += 1; + character = input.charCodeAt(++position); + } + + if (lineIndent < checkIndent) { + throwWarning('deficient indentation'); + } + } else { + break; + } + } + + return lineBreaks; + } + + function testDocumentSeparator() { + var _position, _character; + + if (position === lineStart && + (CHAR_MINUS === character || CHAR_DOT === character) && + input.charCodeAt(position + 1) === character && + input.charCodeAt(position + 2) === character) { + + _position = position + 3; + _character = input.charCodeAt(_position); + + if (_position >= length || + CHAR_SPACE === _character || + CHAR_TAB === _character || + CHAR_LINE_FEED === _character || + CHAR_CARRIAGE_RETURN === _character) { + return true; + } + } + + return false; + } + + function writeFoldedLines(count) { + if (1 === count) { + result += ' '; + } else if (count > 1) { + result += common.repeat('\n', count - 1); + } + } + + function readPlainScalar(nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = kind, + _result = result; + + if (CHAR_SPACE === character || + CHAR_TAB === character || + CHAR_LINE_FEED === character || + CHAR_CARRIAGE_RETURN === character || + CHAR_COMMA === character || + CHAR_LEFT_SQUARE_BRACKET === character || + CHAR_RIGHT_SQUARE_BRACKET === character || + CHAR_LEFT_CURLY_BRACKET === character || + CHAR_RIGHT_CURLY_BRACKET === character || + CHAR_SHARP === character || + CHAR_AMPERSAND === character || + CHAR_ASTERISK === character || + CHAR_EXCLAMATION === character || + CHAR_VERTICAL_LINE === character || + CHAR_GREATER_THAN === character || + CHAR_SINGLE_QUOTE === character || + CHAR_DOUBLE_QUOTE === character || + CHAR_PERCENT === character || + CHAR_COMMERCIAL_AT === character || + CHAR_GRAVE_ACCENT === character) { + return false; + } + + if (CHAR_QUESTION === character || + CHAR_MINUS === character) { + following = input.charCodeAt(position + 1); + + if (CHAR_SPACE === following || + CHAR_TAB === following || + CHAR_LINE_FEED === following || + CHAR_CARRIAGE_RETURN === following || + withinFlowCollection && + (CHAR_COMMA === following || + CHAR_LEFT_SQUARE_BRACKET === following || + CHAR_RIGHT_SQUARE_BRACKET === following || + CHAR_LEFT_CURLY_BRACKET === following || + CHAR_RIGHT_CURLY_BRACKET === following)) { + return false; + } + } + + kind = KIND_STRING; + result = ''; + captureStart = captureEnd = position; + hasPendingContent = false; + + while (position < length) { + if (CHAR_COLON === character) { + following = input.charCodeAt(position + 1); + + if (CHAR_SPACE === following || + CHAR_TAB === following || + CHAR_LINE_FEED === following || + CHAR_CARRIAGE_RETURN === following || + withinFlowCollection && + (CHAR_COMMA === following || + CHAR_LEFT_SQUARE_BRACKET === following || + CHAR_RIGHT_SQUARE_BRACKET === following || + CHAR_LEFT_CURLY_BRACKET === following || + CHAR_RIGHT_CURLY_BRACKET === following)) { + break; + } + + } else if (CHAR_SHARP === character) { + preceding = input.charCodeAt(position - 1); + + if (CHAR_SPACE === preceding || + CHAR_TAB === preceding || + CHAR_LINE_FEED === preceding || + CHAR_CARRIAGE_RETURN === preceding) { + break; + } + + } else if ((position === lineStart && testDocumentSeparator()) || + withinFlowCollection && + (CHAR_COMMA === character || + CHAR_LEFT_SQUARE_BRACKET === character || + CHAR_RIGHT_SQUARE_BRACKET === character || + CHAR_LEFT_CURLY_BRACKET === character || + CHAR_RIGHT_CURLY_BRACKET === character)) { + break; + + } else if (CHAR_LINE_FEED === character || + CHAR_CARRIAGE_RETURN === character) { + _line = line; + _lineStart = lineStart; + _lineIndent = lineIndent; + skipSeparationSpace(false, -1); + + if (lineIndent >= nodeIndent) { + hasPendingContent = true; + continue; + } else { + position = captureEnd; + line = _line; + lineStart = _lineStart; + lineIndent = _lineIndent; + character = input.charCodeAt(position); + break; + } + } + + if (hasPendingContent) { + captureSegment(captureStart, captureEnd, false); + writeFoldedLines(line - _line); + captureStart = captureEnd = position; + hasPendingContent = false; + } + + if (CHAR_SPACE !== character && CHAR_TAB !== character) { + captureEnd = position + 1; + } + + character = input.charCodeAt(++position); + } + + captureSegment(captureStart, captureEnd, false); + + if (result) { + return true; + } else { + kind = _kind; + result = _result; + return false; + } + } + + function readSingleQuotedScalar(nodeIndent) { + var captureStart, captureEnd; + + if (CHAR_SINGLE_QUOTE !== character) { + return false; + } + + kind = KIND_STRING; + result = ''; + character = input.charCodeAt(++position); + captureStart = captureEnd = position; + + while (position < length) { + if (CHAR_SINGLE_QUOTE === character) { + captureSegment(captureStart, position, true); + character = input.charCodeAt(++position); + + if (CHAR_SINGLE_QUOTE === character) { + captureStart = captureEnd = position; + character = input.charCodeAt(++position); + } else { + return true; + } + + } else if (CHAR_LINE_FEED === character || + CHAR_CARRIAGE_RETURN === character) { + captureSegment(captureStart, captureEnd, true); + writeFoldedLines(skipSeparationSpace(false, nodeIndent)); + captureStart = captureEnd = position; + character = input.charCodeAt(position); + + } else if (position === lineStart && testDocumentSeparator()) { + throwError('unexpected end of the document within a single quoted scalar'); + + } else { + character = input.charCodeAt(++position); + captureEnd = position; + } + } + + throwError('unexpected end of the stream within a single quoted scalar'); + } + + function readDoubleQuotedScalar(nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexIndex, + hexOffset, + hexResult; + + if (CHAR_DOUBLE_QUOTE !== character) { + return false; + } + + kind = KIND_STRING; + result = ''; + character = input.charCodeAt(++position); + captureStart = captureEnd = position; + + while (position < length) { + if (CHAR_DOUBLE_QUOTE === character) { + captureSegment(captureStart, position, true); + character = input.charCodeAt(++position); + return true; + + } else if (CHAR_BACKSLASH === character) { + captureSegment(captureStart, position, true); + character = input.charCodeAt(++position); + + if (CHAR_LINE_FEED === character || + CHAR_CARRIAGE_RETURN === character) { + skipSeparationSpace(false, nodeIndent); + + } else if (SIMPLE_ESCAPE_SEQUENCES[character]) { + result += SIMPLE_ESCAPE_SEQUENCES[character]; + character = input.charCodeAt(++position); + + } else if (HEXADECIMAL_ESCAPE_SEQUENCES[character]) { + hexLength = HEXADECIMAL_ESCAPE_SEQUENCES[character]; + hexResult = 0; + + for (hexIndex = 1; hexIndex <= hexLength; hexIndex += 1) { + hexOffset = (hexLength - hexIndex) * 4; + character = input.charCodeAt(++position); + + if (CHAR_DIGIT_ZERO <= character && character <= CHAR_DIGIT_NINE) { + hexResult |= (character - CHAR_DIGIT_ZERO) << hexOffset; + + } else if (CHAR_CAPITAL_A <= character && character <= CHAR_CAPITAL_F) { + hexResult |= (character - CHAR_CAPITAL_A + 10) << hexOffset; + + } else if (CHAR_SMALL_A <= character && character <= CHAR_SMALL_F) { + hexResult |= (character - CHAR_SMALL_A + 10) << hexOffset; + + } else { + throwError('expected hexadecimal character'); + } + } + + result += String.fromCharCode(hexResult); + character = input.charCodeAt(++position); + + } else { + throwError('unknown escape sequence'); + } + + captureStart = captureEnd = position; + + } else if (CHAR_LINE_FEED === character || + CHAR_CARRIAGE_RETURN === character) { + captureSegment(captureStart, captureEnd, true); + writeFoldedLines(skipSeparationSpace(false, nodeIndent)); + captureStart = captureEnd = position; + character = input.charCodeAt(position); + + } else if (position === lineStart && testDocumentSeparator()) { + throwError('unexpected end of the document within a double quoted scalar'); + + } else { + character = input.charCodeAt(++position); + captureEnd = position; + } + } + + throwError('unexpected end of the stream within a double quoted scalar'); + } + + function readFlowCollection(nodeIndent) { + var readNext = true, + _line, + _tag = tag, + _result, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + keyNode, + keyTag, + valueNode; + + switch (character) { + case CHAR_LEFT_SQUARE_BRACKET: + terminator = CHAR_RIGHT_SQUARE_BRACKET; + isMapping = false; + _result = []; + break; + + case CHAR_LEFT_CURLY_BRACKET: + terminator = CHAR_RIGHT_CURLY_BRACKET; + isMapping = true; + _result = {}; + break; + + default: + return false; + } + + if (null !== anchor) { + anchorMap[anchor] = _result; + } + + character = input.charCodeAt(++position); + + while (position < length) { + skipSeparationSpace(true, nodeIndent); + + if (character === terminator) { + character = input.charCodeAt(++position); + tag = _tag; + kind = isMapping ? KIND_OBJECT : KIND_ARRAY; + result = _result; + return true; + } else if (!readNext) { + throwError('missed comma between flow collection entries'); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (CHAR_QUESTION === character) { + following = input.charCodeAt(position + 1); + + if (CHAR_SPACE === following || + CHAR_TAB === following || + CHAR_LINE_FEED === following || + CHAR_CARRIAGE_RETURN === following) { + isPair = isExplicitPair = true; + position += 1; + character = following; + skipSeparationSpace(true, nodeIndent); + } + } + + _line = line; + composeNode(nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = tag; + keyNode = result; + + if ((isExplicitPair || line === _line) && CHAR_COLON === character) { + isPair = true; + character = input.charCodeAt(++position); + skipSeparationSpace(true, nodeIndent); + composeNode(nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = result; + } + + if (isMapping) { + storeMappingPair(_result, keyTag, keyNode, valueNode); + } else if (isPair) { + _result.push(storeMappingPair(null, keyTag, keyNode, valueNode)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(true, nodeIndent); + + if (CHAR_COMMA === character) { + readNext = true; + character = input.charCodeAt(++position); + } else { + readNext = false; + } + } + + throwError('unexpected end of the stream within a flow collection'); + } + + function readBlockScalar(nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = -1; + + switch (character) { + case CHAR_VERTICAL_LINE: + folding = false; + break; + + case CHAR_GREATER_THAN: + folding = true; + break; + + default: + return false; + } + + kind = KIND_STRING; + result = ''; + + while (position < length) { + character = input.charCodeAt(++position); + + if (CHAR_PLUS === character || CHAR_MINUS === character) { + if (CHOMPING_CLIP === chomping) { + chomping = (CHAR_PLUS === character) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError('repeat of a chomping mode identifier'); + } + + } else if (CHAR_DIGIT_ZERO <= character && character <= CHAR_DIGIT_NINE) { + if (CHAR_DIGIT_ZERO === character) { + throwError('bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + (character - CHAR_DIGIT_ONE); + detectedIndent = true; + } else { + throwError('repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (CHAR_SPACE === character || CHAR_TAB === character) { + do { character = input.charCodeAt(++position); } + while (CHAR_SPACE === character || CHAR_TAB === character); + + if (CHAR_SHARP === character) { + do { character = input.charCodeAt(++position); } + while (position < length && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character); + } + } + + while (position < length) { + readLineBreak(); + lineIndent = 0; + + while ((!detectedIndent || lineIndent < textIndent) && + (CHAR_SPACE === character)) { + lineIndent += 1; + character = input.charCodeAt(++position); + } + + if (!detectedIndent && lineIndent > textIndent) { + textIndent = lineIndent; + } + + if (CHAR_LINE_FEED === character || CHAR_CARRIAGE_RETURN === character) { + emptyLines += 1; + continue; + } + + // End of the scalar. Perform the chomping. + if (lineIndent < textIndent) { + if (CHOMPING_KEEP === chomping) { + result += common.repeat('\n', emptyLines + 1); + } else if (CHOMPING_CLIP === chomping) { + result += '\n'; + } + break; + } + + detectedIndent = true; + + if (folding) { + if (CHAR_SPACE === character || CHAR_TAB === character) { + result += common.repeat('\n', emptyLines + 1); + emptyLines = 1; + } else if (0 === emptyLines) { + result += ' '; + emptyLines = 0; + } else { + result += common.repeat('\n', emptyLines); + emptyLines = 0; + } + } else { + result += common.repeat('\n', emptyLines + 1); + emptyLines = 0; + } + + captureStart = position; + + do { character = input.charCodeAt(++position); } + while (position < length && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character); + + captureSegment(captureStart, position, false); + } + + return true; + } + + function readBlockSequence(nodeIndent) { + var _line, + _tag = tag, + _result = [], + following, + detected = false; + + if (null !== anchor) { + anchorMap[anchor] = _result; + } + + while (position < length) { + if (CHAR_MINUS !== character) { + break; + } + + following = input.charCodeAt(position + 1); + + if (CHAR_SPACE !== following && + CHAR_TAB !== following && + CHAR_LINE_FEED !== following && + CHAR_CARRIAGE_RETURN !== following) { + break; + } + + detected = true; + position += 1; + character = following; + + if (skipSeparationSpace(true, -1)) { + if (lineIndent <= nodeIndent) { + _result.push(null); + continue; + } + } + + _line = line; + composeNode(nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(result); + skipSeparationSpace(true, -1); + + if ((line === _line || lineIndent > nodeIndent) && position < length) { + throwError('bad indentation of a sequence entry'); + } else if (lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + tag = _tag; + kind = KIND_ARRAY; + result = _result; + return true; + } else { + return false; + } + } + + function readBlockMapping(nodeIndent) { + var following, + allowCompact, + _line, + _tag = tag, + _result = {}, + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false; + + if (null !== anchor) { + anchorMap[anchor] = _result; + } + + while (position < length) { + following = input.charCodeAt(position + 1); + _line = line; // Save the current line. + + if ((CHAR_QUESTION === character || + CHAR_COLON === character) && + (CHAR_SPACE === following || + CHAR_TAB === following || + CHAR_LINE_FEED === following || + CHAR_CARRIAGE_RETURN === following)) { + + if (CHAR_QUESTION === character) { + if (atExplicitKey) { + storeMappingPair(_result, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. CHAR_COLON === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError('incomplete explicit mapping pair; a key node is missed'); + } + + position += 1; + character = following; + + } else if (composeNode(nodeIndent, CONTEXT_FLOW_OUT, false, true)) { + if (line === _line) { + // TODO: Remove this cycle when the flow readers will consume + // trailing whitespaces like the block readers. + while (CHAR_SPACE === character || + CHAR_TAB === character) { + character = input.charCodeAt(++position); + } + + if (CHAR_COLON === character) { + character = input.charCodeAt(++position); + + if (CHAR_SPACE !== character && + CHAR_TAB !== character && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character) { + throwError('a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(_result, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = tag; + keyNode = result; + + } else if (detected) { + throwError('can not read an implicit mapping pair; a colon is missed'); + + } else { + tag = _tag; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError('can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + tag = _tag; + return true; // Keep the result of `composeNode`. + } + + } else { + break; + } + + if (line === _line || lineIndent > nodeIndent) { + if (composeNode(nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = result; + } else { + valueNode = result; + } + } + + if (!atExplicitKey) { + storeMappingPair(_result, keyTag, keyNode, valueNode); + keyTag = keyNode = valueNode = null; + } + + // TODO: It is needed only for flow node readers. It should be removed + // when the flow readers will consume trailing whitespaces as well as + // the block readers. + skipSeparationSpace(true, -1); + } + + if (lineIndent > nodeIndent && position < length) { + throwError('bad indentation of a mapping entry'); + } else if (lineIndent < nodeIndent) { + break; + } + } + + if (atExplicitKey) { + storeMappingPair(_result, keyTag, keyNode, null); + } + + if (detected) { + tag = _tag; + kind = KIND_OBJECT; + result = _result; + } + + return detected; + } + + function readTagProperty() { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName; + + if (CHAR_EXCLAMATION !== character) { + return false; + } + + if (null !== tag) { + throwError('duplication of a tag property'); + } + + character = input.charCodeAt(++position); + + if (CHAR_LESS_THAN === character) { + isVerbatim = true; + character = input.charCodeAt(++position); + + } else if (CHAR_EXCLAMATION === character) { + isNamed = true; + tagHandle = '!!'; + character = input.charCodeAt(++position); + + } else { + tagHandle = '!'; + } + + _position = position; + + if (isVerbatim) { + do { character = input.charCodeAt(++position); } + while (position < length && CHAR_GREATER_THAN !== character); + + if (position < length) { + tagName = input.slice(_position, position); + character = input.charCodeAt(++position); + } else { + throwError('unexpected end of the stream within a verbatim tag'); + } + } else { + while (position < length && + CHAR_SPACE !== character && + CHAR_TAB !== character && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character) { + + if (CHAR_EXCLAMATION === character) { + if (!isNamed) { + tagHandle = input.slice(_position - 1, position + 1); + + if (validate && !PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError('named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = position + 1; + } else { + throwError('tag suffix cannot contain exclamation marks'); + } + } + + character = input.charCodeAt(++position); + } + + tagName = input.slice(_position, position); + + if (validate && PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError('tag suffix cannot contain flow indicator characters'); + } + } + + if (validate && tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError('tag name cannot contain such characters: ' + tagName); + } + + if (isVerbatim) { + tag = tagName; + + } else if (_hasOwnProperty.call(tagMap, tagHandle)) { + tag = tagMap[tagHandle] + tagName; + + } else if ('!' === tagHandle) { + tag = '!' + tagName; + + } else if ('!!' === tagHandle) { + tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError('undeclared tag handle "' + tagHandle + '"'); + } + + return true; + } + + function readAnchorProperty() { + var _position; + + if (CHAR_AMPERSAND !== character) { + return false; + } + + if (null !== anchor) { + throwError('duplication of an anchor property'); + } + + character = input.charCodeAt(++position); + _position = position; + + while (position < length && + CHAR_SPACE !== character && + CHAR_TAB !== character && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character && + CHAR_COMMA !== character && + CHAR_LEFT_SQUARE_BRACKET !== character && + CHAR_RIGHT_SQUARE_BRACKET !== character && + CHAR_LEFT_CURLY_BRACKET !== character && + CHAR_RIGHT_CURLY_BRACKET !== character) { + character = input.charCodeAt(++position); + } + + if (position === _position) { + throwError('name of an anchor node must contain at least one character'); + } + + anchor = input.slice(_position, position); + return true; + } + + function readAlias() { + var _position, alias; + + if (CHAR_ASTERISK !== character) { + return false; + } + + character = input.charCodeAt(++position); + _position = position; + + while (position < length && + CHAR_SPACE !== character && + CHAR_TAB !== character && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character && + CHAR_COMMA !== character && + CHAR_LEFT_SQUARE_BRACKET !== character && + CHAR_RIGHT_SQUARE_BRACKET !== character && + CHAR_LEFT_CURLY_BRACKET !== character && + CHAR_RIGHT_CURLY_BRACKET !== character) { + character = input.charCodeAt(++position); + } + + if (position === _position) { + throwError('name of an alias node must contain at least one character'); + } + + alias = input.slice(_position, position); + + if (!anchorMap.hasOwnProperty(alias)) { + throwError('unidentified alias "' + alias + '"'); + } + + result = anchorMap[alias]; + skipSeparationSpace(true, -1); + return true; + } + + function composeNode(parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + atNewLine = false, + isIndented = true, + hasContent = false, + typeIndex, + typeQuantity, + type, + typeLoader, + flowIndent, + blockIndent, + _result; + + tag = null; + anchor = null; + kind = null; + result = null; + + allowBlockStyles = allowBlockScalars = allowBlockCollections = + CONTEXT_BLOCK_OUT === nodeContext || + CONTEXT_BLOCK_IN === nodeContext; + + if (allowToSeek) { + if (skipSeparationSpace(true, -1)) { + atNewLine = true; + + if (lineIndent === parentIndent) { + isIndented = false; + + } else if (lineIndent > parentIndent) { + isIndented = true; + + } else { + return false; + } + } + } + + if (isIndented) { + while (readTagProperty() || readAnchorProperty()) { + if (skipSeparationSpace(true, -1)) { + atNewLine = true; + + if (lineIndent > parentIndent) { + isIndented = true; + allowBlockCollections = allowBlockStyles; + + } else if (lineIndent === parentIndent) { + isIndented = false; + allowBlockCollections = allowBlockStyles; + + } else { + return true; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (isIndented || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = position - lineStart; + + if (isIndented) { + if (allowBlockCollections && + (readBlockSequence(blockIndent) || + readBlockMapping(blockIndent)) || + readFlowCollection(flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(flowIndent)) || + readSingleQuotedScalar(flowIndent) || + readDoubleQuotedScalar(flowIndent)) { + hasContent = true; + + } else if (readAlias()) { + hasContent = true; + + if (null !== tag || null !== anchor) { + throwError('alias node should not have any properties'); + } + + } else if (readPlainScalar(flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (null === tag) { + tag = '?'; + } + } + + if (null !== anchor) { + anchorMap[anchor] = result; + } + } + } else { + hasContent = allowBlockCollections && readBlockSequence(blockIndent); + } + } + + if (null !== tag && '!' !== tag) { + if ('?' === tag) { + if (resolve) { + for (typeIndex = 0, typeQuantity = implicitTypes.length; + typeIndex < typeQuantity; + typeIndex += 1) { + type = implicitTypes[typeIndex]; + + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only assigned to plain scalars. So, it isn't + // needed to check for 'kind' conformity. + _result = type.loader.resolver(result, false); + + if (NIL !== _result) { + tag = type.tag; + result = _result; + break; + } + } + } + } else if (_hasOwnProperty.call(typeMap, tag)) { + typeLoader = typeMap[tag].loader; + + if (null !== result && typeLoader.kind !== kind) { + throwError('unacceptable node kind for !<' + tag + '> tag; it should be "' + typeLoader.kind + '", not "' + kind + '"'); + } + + if (typeLoader.resolver) { + _result = typeLoader.resolver(result, true); + + if (NIL !== _result) { + result = _result; + } else { + throwError('cannot resolve a node with !<' + tag + '> explicit tag'); + } + } + } else { + throwWarning('unknown tag !<' + tag + '>'); + } + } + + return null !== tag || null !== anchor || hasContent; + } + + function readDocument() { + var documentStart = position, + _position, + directiveName, + directiveArgs, + hasDirectives = false; + + version = null; + checkLineBreaks = legacy; + tagMap = {}; + anchorMap = {}; + + while (position < length) { + skipSeparationSpace(true, -1); + + if (lineIndent > 0 || CHAR_PERCENT !== character) { + break; + } + + hasDirectives = true; + character = input.charCodeAt(++position); + _position = position; + + while (position < length && + CHAR_SPACE !== character && + CHAR_TAB !== character && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character) { + character = input.charCodeAt(++position); + } + + directiveName = input.slice(_position, position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError('directive name must not be less than one character in length'); + } + + while (position < length) { + while (CHAR_SPACE === character || CHAR_TAB === character) { + character = input.charCodeAt(++position); + } + + if (CHAR_SHARP === character) { + do { character = input.charCodeAt(++position); } + while (position < length && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character); + break; + } + + if (CHAR_LINE_FEED === character || CHAR_CARRIAGE_RETURN === character) { + break; + } + + _position = position; + + while (position < length && + CHAR_SPACE !== character && + CHAR_TAB !== character && + CHAR_LINE_FEED !== character && + CHAR_CARRIAGE_RETURN !== character) { + character = input.charCodeAt(++position); + } + + directiveArgs.push(input.slice(_position, position)); + } + + if (position < length) { + readLineBreak(); + } + + if (_hasOwnProperty.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](directiveName, directiveArgs); + } else { + throwWarning('unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(true, -1); + + if (0 === lineIndent && + CHAR_MINUS === character && + CHAR_MINUS === input.charCodeAt(position + 1) && + CHAR_MINUS === input.charCodeAt(position + 2)) { + position += 3; + character = input.charCodeAt(position); + skipSeparationSpace(true, -1); + + } else if (hasDirectives) { + throwError('directives end mark is expected'); + } + + composeNode(lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(true, -1); + + if (validate && checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(input.slice(documentStart, position))) { + throwWarning('non-ASCII line breaks are interpreted as content'); + } + + output(result); + + if (position === lineStart && testDocumentSeparator()) { + if (CHAR_DOT === character) { + position += 3; + character = input.charCodeAt(position); + skipSeparationSpace(true, -1); + } + return; + } + + if (position < length) { + throwError('end of the stream or a document separator is expected'); + } else { + return; + } + } + + if (validate && PATTERN_NON_PRINTABLE.test(input)) { + throwError('the stream contains non-printable characters'); + } + + while (CHAR_SPACE === character) { + lineIndent += 1; + character = input.charCodeAt(++position); + } + + while (position < length) { + readDocument(); + } +} + + +function load(input, options) { + var result = null, received = false; + + function callback(data) { + if (!received) { + result = data; + received = true; + } else { + throw new YAMLException('expected a single document in the stream, but found more'); + } + } + + loadAll(input, callback, options); + + return result; +} + + +function safeLoadAll(input, output, options) { + loadAll(input, output, common.extend({ schema: SAFE_SCHEMA }, options)); +} + + +function safeLoad(input, options) { + return load(input, common.extend({ schema: SAFE_SCHEMA }, options)); +} + + +module.exports.loadAll = loadAll; +module.exports.load = load; +module.exports.safeLoadAll = safeLoadAll; +module.exports.safeLoad = safeLoad; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js new file mode 100644 index 0000000..bfe279b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js @@ -0,0 +1,78 @@ +'use strict'; + + +var common = require('./common'); + + +function Mark(name, buffer, position, line, column) { + this.name = name; + this.buffer = buffer; + this.position = position; + this.line = line; + this.column = column; +} + + +Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { + var head, start, tail, end, snippet; + + if (!this.buffer) { + return null; + } + + indent = indent || 4; + maxLength = maxLength || 75; + + head = ''; + start = this.position; + + while (start > 0 && -1 === '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(start - 1))) { + start -= 1; + if (this.position - start > (maxLength / 2 - 1)) { + head = ' ... '; + start += 5; + break; + } + } + + tail = ''; + end = this.position; + + while (end < this.buffer.length && -1 === '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(end))) { + end += 1; + if (end - this.position > (maxLength / 2 - 1)) { + tail = ' ... '; + end -= 5; + break; + } + } + + snippet = this.buffer.slice(start, end); + + return common.repeat(' ', indent) + head + snippet + tail + '\n' + + common.repeat(' ', indent + this.position - start + head.length) + '^'; +}; + + +Mark.prototype.toString = function toString(compact) { + var snippet, where = ''; + + if (this.name) { + where += 'in "' + this.name + '" '; + } + + where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1); + + if (!compact) { + snippet = this.getSnippet(); + + if (snippet) { + where += ':\n' + snippet; + } + } + + return where; +}; + + +module.exports = Mark; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js new file mode 100644 index 0000000..47b77e3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js @@ -0,0 +1,23 @@ +'use strict'; + + +var fs = require('fs'); +var loader = require('./loader'); + + +function yamlRequireHandler(module, filename) { + var content = fs.readFileSync(filename, 'utf8'); + + // fill in documents + module.exports = loader.load(content, { filename: filename }); +} + +// register require extensions only if we're on node.js +// hack for browserify +if (undefined !== require.extensions) { + require.extensions['.yml'] = yamlRequireHandler; + require.extensions['.yaml'] = yamlRequireHandler; +} + + +module.exports = require; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js new file mode 100644 index 0000000..ce21391 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js @@ -0,0 +1,103 @@ +'use strict'; + + +var common = require('./common'); +var YAMLException = require('./exception'); +var Type = require('./type'); + + +function compileList(schema, name, result) { + var exclude = []; + + schema.include.forEach(function (includedSchema) { + result = compileList(includedSchema, name, result); + }); + + schema[name].forEach(function (currentType) { + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag) { + exclude.push(previousIndex); + } + }); + + result.push(currentType); + }); + + return result.filter(function (type, index) { + return -1 === exclude.indexOf(index); + }); +} + + +function compileMap(/* lists... */) { + var result = {}, index, length; + + function collectType(type) { + result[type.tag] = type; + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + + return result; +} + + +function Schema(definition) { + this.include = definition.include || []; + this.implicit = definition.implicit || []; + this.explicit = definition.explicit || []; + + this.implicit.forEach(function (type) { + if (null !== type.loader && 'string' !== type.loader.kind) { + throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + }); + + this.compiledImplicit = compileList(this, 'implicit', []); + this.compiledExplicit = compileList(this, 'explicit', []); + this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); +} + + +Schema.DEFAULT = null; + + +Schema.create = function createSchema() { + var schemas, types; + + switch (arguments.length) { + case 1: + schemas = Schema.DEFAULT; + types = arguments[0]; + break; + + case 2: + schemas = arguments[0]; + types = arguments[1]; + break; + + default: + throw new YAMLException('Wrong number of arguments for Schema.create function'); + } + + schemas = common.toArray(schemas); + types = common.toArray(types); + + if (!schemas.every(function (schema) { return schema instanceof Schema; })) { + throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.'); + } + + if (!types.every(function (type) { return type instanceof Type; })) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + return new Schema({ + include: schemas, + explicit: types + }); +}; + + +module.exports = Schema; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js new file mode 100644 index 0000000..71bb3fc --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js @@ -0,0 +1,16 @@ +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = Schema.DEFAULT = new Schema({ + include: [ + require('./safe') + ], + explicit: [ + require('../type/js/undefined'), + require('../type/js/regexp'), + require('../type/js/function') + ] +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js new file mode 100644 index 0000000..7a6ebbe --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js @@ -0,0 +1,13 @@ +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + explicit: [ + require('../type/str'), + require('../type/seq'), + require('../type/map') + ] +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js new file mode 100644 index 0000000..856b7c4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js @@ -0,0 +1,25 @@ +'use strict'; + + +var Schema = require('../schema'); + + +module.exports = new Schema({ + include: [ + require('./minimal') + ], + implicit: [ + require('../type/null'), + require('../type/bool'), + require('../type/int'), + require('../type/float'), + require('../type/timestamp'), + require('../type/merge') + ], + explicit: [ + require('../type/binary'), + require('../type/omap'), + require('../type/pairs'), + require('../type/set') + ] +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js new file mode 100644 index 0000000..e0124f2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js @@ -0,0 +1,82 @@ +'use strict'; + + +var YAMLException = require('./exception'); + + +// TODO: Add tag format check. +function Type(tag, options) { + options = options || {}; + + this.tag = tag; + this.loader = options['loader'] || null; + this.dumper = options['dumper'] || null; + + if (null === this.loader && null === this.dumper) { + throw new YAMLException('Incomplete YAML type definition. "loader" or "dumper" setting must be specified.'); + } + + if (null !== this.loader) { + this.loader = new Type.Loader(this.loader); + } + + if (null !== this.dumper) { + this.dumper = new Type.Dumper(this.dumper); + } +} + + +Type.Loader = function TypeLoader(options) { + options = options || {}; + + this.kind = options['kind'] || null; + this.resolver = options['resolver'] || null; + + if ('string' !== this.kind && + 'array' !== this.kind && + 'object' !== this.kind) { + throw new YAMLException('Unacceptable "kind" setting of a type loader.'); + } +}; + + +function compileAliases(map) { + var result = {}; + + if (null !== map) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + + +Type.Dumper = function TypeDumper(options) { + options = options || {}; + + this.kind = options['kind'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.representer = options['representer'] || null; + this.styleAliases = compileAliases(options['styleAliases'] || null); + + if ('undefined' !== this.kind && + 'null' !== this.kind && + 'boolean' !== this.kind && + 'integer' !== this.kind && + 'float' !== this.kind && + 'string' !== this.kind && + 'array' !== this.kind && + 'object' !== this.kind && + 'function' !== this.kind) { + throw new YAMLException('Unacceptable "kind" setting of a type dumper.'); + } +}; + + +module.exports = Type; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js new file mode 100644 index 0000000..37b4bc7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js @@ -0,0 +1,118 @@ +// Modified from: +// https://raw.github.com/kanaka/noVNC/d890e8640f20fba3215ba7be8e0ff145aeb8c17c/include/base64.js + +'use strict'; + + +var NodeBuffer = require('buffer').Buffer; // A trick for browserified version. +var common = require('../common'); +var NIL = common.NIL; +var Type = require('../type'); + + + +var BASE64_PADDING = '='; + +var BASE64_BINTABLE = [ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, 0, -1, -1, + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1 +]; + +var BASE64_CHARTABLE = + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + + +function resolveYamlBinary(object /*, explicit*/) { + var value, code, idx = 0, result = [], leftbits, leftdata; + + leftbits = 0; // number of bits decoded, but yet to be appended + leftdata = 0; // bits decoded, but yet to be appended + + // Convert one by one. + for (idx = 0; idx < object.length; idx += 1) { + code = object.charCodeAt(idx); + value = BASE64_BINTABLE[code & 0x7F]; + + // Skip LF(NL) || CR + if (0x0A !== code && 0x0D !== code) { + // Fail on illegal characters + if (-1 === value) { + return NIL; + } + + // Collect data into leftdata, update bitcount + leftdata = (leftdata << 6) | value; + leftbits += 6; + + // If we have 8 or more bits, append 8 bits to the result + if (leftbits >= 8) { + leftbits -= 8; + + // Append if not padding. + if (BASE64_PADDING !== object.charAt(idx)) { + result.push((leftdata >> leftbits) & 0xFF); + } + + leftdata &= (1 << leftbits) - 1; + } + } + } + + // If there are any bits left, the base64 string was corrupted + if (leftbits) { + return NIL; + } else { + return new NodeBuffer(result); + } +} + + +function representYamlBinary(object /*, style*/) { + var result = '', index, length, rest; + + // Convert every three bytes to 4 ASCII characters. + for (index = 0, length = object.length - 2; index < length; index += 3) { + result += BASE64_CHARTABLE[object[index + 0] >> 2]; + result += BASE64_CHARTABLE[((object[index + 0] & 0x03) << 4) + (object[index + 1] >> 4)]; + result += BASE64_CHARTABLE[((object[index + 1] & 0x0F) << 2) + (object[index + 2] >> 6)]; + result += BASE64_CHARTABLE[object[index + 2] & 0x3F]; + } + + rest = object.length % 3; + + // Convert the remaining 1 or 2 bytes, padding out to 4 characters. + if (0 !== rest) { + index = object.length - rest; + result += BASE64_CHARTABLE[object[index + 0] >> 2]; + + if (2 === rest) { + result += BASE64_CHARTABLE[((object[index + 0] & 0x03) << 4) + (object[index + 1] >> 4)]; + result += BASE64_CHARTABLE[(object[index + 1] & 0x0F) << 2]; + result += BASE64_PADDING; + } else { + result += BASE64_CHARTABLE[(object[index + 0] & 0x03) << 4]; + result += BASE64_PADDING + BASE64_PADDING; + } + } + + return result; +} + + +module.exports = new Type('tag:yaml.org,2002:binary', { + loader: { + kind: 'string', + resolver: resolveYamlBinary + }, + dumper: { + kind: 'object', + instanceOf: NodeBuffer, + representer: representYamlBinary + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js new file mode 100644 index 0000000..987a9e6 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js @@ -0,0 +1,74 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var YAML_IMPLICIT_BOOLEAN_MAP = { + 'true' : true, + 'True' : true, + 'TRUE' : true, + 'false' : false, + 'False' : false, + 'FALSE' : false +}; + +var YAML_EXPLICIT_BOOLEAN_MAP = { + 'true' : true, + 'True' : true, + 'TRUE' : true, + 'false' : false, + 'False' : false, + 'FALSE' : false, + 'y' : true, + 'Y' : true, + 'yes' : true, + 'Yes' : true, + 'YES' : true, + 'n' : false, + 'N' : false, + 'no' : false, + 'No' : false, + 'NO' : false, + 'on' : true, + 'On' : true, + 'ON' : true, + 'off' : false, + 'Off' : false, + 'OFF' : false +}; + + +function resolveYamlBoolean(object, explicit) { + if (explicit) { + if (YAML_EXPLICIT_BOOLEAN_MAP.hasOwnProperty(object)) { + return YAML_EXPLICIT_BOOLEAN_MAP[object]; + } else { + return NIL; + } + } else { + if (YAML_IMPLICIT_BOOLEAN_MAP.hasOwnProperty(object)) { + return YAML_IMPLICIT_BOOLEAN_MAP[object]; + } else { + return NIL; + } + } +} + + +module.exports = new Type('tag:yaml.org,2002:bool', { + loader: { + kind: 'string', + resolver: resolveYamlBoolean + }, + dumper: { + kind: 'boolean', + defaultStyle: 'lowercase', + representer: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + } + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js new file mode 100644 index 0000000..edb5fcb --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js @@ -0,0 +1,102 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var YAML_FLOAT_PATTERN = new RegExp( + '^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?' + + '|\\.[0-9_]+(?:[eE][-+][0-9]+)?' + + '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + + '|[-+]?\\.(?:inf|Inf|INF)' + + '|\\.(?:nan|NaN|NAN))$'); + + +function resolveYamlFloat(object /*, explicit*/) { + var value, sign, base, digits; + + if (!YAML_FLOAT_PATTERN.test(object)) { + return NIL; + } + + value = object.replace(/_/g, '').toLowerCase(); + sign = '-' === value[0] ? -1 : 1; + digits = []; + + if (0 <= '+-'.indexOf(value[0])) { + value = value.slice(1); + } + + if ('.inf' === value) { + return (1 === sign) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if ('.nan' === value) { + return NaN; + + } else if (0 <= value.indexOf(':')) { + value.split(':').forEach(function (v) { + digits.unshift(parseFloat(v, 10)); + }); + + value = 0.0; + base = 1; + + digits.forEach(function (d) { + value += d * base; + base *= 60; + }); + + return sign * value; + + } else { + return sign * parseFloat(value, 10); + } +} + + +function representYamlFloat(object, style) { + if (isNaN(object)) { + switch (style) { + case 'lowercase': + return '.nan'; + case 'uppercase': + return '.NAN'; + case 'camelcase': + return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': + return '.inf'; + case 'uppercase': + return '.INF'; + case 'camelcase': + return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': + return '-.inf'; + case 'uppercase': + return '-.INF'; + case 'camelcase': + return '-.Inf'; + } + } else { + return object.toString(10); + } +} + + +module.exports = new Type('tag:yaml.org,2002:float', { + loader: { + kind: 'string', + resolver: resolveYamlFloat + }, + dumper: { + kind: 'float', + defaultStyle: 'lowercase', + representer: representYamlFloat + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js new file mode 100644 index 0000000..f5e1e7e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js @@ -0,0 +1,85 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var YAML_INTEGER_PATTERN = new RegExp( + '^(?:[-+]?0b[0-1_]+' + + '|[-+]?0[0-7_]+' + + '|[-+]?(?:0|[1-9][0-9_]*)' + + '|[-+]?0x[0-9a-fA-F_]+' + + '|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$'); + + +function resolveYamlInteger(object /*, explicit*/) { + var value, sign, base, digits; + + if (!YAML_INTEGER_PATTERN.test(object)) { + return NIL; + } + + value = object.replace(/_/g, ''); + sign = '-' === value[0] ? -1 : 1; + digits = []; + + if (0 <= '+-'.indexOf(value[0])) { + value = value.slice(1); + } + + if ('0' === value) { + return 0; + + } else if (/^0b/.test(value)) { + return sign * parseInt(value.slice(2), 2); + + } else if (/^0x/.test(value)) { + return sign * parseInt(value, 16); + + } else if ('0' === value[0]) { + return sign * parseInt(value, 8); + + } else if (0 <= value.indexOf(':')) { + value.split(':').forEach(function (v) { + digits.unshift(parseInt(v, 10)); + }); + + value = 0; + base = 1; + + digits.forEach(function (d) { + value += (d * base); + base *= 60; + }); + + return sign * value; + + } else { + return sign * parseInt(value, 10); + } +} + + +module.exports = new Type('tag:yaml.org,2002:int', { + loader: { + kind: 'string', + resolver: resolveYamlInteger + }, + dumper: { + kind: 'integer', + defaultStyle: 'decimal', + representer: { + binary: function (object) { return '0b' + object.toString(2); }, + octal: function (object) { return '0' + object.toString(8); }, + decimal: function (object) { return object.toString(10); }, + hexadecimal: function (object) { return '0x' + object.toString(16).toUpperCase(); } + }, + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js new file mode 100644 index 0000000..4b3b3ca --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js @@ -0,0 +1,56 @@ +'use strict'; + + +var esprima = require('esprima'); + + +var NIL = require('../../common').NIL; +var Type = require('../../type'); + + +function resolveJavascriptFunction(object /*, explicit*/) { + /*jslint evil:true*/ + + try { + var source = '(' + object + ')', + ast = esprima.parse(source, { range: true }), + params = [], + body; + + if ('Program' !== ast.type || + 1 !== ast.body.length || + 'ExpressionStatement' !== ast.body[0].type || + 'FunctionExpression' !== ast.body[0].expression.type) { + return NIL; + } + + ast.body[0].expression.params.forEach(function (param) { + params.push(param.name); + }); + + body = ast.body[0].expression.body.range; + + // Esprima's ranges include the first '{' and the last '}' characters on + // function expressions. So cut them out. + return new Function(params, source.slice(body[0]+1, body[1]-1)); + } catch (err) { + return NIL; + } +} + + +function representJavascriptFunction(object /*, style*/) { + return object.toString(); +} + + +module.exports = new Type('tag:yaml.org,2002:js/function', { + loader: { + kind: 'string', + resolver: resolveJavascriptFunction + }, + dumper: { + kind: 'function', + representer: representJavascriptFunction, + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js new file mode 100644 index 0000000..9f4f89e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js @@ -0,0 +1,56 @@ +'use strict'; + + +var NIL = require('../../common').NIL; +var Type = require('../../type'); + + +function resolveJavascriptRegExp(object /*, explicit*/) { + var regexp = object, + tail = /\/([gim]*)$/.exec(object), + modifiers; + + // `/foo/gim` - tail can be maximum 4 chars + if ('/' === regexp[0] && tail && 4 >= tail[0].length) { + regexp = regexp.slice(1, regexp.length - tail[0].length); + modifiers = tail[1]; + } + + try { + return new RegExp(regexp, modifiers); + } catch (error) { + return NIL; + } +} + + +function representJavascriptRegExp(object /*, style*/) { + var result = '/' + object.source + '/'; + + if (object.global) { + result += 'g'; + } + + if (object.multiline) { + result += 'm'; + } + + if (object.ignoreCase) { + result += 'i'; + } + + return result; +} + + +module.exports = new Type('tag:yaml.org,2002:js/regexp', { + loader: { + kind: 'string', + resolver: resolveJavascriptRegExp + }, + dumper: { + kind: 'object', + instanceOf: RegExp, + representer: representJavascriptRegExp + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js new file mode 100644 index 0000000..8d2835e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js @@ -0,0 +1,28 @@ +'use strict'; + + +var Type = require('../../type'); + + +function resolveJavascriptUndefined(/*object, explicit*/) { + var undef; + + return undef; +} + + +function representJavascriptUndefined(/*object, explicit*/) { + return ''; +} + + +module.exports = new Type('tag:yaml.org,2002:js/undefined', { + loader: { + kind: 'string', + resolver: resolveJavascriptUndefined + }, + dumper: { + kind: 'undefined', + representer: representJavascriptUndefined + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js new file mode 100644 index 0000000..5cda6de --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js @@ -0,0 +1,11 @@ +'use strict'; + + +var Type = require('../type'); + + +module.exports = new Type('tag:yaml.org,2002:map', { + loader: { + kind: 'object' + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js new file mode 100644 index 0000000..8facc70 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js @@ -0,0 +1,18 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +function resolveYamlMerge(object /*, explicit*/) { + return '<<' === object ? object : NIL; +} + + +module.exports = new Type('tag:yaml.org,2002:merge', { + loader: { + kind: 'string', + resolver: resolveYamlMerge + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js new file mode 100644 index 0000000..796e1af --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js @@ -0,0 +1,36 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var YAML_NULL_MAP = { + '~' : true, + 'null' : true, + 'Null' : true, + 'NULL' : true +}; + + +function resolveYamlNull(object /*, explicit*/) { + return YAML_NULL_MAP[object] ? null : NIL; +} + + +module.exports = new Type('tag:yaml.org,2002:null', { + loader: { + kind: 'string', + resolver: resolveYamlNull + }, + dumper: { + kind: 'null', + defaultStyle: 'lowercase', + representer: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; }, + } + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js new file mode 100644 index 0000000..f7c248d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js @@ -0,0 +1,53 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var _toString = Object.prototype.toString; + + +function resolveYamlOmap(object /*, explicit*/) { + var objectKeys = [], index, length, pair, pairKey, pairHasKey; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if ('[object Object]' !== _toString.call(pair)) { + return NIL; + } + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) { + pairHasKey = true; + } else { + return NIL; + } + } + } + + if (!pairHasKey) { + return NIL; + } + + if (-1 === objectKeys.indexOf(pairKey)) { + objectKeys.push(pairKey); + } else { + return NIL; + } + } + + return object; +} + + +module.exports = new Type('tag:yaml.org,2002:omap', { + loader: { + kind: 'array', + resolver: resolveYamlOmap + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js new file mode 100644 index 0000000..828ff1b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js @@ -0,0 +1,41 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var _toString = Object.prototype.toString; + + +function resolveYamlPairs(object /*, explicit*/) { + var index, length, pair, keys, result; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if ('[object Object]' !== _toString.call(pair)) { + return NIL; + } + + keys = Object.keys(pair); + + if (1 !== keys.length) { + return NIL; + } + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + + +module.exports = new Type('tag:yaml.org,2002:pairs', { + loader: { + kind: 'array', + resolver: resolveYamlPairs + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js new file mode 100644 index 0000000..80a7cf0 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js @@ -0,0 +1,11 @@ +'use strict'; + + +var Type = require('../type'); + + +module.exports = new Type('tag:yaml.org,2002:seq', { + loader: { + kind: 'array' + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js new file mode 100644 index 0000000..64bdc66 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js @@ -0,0 +1,31 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +function resolveYamlSet(object /*, explicit*/) { + var key; + + for (key in object) { + if (_hasOwnProperty.call(object, key)) { + if (null !== object[key]) { + return NIL; + } + } + } + + return object; +} + + +module.exports = new Type('tag:yaml.org,2002:set', { + loader: { + kind: 'object', + resolver: resolveYamlSet + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js new file mode 100644 index 0000000..384f14e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js @@ -0,0 +1,11 @@ +'use strict'; + + +var Type = require('../type'); + + +module.exports = new Type('tag:yaml.org,2002:str', { + loader: { + kind: 'string' + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js new file mode 100644 index 0000000..24da9e2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js @@ -0,0 +1,91 @@ +'use strict'; + + +var NIL = require('../common').NIL; +var Type = require('../type'); + + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?)?$'); // [11] tz_minute + + +function resolveYamlTimestamp(object /*, explicit*/) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, data; + + match = YAML_TIMESTAMP_REGEXP.exec(object); + + if (null === match) { + return NIL; + } + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if ('-' === match[9]) { + delta = -delta; + } + } + + data = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) { + data.setTime(data.getTime() - delta); + } + + return data; +} + + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + + +module.exports = new Type('tag:yaml.org,2002:timestamp', { + loader: { + kind: 'string', + resolver: resolveYamlTimestamp + }, + dumper: { + kind: 'object', + instanceOf: Date, + representer: representYamlTimestamp + } +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse new file mode 100644 index 0000000..2b5398f --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../esprima/bin/esparse.js" "$@" + ret=$? +else + node "$basedir/../esprima/bin/esparse.js" "$@" + ret=$? +fi +exit $ret diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse.cmd b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse.cmd new file mode 100644 index 0000000..0bc3f65 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse.cmd @@ -0,0 +1,5 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\esprima\bin\esparse.js" %* +) ELSE ( + node "%~dp0\..\esprima\bin\esparse.js" %* +) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate new file mode 100644 index 0000000..6d6df8a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=`dirname "$0"` + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../esprima/bin/esvalidate.js" "$@" + ret=$? +else + node "$basedir/../esprima/bin/esvalidate.js" "$@" + ret=$? +fi +exit $ret diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate.cmd b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate.cmd new file mode 100644 index 0000000..b8ec592 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate.cmd @@ -0,0 +1,5 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\esprima\bin\esvalidate.js" %* +) ELSE ( + node "%~dp0\..\esprima\bin\esvalidate.js" %* +) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md new file mode 100644 index 0000000..102f82b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md @@ -0,0 +1,109 @@ +0.1.15 / 2013-05-13 +------------------- + +* Fixed #55, @trebor89 + + +0.1.14 / 2013-05-12 +------------------- + +* Fixed #62, @maxtaco + + +0.1.13 / 2013-04-08 +------------------- + +* Added `.npmignore` to reduce package size + + +0.1.12 / 2013-02-10 +------------------- + +* Fixed conflictHandler (#46), @hpaulj + + +0.1.11 / 2013-02-07 +------------------- + +* Multiple bugfixes, @hpaulj +* Added 70+ tests (ported from python), @hpaulj +* Added conflictHandler, @applepicke +* Added fromfilePrefixChar, @hpaulj + + +0.1.10 / 2012-12-30 +------------------- + +* Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion) + support, thanks to @hpaulj +* Fixed options check for `storeConst` & `appendConst` actions, thanks to @hpaulj + + +0.1.9 / 2012-12-27 +------------------ + +* Fixed option dest interferens with other options (issue #23), thanks to @hpaulj +* Fixed default value behavior with `*` positionals, thanks to @hpaulj +* Improve `getDefault()` behavior, thanks to @hpaulj +* Imrove negative argument parsing, thanks to @hpaulj + + +0.1.8 / 2012-12-01 +------------------ + +* Fixed parser parents (issue #19), thanks to @hpaulj +* Fixed negative argument parse (issue #20), thanks to @hpaulj + + +0.1.7 / 2012-10-14 +------------------ + +* Fixed 'choices' argument parse (issue #16) +* Fixed stderr output (issue #15) + + +0.1.6 / 2012-09-09 +------------------ + +* Fixed check for conflict of options (thanks to @tomxtobin) + + +0.1.5 / 2012-09-03 +------------------ + +* Fix parser #setDefaults method (thanks to @tomxtobin) + + +0.1.4 / 2012-07-30 +------------------ + +* Fixed pseudo-argument support (thanks to @CGamesPlay) +* Fixed addHelp default (should be true), if not set (thanks to @benblank) + + +0.1.3 / 2012-06-27 +------------------ + +* Fixed formatter api name: Formatter -> HelpFormatter + + +0.1.2 / 2012-05-29 +------------------ + +* Added basic tests +* Removed excess whitespace in help +* Fixed error reporting, when parcer with subcommands + called with empty arguments + + +0.1.1 / 2012-05-23 +------------------ + +* Fixed line wrapping in help formatter +* Added better error reporting on invalid arguments + + +0.1.0 / 2012-05-16 +------------------ + +* First release. diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE new file mode 100644 index 0000000..1afdae5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (C) 2012 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md new file mode 100644 index 0000000..f20e0c1 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md @@ -0,0 +1,239 @@ +argparse +======== + +[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse) + +CLI arguments parser for node.js. Javascript port of python's +[argparse](http://docs.python.org/dev/library/argparse.html) module +(original version 3.2). That's a full port, except some very rare options, +recorded in issue tracker. + +**NB.** Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/). + + +Example +======= + +test.js file: + +```javascript +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp:true, + description: 'Argparse example' +}); +parser.addArgument( + [ '-f', '--foo' ], + { + help: 'foo bar' + } +); +parser.addArgument( + [ '-b', '--bar' ], + { + help: 'bar foo' + } +); +var args = parser.parseArgs(); +console.dir(args); +``` + +Display help: + +``` +$ ./test.js -h +usage: example.js [-h] [-v] [-f FOO] [-b BAR] + +Argparse example + +Optional arguments: + -h, --help Show this help message and exit. + -v, --version Show program's version number and exit. + -f FOO, --foo FOO foo bar + -b BAR, --bar BAR bar foo +``` + +Parse arguments: + +``` +$ ./test.js -f=3 --bar=4 +{ foo: '3', bar: '4' } +``` + +More [examples](https://github.com/nodeca/argparse/tree/master/examples). + + +ArgumentParser objects +====================== + +``` +new ArgumentParser({paramters hash}); +``` + +Creates a new ArgumentParser object. + +**Supported params:** + +- ```description``` - Text to display before the argument help. +- ```epilog``` - Text to display after the argument help. +- ```addHelp``` - Add a -h/–help option to the parser. (default: True) +- ```argumentDefault``` - Set the global default value for arguments. (default: None) +- ```parents``` - A list of ArgumentParser objects whose arguments should also be included. +- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘) +- ```formatterClass``` - A class for customizing the help output. +- ```prog``` - The name of the program (default: sys.argv[0]) +- ```usage``` - The string describing the program usage (default: generated) +- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals. + +**Not supportied yet** + +- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read. + + +Details in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects) + + +addArgument() method +==================== + +``` +ArgumentParser.addArgument([names or flags], {options}) +``` + +Defines how a single command-line argument should be parsed. + +- ```name or flags``` - Either a name or a list of option strings, e.g. foo or -f, --foo. + +Options: + +- ```action``` - The basic type of action to be taken when this argument is encountered at the command line. +- ```nargs```- The number of command-line arguments that should be consumed. +- ```constant``` - A constant value required by some action and nargs selections. +- ```defaultValue``` - The value produced if the argument is absent from the command line. +- ```type``` - The type to which the command-line argument should be converted. +- ```choices``` - A container of the allowable values for the argument. +- ```required``` - Whether or not the command-line option may be omitted (optionals only). +- ```help``` - A brief description of what the argument does. +- ```metavar``` - A name for the argument in usage messages. +- ```dest``` - The name of the attribute to be added to the object returned by parseArgs(). + +Details in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method) + + +Action (some details) +================ + +ArgumentParser objects associate command-line arguments with actions. +These actions can do just about anything with the command-line arguments associated +with them, though most actions simply add an attribute to the object returned by +parseArgs(). The action keyword argument specifies how the command-line arguments +should be handled. The supported actions are: + +- ```store``` - Just stores the argument’s value. This is the default action. +- ```storeConst``` - Stores value, specified by the const keyword argument. + (Note that the const keyword argument defaults to the rather unhelpful None.) + The 'storeConst' action is most commonly used with optional arguments, that + specify some sort of flag. +- ```storeTrue``` and ```storeFalse``` - Stores values True and False + respectively. These are special cases of 'storeConst'. +- ```append``` - Stores a list, and appends each argument value to the list. + This is useful to allow an option to be specified multiple times. +- ```appendConst``` - Stores a list, and appends value, specified by the + const keyword argument to the list. (Note, that the const keyword argument defaults + is None.) The 'appendConst' action is typically used when multiple arguments need + to store constants to the same list. +- ```count``` - Counts the number of times a keyword argument occurs. For example, + used for increasing verbosity levels. +- ```help``` - Prints a complete help message for all the options in the current + parser and then exits. By default a help action is automatically added to the parser. + See ArgumentParser for details of how the output is created. +- ```version``` - Prints version information and exit. Expects a `version=` + keyword argument in the addArgument() call. + +Details in [original action guide](http://docs.python.org/dev/library/argparse.html#action) + + +Sub-commands +============ + +ArgumentParser.addSubparsers() + +Many programs split their functionality into a number of sub-commands, for +example, the svn program can invoke sub-commands like `svn checkout`, `svn update`, +and `svn commit`. Splitting up functionality this way can be a particularly good +idea when a program performs several different functions which require different +kinds of command-line arguments. `ArgumentParser` supports creation of such +sub-commands with `addSubparsers()` method. The `addSubparsers()` method is +normally called with no arguments and returns an special action object. +This object has a single method `addParser()`, which takes a command name and +any `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object +that can be modified as usual. + +Example: + +sub_commands.js +```javascript +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp:true, + description: 'Argparse examples: sub-commands', +}); + +var subparsers = parser.addSubparsers({ + title:'subcommands', + dest:"subcommand_name" +}); + +var bar = subparsers.addParser('c1', {addHelp:true}); +bar.addArgument( + [ '-f', '--foo' ], + { + action: 'store', + help: 'foo3 bar3' + } +); +var bar = subparsers.addParser( + 'c2', + {aliases:['co'], addHelp:true} +); +bar.addArgument( + [ '-b', '--bar' ], + { + action: 'store', + type: 'int', + help: 'foo3 bar3' + } +); + +var args = parser.parseArgs(); +console.dir(args); + +``` + +Details in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands) + + +Contributors +============ + +- [Eugene Shkuropat](https://github.com/shkuropat) +- [Paul Jacobson](https://github.com/hpaulj) + +[others](https://github.com/nodeca/argparse/graphs/contributors) + +License +======= + +Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin). +Released under the MIT license. See +[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details. + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js new file mode 100644 index 0000000..5b090fa --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js @@ -0,0 +1,36 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp: true, + description: 'Argparse examples: arguments' +}); +parser.addArgument( + [ '-f', '--foo' ], + { + help: 'foo bar' + } +); +parser.addArgument( + [ '-b', '--bar' ], + { + help: 'bar foo' + } +); + + +parser.printHelp(); +console.log('-----------'); + +var args; +args = parser.parseArgs('-f 1 -b2'.split(' ')); +console.dir(args); +console.log('-----------'); +args = parser.parseArgs('-f=3 --bar=4'.split(' ')); +console.dir(args); +console.log('-----------'); +args = parser.parseArgs('--foo 5 --bar 6'.split(' ')); +console.dir(args); +console.log('-----------'); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js new file mode 100644 index 0000000..2616fa4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js @@ -0,0 +1,22 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp: true, + description: 'Argparse examples: choice' +}); + +parser.addArgument(['foo'], {choices: 'abc'}); + +parser.printHelp(); +console.log('-----------'); + +var args; +args = parser.parseArgs(['c']); +console.dir(args); +console.log('-----------'); +parser.parseArgs(['X']); +console.dir(args); + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js new file mode 100644 index 0000000..172a4f3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js @@ -0,0 +1,59 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp: true, + description: 'Argparse examples: constant' +}); + +parser.addArgument( + [ '-a'], + { + action: 'storeConst', + dest: 'answer', + help: 'store constant', + constant: 42 + } +); +parser.addArgument( + [ '--str' ], + { + action: 'appendConst', + dest: 'types', + help: 'append constant "str" to types', + constant: 'str' + } +); +parser.addArgument( + [ '--int' ], + { + action: 'appendConst', + dest: 'types', + help: 'append constant "int" to types', + constant: 'int' + } +); + +parser.addArgument( + [ '--true' ], + { + action: 'storeTrue', + help: 'store true constant' + } +); +parser.addArgument( + [ '--false' ], + { + action: 'storeFalse', + help: 'store false constant' + } +); + +parser.printHelp(); +console.log('-----------'); + +var args; +args = parser.parseArgs('-a --str --int --true'.split(' ')); +console.dir(args); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js new file mode 100644 index 0000000..7eb9555 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js @@ -0,0 +1,13 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp: true, + description: 'Argparse examples: help', + epilog: 'help epilog', + prog: 'help_example_prog', + usage: 'Usage %(prog)s ' +}); +parser.printHelp(); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js new file mode 100644 index 0000000..74f376b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js @@ -0,0 +1,33 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp: true, + description: 'Argparse examples: nargs' +}); +parser.addArgument( + [ '-f', '--foo' ], + { + help: 'foo bar', + nargs: 1 + } +); +parser.addArgument( + [ '-b', '--bar' ], + { + help: 'bar foo', + nargs: '*' + } +); + +parser.printHelp(); +console.log('-----------'); + +var args; +args = parser.parseArgs('--foo a --bar c d'.split(' ')); +console.dir(args); +console.log('-----------'); +args = parser.parseArgs('--bar b c f --foo a'.split(' ')); +console.dir(args); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js new file mode 100644 index 0000000..dfe8968 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js @@ -0,0 +1,28 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; + +var args; +var parent_parser = new ArgumentParser({ addHelp: false }); +// note addHelp:false to prevent duplication of the -h option +parent_parser.addArgument( + ['--parent'], + { type: 'int', description: 'parent' } +); + +var foo_parser = new ArgumentParser({ + parents: [ parent_parser ], + description: 'child1' +}); +foo_parser.addArgument(['foo']); +args = foo_parser.parseArgs(['--parent', '2', 'XXX']); +console.log(args); + +var bar_parser = new ArgumentParser({ + parents: [ parent_parser ], + description: 'child2' +}); +bar_parser.addArgument(['--bar']); +args = bar_parser.parseArgs(['--bar', 'YYY']); +console.log(args); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js new file mode 100644 index 0000000..430d5e1 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js @@ -0,0 +1,23 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp: true, + description: 'Argparse examples: prefix_chars', + prefixChars: '-+' +}); +parser.addArgument(['+f', '++foo']); +parser.addArgument(['++bar'], {action: 'storeTrue'}); + +parser.printHelp(); +console.log('-----------'); + +var args; +args = parser.parseArgs(['+f', '1']); +console.dir(args); +args = parser.parseArgs(['++bar']); +console.dir(args); +args = parser.parseArgs(['++foo', '2', '++bar']); +console.dir(args); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js new file mode 100644 index 0000000..df9c494 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js @@ -0,0 +1,49 @@ +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp: true, + description: 'Argparse examples: sub-commands' +}); + +var subparsers = parser.addSubparsers({ + title: 'subcommands', + dest: "subcommand_name" +}); + +var bar = subparsers.addParser('c1', {addHelp: true, help: 'c1 help'}); +bar.addArgument( + [ '-f', '--foo' ], + { + action: 'store', + help: 'foo3 bar3' + } +); +var bar = subparsers.addParser( + 'c2', + {aliases: ['co'], addHelp: true, help: 'c2 help'} +); +bar.addArgument( + [ '-b', '--bar' ], + { + action: 'store', + type: 'int', + help: 'foo3 bar3' + } +); +parser.printHelp(); +console.log('-----------'); + +var args; +args = parser.parseArgs('c1 -f 2'.split(' ')); +console.dir(args); +console.log('-----------'); +args = parser.parseArgs('c2 -b 1'.split(' ')); +console.dir(args); +console.log('-----------'); +args = parser.parseArgs('co -b 1'.split(' ')); +console.dir(args); +console.log('-----------'); +parser.parseArgs(['c1', '-h']); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js new file mode 100644 index 0000000..4532800 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js @@ -0,0 +1,35 @@ +#!/usr/bin/env node + +'use strict'; + + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ description: 'Process some integers.' }); + + +function sum(arr) { + return arr.reduce(function (a, b) { + return a + b; + }, 0); +} +function max(arr) { + return Math.max.apply(Math, arr); +} + + +parser.addArgument(['integers'], { + metavar: 'N', + type: 'int', + nargs: '+', + help: 'an integer for the accumulator' +}); +parser.addArgument(['--sum'], { + dest: 'accumulate', + action: 'storeConst', + constant: sum, + defaultValue: max, + help: 'sum the integers (default: find the max)' +}); + +var args = parser.parseArgs('--sum 1 2 -1'.split(' ')); +console.log(args.accumulate(args.integers)); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js new file mode 100644 index 0000000..afb4a2d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js @@ -0,0 +1,270 @@ +'use strict'; + +var a, group, parser, helptext; + +var assert = require('assert'); +var _ = require('underscore'); +_.str = require('underscore.string'); +var print = function () { + return console.log.apply(console, arguments); + }; +// print = function () {}; + +var argparse = require('argparse'); + +print("TEST argparse.ArgumentDefaultsHelpFormatter"); + +parser = new argparse.ArgumentParser({ + debug: true, + formatterClass: argparse.ArgumentDefaultsHelpFormatter, + description: 'description' +}); + +parser.addArgument(['--foo'], { + help: 'foo help - oh and by the way, %(defaultValue)s' +}); + +parser.addArgument(['--bar'], { + action: 'storeTrue', + help: 'bar help' +}); + +parser.addArgument(['spam'], { + help: 'spam help' +}); + +parser.addArgument(['badger'], { + nargs: '?', + defaultValue: 'wooden', + help: 'badger help' +}); + +group = parser.addArgumentGroup({ + title: 'title', + description: 'group description' +}); + +group.addArgument(['--baz'], { + type: 'int', + defaultValue: 42, + help: 'baz help' +}); + +helptext = parser.formatHelp(); +print(helptext); +// test selected clips +assert(helptext.match(/badger help \(default: wooden\)/)); +assert(helptext.match(/foo help - oh and by the way, null/)); +assert(helptext.match(/bar help \(default: false\)/)); +assert(helptext.match(/title:\n {2}group description/)); // test indent +assert(helptext.match(/baz help \(default: 42\)/im)); + +/* +usage: PROG [-h] [--foo FOO] [--bar] [--baz BAZ] spam [badger] + +description + +positional arguments: + spam spam help + badger badger help (default: wooden) + +optional arguments: + -h, --help show this help message and exit + --foo FOO foo help - oh and by the way, null + --bar bar help (default: false) + +title: + group description + + --baz BAZ baz help (default: 42) +*/ + +print("TEST argparse.RawDescriptionHelpFormatter"); + +parser = new argparse.ArgumentParser({ + debug: true, + prog: 'PROG', + formatterClass: argparse.RawDescriptionHelpFormatter, + description: 'Keep the formatting\n' + + ' exactly as it is written\n' + + '\n' + + 'here\n' +}); + +a = parser.addArgument(['--foo'], { + help: ' foo help should not\n' + + ' retain this odd formatting' +}); + +parser.addArgument(['spam'], { + 'help': 'spam help' +}); + +group = parser.addArgumentGroup({ + title: 'title', + description: ' This text\n' + + ' should be indented\n' + + ' exactly like it is here\n' +}); + +group.addArgument(['--bar'], { + help: 'bar help' +}); + +helptext = parser.formatHelp(); +print(helptext); +// test selected clips +assert(helptext.match(parser.description)); +assert.equal(helptext.match(a.help), null); +assert(helptext.match(/foo help should not retain this odd formatting/)); + +/* +class TestHelpRawDescription(HelpTestCase): + """Test the RawTextHelpFormatter""" +.... + +usage: PROG [-h] [--foo FOO] [--bar BAR] spam + +Keep the formatting + exactly as it is written + +here + +positional arguments: + spam spam help + +optional arguments: + -h, --help show this help message and exit + --foo FOO foo help should not retain this odd formatting + +title: + This text + should be indented + exactly like it is here + + --bar BAR bar help +*/ + + +print("TEST argparse.RawTextHelpFormatter"); + +parser = new argparse.ArgumentParser({ + debug: true, + prog: 'PROG', + formatterClass: argparse.RawTextHelpFormatter, + description: 'Keep the formatting\n' + + ' exactly as it is written\n' + + '\n' + + 'here\n' +}); + +parser.addArgument(['--baz'], { + help: ' baz help should also\n' + + 'appear as given here' +}); + +a = parser.addArgument(['--foo'], { + help: ' foo help should also\n' + + 'appear as given here' +}); + +parser.addArgument(['spam'], { + 'help': 'spam help' +}); + +group = parser.addArgumentGroup({ + title: 'title', + description: ' This text\n' + + ' should be indented\n' + + ' exactly like it is here\n' +}); + +group.addArgument(['--bar'], { + help: 'bar help' +}); + +helptext = parser.formatHelp(); +print(helptext); +// test selected clips +assert(helptext.match(parser.description)); +assert(helptext.match(/( {14})appear as given here/gm)); + +/* +class TestHelpRawText(HelpTestCase): + """Test the RawTextHelpFormatter""" + +usage: PROG [-h] [--foo FOO] [--bar BAR] spam + +Keep the formatting + exactly as it is written + +here + +positional arguments: + spam spam help + +optional arguments: + -h, --help show this help message and exit + --foo FOO foo help should also + appear as given here + +title: + This text + should be indented + exactly like it is here + + --bar BAR bar help +*/ + + +print("TEST metavar as a tuple"); + +parser = new argparse.ArgumentParser({ + prog: 'PROG' +}); + +parser.addArgument(['-w'], { + help: 'w', + nargs: '+', + metavar: ['W1', 'W2'] +}); + +parser.addArgument(['-x'], { + help: 'x', + nargs: '*', + metavar: ['X1', 'X2'] +}); + +parser.addArgument(['-y'], { + help: 'y', + nargs: 3, + metavar: ['Y1', 'Y2', 'Y3'] +}); + +parser.addArgument(['-z'], { + help: 'z', + nargs: '?', + metavar: ['Z1'] +}); + +helptext = parser.formatHelp(); +print(helptext); +var ustring = 'PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]]'; +ustring = ustring.replace(/\[/g, '\\[').replace(/\]/g, '\\]'); +// print(ustring) +assert(helptext.match(new RegExp(ustring))); + +/* +class TestHelpTupleMetavar(HelpTestCase): + """Test specifying metavar as a tuple""" + +usage: PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]] + +optional arguments: + -h, --help show this help message and exit + -w W1 [W2 ...] w + -x [X1 [X2 ...]] x + -y Y1 Y2 Y3 y + -z [Z1] z +*/ + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js new file mode 100644 index 0000000..3b6eea0 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/argparse'); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js new file mode 100644 index 0000000..6f7e9a5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js @@ -0,0 +1,146 @@ +/** + * class Action + * + * Base class for all actions + * Do not call in your code, use this class only for inherits your own action + * + * Information about how to convert command line strings to Javascript objects. + * Action objects are used by an ArgumentParser to represent the information + * needed to parse a single argument from one or more strings from the command + * line. The keyword arguments to the Action constructor are also all attributes + * of Action instances. + * + * #####Alowed keywords: + * + * - `store` + * - `storeConstant` + * - `storeTrue` + * - `storeFalse` + * - `append` + * - `appendConstant` + * - `count` + * - `help` + * - `version` + * + * Information about action options see [[Action.new]] + * + * See also [original guide](http://docs.python.org/dev/library/argparse.html#action) + * + **/ + +'use strict'; + + +// Constants +var $$ = require('./const'); + + +/** + * new Action(options) + * + * Base class for all actions. Used only for inherits + * + * + * ##### Options: + * + * - `optionStrings` A list of command-line option strings for the action. + * - `dest` Attribute to hold the created object(s) + * - `nargs` The number of command-line arguments that should be consumed. + * By default, one argument will be consumed and a single value will be + * produced. + * - `constant` Default value for an action with no value. + * - `defaultValue` The value to be produced if the option is not specified. + * - `type` Cast to 'string'|'int'|'float'|'complex'|function (string). If + * None, 'string'. + * - `choices` The choices available. + * - `required` True if the action must always be specified at the command + * line. + * - `help` The help describing the argument. + * - `metavar` The name to be used for the option's argument with the help + * string. If None, the 'dest' value will be used as the name. + * + * ##### nargs supported values: + * + * - `N` (an integer) consumes N arguments (and produces a list) + * - `?` consumes zero or one arguments + * - `*` consumes zero or more arguments (and produces a list) + * - `+` consumes one or more arguments (and produces a list) + * + * Note: that the difference between the default and nargs=1 is that with the + * default, a single value will be produced, while with nargs=1, a list + * containing a single value will be produced. + **/ +var Action = module.exports = function Action(options) { + options = options || {}; + this.optionStrings = options.optionStrings || []; + this.dest = options.dest; + this.nargs = options.nargs !== undefined ? options.nargs : null; + this.constant = options.constant !== undefined ? options.constant : null; + this.defaultValue = options.defaultValue; + this.type = options.type !== undefined ? options.type : null; + this.choices = options.choices !== undefined ? options.choices : null; + this.required = options.required !== undefined ? options.required: false; + this.help = options.help !== undefined ? options.help : null; + this.metavar = options.metavar !== undefined ? options.metavar : null; + + if (!(this.optionStrings instanceof Array)) { + throw new Error('optionStrings should be an array'); + } + if (this.required !== undefined && typeof(this.required) !== 'boolean') { + throw new Error('required should be a boolean'); + } +}; + +/** + * Action#getName -> String + * + * Tells action name + **/ +Action.prototype.getName = function () { + if (this.optionStrings.length > 0) { + return this.optionStrings.join('/'); + } else if (this.metavar !== null && this.metavar !== $$.SUPPRESS) { + return this.metavar; + } else if (this.dest !== undefined && this.dest !== $$.SUPPRESS) { + return this.dest; + } + return null; +}; + +/** + * Action#isOptional -> Boolean + * + * Return true if optional + **/ +Action.prototype.isOptional = function () { + return !this.isPositional(); +}; + +/** + * Action#isPositional -> Boolean + * + * Return true if positional + **/ +Action.prototype.isPositional = function () { + return (this.optionStrings.length === 0); +}; + +/** + * Action#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Should be implemented in inherited classes + * + * ##### Example + * + * ActionCount.prototype.call = function (parser, namespace, values, optionString) { + * namespace.set(this.dest, (namespace[this.dest] || 0) + 1); + * }; + * + **/ +Action.prototype.call = function () { + throw new Error('.call() not defined');// Not Implemented error +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js new file mode 100644 index 0000000..48c6dbe --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js @@ -0,0 +1,55 @@ +/*:nodoc:* + * class ActionAppend + * + * This action stores a list, and appends each argument value to the list. + * This is useful to allow an option to be specified multiple times. + * This class inherided from [[Action]] + * + **/ + +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var $$ = require('../const'); + +/*:nodoc:* + * new ActionAppend(options) + * - options (object): options hash see [[Action.new]] + * + * Note: options.nargs should be optional for constants + * and more then zero for other + **/ +var ActionAppend = module.exports = function ActionAppend(options) { + options = options || {}; + if (this.nargs <= 0) { + throw new Error('nargs for append actions must be > 0; if arg ' + + 'strings are not supplying the value to append, ' + + 'the append const action may be more appropriate'); + } + if (!!this.constant && this.nargs !== $$.OPTIONAL) { + throw new Error('nargs must be OPTIONAL to supply const'); + } + Action.call(this, options); +}; +util.inherits(ActionAppend, Action); + +/*:nodoc:* + * ActionAppend#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionAppend.prototype.call = function (parser, namespace, values) { + var items = [].concat(namespace[this.dest] || []); // or _.clone + items.push(values); + namespace.set(this.dest, items); +}; + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js new file mode 100644 index 0000000..90747ab --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js @@ -0,0 +1,47 @@ +/*:nodoc:* + * class ActionAppendConstant + * + * This stores a list, and appends the value specified by + * the const keyword argument to the list. + * (Note that the const keyword argument defaults to null.) + * The 'appendConst' action is typically useful when multiple + * arguments need to store constants to the same list. + * + * This class inherited from [[Action]] + **/ + +'use strict'; + +var util = require('util'); + +var Action = require('../../action'); + +/*:nodoc:* + * new ActionAppendConstant(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionAppendConstant = module.exports = function ActionAppendConstant(options) { + options = options || {}; + options.nargs = 0; + if (options.constant === undefined) { + throw new Error('constant option is required for appendAction'); + } + Action.call(this, options); +}; +util.inherits(ActionAppendConstant, Action); + +/*:nodoc:* + * ActionAppendConstant#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionAppendConstant.prototype.call = function (parser, namespace) { + var items = [].concat(namespace[this.dest] || []); + items.push(this.constant); + namespace.set(this.dest, items); +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js new file mode 100644 index 0000000..d6a5899 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js @@ -0,0 +1,40 @@ +/*:nodoc:* + * class ActionCount + * + * This counts the number of times a keyword argument occurs. + * For example, this is useful for increasing verbosity levels + * + * This class inherided from [[Action]] + * + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +/*:nodoc:* + * new ActionCount(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionCount = module.exports = function ActionCount(options) { + options = options || {}; + options.nargs = 0; + + Action.call(this, options); +}; +util.inherits(ActionCount, Action); + +/*:nodoc:* + * ActionCount#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionCount.prototype.call = function (parser, namespace) { + namespace.set(this.dest, (namespace[this.dest] || 0) + 1); +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js new file mode 100644 index 0000000..7f7b4e2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js @@ -0,0 +1,48 @@ +/*:nodoc:* + * class ActionHelp + * + * Support action for printing help + * This class inherided from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var $$ = require('../const'); + +/*:nodoc:* + * new ActionHelp(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionHelp = module.exports = function ActionHelp(options) { + options = options || {}; + if (options.defaultValue !== null) { + options.defaultValue = options.defaultValue; + } + else { + options.defaultValue = $$.SUPPRESS; + } + options.dest = (options.dest !== null ? options.dest: $$.SUPPRESS); + options.nargs = 0; + Action.call(this, options); + +}; +util.inherits(ActionHelp, Action); + +/*:nodoc:* + * ActionHelp#call(parser, namespace, values, optionString) + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Print help and exit + **/ +ActionHelp.prototype.call = function (parser) { + parser.printHelp(); + parser.exit(); +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js new file mode 100644 index 0000000..8ebc974 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js @@ -0,0 +1,50 @@ +/*:nodoc:* + * class ActionStore + * + * This action just stores the argument’s value. This is the default action. + * + * This class inherited from [[Action]] + * + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var $$ = require('../const'); + + +/*:nodoc:* + * new ActionStore(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStore = module.exports = function ActionStore(options) { + options = options || {}; + if (this.nargs <= 0) { + throw new Error('nargs for store actions must be > 0; if you ' + + 'have nothing to store, actions such as store ' + + 'true or store const may be more appropriate'); + + } + if (this.constant !== undefined && this.nargs !== $$.OPTIONAL) { + throw new Error('nargs must be OPTIONAL to supply const'); + } + Action.call(this, options); +}; +util.inherits(ActionStore, Action); + +/*:nodoc:* + * ActionStore#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionStore.prototype.call = function (parser, namespace, values) { + namespace.set(this.dest, values); +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js new file mode 100644 index 0000000..8410fcf --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js @@ -0,0 +1,43 @@ +/*:nodoc:* + * class ActionStoreConstant + * + * This action stores the value specified by the const keyword argument. + * (Note that the const keyword argument defaults to the rather unhelpful null.) + * The 'store_const' action is most commonly used with optional + * arguments that specify some sort of flag. + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../../action'); + +/*:nodoc:* + * new ActionStoreConstant(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStoreConstant = module.exports = function ActionStoreConstant(options) { + options = options || {}; + options.nargs = 0; + if (options.constant === undefined) { + throw new Error('constant option is required for storeAction'); + } + Action.call(this, options); +}; +util.inherits(ActionStoreConstant, Action); + +/*:nodoc:* + * ActionStoreConstant#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionStoreConstant.prototype.call = function (parser, namespace) { + namespace.set(this.dest, this.constant); +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js new file mode 100644 index 0000000..66417bf --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js @@ -0,0 +1,27 @@ +/*:nodoc:* + * class ActionStoreFalse + * + * This action store the values False respectively. + * This is special cases of 'storeConst' + * + * This class inherited from [[Action]] + **/ + +'use strict'; + +var util = require('util'); + +var ActionStoreConstant = require('./constant'); + +/*:nodoc:* + * new ActionStoreFalse(options) + * - options (object): hash of options see [[Action.new]] + * + **/ +var ActionStoreFalse = module.exports = function ActionStoreFalse(options) { + options = options || {}; + options.constant = false; + options.defaultValue = options.defaultValue !== null ? options.defaultValue: true; + ActionStoreConstant.call(this, options); +}; +util.inherits(ActionStoreFalse, ActionStoreConstant); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js new file mode 100644 index 0000000..43ec708 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js @@ -0,0 +1,26 @@ +/*:nodoc:* + * class ActionStoreTrue + * + * This action store the values True respectively. + * This isspecial cases of 'storeConst' + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var ActionStoreConstant = require('./constant'); + +/*:nodoc:* + * new ActionStoreTrue(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStoreTrue = module.exports = function ActionStoreTrue(options) { + options = options || {}; + options.constant = true; + options.defaultValue = options.defaultValue !== null ? options.defaultValue: false; + ActionStoreConstant.call(this, options); +}; +util.inherits(ActionStoreTrue, ActionStoreConstant); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js new file mode 100644 index 0000000..adecf65 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js @@ -0,0 +1,148 @@ +/** internal + * class ActionSubparsers + * + * Support the creation of such sub-commands with the addSubparsers() + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); +var format = require('util').format; +var _ = require('underscore'); + + +var Action = require('../action'); + +// Constants +var $$ = require('../const'); + +// Errors +var argumentErrorHelper = require('../argument/error'); + + +/*:nodoc:* + * new ChoicesPseudoAction(name, help) + * + * Create pseudo action for correct help text + * + **/ +var ChoicesPseudoAction = function (name, help) { + var options = { + optionStrings: [], + dest: name, + help: help + }; + + Action.call(this, options); +}; +util.inherits(ChoicesPseudoAction, Action); + +/** + * new ActionSubparsers(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionSubparsers = module.exports = function ActionSubparsers(options) { + options = options || {}; + options.dest = options.dest || $$.SUPPRESS; + options.nargs = $$.PARSER; + + this.debug = (options.debug === true); + + this._progPrefix = options.prog; + this._parserClass = options.parserClass; + this._nameParserMap = {}; + this._choicesActions = []; + + options.choices = this._nameParserMap; + Action.call(this, options); +}; +util.inherits(ActionSubparsers, Action); + +/*:nodoc:* + * ActionSubparsers#addParser(name, options) -> ArgumentParser + * - name (string): sub-command name + * - options (object): see [[ArgumentParser.new]] + * + * Note: + * addParser supports an additional aliases option, + * which allows multiple strings to refer to the same subparser. + * This example, like svn, aliases co as a shorthand for checkout + * + **/ +ActionSubparsers.prototype.addParser = function (name, options) { + var parser; + + var self = this; + + options = options || {}; + + options.debug = (this.debug === true); + + // set program from the existing prefix + if (!options.prog) { + options.prog = this._progPrefix + ' ' + name; + } + + var aliases = options.aliases || []; + + // create a pseudo-action to hold the choice help + if (!!options.help || _.isString(options.help)) { + var help = options.help; + delete options.help; + + var choiceAction = new ChoicesPseudoAction(name, help); + this._choicesActions.push(choiceAction); + } + + // create the parser and add it to the map + parser = new this._parserClass(options); + this._nameParserMap[name] = parser; + + // make parser available under aliases also + aliases.forEach(function (alias) { + self._nameParserMap[alias] = parser; + }); + + return parser; +}; + +ActionSubparsers.prototype._getSubactions = function () { + return this._choicesActions; +}; + +/*:nodoc:* + * ActionSubparsers#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Parse input aguments + **/ +ActionSubparsers.prototype.call = function (parser, namespace, values) { + var parserName = values[0]; + var argStrings = values.slice(1); + + // set the parser name if requested + if (this.dest !== $$.SUPPRESS) { + namespace[this.dest] = parserName; + } + + // select the parser + if (!!this._nameParserMap[parserName]) { + parser = this._nameParserMap[parserName]; + } else { + throw argumentErrorHelper(format( + 'Unknown parser "%s" (choices: [%s]).', + parserName, + _.keys(this._nameParserMap).join(', ') + )); + } + + // parse all the remaining options into the namespace + parser.parseArgs(argStrings, namespace); +}; + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js new file mode 100644 index 0000000..a17877c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js @@ -0,0 +1,50 @@ +/*:nodoc:* + * class ActionVersion + * + * Support action for printing program version + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// +// Constants +// +var $$ = require('../const'); + +/*:nodoc:* + * new ActionVersion(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionVersion = module.exports = function ActionVersion(options) { + options = options || {}; + options.defaultValue = (!!options.defaultValue ? options.defaultValue: $$.SUPPRESS); + options.dest = (options.dest || $$.SUPPRESS); + options.nargs = 0; + this.version = options.version; + Action.call(this, options); +}; +util.inherits(ActionVersion, Action); + +/*:nodoc:* + * ActionVersion#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Print version and exit + **/ +ActionVersion.prototype.call = function (parser) { + var version = this.version || parser.version; + var formatter = parser._getFormatter(); + formatter.addText(version); + parser.exit(0, formatter.formatHelp()); +}; + + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js new file mode 100644 index 0000000..dbe3e3c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js @@ -0,0 +1,481 @@ +/** internal + * class ActionContainer + * + * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] + **/ + +'use strict'; + +var format = require('util').format; +var _ = require('underscore'); + +_.str = require('underscore.string'); + +// Constants +var $$ = require('./const'); + +//Actions +var ActionHelp = require('./action/help'); +var ActionAppend = require('./action/append'); +var ActionAppendConstant = require('./action/append/constant'); +var ActionCount = require('./action/count'); +var ActionStore = require('./action/store'); +var ActionStoreConstant = require('./action/store/constant'); +var ActionStoreTrue = require('./action/store/true'); +var ActionStoreFalse = require('./action/store/false'); +var ActionVersion = require('./action/version'); +var ActionSubparsers = require('./action/subparsers'); + +// Errors +var argumentErrorHelper = require('./argument/error'); + + + +/** + * new ActionContainer(options) + * + * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] + * + * ##### Options: + * + * - `description` -- A description of what the program does + * - `prefixChars` -- Characters that prefix optional arguments + * - `argumentDefault` -- The default value for all arguments + * - `conflictHandler` -- The conflict handler to use for duplicate arguments + **/ +var ActionContainer = module.exports = function ActionContainer(options) { + options = options || {}; + + this.description = options.description; + this.argumentDefault = options.argumentDefault; + this.prefixChars = options.prefixChars || ''; + this.conflictHandler = options.conflictHandler; + + // set up registries + this._registries = {}; + + // register actions + this.register('action', null, ActionStore); + this.register('action', 'store', ActionStore); + this.register('action', 'storeConst', ActionStoreConstant); + this.register('action', 'storeTrue', ActionStoreTrue); + this.register('action', 'storeFalse', ActionStoreFalse); + this.register('action', 'append', ActionAppend); + this.register('action', 'appendConst', ActionAppendConstant); + this.register('action', 'count', ActionCount); + this.register('action', 'help', ActionHelp); + this.register('action', 'version', ActionVersion); + this.register('action', 'parsers', ActionSubparsers); + + // raise an exception if the conflict handler is invalid + this._getHandler(); + + // action storage + this._actions = []; + this._optionStringActions = {}; + + // groups + this._actionGroups = []; + this._mutuallyExclusiveGroups = []; + + // defaults storage + this._defaults = {}; + + // determines whether an "option" looks like a negative number + // -1, -1.5 -5e+4 + this._regexpNegativeNumber = new RegExp('^[-]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?$'); + + // whether or not there are any optionals that look like negative + // numbers -- uses a list so it can be shared and edited + this._hasNegativeNumberOptionals = []; +}; + +// Groups must be required, then ActionContainer already defined +var ArgumentGroup = require('./argument/group'); +var MutuallyExclusiveGroup = require('./argument/exclusive'); + +// +// Registration methods +// + +/** + * ActionContainer#register(registryName, value, object) -> Void + * - registryName (String) : object type action|type + * - value (string) : keyword + * - object (Object|Function) : handler + * + * Register handlers + **/ +ActionContainer.prototype.register = function (registryName, value, object) { + this._registries[registryName] = this._registries[registryName] || {}; + this._registries[registryName][value] = object; +}; + +ActionContainer.prototype._registryGet = function (registryName, value, defaultValue) { + if (3 > arguments.length) { + defaultValue = null; + } + return this._registries[registryName][value] || defaultValue; +}; + +// +// Namespace default accessor methods +// + +/** + * ActionContainer#setDefaults(options) -> Void + * - options (object):hash of options see [[Action.new]] + * + * Set defaults + **/ +ActionContainer.prototype.setDefaults = function (options) { + options = options || {}; + for (var property in options) { + this._defaults[property] = options[property]; + } + + // if these defaults match any existing arguments, replace the previous + // default on the object with the new one + this._actions.forEach(function (action) { + if (action.dest in options) { + action.defaultValue = options[action.dest]; + } + }); +}; + +/** + * ActionContainer#getDefault(dest) -> Mixed + * - dest (string): action destination + * + * Return action default value + **/ +ActionContainer.prototype.getDefault = function (dest) { + var result = (_.has(this._defaults, dest)) ? this._defaults[dest] : null; + + this._actions.forEach(function (action) { + if (action.dest === dest && _.has(action, 'defaultValue')) { + result = action.defaultValue; + } + }); + + return result; +}; +// +// Adding argument actions +// + +/** + * ActionContainer#addArgument(args, options) -> Object + * - args (Array): array of argument keys + * - options (Object): action objects see [[Action.new]] + * + * #### Examples + * - addArgument([-f, --foo], {action:'store', defaultValue=1, ...}) + * - addArgument(['bar'], action: 'store', nargs:1, ...}) + **/ +ActionContainer.prototype.addArgument = function (args, options) { + args = args; + options = options || {}; + + if (!_.isArray(args)) { + throw new TypeError('addArgument first argument should be an array'); + } + if (!_.isObject(options) || _.isArray(options)) { + throw new TypeError('addArgument second argument should be a hash'); + } + + // if no positional args are supplied or only one is supplied and + // it doesn't look like an option string, parse a positional argument + if (!args || args.length === 1 && this.prefixChars.indexOf(args[0][0]) < 0) { + if (args && !!options.dest) { + throw new Error('dest supplied twice for positional argument'); + } + options = this._getPositional(args, options); + + // otherwise, we're adding an optional argument + } else { + options = this._getOptional(args, options); + } + + // if no default was supplied, use the parser-level default + if (_.isUndefined(options.defaultValue)) { + var dest = options.dest; + if (_.has(this._defaults, dest)) { + options.defaultValue = this._defaults[dest]; + } else if (!_.isUndefined(this.argumentDefault)) { + options.defaultValue = this.argumentDefault; + } + } + + // create the action object, and add it to the parser + var ActionClass = this._popActionClass(options); + if (! _.isFunction(ActionClass)) { + throw new Error(format('Unknown action "%s".', ActionClass)); + } + var action = new ActionClass(options); + + // throw an error if the action type is not callable + var typeFunction = this._registryGet('type', action.type, action.type); + if (!_.isFunction(typeFunction)) { + throw new Error(format('"%s" is not callable', typeFunction)); + } + + return this._addAction(action); +}; + +/** + * ActionContainer#addArgumentGroup(options) -> ArgumentGroup + * - options (Object): hash of options see [[ArgumentGroup.new]] + * + * Create new arguments groups + **/ +ActionContainer.prototype.addArgumentGroup = function (options) { + var group = new ArgumentGroup(this, options); + this._actionGroups.push(group); + return group; +}; + +/** + * ActionContainer#addMutuallyExclusiveGroup(options) -> ArgumentGroup + * - options (Object): {required: false} + * + * Create new mutual exclusive groups + **/ +ActionContainer.prototype.addMutuallyExclusiveGroup = function (options) { + var group = new MutuallyExclusiveGroup(this, options); + this._mutuallyExclusiveGroups.push(group); + return group; +}; + +ActionContainer.prototype._addAction = function (action) { + var self = this; + + // resolve any conflicts + this._checkConflict(action); + + // add to actions list + this._actions.push(action); + action.container = this; + + // index the action by any option strings it has + action.optionStrings.forEach(function (optionString) { + self._optionStringActions[optionString] = action; + }); + + // set the flag if any option strings look like negative numbers + action.optionStrings.forEach(function (optionString) { + if (optionString.match(self._regexpNegativeNumber)) { + if (!_.any(self._hasNegativeNumberOptionals)) { + self._hasNegativeNumberOptionals.push(true); + } + } + }); + + // return the created action + return action; +}; + +ActionContainer.prototype._removeAction = function (action) { + var actionIndex = this._actions.indexOf(action); + if (actionIndex >= 0) { + this._actions.splice(actionIndex, 1); + } +}; + +ActionContainer.prototype._addContainerActions = function (container) { + // collect groups by titles + var titleGroupMap = {}; + this._actionGroups.forEach(function (group) { + if (titleGroupMap[group.title]) { + throw new Error(format('Cannot merge actions - two groups are named "%s".', group.title)); + } + titleGroupMap[group.title] = group; + }); + + // map each action to its group + var groupMap = {}; + function actionHash(action) { + // unique (hopefully?) string suitable as dictionary key + return action.getName(); + } + container._actionGroups.forEach(function (group) { + // if a group with the title exists, use that, otherwise + // create a new group matching the container's group + if (!titleGroupMap[group.title]) { + titleGroupMap[group.title] = this.addArgumentGroup({ + title: group.title, + description: group.description + }); + } + + // map the actions to their new group + group._groupActions.forEach(function (action) { + groupMap[actionHash(action)] = titleGroupMap[group.title]; + }); + }, this); + + // add container's mutually exclusive groups + // NOTE: if add_mutually_exclusive_group ever gains title= and + // description= then this code will need to be expanded as above + var mutexGroup; + container._mutuallyExclusiveGroups.forEach(function (group) { + mutexGroup = this.addMutuallyExclusiveGroup({ + required: group.required + }); + // map the actions to their new mutex group + group._groupActions.forEach(function (action) { + groupMap[actionHash(action)] = mutexGroup; + }); + }, this); // forEach takes a 'this' argument + + // add all actions to this container or their group + container._actions.forEach(function (action) { + var key = actionHash(action); + if (!!groupMap[key]) { + groupMap[key]._addAction(action); + } + else + { + this._addAction(action); + } + }); +}; + +ActionContainer.prototype._getPositional = function (dest, options) { + if (_.isArray(dest)) { + dest = _.first(dest); + } + // make sure required is not specified + if (options.required) { + throw new Error('"required" is an invalid argument for positionals.'); + } + + // mark positional arguments as required if at least one is + // always required + if (options.nargs !== $$.OPTIONAL && options.nargs !== $$.ZERO_OR_MORE) { + options.required = true; + } + if (options.nargs === $$.ZERO_OR_MORE && options.defaultValue === undefined) { + options.required = true; + } + + // return the keyword arguments with no option strings + options.dest = dest; + options.optionStrings = []; + return options; +}; + +ActionContainer.prototype._getOptional = function (args, options) { + var prefixChars = this.prefixChars; + var optionStrings = []; + var optionStringsLong = []; + + // determine short and long option strings + args.forEach(function (optionString) { + // error on strings that don't start with an appropriate prefix + if (prefixChars.indexOf(optionString[0]) < 0) { + throw new Error(format('Invalid option string "%s": must start with a "%s".', + optionString, + prefixChars + )); + } + + // strings starting with two prefix characters are long options + optionStrings.push(optionString); + if (optionString.length > 1 && prefixChars.indexOf(optionString[1]) >= 0) { + optionStringsLong.push(optionString); + } + }); + + // infer dest, '--foo-bar' -> 'foo_bar' and '-x' -> 'x' + var dest = options.dest || null; + delete options.dest; + + if (!dest) { + var optionStringDest = optionStringsLong.length ? optionStringsLong[0] :optionStrings[0]; + dest = _.str.strip(optionStringDest, this.prefixChars); + + if (dest.length === 0) { + throw new Error( + format('dest= is required for options like "%s"', optionStrings.join(', ')) + ); + } + dest = dest.replace(/-/g, '_'); + } + + // return the updated keyword arguments + options.dest = dest; + options.optionStrings = optionStrings; + + return options; +}; + +ActionContainer.prototype._popActionClass = function (options, defaultValue) { + defaultValue = defaultValue || null; + + var action = (options.action || defaultValue); + delete options.action; + + var actionClass = this._registryGet('action', action, action); + return actionClass; +}; + +ActionContainer.prototype._getHandler = function () { + var handlerString = this.conflictHandler; + var handlerFuncName = "_handleConflict" + _.str.capitalize(handlerString); + var func = this[handlerFuncName]; + if (typeof func === 'undefined') { + var msg = "invalid conflict resolution value: " + handlerString; + throw new Error(msg); + } else { + return func; + } +}; + +ActionContainer.prototype._checkConflict = function (action) { + var optionStringActions = this._optionStringActions; + var conflictOptionals = []; + + // find all options that conflict with this option + // collect pairs, the string, and an existing action that it conflicts with + action.optionStrings.forEach(function (optionString) { + var conflOptional = optionStringActions[optionString]; + if (typeof conflOptional !== 'undefined') { + conflictOptionals.push([optionString, conflOptional]); + } + }); + + if (conflictOptionals.length > 0) { + var conflictHandler = this._getHandler(); + conflictHandler.call(this, action, conflictOptionals); + } +}; + +ActionContainer.prototype._handleConflictError = function (action, conflOptionals) { + var conflicts = _.map(conflOptionals, function (pair) {return pair[0]; }); + conflicts = conflicts.join(', '); + throw argumentErrorHelper( + action, + format('Conflicting option string(s): %s', conflicts) + ); +}; + +ActionContainer.prototype._handleConflictResolve = function (action, conflOptionals) { + // remove all conflicting options + var self = this; + conflOptionals.forEach(function (pair) { + var optionString = pair[0]; + var conflictingAction = pair[1]; + // remove the conflicting option string + var i = conflictingAction.optionStrings.indexOf(optionString); + if (i >= 0) { + conflictingAction.optionStrings.splice(i, 1); + } + delete self._optionStringActions[optionString]; + // if the option now has no option string, remove it from the + // container holding it + if (conflictingAction.optionStrings.length === 0) { + conflictingAction.container._removeAction(conflictingAction); + } + }); +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js new file mode 100644 index 0000000..f2a2c51 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports.ArgumentParser = require('./argument_parser.js'); +module.exports.Namespace = require('./namespace'); +module.exports.Action = require('./action'); +module.exports.HelpFormatter = require('./help/formatter.js'); +module.exports.Const = require('./const.js'); + +module.exports.ArgumentDefaultsHelpFormatter = + require('./help/added_formatters.js').ArgumentDefaultsHelpFormatter; +module.exports.RawDescriptionHelpFormatter = + require('./help/added_formatters.js').RawDescriptionHelpFormatter; +module.exports.RawTextHelpFormatter = + require('./help/added_formatters.js').RawTextHelpFormatter; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js new file mode 100644 index 0000000..c8a02a0 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js @@ -0,0 +1,50 @@ +'use strict'; + + +var format = require('util').format; + + +var ERR_CODE = 'ARGError'; + +/*:nodoc:* + * argumentError(argument, message) -> TypeError + * - argument (Object): action with broken argument + * - message (String): error message + * + * Error format helper. An error from creating or using an argument + * (optional or positional). The string value of this exception + * is the message, augmented with information + * about the argument that caused it. + * + * #####Example + * + * var argumentErrorHelper = require('./argument/error'); + * if (conflictOptionals.length > 0) { + * throw argumentErrorHelper( + * action, + * format('Conflicting option string(s): %s', conflictOptionals.join(', ')) + * ); + * } + * + **/ +module.exports = function (argument, message) { + var argumentName = null; + var errMessage; + var err; + + if (argument.getName) { + argumentName = argument.getName(); + } else { + argumentName = '' + argument; + } + + if (!argumentName) { + errMessage = message; + } else { + errMessage = format('argument "%s": %s', argumentName, message); + } + + err = new TypeError(errMessage); + err.code = ERR_CODE; + return err; +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js new file mode 100644 index 0000000..8287e00 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js @@ -0,0 +1,54 @@ +/** internal + * class MutuallyExclusiveGroup + * + * Group arguments. + * By default, ArgumentParser groups command-line arguments + * into “positional arguments” and “optional arguments” + * when displaying help messages. When there is a better + * conceptual grouping of arguments than this default one, + * appropriate groups can be created using the addArgumentGroup() method + * + * This class inherited from [[ArgumentContainer]] + **/ +'use strict'; + +var util = require('util'); + +var ArgumentGroup = require('./group'); + +/** + * new MutuallyExclusiveGroup(container, options) + * - container (object): main container + * - options (object): options.required -> true/false + * + * `required` could be an argument itself, but making it a property of + * the options argument is more consistent with the JS adaptation of the Python) + **/ +var MutuallyExclusiveGroup = module.exports = function MutuallyExclusiveGroup(container, options) { + var required; + options = options || {}; + required = options.required || false; + ArgumentGroup.call(this, container); + this.required = required; + +}; +util.inherits(MutuallyExclusiveGroup, ArgumentGroup); + + +MutuallyExclusiveGroup.prototype._addAction = function (action) { + var msg; + if (action.required) { + msg = 'mutually exclusive arguments must be optional'; + throw new Error(msg); + } + action = this._container._addAction(action); + this._groupActions.push(action); + return action; +}; + + +MutuallyExclusiveGroup.prototype._removeAction = function (action) { + this._container._removeAction(action); + this._groupActions.remove(action); +}; + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js new file mode 100644 index 0000000..58b271f --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js @@ -0,0 +1,75 @@ +/** internal + * class ArgumentGroup + * + * Group arguments. + * By default, ArgumentParser groups command-line arguments + * into “positional arguments” and “optional arguments” + * when displaying help messages. When there is a better + * conceptual grouping of arguments than this default one, + * appropriate groups can be created using the addArgumentGroup() method + * + * This class inherited from [[ArgumentContainer]] + **/ +'use strict'; + +var util = require('util'); + +var ActionContainer = require('../action_container'); + + +/** + * new ArgumentGroup(container, options) + * - container (object): main container + * - options (object): hash of group options + * + * #### options + * - **prefixChars** group name prefix + * - **argumentDefault** default argument value + * - **title** group title + * - **description** group description + * + **/ +var ArgumentGroup = module.exports = function ArgumentGroup(container, options) { + + options = options || {}; + + // add any missing keyword arguments by checking the container + options.conflictHandler = (options.conflictHandler || container.conflictHandler); + options.prefixChars = (options.prefixChars || container.prefixChars); + options.argumentDefault = (options.argumentDefault || container.argumentDefault); + + ActionContainer.call(this, options); + + // group attributes + this.title = options.title; + this._groupActions = []; + + // share most attributes with the container + this._container = container; + this._registries = container._registries; + this._actions = container._actions; + this._optionStringActions = container._optionStringActions; + this._defaults = container._defaults; + this._hasNegativeNumberOptionals = container._hasNegativeNumberOptionals; + this._mutuallyExclusiveGroups = container._mutuallyExclusiveGroups; +}; +util.inherits(ArgumentGroup, ActionContainer); + + +ArgumentGroup.prototype._addAction = function (action) { + // Parent add action + action = ActionContainer.prototype._addAction.call(this, action); + this._groupActions.push(action); + return action; +}; + + +ArgumentGroup.prototype._removeAction = function (action) { + // Parent remove action + ActionContainer.prototype._removeAction.call(this, action); + var actionIndex = this._groupActions.indexOf(action); + if (actionIndex >= 0) { + this._groupActions.splice(actionIndex, 1); + } +}; + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js new file mode 100644 index 0000000..97cf098 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js @@ -0,0 +1,1165 @@ +/** + * class ArgumentParser + * + * Object for parsing command line strings into js objects. + * + * Inherited from [[ActionContainer]] + **/ +'use strict'; + +var util = require('util'); +var format = require('util').format; +var Path = require('path'); + +var _ = require('underscore'); +_.str = require('underscore.string'); + +// Constants +var $$ = require('./const'); + +var ActionContainer = require('./action_container'); + +// Errors +var argumentErrorHelper = require('./argument/error'); + +var HelpFormatter = require('./help/formatter'); + +var Namespace = require('./namespace'); + + +/** + * new ArgumentParser(options) + * + * Create a new ArgumentParser object. + * + * ##### Options: + * - `prog` The name of the program (default: sys.argv[0]) + * - `usage` A usage message (default: auto-generated from arguments) + * - `description` A description of what the program does + * - `epilog` Text following the argument descriptions + * - `parents` Parsers whose arguments should be copied into this one + * - `formatterClass` HelpFormatter class for printing help messages + * - `prefixChars` Characters that prefix optional arguments + * - `fromfilePrefixChars` Characters that prefix files containing additional arguments + * - `argumentDefault` The default value for all arguments + * - `addHelp` Add a -h/-help option + * - `conflictHandler` Specifies how to handle conflicting argument names + * - `debug` Enable debug mode. Argument errors throw exception in + * debug mode and process.exit in normal. Used for development and + * testing (default: false) + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#argumentparser-objects + **/ +var ArgumentParser = module.exports = function ArgumentParser(options) { + var self = this; + options = options || {}; + + options.description = (options.description || null); + options.argumentDefault = (options.argumentDefault || null); + options.prefixChars = (options.prefixChars || '-'); + options.conflictHandler = (options.conflictHandler || 'error'); + ActionContainer.call(this, options); + + options.addHelp = (options.addHelp === undefined || !!options.addHelp); + options.parents = (options.parents || []); + // default program name + options.prog = (options.prog || Path.basename(process.argv[1])); + this.prog = options.prog; + this.usage = options.usage; + this.epilog = options.epilog; + this.version = options.version; + + this.debug = (options.debug === true); + + this.formatterClass = (options.formatterClass || HelpFormatter); + this.fromfilePrefixChars = options.fromfilePrefixChars || null; + this._positionals = this.addArgumentGroup({title: 'Positional arguments'}); + this._optionals = this.addArgumentGroup({title: 'Optional arguments'}); + this._subparsers = null; + + // register types + var FUNCTION_IDENTITY = function (o) { + return o; + }; + this.register('type', 'auto', FUNCTION_IDENTITY); + this.register('type', null, FUNCTION_IDENTITY); + this.register('type', 'int', function (x) { + var result = parseInt(x, 10); + if (isNaN(result)) { + throw new Error(x + ' is not a valid integer.'); + } + return result; + }); + this.register('type', 'float', function (x) { + var result = parseFloat(x); + if (isNaN(result)) { + throw new Error(x + ' is not a valid float.'); + } + return result; + }); + this.register('type', 'string', function (x) { + return '' + x; + }); + + // add help and version arguments if necessary + var defaultPrefix = (this.prefixChars.indexOf('-') > -1) ? '-' : this.prefixChars[0]; + if (options.addHelp) { + this.addArgument( + [defaultPrefix + 'h', defaultPrefix + defaultPrefix + 'help'], + { + action: 'help', + defaultValue: $$.SUPPRESS, + help: 'Show this help message and exit.' + } + ); + } + if (this.version !== undefined) { + this.addArgument( + [defaultPrefix + 'v', defaultPrefix + defaultPrefix + 'version'], + { + action: 'version', + version: this.version, + defaultValue: $$.SUPPRESS, + help: "Show program's version number and exit." + } + ); + } + + // add parent arguments and defaults + options.parents.forEach(function (parent) { + self._addContainerActions(parent); + if (parent._defaults !== undefined) { + for (var defaultKey in parent._defaults) { + if (parent._defaults.hasOwnProperty(defaultKey)) { + self._defaults[defaultKey] = parent._defaults[defaultKey]; + } + } + } + }); + +}; +util.inherits(ArgumentParser, ActionContainer); + +/** + * ArgumentParser#addSubparsers(options) -> [[ActionSubparsers]] + * - options (object): hash of options see [[ActionSubparsers.new]] + * + * See also [subcommands][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#sub-commands + **/ +ArgumentParser.prototype.addSubparsers = function (options) { + if (!!this._subparsers) { + this.error('Cannot have multiple subparser arguments.'); + } + + options = options || {}; + options.debug = (this.debug === true); + options.optionStrings = []; + options.parserClass = (options.parserClass || ArgumentParser); + + + if (!!options.title || !!options.description) { + + this._subparsers = this.addArgumentGroup({ + title: (options.title || 'subcommands'), + description: options.description + }); + delete options.title; + delete options.description; + + } else { + this._subparsers = this._positionals; + } + + // prog defaults to the usage message of this parser, skipping + // optional arguments and with no "usage:" prefix + if (!options.prog) { + var formatter = this._getFormatter(); + var positionals = this._getPositionalActions(); + var groups = this._mutuallyExclusiveGroups; + formatter.addUsage(this.usage, positionals, groups, ''); + options.prog = _.str.strip(formatter.formatHelp()); + } + + // create the parsers action and add it to the positionals list + var ParsersClass = this._popActionClass(options, 'parsers'); + var action = new ParsersClass(options); + this._subparsers._addAction(action); + + // return the created parsers action + return action; +}; + +ArgumentParser.prototype._addAction = function (action) { + if (action.isOptional()) { + this._optionals._addAction(action); + } else { + this._positionals._addAction(action); + } + return action; +}; + +ArgumentParser.prototype._getOptionalActions = function () { + return this._actions.filter(function (action) { + return action.isOptional(); + }); +}; + +ArgumentParser.prototype._getPositionalActions = function () { + return this._actions.filter(function (action) { + return action.isPositional(); + }); +}; + + +/** + * ArgumentParser#parseArgs(args, namespace) -> Namespace|Object + * - args (array): input elements + * - namespace (Namespace|Object): result object + * + * Parsed args and throws error if some arguments are not recognized + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#the-parse-args-method + **/ +ArgumentParser.prototype.parseArgs = function (args, namespace) { + var argv; + var result = this.parseKnownArgs(args, namespace); + + args = result[0]; + argv = result[1]; + if (argv && argv.length > 0) { + this.error( + format('Unrecognized arguments: %s.', argv.join(' ')) + ); + } + return args; +}; + +/** + * ArgumentParser#parseKnownArgs(args, namespace) -> array + * - args (array): input options + * - namespace (Namespace|Object): result object + * + * Parse known arguments and return tuple of result object + * and unknown args + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#partial-parsing + **/ +ArgumentParser.prototype.parseKnownArgs = function (args, namespace) { + var self = this; + + // args default to the system args + args = args || process.argv.slice(2); + + // default Namespace built from parser defaults + namespace = namespace || new Namespace(); + + self._actions.forEach(function (action) { + if (action.dest !== $$.SUPPRESS) { + if (!_.has(namespace, action.dest)) { + if (action.defaultValue !== $$.SUPPRESS) { + var defaultValue = action.defaultValue; + if (_.isString(action.defaultValue)) { + defaultValue = self._getValue(action, defaultValue); + } + namespace[action.dest] = defaultValue; + } + } + } + }); + + _.keys(self._defaults).forEach(function (dest) { + namespace[dest] = self._defaults[dest]; + }); + + // parse the arguments and exit if there are any errors + try { + var res = this._parseKnownArgs(args, namespace); + + namespace = res[0]; + args = res[1]; + if (_.has(namespace, $$._UNRECOGNIZED_ARGS_ATTR)) { + args = _.union(args, namespace[$$._UNRECOGNIZED_ARGS_ATTR]); + delete namespace[$$._UNRECOGNIZED_ARGS_ATTR]; + } + return [namespace, args]; + } catch (e) { + this.error(e); + } +}; + +ArgumentParser.prototype._parseKnownArgs = function (argStrings, namespace) { + var self = this; + + var extras = []; + + // replace arg strings that are file references + if (this.fromfilePrefixChars !== null) { + argStrings = this._readArgsFromFiles(argStrings); + } + // map all mutually exclusive arguments to the other arguments + // they can't occur with + // Python has 'conflicts = action_conflicts.setdefault(mutex_action, [])' + // though I can't conceive of a way in which an action could be a member + // of two different mutually exclusive groups. + + function actionHash(action) { + // some sort of hashable key for this action + // action itself cannot be a key in actionConflicts + // I think getName() (join of optionStrings) is unique enough + return action.getName(); + } + var conflicts, key; + var actionConflicts = {}; + this._mutuallyExclusiveGroups.forEach(function (mutexGroup) { + mutexGroup._groupActions.forEach(function (mutexAction, i, groupActions) { + key = actionHash(mutexAction); + if (!_.has(actionConflicts, key)) { + actionConflicts[key] = []; + } + conflicts = actionConflicts[key]; + conflicts.push.apply(conflicts, groupActions.slice(0, i)); + conflicts.push.apply(conflicts, groupActions.slice(i + 1)); + }); + }); + + // find all option indices, and determine the arg_string_pattern + // which has an 'O' if there is an option at an index, + // an 'A' if there is an argument, or a '-' if there is a '--' + var optionStringIndices = {}; + + var argStringPatternParts = []; + + argStrings.forEach(function (argString, argStringIndex) { + if (argString === '--') { + argStringPatternParts.push('-'); + while (argStringIndex < argStrings.length) { + argStringPatternParts.push('A'); + argStringIndex++; + } + } + // otherwise, add the arg to the arg strings + // and note the index if it was an option + else { + var pattern; + var optionTuple = self._parseOptional(argString); + if (!optionTuple) { + pattern = 'A'; + } + else { + optionStringIndices[argStringIndex] = optionTuple; + pattern = 'O'; + } + argStringPatternParts.push(pattern); + } + }); + var argStringsPattern = argStringPatternParts.join(''); + + var seenActions = []; + var seenNonDefaultActions = []; + + + function takeAction(action, argumentStrings, optionString) { + seenActions.push(action); + var argumentValues = self._getValues(action, argumentStrings); + + // error if this argument is not allowed with other previously + // seen arguments, assuming that actions that use the default + // value don't really count as "present" + if (argumentValues !== action.defaultValue) { + seenNonDefaultActions.push(action); + if (!!actionConflicts[actionHash(action)]) { + actionConflicts[actionHash(action)].forEach(function (actionConflict) { + if (seenNonDefaultActions.indexOf(actionConflict) >= 0) { + throw argumentErrorHelper( + action, + format('Not allowed with argument "%s".', actionConflict.getName()) + ); + } + }); + } + } + + if (argumentValues !== $$.SUPPRESS) { + action.call(self, namespace, argumentValues, optionString); + } + } + + function consumeOptional(startIndex) { + // get the optional identified at this index + var optionTuple = optionStringIndices[startIndex]; + var action = optionTuple[0]; + var optionString = optionTuple[1]; + var explicitArg = optionTuple[2]; + + // identify additional optionals in the same arg string + // (e.g. -xyz is the same as -x -y -z if no args are required) + var actionTuples = []; + + var args, argCount, start, stop; + + while (true) { + if (!action) { + extras.push(argStrings[startIndex]); + return startIndex + 1; + } + if (!!explicitArg) { + argCount = self._matchArgument(action, 'A'); + + // if the action is a single-dash option and takes no + // arguments, try to parse more single-dash options out + // of the tail of the option string + var chars = self.prefixChars; + if (argCount === 0 && chars.indexOf(optionString[1]) < 0) { + actionTuples.push([action, [], optionString]); + optionString = optionString[0] + explicitArg[0]; + var newExplicitArg = explicitArg.slice(1) || null; + var optionalsMap = self._optionStringActions; + + if (_.keys(optionalsMap).indexOf(optionString) >= 0) { + action = optionalsMap[optionString]; + explicitArg = newExplicitArg; + } + else { + var msg = 'ignored explicit argument %r'; + throw argumentErrorHelper(action, msg); + } + } + // if the action expect exactly one argument, we've + // successfully matched the option; exit the loop + else if (argCount === 1) { + stop = startIndex + 1; + args = [explicitArg]; + actionTuples.push([action, args, optionString]); + break; + } + // error if a double-dash option did not use the + // explicit argument + else { + var message = 'ignored explicit argument %r'; + throw argumentErrorHelper(action, _.str.sprintf(message, explicitArg)); + } + } + // if there is no explicit argument, try to match the + // optional's string arguments with the following strings + // if successful, exit the loop + else { + + start = startIndex + 1; + var selectedPatterns = argStringsPattern.substr(start); + + argCount = self._matchArgument(action, selectedPatterns); + stop = start + argCount; + + + args = argStrings.slice(start, stop); + + actionTuples.push([action, args, optionString]); + break; + } + + } + + // add the Optional to the list and return the index at which + // the Optional's string args stopped + if (actionTuples.length < 1) { + throw new Error('length should be > 0'); + } + for (var i = 0; i < actionTuples.length; i++) { + takeAction.apply(self, actionTuples[i]); + } + return stop; + } + + // the list of Positionals left to be parsed; this is modified + // by consume_positionals() + var positionals = self._getPositionalActions(); + + function consumePositionals(startIndex) { + // match as many Positionals as possible + var selectedPattern = argStringsPattern.substr(startIndex); + var argCounts = self._matchArgumentsPartial(positionals, selectedPattern); + + // slice off the appropriate arg strings for each Positional + // and add the Positional and its args to the list + _.zip(positionals, argCounts).forEach(function (item) { + var action = item[0]; + var argCount = item[1]; + if (argCount === undefined) { + return; + } + var args = argStrings.slice(startIndex, startIndex + argCount); + + startIndex += argCount; + takeAction(action, args); + }); + + // slice off the Positionals that we just parsed and return the + // index at which the Positionals' string args stopped + positionals = positionals.slice(argCounts.length); + return startIndex; + } + + // consume Positionals and Optionals alternately, until we have + // passed the last option string + var startIndex = 0; + var position; + + var maxOptionStringIndex = -1; + if (!!optionStringIndices) { + for (position in optionStringIndices) { + maxOptionStringIndex = Math.max(maxOptionStringIndex, parseInt(position, 10)); + } + } + + var positionalsEndIndex, nextOptionStringIndex; + + while (startIndex <= maxOptionStringIndex) { + // consume any Positionals preceding the next option + nextOptionStringIndex = null; + for (position in optionStringIndices) { + position = parseInt(position, 10); + if (position >= startIndex) { + if (nextOptionStringIndex !== null) { + nextOptionStringIndex = Math.min(nextOptionStringIndex, position); + } + else { + nextOptionStringIndex = position; + } + } + } + + if (startIndex !== nextOptionStringIndex) { + positionalsEndIndex = consumePositionals(startIndex); + // only try to parse the next optional if we didn't consume + // the option string during the positionals parsing + if (positionalsEndIndex > startIndex) { + startIndex = positionalsEndIndex; + continue; + } + else { + startIndex = positionalsEndIndex; + } + } + + // if we consumed all the positionals we could and we're not + // at the index of an option string, there were extra arguments + if (!optionStringIndices[startIndex]) { + var strings = argStrings.slice(startIndex, nextOptionStringIndex); + extras = extras.concat(strings); + startIndex = nextOptionStringIndex; + } + // consume the next optional and any arguments for it + startIndex = consumeOptional(startIndex); + } + + // consume any positionals following the last Optional + var stopIndex = consumePositionals(startIndex); + + // if we didn't consume all the argument strings, there were extras + extras = extras.concat(_.rest(argStrings, stopIndex)); + + // if we didn't use all the Positional objects, there were too few + // arg strings supplied. + if (positionals.length > 0) { + self.error('too few arguments'); + } + + // make sure all required actions were present + self._actions.forEach(function (action) { + if (action.required) { + if (_.indexOf(seenActions, action) < 0) { + self.error(format('Argument "%s" is required', action.getName())); + } + } + }); + + // make sure all required groups have one option present + var actionUsed = false; + self._mutuallyExclusiveGroups.forEach(function (group) { + if (group.required) { + actionUsed = _.any(group._groupActions, function (action) { + return _.contains(seenNonDefaultActions, action); + }); + + // if no actions were used, report the error + if (!actionUsed) { + var names = []; + group._groupActions.forEach(function (action) { + if (action.help !== $$.SUPPRESS) { + names.push(action.getName()); + } + }); + names = names.join(' '); + var msg = 'one of the arguments ' + names + ' is required'; + self.error(msg); + } + } + }); + + // return the updated namespace and the extra arguments + return [namespace, extras]; +}; + +ArgumentParser.prototype._readArgsFromFiles = function (argStrings) { + // expand arguments referencing files + var _this = this; + var fs = require('fs'); + var newArgStrings = []; + argStrings.forEach(function (argString) { + if (_this.fromfilePrefixChars.indexOf(argString[0]) < 0) { + // for regular arguments, just add them back into the list + newArgStrings.push(argString); + } else { + // replace arguments referencing files with the file content + try { + var argstrs = []; + var filename = argString.slice(1); + var content = fs.readFileSync(filename, 'utf8'); + content = content.trim().split('\n'); + content.forEach(function (argLine) { + _this.convertArgLineToArgs(argLine).forEach(function (arg) { + argstrs.push(arg); + }); + argstrs = _this._readArgsFromFiles(argstrs); + }); + newArgStrings.push.apply(newArgStrings, argstrs); + } catch (error) { + return _this.error(error.message); + } + } + }); + return newArgStrings; +}; + +ArgumentParser.prototype.convertArgLineToArgs = function (argLine) { + return [argLine]; +}; + +ArgumentParser.prototype._matchArgument = function (action, regexpArgStrings) { + + // match the pattern for this action to the arg strings + var regexpNargs = new RegExp('^' + this._getNargsPattern(action)); + var matches = regexpArgStrings.match(regexpNargs); + var message; + + // throw an exception if we weren't able to find a match + if (!matches) { + switch (action.nargs) { + case undefined: + case null: + message = 'Expected one argument.'; + break; + case $$.OPTIONAL: + message = 'Expected at most one argument.'; + break; + case $$.ONE_OR_MORE: + message = 'Expected at least one argument.'; + break; + default: + message = 'Expected %s argument(s)'; + } + + throw argumentErrorHelper( + action, + format(message, action.nargs) + ); + } + // return the number of arguments matched + return matches[1].length; +}; + +ArgumentParser.prototype._matchArgumentsPartial = function (actions, regexpArgStrings) { + // progressively shorten the actions list by slicing off the + // final actions until we find a match + var self = this; + var result = []; + var actionSlice, pattern, matches; + var i, j; + + var getLength = function (string) { + return string.length; + }; + + for (i = actions.length; i > 0; i -= 1) { + pattern = ''; + actionSlice = actions.slice(0, i); + for (j in actionSlice) { + pattern += self._getNargsPattern(actionSlice[j]); + } + + pattern = new RegExp('^' + pattern); + matches = regexpArgStrings.match(pattern); + + if (matches && matches.length > 0) { + // need only groups + matches = matches.splice(1); + result = result.concat(matches.map(getLength)); + break; + } + } + + // return the list of arg string counts + return result; +}; + +ArgumentParser.prototype._parseOptional = function (argString) { + var action, optionString, argExplicit, optionTuples; + + // if it's an empty string, it was meant to be a positional + if (!argString) { + return null; + } + + // if it doesn't start with a prefix, it was meant to be positional + if (this.prefixChars.indexOf(argString[0]) < 0) { + return null; + } + + // if the option string is present in the parser, return the action + if (!!this._optionStringActions[argString]) { + return [this._optionStringActions[argString], argString, null]; + } + + // if it's just a single character, it was meant to be positional + if (argString.length === 1) { + return null; + } + + // if the option string before the "=" is present, return the action + if (argString.indexOf('=') >= 0) { + var argStringSplit = argString.split('='); + optionString = argStringSplit[0]; + argExplicit = argStringSplit[1]; + + if (!!this._optionStringActions[optionString]) { + action = this._optionStringActions[optionString]; + return [action, optionString, argExplicit]; + } + } + + // search through all possible prefixes of the option string + // and all actions in the parser for possible interpretations + optionTuples = this._getOptionTuples(argString); + + // if multiple actions match, the option string was ambiguous + if (optionTuples.length > 1) { + var optionStrings = optionTuples.map(function (optionTuple) { + return optionTuple[1]; + }); + this.error(format( + 'Ambiguous option: "%s" could match %s.', + argString, optionStrings.join(', ') + )); + // if exactly one action matched, this segmentation is good, + // so return the parsed action + } else if (optionTuples.length === 1) { + return optionTuples[0]; + } + + // if it was not found as an option, but it looks like a negative + // number, it was meant to be positional + // unless there are negative-number-like options + if (argString.match(this._regexpNegativeNumber)) { + if (!_.any(this._hasNegativeNumberOptionals)) { + return null; + } + } + // if it contains a space, it was meant to be a positional + if (argString.search(' ') >= 0) { + return null; + } + + // it was meant to be an optional but there is no such option + // in this parser (though it might be a valid option in a subparser) + return [null, argString, null]; +}; + +ArgumentParser.prototype._getOptionTuples = function (optionString) { + var result = []; + var chars = this.prefixChars; + var optionPrefix; + var argExplicit; + var action; + var actionOptionString; + + // option strings starting with two prefix characters are only split at + // the '=' + if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) >= 0) { + if (optionString.indexOf('=') >= 0) { + var optionStringSplit = optionString.split('=', 1); + + optionPrefix = optionStringSplit[0]; + argExplicit = optionStringSplit[1]; + } else { + optionPrefix = optionString; + argExplicit = null; + } + + for (actionOptionString in this._optionStringActions) { + if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { + action = this._optionStringActions[actionOptionString]; + result.push([action, actionOptionString, argExplicit]); + } + } + + // single character options can be concatenated with their arguments + // but multiple character options always have to have their argument + // separate + } else if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) < 0) { + optionPrefix = optionString; + argExplicit = null; + var optionPrefixShort = optionString.substr(0, 2); + var argExplicitShort = optionString.substr(2); + + for (actionOptionString in this._optionStringActions) { + action = this._optionStringActions[actionOptionString]; + if (actionOptionString === optionPrefixShort) { + result.push([action, actionOptionString, argExplicitShort]); + } else if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { + result.push([action, actionOptionString, argExplicit]); + } + } + + // shouldn't ever get here + } else { + throw new Error(format('Unexpected option string: %s.', optionString)); + } + // return the collected option tuples + return result; +}; + +ArgumentParser.prototype._getNargsPattern = function (action) { + // in all examples below, we have to allow for '--' args + // which are represented as '-' in the pattern + var regexpNargs; + + switch (action.nargs) { + // the default (null) is assumed to be a single argument + case undefined: + case null: + regexpNargs = '(-*A-*)'; + break; + // allow zero or more arguments + case $$.OPTIONAL: + regexpNargs = '(-*A?-*)'; + break; + // allow zero or more arguments + case $$.ZERO_OR_MORE: + regexpNargs = '(-*[A-]*)'; + break; + // allow one or more arguments + case $$.ONE_OR_MORE: + regexpNargs = '(-*A[A-]*)'; + break; + // allow any number of options or arguments + case $$.REMAINDER: + regexpNargs = '([-AO]*)'; + break; + // allow one argument followed by any number of options or arguments + case $$.PARSER: + regexpNargs = '(-*A[-AO]*)'; + break; + // all others should be integers + default: + regexpNargs = '(-*' + _.str.repeat('-*A', action.nargs) + '-*)'; + } + + // if this is an optional action, -- is not allowed + if (action.isOptional()) { + regexpNargs = regexpNargs.replace(/-\*/g, ''); + regexpNargs = regexpNargs.replace(/-/g, ''); + } + + // return the pattern + return regexpNargs; +}; + +// +// Value conversion methods +// + +ArgumentParser.prototype._getValues = function (action, argStrings) { + var self = this; + + // for everything but PARSER args, strip out '--' + if (action.nargs !== $$.PARSER && action.nargs !== $$.REMAINDER) { + argStrings = argStrings.filter(function (arrayElement) { + return arrayElement !== '--'; + }); + } + + var value, argString; + + // optional argument produces a default when not present + if (argStrings.length === 0 && action.nargs === $$.OPTIONAL) { + + value = (action.isOptional()) ? action.constant: action.defaultValue; + + if (typeof(value) === 'string') { + value = this._getValue(action, value); + this._checkValue(action, value); + } + + // when nargs='*' on a positional, if there were no command-line + // args, use the default if it is anything other than None + } else if (argStrings.length === 0 && action.nargs === $$.ZERO_OR_MORE && + action.optionStrings.length === 0) { + + value = (action.defaultValue || argStrings); + this._checkValue(action, value); + + // single argument or optional argument produces a single value + } else if (argStrings.length === 1 && + (!action.nargs || action.nargs === $$.OPTIONAL)) { + + argString = argStrings[0]; + value = this._getValue(action, argString); + this._checkValue(action, value); + + // REMAINDER arguments convert all values, checking none + } else if (action.nargs === $$.REMAINDER) { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + + // PARSER arguments convert all values, but check only the first + } else if (action.nargs === $$.PARSER) { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + this._checkValue(action, value[0]); + + // all other types of nargs produce a list + } else { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + value.forEach(function (v) { + self._checkValue(action, v); + }); + } + + // return the converted value + return value; +}; + +ArgumentParser.prototype._getValue = function (action, argString) { + var result; + + var typeFunction = this._registryGet('type', action.type, action.type); + if (!_.isFunction(typeFunction)) { + var message = format('%s is not callable', typeFunction); + throw argumentErrorHelper(action, message); + } + + // convert the value to the appropriate type + try { + result = typeFunction(argString); + + // ArgumentTypeErrors indicate errors + // If action.type is not a registered string, it is a function + // Try to deduce its name for inclusion in the error message + // Failing that, include the error message it raised. + } catch (e) { + var name = null; + if (_.isString(action.type)) { + name = action.type; + } else { + name = action.type.name || action.type.displayName || ''; + } + var msg = format('Invalid %s value: %s', name, argString); + if (name === '') {msg += '\n' + e.message; } + throw argumentErrorHelper(action, msg); + } + // return the converted value + return result; +}; + +ArgumentParser.prototype._checkValue = function (action, value) { + // converted value must be one of the choices (if specified) + var choices = action.choices; + if (!!choices) { + // choise for argument can by array or string + if ((_.isString(choices) || _.isArray(choices)) && + choices.indexOf(value) !== -1) { + return; + } + // choise for subparsers can by only hash + if (_.isObject(choices) && !_.isArray(choices) && choices[value]) { + return; + } + + if (_.isString(choices)) { + choices = choices.split('').join(', '); + } + else if (_.isArray(choices)) { + choices = choices.join(', '); + } + else { + choices = _.keys(choices).join(', '); + } + var message = format('Invalid choice: %s (choose from [%s])', value, choices); + throw argumentErrorHelper(action, message); + } +}; + +// +// Help formatting methods +// + +/** + * ArgumentParser#formatUsage -> string + * + * Return usage string + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.formatUsage = function () { + var formatter = this._getFormatter(); + formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); + return formatter.formatHelp(); +}; + +/** + * ArgumentParser#formatHelp -> string + * + * Return help + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.formatHelp = function () { + var formatter = this._getFormatter(); + + // usage + formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); + + // description + formatter.addText(this.description); + + // positionals, optionals and user-defined groups + this._actionGroups.forEach(function (actionGroup) { + formatter.startSection(actionGroup.title); + formatter.addText(actionGroup.description); + formatter.addArguments(actionGroup._groupActions); + formatter.endSection(); + }); + + // epilog + formatter.addText(this.epilog); + + // determine help from format above + return formatter.formatHelp(); +}; + +ArgumentParser.prototype._getFormatter = function () { + var FormatterClass = this.formatterClass; + var formatter = new FormatterClass({prog: this.prog}); + return formatter; +}; + +// +// Print functions +// + +/** + * ArgumentParser#printUsage() -> Void + * + * Print usage + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.printUsage = function () { + this._printMessage(this.formatUsage()); +}; + +/** + * ArgumentParser#printHelp() -> Void + * + * Print help + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.printHelp = function () { + this._printMessage(this.formatHelp()); +}; + +ArgumentParser.prototype._printMessage = function (message, stream) { + if (!stream) { + stream = process.stdout; + } + if (message) { + stream.write('' + message); + } +}; + +// +// Exit functions +// + +/** + * ArgumentParser#exit(status=0, message) -> Void + * - status (int): exit status + * - message (string): message + * + * Print message in stderr/stdout and exit program + **/ +ArgumentParser.prototype.exit = function (status, message) { + if (!!message) { + if (status === 0) { + this._printMessage(message); + } + else { + this._printMessage(message, process.stderr); + } + } + + process.exit(status); +}; + +/** + * ArgumentParser#error(message) -> Void + * - err (Error|string): message + * + * Error method Prints a usage message incorporating the message to stderr and + * exits. If you override this in a subclass, + * it should not return -- it should + * either exit or throw an exception. + * + **/ +ArgumentParser.prototype.error = function (err) { + var message; + if (err instanceof Error) { + if (this.debug === true) { + throw err; + } + message = err.message; + } + else { + message = err; + } + var msg = format('%s: error: %s', this.prog, message) + $$.EOL; + + if (this.debug === true) { + throw new Error(msg); + } + + this.printUsage(process.stderr); + + return this.exit(2, msg); +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js new file mode 100644 index 0000000..de831ba --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js @@ -0,0 +1,18 @@ +// +// Constants +// +module.exports.EOL = '\n'; + +module.exports.SUPPRESS = '==SUPPRESS=='; + +module.exports.OPTIONAL = '?'; + +module.exports.ZERO_OR_MORE = '*'; + +module.exports.ONE_OR_MORE = '+'; + +module.exports.PARSER = 'A...'; + +module.exports.REMAINDER = '...'; + +module.exports._UNRECOGNIZED_ARGS_ATTR = '_unrecognized_args'; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js new file mode 100644 index 0000000..cd2f369 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js @@ -0,0 +1,88 @@ +'use strict'; + +var util = require('util'); +var _ = require('underscore'); +_.str = require('underscore.string'); + +// Constants +var $$ = require('../const'); + +var HelpFormatter = require('./formatter.js'); + +/** + * new RawDescriptionHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) + * + * Help message formatter which adds default values to argument help. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +var ArgumentDefaultsHelpFormatter = function ArgumentDefaultsHelpFormatter(options) { + HelpFormatter.call(this, options); +}; + +util.inherits(ArgumentDefaultsHelpFormatter, HelpFormatter); + +ArgumentDefaultsHelpFormatter.prototype._getHelpString = function (action) { + var help = action.help; + if (action.help.indexOf('%(defaultValue)s') === -1) { + if (action.defaultValue !== $$.SUPPRESS) { + var defaulting_nargs = [$$.OPTIONAL, $$.ZERO_OR_MORE]; + if (action.isOptional() || (defaulting_nargs.indexOf(action.nargs) >= 0)) { + help += ' (default: %(defaultValue)s)'; + } + } + } + return help; +}; + +module.exports.ArgumentDefaultsHelpFormatter = ArgumentDefaultsHelpFormatter; + +/** + * new RawDescriptionHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) + * + * Help message formatter which retains any formatting in descriptions. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +var RawDescriptionHelpFormatter = function RawDescriptionHelpFormatter(options) { + HelpFormatter.call(this, options); +}; + +util.inherits(RawDescriptionHelpFormatter, HelpFormatter); + +RawDescriptionHelpFormatter.prototype._fillText = function (text, width, indent) { + var lines = text.split('\n'); + lines = lines.map(function (line) { + return _.str.rtrim(indent + line); + }); + return lines.join('\n'); +}; +module.exports.RawDescriptionHelpFormatter = RawDescriptionHelpFormatter; + +/** + * new RawTextHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawTextHelpFormatter, ...}) + * + * Help message formatter which retains formatting of all help text. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +var RawTextHelpFormatter = function RawTextHelpFormatter(options) { + RawDescriptionHelpFormatter.call(this, options); +}; + +util.inherits(RawTextHelpFormatter, RawDescriptionHelpFormatter); + +RawTextHelpFormatter.prototype._splitLines = function (text) { + return text.split('\n'); +}; + +module.exports.RawTextHelpFormatter = RawTextHelpFormatter; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js new file mode 100644 index 0000000..541d918 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js @@ -0,0 +1,803 @@ +/** + * class HelpFormatter + * + * Formatter for generating usage messages and argument help strings. Only the + * name of this class is considered a public API. All the methods provided by + * the class are considered an implementation detail. + * + * Do not call in your code, use this class only for inherits your own forvatter + * + * ToDo add [additonal formatters][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#formatter-class + **/ +'use strict'; + +var _ = require('underscore'); +_.str = require('underscore.string'); + +// Constants +var $$ = require('../const'); + + +/*:nodoc:* internal + * new Support(parent, heding) + * - parent (object): parent section + * - heading (string): header string + * + **/ +function Section(parent, heading) { + this._parent = parent; + this._heading = heading; + this._items = []; +} + +/*:nodoc:* internal + * Section#addItem(callback) -> Void + * - callback (array): tuple with function and args + * + * Add function for single element + **/ +Section.prototype.addItem = function (callback) { + this._items.push(callback); +}; + +/*:nodoc:* internal + * Section#formatHelp(formatter) -> string + * - formatter (HelpFormatter): current formatter + * + * Form help section string + * + **/ +Section.prototype.formatHelp = function (formatter) { + var itemHelp, heading; + + // format the indented section + if (!!this._parent) { + formatter._indent(); + } + + itemHelp = this._items.map(function (item) { + var obj, func, args; + + obj = formatter; + func = item[0]; + args = item[1]; + return func.apply(obj, args); + }); + itemHelp = formatter._joinParts(itemHelp); + + if (!!this._parent) { + formatter._dedent(); + } + + // return nothing if the section was empty + if (!itemHelp) { + return ''; + } + + // add the heading if the section was non-empty + heading = ''; + if (!!this._heading && this._heading !== $$.SUPPRESS) { + var currentIndent = formatter.currentIndent; + heading = _.str.repeat(' ', currentIndent) + this._heading + ':' + $$.EOL; + } + + // join the section-initialize newline, the heading and the help + return formatter._joinParts([$$.EOL, heading, itemHelp, $$.EOL]); +}; + +/** + * new HelpFormatter(options) + * + * #### Options: + * - `prog`: program name + * - `indentIncriment`: indent step, default value 2 + * - `maxHelpPosition`: max help position, default value = 24 + * - `width`: line width + * + **/ +var HelpFormatter = module.exports = function HelpFormatter(options) { + options = options || {}; + + this._prog = options.prog; + + this._maxHelpPosition = options.maxHelpPosition || 24; + this._width = (options.width || ((process.env.COLUMNS || 80) - 2)); + + this._currentIndent = 0; + this._indentIncriment = options.indentIncriment || 2; + this._level = 0; + this._actionMaxLength = 0; + + this._rootSection = new Section(null); + this._currentSection = this._rootSection; + + this._whitespaceMatcher = new RegExp('\\s+', 'g'); + this._longBreakMatcher = new RegExp($$.EOL + $$.EOL + $$.EOL + '+', 'g'); +}; + +HelpFormatter.prototype._indent = function () { + this._currentIndent += this._indentIncriment; + this._level += 1; +}; + +HelpFormatter.prototype._dedent = function () { + this._currentIndent -= this._indentIncriment; + this._level -= 1; + if (this._currentIndent < 0) { + throw new Error('Indent decreased below 0.'); + } +}; + +HelpFormatter.prototype._addItem = function (func, args) { + this._currentSection.addItem([func, args]); +}; + +// +// Message building methods +// + +/** + * HelpFormatter#startSection(heading) -> Void + * - heading (string): header string + * + * Start new help section + * + * See alse [code example][1] + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.startSection = function (heading) { + this._indent(); + var section = new Section(this._currentSection, heading); + var func = section.formatHelp.bind(section); + this._addItem(func, [this]); + this._currentSection = section; +}; + +/** + * HelpFormatter#endSection -> Void + * + * End help section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + **/ +HelpFormatter.prototype.endSection = function () { + this._currentSection = this._currentSection._parent; + this._dedent(); +}; + +/** + * HelpFormatter#addText(text) -> Void + * - text (string): plain text + * + * Add plain text into current section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.addText = function (text) { + if (!!text && text !== $$.SUPPRESS) { + this._addItem(this._formatText, [text]); + } +}; + +/** + * HelpFormatter#addUsage(usage, actions, groups, prefix) -> Void + * - usage (string): usage text + * - actions (array): actions list + * - groups (array): groups list + * - prefix (string): usage prefix + * + * Add usage data into current section + * + * ##### Example + * + * formatter.addUsage(this.usage, this._actions, []); + * return formatter.formatHelp(); + * + **/ +HelpFormatter.prototype.addUsage = function (usage, actions, groups, prefix) { + if (usage !== $$.SUPPRESS) { + this._addItem(this._formatUsage, [usage, actions, groups, prefix]); + } +}; + +/** + * HelpFormatter#addArgument(action) -> Void + * - action (object): action + * + * Add argument into current section + * + * Single variant of [[HelpFormatter#addArguments]] + **/ +HelpFormatter.prototype.addArgument = function (action) { + if (action.help !== $$.SUPPRESS) { + var self = this; + + // find all invocations + var invocations = [this._formatActionInvocation(action)]; + var invocationLength = invocations[0].length; + + var actionLength; + + if (!!action._getSubactions) { + this._indent(); + action._getSubactions().forEach(function (subaction) { + + var invocationNew = self._formatActionInvocation(subaction); + invocations.push(invocationNew); + invocationLength = Math.max(invocationLength, invocationNew.length); + + }); + this._dedent(); + } + + // update the maximum item length + actionLength = invocationLength + this._currentIndent; + this._actionMaxLength = Math.max(this._actionMaxLength, actionLength); + + // add the item to the list + this._addItem(this._formatAction, [action]); + } +}; + +/** + * HelpFormatter#addArguments(actions) -> Void + * - actions (array): actions list + * + * Mass add arguments into current section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.addArguments = function (actions) { + var self = this; + actions.forEach(function (action) { + self.addArgument(action); + }); +}; + +// +// Help-formatting methods +// + +/** + * HelpFormatter#formatHelp -> string + * + * Format help + * + * ##### Example + * + * formatter.addText(this.epilog); + * return formatter.formatHelp(); + * + **/ +HelpFormatter.prototype.formatHelp = function () { + var help = this._rootSection.formatHelp(this); + if (help) { + help = help.replace(this._longBreakMatcher, $$.EOL + $$.EOL); + help = _.str.strip(help, $$.EOL) + $$.EOL; + } + return help; +}; + +HelpFormatter.prototype._joinParts = function (partStrings) { + return partStrings.filter(function (part) { + return (!!part && part !== $$.SUPPRESS); + }).join(''); +}; + +HelpFormatter.prototype._formatUsage = function (usage, actions, groups, prefix) { + if (!prefix && !_.isString(prefix)) { + prefix = 'usage: '; + } + + actions = actions || []; + groups = groups || []; + + + // if usage is specified, use that + if (usage) { + usage = _.str.sprintf(usage, {prog: this._prog}); + + // if no optionals or positionals are available, usage is just prog + } else if (!usage && actions.length === 0) { + usage = this._prog; + + // if optionals and positionals are available, calculate usage + } else if (!usage) { + var prog = this._prog; + var optionals = []; + var positionals = []; + var actionUsage; + var textWidth; + + // split optionals from positionals + actions.forEach(function (action) { + if (action.isOptional()) { + optionals.push(action); + } else { + positionals.push(action); + } + }); + + // build full usage string + actionUsage = this._formatActionsUsage([].concat(optionals, positionals), groups); + usage = [prog, actionUsage].join(' '); + + // wrap the usage parts if it's too long + textWidth = this._width - this._currentIndent; + if ((prefix.length + usage.length) > textWidth) { + + // break usage into wrappable parts + var regexpPart = new RegExp('\\(.*?\\)+|\\[.*?\\]+|\\S+', 'g'); + var optionalUsage = this._formatActionsUsage(optionals, groups); + var positionalUsage = this._formatActionsUsage(positionals, groups); + + + var optionalParts = optionalUsage.match(regexpPart); + var positionalParts = positionalUsage.match(regexpPart) || []; + + if (optionalParts.join(' ') !== optionalUsage) { + throw new Error('assert "optionalParts.join(\' \') === optionalUsage"'); + } + if (positionalParts.join(' ') !== positionalUsage) { + throw new Error('assert "positionalParts.join(\' \') === positionalUsage"'); + } + + // helper for wrapping lines + var _getLines = function (parts, indent, prefix) { + var lines = []; + var line = []; + + var lineLength = !!prefix ? prefix.length - 1: indent.length - 1; + + parts.forEach(function (part) { + if (lineLength + 1 + part.length > textWidth) { + lines.push(indent + line.join(' ')); + line = []; + lineLength = indent.length - 1; + } + line.push(part); + lineLength += part.length + 1; + }); + + if (line) { + lines.push(indent + line.join(' ')); + } + if (prefix) { + lines[0] = lines[0].substr(indent.length); + } + return lines; + }; + + var lines, indent, parts; + // if prog is short, follow it with optionals or positionals + if (prefix.length + prog.length <= 0.75 * textWidth) { + indent = _.str.repeat(' ', (prefix.length + prog.length + 1)); + if (optionalParts) { + lines = [].concat( + _getLines([prog].concat(optionalParts), indent, prefix), + _getLines(positionalParts, indent) + ); + } else if (positionalParts) { + lines = _getLines([prog].concat(positionalParts), indent, prefix); + } else { + lines = [prog]; + } + + // if prog is long, put it on its own line + } else { + indent = _.str.repeat(' ', prefix.length); + parts = optionalParts + positionalParts; + lines = _getLines(parts, indent); + if (lines.length > 1) { + lines = [].concat( + _getLines(optionalParts, indent), + _getLines(positionalParts, indent) + ); + } + lines = [prog] + lines; + } + // join lines into usage + usage = lines.join($$.EOL); + } + } + + // prefix with 'usage:' + return prefix + usage + $$.EOL + $$.EOL; +}; + +HelpFormatter.prototype._formatActionsUsage = function (actions, groups) { + // find group indices and identify actions in groups + var groupActions = []; + var inserts = []; + var self = this; + + groups.forEach(function (group) { + var end; + var i; + + var start = actions.indexOf(group._groupActions[0]); + if (start >= 0) { + end = start + group._groupActions.length; + + //if (actions.slice(start, end) === group._groupActions) { + if (_.isEqual(actions.slice(start, end), group._groupActions)) { + group._groupActions.forEach(function (action) { + groupActions.push(action); + }); + + if (!group.required) { + if (!!inserts[start]) { + inserts[start] += ' ['; + } + else { + inserts[start] = '['; + } + inserts[end] = ']'; + } else { + if (!!inserts[start]) { + inserts[start] += ' ('; + } + else { + inserts[start] = '('; + } + inserts[end] = ')'; + } + for (i = start + 1; i < end; i += 1) { + inserts[i] = '|'; + } + } + } + }); + + // collect all actions format strings + var parts = []; + + actions.forEach(function (action, actionIndex) { + var part; + var optionString; + var argsDefault; + var argsString; + + // suppressed arguments are marked with None + // remove | separators for suppressed arguments + if (action.help === $$.SUPPRESS) { + parts.push(null); + if (inserts[actionIndex] === '|') { + inserts.splice(actionIndex, actionIndex); + } else if (inserts[actionIndex + 1] === '|') { + inserts.splice(actionIndex + 1, actionIndex + 1); + } + + // produce all arg strings + } else if (!action.isOptional()) { + part = self._formatArgs(action, action.dest); + + // if it's in a group, strip the outer [] + if (groupActions.indexOf(action) >= 0) { + if (part[0] === '[' && part[part.length - 1] === ']') { + part = part.slice(1, -1); + } + } + // add the action string to the list + parts.push(part); + + // produce the first way to invoke the option in brackets + } else { + optionString = action.optionStrings[0]; + + // if the Optional doesn't take a value, format is: -s or --long + if (action.nargs === 0) { + part = '' + optionString; + + // if the Optional takes a value, format is: -s ARGS or --long ARGS + } else { + argsDefault = action.dest.toUpperCase(); + argsString = self._formatArgs(action, argsDefault); + part = optionString + ' ' + argsString; + } + // make it look optional if it's not required or in a group + if (!action.required && groupActions.indexOf(action) < 0) { + part = '[' + part + ']'; + } + // add the action string to the list + parts.push(part); + } + }); + + // insert things at the necessary indices + for (var i = inserts.length - 1; i >= 0; --i) { + if (inserts[i] !== null) { + parts.splice(i, 0, inserts[i]); + } + } + + // join all the action items with spaces + var text = parts.filter(function (part) { + return !!part; + }).join(' '); + + // clean up separators for mutually exclusive groups + text = text.replace(/([\[(]) /g, '$1'); // remove spaces + text = text.replace(/ ([\])])/g, '$1'); + text = text.replace(/\[ *\]/g, ''); // remove empty groups + text = text.replace(/\( *\)/g, ''); + text = text.replace(/\(([^|]*)\)/g, '$1'); // remove () from single action groups + + text = _.str.strip(text); + + // return the text + return text; +}; + +HelpFormatter.prototype._formatText = function (text) { + text = _.str.sprintf(text, {prog: this._prog}); + var textWidth = this._width - this._currentIndent; + var indentIncriment = _.str.repeat(' ', this._currentIndent); + return this._fillText(text, textWidth, indentIncriment) + $$.EOL + $$.EOL; +}; + +HelpFormatter.prototype._formatAction = function (action) { + var self = this; + + var helpText; + var helpLines; + var parts; + var indentFirst; + + // determine the required width and the entry label + var helpPosition = Math.min(this._actionMaxLength + 2, this._maxHelpPosition); + var helpWidth = this._width - helpPosition; + var actionWidth = helpPosition - this._currentIndent - 2; + var actionHeader = this._formatActionInvocation(action); + + // no help; start on same line and add a final newline + if (!action.help) { + actionHeader = _.str.repeat(' ', this._currentIndent) + actionHeader + $$.EOL; + + // short action name; start on the same line and pad two spaces + } else if (actionHeader.length <= actionWidth) { + actionHeader = _.str.repeat(' ', this._currentIndent) + + actionHeader + + ' ' + + _.str.repeat(' ', actionWidth - actionHeader.length); + indentFirst = 0; + + // long action name; start on the next line + } else { + actionHeader = _.str.repeat(' ', this._currentIndent) + actionHeader + $$.EOL; + indentFirst = helpPosition; + } + + // collect the pieces of the action help + parts = [actionHeader]; + + // if there was help for the action, add lines of help text + if (!!action.help) { + helpText = this._expandHelp(action); + helpLines = this._splitLines(helpText, helpWidth); + parts.push(_.str.repeat(' ', indentFirst) + helpLines[0] + $$.EOL); + helpLines.slice(1).forEach(function (line) { + parts.push(_.str.repeat(' ', helpPosition) + line + $$.EOL); + }); + + // or add a newline if the description doesn't end with one + } else if (actionHeader.charAt(actionHeader.length - 1) !== $$.EOL) { + parts.push($$.EOL); + } + // if there are any sub-actions, add their help as well + if (!!action._getSubactions) { + this._indent(); + action._getSubactions().forEach(function (subaction) { + parts.push(self._formatAction(subaction)); + }); + this._dedent(); + } + // return a single string + return this._joinParts(parts); +}; + +HelpFormatter.prototype._formatActionInvocation = function (action) { + if (!action.isOptional()) { + var format_func = this._metavarFormatter(action, action.dest); + var metavars = format_func(1); + return metavars[0]; + } else { + var parts = []; + var argsDefault; + var argsString; + + // if the Optional doesn't take a value, format is: -s, --long + if (action.nargs === 0) { + parts = parts.concat(action.optionStrings); + + // if the Optional takes a value, format is: -s ARGS, --long ARGS + } else { + argsDefault = action.dest.toUpperCase(); + argsString = this._formatArgs(action, argsDefault); + action.optionStrings.forEach(function (optionString) { + parts.push(optionString + ' ' + argsString); + }); + } + return parts.join(', '); + } +}; + +HelpFormatter.prototype._metavarFormatter = function (action, metavarDefault) { + var result; + + if (!!action.metavar || action.metavar === '') { + result = action.metavar; + } else if (!!action.choices) { + var choices = action.choices; + + if (_.isString(choices)) { + choices = choices.split('').join(', '); + } else if (_.isArray(choices)) { + choices = choices.join(','); + } + else + { + choices = _.keys(choices).join(','); + } + result = '{' + choices + '}'; + } else { + result = metavarDefault; + } + + return function (size) { + if (Array.isArray(result)) { + return result; + } else { + var metavars = []; + for (var i = 0; i < size; i += 1) { + metavars.push(result); + } + return metavars; + } + }; +}; + +HelpFormatter.prototype._formatArgs = function (action, metavarDefault) { + var result; + var metavars; + + var buildMetavar = this._metavarFormatter(action, metavarDefault); + + switch (action.nargs) { + case undefined: + case null: + metavars = buildMetavar(1); + result = '' + metavars[0]; + break; + case $$.OPTIONAL: + metavars = buildMetavar(1); + result = '[' + metavars[0] + ']'; + break; + case $$.ZERO_OR_MORE: + metavars = buildMetavar(2); + result = '[' + metavars[0] + ' [' + metavars[1] + ' ...]]'; + break; + case $$.ONE_OR_MORE: + metavars = buildMetavar(2); + result = '' + metavars[0] + ' [' + metavars[1] + ' ...]'; + break; + case $$.REMAINDER: + result = '...'; + break; + case $$.PARSER: + metavars = buildMetavar(1); + result = metavars[0] + ' ...'; + break; + default: + metavars = buildMetavar(action.nargs); + result = metavars.join(' '); + } + return result; +}; + +HelpFormatter.prototype._expandHelp = function (action) { + var actionProperty; + var actionValue; + + var params = {prog: this._prog}; + + for (actionProperty in action) { + if (action.hasOwnProperty(actionProperty)) { + actionValue = action[actionProperty]; + + if (actionValue !== $$.SUPPRESS) { + params[actionProperty] = actionValue; + } + } + } + + if (!!params.choices) { + if (_.isString(params.choices)) { + params.choices = params.choices.split('').join(', '); + } + else if (_.isArray(params.choices)) { + params.choices = params.choices.join(', '); + } + else { + params.choices = _.keys(params.choices).join(', '); + } + } + + return _.str.sprintf(this._getHelpString(action), params); +}; + +HelpFormatter.prototype._splitLines = function (text, width) { + var lines = []; + var delimiters = [" ", ".", ",", "!", "?"]; + var re = new RegExp('[' + delimiters.join('') + '][^' + delimiters.join('') + ']*$'); + + text = text.replace(/[\n\|\t]/g, ' '); + + text = _.str.strip(text); + text = text.replace(this._whitespaceMatcher, ' '); + + // Wraps the single paragraph in text (a string) so every line + // is at most width characters long. + text.split($$.EOL).forEach(function (line) { + if (width >= line.length) { + lines.push(line); + return; + } + + var wrapStart = 0; + var wrapEnd = width; + var delimiterIndex = 0; + while (wrapEnd <= line.length) { + if (wrapEnd !== line.length && delimiters.indexOf(line[wrapEnd] < -1)) { + delimiterIndex = (re.exec(line.substring(wrapStart, wrapEnd)) || {}).index; + wrapEnd = wrapStart + delimiterIndex + 1; + } + lines.push(line.substring(wrapStart, wrapEnd)); + wrapStart = wrapEnd; + wrapEnd += width; + } + if (wrapStart < line.length) { + lines.push(line.substring(wrapStart, wrapEnd)); + } + }); + + return lines; +}; + +HelpFormatter.prototype._fillText = function (text, width, indent) { + var lines = this._splitLines(text, width); + lines = lines.map(function (line) { + return indent + line; + }); + return lines.join($$.EOL); +}; + +HelpFormatter.prototype._getHelpString = function (action) { + return action.help; +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js new file mode 100644 index 0000000..3546f2d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js @@ -0,0 +1,77 @@ +/** + * class Namespace + * + * Simple object for storing attributes. Implements equality by attribute names + * and values, and provides a simple string representation. + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#the-namespace-object + **/ +'use strict'; + +var _ = require('underscore'); + +/** + * new Namespace(options) + * - options(object): predefined propertis for result object + * + **/ +var Namespace = module.exports = function Namespace(options) { + _.extend(this, options); +}; + +/** + * Namespace#isset(key) -> Boolean + * - key (string|number): property name + * + * Tells whenever `namespace` contains given `key` or not. + **/ +Namespace.prototype.isset = function (key) { + return _.has(this, key); +}; + +/** + * Namespace#set(key, value) -> self + * -key (string|number|object): propery name + * -value (mixed): new property value + * + * Set the property named key with value. + * If key object then set all key properties to namespace object + **/ +Namespace.prototype.set = function (key, value) { + if (typeof (key) === 'object') { + _.extend(this, key); + } else { + this[key] = value; + } + return this; +}; + +/** + * Namespace#get(key, defaultValue) -> mixed + * - key (string|number): property name + * - defaultValue (mixed): default value + * + * Return the property key or defaulValue if not set + **/ +Namespace.prototype.get = function (key, defaultValue) { + return !this[key] ? defaultValue: this[key]; +}; + +/** + * Namespace#unset(key, defaultValue) -> mixed + * - key (string|number): property name + * - defaultValue (mixed): default value + * + * Return data[key](and delete it) or defaultValue + **/ +Namespace.prototype.unset = function (key, defaultValue) { + var value = this[key]; + if (value !== null) { + delete this[key]; + return value; + } else { + return defaultValue; + } +}; diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml new file mode 100644 index 0000000..ab27b29 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml @@ -0,0 +1,8 @@ +language: ruby +rvm: + - 1.9.3 + +before_script: + - "export DISPLAY=:99.0" + - "sh -e /etc/init.d/xvfb start" + - sleep 2 \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile new file mode 100644 index 0000000..aed29c3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem 'uglifier' +gem 'rake' diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock new file mode 100644 index 0000000..2c52be4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock @@ -0,0 +1,17 @@ +GEM + remote: https://rubygems.org/ + specs: + execjs (1.4.0) + multi_json (~> 1.0) + multi_json (1.3.6) + rake (0.9.2.2) + uglifier (1.3.0) + execjs (>= 0.3.0) + multi_json (~> 1.0, >= 1.0.2) + +PLATFORMS + ruby + +DEPENDENCIES + rake + uglifier diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown new file mode 100644 index 0000000..1a39ad9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown @@ -0,0 +1,814 @@ +# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) # + + + +Javascript lacks complete string manipulation operations. +This an attempt to fill that gap. List of build-in methods can be found +for example from [Dive Into JavaScript][d]. + +[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object + + +As name states this an extension for [Underscore.js][u], but it can be used +independently from **_s**-global variable. But with Underscore.js you can +use Object-Oriented style and chaining: + +[u]: http://documentcloud.github.com/underscore/ + +```javascript +_(" epeli ").chain().trim().capitalize().value() +=> "Epeli" +``` + +## Download ## + + * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb* + * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb* + + +## Node.js installation ## + +**npm package** + + npm install underscore.string + +**Standalone usage**: + +```javascript +var _s = require('underscore.string'); +``` + +**Integrate with Underscore.js**: + +```javascript +var _ = require('underscore'); + +// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains) +_.str = require('underscore.string'); + +// Mix in non-conflict functions to Underscore namespace if you want +_.mixin(_.str.exports()); + +// All functions, include conflict, will be available through _.str object +_.str.include('Underscore.string', 'string'); // => true +``` + +**Or Integrate with Underscore.js without module loading** + +Run the following expression after Underscore.js and Underscore.string are loaded +```javascript +// _.str becomes a global variable if no module loading is detected +// Mix in non-conflict functions to Underscore namespace +_.mixin(_.str.exports()); +``` + +## String Functions ## + +For availability of functions in this way you need to mix in Underscore.string functions: + +```javascript +_.mixin(_.string.exports()); +``` + +otherwise functions from examples will be available through _.string or _.str objects: + +```javascript +_.str.capitalize('epeli') +=> "Epeli" +``` + +**numberFormat** _.numberFormat(number, [ decimals=0, decimalSeparator='.', orderSeparator=',']) + +Formats the numbers. + +```javascript +_.numberFormat(1000, 2) +=> "1,000.00" + +_.numberFormat(123456789.123, 5, '.', ',') +=> "123,456,789.12300" +``` + + +**levenshtein** _.levenshtein(string1, string2) + +Calculates [Levenshtein distance][ld] between two strings. +[ld]: http://en.wikipedia.org/wiki/Levenshtein_distance + +```javascript +_.levenshtein('kitten', 'kittah') +=> 2 +``` + +**capitalize** _.capitalize(string) + +Converts first letter of the string to uppercase. + +```javascript +_.capitalize("foo Bar") +=> "Foo Bar" +``` + +**chop** _.chop(string, step) + +```javascript +_.chop('whitespace', 3) +=> ['whi','tes','pac','e'] +``` + +**clean** _.clean(str) + +Compress some whitespaces to one. + +```javascript +_.clean(" foo bar ") +=> 'foo bar' +``` + +**chars** _.chars(str) + +```javascript +_.chars('Hello') +=> ['H','e','l','l','o'] +``` + +**swapCase** _.swapCase(str) + +Returns a copy of the string in which all the case-based characters have had their case swapped. + +```javascript +_.swapCase('hELLO') +=> 'Hello' +``` + +**include** available only through _.str object, because Underscore has function with the same name. + +```javascript +_.str.include("foobar", "ob") +=> true +``` + +(removed) **includes** _.includes(string, substring) + +Tests if string contains a substring. + +```javascript +_.includes("foobar", "ob") +=> true +``` + +**includes** function was removed + +But you can create it in this way, for compatibility with previous versions: + +```javascript +_.includes = _.str.include +``` + +**count** _.count(string, substring) + +```javascript +_('Hello world').count('l') +=> 3 +``` + +**escapeHTML** _.escapeHTML(string) + +Converts HTML special characters to their entity equivalents. + +```javascript +_('
        Blah blah blah
        ').escapeHTML(); +=> '<div>Blah blah blah</div>' +``` + +**unescapeHTML** _.unescapeHTML(string) + +Converts entity characters to HTML equivalents. + +```javascript +_('<div>Blah blah blah</div>').unescapeHTML(); +=> '
        Blah blah blah
        ' +``` + +**insert** _.insert(string, index, substing) + +```javascript +_('Hello ').insert(6, 'world') +=> 'Hello world' +``` + +**isBlank** _.isBlank(string) + +```javascript +_('').isBlank(); // => true +_('\n').isBlank(); // => true +_(' ').isBlank(); // => true +_('a').isBlank(); // => false +``` + +**join** _.join(separator, *strings) + +Joins strings together with given separator + +```javascript +_.join(" ", "foo", "bar") +=> "foo bar" +``` + +**lines** _.lines(str) + +```javascript +_.lines("Hello\nWorld") +=> ["Hello", "World"] +``` + +**reverse** available only through _.str object, because Underscore has function with the same name. + +Return reversed string: + +```javascript +_.str.reverse("foobar") +=> 'raboof' +``` + +**splice** _.splice(string, index, howmany, substring) + +Like a array splice. + +```javascript +_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli') +=> 'https://edtsech@bitbucket.org/epeli/underscore.strings' +``` + +**startsWith** _.startsWith(string, starts) + +This method checks whether string starts with starts. + +```javascript +_("image.gif").startsWith("image") +=> true +``` + +**endsWith** _.endsWith(string, ends) + +This method checks whether string ends with ends. + +```javascript +_("image.gif").endsWith("gif") +=> true +``` + +**succ** _.succ(str) + +Returns the successor to str. + +```javascript +_('a').succ() +=> 'b' + +_('A').succ() +=> 'B' +``` + +**supplant** + +Supplant function was removed, use Underscore.js [template function][p]. + +[p]: http://documentcloud.github.com/underscore/#template + +**strip** alias for *trim* + +**lstrip** alias for *ltrim* + +**rstrip** alias for *rtrim* + +**titleize** _.titleize(string) + +```javascript +_('my name is epeli').titleize() +=> 'My Name Is Epeli' +``` + +**camelize** _.camelize(string) + +Converts underscored or dasherized string to a camelized one + +```javascript +_('-moz-transform').camelize() +=> 'MozTransform' +``` + +**classify** _.classify(string) + +Converts string to camelized class name + +```javascript +_('some_class_name').classify() +=> 'SomeClassName' +``` + +**underscored** _.underscored(string) + +Converts a camelized or dasherized string into an underscored one + +```javascript +_('MozTransform').underscored() +=> 'moz_transform' +``` + +**dasherize** _.dasherize(string) + +Converts a underscored or camelized string into an dasherized one + +```javascript +_('MozTransform').dasherize() +=> '-moz-transform' +``` + +**humanize** _.humanize(string) + +Converts an underscored, camelized, or dasherized string into a humanized one. +Also removes beginning and ending whitespace, and removes the postfix '_id'. + +```javascript +_(' capitalize dash-CamelCase_underscore trim ').humanize() +=> 'Capitalize dash camel case underscore trim' +``` + +**trim** _.trim(string, [characters]) + +trims defined characters from begining and ending of the string. +Defaults to whitespace characters. + +```javascript +_.trim(" foobar ") +=> "foobar" + +_.trim("_-foobar-_", "_-") +=> "foobar" +``` + + +**ltrim** _.ltrim(string, [characters]) + +Left trim. Similar to trim, but only for left side. + + +**rtrim** _.rtrim(string, [characters]) + +Right trim. Similar to trim, but only for right side. + +**truncate** _.truncate(string, length, truncateString) + +```javascript +_('Hello world').truncate(5) +=> 'Hello...' + +_('Hello').truncate(10) +=> 'Hello' +``` + +**prune** _.prune(string, length, pruneString) + +Elegant version of truncate. +Makes sure the pruned string does not exceed the original length. +Avoid half-chopped words when truncating. + +```javascript +_('Hello, world').prune(5) +=> 'Hello...' + +_('Hello, world').prune(8) +=> 'Hello...' + +_('Hello, world').prune(5, ' (read a lot more)') +=> 'Hello, world' (as adding "(read a lot more)" would be longer than the original string) + +_('Hello, cruel world').prune(15) +=> 'Hello, cruel...' + +_('Hello').prune(10) +=> 'Hello' +``` + +**words** _.words(str, delimiter=/\s+/) + +Split string by delimiter (String or RegExp), /\s+/ by default. + +```javascript +_.words(" I love you ") +=> ["I","love","you"] + +_.words("I_love_you", "_") +=> ["I","love","you"] + +_.words("I-love-you", /-/) +=> ["I","love","you"] + +_.words(" ") +=> [] +``` + +**sprintf** _.sprintf(string format, *arguments) + +C like string formatting. +Credits goes to [Alexandru Marasteanu][o]. +For more detailed documentation, see the [original page][o]. + +[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript + +```javascript +_.sprintf("%.1f", 1.17) +"1.2" +``` + +**pad** _.pad(str, length, [padStr, type]) + +pads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`" "`). `padStr` is truncated to a single character if necessary. + +```javascript +_.pad("1", 8) +-> " 1"; + +_.pad("1", 8, '0') +-> "00000001"; + +_.pad("1", 8, '0', 'right') +-> "10000000"; + +_.pad("1", 8, '0', 'both') +-> "00001000"; + +_.pad("1", 8, 'bleepblorp', 'both') +-> "bbbb1bbb"; +``` + +**lpad** _.lpad(str, length, [padStr]) + +left-pad a string. Alias for `pad(str, length, padStr, 'left')` + +```javascript +_.lpad("1", 8, '0') +-> "00000001"; +``` + +**rpad** _.rpad(str, length, [padStr]) + +right-pad a string. Alias for `pad(str, length, padStr, 'right')` + +```javascript +_.rpad("1", 8, '0') +-> "10000000"; +``` + +**lrpad** _.lrpad(str, length, [padStr]) + +left/right-pad a string. Alias for `pad(str, length, padStr, 'both')` + +```javascript +_.lrpad("1", 8, '0') +-> "00001000"; +``` + +**center** alias for **lrpad** + +**ljust** alias for *rpad* + +**rjust** alias for *lpad* + +**toNumber** _.toNumber(string, [decimals]) + +Parse string to number. Returns NaN if string can't be parsed to number. + +```javascript +_('2.556').toNumber() +=> 3 + +_('2.556').toNumber(1) +=> 2.6 +``` + +**strRight** _.strRight(string, pattern) + +Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strRight('_') +=> "is_a_test_string"; +``` + +**strRightBack** _.strRightBack(string, pattern) + +Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strRightBack('_') +=> "string"; +``` + +**strLeft** _.strLeft(string, pattern) + +Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strLeft('_') +=> "This"; +``` + +**strLeftBack** _.strLeftBack(string, pattern) + +Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strLeftBack('_') +=> "This_is_a_test"; +``` + +**stripTags** + +Removes all html tags from string. + +```javascript +_('a link').stripTags() +=> 'a link' + +_('a link').stripTags() +=> 'a linkalert("hello world!")' +``` + +**toSentence** _.toSentence(array, [delimiter, lastDelimiter]) + +Join an array into a human readable sentence. + +```javascript +_.toSentence(['jQuery', 'Mootools', 'Prototype']) +=> 'jQuery, Mootools and Prototype'; + +_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ') +=> 'jQuery, Mootools unt Prototype'; +``` + +**toSentenceSerial** _.toSentenceSerial(array, [delimiter, lastDelimiter]) + +The same as `toSentence`, but adjusts delimeters to use [Serial comma](http://en.wikipedia.org/wiki/Serial_comma). + +```javascript +_.toSentenceSerial(['jQuery', 'Mootools']) +=> 'jQuery and Mootools'; + +_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype']) +=> 'jQuery, Mootools, and Prototype' + +_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt '); +=> 'jQuery, Mootools, unt Prototype'; +``` + +**repeat** _.repeat(string, count, [separator]) + +Repeats a string count times. + +```javascript +_.repeat("foo", 3) +=> 'foofoofoo'; + +_.repeat("foo", 3, "bar") +=> 'foobarfoobarfoo' +``` + +**surround** _.surround(string, wrap) + +Surround a string with another string. + +```javascript +_.surround("foo", "ab") +=> 'abfooab'; +``` + +**quote** _.quote(string, quoteChar) or _.q(string, quoteChar) + +Quotes a string. `quoteChar` defaults to `"`. + +```javascript +_.quote('foo', quoteChar) +=> '"foo"'; +``` +**unquote** _.unquote(string, quoteChar) + +Unquotes a string. `quoteChar` defaults to `"`. + +```javascript +_.unquote('"foo"') +=> 'foo'; +_.unquote("'foo'", "'") +=> 'foo'; +``` + + +**slugify** _.slugify(string) + +Transform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash. + +```javascript +_.slugify("Un éléphant à l'orée du bois") +=> 'un-elephant-a-loree-du-bois'; +``` + +***Caution: this function is charset dependent*** + +**naturalCmp** array.sort(_.naturalCmp) + +Naturally sort strings like humans would do. + +```javascript +['foo20', 'foo5'].sort(_.naturalCmp) +=> [ 'foo5', 'foo20' ] +``` + +**toBoolean** _.toBoolean(string) or _.toBool(string) + +Turn strings that can be commonly considered as booleas to real booleans. Such as "true", "false", "1" and "0". This function is case insensitive. + +```javascript +_.toBoolean("true") +=> true +_.toBoolean("FALSE") +=> false +_.toBoolean("random") +=> undefined +``` + +It can be customized by giving arrays of truth and falsy value matcher as parameters. Matchers can be also RegExp objects. + +```javascript +_.toBoolean("truthy", ["truthy"], ["falsy"]) +=> true +_.toBoolean("true only at start", [/^true/]) +=> true +``` + +## Roadmap ## + +Any suggestions or bug reports are welcome. Just email me or more preferably open an issue. + +#### Problems + +We lose two things for `include` and `reverse` methods from `_.string`: + +* Calls like `_('foobar').include('bar')` aren't available; +* Chaining isn't available too. + +But if you need this functionality you can create aliases for conflict functions which will be convenient for you: + +```javascript +_.mixin({ + includeString: _.str.include, + reverseString: _.str.reverse +}) + +// Now wrapper calls and chaining are available. +_('foobar').chain().reverseString().includeString('rab').value() +``` + +#### Standalone Usage + +If you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias +But of course you can just reassign `_` variable with `_.string` + +```javascript +_ = _.string +``` + +## Changelog ## + +### 2.3.3 ### + +* Add `toBoolean` +* Add `unquote` +* Add quote char option to `quote` +* Support dash-separated words in `titleize` + +### 2.3.2 ### + +* Add `naturalCmp` +* Bug fix to `camelize` +* Add ă, ș, ț and ś to `slugify` +* Doc updates +* Add support for [component](http://component.io/) +* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.1...v2.3.2) + +### 2.3.1 ### + +* Bug fixes to `escapeHTML`, `classify`, `substr` +* Faster `count` +* Documentation fixes +* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.0...v2.3.1) + +### 2.3.0 ### + +* Added `numberformat` method +* Added `levenshtein` method (Levenshtein distance calculation) +* Added `swapCase` method +* Changed default behavior of `words` method +* Added `toSentenceSerial` method +* Added `surround` and `quote` methods + +### 2.2.1 ### + +* Same as 2.2.0 (2.2.0rc on npm) to fix some npm drama + +### 2.2.0 ### + +* Capitalize method behavior changed +* Various perfomance tweaks + +### 2.1.1### + +* Fixed words method bug +* Added classify method + +### 2.1.0 ### + +* AMD support +* Added toSentence method +* Added slugify method +* Lots of speed optimizations + +### 2.0.0 ### + +* Added prune, humanize functions +* Added _.string (_.str) namespace for Underscore.string library +* Removed includes function + +For upgrading to this version you need to mix in Underscore.string library to Underscore object: + +```javascript +_.mixin(_.string.exports()); +``` + +and all non-conflict Underscore.string functions will be available through Underscore object. +Also function `includes` has been removed, you should replace this function by `_.str.include` +or create alias `_.includes = _.str.include` and all your code will work fine. + +### 1.1.6 ### + +* Fixed reverse and truncate +* Added isBlank, stripTags, inlude(alias for includes) +* Added uglifier compression + +### 1.1.5 ### + +* Added strRight, strRightBack, strLeft, strLeftBack + +### 1.1.4 ### + +* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust +* Integration with Underscore 1.1.6 + +### 1.1.3 ### + +* Added methods: underscored, camelize, dasherize +* Support newer version of npm + +### 1.1.2 ### + +* Created functions: lines, chars, words functions + +### 1.0.2 ### + +* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible) +* Removed 'reverse' function, because this function override underscore.js 'reverse' + +## Contribute ## + +* Fork & pull request. Don't forget about tests. +* If you planning add some feature please create issue before. + +Otherwise changes will be rejected. + +## Contributors list ## +[Can be found here](https://github.com/epeli/underscore.string/graphs/contributors). + + +## Licence ## + +The MIT License + +Copyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile new file mode 100644 index 0000000..2cd9eed --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile @@ -0,0 +1,23 @@ +# encoding: utf-8 +task default: :test + +desc 'Use UglifyJS to compress Underscore.string' +task :build do + require 'uglifier' + source = File.read('lib/underscore.string.js', :encoding => 'utf-8') + compressed = Uglifier.compile(source, copyright: false) + File.open('dist/underscore.string.min.js', 'w'){ |f| f.write compressed } + compression_rate = compressed.length.to_f/source.length + puts "compressed dist/underscore.string.min.js: #{compressed.length}/#{source.length} #{(compression_rate * 100).round}%" +end + +desc 'Run tests' +task :test do + puts "Running underscore.string test suite." + result1 = system %{phantomjs ./test/run-qunit.js "test/test.html"} + + puts "Running Underscore test suite." + result2 = system %{phantomjs ./test/run-qunit.js "test/test_underscore/index.html"} + + exit(result1 && result2 ? 0 : 1) +end diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json new file mode 100644 index 0000000..ae91b65 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json @@ -0,0 +1,11 @@ +{ + "name": "underscore.string", + "repo": "epeli/underscore.string", + "description": "String manipulation extensions for Underscore.js javascript library", + "version": "2.3.3", + "keywords": ["underscore", "string"], + "dependencies": {}, + "development": {}, + "main": "lib/underscore.string.js", + "scripts": ["lib/underscore.string.js"] +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js new file mode 100644 index 0000000..4f6b2b9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js @@ -0,0 +1 @@ +!function(e,n){"use strict";function r(e,n){var r,t,u=e.toLowerCase();for(n=[].concat(n),r=0;n.length>r;r+=1)if(t=n[r]){if(t.test&&t.test(e))return!0;if(t.toLowerCase()===u)return!0}}var t=n.prototype.trim,u=n.prototype.trimRight,i=n.prototype.trimLeft,l=function(e){return 1*e||0},o=function(e,n){if(1>n)return"";for(var r="";n>0;)1&n&&(r+=e),n>>=1,e+=e;return r},a=[].slice,c=function(e){return null==e?"\\s":e.source?e.source:"["+g.escapeRegExp(e)+"]"},s={lt:"<",gt:">",quot:'"',amp:"&",apos:"'"},f={};for(var p in s)f[s[p]]=p;f["'"]="#39";var h=function(){function e(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}var r=o,t=function(){return t.cache.hasOwnProperty(arguments[0])||(t.cache[arguments[0]]=t.parse(arguments[0])),t.format.call(null,t.cache[arguments[0]],arguments)};return t.format=function(t,u){var i,l,o,a,c,s,f,p=1,g=t.length,d="",m=[];for(l=0;g>l;l++)if(d=e(t[l]),"string"===d)m.push(t[l]);else if("array"===d){if(a=t[l],a[2])for(i=u[p],o=0;a[2].length>o;o++){if(!i.hasOwnProperty(a[2][o]))throw new Error(h('[_.sprintf] property "%s" does not exist',a[2][o]));i=i[a[2][o]]}else i=a[1]?u[a[1]]:u[p++];if(/[^s]/.test(a[8])&&"number"!=e(i))throw new Error(h("[_.sprintf] expecting number but found %s",e(i)));switch(a[8]){case"b":i=i.toString(2);break;case"c":i=n.fromCharCode(i);break;case"d":i=parseInt(i,10);break;case"e":i=a[7]?i.toExponential(a[7]):i.toExponential();break;case"f":i=a[7]?parseFloat(i).toFixed(a[7]):parseFloat(i);break;case"o":i=i.toString(8);break;case"s":i=(i=n(i))&&a[7]?i.substring(0,a[7]):i;break;case"u":i=Math.abs(i);break;case"x":i=i.toString(16);break;case"X":i=i.toString(16).toUpperCase()}i=/[def]/.test(a[8])&&a[3]&&i>=0?"+"+i:i,s=a[4]?"0"==a[4]?"0":a[4].charAt(1):" ",f=a[6]-n(i).length,c=a[6]?r(s,f):"",m.push(a[5]?i+c:c+i)}return m.join("")},t.cache={},t.parse=function(e){for(var n=e,r=[],t=[],u=0;n;){if(null!==(r=/^[^\x25]+/.exec(n)))t.push(r[0]);else if(null!==(r=/^\x25{2}/.exec(n)))t.push("%");else{if(null===(r=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(n)))throw new Error("[_.sprintf] huh?");if(r[2]){u|=1;var i=[],l=r[2],o=[];if(null===(o=/^([a-z_][a-z_\d]*)/i.exec(l)))throw new Error("[_.sprintf] huh?");for(i.push(o[1]);""!==(l=l.substring(o[0].length));)if(null!==(o=/^\.([a-z_][a-z_\d]*)/i.exec(l)))i.push(o[1]);else{if(null===(o=/^\[(\d+)\]/.exec(l)))throw new Error("[_.sprintf] huh?");i.push(o[1])}r[2]=i}else u|=2;if(3===u)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");t.push(r)}n=n.substring(r[0].length)}return t},t}(),g={VERSION:"2.3.0",isBlank:function(e){return null==e&&(e=""),/^\s*$/.test(e)},stripTags:function(e){return null==e?"":n(e).replace(/<\/?[^>]+>/g,"")},capitalize:function(e){return e=null==e?"":n(e),e.charAt(0).toUpperCase()+e.slice(1)},chop:function(e,r){return null==e?[]:(e=n(e),r=~~r,r>0?e.match(new RegExp(".{1,"+r+"}","g")):[e])},clean:function(e){return g.strip(e).replace(/\s+/g," ")},count:function(e,r){if(null==e||null==r)return 0;e=n(e),r=n(r);for(var t=0,u=0,i=r.length;;){if(u=e.indexOf(r,u),-1===u)break;t++,u+=i}return t},chars:function(e){return null==e?[]:n(e).split("")},swapCase:function(e){return null==e?"":n(e).replace(/\S/g,function(e){return e===e.toUpperCase()?e.toLowerCase():e.toUpperCase()})},escapeHTML:function(e){return null==e?"":n(e).replace(/[&<>"']/g,function(e){return"&"+f[e]+";"})},unescapeHTML:function(e){return null==e?"":n(e).replace(/\&([^;]+);/g,function(e,r){var t;return r in s?s[r]:(t=r.match(/^#x([\da-fA-F]+)$/))?n.fromCharCode(parseInt(t[1],16)):(t=r.match(/^#(\d+)$/))?n.fromCharCode(~~t[1]):e})},escapeRegExp:function(e){return null==e?"":n(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},splice:function(e,n,r,t){var u=g.chars(e);return u.splice(~~n,~~r,t),u.join("")},insert:function(e,n,r){return g.splice(e,n,0,r)},include:function(e,r){return""===r?!0:null==e?!1:-1!==n(e).indexOf(r)},join:function(){var e=a.call(arguments),n=e.shift();return null==n&&(n=""),e.join(n)},lines:function(e){return null==e?[]:n(e).split("\n")},reverse:function(e){return g.chars(e).reverse().join("")},startsWith:function(e,r){return""===r?!0:null==e||null==r?!1:(e=n(e),r=n(r),e.length>=r.length&&e.slice(0,r.length)===r)},endsWith:function(e,r){return""===r?!0:null==e||null==r?!1:(e=n(e),r=n(r),e.length>=r.length&&e.slice(e.length-r.length)===r)},succ:function(e){return null==e?"":(e=n(e),e.slice(0,-1)+n.fromCharCode(e.charCodeAt(e.length-1)+1))},titleize:function(e){return null==e?"":(e=n(e).toLowerCase(),e.replace(/(?:^|\s|-)\S/g,function(e){return e.toUpperCase()}))},camelize:function(e){return g.trim(e).replace(/[-_\s]+(.)?/g,function(e,n){return n?n.toUpperCase():""})},underscored:function(e){return g.trim(e).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(e){return g.trim(e).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()},classify:function(e){return g.titleize(n(e).replace(/[\W_]/g," ")).replace(/\s/g,"")},humanize:function(e){return g.capitalize(g.underscored(e).replace(/_id$/,"").replace(/_/g," "))},trim:function(e,r){return null==e?"":!r&&t?t.call(e):(r=c(r),n(e).replace(new RegExp("^"+r+"+|"+r+"+$","g"),""))},ltrim:function(e,r){return null==e?"":!r&&i?i.call(e):(r=c(r),n(e).replace(new RegExp("^"+r+"+"),""))},rtrim:function(e,r){return null==e?"":!r&&u?u.call(e):(r=c(r),n(e).replace(new RegExp(r+"+$"),""))},truncate:function(e,r,t){return null==e?"":(e=n(e),t=t||"...",r=~~r,e.length>r?e.slice(0,r)+t:e)},prune:function(e,r,t){if(null==e)return"";if(e=n(e),r=~~r,t=null!=t?n(t):"...",r>=e.length)return e;var u=function(e){return e.toUpperCase()!==e.toLowerCase()?"A":" "},i=e.slice(0,r+1).replace(/.(?=\W*\w*$)/g,u);return i=i.slice(i.length-2).match(/\w\w/)?i.replace(/\s*\S+$/,""):g.rtrim(i.slice(0,i.length-1)),(i+t).length>e.length?e:e.slice(0,i.length)+t},words:function(e,n){return g.isBlank(e)?[]:g.trim(e,n).split(n||/\s+/)},pad:function(e,r,t,u){e=null==e?"":n(e),r=~~r;var i=0;switch(t?t.length>1&&(t=t.charAt(0)):t=" ",u){case"right":return i=r-e.length,e+o(t,i);case"both":return i=r-e.length,o(t,Math.ceil(i/2))+e+o(t,Math.floor(i/2));default:return i=r-e.length,o(t,i)+e}},lpad:function(e,n,r){return g.pad(e,n,r)},rpad:function(e,n,r){return g.pad(e,n,r,"right")},lrpad:function(e,n,r){return g.pad(e,n,r,"both")},sprintf:h,vsprintf:function(e,n){return n.unshift(e),h.apply(null,n)},toNumber:function(e,n){return e?(e=g.trim(e),e.match(/^-?\d+(?:\.\d+)?$/)?l(l(e).toFixed(~~n)):0/0):0},numberFormat:function(e,n,r,t){if(isNaN(e)||null==e)return"";e=e.toFixed(~~n),t="string"==typeof t?t:",";var u=e.split("."),i=u[0],l=u[1]?(r||".")+u[1]:"";return i.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+t)+l},strRight:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strRightBack:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.lastIndexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strLeft:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(0,t):e},strLeftBack:function(e,n){if(null==e)return"";e+="",n=null!=n?""+n:n;var r=e.lastIndexOf(n);return~r?e.slice(0,r):e},toSentence:function(e,n,r,t){n=n||", ",r=r||" and ";var u=e.slice(),i=u.pop();return e.length>2&&t&&(r=g.rtrim(n)+r),u.length?u.join(n)+r+i:i},toSentenceSerial:function(){var e=a.call(arguments);return e[3]=!0,g.toSentence.apply(g,e)},slugify:function(e){if(null==e)return"";var r="ąàáäâãåæăćęèéëêìíïîłńòóöôõøśșțùúüûñçżź",t="aaaaaaaaaceeeeeiiiilnoooooosstuuuunczz",u=new RegExp(c(r),"g");return e=n(e).toLowerCase().replace(u,function(e){var n=r.indexOf(e);return t.charAt(n)||"-"}),g.dasherize(e.replace(/[^\w\s-]/g,""))},surround:function(e,n){return[n,e,n].join("")},quote:function(e,n){return g.surround(e,n||'"')},unquote:function(e,n){return n=n||'"',e[0]===n&&e[e.length-1]===n?e.slice(1,e.length-1):e},exports:function(){var e={};for(var n in this)this.hasOwnProperty(n)&&!n.match(/^(?:include|contains|reverse)$/)&&(e[n]=this[n]);return e},repeat:function(e,r,t){if(null==e)return"";if(r=~~r,null==t)return o(n(e),r);for(var u=[];r>0;u[--r]=e);return u.join(t)},naturalCmp:function(e,r){if(e==r)return 0;if(!e)return-1;if(!r)return 1;for(var t=/(\.\d+)|(\d+)|(\D+)/g,u=n(e).toLowerCase().match(t),i=n(r).toLowerCase().match(t),l=Math.min(u.length,i.length),o=0;l>o;o++){var a=u[o],c=i[o];if(a!==c){var s=parseInt(a,10);if(!isNaN(s)){var f=parseInt(c,10);if(!isNaN(f)&&s-f)return s-f}return c>a?-1:1}}return u.length===i.length?u.length-i.length:r>e?-1:1},levenshtein:function(e,r){if(null==e&&null==r)return 0;if(null==e)return n(r).length;if(null==r)return n(e).length;e=n(e),r=n(r);for(var t,u,i=[],l=0;r.length>=l;l++)for(var o=0;e.length>=o;o++)u=l&&o?e.charAt(o-1)===r.charAt(l-1)?t:Math.min(i[o],i[o-1],t)+1:l+o,t=i[o],i[o]=u;return i.pop()},toBoolean:function(e,n,t){return"number"==typeof e&&(e=""+e),"string"!=typeof e?!!e:(e=g.trim(e),r(e,n||["true","1"])?!0:r(e,t||["false","0"])?!1:void 0)}};g.strip=g.trim,g.lstrip=g.ltrim,g.rstrip=g.rtrim,g.center=g.lrpad,g.rjust=g.lpad,g.ljust=g.rpad,g.contains=g.include,g.q=g.quote,g.toBool=g.toBoolean,"undefined"!=typeof exports&&("undefined"!=typeof module&&module.exports&&(module.exports=g),exports._s=g),"function"==typeof define&&define.amd&&define("underscore.string",[],function(){return g}),e._=e._||{},e._.string=e._.str=g}(this,String); \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js new file mode 100644 index 0000000..8761117 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js @@ -0,0 +1,673 @@ +// Underscore.string +// (c) 2010 Esa-Matti Suuronen +// Underscore.string is freely distributable under the terms of the MIT license. +// Documentation: https://github.com/epeli/underscore.string +// Some code is borrowed from MooTools and Alexandru Marasteanu. +// Version '2.3.2' + +!function(root, String){ + 'use strict'; + + // Defining helper functions. + + var nativeTrim = String.prototype.trim; + var nativeTrimRight = String.prototype.trimRight; + var nativeTrimLeft = String.prototype.trimLeft; + + var parseNumber = function(source) { return source * 1 || 0; }; + + var strRepeat = function(str, qty){ + if (qty < 1) return ''; + var result = ''; + while (qty > 0) { + if (qty & 1) result += str; + qty >>= 1, str += str; + } + return result; + }; + + var slice = [].slice; + + var defaultToWhiteSpace = function(characters) { + if (characters == null) + return '\\s'; + else if (characters.source) + return characters.source; + else + return '[' + _s.escapeRegExp(characters) + ']'; + }; + + // Helper for toBoolean + function boolMatch(s, matchers) { + var i, matcher, down = s.toLowerCase(); + matchers = [].concat(matchers); + for (i = 0; i < matchers.length; i += 1) { + matcher = matchers[i]; + if (!matcher) continue; + if (matcher.test && matcher.test(s)) return true; + if (matcher.toLowerCase() === down) return true; + } + } + + var escapeChars = { + lt: '<', + gt: '>', + quot: '"', + amp: '&', + apos: "'" + }; + + var reversedEscapeChars = {}; + for(var key in escapeChars) reversedEscapeChars[escapeChars[key]] = key; + reversedEscapeChars["'"] = '#39'; + + // sprintf() for JavaScript 0.7-beta1 + // http://www.diveintojavascript.com/projects/javascript-sprintf + // + // Copyright (c) Alexandru Marasteanu + // All rights reserved. + + var sprintf = (function() { + function get_type(variable) { + return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase(); + } + + var str_repeat = strRepeat; + + var str_format = function() { + if (!str_format.cache.hasOwnProperty(arguments[0])) { + str_format.cache[arguments[0]] = str_format.parse(arguments[0]); + } + return str_format.format.call(null, str_format.cache[arguments[0]], arguments); + }; + + str_format.format = function(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length; + for (i = 0; i < tree_length; i++) { + node_type = get_type(parse_tree[i]); + if (node_type === 'string') { + output.push(parse_tree[i]); + } + else if (node_type === 'array') { + match = parse_tree[i]; // convenience purposes only + if (match[2]) { // keyword argument + arg = argv[cursor]; + for (k = 0; k < match[2].length; k++) { + if (!arg.hasOwnProperty(match[2][k])) { + throw new Error(sprintf('[_.sprintf] property "%s" does not exist', match[2][k])); + } + arg = arg[match[2][k]]; + } + } else if (match[1]) { // positional argument (explicit) + arg = argv[match[1]]; + } + else { // positional argument (implicit) + arg = argv[cursor++]; + } + + if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) { + throw new Error(sprintf('[_.sprintf] expecting number but found %s', get_type(arg))); + } + switch (match[8]) { + case 'b': arg = arg.toString(2); break; + case 'c': arg = String.fromCharCode(arg); break; + case 'd': arg = parseInt(arg, 10); break; + case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break; + case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break; + case 'o': arg = arg.toString(8); break; + case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break; + case 'u': arg = Math.abs(arg); break; + case 'x': arg = arg.toString(16); break; + case 'X': arg = arg.toString(16).toUpperCase(); break; + } + arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg); + pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' '; + pad_length = match[6] - String(arg).length; + pad = match[6] ? str_repeat(pad_character, pad_length) : ''; + output.push(match[5] ? arg + pad : pad + arg); + } + } + return output.join(''); + }; + + str_format.cache = {}; + + str_format.parse = function(fmt) { + var _fmt = fmt, match = [], parse_tree = [], arg_names = 0; + while (_fmt) { + if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { + parse_tree.push(match[0]); + } + else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { + parse_tree.push('%'); + } + else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1; + var field_list = [], replacement_field = match[2], field_match = []; + if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else { + throw new Error('[_.sprintf] huh?'); + } + } + } + else { + throw new Error('[_.sprintf] huh?'); + } + match[2] = field_list; + } + else { + arg_names |= 2; + } + if (arg_names === 3) { + throw new Error('[_.sprintf] mixing positional and named placeholders is not (yet) supported'); + } + parse_tree.push(match); + } + else { + throw new Error('[_.sprintf] huh?'); + } + _fmt = _fmt.substring(match[0].length); + } + return parse_tree; + }; + + return str_format; + })(); + + + + // Defining underscore.string + + var _s = { + + VERSION: '2.3.0', + + isBlank: function(str){ + if (str == null) str = ''; + return (/^\s*$/).test(str); + }, + + stripTags: function(str){ + if (str == null) return ''; + return String(str).replace(/<\/?[^>]+>/g, ''); + }, + + capitalize : function(str){ + str = str == null ? '' : String(str); + return str.charAt(0).toUpperCase() + str.slice(1); + }, + + chop: function(str, step){ + if (str == null) return []; + str = String(str); + step = ~~step; + return step > 0 ? str.match(new RegExp('.{1,' + step + '}', 'g')) : [str]; + }, + + clean: function(str){ + return _s.strip(str).replace(/\s+/g, ' '); + }, + + count: function(str, substr){ + if (str == null || substr == null) return 0; + + str = String(str); + substr = String(substr); + + var count = 0, + pos = 0, + length = substr.length; + + while (true) { + pos = str.indexOf(substr, pos); + if (pos === -1) break; + count++; + pos += length; + } + + return count; + }, + + chars: function(str) { + if (str == null) return []; + return String(str).split(''); + }, + + swapCase: function(str) { + if (str == null) return ''; + return String(str).replace(/\S/g, function(c){ + return c === c.toUpperCase() ? c.toLowerCase() : c.toUpperCase(); + }); + }, + + escapeHTML: function(str) { + if (str == null) return ''; + return String(str).replace(/[&<>"']/g, function(m){ return '&' + reversedEscapeChars[m] + ';'; }); + }, + + unescapeHTML: function(str) { + if (str == null) return ''; + return String(str).replace(/\&([^;]+);/g, function(entity, entityCode){ + var match; + + if (entityCode in escapeChars) { + return escapeChars[entityCode]; + } else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) { + return String.fromCharCode(parseInt(match[1], 16)); + } else if (match = entityCode.match(/^#(\d+)$/)) { + return String.fromCharCode(~~match[1]); + } else { + return entity; + } + }); + }, + + escapeRegExp: function(str){ + if (str == null) return ''; + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); + }, + + splice: function(str, i, howmany, substr){ + var arr = _s.chars(str); + arr.splice(~~i, ~~howmany, substr); + return arr.join(''); + }, + + insert: function(str, i, substr){ + return _s.splice(str, i, 0, substr); + }, + + include: function(str, needle){ + if (needle === '') return true; + if (str == null) return false; + return String(str).indexOf(needle) !== -1; + }, + + join: function() { + var args = slice.call(arguments), + separator = args.shift(); + + if (separator == null) separator = ''; + + return args.join(separator); + }, + + lines: function(str) { + if (str == null) return []; + return String(str).split("\n"); + }, + + reverse: function(str){ + return _s.chars(str).reverse().join(''); + }, + + startsWith: function(str, starts){ + if (starts === '') return true; + if (str == null || starts == null) return false; + str = String(str); starts = String(starts); + return str.length >= starts.length && str.slice(0, starts.length) === starts; + }, + + endsWith: function(str, ends){ + if (ends === '') return true; + if (str == null || ends == null) return false; + str = String(str); ends = String(ends); + return str.length >= ends.length && str.slice(str.length - ends.length) === ends; + }, + + succ: function(str){ + if (str == null) return ''; + str = String(str); + return str.slice(0, -1) + String.fromCharCode(str.charCodeAt(str.length-1) + 1); + }, + + titleize: function(str){ + if (str == null) return ''; + str = String(str).toLowerCase(); + return str.replace(/(?:^|\s|-)\S/g, function(c){ return c.toUpperCase(); }); + }, + + camelize: function(str){ + return _s.trim(str).replace(/[-_\s]+(.)?/g, function(match, c){ return c ? c.toUpperCase() : ""; }); + }, + + underscored: function(str){ + return _s.trim(str).replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase(); + }, + + dasherize: function(str){ + return _s.trim(str).replace(/([A-Z])/g, '-$1').replace(/[-_\s]+/g, '-').toLowerCase(); + }, + + classify: function(str){ + return _s.titleize(String(str).replace(/[\W_]/g, ' ')).replace(/\s/g, ''); + }, + + humanize: function(str){ + return _s.capitalize(_s.underscored(str).replace(/_id$/,'').replace(/_/g, ' ')); + }, + + trim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrim) return nativeTrim.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp('\^' + characters + '+|' + characters + '+$', 'g'), ''); + }, + + ltrim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrimLeft) return nativeTrimLeft.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp('^' + characters + '+'), ''); + }, + + rtrim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrimRight) return nativeTrimRight.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp(characters + '+$'), ''); + }, + + truncate: function(str, length, truncateStr){ + if (str == null) return ''; + str = String(str); truncateStr = truncateStr || '...'; + length = ~~length; + return str.length > length ? str.slice(0, length) + truncateStr : str; + }, + + /** + * _s.prune: a more elegant version of truncate + * prune extra chars, never leaving a half-chopped word. + * @author github.com/rwz + */ + prune: function(str, length, pruneStr){ + if (str == null) return ''; + + str = String(str); length = ~~length; + pruneStr = pruneStr != null ? String(pruneStr) : '...'; + + if (str.length <= length) return str; + + var tmpl = function(c){ return c.toUpperCase() !== c.toLowerCase() ? 'A' : ' '; }, + template = str.slice(0, length+1).replace(/.(?=\W*\w*$)/g, tmpl); // 'Hello, world' -> 'HellAA AAAAA' + + if (template.slice(template.length-2).match(/\w\w/)) + template = template.replace(/\s*\S+$/, ''); + else + template = _s.rtrim(template.slice(0, template.length-1)); + + return (template+pruneStr).length > str.length ? str : str.slice(0, template.length)+pruneStr; + }, + + words: function(str, delimiter) { + if (_s.isBlank(str)) return []; + return _s.trim(str, delimiter).split(delimiter || /\s+/); + }, + + pad: function(str, length, padStr, type) { + str = str == null ? '' : String(str); + length = ~~length; + + var padlen = 0; + + if (!padStr) + padStr = ' '; + else if (padStr.length > 1) + padStr = padStr.charAt(0); + + switch(type) { + case 'right': + padlen = length - str.length; + return str + strRepeat(padStr, padlen); + case 'both': + padlen = length - str.length; + return strRepeat(padStr, Math.ceil(padlen/2)) + str + + strRepeat(padStr, Math.floor(padlen/2)); + default: // 'left' + padlen = length - str.length; + return strRepeat(padStr, padlen) + str; + } + }, + + lpad: function(str, length, padStr) { + return _s.pad(str, length, padStr); + }, + + rpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'right'); + }, + + lrpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'both'); + }, + + sprintf: sprintf, + + vsprintf: function(fmt, argv){ + argv.unshift(fmt); + return sprintf.apply(null, argv); + }, + + toNumber: function(str, decimals) { + if (!str) return 0; + str = _s.trim(str); + if (!str.match(/^-?\d+(?:\.\d+)?$/)) return NaN; + return parseNumber(parseNumber(str).toFixed(~~decimals)); + }, + + numberFormat : function(number, dec, dsep, tsep) { + if (isNaN(number) || number == null) return ''; + + number = number.toFixed(~~dec); + tsep = typeof tsep == 'string' ? tsep : ','; + + var parts = number.split('.'), fnums = parts[0], + decimals = parts[1] ? (dsep || '.') + parts[1] : ''; + + return fnums.replace(/(\d)(?=(?:\d{3})+$)/g, '$1' + tsep) + decimals; + }, + + strRight: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strRightBack: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.lastIndexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strLeft: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + strLeftBack: function(str, sep){ + if (str == null) return ''; + str += ''; sep = sep != null ? ''+sep : sep; + var pos = str.lastIndexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + toSentence: function(array, separator, lastSeparator, serial) { + separator = separator || ', '; + lastSeparator = lastSeparator || ' and '; + var a = array.slice(), lastMember = a.pop(); + + if (array.length > 2 && serial) lastSeparator = _s.rtrim(separator) + lastSeparator; + + return a.length ? a.join(separator) + lastSeparator + lastMember : lastMember; + }, + + toSentenceSerial: function() { + var args = slice.call(arguments); + args[3] = true; + return _s.toSentence.apply(_s, args); + }, + + slugify: function(str) { + if (str == null) return ''; + + var from = "ąàáäâãåæăćęèéëêìíïîłńòóöôõøśșțùúüûñçżź", + to = "aaaaaaaaaceeeeeiiiilnoooooosstuuuunczz", + regex = new RegExp(defaultToWhiteSpace(from), 'g'); + + str = String(str).toLowerCase().replace(regex, function(c){ + var index = from.indexOf(c); + return to.charAt(index) || '-'; + }); + + return _s.dasherize(str.replace(/[^\w\s-]/g, '')); + }, + + surround: function(str, wrapper) { + return [wrapper, str, wrapper].join(''); + }, + + quote: function(str, quoteChar) { + return _s.surround(str, quoteChar || '"'); + }, + + unquote: function(str, quoteChar) { + quoteChar = quoteChar || '"'; + if (str[0] === quoteChar && str[str.length-1] === quoteChar) + return str.slice(1,str.length-1); + else return str; + }, + + exports: function() { + var result = {}; + + for (var prop in this) { + if (!this.hasOwnProperty(prop) || prop.match(/^(?:include|contains|reverse)$/)) continue; + result[prop] = this[prop]; + } + + return result; + }, + + repeat: function(str, qty, separator){ + if (str == null) return ''; + + qty = ~~qty; + + // using faster implementation if separator is not needed; + if (separator == null) return strRepeat(String(str), qty); + + // this one is about 300x slower in Google Chrome + for (var repeat = []; qty > 0; repeat[--qty] = str) {} + return repeat.join(separator); + }, + + naturalCmp: function(str1, str2){ + if (str1 == str2) return 0; + if (!str1) return -1; + if (!str2) return 1; + + var cmpRegex = /(\.\d+)|(\d+)|(\D+)/g, + tokens1 = String(str1).toLowerCase().match(cmpRegex), + tokens2 = String(str2).toLowerCase().match(cmpRegex), + count = Math.min(tokens1.length, tokens2.length); + + for(var i = 0; i < count; i++) { + var a = tokens1[i], b = tokens2[i]; + + if (a !== b){ + var num1 = parseInt(a, 10); + if (!isNaN(num1)){ + var num2 = parseInt(b, 10); + if (!isNaN(num2) && num1 - num2) + return num1 - num2; + } + return a < b ? -1 : 1; + } + } + + if (tokens1.length === tokens2.length) + return tokens1.length - tokens2.length; + + return str1 < str2 ? -1 : 1; + }, + + levenshtein: function(str1, str2) { + if (str1 == null && str2 == null) return 0; + if (str1 == null) return String(str2).length; + if (str2 == null) return String(str1).length; + + str1 = String(str1); str2 = String(str2); + + var current = [], prev, value; + + for (var i = 0; i <= str2.length; i++) + for (var j = 0; j <= str1.length; j++) { + if (i && j) + if (str1.charAt(j - 1) === str2.charAt(i - 1)) + value = prev; + else + value = Math.min(current[j], current[j - 1], prev) + 1; + else + value = i + j; + + prev = current[j]; + current[j] = value; + } + + return current.pop(); + }, + + toBoolean: function(str, trueValues, falseValues) { + if (typeof str === "number") str = "" + str; + if (typeof str !== "string") return !!str; + str = _s.trim(str); + if (boolMatch(str, trueValues || ["true", "1"])) return true; + if (boolMatch(str, falseValues || ["false", "0"])) return false; + } + }; + + // Aliases + + _s.strip = _s.trim; + _s.lstrip = _s.ltrim; + _s.rstrip = _s.rtrim; + _s.center = _s.lrpad; + _s.rjust = _s.lpad; + _s.ljust = _s.rpad; + _s.contains = _s.include; + _s.q = _s.quote; + _s.toBool = _s.toBoolean; + + // Exporting + + // CommonJS module is defined + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) + module.exports = _s; + + exports._s = _s; + } + + // Register as a named module with AMD. + if (typeof define === 'function' && define.amd) + define('underscore.string', [], function(){ return _s; }); + + + // Integrate with Underscore.js if defined + // or create our own underscore object. + root._ = root._ || {}; + root._.string = root._.str = _s; +}(this, String); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json new file mode 100644 index 0000000..4b47216 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json @@ -0,0 +1,73 @@ +{ + "name": "underscore.string", + "version": "2.3.3", + "description": "String manipulation extensions for Underscore.js javascript library.", + "homepage": "http://epeli.github.com/underscore.string/", + "contributors": [ + { + "name": "Esa-Matti Suuronen", + "email": "esa-matti@suuronen.org", + "url": "http://esa-matti.suuronen.org/" + }, + { + "name": "Edward Tsech", + "email": "edtsech@gmail.com" + }, + { + "name": "Pavel Pravosud", + "email": "pavel@pravosud.com", + "url": "" + }, + { + "name": "Sasha Koss", + "email": "kossnocorp@gmail.com", + "url": "http://koss.nocorp.me/" + }, + { + "name": "Vladimir Dronnikov", + "email": "dronnikov@gmail.com" + }, + { + "name": "Pete Kruckenberg", + "email": "https://github.com/kruckenb", + "url": "" + }, + { + "name": "Paul Chavard", + "email": "paul@chavard.net", + "url": "" + }, + { + "name": "Ed Finkler", + "email": "coj@funkatron.com", + "url": "" + } + ], + "keywords": [ + "underscore", + "string" + ], + "main": "./lib/underscore.string", + "directories": { + "lib": "./lib" + }, + "engines": { + "node": "*" + }, + "repository": { + "type": "git", + "url": "https://github.com/epeli/underscore.string.git" + }, + "bugs": { + "url": "https://github.com/epeli/underscore.string/issues" + }, + "licenses": [ + { + "type": "MIT" + } + ], + "readme": "# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(\" epeli \").chain().trim().capitalize().value()\n=> \"Epeli\"\n```\n\n## Download ##\n\n * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require('underscore.string');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _ = require('underscore');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require('underscore.string');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include('Underscore.string', 'string'); // => true\n```\n\n**Or Integrate with Underscore.js without module loading**\n\nRun the following expression after Underscore.js and Underscore.string are loaded\n```javascript\n// _.str becomes a global variable if no module loading is detected\n// Mix in non-conflict functions to Underscore namespace\n_.mixin(_.str.exports());\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize('epeli')\n=> \"Epeli\"\n```\n\n**numberFormat** _.numberFormat(number, [ decimals=0, decimalSeparator='.', orderSeparator=','])\n\nFormats the numbers.\n\n```javascript\n_.numberFormat(1000, 2)\n=> \"1,000.00\"\n\n_.numberFormat(123456789.123, 5, '.', ',')\n=> \"123,456,789.12300\"\n```\n\n\n**levenshtein** _.levenshtein(string1, string2)\n\nCalculates [Levenshtein distance][ld] between two strings.\n[ld]: http://en.wikipedia.org/wiki/Levenshtein_distance\n\n```javascript\n_.levenshtein('kitten', 'kittah')\n=> 2\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize(\"foo Bar\")\n=> \"Foo Bar\"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop('whitespace', 3)\n=> ['whi','tes','pac','e']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(\" foo bar \")\n=> 'foo bar'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars('Hello')\n=> ['H','e','l','l','o']\n```\n\n**swapCase** _.swapCase(str)\n\nReturns a copy of the string in which all the case-based characters have had their case swapped.\n\n```javascript\n_.swapCase('hELLO')\n=> 'Hello'\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include(\"foobar\", \"ob\")\n=> true\n```\n\n(removed) **includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes(\"foobar\", \"ob\")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_('Hello world').count('l')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_('
        Blah blah blah
        ').escapeHTML();\n=> '<div>Blah blah blah</div>'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_('<div>Blah blah blah</div>').unescapeHTML();\n=> '
        Blah blah blah
        '\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_('Hello ').insert(6, 'world')\n=> 'Hello world'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_('').isBlank(); // => true\n_('\\n').isBlank(); // => true\n_(' ').isBlank(); // => true\n_('a').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(\" \", \"foo\", \"bar\")\n=> \"foo bar\"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines(\"Hello\\nWorld\")\n=> [\"Hello\", \"World\"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse(\"foobar\")\n=> 'raboof'\n```\n\n**splice** _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli')\n=> 'https://edtsech@bitbucket.org/epeli/underscore.strings'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_(\"image.gif\").startsWith(\"image\")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_(\"image.gif\").endsWith(\"gif\")\n=> true\n```\n\n**succ** _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_('a').succ()\n=> 'b'\n\n_('A').succ()\n=> 'B'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_('my name is epeli').titleize()\n=> 'My Name Is Epeli'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_('-moz-transform').camelize()\n=> 'MozTransform'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_('some_class_name').classify()\n=> 'SomeClassName'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_('MozTransform').underscored()\n=> 'moz_transform'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_('MozTransform').dasherize()\n=> '-moz-transform'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix '_id'.\n\n```javascript\n_(' capitalize dash-CamelCase_underscore trim ').humanize()\n=> 'Capitalize dash camel case underscore trim'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(\" foobar \")\n=> \"foobar\"\n\n_.trim(\"_-foobar-_\", \"_-\")\n=> \"foobar\"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_('Hello world').truncate(5)\n=> 'Hello...'\n\n_('Hello').truncate(10)\n=> 'Hello'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_('Hello, world').prune(5)\n=> 'Hello...'\n\n_('Hello, world').prune(8)\n=> 'Hello...'\n\n_('Hello, world').prune(5, ' (read a lot more)')\n=> 'Hello, world' (as adding \"(read a lot more)\" would be longer than the original string)\n\n_('Hello, cruel world').prune(15)\n=> 'Hello, cruel...'\n\n_('Hello').prune(10)\n=> 'Hello'\n```\n\n**words** _.words(str, delimiter=/\\s+/)\n\nSplit string by delimiter (String or RegExp), /\\s+/ by default.\n\n```javascript\n_.words(\" I love you \")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I_love_you\", \"_\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I-love-you\", /-/)\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\" \")\n=> []\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf(\"%.1f\", 1.17)\n\"1.2\"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`\" \"`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad(\"1\", 8)\n-> \" 1\";\n\n_.pad(\"1\", 8, '0')\n-> \"00000001\";\n\n_.pad(\"1\", 8, '0', 'right')\n-> \"10000000\";\n\n_.pad(\"1\", 8, '0', 'both')\n-> \"00001000\";\n\n_.pad(\"1\", 8, 'bleepblorp', 'both')\n-> \"bbbb1bbb\";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, 'left')`\n\n```javascript\n_.lpad(\"1\", 8, '0')\n-> \"00000001\";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, 'right')`\n\n```javascript\n_.rpad(\"1\", 8, '0')\n-> \"10000000\";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, 'both')`\n\n```javascript\n_.lrpad(\"1\", 8, '0')\n-> \"00001000\";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber** _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can't be parsed to number.\n\n```javascript\n_('2.556').toNumber()\n=> 3\n\n_('2.556').toNumber(1)\n=> 2.6\n```\n\n**strRight** _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRight('_')\n=> \"is_a_test_string\";\n```\n\n**strRightBack** _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRightBack('_')\n=> \"string\";\n```\n\n**strLeft** _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeft('_')\n=> \"This\";\n```\n\n**strLeftBack** _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeftBack('_')\n=> \"This_is_a_test\";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_('a link').stripTags()\n=> 'a link'\n\n_('a link').stripTags()\n=> 'a linkalert(\"hello world!\")'\n```\n\n**toSentence** _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools and Prototype';\n\n_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ')\n=> 'jQuery, Mootools unt Prototype';\n```\n\n**toSentenceSerial** _.toSentenceSerial(array, [delimiter, lastDelimiter])\n\nThe same as `toSentence`, but adjusts delimeters to use [Serial comma](http://en.wikipedia.org/wiki/Serial_comma).\n\n```javascript\n_.toSentenceSerial(['jQuery', 'Mootools'])\n=> 'jQuery and Mootools';\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools, and Prototype'\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ');\n=> 'jQuery, Mootools, unt Prototype';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat(\"foo\", 3)\n=> 'foofoofoo';\n\n_.repeat(\"foo\", 3, \"bar\")\n=> 'foobarfoobarfoo'\n```\n\n**surround** _.surround(string, wrap)\n\nSurround a string with another string.\n\n```javascript\n_.surround(\"foo\", \"ab\")\n=> 'abfooab';\n```\n\n**quote** _.quote(string, quoteChar) or _.q(string, quoteChar)\n\nQuotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.quote('foo', quoteChar)\n=> '\"foo\"';\n```\n**unquote** _.unquote(string, quoteChar)\n\nUnquotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.unquote('\"foo\"')\n=> 'foo';\n_.unquote(\"'foo'\", \"'\")\n=> 'foo';\n```\n\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify(\"Un éléphant à l'orée du bois\")\n=> 'un-elephant-a-loree-du-bois';\n```\n\n***Caution: this function is charset dependent***\n\n**naturalCmp** array.sort(_.naturalCmp)\n\nNaturally sort strings like humans would do.\n\n```javascript\n['foo20', 'foo5'].sort(_.naturalCmp)\n=> [ 'foo5', 'foo20' ]\n```\n\n**toBoolean** _.toBoolean(string) or _.toBool(string)\n\nTurn strings that can be commonly considered as booleas to real booleans. Such as \"true\", \"false\", \"1\" and \"0\". This function is case insensitive.\n\n```javascript\n_.toBoolean(\"true\")\n=> true\n_.toBoolean(\"FALSE\")\n=> false\n_.toBoolean(\"random\")\n=> undefined\n```\n\nIt can be customized by giving arrays of truth and falsy value matcher as parameters. Matchers can be also RegExp objects.\n\n```javascript\n_.toBoolean(\"truthy\", [\"truthy\"], [\"falsy\"])\n=> true\n_.toBoolean(\"true only at start\", [/^true/])\n=> true\n```\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_('foobar').include('bar')` aren't available;\n* Chaining isn't available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n includeString: _.str.include,\n reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_('foobar').chain().reverseString().includeString('rab').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n\n## Changelog ##\n\n### 2.3.3 ###\n\n* Add `toBoolean`\n* Add `unquote`\n* Add quote char option to `quote`\n* Support dash-separated words in `titleize`\n\n### 2.3.2 ###\n\n* Add `naturalCmp`\n* Bug fix to `camelize`\n* Add ă, ș, ț and ś to `slugify`\n* Doc updates\n* Add support for [component](http://component.io/)\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.1...v2.3.2)\n\n### 2.3.1 ###\n\n* Bug fixes to `escapeHTML`, `classify`, `substr`\n* Faster `count`\n* Documentation fixes\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.0...v2.3.1)\n\n### 2.3.0 ###\n\n* Added `numberformat` method\n* Added `levenshtein` method (Levenshtein distance calculation)\n* Added `swapCase` method\n* Changed default behavior of `words` method\n* Added `toSentenceSerial` method\n* Added `surround` and `quote` methods\n\n### 2.2.1 ###\n\n* Same as 2.2.0 (2.2.0rc on npm) to fix some npm drama\n\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible)\n* Removed 'reverse' function, because this function override underscore.js 'reverse'\n\n## Contribute ##\n\n* Fork & pull request. Don't forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n[Can be found here](https://github.com/epeli/underscore.string/graphs/contributors).\n\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n", + "readmeFilename": "README.markdown", + "_id": "underscore.string@2.3.3", + "_from": "underscore.string@~2.3.1" +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js new file mode 100644 index 0000000..44a2167 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js @@ -0,0 +1,45 @@ +function waitFor(test, complete, timeout) { + var result, start = new Date().getTime() + setInterval(function interval() { + if ((new Date().getTime() - start < timeout) && !result) { + result = test() + } else { + if (!result) { + phantom.exit(1) + } else { + complete() + clearInterval(interval) + } + } + }, 100) +} + + +var fs = require('fs'), page = require('webpage').create(); +var url = 'file://localhost' + fs.workingDirectory + '/' + phantom.args[0]; + +page.onConsoleMessage = function(msg) { + console.log(msg) +} + +page.open(url, function(status) { + waitFor(function() { + return page.evaluate(function(){ + var el = document.getElementById('qunit-testresult') + return el && el.innerText.match('completed') + }) + }, function() { + var failures = page.evaluate(function() { + var el = document.getElementById('qunit-testresult'), + fails = document.getElementsByClassName('fail') + + for (var i = 0; i < fails.length; i++) + console.log(fails[i].innerText) + + console.log(el.innerText) + + return parseInt(el.getElementsByClassName('failed')[0].innerHTML) + }) + phantom.exit(failures > 0 ? 1 : 0) + }, 10000) +}) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js new file mode 100644 index 0000000..9ceeea7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js @@ -0,0 +1,148 @@ +(function() { + + JSLitmus.test('levenshtein', function() { + return [ + _.levenshtein('pineapple', 'potato'), + _.levenshtein('seven', 'eight'), + _.levenshtein('the very same string', 'the very same string'), + _.levenshtein('very very very long string', 'something completely different') + ]; + }); + + + JSLitmus.test('trimNoNative', function() { + return _.trim(" foobar ", " "); + }); + + JSLitmus.test('trim', function() { + return _.trim(" foobar "); + }); + + JSLitmus.test('trim object-oriented', function() { + return _(" foobar ").trim(); + }); + + JSLitmus.test('trim jQuery', function() { + return jQuery.trim(" foobar "); + }); + + JSLitmus.test('ltrimp', function() { + return _.ltrim(" foobar ", " "); + }); + + JSLitmus.test('rtrimp', function() { + return _.rtrim(" foobar ", " "); + }); + + JSLitmus.test('startsWith', function() { + return _.startsWith("foobar", "foo"); + }); + + JSLitmus.test('endsWith', function() { + return _.endsWith("foobar", "xx"); + }); + + JSLitmus.test('chop', function(){ + return _('whitespace').chop(2); + }); + + JSLitmus.test('count', function(){ + return _('Hello worls').count('l'); + }); + + JSLitmus.test('insert', function() { + return _('Hello ').insert(6, 'world'); + }); + + JSLitmus.test('splice', function() { + return _('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'); + }); + + JSLitmus.test('succ', function(){ + var let = 'a', alphabet = []; + + for (var i=0; i < 26; i++) { + alphabet.push(let); + let = _(let).succ(); + } + + return alphabet; + }); + + JSLitmus.test('titleize', function(){ + return _('the titleize string method').titleize(); + }); + + JSLitmus.test('truncate', function(){ + return _('Hello world').truncate(5); + }); + + JSLitmus.test('prune', function(){ + return _('Hello world').prune(5); + }); + + JSLitmus.test('isBlank', function(){ + return _('').isBlank(); + }); + + JSLitmus.test('escapeHTML', function(){ + _('
        Blah blah blah
        ').escapeHTML(); + }); + + JSLitmus.test('unescapeHTML', function(){ + _('<div>Blah blah blah</div>').unescapeHTML(); + }); + + JSLitmus.test('reverse', function(){ + _('Hello World').reverse(); + }); + + JSLitmus.test('pad default', function(){ + _('foo').pad(12); + }); + + JSLitmus.test('pad hash left', function(){ + _('foo').pad(12, '#'); + }); + + JSLitmus.test('pad hash right', function(){ + _('foo').pad(12, '#', 'right'); + }); + + JSLitmus.test('pad hash both', function(){ + _('foo').pad(12, '#', 'both'); + }); + + JSLitmus.test('pad hash both longPad', function(){ + _('foo').pad(12, 'f00f00f00', 'both'); + }); + + JSLitmus.test('toNumber', function(){ + _('10.232323').toNumber(2); + }); + + JSLitmus.test('strRight', function(){ + _('aaa_bbb_ccc').strRight('_'); + }); + + JSLitmus.test('strRightBack', function(){ + _('aaa_bbb_ccc').strRightBack('_'); + }); + + JSLitmus.test('strLeft', function(){ + _('aaa_bbb_ccc').strLeft('_'); + }); + + JSLitmus.test('strLeftBack', function(){ + _('aaa_bbb_ccc').strLeftBack('_'); + }); + + JSLitmus.test('join', function(){ + _('separator').join(1, 2, 3, 4, 5, 6, 7, 8, 'foo', 'bar', 'lol', 'wut'); + }); + + JSLitmus.test('slugify', function(){ + _("Un éléphant à l'orée du bois").slugify(); + }); + +})(); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js new file mode 100644 index 0000000..77364f2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js @@ -0,0 +1,685 @@ +$(document).ready(function() { + + // Include Underscore.string methods to Underscore namespace + _.mixin(_.str.exports()); + + module('String extensions'); + + test('Strings: naturalSort', function() { + var arr = ['foo2', 'foo1', 'foo10', 'foo30', 'foo100', 'foo10bar'], + sorted = ['foo1', 'foo2', 'foo10', 'foo10bar', 'foo30', 'foo100']; + deepEqual(arr.sort(_.naturalCmp), sorted); + }); + + test('Strings: trim', function() { + equal(_.trim(123), '123', 'Non string'); + equal(_(' foo').trim(), 'foo'); + equal(_('foo ').trim(), 'foo'); + equal(_(' foo ').trim(), 'foo'); + equal(_(' foo ').trim(), 'foo'); + equal(_(' foo ').trim(' '), 'foo', 'Manually set whitespace'); + equal(_('\t foo \t ').trim(/\s/), 'foo', 'Manually set RegExp /\\s+/'); + + equal(_('ffoo').trim('f'), 'oo'); + equal(_('ooff').trim('f'), 'oo'); + equal(_('ffooff').trim('f'), 'oo'); + + + equal(_('_-foobar-_').trim('_-'), 'foobar'); + + equal(_('http://foo/').trim('/'), 'http://foo'); + equal(_('c:\\').trim('\\'), 'c:'); + + equal(_(123).trim(), '123'); + equal(_(123).trim(3), '12'); + equal(_('').trim(), '', 'Trim empty string should return empty string'); + equal(_(null).trim(), '', 'Trim null should return empty string'); + equal(_(undefined).trim(), '', 'Trim undefined should return empty string'); + }); + + test('String: levenshtein', function() { + equal(_.levenshtein('Godfather', 'Godfather'), 0); + equal(_.levenshtein('Godfather', 'Godfathe'), 1); + equal(_.levenshtein('Godfather', 'odfather'), 1); + equal(_.levenshtein('Godfather', 'Gdfthr'), 3); + equal(_.levenshtein('seven', 'eight'), 5); + equal(_.levenshtein('123', 123), 0); + equal(_.levenshtein(321, '321'), 0); + equal(_.levenshtein('lol', null), 3); + equal(_.levenshtein('lol'), 3); + equal(_.levenshtein(null, 'lol'), 3); + equal(_.levenshtein(undefined, 'lol'), 3); + equal(_.levenshtein(), 0); + }); + + test('Strings: ltrim', function() { + equal(_(' foo').ltrim(), 'foo'); + equal(_(' foo').ltrim(), 'foo'); + equal(_('foo ').ltrim(), 'foo '); + equal(_(' foo ').ltrim(), 'foo '); + equal(_('').ltrim(), '', 'ltrim empty string should return empty string'); + equal(_(null).ltrim(), '', 'ltrim null should return empty string'); + equal(_(undefined).ltrim(), '', 'ltrim undefined should return empty string'); + + equal(_('ffoo').ltrim('f'), 'oo'); + equal(_('ooff').ltrim('f'), 'ooff'); + equal(_('ffooff').ltrim('f'), 'ooff'); + + equal(_('_-foobar-_').ltrim('_-'), 'foobar-_'); + + equal(_(123).ltrim(1), '23'); + }); + + test('Strings: rtrim', function() { + equal(_('http://foo/').rtrim('/'), 'http://foo', 'clean trailing slash'); + equal(_(' foo').rtrim(), ' foo'); + equal(_('foo ').rtrim(), 'foo'); + equal(_('foo ').rtrim(), 'foo'); + equal(_('foo bar ').rtrim(), 'foo bar'); + equal(_(' foo ').rtrim(), ' foo'); + + equal(_('ffoo').rtrim('f'), 'ffoo'); + equal(_('ooff').rtrim('f'), 'oo'); + equal(_('ffooff').rtrim('f'), 'ffoo'); + + equal(_('_-foobar-_').rtrim('_-'), '_-foobar'); + + equal(_(123).rtrim(3), '12'); + equal(_('').rtrim(), '', 'rtrim empty string should return empty string'); + equal(_(null).rtrim(), '', 'rtrim null should return empty string'); + }); + + test('Strings: capitalize', function() { + equal(_('fabio').capitalize(), 'Fabio', 'First letter is upper case'); + equal(_.capitalize('fabio'), 'Fabio', 'First letter is upper case'); + equal(_.capitalize('FOO'), 'FOO', 'Other letters unchanged'); + equal(_(123).capitalize(), '123', 'Non string'); + equal(_.capitalize(''), '', 'Capitalizing empty string returns empty string'); + equal(_.capitalize(null), '', 'Capitalizing null returns empty string'); + equal(_.capitalize(undefined), '', 'Capitalizing undefined returns empty string'); + }); + + test('Strings: join', function() { + equal(_.join('', 'foo', 'bar'), 'foobar', 'basic join'); + equal(_.join('', 1, 'foo', 2), '1foo2', 'join numbers and strings'); + equal(_.join(' ','foo', 'bar'), 'foo bar', 'join with spaces'); + equal(_.join('1', '2', '2'), '212', 'join number strings'); + equal(_.join(1, 2, 2), '212', 'join numbers'); + equal(_.join('','foo', null), 'foo', 'join null with string returns string'); + equal(_.join(null,'foo', 'bar'), 'foobar', 'join strings with null returns string'); + equal(_(' ').join('foo', 'bar'), 'foo bar', 'join object oriented'); + }); + + test('Strings: reverse', function() { + equal(_.str.reverse('foo'), 'oof' ); + equal(_.str.reverse('foobar'), 'raboof' ); + equal(_.str.reverse('foo bar'), 'rab oof' ); + equal(_.str.reverse('saippuakauppias'), 'saippuakauppias' ); + equal(_.str.reverse(123), '321', 'Non string'); + equal(_.str.reverse(123.45), '54.321', 'Non string'); + equal(_.str.reverse(''), '', 'reversing empty string returns empty string' ); + equal(_.str.reverse(null), '', 'reversing null returns empty string' ); + equal(_.str.reverse(undefined), '', 'reversing undefined returns empty string' ); + }); + + test('Strings: clean', function() { + equal(_(' foo bar ').clean(), 'foo bar'); + equal(_(123).clean(), '123'); + equal(_('').clean(), '', 'claning empty string returns empty string'); + equal(_(null).clean(), '', 'claning null returns empty string'); + equal(_(undefined).clean(), '', 'claning undefined returns empty string'); + }); + + test('Strings: sprintf', function() { + // Should be very tested function already. Thanks to + // http://www.diveintojavascript.com/projects/sprintf-for-javascript + equal(_.sprintf('Hello %s', 'me'), 'Hello me', 'basic'); + equal(_('Hello %s').sprintf('me'), 'Hello me', 'object'); + equal(_('hello %s').chain().sprintf('me').capitalize().value(), 'Hello me', 'Chaining works'); + equal(_.sprintf('%.1f', 1.22222), '1.2', 'round'); + equal(_.sprintf('%.1f', 1.17), '1.2', 'round 2'); + equal(_.sprintf('%(id)d - %(name)s', {id: 824, name: 'Hello World'}), '824 - Hello World', 'Named replacements work'); + equal(_.sprintf('%(args[0].id)d - %(args[1].name)s', {args: [{id: 824}, {name: 'Hello World'}]}), '824 - Hello World', 'Named replacements with arrays work'); + }); + + + test('Strings: vsprintf', function() { + equal(_.vsprintf('Hello %s', ['me']), 'Hello me', 'basic'); + equal(_('Hello %s').vsprintf(['me']), 'Hello me', 'object'); + equal(_('hello %s').chain().vsprintf(['me']).capitalize().value(), 'Hello me', 'Chaining works'); + equal(_.vsprintf('%.1f', [1.22222]), '1.2', 'round'); + equal(_.vsprintf('%.1f', [1.17]), '1.2', 'round 2'); + equal(_.vsprintf('%(id)d - %(name)s', [{id: 824, name: 'Hello World'}]), '824 - Hello World', 'Named replacement works'); + equal(_.vsprintf('%(args[0].id)d - %(args[1].name)s', [{args: [{id: 824}, {name: 'Hello World'}]}]), '824 - Hello World', 'Named replacement with arrays works'); + }); + + test('Strings: startsWith', function() { + ok(_('foobar').startsWith('foo'), 'foobar starts with foo'); + ok(!_('oobar').startsWith('foo'), 'oobar does not start with foo'); + ok(_(12345).startsWith(123), '12345 starts with 123'); + ok(!_(2345).startsWith(123), '2345 does not start with 123'); + ok(_('').startsWith(''), 'empty string starts with empty string'); + ok(_(null).startsWith(''), 'null starts with empty string'); + ok(!_(null).startsWith('foo'), 'null starts with foo'); + }); + + test('Strings: endsWith', function() { + ok(_('foobar').endsWith('bar'), 'foobar ends with bar'); + ok(_.endsWith('foobar', 'bar'), 'foobar ends with bar'); + ok(_.endsWith('00018-0000062.Plone.sdh264.1a7264e6912a91aa4a81b64dc5517df7b8875994.mp4', 'mp4'), 'endsWith .mp4'); + ok(!_('fooba').endsWith('bar'), 'fooba does not end with bar'); + ok(_.endsWith(12345, 45), '12345 ends with 45'); + ok(!_.endsWith(12345, 6), '12345 does not end with 6'); + ok(_('').endsWith(''), 'empty string ends with empty string'); + ok(_(null).endsWith(''), 'null ends with empty string'); + ok(!_(null).endsWith('foo'), 'null ends with foo'); + }); + + test('Strings: include', function() { + ok(_.str.include('foobar', 'bar'), 'foobar includes bar'); + ok(!_.str.include('foobar', 'buzz'), 'foobar does not includes buzz'); + ok(_.str.include(12345, 34), '12345 includes 34'); + ok(!_.str.contains(12345, 6), '12345 does not includes 6'); + ok(!_.str.include('', 34), 'empty string includes 34'); + ok(!_.str.include(null, 34), 'null includes 34'); + ok(_.str.include(null, ''), 'null includes empty string'); + }); + + test('String: chop', function(){ + ok(_('whitespace').chop(2).length === 5, 'output [wh, it, es, pa, ce]'); + ok(_('whitespace').chop(3).length === 4, 'output [whi, tes, pac, e]'); + ok(_('whitespace').chop()[0].length === 10, 'output [whitespace]'); + ok(_(12345).chop(1).length === 5, 'output [1, 2, 3, 4, 5]'); + }); + + test('String: clean', function(){ + equal(_.clean(' foo bar '), 'foo bar'); + equal(_.clean(''), ''); + equal(_.clean(null), ''); + equal(_.clean(1), '1'); + }); + + test('String: count', function(){ + equal(_('Hello world').count('l'), 3); + equal(_('Hello world').count('Hello'), 1); + equal(_('Hello world').count('foo'), 0); + equal(_('x.xx....x.x').count('x'), 5); + equal(_('').count('x'), 0); + equal(_(null).count('x'), 0); + equal(_(undefined).count('x'), 0); + equal(_(12345).count(1), 1); + equal(_(11345).count(1), 2); + }); + + test('String: insert', function(){ + equal(_('Hello ').insert(6, 'Jessy'), 'Hello Jessy'); + equal(_('Hello ').insert(100, 'Jessy'), 'Hello Jessy'); + equal(_('').insert(100, 'Jessy'), 'Jessy'); + equal(_(null).insert(100, 'Jessy'), 'Jessy'); + equal(_(undefined).insert(100, 'Jessy'), 'Jessy'); + equal(_(12345).insert(6, 'Jessy'), '12345Jessy'); + }); + + test('String: splice', function(){ + equal(_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'), + 'https://edtsech@bitbucket.org/epeli/underscore.strings'); + equal(_.splice(12345, 1, 2, 321), '132145', 'Non strings'); + }); + + test('String: succ', function(){ + equal(_('a').succ(), 'b'); + equal(_('A').succ(), 'B'); + equal(_('+').succ(), ','); + equal(_(1).succ(), '2'); + }); + + test('String: titleize', function(){ + equal(_('the titleize string method').titleize(), 'The Titleize String Method'); + equal(_('the titleize string method').titleize(), 'The Titleize String Method'); + equal(_('').titleize(), '', 'Titleize empty string returns empty string'); + equal(_(null).titleize(), '', 'Titleize null returns empty string'); + equal(_(undefined).titleize(), '', 'Titleize undefined returns empty string'); + equal(_('let\'s have some fun').titleize(), 'Let\'s Have Some Fun'); + equal(_('a-dash-separated-string').titleize(), 'A-Dash-Separated-String'); + equal(_('A-DASH-SEPARATED-STRING').titleize(), 'A-Dash-Separated-String'); + equal(_(123).titleize(), '123'); + }); + + test('String: camelize', function(){ + equal(_('the_camelize_string_method').camelize(), 'theCamelizeStringMethod'); + equal(_('-the-camelize-string-method').camelize(), 'TheCamelizeStringMethod'); + equal(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); + equal(_(' the camelize string method').camelize(), 'theCamelizeStringMethod'); + equal(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); + equal(_('').camelize(), '', 'Camelize empty string returns empty string'); + equal(_(null).camelize(), '', 'Camelize null returns empty string'); + equal(_(undefined).camelize(), '', 'Camelize undefined returns empty string'); + equal(_(123).camelize(), '123'); + }); + + test('String: underscored', function(){ + equal(_('the-underscored-string-method').underscored(), 'the_underscored_string_method'); + equal(_('theUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); + equal(_('TheUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); + equal(_(' the underscored string method').underscored(), 'the_underscored_string_method'); + equal(_('').underscored(), ''); + equal(_(null).underscored(), ''); + equal(_(undefined).underscored(), ''); + equal(_(123).underscored(), '123'); + }); + + test('String: dasherize', function(){ + equal(_('the_dasherize_string_method').dasherize(), 'the-dasherize-string-method'); + equal(_('TheDasherizeStringMethod').dasherize(), '-the-dasherize-string-method'); + equal(_('thisIsATest').dasherize(), 'this-is-a-test'); + equal(_('this Is A Test').dasherize(), 'this-is-a-test'); + equal(_('thisIsATest123').dasherize(), 'this-is-a-test123'); + equal(_('123thisIsATest').dasherize(), '123this-is-a-test'); + equal(_('the dasherize string method').dasherize(), 'the-dasherize-string-method'); + equal(_('the dasherize string method ').dasherize(), 'the-dasherize-string-method'); + equal(_('téléphone').dasherize(), 'téléphone'); + equal(_('foo$bar').dasherize(), 'foo$bar'); + equal(_('').dasherize(), ''); + equal(_(null).dasherize(), ''); + equal(_(undefined).dasherize(), ''); + equal(_(123).dasherize(), '123'); + }); + + test('String: camelize', function(){ + equal(_.camelize('-moz-transform'), 'MozTransform'); + equal(_.camelize('webkit-transform'), 'webkitTransform'); + equal(_.camelize('under_scored'), 'underScored'); + equal(_.camelize(' with spaces'), 'withSpaces'); + equal(_('').camelize(), ''); + equal(_(null).camelize(), ''); + equal(_(undefined).camelize(), ''); + equal(_("_som eWeird---name-").camelize(), 'SomEWeirdName'); + }); + + test('String: join', function(){ + equal(_.join(1, 2, 3, 4), '21314'); + equal(_.join('|', 'foo', 'bar', 'baz'), 'foo|bar|baz'); + equal(_.join('',2,3,null), '23'); + equal(_.join(null,2,3), '23'); + }); + + test('String: classify', function(){ + equal(_.classify(1), '1'); + equal(_('some_class_name').classify(), 'SomeClassName'); + equal(_('my wonderfull class_name').classify(), 'MyWonderfullClassName'); + equal(_('my wonderfull.class.name').classify(), 'MyWonderfullClassName'); + }); + + test('String: humanize', function(){ + equal(_('the_humanize_string_method').humanize(), 'The humanize string method'); + equal(_('ThehumanizeStringMethod').humanize(), 'Thehumanize string method'); + equal(_('the humanize string method').humanize(), 'The humanize string method'); + equal(_('the humanize_id string method_id').humanize(), 'The humanize id string method'); + equal(_('the humanize string method ').humanize(), 'The humanize string method'); + equal(_(' capitalize dash-CamelCase_underscore trim ').humanize(), 'Capitalize dash camel case underscore trim'); + equal(_(123).humanize(), '123'); + equal(_('').humanize(), ''); + equal(_(null).humanize(), ''); + equal(_(undefined).humanize(), ''); + }); + + test('String: truncate', function(){ + equal(_('Hello world').truncate(6, 'read more'), 'Hello read more'); + equal(_('Hello world').truncate(5), 'Hello...'); + equal(_('Hello').truncate(10), 'Hello'); + equal(_('').truncate(10), ''); + equal(_(null).truncate(10), ''); + equal(_(undefined).truncate(10), ''); + equal(_(1234567890).truncate(5), '12345...'); + }); + + test('String: prune', function(){ + equal(_('Hello, cruel world').prune(6, ' read more'), 'Hello read more'); + equal(_('Hello, world').prune(5, 'read a lot more'), 'Hello, world'); + equal(_('Hello, world').prune(5), 'Hello...'); + equal(_('Hello, world').prune(8), 'Hello...'); + equal(_('Hello, cruel world').prune(15), 'Hello, cruel...'); + equal(_('Hello world').prune(22), 'Hello world'); + equal(_('Привет, жестокий мир').prune(6, ' read more'), 'Привет read more'); + equal(_('Привет, мир').prune(6, 'read a lot more'), 'Привет, мир'); + equal(_('Привет, мир').prune(6), 'Привет...'); + equal(_('Привет, мир').prune(8), 'Привет...'); + equal(_('Привет, жестокий мир').prune(16), 'Привет, жестокий...'); + equal(_('Привет, мир').prune(22), 'Привет, мир'); + equal(_('alksjd!!!!!!....').prune(100, ''), 'alksjd!!!!!!....'); + equal(_(123).prune(10), '123'); + equal(_(123).prune(1, 321), '321'); + equal(_('').prune(5), ''); + equal(_(null).prune(5), ''); + equal(_(undefined).prune(5), ''); + }); + + test('String: isBlank', function(){ + ok(_('').isBlank()); + ok(_(' ').isBlank()); + ok(_('\n').isBlank()); + ok(!_('a').isBlank()); + ok(!_('0').isBlank()); + ok(!_(0).isBlank()); + ok(_('').isBlank()); + ok(_(null).isBlank()); + ok(_(undefined).isBlank()); + }); + + test('String: escapeRegExp', function(){ + equal(_.escapeRegExp(/hello(?=\sworld)/.source), 'hello\\(\\?\\=\\\\sworld\\)', 'with lookahead'); + equal(_.escapeRegExp(/hello(?!\shell)/.source), 'hello\\(\\?\\!\\\\shell\\)', 'with negative lookahead'); + }); + + test('String: escapeHTML', function(){ + equal(_('
        Blah & "blah" & \'blah\'
        ').escapeHTML(), + '<div>Blah & "blah" & 'blah'</div>'); + equal(_('<').escapeHTML(), '&lt;'); + equal(_(5).escapeHTML(), '5'); + equal(_('').escapeHTML(), ''); + equal(_(null).escapeHTML(), ''); + equal(_(undefined).escapeHTML(), ''); + }); + + test('String: unescapeHTML', function(){ + equal(_('<div>Blah & "blah" & 'blah'</div>').unescapeHTML(), + '
        Blah & "blah" & \'blah\'
        '); + equal(_('&lt;').unescapeHTML(), '<'); + equal(_(''').unescapeHTML(), '\''); + equal(_(''').unescapeHTML(), '\''); + equal(_(''').unescapeHTML(), '\''); + equal(_('J').unescapeHTML(), 'J'); + equal(_('J').unescapeHTML(), 'J'); + equal(_('J').unescapeHTML(), 'J'); + equal(_('&_#39;').unescapeHTML(), '&_#39;'); + equal(_(''_;').unescapeHTML(), ''_;'); + equal(_('&#38;').unescapeHTML(), '&'); + equal(_('&amp;').unescapeHTML(), '&'); + equal(_('').unescapeHTML(), ''); + equal(_(null).unescapeHTML(), ''); + equal(_(undefined).unescapeHTML(), ''); + equal(_(5).unescapeHTML(), '5'); + // equal(_(undefined).unescapeHTML(), ''); + }); + + test('String: words', function() { + deepEqual(_('I love you!').words(), ['I', 'love', 'you!']); + deepEqual(_(' I love you! ').words(), ['I', 'love', 'you!']); + deepEqual(_('I_love_you!').words('_'), ['I', 'love', 'you!']); + deepEqual(_('I-love-you!').words(/-/), ['I', 'love', 'you!']); + deepEqual(_(123).words(), ['123'], '123 number has one word "123".'); + deepEqual(_(0).words(), ['0'], 'Zero number has one word "0".'); + deepEqual(_('').words(), [], 'Empty strings has no words.'); + deepEqual(_(' ').words(), [], 'Blank strings has no words.'); + deepEqual(_(null).words(), [], 'null has no words.'); + deepEqual(_(undefined).words(), [], 'undefined has no words.'); + }); + + test('String: chars', function() { + equal(_('Hello').chars().length, 5); + equal(_(123).chars().length, 3); + equal(_('').chars().length, 0); + equal(_(null).chars().length, 0); + equal(_(undefined).chars().length, 0); + }); + + test('String: swapCase', function(){ + equal(_('AaBbCcDdEe').swapCase(), 'aAbBcCdDeE'); + equal(_('Hello World').swapCase(), 'hELLO wORLD'); + equal(_('').swapCase(), ''); + equal(_(null).swapCase(), ''); + equal(_(undefined).swapCase(), ''); + }); + + test('String: lines', function() { + equal(_('Hello\nWorld').lines().length, 2); + equal(_('Hello World').lines().length, 1); + equal(_(123).lines().length, 1); + equal(_('').lines().length, 1); + equal(_(null).lines().length, 0); + equal(_(undefined).lines().length, 0); + }); + + test('String: pad', function() { + equal(_('1').pad(8), ' 1'); + equal(_(1).pad(8), ' 1'); + equal(_('1').pad(8, '0'), '00000001'); + equal(_('1').pad(8, '0', 'left'), '00000001'); + equal(_('1').pad(8, '0', 'right'), '10000000'); + equal(_('1').pad(8, '0', 'both'), '00001000'); + equal(_('foo').pad(8, '0', 'both'), '000foo00'); + equal(_('foo').pad(7, '0', 'both'), '00foo00'); + equal(_('foo').pad(7, '!@$%dofjrofj', 'both'), '!!foo!!'); + equal(_('').pad(2), ' '); + equal(_(null).pad(2), ' '); + equal(_(undefined).pad(2), ' '); + }); + + test('String: lpad', function() { + equal(_('1').lpad(8), ' 1'); + equal(_(1).lpad(8), ' 1'); + equal(_('1').lpad(8, '0'), '00000001'); + equal(_('1').lpad(8, '0', 'left'), '00000001'); + equal(_('').lpad(2), ' '); + equal(_(null).lpad(2), ' '); + equal(_(undefined).lpad(2), ' '); + }); + + test('String: rpad', function() { + equal(_('1').rpad(8), '1 '); + equal(_(1).lpad(8), ' 1'); + equal(_('1').rpad(8, '0'), '10000000'); + equal(_('foo').rpad(8, '0'), 'foo00000'); + equal(_('foo').rpad(7, '0'), 'foo0000'); + equal(_('').rpad(2), ' '); + equal(_(null).rpad(2), ' '); + equal(_(undefined).rpad(2), ' '); + }); + + test('String: lrpad', function() { + equal(_('1').lrpad(8), ' 1 '); + equal(_(1).lrpad(8), ' 1 '); + equal(_('1').lrpad(8, '0'), '00001000'); + equal(_('foo').lrpad(8, '0'), '000foo00'); + equal(_('foo').lrpad(7, '0'), '00foo00'); + equal(_('foo').lrpad(7, '!@$%dofjrofj'), '!!foo!!'); + equal(_('').lrpad(2), ' '); + equal(_(null).lrpad(2), ' '); + equal(_(undefined).lrpad(2), ' '); + }); + + test('String: toNumber', function() { + deepEqual(_('not a number').toNumber(), NaN); + equal(_(0).toNumber(), 0); + equal(_('0').toNumber(), 0); + equal(_('0.0').toNumber(), 0); + equal(_('0.1').toNumber(), 0); + equal(_('0.1').toNumber(1), 0.1); + equal(_(' 0.1 ').toNumber(1), 0.1); + equal(_('0000').toNumber(), 0); + equal(_('2.345').toNumber(), 2); + equal(_('2.345').toNumber(NaN), 2); + equal(_('2.345').toNumber(2), 2.35); + equal(_('2.344').toNumber(2), 2.34); + equal(_('2').toNumber(2), 2.00); + equal(_(2).toNumber(2), 2.00); + equal(_(-2).toNumber(), -2); + equal(_('-2').toNumber(), -2); + equal(_('').toNumber(), 0); + equal(_(null).toNumber(), 0); + equal(_(undefined).toNumber(), 0); + }); + + test('String: numberFormat', function() { + equal(_.numberFormat(9000), '9,000'); + equal(_.numberFormat(9000, 0), '9,000'); + equal(_.numberFormat(9000, 0, '', ''), '9000'); + equal(_.numberFormat(90000, 2), '90,000.00'); + equal(_.numberFormat(1000.754), '1,001'); + equal(_.numberFormat(1000.754, 2), '1,000.75'); + equal(_.numberFormat(1000.754, 0, ',', '.'), '1.001'); + equal(_.numberFormat(1000.754, 2, ',', '.'), '1.000,75'); + equal(_.numberFormat(1000000.754, 2, ',', '.'), '1.000.000,75'); + equal(_.numberFormat(1000000000), '1,000,000,000'); + equal(_.numberFormat(100000000), '100,000,000'); + equal(_.numberFormat('not number'), ''); + equal(_.numberFormat(), ''); + equal(_.numberFormat(null, '.', ','), ''); + equal(_.numberFormat(undefined, '.', ','), ''); + equal(_.numberFormat(new Number(5000)), '5,000'); + }); + + test('String: strRight', function() { + equal(_('This_is_a_test_string').strRight('_'), 'is_a_test_string'); + equal(_('This_is_a_test_string').strRight('string'), ''); + equal(_('This_is_a_test_string').strRight(), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strRight(''), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strRight('-'), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strRight(''), 'This_is_a_test_string'); + equal(_('').strRight('foo'), ''); + equal(_(null).strRight('foo'), ''); + equal(_(undefined).strRight('foo'), ''); + equal(_(12345).strRight(2), '345'); + }); + + test('String: strRightBack', function() { + equal(_('This_is_a_test_string').strRightBack('_'), 'string'); + equal(_('This_is_a_test_string').strRightBack('string'), ''); + equal(_('This_is_a_test_string').strRightBack(), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strRightBack(''), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strRightBack('-'), 'This_is_a_test_string'); + equal(_('').strRightBack('foo'), ''); + equal(_(null).strRightBack('foo'), ''); + equal(_(undefined).strRightBack('foo'), ''); + equal(_(12345).strRightBack(2), '345'); + }); + + test('String: strLeft', function() { + equal(_('This_is_a_test_string').strLeft('_'), 'This'); + equal(_('This_is_a_test_string').strLeft('This'), ''); + equal(_('This_is_a_test_string').strLeft(), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strLeft(''), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strLeft('-'), 'This_is_a_test_string'); + equal(_('').strLeft('foo'), ''); + equal(_(null).strLeft('foo'), ''); + equal(_(undefined).strLeft('foo'), ''); + equal(_(123454321).strLeft(3), '12'); + }); + + test('String: strLeftBack', function() { + equal(_('This_is_a_test_string').strLeftBack('_'), 'This_is_a_test'); + equal(_('This_is_a_test_string').strLeftBack('This'), ''); + equal(_('This_is_a_test_string').strLeftBack(), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strLeftBack(''), 'This_is_a_test_string'); + equal(_('This_is_a_test_string').strLeftBack('-'), 'This_is_a_test_string'); + equal(_('').strLeftBack('foo'), ''); + equal(_(null).strLeftBack('foo'), ''); + equal(_(undefined).strLeftBack('foo'), ''); + equal(_(123454321).strLeftBack(3), '123454'); + }); + + test('Strings: stripTags', function() { + equal(_('a link').stripTags(), 'a link'); + equal(_('a link + + + + + + + + +

        Underscore.string Test Suite

        +

        +

        +
          +
          +

          Underscore.string Speed Suite

          + +
          + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html new file mode 100644 index 0000000..9854c17 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html @@ -0,0 +1,18 @@ + + + + Underscore.strings Test Suite + + + + + + + + +

          Underscore.string Test Suite

          +

          +

          +
            + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js new file mode 100644 index 0000000..32252a3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js @@ -0,0 +1,200 @@ +$(document).ready(function() { + + module("Arrays"); + + test("first", function() { + equal(_.first([1,2,3]), 1, 'can pull out the first element of an array'); + equal(_([1, 2, 3]).first(), 1, 'can perform OO-style "first()"'); + equal(_.first([1,2,3], 0).join(', '), "", 'can pass an index to first'); + equal(_.first([1,2,3], 2).join(', '), '1, 2', 'can pass an index to first'); + equal(_.first([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to first'); + var result = (function(){ return _.first(arguments); })(4, 3, 2, 1); + equal(result, 4, 'works on an arguments object.'); + result = _.map([[1,2,3],[1,2,3]], _.first); + equal(result.join(','), '1,1', 'works well with _.map'); + result = (function() { return _.take([1,2,3], 2); })(); + equal(result.join(','), '1,2', 'aliased as take'); + + equal(_.first(null), undefined, 'handles nulls'); + }); + + test("rest", function() { + var numbers = [1, 2, 3, 4]; + equal(_.rest(numbers).join(", "), "2, 3, 4", 'working rest()'); + equal(_.rest(numbers, 0).join(", "), "1, 2, 3, 4", 'working rest(0)'); + equal(_.rest(numbers, 2).join(', '), '3, 4', 'rest can take an index'); + var result = (function(){ return _(arguments).tail(); })(1, 2, 3, 4); + equal(result.join(', '), '2, 3, 4', 'aliased as tail and works on arguments object'); + result = _.map([[1,2,3],[1,2,3]], _.rest); + equal(_.flatten(result).join(','), '2,3,2,3', 'works well with _.map'); + result = (function(){ return _(arguments).drop(); })(1, 2, 3, 4); + equal(result.join(', '), '2, 3, 4', 'aliased as drop and works on arguments object'); + }); + + test("initial", function() { + equal(_.initial([1,2,3,4,5]).join(", "), "1, 2, 3, 4", 'working initial()'); + equal(_.initial([1,2,3,4],2).join(", "), "1, 2", 'initial can take an index'); + var result = (function(){ return _(arguments).initial(); })(1, 2, 3, 4); + equal(result.join(", "), "1, 2, 3", 'initial works on arguments object'); + result = _.map([[1,2,3],[1,2,3]], _.initial); + equal(_.flatten(result).join(','), '1,2,1,2', 'initial works with _.map'); + }); + + test("last", function() { + equal(_.last([1,2,3]), 3, 'can pull out the last element of an array'); + equal(_.last([1,2,3], 0).join(', '), "", 'can pass an index to last'); + equal(_.last([1,2,3], 2).join(', '), '2, 3', 'can pass an index to last'); + equal(_.last([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to last'); + var result = (function(){ return _(arguments).last(); })(1, 2, 3, 4); + equal(result, 4, 'works on an arguments object'); + result = _.map([[1,2,3],[1,2,3]], _.last); + equal(result.join(','), '3,3', 'works well with _.map'); + + equal(_.last(null), undefined, 'handles nulls'); + }); + + test("compact", function() { + equal(_.compact([0, 1, false, 2, false, 3]).length, 3, 'can trim out all falsy values'); + var result = (function(){ return _(arguments).compact().length; })(0, 1, false, 2, false, 3); + equal(result, 3, 'works on an arguments object'); + }); + + test("flatten", function() { + if (window.JSON) { + var list = [1, [2], [3, [[[4]]]]]; + equal(JSON.stringify(_.flatten(list)), '[1,2,3,4]', 'can flatten nested arrays'); + equal(JSON.stringify(_.flatten(list, true)), '[1,2,3,[[[4]]]]', 'can shallowly flatten nested arrays'); + var result = (function(){ return _.flatten(arguments); })(1, [2], [3, [[[4]]]]); + equal(JSON.stringify(result), '[1,2,3,4]', 'works on an arguments object'); + } + }); + + test("without", function() { + var list = [1, 2, 1, 0, 3, 1, 4]; + equal(_.without(list, 0, 1).join(', '), '2, 3, 4', 'can remove all instances of an object'); + var result = (function(){ return _.without(arguments, 0, 1); })(1, 2, 1, 0, 3, 1, 4); + equal(result.join(', '), '2, 3, 4', 'works on an arguments object'); + + var list = [{one : 1}, {two : 2}]; + ok(_.without(list, {one : 1}).length == 2, 'uses real object identity for comparisons.'); + ok(_.without(list, list[0]).length == 1, 'ditto.'); + }); + + test("uniq", function() { + var list = [1, 2, 1, 3, 1, 4]; + equal(_.uniq(list).join(', '), '1, 2, 3, 4', 'can find the unique values of an unsorted array'); + + var list = [1, 1, 1, 2, 2, 3]; + equal(_.uniq(list, true).join(', '), '1, 2, 3', 'can find the unique values of a sorted array faster'); + + var list = [{name:'moe'}, {name:'curly'}, {name:'larry'}, {name:'curly'}]; + var iterator = function(value) { return value.name; }; + equal(_.map(_.uniq(list, false, iterator), iterator).join(', '), 'moe, curly, larry', 'can find the unique values of an array using a custom iterator'); + + var iterator = function(value) { return value +1; }; + var list = [1, 2, 2, 3, 4, 4]; + equal(_.uniq(list, true, iterator).join(', '), '1, 2, 3, 4', 'iterator works with sorted array'); + + var result = (function(){ return _.uniq(arguments); })(1, 2, 1, 3, 1, 4); + equal(result.join(', '), '1, 2, 3, 4', 'works on an arguments object'); + }); + + test("intersection", function() { + var stooges = ['moe', 'curly', 'larry'], leaders = ['moe', 'groucho']; + equal(_.intersection(stooges, leaders).join(''), 'moe', 'can take the set intersection of two arrays'); + equal(_(stooges).intersection(leaders).join(''), 'moe', 'can perform an OO-style intersection'); + var result = (function(){ return _.intersection(arguments, leaders); })('moe', 'curly', 'larry'); + equal(result.join(''), 'moe', 'works on an arguments object'); + }); + + test("union", function() { + var result = _.union([1, 2, 3], [2, 30, 1], [1, 40]); + equal(result.join(' '), '1 2 3 30 40', 'takes the union of a list of arrays'); + + var result = _.union([1, 2, 3], [2, 30, 1], [1, 40, [1]]); + equal(result.join(' '), '1 2 3 30 40 1', 'takes the union of a list of nested arrays'); + }); + + test("difference", function() { + var result = _.difference([1, 2, 3], [2, 30, 40]); + equal(result.join(' '), '1 3', 'takes the difference of two arrays'); + + var result = _.difference([1, 2, 3, 4], [2, 30, 40], [1, 11, 111]); + equal(result.join(' '), '3 4', 'takes the difference of three arrays'); + }); + + test('zip', function() { + var names = ['moe', 'larry', 'curly'], ages = [30, 40, 50], leaders = [true]; + var stooges = _.zip(names, ages, leaders); + equal(String(stooges), 'moe,30,true,larry,40,,curly,50,', 'zipped together arrays of different lengths'); + }); + + test('object', function() { + var result = _.object(['moe', 'larry', 'curly'], [30, 40, 50]); + var shouldBe = {moe: 30, larry: 40, curly: 50}; + ok(_.isEqual(result, shouldBe), 'two arrays zipped together into an object'); + + result = _.object([['one', 1], ['two', 2], ['three', 3]]); + shouldBe = {one: 1, two: 2, three: 3}; + ok(_.isEqual(result, shouldBe), 'an array of pairs zipped together into an object'); + + var stooges = {moe: 30, larry: 40, curly: 50}; + ok(_.isEqual(_.object(_.pairs(stooges)), stooges), 'an object converted to pairs and back to an object'); + + ok(_.isEqual(_.object(null), {}), 'handles nulls'); + }); + + test("indexOf", function() { + var numbers = [1, 2, 3]; + numbers.indexOf = null; + equal(_.indexOf(numbers, 2), 1, 'can compute indexOf, even without the native function'); + var result = (function(){ return _.indexOf(arguments, 2); })(1, 2, 3); + equal(result, 1, 'works on an arguments object'); + equal(_.indexOf(null, 2), -1, 'handles nulls properly'); + + var numbers = [10, 20, 30, 40, 50], num = 35; + var index = _.indexOf(numbers, num, true); + equal(index, -1, '35 is not in the list'); + + numbers = [10, 20, 30, 40, 50]; num = 40; + index = _.indexOf(numbers, num, true); + equal(index, 3, '40 is in the list'); + + numbers = [1, 40, 40, 40, 40, 40, 40, 40, 50, 60, 70]; num = 40; + index = _.indexOf(numbers, num, true); + equal(index, 1, '40 is in the list'); + + numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3]; + index = _.indexOf(numbers, 2, 5); + equal(index, 7, 'supports the fromIndex argument'); + }); + + test("lastIndexOf", function() { + var numbers = [1, 0, 1]; + equal(_.lastIndexOf(numbers, 1), 2); + + numbers = [1, 0, 1, 0, 0, 1, 0, 0, 0]; + numbers.lastIndexOf = null; + equal(_.lastIndexOf(numbers, 1), 5, 'can compute lastIndexOf, even without the native function'); + equal(_.lastIndexOf(numbers, 0), 8, 'lastIndexOf the other element'); + var result = (function(){ return _.lastIndexOf(arguments, 1); })(1, 0, 1, 0, 0, 1, 0, 0, 0); + equal(result, 5, 'works on an arguments object'); + equal(_.indexOf(null, 2), -1, 'handles nulls properly'); + + numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3]; + index = _.lastIndexOf(numbers, 2, 2); + equal(index, 1, 'supports the fromIndex argument'); + }); + + test("range", function() { + equal(_.range(0).join(''), '', 'range with 0 as a first argument generates an empty array'); + equal(_.range(4).join(' '), '0 1 2 3', 'range with a single positive argument generates an array of elements 0,1,2,...,n-1'); + equal(_.range(5, 8).join(' '), '5 6 7', 'range with two arguments a & b, a<b generates an array of elements a,a+1,a+2,...,b-2,b-1'); + equal(_.range(8, 5).join(''), '', 'range with two arguments a & b, b<a generates an empty array'); + equal(_.range(3, 10, 3).join(' '), '3 6 9', 'range with three arguments a & b & c, c < b-a, a < b generates an array of elements a,a+c,a+2c,...,b - (multiplier of a) < c'); + equal(_.range(3, 10, 15).join(''), '3', 'range with three arguments a & b & c, c > b-a, a < b generates an array with a single element, equal to a'); + equal(_.range(12, 7, -2).join(' '), '12 10 8', 'range with three arguments a & b & c, a > b, c < 0 generates an array of elements a,a-c,a-2c and ends with the number not less than b'); + equal(_.range(0, -10, -1).join(' '), '0 -1 -2 -3 -4 -5 -6 -7 -8 -9', 'final example in the Python docs'); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js new file mode 100644 index 0000000..16cf7bf --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js @@ -0,0 +1,59 @@ +$(document).ready(function() { + + module("Chaining"); + + test("map/flatten/reduce", function() { + var lyrics = [ + "I'm a lumberjack and I'm okay", + "I sleep all night and I work all day", + "He's a lumberjack and he's okay", + "He sleeps all night and he works all day" + ]; + var counts = _(lyrics).chain() + .map(function(line) { return line.split(''); }) + .flatten() + .reduce(function(hash, l) { + hash[l] = hash[l] || 0; + hash[l]++; + return hash; + }, {}).value(); + ok(counts['a'] == 16 && counts['e'] == 10, 'counted all the letters in the song'); + }); + + test("select/reject/sortBy", function() { + var numbers = [1,2,3,4,5,6,7,8,9,10]; + numbers = _(numbers).chain().select(function(n) { + return n % 2 == 0; + }).reject(function(n) { + return n % 4 == 0; + }).sortBy(function(n) { + return -n; + }).value(); + equal(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); + }); + + test("select/reject/sortBy in functional style", function() { + var numbers = [1,2,3,4,5,6,7,8,9,10]; + numbers = _.chain(numbers).select(function(n) { + return n % 2 == 0; + }).reject(function(n) { + return n % 4 == 0; + }).sortBy(function(n) { + return -n; + }).value(); + equal(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); + }); + + test("reverse/concat/unshift/pop/map", function() { + var numbers = [1,2,3,4,5]; + numbers = _(numbers).chain() + .reverse() + .concat([5, 5, 5]) + .unshift(17) + .pop() + .map(function(n){ return n * 2; }) + .value(); + equal(numbers.join(', '), "34, 10, 8, 6, 4, 2, 10, 10", 'can chain together array functions.'); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js new file mode 100644 index 0000000..e089626 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js @@ -0,0 +1,426 @@ +$(document).ready(function() { + + module("Collections"); + + test("each", function() { + _.each([1, 2, 3], function(num, i) { + equal(num, i + 1, 'each iterators provide value and iteration count'); + }); + + var answers = []; + _.each([1, 2, 3], function(num){ answers.push(num * this.multiplier);}, {multiplier : 5}); + equal(answers.join(', '), '5, 10, 15', 'context object property accessed'); + + answers = []; + _.forEach([1, 2, 3], function(num){ answers.push(num); }); + equal(answers.join(', '), '1, 2, 3', 'aliased as "forEach"'); + + answers = []; + var obj = {one : 1, two : 2, three : 3}; + obj.constructor.prototype.four = 4; + _.each(obj, function(value, key){ answers.push(key); }); + equal(answers.join(", "), 'one, two, three', 'iterating over objects works, and ignores the object prototype.'); + delete obj.constructor.prototype.four; + + answer = null; + _.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; }); + ok(answer, 'can reference the original collection from inside the iterator'); + + answers = 0; + _.each(null, function(){ ++answers; }); + equal(answers, 0, 'handles a null properly'); + }); + + test('map', function() { + var doubled = _.map([1, 2, 3], function(num){ return num * 2; }); + equal(doubled.join(', '), '2, 4, 6', 'doubled numbers'); + + doubled = _.collect([1, 2, 3], function(num){ return num * 2; }); + equal(doubled.join(', '), '2, 4, 6', 'aliased as "collect"'); + + var tripled = _.map([1, 2, 3], function(num){ return num * this.multiplier; }, {multiplier : 3}); + equal(tripled.join(', '), '3, 6, 9', 'tripled numbers with context'); + + var doubled = _([1, 2, 3]).map(function(num){ return num * 2; }); + equal(doubled.join(', '), '2, 4, 6', 'OO-style doubled numbers'); + + if (document.querySelectorAll) { + var ids = _.map(document.querySelectorAll('#map-test *'), function(n){ return n.id; }); + deepEqual(ids, ['id1', 'id2'], 'Can use collection methods on NodeLists.'); + } + + var ids = _.map($('#map-test').children(), function(n){ return n.id; }); + deepEqual(ids, ['id1', 'id2'], 'Can use collection methods on jQuery Array-likes.'); + + var ids = _.map(document.images, function(n){ return n.id; }); + ok(ids[0] == 'chart_image', 'can use collection methods on HTMLCollections'); + + var ifnull = _.map(null, function(){}); + ok(_.isArray(ifnull) && ifnull.length === 0, 'handles a null properly'); + }); + + test('reduce', function() { + var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }, 0); + equal(sum, 6, 'can sum up an array'); + + var context = {multiplier : 3}; + sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num * this.multiplier; }, 0, context); + equal(sum, 18, 'can reduce with a context object'); + + sum = _.inject([1, 2, 3], function(sum, num){ return sum + num; }, 0); + equal(sum, 6, 'aliased as "inject"'); + + sum = _([1, 2, 3]).reduce(function(sum, num){ return sum + num; }, 0); + equal(sum, 6, 'OO-style reduce'); + + var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }); + equal(sum, 6, 'default initial value'); + + var ifnull; + try { + _.reduce(null, function(){}); + } catch (ex) { + ifnull = ex; + } + ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); + + ok(_.reduce(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); + equal(_.reduce([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); + raises(function() { _.reduce([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); + }); + + test('reduceRight', function() { + var list = _.reduceRight(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); + equal(list, 'bazbarfoo', 'can perform right folds'); + + var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); + equal(list, 'bazbarfoo', 'aliased as "foldr"'); + + var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }); + equal(list, 'bazbarfoo', 'default initial value'); + + var ifnull; + try { + _.reduceRight(null, function(){}); + } catch (ex) { + ifnull = ex; + } + ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); + + var sum = _.reduceRight({a: 1, b: 2, c: 3}, function(sum, num){ return sum + num; }); + equal(sum, 6, 'default initial value on object'); + + ok(_.reduceRight(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); + + equal(_.reduceRight([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); + raises(function() { _.reduceRight([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); + + // Assert that the correct arguments are being passed. + + var args, + memo = {}, + object = {a: 1, b: 2}, + lastKey = _.keys(object).pop(); + + var expected = lastKey == 'a' + ? [memo, 1, 'a', object] + : [memo, 2, 'b', object]; + + _.reduceRight(object, function() { + args || (args = _.toArray(arguments)); + }, memo); + + deepEqual(args, expected); + + // And again, with numeric keys. + + object = {'2': 'a', '1': 'b'}; + lastKey = _.keys(object).pop(); + args = null; + + expected = lastKey == '2' + ? [memo, 'a', '2', object] + : [memo, 'b', '1', object]; + + _.reduceRight(object, function() { + args || (args = _.toArray(arguments)); + }, memo); + + deepEqual(args, expected); + }); + + test('find', function() { + var array = [1, 2, 3, 4]; + strictEqual(_.find(array, function(n) { return n > 2; }), 3, 'should return first found `value`'); + strictEqual(_.find(array, function() { return false; }), void 0, 'should return `undefined` if `value` is not found'); + }); + + test('detect', function() { + var result = _.detect([1, 2, 3], function(num){ return num * 2 == 4; }); + equal(result, 2, 'found the first "2" and broke the loop'); + }); + + test('select', function() { + var evens = _.select([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); + equal(evens.join(', '), '2, 4, 6', 'selected each even number'); + + evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); + equal(evens.join(', '), '2, 4, 6', 'aliased as "filter"'); + }); + + test('reject', function() { + var odds = _.reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); + equal(odds.join(', '), '1, 3, 5', 'rejected each even number'); + + var context = "obj"; + + var evens = _.reject([1, 2, 3, 4, 5, 6], function(num){ + equal(context, "obj"); + return num % 2 != 0; + }, context); + equal(evens.join(', '), '2, 4, 6', 'rejected each odd number'); + }); + + test('all', function() { + ok(_.all([], _.identity), 'the empty set'); + ok(_.all([true, true, true], _.identity), 'all true values'); + ok(!_.all([true, false, true], _.identity), 'one false value'); + ok(_.all([0, 10, 28], function(num){ return num % 2 == 0; }), 'even numbers'); + ok(!_.all([0, 11, 28], function(num){ return num % 2 == 0; }), 'an odd number'); + ok(_.all([1], _.identity) === true, 'cast to boolean - true'); + ok(_.all([0], _.identity) === false, 'cast to boolean - false'); + ok(_.every([true, true, true], _.identity), 'aliased as "every"'); + ok(!_.all([undefined, undefined, undefined], _.identity), 'works with arrays of undefined'); + }); + + test('any', function() { + var nativeSome = Array.prototype.some; + Array.prototype.some = null; + ok(!_.any([]), 'the empty set'); + ok(!_.any([false, false, false]), 'all false values'); + ok(_.any([false, false, true]), 'one true value'); + ok(_.any([null, 0, 'yes', false]), 'a string'); + ok(!_.any([null, 0, '', false]), 'falsy values'); + ok(!_.any([1, 11, 29], function(num){ return num % 2 == 0; }), 'all odd numbers'); + ok(_.any([1, 10, 29], function(num){ return num % 2 == 0; }), 'an even number'); + ok(_.any([1], _.identity) === true, 'cast to boolean - true'); + ok(_.any([0], _.identity) === false, 'cast to boolean - false'); + ok(_.some([false, false, true]), 'aliased as "some"'); + Array.prototype.some = nativeSome; + }); + + test('include', function() { + ok(_.include([1,2,3], 2), 'two is in the array'); + ok(!_.include([1,3,9], 2), 'two is not in the array'); + ok(_.contains({moe:1, larry:3, curly:9}, 3) === true, '_.include on objects checks their values'); + ok(_([1,2,3]).include(2), 'OO-style include'); + }); + + test('invoke', function() { + var list = [[5, 1, 7], [3, 2, 1]]; + var result = _.invoke(list, 'sort'); + equal(result[0].join(', '), '1, 5, 7', 'first array sorted'); + equal(result[1].join(', '), '1, 2, 3', 'second array sorted'); + }); + + test('invoke w/ function reference', function() { + var list = [[5, 1, 7], [3, 2, 1]]; + var result = _.invoke(list, Array.prototype.sort); + equal(result[0].join(', '), '1, 5, 7', 'first array sorted'); + equal(result[1].join(', '), '1, 2, 3', 'second array sorted'); + }); + + // Relevant when using ClojureScript + test('invoke when strings have a call method', function() { + String.prototype.call = function() { + return 42; + }; + var list = [[5, 1, 7], [3, 2, 1]]; + var s = "foo"; + equal(s.call(), 42, "call function exists"); + var result = _.invoke(list, 'sort'); + equal(result[0].join(', '), '1, 5, 7', 'first array sorted'); + equal(result[1].join(', '), '1, 2, 3', 'second array sorted'); + delete String.prototype.call; + equal(s.call, undefined, "call function removed"); + }); + + test('pluck', function() { + var people = [{name : 'moe', age : 30}, {name : 'curly', age : 50}]; + equal(_.pluck(people, 'name').join(', '), 'moe, curly', 'pulls names out of objects'); + }); + + test('where', function() { + var list = [{a: 1, b: 2}, {a: 2, b: 2}, {a: 1, b: 3}, {a: 1, b: 4}]; + var result = _.where(list, {a: 1}); + equal(result.length, 3); + equal(result[result.length - 1].b, 4); + result = _.where(list, {b: 2}); + equal(result.length, 2); + equal(result[0].a, 1); + }); + + test('max', function() { + equal(3, _.max([1, 2, 3]), 'can perform a regular Math.max'); + + var neg = _.max([1, 2, 3], function(num){ return -num; }); + equal(neg, 1, 'can perform a computation-based max'); + + equal(-Infinity, _.max({}), 'Maximum value of an empty object'); + equal(-Infinity, _.max([]), 'Maximum value of an empty array'); + + equal(299999, _.max(_.range(1,300000)), "Maximum value of a too-big array"); + }); + + test('min', function() { + equal(1, _.min([1, 2, 3]), 'can perform a regular Math.min'); + + var neg = _.min([1, 2, 3], function(num){ return -num; }); + equal(neg, 3, 'can perform a computation-based min'); + + equal(Infinity, _.min({}), 'Minimum value of an empty object'); + equal(Infinity, _.min([]), 'Minimum value of an empty array'); + + var now = new Date(9999999999); + var then = new Date(0); + equal(_.min([now, then]), then); + + equal(1, _.min(_.range(1,300000)), "Minimum value of a too-big array"); + }); + + test('sortBy', function() { + var people = [{name : 'curly', age : 50}, {name : 'moe', age : 30}]; + people = _.sortBy(people, function(person){ return person.age; }); + equal(_.pluck(people, 'name').join(', '), 'moe, curly', 'stooges sorted by age'); + + var list = [undefined, 4, 1, undefined, 3, 2]; + equal(_.sortBy(list, _.identity).join(','), '1,2,3,4,,', 'sortBy with undefined values'); + + var list = ["one", "two", "three", "four", "five"]; + var sorted = _.sortBy(list, 'length'); + equal(sorted.join(' '), 'one two four five three', 'sorted by length'); + + function Pair(x, y) { + this.x = x; + this.y = y; + } + + var collection = [ + new Pair(1, 1), new Pair(1, 2), + new Pair(1, 3), new Pair(1, 4), + new Pair(1, 5), new Pair(1, 6), + new Pair(2, 1), new Pair(2, 2), + new Pair(2, 3), new Pair(2, 4), + new Pair(2, 5), new Pair(2, 6), + new Pair(undefined, 1), new Pair(undefined, 2), + new Pair(undefined, 3), new Pair(undefined, 4), + new Pair(undefined, 5), new Pair(undefined, 6) + ]; + + var actual = _.sortBy(collection, function(pair) { + return pair.x; + }); + + deepEqual(actual, collection, 'sortBy should be stable'); + }); + + test('groupBy', function() { + var parity = _.groupBy([1, 2, 3, 4, 5, 6], function(num){ return num % 2; }); + ok('0' in parity && '1' in parity, 'created a group for each value'); + equal(parity[0].join(', '), '2, 4, 6', 'put each even number in the right group'); + + var list = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]; + var grouped = _.groupBy(list, 'length'); + equal(grouped['3'].join(' '), 'one two six ten'); + equal(grouped['4'].join(' '), 'four five nine'); + equal(grouped['5'].join(' '), 'three seven eight'); + + var context = {}; + _.groupBy([{}], function(){ ok(this === context); }, context); + + grouped = _.groupBy([4.2, 6.1, 6.4], function(num) { + return Math.floor(num) > 4 ? 'hasOwnProperty' : 'constructor'; + }); + equal(grouped.constructor.length, 1); + equal(grouped.hasOwnProperty.length, 2); + + var array = [{}]; + _.groupBy(array, function(value, index, obj){ ok(obj === array); }); + }); + + test('countBy', function() { + var parity = _.countBy([1, 2, 3, 4, 5], function(num){ return num % 2 == 0; }); + equal(parity['true'], 2); + equal(parity['false'], 3); + + var list = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]; + var grouped = _.countBy(list, 'length'); + equal(grouped['3'], 4); + equal(grouped['4'], 3); + equal(grouped['5'], 3); + + var context = {}; + _.countBy([{}], function(){ ok(this === context); }, context); + + grouped = _.countBy([4.2, 6.1, 6.4], function(num) { + return Math.floor(num) > 4 ? 'hasOwnProperty' : 'constructor'; + }); + equal(grouped.constructor, 1); + equal(grouped.hasOwnProperty, 2); + + var array = [{}]; + _.countBy(array, function(value, index, obj){ ok(obj === array); }); + }); + + test('sortedIndex', function() { + var numbers = [10, 20, 30, 40, 50], num = 35; + var indexForNum = _.sortedIndex(numbers, num); + equal(indexForNum, 3, '35 should be inserted at index 3'); + + var indexFor30 = _.sortedIndex(numbers, 30); + equal(indexFor30, 2, '30 should be inserted at index 2'); + + var objects = [{x: 10}, {x: 20}, {x: 30}, {x: 40}]; + var iterator = function(obj){ return obj.x; }; + strictEqual(_.sortedIndex(objects, {x: 25}, iterator), 2); + strictEqual(_.sortedIndex(objects, {x: 35}, 'x'), 3); + + var context = {1: 2, 2: 3, 3: 4}; + iterator = function(obj){ return this[obj]; }; + strictEqual(_.sortedIndex([1, 3], 2, iterator, context), 1); + }); + + test('shuffle', function() { + var numbers = _.range(10); + var shuffled = _.shuffle(numbers).sort(); + notStrictEqual(numbers, shuffled, 'original object is unmodified'); + equal(shuffled.join(','), numbers.join(','), 'contains the same members before and after shuffle'); + }); + + test('toArray', function() { + ok(!_.isArray(arguments), 'arguments object is not an array'); + ok(_.isArray(_.toArray(arguments)), 'arguments object converted into array'); + var a = [1,2,3]; + ok(_.toArray(a) !== a, 'array is cloned'); + equal(_.toArray(a).join(', '), '1, 2, 3', 'cloned array contains same elements'); + + var numbers = _.toArray({one : 1, two : 2, three : 3}); + equal(numbers.join(', '), '1, 2, 3', 'object flattened into array'); + }); + + test('size', function() { + equal(_.size({one : 1, two : 2, three : 3}), 3, 'can compute the size of an object'); + equal(_.size([1, 2, 3]), 3, 'can compute the size of an array'); + + var func = function() { + return _.size(arguments); + }; + + equal(func(1, 2, 3, 4), 4, 'can test the size of the arguments object'); + + equal(_.size('hello'), 5, 'can compute the size of a string'); + + equal(_.size(null), 0, 'handles nulls'); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js new file mode 100644 index 0000000..a529658 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js @@ -0,0 +1,259 @@ +$(document).ready(function() { + + module("Functions"); + + test("bind", function() { + var context = {name : 'moe'}; + var func = function(arg) { return "name: " + (this.name || arg); }; + var bound = _.bind(func, context); + equal(bound(), 'name: moe', 'can bind a function to a context'); + + bound = _(func).bind(context); + equal(bound(), 'name: moe', 'can do OO-style binding'); + + bound = _.bind(func, null, 'curly'); + equal(bound(), 'name: curly', 'can bind without specifying a context'); + + func = function(salutation, name) { return salutation + ': ' + name; }; + func = _.bind(func, this, 'hello'); + equal(func('moe'), 'hello: moe', 'the function was partially applied in advance'); + + var func = _.bind(func, this, 'curly'); + equal(func(), 'hello: curly', 'the function was completely applied in advance'); + + var func = function(salutation, firstname, lastname) { return salutation + ': ' + firstname + ' ' + lastname; }; + func = _.bind(func, this, 'hello', 'moe', 'curly'); + equal(func(), 'hello: moe curly', 'the function was partially applied in advance and can accept multiple arguments'); + + func = function(context, message) { equal(this, context, message); }; + _.bind(func, 0, 0, 'can bind a function to `0`')(); + _.bind(func, '', '', 'can bind a function to an empty string')(); + _.bind(func, false, false, 'can bind a function to `false`')(); + + // These tests are only meaningful when using a browser without a native bind function + // To test this with a modern browser, set underscore's nativeBind to undefined + var F = function () { return this; }; + var Boundf = _.bind(F, {hello: "moe curly"}); + equal(new Boundf().hello, undefined, "function should not be bound to the context, to comply with ECMAScript 5"); + equal(Boundf().hello, "moe curly", "When called without the new operator, it's OK to be bound to the context"); + }); + + test("bindAll", function() { + var curly = {name : 'curly'}, moe = { + name : 'moe', + getName : function() { return 'name: ' + this.name; }, + sayHi : function() { return 'hi: ' + this.name; } + }; + curly.getName = moe.getName; + _.bindAll(moe, 'getName', 'sayHi'); + curly.sayHi = moe.sayHi; + equal(curly.getName(), 'name: curly', 'unbound function is bound to current object'); + equal(curly.sayHi(), 'hi: moe', 'bound function is still bound to original object'); + + curly = {name : 'curly'}; + moe = { + name : 'moe', + getName : function() { return 'name: ' + this.name; }, + sayHi : function() { return 'hi: ' + this.name; } + }; + _.bindAll(moe); + curly.sayHi = moe.sayHi; + equal(curly.sayHi(), 'hi: moe', 'calling bindAll with no arguments binds all functions to the object'); + }); + + test("memoize", function() { + var fib = function(n) { + return n < 2 ? n : fib(n - 1) + fib(n - 2); + }; + var fastFib = _.memoize(fib); + equal(fib(10), 55, 'a memoized version of fibonacci produces identical results'); + equal(fastFib(10), 55, 'a memoized version of fibonacci produces identical results'); + + var o = function(str) { + return str; + }; + var fastO = _.memoize(o); + equal(o('toString'), 'toString', 'checks hasOwnProperty'); + equal(fastO('toString'), 'toString', 'checks hasOwnProperty'); + }); + + asyncTest("delay", 2, function() { + var delayed = false; + _.delay(function(){ delayed = true; }, 100); + setTimeout(function(){ ok(!delayed, "didn't delay the function quite yet"); }, 50); + setTimeout(function(){ ok(delayed, 'delayed the function'); start(); }, 150); + }); + + asyncTest("defer", 1, function() { + var deferred = false; + _.defer(function(bool){ deferred = bool; }, true); + _.delay(function(){ ok(deferred, "deferred the function"); start(); }, 50); + }); + + asyncTest("throttle", 2, function() { + var counter = 0; + var incr = function(){ counter++; }; + var throttledIncr = _.throttle(incr, 100); + throttledIncr(); throttledIncr(); throttledIncr(); + setTimeout(throttledIncr, 70); + setTimeout(throttledIncr, 120); + setTimeout(throttledIncr, 140); + setTimeout(throttledIncr, 190); + setTimeout(throttledIncr, 220); + setTimeout(throttledIncr, 240); + _.delay(function(){ equal(counter, 1, "incr was called immediately"); }, 30); + _.delay(function(){ equal(counter, 4, "incr was throttled"); start(); }, 400); + }); + + asyncTest("throttle arguments", 2, function() { + var value = 0; + var update = function(val){ value = val; }; + var throttledUpdate = _.throttle(update, 100); + throttledUpdate(1); throttledUpdate(2); throttledUpdate(3); + setTimeout(function(){ throttledUpdate(4); }, 120); + setTimeout(function(){ throttledUpdate(5); }, 140); + setTimeout(function(){ throttledUpdate(6); }, 250); + _.delay(function(){ equal(value, 1, "updated to latest value"); }, 40); + _.delay(function(){ equal(value, 6, "updated to latest value"); start(); }, 400); + }); + + asyncTest("throttle once", 2, function() { + var counter = 0; + var incr = function(){ return ++counter; }; + var throttledIncr = _.throttle(incr, 100); + var result = throttledIncr(); + _.delay(function(){ + equal(result, 1, "throttled functions return their value"); + equal(counter, 1, "incr was called once"); start(); + }, 220); + }); + + asyncTest("throttle twice", 1, function() { + var counter = 0; + var incr = function(){ counter++; }; + var throttledIncr = _.throttle(incr, 100); + throttledIncr(); throttledIncr(); + _.delay(function(){ equal(counter, 2, "incr was called twice"); start(); }, 220); + }); + + asyncTest("throttle repeatedly with results", 9, function() { + var counter = 0; + var incr = function(){ return ++counter; }; + var throttledIncr = _.throttle(incr, 100); + var results = []; + var saveResult = function() { results.push(throttledIncr()); }; + saveResult(); saveResult(); saveResult(); + setTimeout(saveResult, 70); + setTimeout(saveResult, 120); + setTimeout(saveResult, 140); + setTimeout(saveResult, 190); + setTimeout(saveResult, 240); + setTimeout(saveResult, 260); + _.delay(function() { + equal(results[0], 1, "incr was called once"); + equal(results[1], 1, "incr was throttled"); + equal(results[2], 1, "incr was throttled"); + equal(results[3], 1, "incr was throttled"); + equal(results[4], 2, "incr was called twice"); + equal(results[5], 2, "incr was throttled"); + equal(results[6], 2, "incr was throttled"); + equal(results[7], 3, "incr was called thrice"); + equal(results[8], 3, "incr was throttled"); + start(); + }, 400); + }); + + asyncTest("debounce", 1, function() { + var counter = 0; + var incr = function(){ counter++; }; + var debouncedIncr = _.debounce(incr, 50); + debouncedIncr(); debouncedIncr(); debouncedIncr(); + setTimeout(debouncedIncr, 30); + setTimeout(debouncedIncr, 60); + setTimeout(debouncedIncr, 90); + setTimeout(debouncedIncr, 120); + setTimeout(debouncedIncr, 150); + _.delay(function(){ equal(counter, 1, "incr was debounced"); start(); }, 220); + }); + + asyncTest("debounce asap", 5, function() { + var a, b, c; + var counter = 0; + var incr = function(){ return ++counter; }; + var debouncedIncr = _.debounce(incr, 50, true); + a = debouncedIncr(); + b = debouncedIncr(); + c = debouncedIncr(); + equal(a, 1); + equal(b, 1); + equal(c, 1); + equal(counter, 1, 'incr was called immediately'); + setTimeout(debouncedIncr, 30); + setTimeout(debouncedIncr, 60); + setTimeout(debouncedIncr, 90); + setTimeout(debouncedIncr, 120); + setTimeout(debouncedIncr, 150); + _.delay(function(){ equal(counter, 1, "incr was debounced"); start(); }, 220); + }); + + asyncTest("debounce asap recursively", 2, function() { + var counter = 0; + var debouncedIncr = _.debounce(function(){ + counter++; + if (counter < 5) debouncedIncr(); + }, 50, true); + debouncedIncr(); + equal(counter, 1, 'incr was called immediately'); + _.delay(function(){ equal(counter, 1, "incr was debounced"); start(); }, 70); + }); + + test("once", function() { + var num = 0; + var increment = _.once(function(){ num++; }); + increment(); + increment(); + equal(num, 1); + }); + + test("wrap", function() { + var greet = function(name){ return "hi: " + name; }; + var backwards = _.wrap(greet, function(func, name){ return func(name) + ' ' + name.split('').reverse().join(''); }); + equal(backwards('moe'), 'hi: moe eom', 'wrapped the saluation function'); + + var inner = function(){ return "Hello "; }; + var obj = {name : "Moe"}; + obj.hi = _.wrap(inner, function(fn){ return fn() + this.name; }); + equal(obj.hi(), "Hello Moe"); + + var noop = function(){}; + var wrapped = _.wrap(noop, function(fn){ return Array.prototype.slice.call(arguments, 0); }); + var ret = wrapped(['whats', 'your'], 'vector', 'victor'); + deepEqual(ret, [noop, ['whats', 'your'], 'vector', 'victor']); + }); + + test("compose", function() { + var greet = function(name){ return "hi: " + name; }; + var exclaim = function(sentence){ return sentence + '!'; }; + var composed = _.compose(exclaim, greet); + equal(composed('moe'), 'hi: moe!', 'can compose a function that takes another'); + + composed = _.compose(greet, exclaim); + equal(composed('moe'), 'hi: moe!', 'in this case, the functions are also commutative'); + }); + + test("after", function() { + var testAfter = function(afterAmount, timesCalled) { + var afterCalled = 0; + var after = _.after(afterAmount, function() { + afterCalled++; + }); + while (timesCalled--) after(); + return afterCalled; + }; + + equal(testAfter(5, 5), 1, "after(N) should fire after being called N times"); + equal(testAfter(5, 4), 0, "after(N) should not fire unless called N times"); + equal(testAfter(0, 0), 1, "after(0) should fire immediately"); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html new file mode 100644 index 0000000..064fa98 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html @@ -0,0 +1,45 @@ + + + + Underscore Test Suite + + + + + + + + + + + + + + + + +
            +
            +
            +
            +
            +
            +
            +
            +

            Underscore Speed Suite

            +

            + A representative sample of the functions are benchmarked here, to provide + a sense of how fast they might run in different browsers. + Each iteration runs on an array of 1000 elements.

            + For example, the 'intersection' test measures the number of times you can + find the intersection of two thousand-element arrays in one second. +

            +
            + + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js new file mode 100644 index 0000000..22949c3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js @@ -0,0 +1,548 @@ +$(document).ready(function() { + + module("Objects"); + + test("keys", function() { + equal(_.keys({one : 1, two : 2}).join(', '), 'one, two', 'can extract the keys from an object'); + // the test above is not safe because it relies on for-in enumeration order + var a = []; a[1] = 0; + equal(_.keys(a).join(', '), '1', 'is not fooled by sparse arrays; see issue #95'); + raises(function() { _.keys(null); }, TypeError, 'throws an error for `null` values'); + raises(function() { _.keys(void 0); }, TypeError, 'throws an error for `undefined` values'); + raises(function() { _.keys(1); }, TypeError, 'throws an error for number primitives'); + raises(function() { _.keys('a'); }, TypeError, 'throws an error for string primitives'); + raises(function() { _.keys(true); }, TypeError, 'throws an error for boolean primitives'); + }); + + test("values", function() { + equal(_.values({one: 1, two: 2}).join(', '), '1, 2', 'can extract the values from an object'); + equal(_.values({one: 1, two: 2, length: 3}).join(', '), '1, 2, 3', '... even when one of them is "length"'); + }); + + test("pairs", function() { + deepEqual(_.pairs({one: 1, two: 2}), [['one', 1], ['two', 2]], 'can convert an object into pairs'); + deepEqual(_.pairs({one: 1, two: 2, length: 3}), [['one', 1], ['two', 2], ['length', 3]], '... even when one of them is "length"'); + }); + + test("invert", function() { + var obj = {first: 'Moe', second: 'Larry', third: 'Curly'}; + equal(_.keys(_.invert(obj)).join(' '), 'Moe Larry Curly', 'can invert an object'); + ok(_.isEqual(_.invert(_.invert(obj)), obj), 'two inverts gets you back where you started'); + + var obj = {length: 3}; + ok(_.invert(obj)['3'] == 'length', 'can invert an object with "length"') + }); + + test("functions", function() { + var obj = {a : 'dash', b : _.map, c : (/yo/), d : _.reduce}; + ok(_.isEqual(['b', 'd'], _.functions(obj)), 'can grab the function names of any passed-in object'); + + var Animal = function(){}; + Animal.prototype.run = function(){}; + equal(_.functions(new Animal).join(''), 'run', 'also looks up functions on the prototype'); + }); + + test("extend", function() { + var result; + equal(_.extend({}, {a:'b'}).a, 'b', 'can extend an object with the attributes of another'); + equal(_.extend({a:'x'}, {a:'b'}).a, 'b', 'properties in source override destination'); + equal(_.extend({x:'x'}, {a:'b'}).x, 'x', 'properties not in source dont get overriden'); + result = _.extend({x:'x'}, {a:'a'}, {b:'b'}); + ok(_.isEqual(result, {x:'x', a:'a', b:'b'}), 'can extend from multiple source objects'); + result = _.extend({x:'x'}, {a:'a', x:2}, {a:'b'}); + ok(_.isEqual(result, {x:2, a:'b'}), 'extending from multiple source objects last property trumps'); + result = _.extend({}, {a: void 0, b: null}); + equal(_.keys(result).join(''), 'ab', 'extend does not copy undefined values'); + }); + + test("pick", function() { + var result; + result = _.pick({a:1, b:2, c:3}, 'a', 'c'); + ok(_.isEqual(result, {a:1, c:3}), 'can restrict properties to those named'); + result = _.pick({a:1, b:2, c:3}, ['b', 'c']); + ok(_.isEqual(result, {b:2, c:3}), 'can restrict properties to those named in an array'); + result = _.pick({a:1, b:2, c:3}, ['a'], 'b'); + ok(_.isEqual(result, {a:1, b:2}), 'can restrict properties to those named in mixed args'); + + var Obj = function(){}; + Obj.prototype = {a: 1, b: 2, c: 3}; + ok(_.isEqual(_.pick(new Obj, 'a', 'c'), {a:1, c: 3}), 'include prototype props'); + }); + + test("omit", function() { + var result; + result = _.omit({a:1, b:2, c:3}, 'b'); + ok(_.isEqual(result, {a:1, c:3}), 'can omit a single named property'); + result = _.omit({a:1, b:2, c:3}, 'a', 'c'); + ok(_.isEqual(result, {b:2}), 'can omit several named properties'); + result = _.omit({a:1, b:2, c:3}, ['b', 'c']); + ok(_.isEqual(result, {a:1}), 'can omit properties named in an array'); + + var Obj = function(){}; + Obj.prototype = {a: 1, b: 2, c: 3}; + ok(_.isEqual(_.omit(new Obj, 'b'), {a:1, c: 3}), 'include prototype props'); + }); + + test("defaults", function() { + var result; + var options = {zero: 0, one: 1, empty: "", nan: NaN, string: "string"}; + + _.defaults(options, {zero: 1, one: 10, twenty: 20}); + equal(options.zero, 0, 'value exists'); + equal(options.one, 1, 'value exists'); + equal(options.twenty, 20, 'default applied'); + + _.defaults(options, {empty: "full"}, {nan: "nan"}, {word: "word"}, {word: "dog"}); + equal(options.empty, "", 'value exists'); + ok(_.isNaN(options.nan), "NaN isn't overridden"); + equal(options.word, "word", 'new value is added, first one wins'); + }); + + test("clone", function() { + var moe = {name : 'moe', lucky : [13, 27, 34]}; + var clone = _.clone(moe); + equal(clone.name, 'moe', 'the clone as the attributes of the original'); + + clone.name = 'curly'; + ok(clone.name == 'curly' && moe.name == 'moe', 'clones can change shallow attributes without affecting the original'); + + clone.lucky.push(101); + equal(_.last(moe.lucky), 101, 'changes to deep attributes are shared with the original'); + + equal(_.clone(undefined), void 0, 'non objects should not be changed by clone'); + equal(_.clone(1), 1, 'non objects should not be changed by clone'); + equal(_.clone(null), null, 'non objects should not be changed by clone'); + }); + + test("isEqual", function() { + function First() { + this.value = 1; + } + First.prototype.value = 1; + function Second() { + this.value = 1; + } + Second.prototype.value = 2; + + // Basic equality and identity comparisons. + ok(_.isEqual(null, null), "`null` is equal to `null`"); + ok(_.isEqual(), "`undefined` is equal to `undefined`"); + + ok(!_.isEqual(0, -0), "`0` is not equal to `-0`"); + ok(!_.isEqual(-0, 0), "Commutative equality is implemented for `0` and `-0`"); + ok(!_.isEqual(null, undefined), "`null` is not equal to `undefined`"); + ok(!_.isEqual(undefined, null), "Commutative equality is implemented for `null` and `undefined`"); + + // String object and primitive comparisons. + ok(_.isEqual("Curly", "Curly"), "Identical string primitives are equal"); + ok(_.isEqual(new String("Curly"), new String("Curly")), "String objects with identical primitive values are equal"); + ok(_.isEqual(new String("Curly"), "Curly"), "String primitives and their corresponding object wrappers are equal"); + ok(_.isEqual("Curly", new String("Curly")), "Commutative equality is implemented for string objects and primitives"); + + ok(!_.isEqual("Curly", "Larry"), "String primitives with different values are not equal"); + ok(!_.isEqual(new String("Curly"), new String("Larry")), "String objects with different primitive values are not equal"); + ok(!_.isEqual(new String("Curly"), {toString: function(){ return "Curly"; }}), "String objects and objects with a custom `toString` method are not equal"); + + // Number object and primitive comparisons. + ok(_.isEqual(75, 75), "Identical number primitives are equal"); + ok(_.isEqual(new Number(75), new Number(75)), "Number objects with identical primitive values are equal"); + ok(_.isEqual(75, new Number(75)), "Number primitives and their corresponding object wrappers are equal"); + ok(_.isEqual(new Number(75), 75), "Commutative equality is implemented for number objects and primitives"); + ok(!_.isEqual(new Number(0), -0), "`new Number(0)` and `-0` are not equal"); + ok(!_.isEqual(0, new Number(-0)), "Commutative equality is implemented for `new Number(0)` and `-0`"); + + ok(!_.isEqual(new Number(75), new Number(63)), "Number objects with different primitive values are not equal"); + ok(!_.isEqual(new Number(63), {valueOf: function(){ return 63; }}), "Number objects and objects with a `valueOf` method are not equal"); + + // Comparisons involving `NaN`. + ok(_.isEqual(NaN, NaN), "`NaN` is equal to `NaN`"); + ok(!_.isEqual(61, NaN), "A number primitive is not equal to `NaN`"); + ok(!_.isEqual(new Number(79), NaN), "A number object is not equal to `NaN`"); + ok(!_.isEqual(Infinity, NaN), "`Infinity` is not equal to `NaN`"); + + // Boolean object and primitive comparisons. + ok(_.isEqual(true, true), "Identical boolean primitives are equal"); + ok(_.isEqual(new Boolean, new Boolean), "Boolean objects with identical primitive values are equal"); + ok(_.isEqual(true, new Boolean(true)), "Boolean primitives and their corresponding object wrappers are equal"); + ok(_.isEqual(new Boolean(true), true), "Commutative equality is implemented for booleans"); + ok(!_.isEqual(new Boolean(true), new Boolean), "Boolean objects with different primitive values are not equal"); + + // Common type coercions. + ok(!_.isEqual(true, new Boolean(false)), "Boolean objects are not equal to the boolean primitive `true`"); + ok(!_.isEqual("75", 75), "String and number primitives with like values are not equal"); + ok(!_.isEqual(new Number(63), new String(63)), "String and number objects with like values are not equal"); + ok(!_.isEqual(75, "75"), "Commutative equality is implemented for like string and number values"); + ok(!_.isEqual(0, ""), "Number and string primitives with like values are not equal"); + ok(!_.isEqual(1, true), "Number and boolean primitives with like values are not equal"); + ok(!_.isEqual(new Boolean(false), new Number(0)), "Boolean and number objects with like values are not equal"); + ok(!_.isEqual(false, new String("")), "Boolean primitives and string objects with like values are not equal"); + ok(!_.isEqual(12564504e5, new Date(2009, 9, 25)), "Dates and their corresponding numeric primitive values are not equal"); + + // Dates. + ok(_.isEqual(new Date(2009, 9, 25), new Date(2009, 9, 25)), "Date objects referencing identical times are equal"); + ok(!_.isEqual(new Date(2009, 9, 25), new Date(2009, 11, 13)), "Date objects referencing different times are not equal"); + ok(!_.isEqual(new Date(2009, 11, 13), { + getTime: function(){ + return 12606876e5; + } + }), "Date objects and objects with a `getTime` method are not equal"); + ok(!_.isEqual(new Date("Curly"), new Date("Curly")), "Invalid dates are not equal"); + + // Functions. + ok(!_.isEqual(First, Second), "Different functions with identical bodies and source code representations are not equal"); + + // RegExps. + ok(_.isEqual(/(?:)/gim, /(?:)/gim), "RegExps with equivalent patterns and flags are equal"); + ok(!_.isEqual(/(?:)/g, /(?:)/gi), "RegExps with equivalent patterns and different flags are not equal"); + ok(!_.isEqual(/Moe/gim, /Curly/gim), "RegExps with different patterns and equivalent flags are not equal"); + ok(!_.isEqual(/(?:)/gi, /(?:)/g), "Commutative equality is implemented for RegExps"); + ok(!_.isEqual(/Curly/g, {source: "Larry", global: true, ignoreCase: false, multiline: false}), "RegExps and RegExp-like objects are not equal"); + + // Empty arrays, array-like objects, and object literals. + ok(_.isEqual({}, {}), "Empty object literals are equal"); + ok(_.isEqual([], []), "Empty array literals are equal"); + ok(_.isEqual([{}], [{}]), "Empty nested arrays and objects are equal"); + ok(!_.isEqual({length: 0}, []), "Array-like objects and arrays are not equal."); + ok(!_.isEqual([], {length: 0}), "Commutative equality is implemented for array-like objects"); + + ok(!_.isEqual({}, []), "Object literals and array literals are not equal"); + ok(!_.isEqual([], {}), "Commutative equality is implemented for objects and arrays"); + + // Arrays with primitive and object values. + ok(_.isEqual([1, "Larry", true], [1, "Larry", true]), "Arrays containing identical primitives are equal"); + ok(_.isEqual([(/Moe/g), new Date(2009, 9, 25)], [(/Moe/g), new Date(2009, 9, 25)]), "Arrays containing equivalent elements are equal"); + + // Multi-dimensional arrays. + var a = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; + var b = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; + ok(_.isEqual(a, b), "Arrays containing nested arrays and objects are recursively compared"); + + // Overwrite the methods defined in ES 5.1 section 15.4.4. + a.forEach = a.map = a.filter = a.every = a.indexOf = a.lastIndexOf = a.some = a.reduce = a.reduceRight = null; + b.join = b.pop = b.reverse = b.shift = b.slice = b.splice = b.concat = b.sort = b.unshift = null; + + // Array elements and properties. + ok(_.isEqual(a, b), "Arrays containing equivalent elements and different non-numeric properties are equal"); + a.push("White Rocks"); + ok(!_.isEqual(a, b), "Arrays of different lengths are not equal"); + a.push("East Boulder"); + b.push("Gunbarrel Ranch", "Teller Farm"); + ok(!_.isEqual(a, b), "Arrays of identical lengths containing different elements are not equal"); + + // Sparse arrays. + ok(_.isEqual(Array(3), Array(3)), "Sparse arrays of identical lengths are equal"); + ok(!_.isEqual(Array(3), Array(6)), "Sparse arrays of different lengths are not equal when both are empty"); + + // Simple objects. + ok(_.isEqual({a: "Curly", b: 1, c: true}, {a: "Curly", b: 1, c: true}), "Objects containing identical primitives are equal"); + ok(_.isEqual({a: /Curly/g, b: new Date(2009, 11, 13)}, {a: /Curly/g, b: new Date(2009, 11, 13)}), "Objects containing equivalent members are equal"); + ok(!_.isEqual({a: 63, b: 75}, {a: 61, b: 55}), "Objects of identical sizes with different values are not equal"); + ok(!_.isEqual({a: 63, b: 75}, {a: 61, c: 55}), "Objects of identical sizes with different property names are not equal"); + ok(!_.isEqual({a: 1, b: 2}, {a: 1}), "Objects of different sizes are not equal"); + ok(!_.isEqual({a: 1}, {a: 1, b: 2}), "Commutative equality is implemented for objects"); + ok(!_.isEqual({x: 1, y: undefined}, {x: 1, z: 2}), "Objects with identical keys and different values are not equivalent"); + + // `A` contains nested objects and arrays. + a = { + name: new String("Moe Howard"), + age: new Number(77), + stooge: true, + hobbies: ["acting"], + film: { + name: "Sing a Song of Six Pants", + release: new Date(1947, 9, 30), + stars: [new String("Larry Fine"), "Shemp Howard"], + minutes: new Number(16), + seconds: 54 + } + }; + + // `B` contains equivalent nested objects and arrays. + b = { + name: new String("Moe Howard"), + age: new Number(77), + stooge: true, + hobbies: ["acting"], + film: { + name: "Sing a Song of Six Pants", + release: new Date(1947, 9, 30), + stars: [new String("Larry Fine"), "Shemp Howard"], + minutes: new Number(16), + seconds: 54 + } + }; + ok(_.isEqual(a, b), "Objects with nested equivalent members are recursively compared"); + + // Instances. + ok(_.isEqual(new First, new First), "Object instances are equal"); + ok(!_.isEqual(new First, new Second), "Objects with different constructors and identical own properties are not equal"); + ok(!_.isEqual({value: 1}, new First), "Object instances and objects sharing equivalent properties are not equal"); + ok(!_.isEqual({value: 2}, new Second), "The prototype chain of objects should not be examined"); + + // Circular Arrays. + (a = []).push(a); + (b = []).push(b); + ok(_.isEqual(a, b), "Arrays containing circular references are equal"); + a.push(new String("Larry")); + b.push(new String("Larry")); + ok(_.isEqual(a, b), "Arrays containing circular references and equivalent properties are equal"); + a.push("Shemp"); + b.push("Curly"); + ok(!_.isEqual(a, b), "Arrays containing circular references and different properties are not equal"); + + // More circular arrays #767. + a = ["everything is checked but", "this", "is not"]; + a[1] = a; + b = ["everything is checked but", ["this", "array"], "is not"]; + ok(!_.isEqual(a, b), "Comparison of circular references with non-circular references are not equal"); + + // Circular Objects. + a = {abc: null}; + b = {abc: null}; + a.abc = a; + b.abc = b; + ok(_.isEqual(a, b), "Objects containing circular references are equal"); + a.def = 75; + b.def = 75; + ok(_.isEqual(a, b), "Objects containing circular references and equivalent properties are equal"); + a.def = new Number(75); + b.def = new Number(63); + ok(!_.isEqual(a, b), "Objects containing circular references and different properties are not equal"); + + // More circular objects #767. + a = {everything: "is checked", but: "this", is: "not"}; + a.but = a; + b = {everything: "is checked", but: {that:"object"}, is: "not"}; + ok(!_.isEqual(a, b), "Comparison of circular references with non-circular object references are not equal"); + + // Cyclic Structures. + a = [{abc: null}]; + b = [{abc: null}]; + (a[0].abc = a).push(a); + (b[0].abc = b).push(b); + ok(_.isEqual(a, b), "Cyclic structures are equal"); + a[0].def = "Larry"; + b[0].def = "Larry"; + ok(_.isEqual(a, b), "Cyclic structures containing equivalent properties are equal"); + a[0].def = new String("Larry"); + b[0].def = new String("Curly"); + ok(!_.isEqual(a, b), "Cyclic structures containing different properties are not equal"); + + // Complex Circular References. + a = {foo: {b: {foo: {c: {foo: null}}}}}; + b = {foo: {b: {foo: {c: {foo: null}}}}}; + a.foo.b.foo.c.foo = a; + b.foo.b.foo.c.foo = b; + ok(_.isEqual(a, b), "Cyclic structures with nested and identically-named properties are equal"); + + // Chaining. + ok(!_.isEqual(_({x: 1, y: undefined}).chain(), _({x: 1, z: 2}).chain()), 'Chained objects containing different values are not equal'); + equal(_({x: 1, y: 2}).chain().isEqual(_({x: 1, y: 2}).chain()).value(), true, '`isEqual` can be chained'); + + // Custom `isEqual` methods. + var isEqualObj = {isEqual: function (o) { return o.isEqual == this.isEqual; }, unique: {}}; + var isEqualObjClone = {isEqual: isEqualObj.isEqual, unique: {}}; + + ok(_.isEqual(isEqualObj, isEqualObjClone), 'Both objects implement identical `isEqual` methods'); + ok(_.isEqual(isEqualObjClone, isEqualObj), 'Commutative equality is implemented for objects with custom `isEqual` methods'); + ok(!_.isEqual(isEqualObj, {}), 'Objects that do not implement equivalent `isEqual` methods are not equal'); + ok(!_.isEqual({}, isEqualObj), 'Commutative equality is implemented for objects with different `isEqual` methods'); + + // Objects from another frame. + ok(_.isEqual({}, iObject)); + }); + + test("isEmpty", function() { + ok(!_([1]).isEmpty(), '[1] is not empty'); + ok(_.isEmpty([]), '[] is empty'); + ok(!_.isEmpty({one : 1}), '{one : 1} is not empty'); + ok(_.isEmpty({}), '{} is empty'); + ok(_.isEmpty(new RegExp('')), 'objects with prototype properties are empty'); + ok(_.isEmpty(null), 'null is empty'); + ok(_.isEmpty(), 'undefined is empty'); + ok(_.isEmpty(''), 'the empty string is empty'); + ok(!_.isEmpty('moe'), 'but other strings are not'); + + var obj = {one : 1}; + delete obj.one; + ok(_.isEmpty(obj), 'deleting all the keys from an object empties it'); + }); + + // Setup remote variables for iFrame tests. + var iframe = document.createElement('iframe'); + jQuery(iframe).appendTo(document.body); + var iDoc = iframe.contentDocument || iframe.contentWindow.document; + iDoc.write( + "" + ); + iDoc.close(); + + test("isElement", function() { + ok(!_.isElement('div'), 'strings are not dom elements'); + ok(_.isElement($('html')[0]), 'the html tag is a DOM element'); + ok(_.isElement(iElement), 'even from another frame'); + }); + + test("isArguments", function() { + var args = (function(){ return arguments; })(1, 2, 3); + ok(!_.isArguments('string'), 'a string is not an arguments object'); + ok(!_.isArguments(_.isArguments), 'a function is not an arguments object'); + ok(_.isArguments(args), 'but the arguments object is an arguments object'); + ok(!_.isArguments(_.toArray(args)), 'but not when it\'s converted into an array'); + ok(!_.isArguments([1,2,3]), 'and not vanilla arrays.'); + ok(_.isArguments(iArguments), 'even from another frame'); + }); + + test("isObject", function() { + ok(_.isObject(arguments), 'the arguments object is object'); + ok(_.isObject([1, 2, 3]), 'and arrays'); + ok(_.isObject($('html')[0]), 'and DOM element'); + ok(_.isObject(iElement), 'even from another frame'); + ok(_.isObject(function () {}), 'and functions'); + ok(_.isObject(iFunction), 'even from another frame'); + ok(!_.isObject(null), 'but not null'); + ok(!_.isObject(undefined), 'and not undefined'); + ok(!_.isObject('string'), 'and not string'); + ok(!_.isObject(12), 'and not number'); + ok(!_.isObject(true), 'and not boolean'); + ok(_.isObject(new String('string')), 'but new String()'); + }); + + test("isArray", function() { + ok(!_.isArray(arguments), 'the arguments object is not an array'); + ok(_.isArray([1, 2, 3]), 'but arrays are'); + ok(_.isArray(iArray), 'even from another frame'); + }); + + test("isString", function() { + ok(!_.isString(document.body), 'the document body is not a string'); + ok(_.isString([1, 2, 3].join(', ')), 'but strings are'); + ok(_.isString(iString), 'even from another frame'); + }); + + test("isNumber", function() { + ok(!_.isNumber('string'), 'a string is not a number'); + ok(!_.isNumber(arguments), 'the arguments object is not a number'); + ok(!_.isNumber(undefined), 'undefined is not a number'); + ok(_.isNumber(3 * 4 - 7 / 10), 'but numbers are'); + ok(_.isNumber(NaN), 'NaN *is* a number'); + ok(_.isNumber(Infinity), 'Infinity is a number'); + ok(_.isNumber(iNumber), 'even from another frame'); + ok(!_.isNumber('1'), 'numeric strings are not numbers'); + }); + + test("isBoolean", function() { + ok(!_.isBoolean(2), 'a number is not a boolean'); + ok(!_.isBoolean("string"), 'a string is not a boolean'); + ok(!_.isBoolean("false"), 'the string "false" is not a boolean'); + ok(!_.isBoolean("true"), 'the string "true" is not a boolean'); + ok(!_.isBoolean(arguments), 'the arguments object is not a boolean'); + ok(!_.isBoolean(undefined), 'undefined is not a boolean'); + ok(!_.isBoolean(NaN), 'NaN is not a boolean'); + ok(!_.isBoolean(null), 'null is not a boolean'); + ok(_.isBoolean(true), 'but true is'); + ok(_.isBoolean(false), 'and so is false'); + ok(_.isBoolean(iBoolean), 'even from another frame'); + }); + + test("isFunction", function() { + ok(!_.isFunction([1, 2, 3]), 'arrays are not functions'); + ok(!_.isFunction('moe'), 'strings are not functions'); + ok(_.isFunction(_.isFunction), 'but functions are'); + ok(_.isFunction(iFunction), 'even from another frame'); + }); + + test("isDate", function() { + ok(!_.isDate(100), 'numbers are not dates'); + ok(!_.isDate({}), 'objects are not dates'); + ok(_.isDate(new Date()), 'but dates are'); + ok(_.isDate(iDate), 'even from another frame'); + }); + + test("isRegExp", function() { + ok(!_.isRegExp(_.identity), 'functions are not RegExps'); + ok(_.isRegExp(/identity/), 'but RegExps are'); + ok(_.isRegExp(iRegExp), 'even from another frame'); + }); + + test("isFinite", function() { + ok(!_.isFinite(undefined), 'undefined is not Finite'); + ok(!_.isFinite(null), 'null is not Finite'); + ok(!_.isFinite(NaN), 'NaN is not Finite'); + ok(!_.isFinite(Infinity), 'Infinity is not Finite'); + ok(!_.isFinite(-Infinity), '-Infinity is not Finite'); + ok(!_.isFinite('12'), 'Strings are not numbers'); + var obj = new Number(5); + ok(_.isFinite(obj), 'Number instances can be finite'); + ok(_.isFinite(0), '0 is Finite'); + ok(_.isFinite(123), 'Ints are Finite'); + ok(_.isFinite(-12.44), 'Floats are Finite'); + }); + + test("isNaN", function() { + ok(!_.isNaN(undefined), 'undefined is not NaN'); + ok(!_.isNaN(null), 'null is not NaN'); + ok(!_.isNaN(0), '0 is not NaN'); + ok(_.isNaN(NaN), 'but NaN is'); + ok(_.isNaN(iNaN), 'even from another frame'); + ok(_.isNaN(new Number(NaN)), 'wrapped NaN is still NaN'); + }); + + test("isNull", function() { + ok(!_.isNull(undefined), 'undefined is not null'); + ok(!_.isNull(NaN), 'NaN is not null'); + ok(_.isNull(null), 'but null is'); + ok(_.isNull(iNull), 'even from another frame'); + }); + + test("isUndefined", function() { + ok(!_.isUndefined(1), 'numbers are defined'); + ok(!_.isUndefined(null), 'null is defined'); + ok(!_.isUndefined(false), 'false is defined'); + ok(!_.isUndefined(NaN), 'NaN is defined'); + ok(_.isUndefined(), 'nothing is undefined'); + ok(_.isUndefined(undefined), 'undefined is undefined'); + ok(_.isUndefined(iUndefined), 'even from another frame'); + }); + + if (window.ActiveXObject) { + test("IE host objects", function() { + var xml = new ActiveXObject("Msxml2.DOMDocument.3.0"); + ok(!_.isNumber(xml)); + ok(!_.isBoolean(xml)); + ok(!_.isNaN(xml)); + ok(!_.isFunction(xml)); + ok(!_.isNull(xml)); + ok(!_.isUndefined(xml)); + }); + } + + test("tap", function() { + var intercepted = null; + var interceptor = function(obj) { intercepted = obj; }; + var returned = _.tap(1, interceptor); + equal(intercepted, 1, "passes tapped object to interceptor"); + equal(returned, 1, "returns tapped object"); + + returned = _([1,2,3]).chain(). + map(function(n){ return n * 2; }). + max(). + tap(interceptor). + value(); + ok(returned == 6 && intercepted == 6, 'can use tapped objects in a chain'); + }); +}); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js new file mode 100644 index 0000000..05e3f2a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js @@ -0,0 +1,75 @@ +(function() { + + var numbers = []; + for (var i=0; i<1000; i++) numbers.push(i); + var objects = _.map(numbers, function(n){ return {num : n}; }); + var randomized = _.sortBy(numbers, function(){ return Math.random(); }); + var deep = _.map(_.range(100), function() { return _.range(1000); }); + + JSLitmus.test('_.each()', function() { + var timesTwo = []; + _.each(numbers, function(num){ timesTwo.push(num * 2); }); + return timesTwo; + }); + + JSLitmus.test('_(list).each()', function() { + var timesTwo = []; + _(numbers).each(function(num){ timesTwo.push(num * 2); }); + return timesTwo; + }); + + JSLitmus.test('jQuery.each()', function() { + var timesTwo = []; + jQuery.each(numbers, function(){ timesTwo.push(this * 2); }); + return timesTwo; + }); + + JSLitmus.test('_.map()', function() { + return _.map(objects, function(obj){ return obj.num; }); + }); + + JSLitmus.test('jQuery.map()', function() { + return jQuery.map(objects, function(obj){ return obj.num; }); + }); + + JSLitmus.test('_.pluck()', function() { + return _.pluck(objects, 'num'); + }); + + JSLitmus.test('_.uniq()', function() { + return _.uniq(randomized); + }); + + JSLitmus.test('_.uniq() (sorted)', function() { + return _.uniq(numbers, true); + }); + + JSLitmus.test('_.sortBy()', function() { + return _.sortBy(numbers, function(num){ return -num; }); + }); + + JSLitmus.test('_.isEqual()', function() { + return _.isEqual(numbers, randomized); + }); + + JSLitmus.test('_.keys()', function() { + return _.keys(objects); + }); + + JSLitmus.test('_.values()', function() { + return _.values(objects); + }); + + JSLitmus.test('_.intersection()', function() { + return _.intersection(numbers, randomized); + }); + + JSLitmus.test('_.range()', function() { + return _.range(1000); + }); + + JSLitmus.test('_.flatten()', function() { + return _.flatten(deep); + }); + +})(); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js new file mode 100644 index 0000000..c9be20a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js @@ -0,0 +1,249 @@ +$(document).ready(function() { + + var templateSettings; + + module("Utility", { + + setup: function() { + templateSettings = _.clone(_.templateSettings); + }, + + teardown: function() { + _.templateSettings = templateSettings; + } + + }); + + test("#750 - Return _ instance.", 2, function() { + var instance = _([]); + ok(_(instance) === instance); + ok(new _(instance) === instance); + }); + + test("identity", function() { + var moe = {name : 'moe'}; + equal(_.identity(moe), moe, 'moe is the same as his identity'); + }); + + test("uniqueId", function() { + var ids = [], i = 0; + while(i++ < 100) ids.push(_.uniqueId()); + equal(_.uniq(ids).length, ids.length, 'can generate a globally-unique stream of ids'); + }); + + test("times", function() { + var vals = []; + _.times(3, function (i) { vals.push(i); }); + ok(_.isEqual(vals, [0,1,2]), "is 0 indexed"); + // + vals = []; + _(3).times(function (i) { vals.push(i); }); + ok(_.isEqual(vals, [0,1,2]), "works as a wrapper"); + }); + + test("mixin", function() { + _.mixin({ + myReverse: function(string) { + return string.split('').reverse().join(''); + } + }); + equal(_.myReverse('panacea'), 'aecanap', 'mixed in a function to _'); + equal(_('champ').myReverse(), 'pmahc', 'mixed in a function to the OOP wrapper'); + }); + + test("_.escape", function() { + equal(_.escape("Curly & Moe"), "Curly & Moe"); + equal(_.escape("Curly & Moe"), "Curly &amp; Moe"); + equal(_.escape(null), ''); + }); + + test("_.unescape", function() { + var string = "Curly & Moe"; + equal(_.unescape("Curly & Moe"), string); + equal(_.unescape("Curly &amp; Moe"), "Curly & Moe"); + equal(_.unescape(null), ''); + equal(_.unescape(_.escape(string)), string); + }); + + test("template", function() { + var basicTemplate = _.template("<%= thing %> is gettin' on my noives!"); + var result = basicTemplate({thing : 'This'}); + equal(result, "This is gettin' on my noives!", 'can do basic attribute interpolation'); + + var sansSemicolonTemplate = _.template("A <% this %> B"); + equal(sansSemicolonTemplate(), "A B"); + + var backslashTemplate = _.template("<%= thing %> is \\ridanculous"); + equal(backslashTemplate({thing: 'This'}), "This is \\ridanculous"); + + var escapeTemplate = _.template('<%= a ? "checked=\\"checked\\"" : "" %>'); + equal(escapeTemplate({a: true}), 'checked="checked"', 'can handle slash escapes in interpolations.'); + + var fancyTemplate = _.template("
              <% \ + for (key in people) { \ + %>
            • <%= people[key] %>
            • <% } %>
            "); + result = fancyTemplate({people : {moe : "Moe", larry : "Larry", curly : "Curly"}}); + equal(result, "
            • Moe
            • Larry
            • Curly
            ", 'can run arbitrary javascript in templates'); + + var escapedCharsInJavascriptTemplate = _.template("
              <% _.each(numbers.split('\\n'), function(item) { %>
            • <%= item %>
            • <% }) %>
            "); + result = escapedCharsInJavascriptTemplate({numbers: "one\ntwo\nthree\nfour"}); + equal(result, "
            • one
            • two
            • three
            • four
            ", 'Can use escaped characters (e.g. \\n) in Javascript'); + + var namespaceCollisionTemplate = _.template("<%= pageCount %> <%= thumbnails[pageCount] %> <% _.each(thumbnails, function(p) { %>
            \">
            <% }); %>"); + result = namespaceCollisionTemplate({ + pageCount: 3, + thumbnails: { + 1: "p1-thumbnail.gif", + 2: "p2-thumbnail.gif", + 3: "p3-thumbnail.gif" + } + }); + equal(result, "3 p3-thumbnail.gif
            "); + + var noInterpolateTemplate = _.template("

            Just some text. Hey, I know this is silly but it aids consistency.

            "); + result = noInterpolateTemplate(); + equal(result, "

            Just some text. Hey, I know this is silly but it aids consistency.

            "); + + var quoteTemplate = _.template("It's its, not it's"); + equal(quoteTemplate({}), "It's its, not it's"); + + var quoteInStatementAndBody = _.template("<%\ + if(foo == 'bar'){ \ + %>Statement quotes and 'quotes'.<% } %>"); + equal(quoteInStatementAndBody({foo: "bar"}), "Statement quotes and 'quotes'."); + + var withNewlinesAndTabs = _.template('This\n\t\tis: <%= x %>.\n\tok.\nend.'); + equal(withNewlinesAndTabs({x: 'that'}), 'This\n\t\tis: that.\n\tok.\nend.'); + + var template = _.template("<%- value %>"); + var result = template({value: " + + + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js new file mode 100644 index 0000000..2cf0ca5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js @@ -0,0 +1 @@ +module.exports = require('./underscore'); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json new file mode 100644 index 0000000..014ab26 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json @@ -0,0 +1,35 @@ +{ + "name": "underscore", + "description": "JavaScript's functional programming helper library.", + "homepage": "http://underscorejs.org", + "keywords": [ + "util", + "functional", + "server", + "client", + "browser" + ], + "author": { + "name": "Jeremy Ashkenas", + "email": "jeremy@documentcloud.org" + }, + "repository": { + "type": "git", + "url": "git://github.com/documentcloud/underscore.git" + }, + "main": "underscore.js", + "version": "1.4.4", + "devDependencies": { + "phantomjs": "0.2.2" + }, + "scripts": { + "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true" + }, + "readme": " __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/documentcloud/underscore/issues" + }, + "_id": "underscore@1.4.4", + "_from": "underscore@~1.4.3" +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js new file mode 100644 index 0000000..c1d9d3a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js @@ -0,0 +1 @@ +(function(){var n=this,t=n._,r={},e=Array.prototype,u=Object.prototype,i=Function.prototype,a=e.push,o=e.slice,c=e.concat,l=u.toString,f=u.hasOwnProperty,s=e.forEach,p=e.map,h=e.reduce,v=e.reduceRight,d=e.filter,g=e.every,m=e.some,y=e.indexOf,b=e.lastIndexOf,x=Array.isArray,_=Object.keys,j=i.bind,w=function(n){return n instanceof w?n:this instanceof w?(this._wrapped=n,void 0):new w(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=w),exports._=w):n._=w,w.VERSION="1.4.4";var A=w.each=w.forEach=function(n,t,e){if(null!=n)if(s&&n.forEach===s)n.forEach(t,e);else if(n.length===+n.length){for(var u=0,i=n.length;i>u;u++)if(t.call(e,n[u],u,n)===r)return}else for(var a in n)if(w.has(n,a)&&t.call(e,n[a],a,n)===r)return};w.map=w.collect=function(n,t,r){var e=[];return null==n?e:p&&n.map===p?n.map(t,r):(A(n,function(n,u,i){e[e.length]=t.call(r,n,u,i)}),e)};var O="Reduce of empty array with no initial value";w.reduce=w.foldl=w.inject=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),h&&n.reduce===h)return e&&(t=w.bind(t,e)),u?n.reduce(t,r):n.reduce(t);if(A(n,function(n,i,a){u?r=t.call(e,r,n,i,a):(r=n,u=!0)}),!u)throw new TypeError(O);return r},w.reduceRight=w.foldr=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),v&&n.reduceRight===v)return e&&(t=w.bind(t,e)),u?n.reduceRight(t,r):n.reduceRight(t);var i=n.length;if(i!==+i){var a=w.keys(n);i=a.length}if(A(n,function(o,c,l){c=a?a[--i]:--i,u?r=t.call(e,r,n[c],c,l):(r=n[c],u=!0)}),!u)throw new TypeError(O);return r},w.find=w.detect=function(n,t,r){var e;return E(n,function(n,u,i){return t.call(r,n,u,i)?(e=n,!0):void 0}),e},w.filter=w.select=function(n,t,r){var e=[];return null==n?e:d&&n.filter===d?n.filter(t,r):(A(n,function(n,u,i){t.call(r,n,u,i)&&(e[e.length]=n)}),e)},w.reject=function(n,t,r){return w.filter(n,function(n,e,u){return!t.call(r,n,e,u)},r)},w.every=w.all=function(n,t,e){t||(t=w.identity);var u=!0;return null==n?u:g&&n.every===g?n.every(t,e):(A(n,function(n,i,a){return(u=u&&t.call(e,n,i,a))?void 0:r}),!!u)};var E=w.some=w.any=function(n,t,e){t||(t=w.identity);var u=!1;return null==n?u:m&&n.some===m?n.some(t,e):(A(n,function(n,i,a){return u||(u=t.call(e,n,i,a))?r:void 0}),!!u)};w.contains=w.include=function(n,t){return null==n?!1:y&&n.indexOf===y?n.indexOf(t)!=-1:E(n,function(n){return n===t})},w.invoke=function(n,t){var r=o.call(arguments,2),e=w.isFunction(t);return w.map(n,function(n){return(e?t:n[t]).apply(n,r)})},w.pluck=function(n,t){return w.map(n,function(n){return n[t]})},w.where=function(n,t,r){return w.isEmpty(t)?r?null:[]:w[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},w.findWhere=function(n,t){return w.where(n,t,!0)},w.max=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.max.apply(Math,n);if(!t&&w.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;a>=e.computed&&(e={value:n,computed:a})}),e.value},w.min=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.min.apply(Math,n);if(!t&&w.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;e.computed>a&&(e={value:n,computed:a})}),e.value},w.shuffle=function(n){var t,r=0,e=[];return A(n,function(n){t=w.random(r++),e[r-1]=e[t],e[t]=n}),e};var k=function(n){return w.isFunction(n)?n:function(t){return t[n]}};w.sortBy=function(n,t,r){var e=k(t);return w.pluck(w.map(n,function(n,t,u){return{value:n,index:t,criteria:e.call(r,n,t,u)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.indexi;){var o=i+a>>>1;u>r.call(e,n[o])?i=o+1:a=o}return i},w.toArray=function(n){return n?w.isArray(n)?o.call(n):n.length===+n.length?w.map(n,w.identity):w.values(n):[]},w.size=function(n){return null==n?0:n.length===+n.length?n.length:w.keys(n).length},w.first=w.head=w.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:o.call(n,0,t)},w.initial=function(n,t,r){return o.call(n,0,n.length-(null==t||r?1:t))},w.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:o.call(n,Math.max(n.length-t,0))},w.rest=w.tail=w.drop=function(n,t,r){return o.call(n,null==t||r?1:t)},w.compact=function(n){return w.filter(n,w.identity)};var R=function(n,t,r){return A(n,function(n){w.isArray(n)?t?a.apply(r,n):R(n,t,r):r.push(n)}),r};w.flatten=function(n,t){return R(n,t,[])},w.without=function(n){return w.difference(n,o.call(arguments,1))},w.uniq=w.unique=function(n,t,r,e){w.isFunction(t)&&(e=r,r=t,t=!1);var u=r?w.map(n,r,e):n,i=[],a=[];return A(u,function(r,e){(t?e&&a[a.length-1]===r:w.contains(a,r))||(a.push(r),i.push(n[e]))}),i},w.union=function(){return w.uniq(c.apply(e,arguments))},w.intersection=function(n){var t=o.call(arguments,1);return w.filter(w.uniq(n),function(n){return w.every(t,function(t){return w.indexOf(t,n)>=0})})},w.difference=function(n){var t=c.apply(e,o.call(arguments,1));return w.filter(n,function(n){return!w.contains(t,n)})},w.zip=function(){for(var n=o.call(arguments),t=w.max(w.pluck(n,"length")),r=Array(t),e=0;t>e;e++)r[e]=w.pluck(n,""+e);return r},w.object=function(n,t){if(null==n)return{};for(var r={},e=0,u=n.length;u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},w.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=w.sortedIndex(n,t),n[e]===t?e:-1;e=0>r?Math.max(0,u+r):r}if(y&&n.indexOf===y)return n.indexOf(t,r);for(;u>e;e++)if(n[e]===t)return e;return-1},w.lastIndexOf=function(n,t,r){if(null==n)return-1;var e=null!=r;if(b&&n.lastIndexOf===b)return e?n.lastIndexOf(t,r):n.lastIndexOf(t);for(var u=e?r:n.length;u--;)if(n[u]===t)return u;return-1},w.range=function(n,t,r){1>=arguments.length&&(t=n||0,n=0),r=arguments[2]||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=0,i=Array(e);e>u;)i[u++]=n,n+=r;return i},w.bind=function(n,t){if(n.bind===j&&j)return j.apply(n,o.call(arguments,1));var r=o.call(arguments,2);return function(){return n.apply(t,r.concat(o.call(arguments)))}},w.partial=function(n){var t=o.call(arguments,1);return function(){return n.apply(this,t.concat(o.call(arguments)))}},w.bindAll=function(n){var t=o.call(arguments,1);return 0===t.length&&(t=w.functions(n)),A(t,function(t){n[t]=w.bind(n[t],n)}),n},w.memoize=function(n,t){var r={};return t||(t=w.identity),function(){var e=t.apply(this,arguments);return w.has(r,e)?r[e]:r[e]=n.apply(this,arguments)}},w.delay=function(n,t){var r=o.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},w.defer=function(n){return w.delay.apply(w,[n,1].concat(o.call(arguments,1)))},w.throttle=function(n,t){var r,e,u,i,a=0,o=function(){a=new Date,u=null,i=n.apply(r,e)};return function(){var c=new Date,l=t-(c-a);return r=this,e=arguments,0>=l?(clearTimeout(u),u=null,a=c,i=n.apply(r,e)):u||(u=setTimeout(o,l)),i}},w.debounce=function(n,t,r){var e,u;return function(){var i=this,a=arguments,o=function(){e=null,r||(u=n.apply(i,a))},c=r&&!e;return clearTimeout(e),e=setTimeout(o,t),c&&(u=n.apply(i,a)),u}},w.once=function(n){var t,r=!1;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},w.wrap=function(n,t){return function(){var r=[n];return a.apply(r,arguments),t.apply(this,r)}},w.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length-1;r>=0;r--)t=[n[r].apply(this,t)];return t[0]}},w.after=function(n,t){return 0>=n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},w.keys=_||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)w.has(n,r)&&(t[t.length]=r);return t},w.values=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push(n[r]);return t},w.pairs=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push([r,n[r]]);return t},w.invert=function(n){var t={};for(var r in n)w.has(n,r)&&(t[n[r]]=r);return t},w.functions=w.methods=function(n){var t=[];for(var r in n)w.isFunction(n[r])&&t.push(r);return t.sort()},w.extend=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]=t[r]}),n},w.pick=function(n){var t={},r=c.apply(e,o.call(arguments,1));return A(r,function(r){r in n&&(t[r]=n[r])}),t},w.omit=function(n){var t={},r=c.apply(e,o.call(arguments,1));for(var u in n)w.contains(r,u)||(t[u]=n[u]);return t},w.defaults=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)null==n[r]&&(n[r]=t[r])}),n},w.clone=function(n){return w.isObject(n)?w.isArray(n)?n.slice():w.extend({},n):n},w.tap=function(n,t){return t(n),n};var I=function(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return n===t;n instanceof w&&(n=n._wrapped),t instanceof w&&(t=t._wrapped);var u=l.call(n);if(u!=l.call(t))return!1;switch(u){case"[object String]":return n==t+"";case"[object Number]":return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object RegExp]":return n.source==t.source&&n.global==t.global&&n.multiline==t.multiline&&n.ignoreCase==t.ignoreCase}if("object"!=typeof n||"object"!=typeof t)return!1;for(var i=r.length;i--;)if(r[i]==n)return e[i]==t;r.push(n),e.push(t);var a=0,o=!0;if("[object Array]"==u){if(a=n.length,o=a==t.length)for(;a--&&(o=I(n[a],t[a],r,e)););}else{var c=n.constructor,f=t.constructor;if(c!==f&&!(w.isFunction(c)&&c instanceof c&&w.isFunction(f)&&f instanceof f))return!1;for(var s in n)if(w.has(n,s)&&(a++,!(o=w.has(t,s)&&I(n[s],t[s],r,e))))break;if(o){for(s in t)if(w.has(t,s)&&!a--)break;o=!a}}return r.pop(),e.pop(),o};w.isEqual=function(n,t){return I(n,t,[],[])},w.isEmpty=function(n){if(null==n)return!0;if(w.isArray(n)||w.isString(n))return 0===n.length;for(var t in n)if(w.has(n,t))return!1;return!0},w.isElement=function(n){return!(!n||1!==n.nodeType)},w.isArray=x||function(n){return"[object Array]"==l.call(n)},w.isObject=function(n){return n===Object(n)},A(["Arguments","Function","String","Number","Date","RegExp"],function(n){w["is"+n]=function(t){return l.call(t)=="[object "+n+"]"}}),w.isArguments(arguments)||(w.isArguments=function(n){return!(!n||!w.has(n,"callee"))}),"function"!=typeof/./&&(w.isFunction=function(n){return"function"==typeof n}),w.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},w.isNaN=function(n){return w.isNumber(n)&&n!=+n},w.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"==l.call(n)},w.isNull=function(n){return null===n},w.isUndefined=function(n){return n===void 0},w.has=function(n,t){return f.call(n,t)},w.noConflict=function(){return n._=t,this},w.identity=function(n){return n},w.times=function(n,t,r){for(var e=Array(n),u=0;n>u;u++)e[u]=t.call(r,u);return e},w.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};var M={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};M.unescape=w.invert(M.escape);var S={escape:RegExp("["+w.keys(M.escape).join("")+"]","g"),unescape:RegExp("("+w.keys(M.unescape).join("|")+")","g")};w.each(["escape","unescape"],function(n){w[n]=function(t){return null==t?"":(""+t).replace(S[n],function(t){return M[n][t]})}}),w.result=function(n,t){if(null==n)return null;var r=n[t];return w.isFunction(r)?r.call(n):r},w.mixin=function(n){A(w.functions(n),function(t){var r=w[t]=n[t];w.prototype[t]=function(){var n=[this._wrapped];return a.apply(n,arguments),D.call(this,r.apply(w,n))}})};var N=0;w.uniqueId=function(n){var t=++N+"";return n?n+t:t},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var T=/(.)^/,q={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},B=/\\|'|\r|\n|\t|\u2028|\u2029/g;w.template=function(n,t,r){var e;r=w.defaults({},r,w.templateSettings);var u=RegExp([(r.escape||T).source,(r.interpolate||T).source,(r.evaluate||T).source].join("|")+"|$","g"),i=0,a="__p+='";n.replace(u,function(t,r,e,u,o){return a+=n.slice(i,o).replace(B,function(n){return"\\"+q[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),u&&(a+="';\n"+u+"\n__p+='"),i=o+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=Function(r.variable||"obj","_",a)}catch(o){throw o.source=a,o}if(t)return e(t,w);var c=function(n){return e.call(this,n,w)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},w.chain=function(n){return w(n).chain()};var D=function(n){return this._chain?w(n).chain():n};w.mixin(w),A(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=e[n];w.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],D.call(this,r)}}),A(["concat","join","slice"],function(n){var t=e[n];w.prototype[n]=function(){return D.call(this,t.apply(this._wrapped,arguments))}}),w.extend(w.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this); \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js new file mode 100644 index 0000000..a12f0d9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js @@ -0,0 +1,1226 @@ +// Underscore.js 1.4.4 +// http://underscorejs.org +// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. +// Underscore may be freely distributed under the MIT license. + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `global` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Establish the object that gets returned to break out of a loop iteration. + var breaker = {}; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; + + // Create quick reference variables for speed access to core prototypes. + var push = ArrayProto.push, + slice = ArrayProto.slice, + concat = ArrayProto.concat, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeForEach = ArrayProto.forEach, + nativeMap = ArrayProto.map, + nativeReduce = ArrayProto.reduce, + nativeReduceRight = ArrayProto.reduceRight, + nativeFilter = ArrayProto.filter, + nativeEvery = ArrayProto.every, + nativeSome = ArrayProto.some, + nativeIndexOf = ArrayProto.indexOf, + nativeLastIndexOf = ArrayProto.lastIndexOf, + nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeBind = FuncProto.bind; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; + }; + + // Export the Underscore object for **Node.js**, with + // backwards-compatibility for the old `require()` API. If we're in + // the browser, add `_` as a global object via a string identifier, + // for Closure Compiler "advanced" mode. + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = _; + } + exports._ = _; + } else { + root._ = _; + } + + // Current version. + _.VERSION = '1.4.4'; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles objects with the built-in `forEach`, arrays, and raw objects. + // Delegates to **ECMAScript 5**'s native `forEach` if available. + var each = _.each = _.forEach = function(obj, iterator, context) { + if (obj == null) return; + if (nativeForEach && obj.forEach === nativeForEach) { + obj.forEach(iterator, context); + } else if (obj.length === +obj.length) { + for (var i = 0, l = obj.length; i < l; i++) { + if (iterator.call(context, obj[i], i, obj) === breaker) return; + } + } else { + for (var key in obj) { + if (_.has(obj, key)) { + if (iterator.call(context, obj[key], key, obj) === breaker) return; + } + } + } + }; + + // Return the results of applying the iterator to each element. + // Delegates to **ECMAScript 5**'s native `map` if available. + _.map = _.collect = function(obj, iterator, context) { + var results = []; + if (obj == null) return results; + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + each(obj, function(value, index, list) { + results[results.length] = iterator.call(context, value, index, list); + }); + return results; + }; + + var reduceError = 'Reduce of empty array with no initial value'; + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. + _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { + var initial = arguments.length > 2; + if (obj == null) obj = []; + if (nativeReduce && obj.reduce === nativeReduce) { + if (context) iterator = _.bind(iterator, context); + return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); + } + each(obj, function(value, index, list) { + if (!initial) { + memo = value; + initial = true; + } else { + memo = iterator.call(context, memo, value, index, list); + } + }); + if (!initial) throw new TypeError(reduceError); + return memo; + }; + + // The right-associative version of reduce, also known as `foldr`. + // Delegates to **ECMAScript 5**'s native `reduceRight` if available. + _.reduceRight = _.foldr = function(obj, iterator, memo, context) { + var initial = arguments.length > 2; + if (obj == null) obj = []; + if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { + if (context) iterator = _.bind(iterator, context); + return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); + } + var length = obj.length; + if (length !== +length) { + var keys = _.keys(obj); + length = keys.length; + } + each(obj, function(value, index, list) { + index = keys ? keys[--length] : --length; + if (!initial) { + memo = obj[index]; + initial = true; + } else { + memo = iterator.call(context, memo, obj[index], index, list); + } + }); + if (!initial) throw new TypeError(reduceError); + return memo; + }; + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, iterator, context) { + var result; + any(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) { + result = value; + return true; + } + }); + return result; + }; + + // Return all the elements that pass a truth test. + // Delegates to **ECMAScript 5**'s native `filter` if available. + // Aliased as `select`. + _.filter = _.select = function(obj, iterator, context) { + var results = []; + if (obj == null) return results; + if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, iterator, context) { + return _.filter(obj, function(value, index, list) { + return !iterator.call(context, value, index, list); + }, context); + }; + + // Determine whether all of the elements match a truth test. + // Delegates to **ECMAScript 5**'s native `every` if available. + // Aliased as `all`. + _.every = _.all = function(obj, iterator, context) { + iterator || (iterator = _.identity); + var result = true; + if (obj == null) return result; + if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); + each(obj, function(value, index, list) { + if (!(result = result && iterator.call(context, value, index, list))) return breaker; + }); + return !!result; + }; + + // Determine if at least one element in the object matches a truth test. + // Delegates to **ECMAScript 5**'s native `some` if available. + // Aliased as `any`. + var any = _.some = _.any = function(obj, iterator, context) { + iterator || (iterator = _.identity); + var result = false; + if (obj == null) return result; + if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); + each(obj, function(value, index, list) { + if (result || (result = iterator.call(context, value, index, list))) return breaker; + }); + return !!result; + }; + + // Determine if the array or object contains a given value (using `===`). + // Aliased as `include`. + _.contains = _.include = function(obj, target) { + if (obj == null) return false; + if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; + return any(obj, function(value) { + return value === target; + }); + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + var isFunc = _.isFunction(method); + return _.map(obj, function(value) { + return (isFunc ? method : value[method]).apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, function(value){ return value[key]; }); + }; + + // Convenience version of a common use case of `filter`: selecting only objects + // containing specific `key:value` pairs. + _.where = function(obj, attrs, first) { + if (_.isEmpty(attrs)) return first ? null : []; + return _[first ? 'find' : 'filter'](obj, function(value) { + for (var key in attrs) { + if (attrs[key] !== value[key]) return false; + } + return true; + }); + }; + + // Convenience version of a common use case of `find`: getting the first object + // containing specific `key:value` pairs. + _.findWhere = function(obj, attrs) { + return _.where(obj, attrs, true); + }; + + // Return the maximum element or (element-based computation). + // Can't optimize arrays of integers longer than 65,535 elements. + // See: https://bugs.webkit.org/show_bug.cgi?id=80797 + _.max = function(obj, iterator, context) { + if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { + return Math.max.apply(Math, obj); + } + if (!iterator && _.isEmpty(obj)) return -Infinity; + var result = {computed : -Infinity, value: -Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed >= result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iterator, context) { + if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { + return Math.min.apply(Math, obj); + } + if (!iterator && _.isEmpty(obj)) return Infinity; + var result = {computed : Infinity, value: Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed < result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Shuffle an array. + _.shuffle = function(obj) { + var rand; + var index = 0; + var shuffled = []; + each(obj, function(value) { + rand = _.random(index++); + shuffled[index - 1] = shuffled[rand]; + shuffled[rand] = value; + }); + return shuffled; + }; + + // An internal function to generate lookup iterators. + var lookupIterator = function(value) { + return _.isFunction(value) ? value : function(obj){ return obj[value]; }; + }; + + // Sort the object's values by a criterion produced by an iterator. + _.sortBy = function(obj, value, context) { + var iterator = lookupIterator(value); + return _.pluck(_.map(obj, function(value, index, list) { + return { + value : value, + index : index, + criteria : iterator.call(context, value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index < right.index ? -1 : 1; + }), 'value'); + }; + + // An internal function used for aggregate "group by" operations. + var group = function(obj, value, context, behavior) { + var result = {}; + var iterator = lookupIterator(value || _.identity); + each(obj, function(value, index) { + var key = iterator.call(context, value, index, obj); + behavior(result, key, value); + }); + return result; + }; + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + _.groupBy = function(obj, value, context) { + return group(obj, value, context, function(result, key, value) { + (_.has(result, key) ? result[key] : (result[key] = [])).push(value); + }); + }; + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + _.countBy = function(obj, value, context) { + return group(obj, value, context, function(result, key) { + if (!_.has(result, key)) result[key] = 0; + result[key]++; + }); + }; + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iterator, context) { + iterator = iterator == null ? _.identity : lookupIterator(iterator); + var value = iterator.call(context, obj); + var low = 0, high = array.length; + while (low < high) { + var mid = (low + high) >>> 1; + iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid; + } + return low; + }; + + // Safely convert anything iterable into a real, live array. + _.toArray = function(obj) { + if (!obj) return []; + if (_.isArray(obj)) return slice.call(obj); + if (obj.length === +obj.length) return _.map(obj, _.identity); + return _.values(obj); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + if (obj == null) return 0; + return (obj.length === +obj.length) ? obj.length : _.keys(obj).length; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head` and `take`. The **guard** check + // allows it to work with `_.map`. + _.first = _.head = _.take = function(array, n, guard) { + if (array == null) return void 0; + return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; + }; + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. The **guard** check allows it to work with + // `_.map`. + _.initial = function(array, n, guard) { + return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); + }; + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. The **guard** check allows it to work with `_.map`. + _.last = function(array, n, guard) { + if (array == null) return void 0; + if ((n != null) && !guard) { + return slice.call(array, Math.max(array.length - n, 0)); + } else { + return array[array.length - 1]; + } + }; + + // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. + // Especially useful on the arguments object. Passing an **n** will return + // the rest N values in the array. The **guard** + // check allows it to work with `_.map`. + _.rest = _.tail = _.drop = function(array, n, guard) { + return slice.call(array, (n == null) || guard ? 1 : n); + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, _.identity); + }; + + // Internal implementation of a recursive `flatten` function. + var flatten = function(input, shallow, output) { + each(input, function(value) { + if (_.isArray(value)) { + shallow ? push.apply(output, value) : flatten(value, shallow, output); + } else { + output.push(value); + } + }); + return output; + }; + + // Return a completely flattened version of an array. + _.flatten = function(array, shallow) { + return flatten(array, shallow, []); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + return _.difference(array, slice.call(arguments, 1)); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted, iterator, context) { + if (_.isFunction(isSorted)) { + context = iterator; + iterator = isSorted; + isSorted = false; + } + var initial = iterator ? _.map(array, iterator, context) : array; + var results = []; + var seen = []; + each(initial, function(value, index) { + if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) { + seen.push(value); + results.push(array[index]); + } + }); + return results; + }; + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + _.union = function() { + return _.uniq(concat.apply(ArrayProto, arguments)); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. + _.intersection = function(array) { + var rest = slice.call(arguments, 1); + return _.filter(_.uniq(array), function(item) { + return _.every(rest, function(other) { + return _.indexOf(other, item) >= 0; + }); + }); + }; + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + _.difference = function(array) { + var rest = concat.apply(ArrayProto, slice.call(arguments, 1)); + return _.filter(array, function(value){ return !_.contains(rest, value); }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + var args = slice.call(arguments); + var length = _.max(_.pluck(args, 'length')); + var results = new Array(length); + for (var i = 0; i < length; i++) { + results[i] = _.pluck(args, "" + i); + } + return results; + }; + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. + _.object = function(list, values) { + if (list == null) return {}; + var result = {}; + for (var i = 0, l = list.length; i < l; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + }; + + // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), + // we need this function. Return the position of the first occurrence of an + // item in an array, or -1 if the item is not included in the array. + // Delegates to **ECMAScript 5**'s native `indexOf` if available. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + _.indexOf = function(array, item, isSorted) { + if (array == null) return -1; + var i = 0, l = array.length; + if (isSorted) { + if (typeof isSorted == 'number') { + i = (isSorted < 0 ? Math.max(0, l + isSorted) : isSorted); + } else { + i = _.sortedIndex(array, item); + return array[i] === item ? i : -1; + } + } + if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted); + for (; i < l; i++) if (array[i] === item) return i; + return -1; + }; + + // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. + _.lastIndexOf = function(array, item, from) { + if (array == null) return -1; + var hasIndex = from != null; + if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) { + return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item); + } + var i = (hasIndex ? from : array.length); + while (i--) if (array[i] === item) return i; + return -1; + }; + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + if (arguments.length <= 1) { + stop = start || 0; + start = 0; + } + step = arguments[2] || 1; + + var len = Math.max(Math.ceil((stop - start) / step), 0); + var idx = 0; + var range = new Array(len); + + while(idx < len) { + range[idx++] = start; + start += step; + } + + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if + // available. + _.bind = function(func, context) { + if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); + var args = slice.call(arguments, 2); + return function() { + return func.apply(context, args.concat(slice.call(arguments))); + }; + }; + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. + _.partial = function(func) { + var args = slice.call(arguments, 1); + return function() { + return func.apply(this, args.concat(slice.call(arguments))); + }; + }; + + // Bind all of an object's methods to that object. Useful for ensuring that + // all callbacks defined on an object belong to it. + _.bindAll = function(obj) { + var funcs = slice.call(arguments, 1); + if (funcs.length === 0) funcs = _.functions(obj); + each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memo = {}; + hasher || (hasher = _.identity); + return function() { + var key = hasher.apply(this, arguments); + return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); + }; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ return func.apply(null, args); }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = function(func) { + return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); + }; + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. + _.throttle = function(func, wait) { + var context, args, timeout, result; + var previous = 0; + var later = function() { + previous = new Date; + timeout = null; + result = func.apply(context, args); + }; + return function() { + var now = new Date; + var remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + } else if (!timeout) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }; + + // Returns a function, that, as long as it continues to be invoked, will not + // be triggered. The function will be called after it stops being called for + // N milliseconds. If `immediate` is passed, trigger the function on the + // leading edge, instead of the trailing. + _.debounce = function(func, wait, immediate) { + var timeout, result; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) result = func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) result = func.apply(context, args); + return result; + }; + }; + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + _.once = function(func) { + var ran = false, memo; + return function() { + if (ran) return memo; + ran = true; + memo = func.apply(this, arguments); + func = null; + return memo; + }; + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return function() { + var args = [func]; + push.apply(args, arguments); + return wrapper.apply(this, args); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var funcs = arguments; + return function() { + var args = arguments; + for (var i = funcs.length - 1; i >= 0; i--) { + args = [funcs[i].apply(this, args)]; + } + return args[0]; + }; + }; + + // Returns a function that will only be executed after being called N times. + _.after = function(times, func) { + if (times <= 0) return func(); + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + }; + + // Object Functions + // ---------------- + + // Retrieve the names of an object's properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = nativeKeys || function(obj) { + if (obj !== Object(obj)) throw new TypeError('Invalid object'); + var keys = []; + for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + var values = []; + for (var key in obj) if (_.has(obj, key)) values.push(obj[key]); + return values; + }; + + // Convert an object into a list of `[key, value]` pairs. + _.pairs = function(obj) { + var pairs = []; + for (var key in obj) if (_.has(obj, key)) pairs.push([key, obj[key]]); + return pairs; + }; + + // Invert the keys and values of an object. The values must be serializable. + _.invert = function(obj) { + var result = {}; + for (var key in obj) if (_.has(obj, key)) result[obj[key]] = key; + return result; + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + var names = []; + for (var key in obj) { + if (_.isFunction(obj[key])) names.push(key); + } + return names.sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = function(obj) { + each(slice.call(arguments, 1), function(source) { + if (source) { + for (var prop in source) { + obj[prop] = source[prop]; + } + } + }); + return obj; + }; + + // Return a copy of the object only containing the whitelisted properties. + _.pick = function(obj) { + var copy = {}; + var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); + each(keys, function(key) { + if (key in obj) copy[key] = obj[key]; + }); + return copy; + }; + + // Return a copy of the object without the blacklisted properties. + _.omit = function(obj) { + var copy = {}; + var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); + for (var key in obj) { + if (!_.contains(keys, key)) copy[key] = obj[key]; + } + return copy; + }; + + // Fill in a given object with default properties. + _.defaults = function(obj) { + each(slice.call(arguments, 1), function(source) { + if (source) { + for (var prop in source) { + if (obj[prop] == null) obj[prop] = source[prop]; + } + } + }); + return obj; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + if (!_.isObject(obj)) return obj; + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Internal recursive comparison function for `isEqual`. + var eq = function(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal. + if (a === b) return a !== 0 || 1 / a == 1 / b; + // A strict comparison is necessary because `null == undefined`. + if (a == null || b == null) return a === b; + // Unwrap any wrapped objects. + if (a instanceof _) a = a._wrapped; + if (b instanceof _) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className != toString.call(b)) return false; + switch (className) { + // Strings, numbers, dates, and booleans are compared by value. + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return a == String(b); + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for + // other numeric values. + return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b); + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a == +b; + // RegExps are compared by their source patterns and flags. + case '[object RegExp]': + return a.source == b.source && + a.global == b.global && + a.multiline == b.multiline && + a.ignoreCase == b.ignoreCase; + } + if (typeof a != 'object' || typeof b != 'object') return false; + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] == a) return bStack[length] == b; + } + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + var size = 0, result = true; + // Recursively compare objects and arrays. + if (className == '[object Array]') { + // Compare array lengths to determine if a deep comparison is necessary. + size = a.length; + result = size == b.length; + if (result) { + // Deep compare the contents, ignoring non-numeric properties. + while (size--) { + if (!(result = eq(a[size], b[size], aStack, bStack))) break; + } + } + } else { + // Objects with different constructors are not equivalent, but `Object`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) && + _.isFunction(bCtor) && (bCtor instanceof bCtor))) { + return false; + } + // Deep compare objects. + for (var key in a) { + if (_.has(a, key)) { + // Count the expected number of properties. + size++; + // Deep compare each member. + if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break; + } + } + // Ensure that both objects contain the same number of properties. + if (result) { + for (key in b) { + if (_.has(b, key) && !(size--)) break; + } + result = !size; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return result; + }; + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + return eq(a, b, [], []); + }; + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + _.isEmpty = function(obj) { + if (obj == null) return true; + if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; + for (var key in obj) if (_.has(obj, key)) return false; + return true; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType === 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return toString.call(obj) == '[object Array]'; + }; + + // Is a given variable an object? + _.isObject = function(obj) { + return obj === Object(obj); + }; + + // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp. + each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) { + _['is' + name] = function(obj) { + return toString.call(obj) == '[object ' + name + ']'; + }; + }); + + // Define a fallback version of the method in browsers (ahem, IE), where + // there isn't any inspectable "Arguments" type. + if (!_.isArguments(arguments)) { + _.isArguments = function(obj) { + return !!(obj && _.has(obj, 'callee')); + }; + } + + // Optimize `isFunction` if appropriate. + if (typeof (/./) !== 'function') { + _.isFunction = function(obj) { + return typeof obj === 'function'; + }; + } + + // Is a given object a finite number? + _.isFinite = function(obj) { + return isFinite(obj) && !isNaN(parseFloat(obj)); + }; + + // Is the given value `NaN`? (NaN is the only number which does not equal itself). + _.isNaN = function(obj) { + return _.isNumber(obj) && obj != +obj; + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return obj === void 0; + }; + + // Shortcut function for checking if an object has a given property directly + // on itself (in other words, not on a prototype). + _.has = function(obj, key) { + return hasOwnProperty.call(obj, key); + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iterators. + _.identity = function(value) { + return value; + }; + + // Run a function **n** times. + _.times = function(n, iterator, context) { + var accum = Array(n); + for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i); + return accum; + }; + + // Return a random integer between min and max (inclusive). + _.random = function(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + }; + + // List of HTML entities for escaping. + var entityMap = { + escape: { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/' + } + }; + entityMap.unescape = _.invert(entityMap.escape); + + // Regexes containing the keys and values listed immediately above. + var entityRegexes = { + escape: new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'), + unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g') + }; + + // Functions for escaping and unescaping strings to/from HTML interpolation. + _.each(['escape', 'unescape'], function(method) { + _[method] = function(string) { + if (string == null) return ''; + return ('' + string).replace(entityRegexes[method], function(match) { + return entityMap[method][match]; + }); + }; + }); + + // If the value of the named property is a function then invoke it; + // otherwise, return it. + _.result = function(object, property) { + if (object == null) return null; + var value = object[property]; + return _.isFunction(value) ? value.call(object) : value; + }; + + // Add your own custom functions to the Underscore object. + _.mixin = function(obj) { + each(_.functions(obj), function(name){ + var func = _[name] = obj[name]; + _.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return result.call(this, func.apply(_, args)); + }; + }); + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g, + escape : /<%-([\s\S]+?)%>/g + }; + + // When customizing `templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\t': 't', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + _.template = function(text, data, settings) { + var render; + settings = _.defaults({}, settings, _.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = new RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset) + .replace(escaper, function(match) { return '\\' + escapes[match]; }); + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } + if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } + if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + index = offset + match.length; + return match; + }); + source += "';\n"; + + // If a variable is not specified, place data values in local scope. + if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + "return __p;\n"; + + try { + render = new Function(settings.variable || 'obj', '_', source); + } catch (e) { + e.source = source; + throw e; + } + + if (data) return render(data, _); + var template = function(data) { + return render.call(this, data, _); + }; + + // Provide the compiled function source as a convenience for precompilation. + template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}'; + + return template; + }; + + // Add a "chain" function, which will delegate to the wrapper. + _.chain = function(obj) { + return _(obj).chain(); + }; + + // OOP + // --------------- + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + + // Helper function to continue chaining intermediate results. + var result = function(obj) { + return this._chain ? _(obj).chain() : obj; + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + method.apply(obj, arguments); + if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0]; + return result.call(this, obj); + }; + }); + + // Add all accessor Array functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + return result.call(this, method.apply(this._wrapped, arguments)); + }; + }); + + _.extend(_.prototype, { + + // Start chaining a wrapped Underscore object. + chain: function() { + this._chain = true; + return this; + }, + + // Extracts the result from a wrapped and chained object. + value: function() { + return this._wrapped; + } + + }); + +}).call(this); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json new file mode 100644 index 0000000..09382f8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json @@ -0,0 +1,50 @@ +{ + "name": "argparse", + "description": "Very powerful CLI arguments parser. Native port of argparse - python's options parsing library", + "version": "0.1.15", + "keywords": [ + "cli", + "parser", + "argparse", + "option", + "args" + ], + "homepage": "https://github.com/nodeca/argparse", + "contributors": [ + { + "name": "Eugene Shkuropat" + }, + { + "name": "Paul Jacobson" + } + ], + "bugs": { + "url": "https://github.com/nodeca/argparse/issues" + }, + "license": { + "type": "MIT", + "url": "https://github.com/nodeca/argparse/blob/master/LICENSE" + }, + "repository": { + "type": "git", + "url": "git://github.com/nodeca/argparse.git" + }, + "main": "./index.js", + "scripts": { + "test": "make test" + }, + "dependencies": { + "underscore": "~1.4.3", + "underscore.string": "~2.3.1" + }, + "devDependencies": { + "mocha": "*" + }, + "engines": { + "node": ">= 0.6.0" + }, + "readme": "argparse\n========\n\n[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse)\n\nCLI arguments parser for node.js. Javascript port of python's\n[argparse](http://docs.python.org/dev/library/argparse.html) module\n(original version 3.2). That's a full port, except some very rare options,\nrecorded in issue tracker.\n\n**NB.** Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/).\n\n\nExample\n=======\n\ntest.js file:\n\n```javascript\n#!/usr/bin/env node\n'use strict';\n\nvar ArgumentParser = require('../lib/argparse').ArgumentParser;\nvar parser = new ArgumentParser({\n version: '0.0.1',\n addHelp:true,\n description: 'Argparse example'\n});\nparser.addArgument(\n [ '-f', '--foo' ],\n {\n help: 'foo bar'\n }\n);\nparser.addArgument(\n [ '-b', '--bar' ],\n {\n help: 'bar foo'\n }\n);\nvar args = parser.parseArgs();\nconsole.dir(args);\n```\n\nDisplay help:\n\n```\n$ ./test.js -h\nusage: example.js [-h] [-v] [-f FOO] [-b BAR]\n\nArgparse example\n\nOptional arguments:\n -h, --help Show this help message and exit.\n -v, --version Show program's version number and exit.\n -f FOO, --foo FOO foo bar\n -b BAR, --bar BAR bar foo\n```\n\nParse arguments:\n\n```\n$ ./test.js -f=3 --bar=4\n{ foo: '3', bar: '4' }\n```\n\nMore [examples](https://github.com/nodeca/argparse/tree/master/examples).\n\n\nArgumentParser objects\n======================\n\n```\nnew ArgumentParser({paramters hash});\n```\n\nCreates a new ArgumentParser object.\n\n**Supported params:**\n\n- ```description``` - Text to display before the argument help.\n- ```epilog``` - Text to display after the argument help.\n- ```addHelp``` - Add a -h/–help option to the parser. (default: True)\n- ```argumentDefault``` - Set the global default value for arguments. (default: None)\n- ```parents``` - A list of ArgumentParser objects whose arguments should also be included.\n- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘)\n- ```formatterClass``` - A class for customizing the help output.\n- ```prog``` - The name of the program (default: sys.argv[0])\n- ```usage``` - The string describing the program usage (default: generated)\n- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals.\n\n**Not supportied yet**\n\n- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read.\n\n\nDetails in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects)\n\n\naddArgument() method\n====================\n\n```\nArgumentParser.addArgument([names or flags], {options})\n```\n\nDefines how a single command-line argument should be parsed.\n\n- ```name or flags``` - Either a name or a list of option strings, e.g. foo or -f, --foo.\n\nOptions:\n\n- ```action``` - The basic type of action to be taken when this argument is encountered at the command line.\n- ```nargs```- The number of command-line arguments that should be consumed.\n- ```constant``` - A constant value required by some action and nargs selections.\n- ```defaultValue``` - The value produced if the argument is absent from the command line.\n- ```type``` - The type to which the command-line argument should be converted.\n- ```choices``` - A container of the allowable values for the argument.\n- ```required``` - Whether or not the command-line option may be omitted (optionals only).\n- ```help``` - A brief description of what the argument does.\n- ```metavar``` - A name for the argument in usage messages.\n- ```dest``` - The name of the attribute to be added to the object returned by parseArgs().\n\nDetails in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method)\n\n\nAction (some details)\n================\n\nArgumentParser objects associate command-line arguments with actions.\nThese actions can do just about anything with the command-line arguments associated\nwith them, though most actions simply add an attribute to the object returned by\nparseArgs(). The action keyword argument specifies how the command-line arguments\nshould be handled. The supported actions are:\n\n- ```store``` - Just stores the argument’s value. This is the default action.\n- ```storeConst``` - Stores value, specified by the const keyword argument.\n (Note that the const keyword argument defaults to the rather unhelpful None.)\n The 'storeConst' action is most commonly used with optional arguments, that\n specify some sort of flag.\n- ```storeTrue``` and ```storeFalse``` - Stores values True and False\n respectively. These are special cases of 'storeConst'.\n- ```append``` - Stores a list, and appends each argument value to the list.\n This is useful to allow an option to be specified multiple times.\n- ```appendConst``` - Stores a list, and appends value, specified by the\n const keyword argument to the list. (Note, that the const keyword argument defaults\n is None.) The 'appendConst' action is typically used when multiple arguments need\n to store constants to the same list.\n- ```count``` - Counts the number of times a keyword argument occurs. For example,\n used for increasing verbosity levels.\n- ```help``` - Prints a complete help message for all the options in the current\n parser and then exits. By default a help action is automatically added to the parser.\n See ArgumentParser for details of how the output is created.\n- ```version``` - Prints version information and exit. Expects a `version=`\n keyword argument in the addArgument() call.\n\nDetails in [original action guide](http://docs.python.org/dev/library/argparse.html#action)\n\n\nSub-commands\n============\n\nArgumentParser.addSubparsers()\n\nMany programs split their functionality into a number of sub-commands, for\nexample, the svn program can invoke sub-commands like `svn checkout`, `svn update`,\nand `svn commit`. Splitting up functionality this way can be a particularly good\nidea when a program performs several different functions which require different\nkinds of command-line arguments. `ArgumentParser` supports creation of such\nsub-commands with `addSubparsers()` method. The `addSubparsers()` method is\nnormally called with no arguments and returns an special action object.\nThis object has a single method `addParser()`, which takes a command name and\nany `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object\nthat can be modified as usual.\n\nExample:\n\nsub_commands.js\n```javascript\n#!/usr/bin/env node\n'use strict';\n\nvar ArgumentParser = require('../lib/argparse').ArgumentParser;\nvar parser = new ArgumentParser({\n version: '0.0.1',\n addHelp:true,\n description: 'Argparse examples: sub-commands',\n});\n\nvar subparsers = parser.addSubparsers({\n title:'subcommands',\n dest:\"subcommand_name\"\n});\n\nvar bar = subparsers.addParser('c1', {addHelp:true});\nbar.addArgument(\n [ '-f', '--foo' ],\n {\n action: 'store',\n help: 'foo3 bar3'\n }\n);\nvar bar = subparsers.addParser(\n 'c2',\n {aliases:['co'], addHelp:true}\n);\nbar.addArgument(\n [ '-b', '--bar' ],\n {\n action: 'store',\n type: 'int',\n help: 'foo3 bar3'\n }\n);\n\nvar args = parser.parseArgs();\nconsole.dir(args);\n\n```\n\nDetails in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands)\n\n\nContributors\n============\n\n- [Eugene Shkuropat](https://github.com/shkuropat)\n- [Paul Jacobson](https://github.com/hpaulj)\n\n[others](https://github.com/nodeca/argparse/graphs/contributors)\n\nLicense\n=======\n\nCopyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin).\nReleased under the MIT license. See\n[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details.\n\n\n", + "readmeFilename": "README.md", + "_id": "argparse@0.1.15", + "_from": "argparse@~ 0.1.11" +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md new file mode 100644 index 0000000..a74bd12 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md @@ -0,0 +1,73 @@ +**Esprima** ([esprima.org](http://esprima.org)) is a high performance, +standard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm) +parser written in ECMAScript (also popularly known as +[JavaScript](http://en.wikipedia.org/wiki/JavaScript>JavaScript)). +Esprima is created and maintained by [Ariya Hidayat](http://twitter.com/ariyahidayat), +with the help of [many contributors](https://github.com/ariya/esprima/contributors). + +Esprima runs on web browsers (IE 6+, Firefox 1+, Safari 3+, Chrome 1+, Konqueror 4.6+, Opera 8+) as well as +[Node.js](http://nodejs.org). + +### Features + +- Full support for [ECMAScript 5.1](http://www.ecma-international.org/publications/standards/Ecma-262.htm)(ECMA-262) +- Sensible [syntax tree format](http://esprima.org/doc/index.html#ast) compatible with Mozilla +[Parser AST](https://developer.mozilla.org/en/SpiderMonkey/Parser_API) +- Heavily tested (> 550 [unit tests](http://esprima.org/test/) with solid 100% statement coverage) +- Optional tracking of syntax node location (index-based and line-column) +- Experimental support for ES6/Harmony (module, class, destructuring, ...) + +Esprima is blazing fast (see the [benchmark suite](http://esprima.org/test/benchmarks.html)). +It is up to 3x faster than UglifyJS v1 and it is still [competitive](http://esprima.org/test/compare.html) +with the new generation of fast parsers. + +### Applications + +Esprima serves as the basis for many popular JavaScript development tools: + +- Code coverage analysis: [node-cover](https://github.com/itay/node-cover), [Istanbul](https://github.com/yahoo/Istanbul) +- Documentation tool: [JFDoc](https://github.com/thejohnfreeman/jfdoc), [JSDuck](https://github.com/senchalabs/jsduck) +- Language extension: [LLJS](http://mbebenita.github.com/LLJS/) (low-level JS), +[Sweet.js](http://sweetjs.org/) (macro) +- ES6/Harmony transpiler: [Six](https://github.com/matthewrobb/six), [Harmonizr](https://github.com/jdiamond/harmonizr) +- Eclipse Orion smart editing ([outline view](https://github.com/aclement/esprima-outline), [content assist](http://contraptionsforprogramming.blogspot.com/2012/02/better-javascript-content-assist-in.html)) +- Source code modification: [Esmorph](https://github.com/ariya/esmorph), [Code Painter](https://github.com/fawek/codepainter), +- Source transformation: [node-falafel](https://github.com/substack/node-falafel), [Esmangle](https://github.com/Constellation/esmangle), [escodegen](https://github.com/Constellation/escodegen) + +### Questions? +- [Documentation](http://esprima.org/doc) +- [Issue tracker](http://issues.esprima.org): [known problems](http://code.google.com/p/esprima/issues/list?q=Defect) +and [future plans](http://code.google.com/p/esprima/issues/list?q=Enhancement) +- [Mailing list](http://groups.google.com/group/esprima) +- [Contribution guide](http://esprima.org/doc/index.html#contribution) + +Follow [@Esprima](http://twitter.com/Esprima) on Twitter to get the +development updates. +Feedback and contribution are welcomed! + +### License + +Copyright (C) 2012, 2011 [Ariya Hidayat](http://ariya.ofilabs.com/about) + and other contributors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js new file mode 100644 index 0000000..3e7bb81 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js @@ -0,0 +1,117 @@ +#!/usr/bin/env node +/* + Copyright (C) 2012 Ariya Hidayat + Copyright (C) 2011 Ariya Hidayat + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*jslint sloppy:true node:true rhino:true */ + +var fs, esprima, fname, content, options, syntax; + +if (typeof require === 'function') { + fs = require('fs'); + esprima = require('esprima'); +} else if (typeof load === 'function') { + try { + load('esprima.js'); + } catch (e) { + load('../esprima.js'); + } +} + +// Shims to Node.js objects when running under Rhino. +if (typeof console === 'undefined' && typeof process === 'undefined') { + console = { log: print }; + fs = { readFileSync: readFile }; + process = { argv: arguments, exit: quit }; + process.argv.unshift('esparse.js'); + process.argv.unshift('rhino'); +} + +function showUsage() { + console.log('Usage:'); + console.log(' esparse [options] file.js'); + console.log(); + console.log('Available options:'); + console.log(); + console.log(' --comment Gather all line and block comments in an array'); + console.log(' --loc Include line-column location info for each syntax node'); + console.log(' --range Include index-based range for each syntax node'); + console.log(' --raw Display the raw value of literals'); + console.log(' --tokens List all tokens in an array'); + console.log(' --tolerant Tolerate errors on a best-effort basis (experimental)'); + console.log(' -v, --version Shows program version'); + console.log(); + process.exit(1); +} + +if (process.argv.length <= 2) { + showUsage(); +} + +options = {}; + +process.argv.splice(2).forEach(function (entry) { + + if (entry === '-h' || entry === '--help') { + showUsage(); + } else if (entry === '-v' || entry === '--version') { + console.log('ECMAScript Parser (using Esprima version', esprima.version, ')'); + console.log(); + process.exit(0); + } else if (entry === '--comment') { + options.comment = true; + } else if (entry === '--loc') { + options.loc = true; + } else if (entry === '--range') { + options.range = true; + } else if (entry === '--raw') { + options.raw = true; + } else if (entry === '--tokens') { + options.tokens = true; + } else if (entry === '--tolerant') { + options.tolerant = true; + } else if (entry.slice(0, 2) === '--') { + console.log('Error: unknown option ' + entry + '.'); + process.exit(1); + } else if (typeof fname === 'string') { + console.log('Error: more than one input file.'); + process.exit(1); + } else { + fname = entry; + } +}); + +if (typeof fname !== 'string') { + console.log('Error: no input file.'); + process.exit(1); +} + +try { + content = fs.readFileSync(fname, 'utf-8'); + syntax = esprima.parse(content, options); + console.log(JSON.stringify(syntax, null, 4)); +} catch (e) { + console.log('Error: ' + e.message); + process.exit(1); +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js new file mode 100644 index 0000000..e0af3f7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js @@ -0,0 +1,177 @@ +#!/usr/bin/env node +/* + Copyright (C) 2012 Ariya Hidayat + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*jslint sloppy:true plusplus:true node:true rhino:true */ + +var fs, esprima, options, fnames, count; + +if (typeof require === 'function') { + fs = require('fs'); + esprima = require('esprima'); +} else if (typeof load === 'function') { + try { + load('esprima.js'); + } catch (e) { + load('../esprima.js'); + } +} + +// Shims to Node.js objects when running under Rhino. +if (typeof console === 'undefined' && typeof process === 'undefined') { + console = { log: print }; + fs = { readFileSync: readFile }; + process = { argv: arguments, exit: quit }; + process.argv.unshift('esvalidate.js'); + process.argv.unshift('rhino'); +} + +function showUsage() { + console.log('Usage:'); + console.log(' esvalidate [options] file.js'); + console.log(); + console.log('Available options:'); + console.log(); + console.log(' --format=type Set the report format, plain (default) or junit'); + console.log(' -v, --version Print program version'); + console.log(); + process.exit(1); +} + +if (process.argv.length <= 2) { + showUsage(); +} + +options = { + format: 'plain' +}; + +fnames = []; + +process.argv.splice(2).forEach(function (entry) { + + if (entry === '-h' || entry === '--help') { + showUsage(); + } else if (entry === '-v' || entry === '--version') { + console.log('ECMAScript Validator (using Esprima version', esprima.version, ')'); + console.log(); + process.exit(0); + } else if (entry.slice(0, 9) === '--format=') { + options.format = entry.slice(9); + if (options.format !== 'plain' && options.format !== 'junit') { + console.log('Error: unknown report format ' + options.format + '.'); + process.exit(1); + } + } else if (entry.slice(0, 2) === '--') { + console.log('Error: unknown option ' + entry + '.'); + process.exit(1); + } else { + fnames.push(entry); + } +}); + +if (fnames.length === 0) { + console.log('Error: no input file.'); + process.exit(1); +} + +if (options.format === 'junit') { + console.log(''); + console.log(''); +} + +count = 0; +fnames.forEach(function (fname) { + var content, timestamp, syntax, name; + try { + content = fs.readFileSync(fname, 'utf-8'); + + if (content[0] === '#' && content[1] === '!') { + content = '//' + content.substr(2, content.length); + } + + timestamp = Date.now(); + syntax = esprima.parse(content, { tolerant: true }); + + if (options.format === 'junit') { + + name = fname; + if (name.lastIndexOf('/') >= 0) { + name = name.slice(name.lastIndexOf('/') + 1); + } + + console.log(''); + + syntax.errors.forEach(function (error) { + var msg = error.message; + msg = msg.replace(/^Line\ [0-9]*\:\ /, ''); + console.log(' '); + console.log(' ' + + error.message + '(' + name + ':' + error.lineNumber + ')' + + ''); + console.log(' '); + }); + + console.log(''); + + } else if (options.format === 'plain') { + + syntax.errors.forEach(function (error) { + var msg = error.message; + msg = msg.replace(/^Line\ [0-9]*\:\ /, ''); + msg = fname + ':' + error.lineNumber + ': ' + msg; + console.log(msg); + ++count; + }); + + } + } catch (e) { + ++count; + if (options.format === 'junit') { + console.log(''); + console.log(' '); + console.log(' ' + + e.message + '(' + fname + ((e.lineNumber) ? ':' + e.lineNumber : '') + + ')'); + console.log(' '); + console.log(''); + } else { + console.log('Error: ' + e.message); + } + } +}); + +if (options.format === 'junit') { + console.log(''); +} + +if (count > 0) { + process.exit(1); +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js new file mode 100644 index 0000000..f1320da --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js @@ -0,0 +1,3908 @@ +/* + Copyright (C) 2012 Ariya Hidayat + Copyright (C) 2012 Mathias Bynens + Copyright (C) 2012 Joost-Wim Boekesteijn + Copyright (C) 2012 Kris Kowal + Copyright (C) 2012 Yusuke Suzuki + Copyright (C) 2012 Arpad Borsos + Copyright (C) 2011 Ariya Hidayat + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*jslint bitwise:true plusplus:true */ +/*global esprima:true, define:true, exports:true, window: true, +throwError: true, createLiteral: true, generateStatement: true, +parseAssignmentExpression: true, parseBlock: true, parseExpression: true, +parseFunctionDeclaration: true, parseFunctionExpression: true, +parseFunctionSourceElements: true, parseVariableIdentifier: true, +parseLeftHandSideExpression: true, +parseStatement: true, parseSourceElement: true */ + +(function (root, factory) { + 'use strict'; + + // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, + // Rhino, and plain browser loading. + if (typeof define === 'function' && define.amd) { + define(['exports'], factory); + } else if (typeof exports !== 'undefined') { + factory(exports); + } else { + factory((root.esprima = {})); + } +}(this, function (exports) { + 'use strict'; + + var Token, + TokenName, + Syntax, + PropertyKind, + Messages, + Regex, + source, + strict, + index, + lineNumber, + lineStart, + length, + buffer, + state, + extra; + + Token = { + BooleanLiteral: 1, + EOF: 2, + Identifier: 3, + Keyword: 4, + NullLiteral: 5, + NumericLiteral: 6, + Punctuator: 7, + StringLiteral: 8 + }; + + TokenName = {}; + TokenName[Token.BooleanLiteral] = 'Boolean'; + TokenName[Token.EOF] = ''; + TokenName[Token.Identifier] = 'Identifier'; + TokenName[Token.Keyword] = 'Keyword'; + TokenName[Token.NullLiteral] = 'Null'; + TokenName[Token.NumericLiteral] = 'Numeric'; + TokenName[Token.Punctuator] = 'Punctuator'; + TokenName[Token.StringLiteral] = 'String'; + + Syntax = { + AssignmentExpression: 'AssignmentExpression', + ArrayExpression: 'ArrayExpression', + BlockStatement: 'BlockStatement', + BinaryExpression: 'BinaryExpression', + BreakStatement: 'BreakStatement', + CallExpression: 'CallExpression', + CatchClause: 'CatchClause', + ConditionalExpression: 'ConditionalExpression', + ContinueStatement: 'ContinueStatement', + DoWhileStatement: 'DoWhileStatement', + DebuggerStatement: 'DebuggerStatement', + EmptyStatement: 'EmptyStatement', + ExpressionStatement: 'ExpressionStatement', + ForStatement: 'ForStatement', + ForInStatement: 'ForInStatement', + FunctionDeclaration: 'FunctionDeclaration', + FunctionExpression: 'FunctionExpression', + Identifier: 'Identifier', + IfStatement: 'IfStatement', + Literal: 'Literal', + LabeledStatement: 'LabeledStatement', + LogicalExpression: 'LogicalExpression', + MemberExpression: 'MemberExpression', + NewExpression: 'NewExpression', + ObjectExpression: 'ObjectExpression', + Program: 'Program', + Property: 'Property', + ReturnStatement: 'ReturnStatement', + SequenceExpression: 'SequenceExpression', + SwitchStatement: 'SwitchStatement', + SwitchCase: 'SwitchCase', + ThisExpression: 'ThisExpression', + ThrowStatement: 'ThrowStatement', + TryStatement: 'TryStatement', + UnaryExpression: 'UnaryExpression', + UpdateExpression: 'UpdateExpression', + VariableDeclaration: 'VariableDeclaration', + VariableDeclarator: 'VariableDeclarator', + WhileStatement: 'WhileStatement', + WithStatement: 'WithStatement' + }; + + PropertyKind = { + Data: 1, + Get: 2, + Set: 4 + }; + + // Error messages should be identical to V8. + Messages = { + UnexpectedToken: 'Unexpected token %0', + UnexpectedNumber: 'Unexpected number', + UnexpectedString: 'Unexpected string', + UnexpectedIdentifier: 'Unexpected identifier', + UnexpectedReserved: 'Unexpected reserved word', + UnexpectedEOS: 'Unexpected end of input', + NewlineAfterThrow: 'Illegal newline after throw', + InvalidRegExp: 'Invalid regular expression', + UnterminatedRegExp: 'Invalid regular expression: missing /', + InvalidLHSInAssignment: 'Invalid left-hand side in assignment', + InvalidLHSInForIn: 'Invalid left-hand side in for-in', + MultipleDefaultsInSwitch: 'More than one default clause in switch statement', + NoCatchOrFinally: 'Missing catch or finally after try', + UnknownLabel: 'Undefined label \'%0\'', + Redeclaration: '%0 \'%1\' has already been declared', + IllegalContinue: 'Illegal continue statement', + IllegalBreak: 'Illegal break statement', + IllegalReturn: 'Illegal return statement', + StrictModeWith: 'Strict mode code may not include a with statement', + StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode', + StrictVarName: 'Variable name may not be eval or arguments in strict mode', + StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode', + StrictParamDupe: 'Strict mode function may not have duplicate parameter names', + StrictFunctionName: 'Function name may not be eval or arguments in strict mode', + StrictOctalLiteral: 'Octal literals are not allowed in strict mode.', + StrictDelete: 'Delete of an unqualified identifier in strict mode.', + StrictDuplicateProperty: 'Duplicate data property in object literal not allowed in strict mode', + AccessorDataProperty: 'Object literal may not have data and accessor property with the same name', + AccessorGetSet: 'Object literal may not have multiple get/set accessors with the same name', + StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode', + StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode', + StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode', + StrictReservedWord: 'Use of future reserved word in strict mode' + }; + + // See also tools/generate-unicode-regex.py. + Regex = { + NonAsciiIdentifierStart: new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]'), + NonAsciiIdentifierPart: new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]') + }; + + // Ensure the condition is true, otherwise throw an error. + // This is only to have a better contract semantic, i.e. another safety net + // to catch a logic error. The condition shall be fulfilled in normal case. + // Do NOT use this to enforce a certain condition on any user input. + + function assert(condition, message) { + if (!condition) { + throw new Error('ASSERT: ' + message); + } + } + + function sliceSource(from, to) { + return source.slice(from, to); + } + + if (typeof 'esprima'[0] === 'undefined') { + sliceSource = function sliceArraySource(from, to) { + return source.slice(from, to).join(''); + }; + } + + function isDecimalDigit(ch) { + return '0123456789'.indexOf(ch) >= 0; + } + + function isHexDigit(ch) { + return '0123456789abcdefABCDEF'.indexOf(ch) >= 0; + } + + function isOctalDigit(ch) { + return '01234567'.indexOf(ch) >= 0; + } + + + // 7.2 White Space + + function isWhiteSpace(ch) { + return (ch === ' ') || (ch === '\u0009') || (ch === '\u000B') || + (ch === '\u000C') || (ch === '\u00A0') || + (ch.charCodeAt(0) >= 0x1680 && + '\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\uFEFF'.indexOf(ch) >= 0); + } + + // 7.3 Line Terminators + + function isLineTerminator(ch) { + return (ch === '\n' || ch === '\r' || ch === '\u2028' || ch === '\u2029'); + } + + // 7.6 Identifier Names and Identifiers + + function isIdentifierStart(ch) { + return (ch === '$') || (ch === '_') || (ch === '\\') || + (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || + ((ch.charCodeAt(0) >= 0x80) && Regex.NonAsciiIdentifierStart.test(ch)); + } + + function isIdentifierPart(ch) { + return (ch === '$') || (ch === '_') || (ch === '\\') || + (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || + ((ch >= '0') && (ch <= '9')) || + ((ch.charCodeAt(0) >= 0x80) && Regex.NonAsciiIdentifierPart.test(ch)); + } + + // 7.6.1.2 Future Reserved Words + + function isFutureReservedWord(id) { + switch (id) { + + // Future reserved words. + case 'class': + case 'enum': + case 'export': + case 'extends': + case 'import': + case 'super': + return true; + } + + return false; + } + + function isStrictModeReservedWord(id) { + switch (id) { + + // Strict Mode reserved words. + case 'implements': + case 'interface': + case 'package': + case 'private': + case 'protected': + case 'public': + case 'static': + case 'yield': + case 'let': + return true; + } + + return false; + } + + function isRestrictedWord(id) { + return id === 'eval' || id === 'arguments'; + } + + // 7.6.1.1 Keywords + + function isKeyword(id) { + var keyword = false; + switch (id.length) { + case 2: + keyword = (id === 'if') || (id === 'in') || (id === 'do'); + break; + case 3: + keyword = (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try'); + break; + case 4: + keyword = (id === 'this') || (id === 'else') || (id === 'case') || (id === 'void') || (id === 'with'); + break; + case 5: + keyword = (id === 'while') || (id === 'break') || (id === 'catch') || (id === 'throw'); + break; + case 6: + keyword = (id === 'return') || (id === 'typeof') || (id === 'delete') || (id === 'switch'); + break; + case 7: + keyword = (id === 'default') || (id === 'finally'); + break; + case 8: + keyword = (id === 'function') || (id === 'continue') || (id === 'debugger'); + break; + case 10: + keyword = (id === 'instanceof'); + break; + } + + if (keyword) { + return true; + } + + switch (id) { + // Future reserved words. + // 'const' is specialized as Keyword in V8. + case 'const': + return true; + + // For compatiblity to SpiderMonkey and ES.next + case 'yield': + case 'let': + return true; + } + + if (strict && isStrictModeReservedWord(id)) { + return true; + } + + return isFutureReservedWord(id); + } + + // 7.4 Comments + + function skipComment() { + var ch, blockComment, lineComment; + + blockComment = false; + lineComment = false; + + while (index < length) { + ch = source[index]; + + if (lineComment) { + ch = source[index++]; + if (isLineTerminator(ch)) { + lineComment = false; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + } + } else if (blockComment) { + if (isLineTerminator(ch)) { + if (ch === '\r' && source[index + 1] === '\n') { + ++index; + } + ++lineNumber; + ++index; + lineStart = index; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + ch = source[index++]; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + if (ch === '*') { + ch = source[index]; + if (ch === '/') { + ++index; + blockComment = false; + } + } + } + } else if (ch === '/') { + ch = source[index + 1]; + if (ch === '/') { + index += 2; + lineComment = true; + } else if (ch === '*') { + index += 2; + blockComment = true; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + break; + } + } else if (isWhiteSpace(ch)) { + ++index; + } else if (isLineTerminator(ch)) { + ++index; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + } else { + break; + } + } + } + + function scanHexEscape(prefix) { + var i, len, ch, code = 0; + + len = (prefix === 'u') ? 4 : 2; + for (i = 0; i < len; ++i) { + if (index < length && isHexDigit(source[index])) { + ch = source[index++]; + code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase()); + } else { + return ''; + } + } + return String.fromCharCode(code); + } + + function scanIdentifier() { + var ch, start, id, restore; + + ch = source[index]; + if (!isIdentifierStart(ch)) { + return; + } + + start = index; + if (ch === '\\') { + ++index; + if (source[index] !== 'u') { + return; + } + ++index; + restore = index; + ch = scanHexEscape('u'); + if (ch) { + if (ch === '\\' || !isIdentifierStart(ch)) { + return; + } + id = ch; + } else { + index = restore; + id = 'u'; + } + } else { + id = source[index++]; + } + + while (index < length) { + ch = source[index]; + if (!isIdentifierPart(ch)) { + break; + } + if (ch === '\\') { + ++index; + if (source[index] !== 'u') { + return; + } + ++index; + restore = index; + ch = scanHexEscape('u'); + if (ch) { + if (ch === '\\' || !isIdentifierPart(ch)) { + return; + } + id += ch; + } else { + index = restore; + id += 'u'; + } + } else { + id += source[index++]; + } + } + + // There is no keyword or literal with only one character. + // Thus, it must be an identifier. + if (id.length === 1) { + return { + type: Token.Identifier, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (isKeyword(id)) { + return { + type: Token.Keyword, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.8.1 Null Literals + + if (id === 'null') { + return { + type: Token.NullLiteral, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.8.2 Boolean Literals + + if (id === 'true' || id === 'false') { + return { + type: Token.BooleanLiteral, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + return { + type: Token.Identifier, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.7 Punctuators + + function scanPunctuator() { + var start = index, + ch1 = source[index], + ch2, + ch3, + ch4; + + // Check for most common single-character punctuators. + + if (ch1 === ';' || ch1 === '{' || ch1 === '}') { + ++index; + return { + type: Token.Punctuator, + value: ch1, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === ',' || ch1 === '(' || ch1 === ')') { + ++index; + return { + type: Token.Punctuator, + value: ch1, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // Dot (.) can also start a floating-point number, hence the need + // to check the next character. + + ch2 = source[index + 1]; + if (ch1 === '.' && !isDecimalDigit(ch2)) { + return { + type: Token.Punctuator, + value: source[index++], + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // Peek more characters. + + ch3 = source[index + 2]; + ch4 = source[index + 3]; + + // 4-character punctuator: >>>= + + if (ch1 === '>' && ch2 === '>' && ch3 === '>') { + if (ch4 === '=') { + index += 4; + return { + type: Token.Punctuator, + value: '>>>=', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + // 3-character punctuators: === !== >>> <<= >>= + + if (ch1 === '=' && ch2 === '=' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '===', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '!' && ch2 === '=' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '!==', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '>' && ch2 === '>' && ch3 === '>') { + index += 3; + return { + type: Token.Punctuator, + value: '>>>', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '<' && ch2 === '<' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '<<=', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '>' && ch2 === '>' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '>>=', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 2-character punctuators: <= >= == != ++ -- << >> && || + // += -= *= %= &= |= ^= /= + + if (ch2 === '=') { + if ('<>=!+-*%&|^/'.indexOf(ch1) >= 0) { + index += 2; + return { + type: Token.Punctuator, + value: ch1 + ch2, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + if (ch1 === ch2 && ('+-<>&|'.indexOf(ch1) >= 0)) { + if ('+-<>&|'.indexOf(ch2) >= 0) { + index += 2; + return { + type: Token.Punctuator, + value: ch1 + ch2, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + // The remaining 1-character punctuators. + + if ('[]<>+-*%&|^!~?:=/'.indexOf(ch1) >= 0) { + return { + type: Token.Punctuator, + value: source[index++], + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + // 7.8.3 Numeric Literals + + function scanNumericLiteral() { + var number, start, ch; + + ch = source[index]; + assert(isDecimalDigit(ch) || (ch === '.'), + 'Numeric literal must start with a decimal digit or a decimal point'); + + start = index; + number = ''; + if (ch !== '.') { + number = source[index++]; + ch = source[index]; + + // Hex number starts with '0x'. + // Octal number starts with '0'. + if (number === '0') { + if (ch === 'x' || ch === 'X') { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isHexDigit(ch)) { + break; + } + number += source[index++]; + } + + if (number.length <= 2) { + // only 0x + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + + if (index < length) { + ch = source[index]; + if (isIdentifierStart(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + return { + type: Token.NumericLiteral, + value: parseInt(number, 16), + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } else if (isOctalDigit(ch)) { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isOctalDigit(ch)) { + break; + } + number += source[index++]; + } + + if (index < length) { + ch = source[index]; + if (isIdentifierStart(ch) || isDecimalDigit(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + return { + type: Token.NumericLiteral, + value: parseInt(number, 8), + octal: true, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // decimal number starts with '0' such as '09' is illegal. + if (isDecimalDigit(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + + while (index < length) { + ch = source[index]; + if (!isDecimalDigit(ch)) { + break; + } + number += source[index++]; + } + } + + if (ch === '.') { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isDecimalDigit(ch)) { + break; + } + number += source[index++]; + } + } + + if (ch === 'e' || ch === 'E') { + number += source[index++]; + + ch = source[index]; + if (ch === '+' || ch === '-') { + number += source[index++]; + } + + ch = source[index]; + if (isDecimalDigit(ch)) { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isDecimalDigit(ch)) { + break; + } + number += source[index++]; + } + } else { + ch = 'character ' + ch; + if (index >= length) { + ch = ''; + } + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + + if (index < length) { + ch = source[index]; + if (isIdentifierStart(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + + return { + type: Token.NumericLiteral, + value: parseFloat(number), + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.8.4 String Literals + + function scanStringLiteral() { + var str = '', quote, start, ch, code, unescaped, restore, octal = false; + + quote = source[index]; + assert((quote === '\'' || quote === '"'), + 'String literal must starts with a quote'); + + start = index; + ++index; + + while (index < length) { + ch = source[index++]; + + if (ch === quote) { + quote = ''; + break; + } else if (ch === '\\') { + ch = source[index++]; + if (!isLineTerminator(ch)) { + switch (ch) { + case 'n': + str += '\n'; + break; + case 'r': + str += '\r'; + break; + case 't': + str += '\t'; + break; + case 'u': + case 'x': + restore = index; + unescaped = scanHexEscape(ch); + if (unescaped) { + str += unescaped; + } else { + index = restore; + str += ch; + } + break; + case 'b': + str += '\b'; + break; + case 'f': + str += '\f'; + break; + case 'v': + str += '\x0B'; + break; + + default: + if (isOctalDigit(ch)) { + code = '01234567'.indexOf(ch); + + // \0 is not octal escape sequence + if (code !== 0) { + octal = true; + } + + if (index < length && isOctalDigit(source[index])) { + octal = true; + code = code * 8 + '01234567'.indexOf(source[index++]); + + // 3 digits are only allowed when string starts + // with 0, 1, 2, 3 + if ('0123'.indexOf(ch) >= 0 && + index < length && + isOctalDigit(source[index])) { + code = code * 8 + '01234567'.indexOf(source[index++]); + } + } + str += String.fromCharCode(code); + } else { + str += ch; + } + break; + } + } else { + ++lineNumber; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + } + } else if (isLineTerminator(ch)) { + break; + } else { + str += ch; + } + } + + if (quote !== '') { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + + return { + type: Token.StringLiteral, + value: str, + octal: octal, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + function scanRegExp() { + var str, ch, start, pattern, flags, value, classMarker = false, restore, terminated = false; + + buffer = null; + skipComment(); + + start = index; + ch = source[index]; + assert(ch === '/', 'Regular expression literal must start with a slash'); + str = source[index++]; + + while (index < length) { + ch = source[index++]; + str += ch; + if (ch === '\\') { + ch = source[index++]; + // ECMA-262 7.8.5 + if (isLineTerminator(ch)) { + throwError({}, Messages.UnterminatedRegExp); + } + str += ch; + } else if (classMarker) { + if (ch === ']') { + classMarker = false; + } + } else { + if (ch === '/') { + terminated = true; + break; + } else if (ch === '[') { + classMarker = true; + } else if (isLineTerminator(ch)) { + throwError({}, Messages.UnterminatedRegExp); + } + } + } + + if (!terminated) { + throwError({}, Messages.UnterminatedRegExp); + } + + // Exclude leading and trailing slash. + pattern = str.substr(1, str.length - 2); + + flags = ''; + while (index < length) { + ch = source[index]; + if (!isIdentifierPart(ch)) { + break; + } + + ++index; + if (ch === '\\' && index < length) { + ch = source[index]; + if (ch === 'u') { + ++index; + restore = index; + ch = scanHexEscape('u'); + if (ch) { + flags += ch; + str += '\\u'; + for (; restore < index; ++restore) { + str += source[restore]; + } + } else { + index = restore; + flags += 'u'; + str += '\\u'; + } + } else { + str += '\\'; + } + } else { + flags += ch; + str += ch; + } + } + + try { + value = new RegExp(pattern, flags); + } catch (e) { + throwError({}, Messages.InvalidRegExp); + } + + return { + literal: str, + value: value, + range: [start, index] + }; + } + + function isIdentifierName(token) { + return token.type === Token.Identifier || + token.type === Token.Keyword || + token.type === Token.BooleanLiteral || + token.type === Token.NullLiteral; + } + + function advance() { + var ch, token; + + skipComment(); + + if (index >= length) { + return { + type: Token.EOF, + lineNumber: lineNumber, + lineStart: lineStart, + range: [index, index] + }; + } + + token = scanPunctuator(); + if (typeof token !== 'undefined') { + return token; + } + + ch = source[index]; + + if (ch === '\'' || ch === '"') { + return scanStringLiteral(); + } + + if (ch === '.' || isDecimalDigit(ch)) { + return scanNumericLiteral(); + } + + token = scanIdentifier(); + if (typeof token !== 'undefined') { + return token; + } + + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + + function lex() { + var token; + + if (buffer) { + index = buffer.range[1]; + lineNumber = buffer.lineNumber; + lineStart = buffer.lineStart; + token = buffer; + buffer = null; + return token; + } + + buffer = null; + return advance(); + } + + function lookahead() { + var pos, line, start; + + if (buffer !== null) { + return buffer; + } + + pos = index; + line = lineNumber; + start = lineStart; + buffer = advance(); + index = pos; + lineNumber = line; + lineStart = start; + + return buffer; + } + + // Return true if there is a line terminator before the next token. + + function peekLineTerminator() { + var pos, line, start, found; + + pos = index; + line = lineNumber; + start = lineStart; + skipComment(); + found = lineNumber !== line; + index = pos; + lineNumber = line; + lineStart = start; + + return found; + } + + // Throw an exception + + function throwError(token, messageFormat) { + var error, + args = Array.prototype.slice.call(arguments, 2), + msg = messageFormat.replace( + /%(\d)/g, + function (whole, index) { + return args[index] || ''; + } + ); + + if (typeof token.lineNumber === 'number') { + error = new Error('Line ' + token.lineNumber + ': ' + msg); + error.index = token.range[0]; + error.lineNumber = token.lineNumber; + error.column = token.range[0] - lineStart + 1; + } else { + error = new Error('Line ' + lineNumber + ': ' + msg); + error.index = index; + error.lineNumber = lineNumber; + error.column = index - lineStart + 1; + } + + throw error; + } + + function throwErrorTolerant() { + try { + throwError.apply(null, arguments); + } catch (e) { + if (extra.errors) { + extra.errors.push(e); + } else { + throw e; + } + } + } + + + // Throw an exception because of the token. + + function throwUnexpected(token) { + if (token.type === Token.EOF) { + throwError(token, Messages.UnexpectedEOS); + } + + if (token.type === Token.NumericLiteral) { + throwError(token, Messages.UnexpectedNumber); + } + + if (token.type === Token.StringLiteral) { + throwError(token, Messages.UnexpectedString); + } + + if (token.type === Token.Identifier) { + throwError(token, Messages.UnexpectedIdentifier); + } + + if (token.type === Token.Keyword) { + if (isFutureReservedWord(token.value)) { + throwError(token, Messages.UnexpectedReserved); + } else if (strict && isStrictModeReservedWord(token.value)) { + throwErrorTolerant(token, Messages.StrictReservedWord); + return; + } + throwError(token, Messages.UnexpectedToken, token.value); + } + + // BooleanLiteral, NullLiteral, or Punctuator. + throwError(token, Messages.UnexpectedToken, token.value); + } + + // Expect the next token to match the specified punctuator. + // If not, an exception will be thrown. + + function expect(value) { + var token = lex(); + if (token.type !== Token.Punctuator || token.value !== value) { + throwUnexpected(token); + } + } + + // Expect the next token to match the specified keyword. + // If not, an exception will be thrown. + + function expectKeyword(keyword) { + var token = lex(); + if (token.type !== Token.Keyword || token.value !== keyword) { + throwUnexpected(token); + } + } + + // Return true if the next token matches the specified punctuator. + + function match(value) { + var token = lookahead(); + return token.type === Token.Punctuator && token.value === value; + } + + // Return true if the next token matches the specified keyword + + function matchKeyword(keyword) { + var token = lookahead(); + return token.type === Token.Keyword && token.value === keyword; + } + + // Return true if the next token is an assignment operator + + function matchAssign() { + var token = lookahead(), + op = token.value; + + if (token.type !== Token.Punctuator) { + return false; + } + return op === '=' || + op === '*=' || + op === '/=' || + op === '%=' || + op === '+=' || + op === '-=' || + op === '<<=' || + op === '>>=' || + op === '>>>=' || + op === '&=' || + op === '^=' || + op === '|='; + } + + function consumeSemicolon() { + var token, line; + + // Catch the very common case first. + if (source[index] === ';') { + lex(); + return; + } + + line = lineNumber; + skipComment(); + if (lineNumber !== line) { + return; + } + + if (match(';')) { + lex(); + return; + } + + token = lookahead(); + if (token.type !== Token.EOF && !match('}')) { + throwUnexpected(token); + } + } + + // Return true if provided expression is LeftHandSideExpression + + function isLeftHandSide(expr) { + return expr.type === Syntax.Identifier || expr.type === Syntax.MemberExpression; + } + + // 11.1.4 Array Initialiser + + function parseArrayInitialiser() { + var elements = []; + + expect('['); + + while (!match(']')) { + if (match(',')) { + lex(); + elements.push(null); + } else { + elements.push(parseAssignmentExpression()); + + if (!match(']')) { + expect(','); + } + } + } + + expect(']'); + + return { + type: Syntax.ArrayExpression, + elements: elements + }; + } + + // 11.1.5 Object Initialiser + + function parsePropertyFunction(param, first) { + var previousStrict, body; + + previousStrict = strict; + body = parseFunctionSourceElements(); + if (first && strict && isRestrictedWord(param[0].name)) { + throwErrorTolerant(first, Messages.StrictParamName); + } + strict = previousStrict; + + return { + type: Syntax.FunctionExpression, + id: null, + params: param, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }; + } + + function parseObjectPropertyKey() { + var token = lex(); + + // Note: This function is called only from parseObjectProperty(), where + // EOF and Punctuator tokens are already filtered out. + + if (token.type === Token.StringLiteral || token.type === Token.NumericLiteral) { + if (strict && token.octal) { + throwErrorTolerant(token, Messages.StrictOctalLiteral); + } + return createLiteral(token); + } + + return { + type: Syntax.Identifier, + name: token.value + }; + } + + function parseObjectProperty() { + var token, key, id, param; + + token = lookahead(); + + if (token.type === Token.Identifier) { + + id = parseObjectPropertyKey(); + + // Property Assignment: Getter and Setter. + + if (token.value === 'get' && !match(':')) { + key = parseObjectPropertyKey(); + expect('('); + expect(')'); + return { + type: Syntax.Property, + key: key, + value: parsePropertyFunction([]), + kind: 'get' + }; + } else if (token.value === 'set' && !match(':')) { + key = parseObjectPropertyKey(); + expect('('); + token = lookahead(); + if (token.type !== Token.Identifier) { + expect(')'); + throwErrorTolerant(token, Messages.UnexpectedToken, token.value); + return { + type: Syntax.Property, + key: key, + value: parsePropertyFunction([]), + kind: 'set' + }; + } else { + param = [ parseVariableIdentifier() ]; + expect(')'); + return { + type: Syntax.Property, + key: key, + value: parsePropertyFunction(param, token), + kind: 'set' + }; + } + } else { + expect(':'); + return { + type: Syntax.Property, + key: id, + value: parseAssignmentExpression(), + kind: 'init' + }; + } + } else if (token.type === Token.EOF || token.type === Token.Punctuator) { + throwUnexpected(token); + } else { + key = parseObjectPropertyKey(); + expect(':'); + return { + type: Syntax.Property, + key: key, + value: parseAssignmentExpression(), + kind: 'init' + }; + } + } + + function parseObjectInitialiser() { + var properties = [], property, name, kind, map = {}, toString = String; + + expect('{'); + + while (!match('}')) { + property = parseObjectProperty(); + + if (property.key.type === Syntax.Identifier) { + name = property.key.name; + } else { + name = toString(property.key.value); + } + kind = (property.kind === 'init') ? PropertyKind.Data : (property.kind === 'get') ? PropertyKind.Get : PropertyKind.Set; + if (Object.prototype.hasOwnProperty.call(map, name)) { + if (map[name] === PropertyKind.Data) { + if (strict && kind === PropertyKind.Data) { + throwErrorTolerant({}, Messages.StrictDuplicateProperty); + } else if (kind !== PropertyKind.Data) { + throwErrorTolerant({}, Messages.AccessorDataProperty); + } + } else { + if (kind === PropertyKind.Data) { + throwErrorTolerant({}, Messages.AccessorDataProperty); + } else if (map[name] & kind) { + throwErrorTolerant({}, Messages.AccessorGetSet); + } + } + map[name] |= kind; + } else { + map[name] = kind; + } + + properties.push(property); + + if (!match('}')) { + expect(','); + } + } + + expect('}'); + + return { + type: Syntax.ObjectExpression, + properties: properties + }; + } + + // 11.1.6 The Grouping Operator + + function parseGroupExpression() { + var expr; + + expect('('); + + expr = parseExpression(); + + expect(')'); + + return expr; + } + + + // 11.1 Primary Expressions + + function parsePrimaryExpression() { + var token = lookahead(), + type = token.type; + + if (type === Token.Identifier) { + return { + type: Syntax.Identifier, + name: lex().value + }; + } + + if (type === Token.StringLiteral || type === Token.NumericLiteral) { + if (strict && token.octal) { + throwErrorTolerant(token, Messages.StrictOctalLiteral); + } + return createLiteral(lex()); + } + + if (type === Token.Keyword) { + if (matchKeyword('this')) { + lex(); + return { + type: Syntax.ThisExpression + }; + } + + if (matchKeyword('function')) { + return parseFunctionExpression(); + } + } + + if (type === Token.BooleanLiteral) { + lex(); + token.value = (token.value === 'true'); + return createLiteral(token); + } + + if (type === Token.NullLiteral) { + lex(); + token.value = null; + return createLiteral(token); + } + + if (match('[')) { + return parseArrayInitialiser(); + } + + if (match('{')) { + return parseObjectInitialiser(); + } + + if (match('(')) { + return parseGroupExpression(); + } + + if (match('/') || match('/=')) { + return createLiteral(scanRegExp()); + } + + return throwUnexpected(lex()); + } + + // 11.2 Left-Hand-Side Expressions + + function parseArguments() { + var args = []; + + expect('('); + + if (!match(')')) { + while (index < length) { + args.push(parseAssignmentExpression()); + if (match(')')) { + break; + } + expect(','); + } + } + + expect(')'); + + return args; + } + + function parseNonComputedProperty() { + var token = lex(); + + if (!isIdentifierName(token)) { + throwUnexpected(token); + } + + return { + type: Syntax.Identifier, + name: token.value + }; + } + + function parseNonComputedMember() { + expect('.'); + + return parseNonComputedProperty(); + } + + function parseComputedMember() { + var expr; + + expect('['); + + expr = parseExpression(); + + expect(']'); + + return expr; + } + + function parseNewExpression() { + var expr; + + expectKeyword('new'); + + expr = { + type: Syntax.NewExpression, + callee: parseLeftHandSideExpression(), + 'arguments': [] + }; + + if (match('(')) { + expr['arguments'] = parseArguments(); + } + + return expr; + } + + function parseLeftHandSideExpressionAllowCall() { + var expr; + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[') || match('(')) { + if (match('(')) { + expr = { + type: Syntax.CallExpression, + callee: expr, + 'arguments': parseArguments() + }; + } else if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + } + } + + return expr; + } + + + function parseLeftHandSideExpression() { + var expr; + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[')) { + if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + } + } + + return expr; + } + + // 11.3 Postfix Expressions + + function parsePostfixExpression() { + var expr = parseLeftHandSideExpressionAllowCall(), token; + + token = lookahead(); + if (token.type !== Token.Punctuator) { + return expr; + } + + if ((match('++') || match('--')) && !peekLineTerminator()) { + // 11.3.1, 11.3.2 + if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { + throwErrorTolerant({}, Messages.StrictLHSPostfix); + } + if (!isLeftHandSide(expr)) { + throwErrorTolerant({}, Messages.InvalidLHSInAssignment); + } + + expr = { + type: Syntax.UpdateExpression, + operator: lex().value, + argument: expr, + prefix: false + }; + } + + return expr; + } + + // 11.4 Unary Operators + + function parseUnaryExpression() { + var token, expr; + + token = lookahead(); + if (token.type !== Token.Punctuator && token.type !== Token.Keyword) { + return parsePostfixExpression(); + } + + if (match('++') || match('--')) { + token = lex(); + expr = parseUnaryExpression(); + // 11.4.4, 11.4.5 + if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { + throwErrorTolerant({}, Messages.StrictLHSPrefix); + } + + if (!isLeftHandSide(expr)) { + throwErrorTolerant({}, Messages.InvalidLHSInAssignment); + } + + expr = { + type: Syntax.UpdateExpression, + operator: token.value, + argument: expr, + prefix: true + }; + return expr; + } + + if (match('+') || match('-') || match('~') || match('!')) { + expr = { + type: Syntax.UnaryExpression, + operator: lex().value, + argument: parseUnaryExpression(), + prefix: true + }; + return expr; + } + + if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) { + expr = { + type: Syntax.UnaryExpression, + operator: lex().value, + argument: parseUnaryExpression(), + prefix: true + }; + if (strict && expr.operator === 'delete' && expr.argument.type === Syntax.Identifier) { + throwErrorTolerant({}, Messages.StrictDelete); + } + return expr; + } + + return parsePostfixExpression(); + } + + // 11.5 Multiplicative Operators + + function parseMultiplicativeExpression() { + var expr = parseUnaryExpression(); + + while (match('*') || match('/') || match('%')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseUnaryExpression() + }; + } + + return expr; + } + + // 11.6 Additive Operators + + function parseAdditiveExpression() { + var expr = parseMultiplicativeExpression(); + + while (match('+') || match('-')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseMultiplicativeExpression() + }; + } + + return expr; + } + + // 11.7 Bitwise Shift Operators + + function parseShiftExpression() { + var expr = parseAdditiveExpression(); + + while (match('<<') || match('>>') || match('>>>')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseAdditiveExpression() + }; + } + + return expr; + } + // 11.8 Relational Operators + + function parseRelationalExpression() { + var expr, previousAllowIn; + + previousAllowIn = state.allowIn; + state.allowIn = true; + + expr = parseShiftExpression(); + + while (match('<') || match('>') || match('<=') || match('>=') || (previousAllowIn && matchKeyword('in')) || matchKeyword('instanceof')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseShiftExpression() + }; + } + + state.allowIn = previousAllowIn; + return expr; + } + + // 11.9 Equality Operators + + function parseEqualityExpression() { + var expr = parseRelationalExpression(); + + while (match('==') || match('!=') || match('===') || match('!==')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseRelationalExpression() + }; + } + + return expr; + } + + // 11.10 Binary Bitwise Operators + + function parseBitwiseANDExpression() { + var expr = parseEqualityExpression(); + + while (match('&')) { + lex(); + expr = { + type: Syntax.BinaryExpression, + operator: '&', + left: expr, + right: parseEqualityExpression() + }; + } + + return expr; + } + + function parseBitwiseXORExpression() { + var expr = parseBitwiseANDExpression(); + + while (match('^')) { + lex(); + expr = { + type: Syntax.BinaryExpression, + operator: '^', + left: expr, + right: parseBitwiseANDExpression() + }; + } + + return expr; + } + + function parseBitwiseORExpression() { + var expr = parseBitwiseXORExpression(); + + while (match('|')) { + lex(); + expr = { + type: Syntax.BinaryExpression, + operator: '|', + left: expr, + right: parseBitwiseXORExpression() + }; + } + + return expr; + } + + // 11.11 Binary Logical Operators + + function parseLogicalANDExpression() { + var expr = parseBitwiseORExpression(); + + while (match('&&')) { + lex(); + expr = { + type: Syntax.LogicalExpression, + operator: '&&', + left: expr, + right: parseBitwiseORExpression() + }; + } + + return expr; + } + + function parseLogicalORExpression() { + var expr = parseLogicalANDExpression(); + + while (match('||')) { + lex(); + expr = { + type: Syntax.LogicalExpression, + operator: '||', + left: expr, + right: parseLogicalANDExpression() + }; + } + + return expr; + } + + // 11.12 Conditional Operator + + function parseConditionalExpression() { + var expr, previousAllowIn, consequent; + + expr = parseLogicalORExpression(); + + if (match('?')) { + lex(); + previousAllowIn = state.allowIn; + state.allowIn = true; + consequent = parseAssignmentExpression(); + state.allowIn = previousAllowIn; + expect(':'); + + expr = { + type: Syntax.ConditionalExpression, + test: expr, + consequent: consequent, + alternate: parseAssignmentExpression() + }; + } + + return expr; + } + + // 11.13 Assignment Operators + + function parseAssignmentExpression() { + var token, expr; + + token = lookahead(); + expr = parseConditionalExpression(); + + if (matchAssign()) { + // LeftHandSideExpression + if (!isLeftHandSide(expr)) { + throwErrorTolerant({}, Messages.InvalidLHSInAssignment); + } + + // 11.13.1 + if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { + throwErrorTolerant(token, Messages.StrictLHSAssignment); + } + + expr = { + type: Syntax.AssignmentExpression, + operator: lex().value, + left: expr, + right: parseAssignmentExpression() + }; + } + + return expr; + } + + // 11.14 Comma Operator + + function parseExpression() { + var expr = parseAssignmentExpression(); + + if (match(',')) { + expr = { + type: Syntax.SequenceExpression, + expressions: [ expr ] + }; + + while (index < length) { + if (!match(',')) { + break; + } + lex(); + expr.expressions.push(parseAssignmentExpression()); + } + + } + return expr; + } + + // 12.1 Block + + function parseStatementList() { + var list = [], + statement; + + while (index < length) { + if (match('}')) { + break; + } + statement = parseSourceElement(); + if (typeof statement === 'undefined') { + break; + } + list.push(statement); + } + + return list; + } + + function parseBlock() { + var block; + + expect('{'); + + block = parseStatementList(); + + expect('}'); + + return { + type: Syntax.BlockStatement, + body: block + }; + } + + // 12.2 Variable Statement + + function parseVariableIdentifier() { + var token = lex(); + + if (token.type !== Token.Identifier) { + throwUnexpected(token); + } + + return { + type: Syntax.Identifier, + name: token.value + }; + } + + function parseVariableDeclaration(kind) { + var id = parseVariableIdentifier(), + init = null; + + // 12.2.1 + if (strict && isRestrictedWord(id.name)) { + throwErrorTolerant({}, Messages.StrictVarName); + } + + if (kind === 'const') { + expect('='); + init = parseAssignmentExpression(); + } else if (match('=')) { + lex(); + init = parseAssignmentExpression(); + } + + return { + type: Syntax.VariableDeclarator, + id: id, + init: init + }; + } + + function parseVariableDeclarationList(kind) { + var list = []; + + do { + list.push(parseVariableDeclaration(kind)); + if (!match(',')) { + break; + } + lex(); + } while (index < length); + + return list; + } + + function parseVariableStatement() { + var declarations; + + expectKeyword('var'); + + declarations = parseVariableDeclarationList(); + + consumeSemicolon(); + + return { + type: Syntax.VariableDeclaration, + declarations: declarations, + kind: 'var' + }; + } + + // kind may be `const` or `let` + // Both are experimental and not in the specification yet. + // see http://wiki.ecmascript.org/doku.php?id=harmony:const + // and http://wiki.ecmascript.org/doku.php?id=harmony:let + function parseConstLetDeclaration(kind) { + var declarations; + + expectKeyword(kind); + + declarations = parseVariableDeclarationList(kind); + + consumeSemicolon(); + + return { + type: Syntax.VariableDeclaration, + declarations: declarations, + kind: kind + }; + } + + // 12.3 Empty Statement + + function parseEmptyStatement() { + expect(';'); + + return { + type: Syntax.EmptyStatement + }; + } + + // 12.4 Expression Statement + + function parseExpressionStatement() { + var expr = parseExpression(); + + consumeSemicolon(); + + return { + type: Syntax.ExpressionStatement, + expression: expr + }; + } + + // 12.5 If statement + + function parseIfStatement() { + var test, consequent, alternate; + + expectKeyword('if'); + + expect('('); + + test = parseExpression(); + + expect(')'); + + consequent = parseStatement(); + + if (matchKeyword('else')) { + lex(); + alternate = parseStatement(); + } else { + alternate = null; + } + + return { + type: Syntax.IfStatement, + test: test, + consequent: consequent, + alternate: alternate + }; + } + + // 12.6 Iteration Statements + + function parseDoWhileStatement() { + var body, test, oldInIteration; + + expectKeyword('do'); + + oldInIteration = state.inIteration; + state.inIteration = true; + + body = parseStatement(); + + state.inIteration = oldInIteration; + + expectKeyword('while'); + + expect('('); + + test = parseExpression(); + + expect(')'); + + if (match(';')) { + lex(); + } + + return { + type: Syntax.DoWhileStatement, + body: body, + test: test + }; + } + + function parseWhileStatement() { + var test, body, oldInIteration; + + expectKeyword('while'); + + expect('('); + + test = parseExpression(); + + expect(')'); + + oldInIteration = state.inIteration; + state.inIteration = true; + + body = parseStatement(); + + state.inIteration = oldInIteration; + + return { + type: Syntax.WhileStatement, + test: test, + body: body + }; + } + + function parseForVariableDeclaration() { + var token = lex(); + + return { + type: Syntax.VariableDeclaration, + declarations: parseVariableDeclarationList(), + kind: token.value + }; + } + + function parseForStatement() { + var init, test, update, left, right, body, oldInIteration; + + init = test = update = null; + + expectKeyword('for'); + + expect('('); + + if (match(';')) { + lex(); + } else { + if (matchKeyword('var') || matchKeyword('let')) { + state.allowIn = false; + init = parseForVariableDeclaration(); + state.allowIn = true; + + if (init.declarations.length === 1 && matchKeyword('in')) { + lex(); + left = init; + right = parseExpression(); + init = null; + } + } else { + state.allowIn = false; + init = parseExpression(); + state.allowIn = true; + + if (matchKeyword('in')) { + // LeftHandSideExpression + if (!isLeftHandSide(init)) { + throwErrorTolerant({}, Messages.InvalidLHSInForIn); + } + + lex(); + left = init; + right = parseExpression(); + init = null; + } + } + + if (typeof left === 'undefined') { + expect(';'); + } + } + + if (typeof left === 'undefined') { + + if (!match(';')) { + test = parseExpression(); + } + expect(';'); + + if (!match(')')) { + update = parseExpression(); + } + } + + expect(')'); + + oldInIteration = state.inIteration; + state.inIteration = true; + + body = parseStatement(); + + state.inIteration = oldInIteration; + + if (typeof left === 'undefined') { + return { + type: Syntax.ForStatement, + init: init, + test: test, + update: update, + body: body + }; + } + + return { + type: Syntax.ForInStatement, + left: left, + right: right, + body: body, + each: false + }; + } + + // 12.7 The continue statement + + function parseContinueStatement() { + var token, label = null; + + expectKeyword('continue'); + + // Optimize the most common form: 'continue;'. + if (source[index] === ';') { + lex(); + + if (!state.inIteration) { + throwError({}, Messages.IllegalContinue); + } + + return { + type: Syntax.ContinueStatement, + label: null + }; + } + + if (peekLineTerminator()) { + if (!state.inIteration) { + throwError({}, Messages.IllegalContinue); + } + + return { + type: Syntax.ContinueStatement, + label: null + }; + } + + token = lookahead(); + if (token.type === Token.Identifier) { + label = parseVariableIdentifier(); + + if (!Object.prototype.hasOwnProperty.call(state.labelSet, label.name)) { + throwError({}, Messages.UnknownLabel, label.name); + } + } + + consumeSemicolon(); + + if (label === null && !state.inIteration) { + throwError({}, Messages.IllegalContinue); + } + + return { + type: Syntax.ContinueStatement, + label: label + }; + } + + // 12.8 The break statement + + function parseBreakStatement() { + var token, label = null; + + expectKeyword('break'); + + // Optimize the most common form: 'break;'. + if (source[index] === ';') { + lex(); + + if (!(state.inIteration || state.inSwitch)) { + throwError({}, Messages.IllegalBreak); + } + + return { + type: Syntax.BreakStatement, + label: null + }; + } + + if (peekLineTerminator()) { + if (!(state.inIteration || state.inSwitch)) { + throwError({}, Messages.IllegalBreak); + } + + return { + type: Syntax.BreakStatement, + label: null + }; + } + + token = lookahead(); + if (token.type === Token.Identifier) { + label = parseVariableIdentifier(); + + if (!Object.prototype.hasOwnProperty.call(state.labelSet, label.name)) { + throwError({}, Messages.UnknownLabel, label.name); + } + } + + consumeSemicolon(); + + if (label === null && !(state.inIteration || state.inSwitch)) { + throwError({}, Messages.IllegalBreak); + } + + return { + type: Syntax.BreakStatement, + label: label + }; + } + + // 12.9 The return statement + + function parseReturnStatement() { + var token, argument = null; + + expectKeyword('return'); + + if (!state.inFunctionBody) { + throwErrorTolerant({}, Messages.IllegalReturn); + } + + // 'return' followed by a space and an identifier is very common. + if (source[index] === ' ') { + if (isIdentifierStart(source[index + 1])) { + argument = parseExpression(); + consumeSemicolon(); + return { + type: Syntax.ReturnStatement, + argument: argument + }; + } + } + + if (peekLineTerminator()) { + return { + type: Syntax.ReturnStatement, + argument: null + }; + } + + if (!match(';')) { + token = lookahead(); + if (!match('}') && token.type !== Token.EOF) { + argument = parseExpression(); + } + } + + consumeSemicolon(); + + return { + type: Syntax.ReturnStatement, + argument: argument + }; + } + + // 12.10 The with statement + + function parseWithStatement() { + var object, body; + + if (strict) { + throwErrorTolerant({}, Messages.StrictModeWith); + } + + expectKeyword('with'); + + expect('('); + + object = parseExpression(); + + expect(')'); + + body = parseStatement(); + + return { + type: Syntax.WithStatement, + object: object, + body: body + }; + } + + // 12.10 The swith statement + + function parseSwitchCase() { + var test, + consequent = [], + statement; + + if (matchKeyword('default')) { + lex(); + test = null; + } else { + expectKeyword('case'); + test = parseExpression(); + } + expect(':'); + + while (index < length) { + if (match('}') || matchKeyword('default') || matchKeyword('case')) { + break; + } + statement = parseStatement(); + if (typeof statement === 'undefined') { + break; + } + consequent.push(statement); + } + + return { + type: Syntax.SwitchCase, + test: test, + consequent: consequent + }; + } + + function parseSwitchStatement() { + var discriminant, cases, clause, oldInSwitch, defaultFound; + + expectKeyword('switch'); + + expect('('); + + discriminant = parseExpression(); + + expect(')'); + + expect('{'); + + cases = []; + + if (match('}')) { + lex(); + return { + type: Syntax.SwitchStatement, + discriminant: discriminant, + cases: cases + }; + } + + oldInSwitch = state.inSwitch; + state.inSwitch = true; + defaultFound = false; + + while (index < length) { + if (match('}')) { + break; + } + clause = parseSwitchCase(); + if (clause.test === null) { + if (defaultFound) { + throwError({}, Messages.MultipleDefaultsInSwitch); + } + defaultFound = true; + } + cases.push(clause); + } + + state.inSwitch = oldInSwitch; + + expect('}'); + + return { + type: Syntax.SwitchStatement, + discriminant: discriminant, + cases: cases + }; + } + + // 12.13 The throw statement + + function parseThrowStatement() { + var argument; + + expectKeyword('throw'); + + if (peekLineTerminator()) { + throwError({}, Messages.NewlineAfterThrow); + } + + argument = parseExpression(); + + consumeSemicolon(); + + return { + type: Syntax.ThrowStatement, + argument: argument + }; + } + + // 12.14 The try statement + + function parseCatchClause() { + var param; + + expectKeyword('catch'); + + expect('('); + if (match(')')) { + throwUnexpected(lookahead()); + } + + param = parseVariableIdentifier(); + // 12.14.1 + if (strict && isRestrictedWord(param.name)) { + throwErrorTolerant({}, Messages.StrictCatchVariable); + } + + expect(')'); + + return { + type: Syntax.CatchClause, + param: param, + body: parseBlock() + }; + } + + function parseTryStatement() { + var block, handlers = [], finalizer = null; + + expectKeyword('try'); + + block = parseBlock(); + + if (matchKeyword('catch')) { + handlers.push(parseCatchClause()); + } + + if (matchKeyword('finally')) { + lex(); + finalizer = parseBlock(); + } + + if (handlers.length === 0 && !finalizer) { + throwError({}, Messages.NoCatchOrFinally); + } + + return { + type: Syntax.TryStatement, + block: block, + guardedHandlers: [], + handlers: handlers, + finalizer: finalizer + }; + } + + // 12.15 The debugger statement + + function parseDebuggerStatement() { + expectKeyword('debugger'); + + consumeSemicolon(); + + return { + type: Syntax.DebuggerStatement + }; + } + + // 12 Statements + + function parseStatement() { + var token = lookahead(), + expr, + labeledBody; + + if (token.type === Token.EOF) { + throwUnexpected(token); + } + + if (token.type === Token.Punctuator) { + switch (token.value) { + case ';': + return parseEmptyStatement(); + case '{': + return parseBlock(); + case '(': + return parseExpressionStatement(); + default: + break; + } + } + + if (token.type === Token.Keyword) { + switch (token.value) { + case 'break': + return parseBreakStatement(); + case 'continue': + return parseContinueStatement(); + case 'debugger': + return parseDebuggerStatement(); + case 'do': + return parseDoWhileStatement(); + case 'for': + return parseForStatement(); + case 'function': + return parseFunctionDeclaration(); + case 'if': + return parseIfStatement(); + case 'return': + return parseReturnStatement(); + case 'switch': + return parseSwitchStatement(); + case 'throw': + return parseThrowStatement(); + case 'try': + return parseTryStatement(); + case 'var': + return parseVariableStatement(); + case 'while': + return parseWhileStatement(); + case 'with': + return parseWithStatement(); + default: + break; + } + } + + expr = parseExpression(); + + // 12.12 Labelled Statements + if ((expr.type === Syntax.Identifier) && match(':')) { + lex(); + + if (Object.prototype.hasOwnProperty.call(state.labelSet, expr.name)) { + throwError({}, Messages.Redeclaration, 'Label', expr.name); + } + + state.labelSet[expr.name] = true; + labeledBody = parseStatement(); + delete state.labelSet[expr.name]; + + return { + type: Syntax.LabeledStatement, + label: expr, + body: labeledBody + }; + } + + consumeSemicolon(); + + return { + type: Syntax.ExpressionStatement, + expression: expr + }; + } + + // 13 Function Definition + + function parseFunctionSourceElements() { + var sourceElement, sourceElements = [], token, directive, firstRestricted, + oldLabelSet, oldInIteration, oldInSwitch, oldInFunctionBody; + + expect('{'); + + while (index < length) { + token = lookahead(); + if (token.type !== Token.StringLiteral) { + break; + } + + sourceElement = parseSourceElement(); + sourceElements.push(sourceElement); + if (sourceElement.expression.type !== Syntax.Literal) { + // this is not directive + break; + } + directive = sliceSource(token.range[0] + 1, token.range[1] - 1); + if (directive === 'use strict') { + strict = true; + if (firstRestricted) { + throwErrorTolerant(firstRestricted, Messages.StrictOctalLiteral); + } + } else { + if (!firstRestricted && token.octal) { + firstRestricted = token; + } + } + } + + oldLabelSet = state.labelSet; + oldInIteration = state.inIteration; + oldInSwitch = state.inSwitch; + oldInFunctionBody = state.inFunctionBody; + + state.labelSet = {}; + state.inIteration = false; + state.inSwitch = false; + state.inFunctionBody = true; + + while (index < length) { + if (match('}')) { + break; + } + sourceElement = parseSourceElement(); + if (typeof sourceElement === 'undefined') { + break; + } + sourceElements.push(sourceElement); + } + + expect('}'); + + state.labelSet = oldLabelSet; + state.inIteration = oldInIteration; + state.inSwitch = oldInSwitch; + state.inFunctionBody = oldInFunctionBody; + + return { + type: Syntax.BlockStatement, + body: sourceElements + }; + } + + function parseFunctionDeclaration() { + var id, param, params = [], body, token, stricted, firstRestricted, message, previousStrict, paramSet; + + expectKeyword('function'); + token = lookahead(); + id = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + throwErrorTolerant(token, Messages.StrictFunctionName); + } + } else { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictFunctionName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } + } + + expect('('); + + if (!match(')')) { + paramSet = {}; + while (index < length) { + token = lookahead(); + param = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + stricted = token; + message = Messages.StrictParamName; + } + if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + stricted = token; + message = Messages.StrictParamDupe; + } + } else if (!firstRestricted) { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictParamName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } else if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + firstRestricted = token; + message = Messages.StrictParamDupe; + } + } + params.push(param); + paramSet[param.name] = true; + if (match(')')) { + break; + } + expect(','); + } + } + + expect(')'); + + previousStrict = strict; + body = parseFunctionSourceElements(); + if (strict && firstRestricted) { + throwError(firstRestricted, message); + } + if (strict && stricted) { + throwErrorTolerant(stricted, message); + } + strict = previousStrict; + + return { + type: Syntax.FunctionDeclaration, + id: id, + params: params, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }; + } + + function parseFunctionExpression() { + var token, id = null, stricted, firstRestricted, message, param, params = [], body, previousStrict, paramSet; + + expectKeyword('function'); + + if (!match('(')) { + token = lookahead(); + id = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + throwErrorTolerant(token, Messages.StrictFunctionName); + } + } else { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictFunctionName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } + } + } + + expect('('); + + if (!match(')')) { + paramSet = {}; + while (index < length) { + token = lookahead(); + param = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + stricted = token; + message = Messages.StrictParamName; + } + if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + stricted = token; + message = Messages.StrictParamDupe; + } + } else if (!firstRestricted) { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictParamName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } else if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + firstRestricted = token; + message = Messages.StrictParamDupe; + } + } + params.push(param); + paramSet[param.name] = true; + if (match(')')) { + break; + } + expect(','); + } + } + + expect(')'); + + previousStrict = strict; + body = parseFunctionSourceElements(); + if (strict && firstRestricted) { + throwError(firstRestricted, message); + } + if (strict && stricted) { + throwErrorTolerant(stricted, message); + } + strict = previousStrict; + + return { + type: Syntax.FunctionExpression, + id: id, + params: params, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }; + } + + // 14 Program + + function parseSourceElement() { + var token = lookahead(); + + if (token.type === Token.Keyword) { + switch (token.value) { + case 'const': + case 'let': + return parseConstLetDeclaration(token.value); + case 'function': + return parseFunctionDeclaration(); + default: + return parseStatement(); + } + } + + if (token.type !== Token.EOF) { + return parseStatement(); + } + } + + function parseSourceElements() { + var sourceElement, sourceElements = [], token, directive, firstRestricted; + + while (index < length) { + token = lookahead(); + if (token.type !== Token.StringLiteral) { + break; + } + + sourceElement = parseSourceElement(); + sourceElements.push(sourceElement); + if (sourceElement.expression.type !== Syntax.Literal) { + // this is not directive + break; + } + directive = sliceSource(token.range[0] + 1, token.range[1] - 1); + if (directive === 'use strict') { + strict = true; + if (firstRestricted) { + throwErrorTolerant(firstRestricted, Messages.StrictOctalLiteral); + } + } else { + if (!firstRestricted && token.octal) { + firstRestricted = token; + } + } + } + + while (index < length) { + sourceElement = parseSourceElement(); + if (typeof sourceElement === 'undefined') { + break; + } + sourceElements.push(sourceElement); + } + return sourceElements; + } + + function parseProgram() { + var program; + strict = false; + program = { + type: Syntax.Program, + body: parseSourceElements() + }; + return program; + } + + // The following functions are needed only when the option to preserve + // the comments is active. + + function addComment(type, value, start, end, loc) { + assert(typeof start === 'number', 'Comment must have valid position'); + + // Because the way the actual token is scanned, often the comments + // (if any) are skipped twice during the lexical analysis. + // Thus, we need to skip adding a comment if the comment array already + // handled it. + if (extra.comments.length > 0) { + if (extra.comments[extra.comments.length - 1].range[1] > start) { + return; + } + } + + extra.comments.push({ + type: type, + value: value, + range: [start, end], + loc: loc + }); + } + + function scanComment() { + var comment, ch, loc, start, blockComment, lineComment; + + comment = ''; + blockComment = false; + lineComment = false; + + while (index < length) { + ch = source[index]; + + if (lineComment) { + ch = source[index++]; + if (isLineTerminator(ch)) { + loc.end = { + line: lineNumber, + column: index - lineStart - 1 + }; + lineComment = false; + addComment('Line', comment, start, index - 1, loc); + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + comment = ''; + } else if (index >= length) { + lineComment = false; + comment += ch; + loc.end = { + line: lineNumber, + column: length - lineStart + }; + addComment('Line', comment, start, length, loc); + } else { + comment += ch; + } + } else if (blockComment) { + if (isLineTerminator(ch)) { + if (ch === '\r' && source[index + 1] === '\n') { + ++index; + comment += '\r\n'; + } else { + comment += ch; + } + ++lineNumber; + ++index; + lineStart = index; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + ch = source[index++]; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + comment += ch; + if (ch === '*') { + ch = source[index]; + if (ch === '/') { + comment = comment.substr(0, comment.length - 1); + blockComment = false; + ++index; + loc.end = { + line: lineNumber, + column: index - lineStart + }; + addComment('Block', comment, start, index, loc); + comment = ''; + } + } + } + } else if (ch === '/') { + ch = source[index + 1]; + if (ch === '/') { + loc = { + start: { + line: lineNumber, + column: index - lineStart + } + }; + start = index; + index += 2; + lineComment = true; + if (index >= length) { + loc.end = { + line: lineNumber, + column: index - lineStart + }; + lineComment = false; + addComment('Line', comment, start, index, loc); + } + } else if (ch === '*') { + start = index; + index += 2; + blockComment = true; + loc = { + start: { + line: lineNumber, + column: index - lineStart - 2 + } + }; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + break; + } + } else if (isWhiteSpace(ch)) { + ++index; + } else if (isLineTerminator(ch)) { + ++index; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + } else { + break; + } + } + } + + function filterCommentLocation() { + var i, entry, comment, comments = []; + + for (i = 0; i < extra.comments.length; ++i) { + entry = extra.comments[i]; + comment = { + type: entry.type, + value: entry.value + }; + if (extra.range) { + comment.range = entry.range; + } + if (extra.loc) { + comment.loc = entry.loc; + } + comments.push(comment); + } + + extra.comments = comments; + } + + function collectToken() { + var start, loc, token, range, value; + + skipComment(); + start = index; + loc = { + start: { + line: lineNumber, + column: index - lineStart + } + }; + + token = extra.advance(); + loc.end = { + line: lineNumber, + column: index - lineStart + }; + + if (token.type !== Token.EOF) { + range = [token.range[0], token.range[1]]; + value = sliceSource(token.range[0], token.range[1]); + extra.tokens.push({ + type: TokenName[token.type], + value: value, + range: range, + loc: loc + }); + } + + return token; + } + + function collectRegex() { + var pos, loc, regex, token; + + skipComment(); + + pos = index; + loc = { + start: { + line: lineNumber, + column: index - lineStart + } + }; + + regex = extra.scanRegExp(); + loc.end = { + line: lineNumber, + column: index - lineStart + }; + + // Pop the previous token, which is likely '/' or '/=' + if (extra.tokens.length > 0) { + token = extra.tokens[extra.tokens.length - 1]; + if (token.range[0] === pos && token.type === 'Punctuator') { + if (token.value === '/' || token.value === '/=') { + extra.tokens.pop(); + } + } + } + + extra.tokens.push({ + type: 'RegularExpression', + value: regex.literal, + range: [pos, index], + loc: loc + }); + + return regex; + } + + function filterTokenLocation() { + var i, entry, token, tokens = []; + + for (i = 0; i < extra.tokens.length; ++i) { + entry = extra.tokens[i]; + token = { + type: entry.type, + value: entry.value + }; + if (extra.range) { + token.range = entry.range; + } + if (extra.loc) { + token.loc = entry.loc; + } + tokens.push(token); + } + + extra.tokens = tokens; + } + + function createLiteral(token) { + return { + type: Syntax.Literal, + value: token.value + }; + } + + function createRawLiteral(token) { + return { + type: Syntax.Literal, + value: token.value, + raw: sliceSource(token.range[0], token.range[1]) + }; + } + + function createLocationMarker() { + var marker = {}; + + marker.range = [index, index]; + marker.loc = { + start: { + line: lineNumber, + column: index - lineStart + }, + end: { + line: lineNumber, + column: index - lineStart + } + }; + + marker.end = function () { + this.range[1] = index; + this.loc.end.line = lineNumber; + this.loc.end.column = index - lineStart; + }; + + marker.applyGroup = function (node) { + if (extra.range) { + node.groupRange = [this.range[0], this.range[1]]; + } + if (extra.loc) { + node.groupLoc = { + start: { + line: this.loc.start.line, + column: this.loc.start.column + }, + end: { + line: this.loc.end.line, + column: this.loc.end.column + } + }; + } + }; + + marker.apply = function (node) { + if (extra.range) { + node.range = [this.range[0], this.range[1]]; + } + if (extra.loc) { + node.loc = { + start: { + line: this.loc.start.line, + column: this.loc.start.column + }, + end: { + line: this.loc.end.line, + column: this.loc.end.column + } + }; + } + }; + + return marker; + } + + function trackGroupExpression() { + var marker, expr; + + skipComment(); + marker = createLocationMarker(); + expect('('); + + expr = parseExpression(); + + expect(')'); + + marker.end(); + marker.applyGroup(expr); + + return expr; + } + + function trackLeftHandSideExpression() { + var marker, expr; + + skipComment(); + marker = createLocationMarker(); + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[')) { + if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + marker.end(); + marker.apply(expr); + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + marker.end(); + marker.apply(expr); + } + } + + return expr; + } + + function trackLeftHandSideExpressionAllowCall() { + var marker, expr; + + skipComment(); + marker = createLocationMarker(); + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[') || match('(')) { + if (match('(')) { + expr = { + type: Syntax.CallExpression, + callee: expr, + 'arguments': parseArguments() + }; + marker.end(); + marker.apply(expr); + } else if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + marker.end(); + marker.apply(expr); + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + marker.end(); + marker.apply(expr); + } + } + + return expr; + } + + function filterGroup(node) { + var n, i, entry; + + n = (Object.prototype.toString.apply(node) === '[object Array]') ? [] : {}; + for (i in node) { + if (node.hasOwnProperty(i) && i !== 'groupRange' && i !== 'groupLoc') { + entry = node[i]; + if (entry === null || typeof entry !== 'object' || entry instanceof RegExp) { + n[i] = entry; + } else { + n[i] = filterGroup(entry); + } + } + } + return n; + } + + function wrapTrackingFunction(range, loc) { + + return function (parseFunction) { + + function isBinary(node) { + return node.type === Syntax.LogicalExpression || + node.type === Syntax.BinaryExpression; + } + + function visit(node) { + var start, end; + + if (isBinary(node.left)) { + visit(node.left); + } + if (isBinary(node.right)) { + visit(node.right); + } + + if (range) { + if (node.left.groupRange || node.right.groupRange) { + start = node.left.groupRange ? node.left.groupRange[0] : node.left.range[0]; + end = node.right.groupRange ? node.right.groupRange[1] : node.right.range[1]; + node.range = [start, end]; + } else if (typeof node.range === 'undefined') { + start = node.left.range[0]; + end = node.right.range[1]; + node.range = [start, end]; + } + } + if (loc) { + if (node.left.groupLoc || node.right.groupLoc) { + start = node.left.groupLoc ? node.left.groupLoc.start : node.left.loc.start; + end = node.right.groupLoc ? node.right.groupLoc.end : node.right.loc.end; + node.loc = { + start: start, + end: end + }; + } else if (typeof node.loc === 'undefined') { + node.loc = { + start: node.left.loc.start, + end: node.right.loc.end + }; + } + } + } + + return function () { + var marker, node; + + skipComment(); + + marker = createLocationMarker(); + node = parseFunction.apply(null, arguments); + marker.end(); + + if (range && typeof node.range === 'undefined') { + marker.apply(node); + } + + if (loc && typeof node.loc === 'undefined') { + marker.apply(node); + } + + if (isBinary(node)) { + visit(node); + } + + return node; + }; + }; + } + + function patch() { + + var wrapTracking; + + if (extra.comments) { + extra.skipComment = skipComment; + skipComment = scanComment; + } + + if (extra.raw) { + extra.createLiteral = createLiteral; + createLiteral = createRawLiteral; + } + + if (extra.range || extra.loc) { + + extra.parseGroupExpression = parseGroupExpression; + extra.parseLeftHandSideExpression = parseLeftHandSideExpression; + extra.parseLeftHandSideExpressionAllowCall = parseLeftHandSideExpressionAllowCall; + parseGroupExpression = trackGroupExpression; + parseLeftHandSideExpression = trackLeftHandSideExpression; + parseLeftHandSideExpressionAllowCall = trackLeftHandSideExpressionAllowCall; + + wrapTracking = wrapTrackingFunction(extra.range, extra.loc); + + extra.parseAdditiveExpression = parseAdditiveExpression; + extra.parseAssignmentExpression = parseAssignmentExpression; + extra.parseBitwiseANDExpression = parseBitwiseANDExpression; + extra.parseBitwiseORExpression = parseBitwiseORExpression; + extra.parseBitwiseXORExpression = parseBitwiseXORExpression; + extra.parseBlock = parseBlock; + extra.parseFunctionSourceElements = parseFunctionSourceElements; + extra.parseCatchClause = parseCatchClause; + extra.parseComputedMember = parseComputedMember; + extra.parseConditionalExpression = parseConditionalExpression; + extra.parseConstLetDeclaration = parseConstLetDeclaration; + extra.parseEqualityExpression = parseEqualityExpression; + extra.parseExpression = parseExpression; + extra.parseForVariableDeclaration = parseForVariableDeclaration; + extra.parseFunctionDeclaration = parseFunctionDeclaration; + extra.parseFunctionExpression = parseFunctionExpression; + extra.parseLogicalANDExpression = parseLogicalANDExpression; + extra.parseLogicalORExpression = parseLogicalORExpression; + extra.parseMultiplicativeExpression = parseMultiplicativeExpression; + extra.parseNewExpression = parseNewExpression; + extra.parseNonComputedProperty = parseNonComputedProperty; + extra.parseObjectProperty = parseObjectProperty; + extra.parseObjectPropertyKey = parseObjectPropertyKey; + extra.parsePostfixExpression = parsePostfixExpression; + extra.parsePrimaryExpression = parsePrimaryExpression; + extra.parseProgram = parseProgram; + extra.parsePropertyFunction = parsePropertyFunction; + extra.parseRelationalExpression = parseRelationalExpression; + extra.parseStatement = parseStatement; + extra.parseShiftExpression = parseShiftExpression; + extra.parseSwitchCase = parseSwitchCase; + extra.parseUnaryExpression = parseUnaryExpression; + extra.parseVariableDeclaration = parseVariableDeclaration; + extra.parseVariableIdentifier = parseVariableIdentifier; + + parseAdditiveExpression = wrapTracking(extra.parseAdditiveExpression); + parseAssignmentExpression = wrapTracking(extra.parseAssignmentExpression); + parseBitwiseANDExpression = wrapTracking(extra.parseBitwiseANDExpression); + parseBitwiseORExpression = wrapTracking(extra.parseBitwiseORExpression); + parseBitwiseXORExpression = wrapTracking(extra.parseBitwiseXORExpression); + parseBlock = wrapTracking(extra.parseBlock); + parseFunctionSourceElements = wrapTracking(extra.parseFunctionSourceElements); + parseCatchClause = wrapTracking(extra.parseCatchClause); + parseComputedMember = wrapTracking(extra.parseComputedMember); + parseConditionalExpression = wrapTracking(extra.parseConditionalExpression); + parseConstLetDeclaration = wrapTracking(extra.parseConstLetDeclaration); + parseEqualityExpression = wrapTracking(extra.parseEqualityExpression); + parseExpression = wrapTracking(extra.parseExpression); + parseForVariableDeclaration = wrapTracking(extra.parseForVariableDeclaration); + parseFunctionDeclaration = wrapTracking(extra.parseFunctionDeclaration); + parseFunctionExpression = wrapTracking(extra.parseFunctionExpression); + parseLeftHandSideExpression = wrapTracking(parseLeftHandSideExpression); + parseLogicalANDExpression = wrapTracking(extra.parseLogicalANDExpression); + parseLogicalORExpression = wrapTracking(extra.parseLogicalORExpression); + parseMultiplicativeExpression = wrapTracking(extra.parseMultiplicativeExpression); + parseNewExpression = wrapTracking(extra.parseNewExpression); + parseNonComputedProperty = wrapTracking(extra.parseNonComputedProperty); + parseObjectProperty = wrapTracking(extra.parseObjectProperty); + parseObjectPropertyKey = wrapTracking(extra.parseObjectPropertyKey); + parsePostfixExpression = wrapTracking(extra.parsePostfixExpression); + parsePrimaryExpression = wrapTracking(extra.parsePrimaryExpression); + parseProgram = wrapTracking(extra.parseProgram); + parsePropertyFunction = wrapTracking(extra.parsePropertyFunction); + parseRelationalExpression = wrapTracking(extra.parseRelationalExpression); + parseStatement = wrapTracking(extra.parseStatement); + parseShiftExpression = wrapTracking(extra.parseShiftExpression); + parseSwitchCase = wrapTracking(extra.parseSwitchCase); + parseUnaryExpression = wrapTracking(extra.parseUnaryExpression); + parseVariableDeclaration = wrapTracking(extra.parseVariableDeclaration); + parseVariableIdentifier = wrapTracking(extra.parseVariableIdentifier); + } + + if (typeof extra.tokens !== 'undefined') { + extra.advance = advance; + extra.scanRegExp = scanRegExp; + + advance = collectToken; + scanRegExp = collectRegex; + } + } + + function unpatch() { + if (typeof extra.skipComment === 'function') { + skipComment = extra.skipComment; + } + + if (extra.raw) { + createLiteral = extra.createLiteral; + } + + if (extra.range || extra.loc) { + parseAdditiveExpression = extra.parseAdditiveExpression; + parseAssignmentExpression = extra.parseAssignmentExpression; + parseBitwiseANDExpression = extra.parseBitwiseANDExpression; + parseBitwiseORExpression = extra.parseBitwiseORExpression; + parseBitwiseXORExpression = extra.parseBitwiseXORExpression; + parseBlock = extra.parseBlock; + parseFunctionSourceElements = extra.parseFunctionSourceElements; + parseCatchClause = extra.parseCatchClause; + parseComputedMember = extra.parseComputedMember; + parseConditionalExpression = extra.parseConditionalExpression; + parseConstLetDeclaration = extra.parseConstLetDeclaration; + parseEqualityExpression = extra.parseEqualityExpression; + parseExpression = extra.parseExpression; + parseForVariableDeclaration = extra.parseForVariableDeclaration; + parseFunctionDeclaration = extra.parseFunctionDeclaration; + parseFunctionExpression = extra.parseFunctionExpression; + parseGroupExpression = extra.parseGroupExpression; + parseLeftHandSideExpression = extra.parseLeftHandSideExpression; + parseLeftHandSideExpressionAllowCall = extra.parseLeftHandSideExpressionAllowCall; + parseLogicalANDExpression = extra.parseLogicalANDExpression; + parseLogicalORExpression = extra.parseLogicalORExpression; + parseMultiplicativeExpression = extra.parseMultiplicativeExpression; + parseNewExpression = extra.parseNewExpression; + parseNonComputedProperty = extra.parseNonComputedProperty; + parseObjectProperty = extra.parseObjectProperty; + parseObjectPropertyKey = extra.parseObjectPropertyKey; + parsePrimaryExpression = extra.parsePrimaryExpression; + parsePostfixExpression = extra.parsePostfixExpression; + parseProgram = extra.parseProgram; + parsePropertyFunction = extra.parsePropertyFunction; + parseRelationalExpression = extra.parseRelationalExpression; + parseStatement = extra.parseStatement; + parseShiftExpression = extra.parseShiftExpression; + parseSwitchCase = extra.parseSwitchCase; + parseUnaryExpression = extra.parseUnaryExpression; + parseVariableDeclaration = extra.parseVariableDeclaration; + parseVariableIdentifier = extra.parseVariableIdentifier; + } + + if (typeof extra.scanRegExp === 'function') { + advance = extra.advance; + scanRegExp = extra.scanRegExp; + } + } + + function stringToArray(str) { + var length = str.length, + result = [], + i; + for (i = 0; i < length; ++i) { + result[i] = str.charAt(i); + } + return result; + } + + function parse(code, options) { + var program, toString; + + toString = String; + if (typeof code !== 'string' && !(code instanceof String)) { + code = toString(code); + } + + source = code; + index = 0; + lineNumber = (source.length > 0) ? 1 : 0; + lineStart = 0; + length = source.length; + buffer = null; + state = { + allowIn: true, + labelSet: {}, + inFunctionBody: false, + inIteration: false, + inSwitch: false + }; + + extra = {}; + if (typeof options !== 'undefined') { + extra.range = (typeof options.range === 'boolean') && options.range; + extra.loc = (typeof options.loc === 'boolean') && options.loc; + extra.raw = (typeof options.raw === 'boolean') && options.raw; + if (typeof options.tokens === 'boolean' && options.tokens) { + extra.tokens = []; + } + if (typeof options.comment === 'boolean' && options.comment) { + extra.comments = []; + } + if (typeof options.tolerant === 'boolean' && options.tolerant) { + extra.errors = []; + } + } + + if (length > 0) { + if (typeof source[0] === 'undefined') { + // Try first to convert to a string. This is good as fast path + // for old IE which understands string indexing for string + // literals only and not for string object. + if (code instanceof String) { + source = code.valueOf(); + } + + // Force accessing the characters via an array. + if (typeof source[0] === 'undefined') { + source = stringToArray(code); + } + } + } + + patch(); + try { + program = parseProgram(); + if (typeof extra.comments !== 'undefined') { + filterCommentLocation(); + program.comments = extra.comments; + } + if (typeof extra.tokens !== 'undefined') { + filterTokenLocation(); + program.tokens = extra.tokens; + } + if (typeof extra.errors !== 'undefined') { + program.errors = extra.errors; + } + if (extra.range || extra.loc) { + program.body = filterGroup(program.body); + } + } catch (e) { + throw e; + } finally { + unpatch(); + extra = {}; + } + + return program; + } + + // Sync with package.json. + exports.version = '1.0.4'; + + exports.parse = parse; + + // Deep copy. + exports.Syntax = (function () { + var name, types = {}; + + if (typeof Object.create === 'function') { + types = Object.create(null); + } + + for (name in Syntax) { + if (Syntax.hasOwnProperty(name)) { + types[name] = Syntax[name]; + } + } + + if (typeof Object.freeze === 'function') { + Object.freeze(types); + } + + return types; + }()); + +})); +/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json new file mode 100644 index 0000000..9a2294a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json @@ -0,0 +1,59 @@ +{ + "name": "esprima", + "description": "ECMAScript parsing infrastructure for multipurpose analysis", + "homepage": "http://esprima.org", + "main": "esprima.js", + "bin": { + "esparse": "./bin/esparse.js", + "esvalidate": "./bin/esvalidate.js" + }, + "files": [ + "bin", + "test/run.js", + "test/runner.js", + "test/test.js", + "test/compat.js", + "test/reflect.js", + "esprima.js" + ], + "version": "1.0.4", + "engines": { + "node": ">=0.4.0" + }, + "maintainers": [ + { + "name": "Ariya Hidayat", + "email": "ariya.hidayat@gmail.com", + "url": "http://ariya.ofilabs.com" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/ariya/esprima.git" + }, + "licenses": [ + { + "type": "BSD", + "url": "http://github.com/ariya/esprima/raw/master/LICENSE.BSD" + } + ], + "keywords": [ + "ast", + "ecmascript", + "javascript", + "parser", + "syntax" + ], + "scripts": { + "test": "node test/run.js", + "benchmark": "node test/benchmarks.js", + "benchmark-quick": "node test/benchmarks.js quick" + }, + "readme": "**Esprima** ([esprima.org](http://esprima.org)) is a high performance,\nstandard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)\nparser written in ECMAScript (also popularly known as\n[JavaScript](http://en.wikipedia.org/wiki/JavaScript>JavaScript)).\nEsprima is created and maintained by [Ariya Hidayat](http://twitter.com/ariyahidayat),\nwith the help of [many contributors](https://github.com/ariya/esprima/contributors).\n\nEsprima runs on web browsers (IE 6+, Firefox 1+, Safari 3+, Chrome 1+, Konqueror 4.6+, Opera 8+) as well as\n[Node.js](http://nodejs.org).\n\n### Features\n\n- Full support for [ECMAScript 5.1](http://www.ecma-international.org/publications/standards/Ecma-262.htm)(ECMA-262)\n- Sensible [syntax tree format](http://esprima.org/doc/index.html#ast) compatible with Mozilla\n[Parser AST](https://developer.mozilla.org/en/SpiderMonkey/Parser_API)\n- Heavily tested (> 550 [unit tests](http://esprima.org/test/) with solid 100% statement coverage)\n- Optional tracking of syntax node location (index-based and line-column)\n- Experimental support for ES6/Harmony (module, class, destructuring, ...)\n\nEsprima is blazing fast (see the [benchmark suite](http://esprima.org/test/benchmarks.html)).\nIt is up to 3x faster than UglifyJS v1 and it is still [competitive](http://esprima.org/test/compare.html)\nwith the new generation of fast parsers.\n\n### Applications\n\nEsprima serves as the basis for many popular JavaScript development tools:\n\n- Code coverage analysis: [node-cover](https://github.com/itay/node-cover), [Istanbul](https://github.com/yahoo/Istanbul)\n- Documentation tool: [JFDoc](https://github.com/thejohnfreeman/jfdoc), [JSDuck](https://github.com/senchalabs/jsduck)\n- Language extension: [LLJS](http://mbebenita.github.com/LLJS/) (low-level JS),\n[Sweet.js](http://sweetjs.org/) (macro)\n- ES6/Harmony transpiler: [Six](https://github.com/matthewrobb/six), [Harmonizr](https://github.com/jdiamond/harmonizr)\n- Eclipse Orion smart editing ([outline view](https://github.com/aclement/esprima-outline), [content assist](http://contraptionsforprogramming.blogspot.com/2012/02/better-javascript-content-assist-in.html))\n- Source code modification: [Esmorph](https://github.com/ariya/esmorph), [Code Painter](https://github.com/fawek/codepainter),\n- Source transformation: [node-falafel](https://github.com/substack/node-falafel), [Esmangle](https://github.com/Constellation/esmangle), [escodegen](https://github.com/Constellation/escodegen)\n\n### Questions?\n- [Documentation](http://esprima.org/doc)\n- [Issue tracker](http://issues.esprima.org): [known problems](http://code.google.com/p/esprima/issues/list?q=Defect)\nand [future plans](http://code.google.com/p/esprima/issues/list?q=Enhancement)\n- [Mailing list](http://groups.google.com/group/esprima)\n- [Contribution guide](http://esprima.org/doc/index.html#contribution)\n\nFollow [@Esprima](http://twitter.com/Esprima) on Twitter to get the\ndevelopment updates.\nFeedback and contribution are welcomed!\n\n### License\n\nCopyright (C) 2012, 2011 [Ariya Hidayat](http://ariya.ofilabs.com/about)\n and other contributors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/ariya/esprima/issues" + }, + "_id": "esprima@1.0.4", + "_from": "esprima@~ 1.0.2" +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js new file mode 100644 index 0000000..ee3a629 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js @@ -0,0 +1,239 @@ +/* + Copyright (C) 2012 Joost-Wim Boekesteijn + Copyright (C) 2011 Ariya Hidayat + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*jslint node: true */ +/*global document: true, window:true, esprima: true, testReflect: true */ + +var runTests; + +function getContext(esprima, reportCase, reportFailure) { + 'use strict'; + + var Reflect, Pattern; + + // Maps Mozilla Reflect object to our Esprima parser. + Reflect = { + parse: function (code) { + var result; + + reportCase(code); + + try { + result = esprima.parse(code); + } catch (error) { + result = error; + } + + return result; + } + }; + + // This is used by Reflect test suite to match a syntax tree. + Pattern = function (obj) { + var pattern; + + // Poor man's deep object cloning. + pattern = JSON.parse(JSON.stringify(obj)); + + // Special handling for regular expression literal since we need to + // convert it to a string literal, otherwise it will be decoded + // as object "{}" and the regular expression would be lost. + if (obj.type && obj.type === 'Literal') { + if (obj.value instanceof RegExp) { + pattern = { + type: obj.type, + value: obj.value.toString() + }; + } + } + + // Special handling for branch statement because SpiderMonkey + // prefers to put the 'alternate' property before 'consequent'. + if (obj.type && obj.type === 'IfStatement') { + pattern = { + type: pattern.type, + test: pattern.test, + consequent: pattern.consequent, + alternate: pattern.alternate + }; + } + + // Special handling for do while statement because SpiderMonkey + // prefers to put the 'test' property before 'body'. + if (obj.type && obj.type === 'DoWhileStatement') { + pattern = { + type: pattern.type, + body: pattern.body, + test: pattern.test + }; + } + + function adjustRegexLiteralAndRaw(key, value) { + if (key === 'value' && value instanceof RegExp) { + value = value.toString(); + } else if (key === 'raw' && typeof value === "string") { + // Ignore Esprima-specific 'raw' property. + return undefined; + } + return value; + } + + if (obj.type && (obj.type === 'Program')) { + pattern.assert = function (tree) { + var actual, expected; + actual = JSON.stringify(tree, adjustRegexLiteralAndRaw, 4); + expected = JSON.stringify(obj, null, 4); + + if (expected !== actual) { + reportFailure(expected, actual); + } + }; + } + + return pattern; + }; + + return { + Reflect: Reflect, + Pattern: Pattern + }; +} + +if (typeof window !== 'undefined') { + // Run all tests in a browser environment. + runTests = function () { + 'use strict'; + + var total = 0, + failures = 0; + + function setText(el, str) { + if (typeof el.innerText === 'string') { + el.innerText = str; + } else { + el.textContent = str; + } + } + + function reportCase(code) { + var report, e; + report = document.getElementById('report'); + e = document.createElement('pre'); + e.setAttribute('class', 'code'); + setText(e, code); + report.appendChild(e); + total += 1; + } + + function reportFailure(expected, actual) { + var report, e; + + failures += 1; + + report = document.getElementById('report'); + + e = document.createElement('p'); + setText(e, 'Expected'); + report.appendChild(e); + + e = document.createElement('pre'); + e.setAttribute('class', 'expected'); + setText(e, expected); + report.appendChild(e); + + e = document.createElement('p'); + setText(e, 'Actual'); + report.appendChild(e); + + e = document.createElement('pre'); + e.setAttribute('class', 'actual'); + setText(e, actual); + report.appendChild(e); + } + + setText(document.getElementById('version'), esprima.version); + + window.setTimeout(function () { + var tick, context = getContext(esprima, reportCase, reportFailure); + + tick = new Date(); + testReflect(context.Reflect, context.Pattern); + tick = (new Date()) - tick; + + if (failures > 0) { + setText(document.getElementById('status'), total + ' tests. ' + + 'Failures: ' + failures + '. ' + tick + ' ms'); + } else { + setText(document.getElementById('status'), total + ' tests. ' + + 'No failure. ' + tick + ' ms'); + } + }, 513); + }; +} else { + (function (global) { + 'use strict'; + var esprima = require('../esprima'), + tick, + total = 0, + failures = [], + header, + current, + context; + + function reportCase(code) { + total += 1; + current = code; + } + + function reportFailure(expected, actual) { + failures.push({ + source: current, + expected: expected.toString(), + actual: actual.toString() + }); + } + + context = getContext(esprima, reportCase, reportFailure); + + tick = new Date(); + require('./reflect').testReflect(context.Reflect, context.Pattern); + tick = (new Date()) - tick; + + header = total + ' tests. ' + failures.length + ' failures. ' + + tick + ' ms'; + if (failures.length) { + console.error(header); + failures.forEach(function (failure) { + console.error(failure.source + ': Expected\n ' + + failure.expected.split('\n').join('\n ') + + '\nto match\n ' + failure.actual); + }); + } else { + console.log(header); + } + process.exit(failures.length === 0 ? 0 : 1); + }(this)); +} +/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js new file mode 100644 index 0000000..dba1ba8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js @@ -0,0 +1,422 @@ +// This is modified from Mozilla Reflect.parse test suite (the file is located +// at js/src/tests/js1_8_5/extensions/reflect-parse.js in the source tree). +// +// Some notable changes: +// * Removed unsupported features (destructuring, let, comprehensions...). +// * Removed tests for E4X (ECMAScript for XML). +// * Removed everything related to builder. +// * Enclosed every 'Pattern' construct with a scope. +// * Tweaked some expected tree to remove generator field. +// * Removed the test for bug 632030 and bug 632024. + +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ + */ + +(function (exports) { + +function testReflect(Reflect, Pattern) { + +function program(elts) { return Pattern({ type: "Program", body: elts }) } +function exprStmt(expr) { return Pattern({ type: "ExpressionStatement", expression: expr }) } +function throwStmt(expr) { return Pattern({ type: "ThrowStatement", argument: expr }) } +function returnStmt(expr) { return Pattern({ type: "ReturnStatement", argument: expr }) } +function yieldExpr(expr) { return Pattern({ type: "YieldExpression", argument: expr }) } +function lit(val) { return Pattern({ type: "Literal", value: val }) } +var thisExpr = Pattern({ type: "ThisExpression" }); +function funDecl(id, params, body) { return Pattern({ type: "FunctionDeclaration", + id: id, + params: params, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }) } +function genFunDecl(id, params, body) { return Pattern({ type: "FunctionDeclaration", + id: id, + params: params, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }) } +function declarator(id, init) { return Pattern({ type: "VariableDeclarator", id: id, init: init }) } +function varDecl(decls) { return Pattern({ type: "VariableDeclaration", declarations: decls, kind: "var" }) } +function letDecl(decls) { return Pattern({ type: "VariableDeclaration", declarations: decls, kind: "let" }) } +function constDecl(decls) { return Pattern({ type: "VariableDeclaration", declarations: decls, kind: "const" }) } +function ident(name) { return Pattern({ type: "Identifier", name: name }) } +function dotExpr(obj, id) { return Pattern({ type: "MemberExpression", computed: false, object: obj, property: id }) } +function memExpr(obj, id) { return Pattern({ type: "MemberExpression", computed: true, object: obj, property: id }) } +function forStmt(init, test, update, body) { return Pattern({ type: "ForStatement", init: init, test: test, update: update, body: body }) } +function forInStmt(lhs, rhs, body) { return Pattern({ type: "ForInStatement", left: lhs, right: rhs, body: body, each: false }) } +function forEachInStmt(lhs, rhs, body) { return Pattern({ type: "ForInStatement", left: lhs, right: rhs, body: body, each: true }) } +function breakStmt(lab) { return Pattern({ type: "BreakStatement", label: lab }) } +function continueStmt(lab) { return Pattern({ type: "ContinueStatement", label: lab }) } +function blockStmt(body) { return Pattern({ type: "BlockStatement", body: body }) } +var emptyStmt = Pattern({ type: "EmptyStatement" }); +function ifStmt(test, cons, alt) { return Pattern({ type: "IfStatement", test: test, alternate: alt, consequent: cons }) } +function labStmt(lab, stmt) { return Pattern({ type: "LabeledStatement", label: lab, body: stmt }) } +function withStmt(obj, stmt) { return Pattern({ type: "WithStatement", object: obj, body: stmt }) } +function whileStmt(test, stmt) { return Pattern({ type: "WhileStatement", test: test, body: stmt }) } +function doStmt(stmt, test) { return Pattern({ type: "DoWhileStatement", test: test, body: stmt }) } +function switchStmt(disc, cases) { return Pattern({ type: "SwitchStatement", discriminant: disc, cases: cases }) } +function caseClause(test, stmts) { return Pattern({ type: "SwitchCase", test: test, consequent: stmts }) } +function defaultClause(stmts) { return Pattern({ type: "SwitchCase", test: null, consequent: stmts }) } +function catchClause(id, guard, body) { if (guard) { return Pattern({ type: "GuardedCatchClause", param: id, guard: guard, body: body }) } else { return Pattern({ type: "CatchClause", param: id, body: body }) } } +function tryStmt(body, guarded, catches, fin) { return Pattern({ type: "TryStatement", block: body, guardedHandlers: guarded, handlers: catches, finalizer: fin }) } +function letStmt(head, body) { return Pattern({ type: "LetStatement", head: head, body: body }) } +function funExpr(id, args, body, gen) { return Pattern({ type: "FunctionExpression", + id: id, + params: args, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }) } +function genFunExpr(id, args, body) { return Pattern({ type: "FunctionExpression", + id: id, + params: args, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }) } + +function unExpr(op, arg) { return Pattern({ type: "UnaryExpression", operator: op, argument: arg, prefix: true }) } +function binExpr(op, left, right) { return Pattern({ type: "BinaryExpression", operator: op, left: left, right: right }) } +function aExpr(op, left, right) { return Pattern({ type: "AssignmentExpression", operator: op, left: left, right: right }) } +function updExpr(op, arg, prefix) { return Pattern({ type: "UpdateExpression", operator: op, argument: arg, prefix: prefix }) } +function logExpr(op, left, right) { return Pattern({ type: "LogicalExpression", operator: op, left: left, right: right }) } + +function condExpr(test, cons, alt) { return Pattern({ type: "ConditionalExpression", test: test, consequent: cons, alternate: alt }) } +function seqExpr(exprs) { return Pattern({ type: "SequenceExpression", expressions: exprs }) } +function newExpr(callee, args) { return Pattern({ type: "NewExpression", callee: callee, arguments: args }) } +function callExpr(callee, args) { return Pattern({ type: "CallExpression", callee: callee, arguments: args }) } +function arrExpr(elts) { return Pattern({ type: "ArrayExpression", elements: elts }) } +function objExpr(elts) { return Pattern({ type: "ObjectExpression", properties: elts }) } +function objProp(key, value, kind) { return Pattern({ type: "Property", key: key, value: value, kind: kind }) } + +function arrPatt(elts) { return Pattern({ type: "ArrayPattern", elements: elts }) } +function objPatt(elts) { return Pattern({ type: "ObjectPattern", properties: elts }) } + +function localSrc(src) { return "(function(){ " + src + " })" } +function localPatt(patt) { return program([exprStmt(funExpr(null, [], blockStmt([patt])))]) } +function blockSrc(src) { return "(function(){ { " + src + " } })" } +function blockPatt(patt) { return program([exprStmt(funExpr(null, [], blockStmt([blockStmt([patt])])))]) } + +function assertBlockStmt(src, patt) { + blockPatt(patt).assert(Reflect.parse(blockSrc(src))); +} + +function assertBlockExpr(src, patt) { + assertBlockStmt(src, exprStmt(patt)); +} + +function assertBlockDecl(src, patt, builder) { + blockPatt(patt).assert(Reflect.parse(blockSrc(src), {builder: builder})); +} + +function assertLocalStmt(src, patt) { + localPatt(patt).assert(Reflect.parse(localSrc(src))); +} + +function assertLocalExpr(src, patt) { + assertLocalStmt(src, exprStmt(patt)); +} + +function assertLocalDecl(src, patt) { + localPatt(patt).assert(Reflect.parse(localSrc(src))); +} + +function assertGlobalStmt(src, patt, builder) { + program([patt]).assert(Reflect.parse(src, {builder: builder})); +} + +function assertGlobalExpr(src, patt, builder) { + program([exprStmt(patt)]).assert(Reflect.parse(src, {builder: builder})); + //assertStmt(src, exprStmt(patt)); +} + +function assertGlobalDecl(src, patt) { + program([patt]).assert(Reflect.parse(src)); +} + +function assertProg(src, patt) { + program(patt).assert(Reflect.parse(src)); +} + +function assertStmt(src, patt) { + assertLocalStmt(src, patt); + assertGlobalStmt(src, patt); + assertBlockStmt(src, patt); +} + +function assertExpr(src, patt) { + assertLocalExpr(src, patt); + assertGlobalExpr(src, patt); + assertBlockExpr(src, patt); +} + +function assertDecl(src, patt) { + assertLocalDecl(src, patt); + assertGlobalDecl(src, patt); + assertBlockDecl(src, patt); +} + +function assertError(src, errorType) { + try { + Reflect.parse(src); + } catch (e) { + return; + } + throw new Error("expected " + errorType.name + " for " + uneval(src)); +} + + +// general tests + +// NB: These are useful but for now jit-test doesn't do I/O reliably. + +//program(_).assert(Reflect.parse(snarf('data/flapjax.txt'))); +//program(_).assert(Reflect.parse(snarf('data/jquery-1.4.2.txt'))); +//program(_).assert(Reflect.parse(snarf('data/prototype.js'))); +//program(_).assert(Reflect.parse(snarf('data/dojo.js.uncompressed.js'))); +//program(_).assert(Reflect.parse(snarf('data/mootools-1.2.4-core-nc.js'))); + + +// declarations + +assertDecl("var x = 1, y = 2, z = 3", + varDecl([declarator(ident("x"), lit(1)), + declarator(ident("y"), lit(2)), + declarator(ident("z"), lit(3))])); +assertDecl("var x, y, z", + varDecl([declarator(ident("x"), null), + declarator(ident("y"), null), + declarator(ident("z"), null)])); +assertDecl("function foo() { }", + funDecl(ident("foo"), [], blockStmt([]))); +assertDecl("function foo() { return 42 }", + funDecl(ident("foo"), [], blockStmt([returnStmt(lit(42))]))); + + +// Bug 591437: rebound args have their defs turned into uses +assertDecl("function f(a) { function a() { } }", + funDecl(ident("f"), [ident("a")], blockStmt([funDecl(ident("a"), [], blockStmt([]))]))); +assertDecl("function f(a,b,c) { function b() { } }", + funDecl(ident("f"), [ident("a"),ident("b"),ident("c")], blockStmt([funDecl(ident("b"), [], blockStmt([]))]))); + +// expressions + +assertExpr("true", lit(true)); +assertExpr("false", lit(false)); +assertExpr("42", lit(42)); +assertExpr("(/asdf/)", lit(/asdf/)); +assertExpr("this", thisExpr); +assertExpr("foo", ident("foo")); +assertExpr("foo.bar", dotExpr(ident("foo"), ident("bar"))); +assertExpr("foo[bar]", memExpr(ident("foo"), ident("bar"))); +assertExpr("(function(){})", funExpr(null, [], blockStmt([]))); +assertExpr("(function f() {})", funExpr(ident("f"), [], blockStmt([]))); +assertExpr("(function f(x,y,z) {})", funExpr(ident("f"), [ident("x"),ident("y"),ident("z")], blockStmt([]))); +assertExpr("(++x)", updExpr("++", ident("x"), true)); +assertExpr("(x++)", updExpr("++", ident("x"), false)); +assertExpr("(+x)", unExpr("+", ident("x"))); +assertExpr("(-x)", unExpr("-", ident("x"))); +assertExpr("(!x)", unExpr("!", ident("x"))); +assertExpr("(~x)", unExpr("~", ident("x"))); +assertExpr("(delete x)", unExpr("delete", ident("x"))); +assertExpr("(typeof x)", unExpr("typeof", ident("x"))); +assertExpr("(void x)", unExpr("void", ident("x"))); +assertExpr("(x == y)", binExpr("==", ident("x"), ident("y"))); +assertExpr("(x != y)", binExpr("!=", ident("x"), ident("y"))); +assertExpr("(x === y)", binExpr("===", ident("x"), ident("y"))); +assertExpr("(x !== y)", binExpr("!==", ident("x"), ident("y"))); +assertExpr("(x < y)", binExpr("<", ident("x"), ident("y"))); +assertExpr("(x <= y)", binExpr("<=", ident("x"), ident("y"))); +assertExpr("(x > y)", binExpr(">", ident("x"), ident("y"))); +assertExpr("(x >= y)", binExpr(">=", ident("x"), ident("y"))); +assertExpr("(x << y)", binExpr("<<", ident("x"), ident("y"))); +assertExpr("(x >> y)", binExpr(">>", ident("x"), ident("y"))); +assertExpr("(x >>> y)", binExpr(">>>", ident("x"), ident("y"))); +assertExpr("(x + y)", binExpr("+", ident("x"), ident("y"))); +assertExpr("(w + x + y + z)", binExpr("+", binExpr("+", binExpr("+", ident("w"), ident("x")), ident("y")), ident("z"))); +assertExpr("(x - y)", binExpr("-", ident("x"), ident("y"))); +assertExpr("(w - x - y - z)", binExpr("-", binExpr("-", binExpr("-", ident("w"), ident("x")), ident("y")), ident("z"))); +assertExpr("(x * y)", binExpr("*", ident("x"), ident("y"))); +assertExpr("(x / y)", binExpr("/", ident("x"), ident("y"))); +assertExpr("(x % y)", binExpr("%", ident("x"), ident("y"))); +assertExpr("(x | y)", binExpr("|", ident("x"), ident("y"))); +assertExpr("(x ^ y)", binExpr("^", ident("x"), ident("y"))); +assertExpr("(x & y)", binExpr("&", ident("x"), ident("y"))); +assertExpr("(x in y)", binExpr("in", ident("x"), ident("y"))); +assertExpr("(x instanceof y)", binExpr("instanceof", ident("x"), ident("y"))); +assertExpr("(x = y)", aExpr("=", ident("x"), ident("y"))); +assertExpr("(x += y)", aExpr("+=", ident("x"), ident("y"))); +assertExpr("(x -= y)", aExpr("-=", ident("x"), ident("y"))); +assertExpr("(x *= y)", aExpr("*=", ident("x"), ident("y"))); +assertExpr("(x /= y)", aExpr("/=", ident("x"), ident("y"))); +assertExpr("(x %= y)", aExpr("%=", ident("x"), ident("y"))); +assertExpr("(x <<= y)", aExpr("<<=", ident("x"), ident("y"))); +assertExpr("(x >>= y)", aExpr(">>=", ident("x"), ident("y"))); +assertExpr("(x >>>= y)", aExpr(">>>=", ident("x"), ident("y"))); +assertExpr("(x |= y)", aExpr("|=", ident("x"), ident("y"))); +assertExpr("(x ^= y)", aExpr("^=", ident("x"), ident("y"))); +assertExpr("(x &= y)", aExpr("&=", ident("x"), ident("y"))); +assertExpr("(x || y)", logExpr("||", ident("x"), ident("y"))); +assertExpr("(x && y)", logExpr("&&", ident("x"), ident("y"))); +assertExpr("(w || x || y || z)", logExpr("||", logExpr("||", logExpr("||", ident("w"), ident("x")), ident("y")), ident("z"))) +assertExpr("(x ? y : z)", condExpr(ident("x"), ident("y"), ident("z"))); +assertExpr("(x,y)", seqExpr([ident("x"),ident("y")])) +assertExpr("(x,y,z)", seqExpr([ident("x"),ident("y"),ident("z")])) +assertExpr("(a,b,c,d,e,f,g)", seqExpr([ident("a"),ident("b"),ident("c"),ident("d"),ident("e"),ident("f"),ident("g")])); +assertExpr("(new Object)", newExpr(ident("Object"), [])); +assertExpr("(new Object())", newExpr(ident("Object"), [])); +assertExpr("(new Object(42))", newExpr(ident("Object"), [lit(42)])); +assertExpr("(new Object(1,2,3))", newExpr(ident("Object"), [lit(1),lit(2),lit(3)])); +assertExpr("(String())", callExpr(ident("String"), [])); +assertExpr("(String(42))", callExpr(ident("String"), [lit(42)])); +assertExpr("(String(1,2,3))", callExpr(ident("String"), [lit(1),lit(2),lit(3)])); +assertExpr("[]", arrExpr([])); +assertExpr("[1]", arrExpr([lit(1)])); +assertExpr("[1,2]", arrExpr([lit(1),lit(2)])); +assertExpr("[1,2,3]", arrExpr([lit(1),lit(2),lit(3)])); +assertExpr("[1,,2,3]", arrExpr([lit(1),,lit(2),lit(3)])); +assertExpr("[1,,,2,3]", arrExpr([lit(1),,,lit(2),lit(3)])); +assertExpr("[1,,,2,,3]", arrExpr([lit(1),,,lit(2),,lit(3)])); +assertExpr("[1,,,2,,,3]", arrExpr([lit(1),,,lit(2),,,lit(3)])); +assertExpr("[,1,2,3]", arrExpr([,lit(1),lit(2),lit(3)])); +assertExpr("[,,1,2,3]", arrExpr([,,lit(1),lit(2),lit(3)])); +assertExpr("[,,,1,2,3]", arrExpr([,,,lit(1),lit(2),lit(3)])); +assertExpr("[,,,1,2,3,]", arrExpr([,,,lit(1),lit(2),lit(3)])); +assertExpr("[,,,1,2,3,,]", arrExpr([,,,lit(1),lit(2),lit(3),undefined])); +assertExpr("[,,,1,2,3,,,]", arrExpr([,,,lit(1),lit(2),lit(3),undefined,undefined])); +assertExpr("[,,,,,]", arrExpr([undefined,undefined,undefined,undefined,undefined])); +assertExpr("({})", objExpr([])); +assertExpr("({x:1})", objExpr([objProp(ident("x"), lit(1), "init")])); +assertExpr("({x:1, y:2})", objExpr([objProp(ident("x"), lit(1), "init"), + objProp(ident("y"), lit(2), "init")])); +assertExpr("({x:1, y:2, z:3})", objExpr([objProp(ident("x"), lit(1), "init"), + objProp(ident("y"), lit(2), "init"), + objProp(ident("z"), lit(3), "init") ])); +assertExpr("({x:1, 'y':2, z:3})", objExpr([objProp(ident("x"), lit(1), "init"), + objProp(lit("y"), lit(2), "init"), + objProp(ident("z"), lit(3), "init") ])); +assertExpr("({'x':1, 'y':2, z:3})", objExpr([objProp(lit("x"), lit(1), "init"), + objProp(lit("y"), lit(2), "init"), + objProp(ident("z"), lit(3), "init") ])); +assertExpr("({'x':1, 'y':2, 3:3})", objExpr([objProp(lit("x"), lit(1), "init"), + objProp(lit("y"), lit(2), "init"), + objProp(lit(3), lit(3), "init") ])); + +// Bug 571617: eliminate constant-folding +assertExpr("2 + 3", binExpr("+", lit(2), lit(3))); + +// Bug 632026: constant-folding +assertExpr("typeof(0?0:a)", unExpr("typeof", condExpr(lit(0), lit(0), ident("a")))); + +// Bug 632056: constant-folding +program([exprStmt(ident("f")), + ifStmt(lit(1), + funDecl(ident("f"), [], blockStmt([])), + null)]).assert(Reflect.parse("f; if (1) function f(){}")); + +// statements + +assertStmt("throw 42", throwStmt(lit(42))); +assertStmt("for (;;) break", forStmt(null, null, null, breakStmt(null))); +assertStmt("for (x; y; z) break", forStmt(ident("x"), ident("y"), ident("z"), breakStmt(null))); +assertStmt("for (var x; y; z) break", forStmt(varDecl([declarator(ident("x"), null)]), ident("y"), ident("z"), breakStmt(null))); +assertStmt("for (var x = 42; y; z) break", forStmt(varDecl([declarator(ident("x"), lit(42))]), ident("y"), ident("z"), breakStmt(null))); +assertStmt("for (x; ; z) break", forStmt(ident("x"), null, ident("z"), breakStmt(null))); +assertStmt("for (var x; ; z) break", forStmt(varDecl([declarator(ident("x"), null)]), null, ident("z"), breakStmt(null))); +assertStmt("for (var x = 42; ; z) break", forStmt(varDecl([declarator(ident("x"), lit(42))]), null, ident("z"), breakStmt(null))); +assertStmt("for (x; y; ) break", forStmt(ident("x"), ident("y"), null, breakStmt(null))); +assertStmt("for (var x; y; ) break", forStmt(varDecl([declarator(ident("x"), null)]), ident("y"), null, breakStmt(null))); +assertStmt("for (var x = 42; y; ) break", forStmt(varDecl([declarator(ident("x"),lit(42))]), ident("y"), null, breakStmt(null))); +assertStmt("for (var x in y) break", forInStmt(varDecl([declarator(ident("x"),null)]), ident("y"), breakStmt(null))); +assertStmt("for (x in y) break", forInStmt(ident("x"), ident("y"), breakStmt(null))); +assertStmt("{ }", blockStmt([])); +assertStmt("{ throw 1; throw 2; throw 3; }", blockStmt([ throwStmt(lit(1)), throwStmt(lit(2)), throwStmt(lit(3))])); +assertStmt(";", emptyStmt); +assertStmt("if (foo) throw 42;", ifStmt(ident("foo"), throwStmt(lit(42)), null)); +assertStmt("if (foo) throw 42; else true;", ifStmt(ident("foo"), throwStmt(lit(42)), exprStmt(lit(true)))); +assertStmt("if (foo) { throw 1; throw 2; throw 3; }", + ifStmt(ident("foo"), + blockStmt([throwStmt(lit(1)), throwStmt(lit(2)), throwStmt(lit(3))]), + null)); +assertStmt("if (foo) { throw 1; throw 2; throw 3; } else true;", + ifStmt(ident("foo"), + blockStmt([throwStmt(lit(1)), throwStmt(lit(2)), throwStmt(lit(3))]), + exprStmt(lit(true)))); +assertStmt("foo: for(;;) break foo;", labStmt(ident("foo"), forStmt(null, null, null, breakStmt(ident("foo"))))); +assertStmt("foo: for(;;) continue foo;", labStmt(ident("foo"), forStmt(null, null, null, continueStmt(ident("foo"))))); +assertStmt("with (obj) { }", withStmt(ident("obj"), blockStmt([]))); +assertStmt("with (obj) { obj; }", withStmt(ident("obj"), blockStmt([exprStmt(ident("obj"))]))); +assertStmt("while (foo) { }", whileStmt(ident("foo"), blockStmt([]))); +assertStmt("while (foo) { foo; }", whileStmt(ident("foo"), blockStmt([exprStmt(ident("foo"))]))); +assertStmt("do { } while (foo);", doStmt(blockStmt([]), ident("foo"))); +assertStmt("do { foo; } while (foo)", doStmt(blockStmt([exprStmt(ident("foo"))]), ident("foo"))); +assertStmt("switch (foo) { case 1: 1; break; case 2: 2; break; default: 3; }", + switchStmt(ident("foo"), + [ caseClause(lit(1), [ exprStmt(lit(1)), breakStmt(null) ]), + caseClause(lit(2), [ exprStmt(lit(2)), breakStmt(null) ]), + defaultClause([ exprStmt(lit(3)) ]) ])); +assertStmt("switch (foo) { case 1: 1; break; case 2: 2; break; default: 3; case 42: 42; }", + switchStmt(ident("foo"), + [ caseClause(lit(1), [ exprStmt(lit(1)), breakStmt(null) ]), + caseClause(lit(2), [ exprStmt(lit(2)), breakStmt(null) ]), + defaultClause([ exprStmt(lit(3)) ]), + caseClause(lit(42), [ exprStmt(lit(42)) ]) ])); +assertStmt("try { } catch (e) { }", + tryStmt(blockStmt([]), + [], + [ catchClause(ident("e"), null, blockStmt([])) ], + null)); +assertStmt("try { } catch (e) { } finally { }", + tryStmt(blockStmt([]), + [], + [ catchClause(ident("e"), null, blockStmt([])) ], + blockStmt([]))); +assertStmt("try { } finally { }", + tryStmt(blockStmt([]), + [], + [], + blockStmt([]))); + +// redeclarations (TOK_NAME nodes with lexdef) + +assertStmt("function f() { function g() { } function g() { } }", + funDecl(ident("f"), [], blockStmt([funDecl(ident("g"), [], blockStmt([])), + funDecl(ident("g"), [], blockStmt([]))]))); + +assertStmt("function f() { function g() { } function g() { return 42 } }", + funDecl(ident("f"), [], blockStmt([funDecl(ident("g"), [], blockStmt([])), + funDecl(ident("g"), [], blockStmt([returnStmt(lit(42))]))]))); + +assertStmt("function f() { var x = 42; var x = 43; }", + funDecl(ident("f"), [], blockStmt([varDecl([declarator(ident("x"),lit(42))]), + varDecl([declarator(ident("x"),lit(43))])]))); + +// getters and setters + + assertExpr("({ get x() { return 42 } })", + objExpr([ objProp(ident("x"), + funExpr(null, [], blockStmt([returnStmt(lit(42))])), + "get" ) ])); + assertExpr("({ set x(v) { return 42 } })", + objExpr([ objProp(ident("x"), + funExpr(null, [ident("v")], blockStmt([returnStmt(lit(42))])), + "set" ) ])); + +} + +exports.testReflect = testReflect; + +}(typeof exports === 'undefined' ? this : exports)); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js new file mode 100644 index 0000000..32ca3fa --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js @@ -0,0 +1,66 @@ +/* + Copyright (C) 2012 Yusuke Suzuki + Copyright (C) 2012 Ariya Hidayat + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*jslint node:true */ + +(function () { + 'use strict'; + + var child = require('child_process'), + nodejs = '"' + process.execPath + '"', + ret = 0, + suites, + index; + + suites = [ + 'runner', + 'compat' + ]; + + function nextTest() { + var suite = suites[index]; + + if (index < suites.length) { + child.exec(nodejs + ' ./test/' + suite + '.js', function (err, stdout, stderr) { + if (stdout) { + process.stdout.write(suite + ': ' + stdout); + } + if (stderr) { + process.stderr.write(suite + ': ' + stderr); + } + if (err) { + ret = err.code; + } + index += 1; + nextTest(); + }); + } else { + process.exit(ret); + } + } + + index = 0; + nextTest(); +}()); diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js new file mode 100644 index 0000000..c1a3fc9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js @@ -0,0 +1,387 @@ +/* + Copyright (C) 2012 Ariya Hidayat + Copyright (C) 2012 Joost-Wim Boekesteijn + Copyright (C) 2012 Yusuke Suzuki + Copyright (C) 2012 Arpad Borsos + Copyright (C) 2011 Ariya Hidayat + Copyright (C) 2011 Yusuke Suzuki + Copyright (C) 2011 Arpad Borsos + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*jslint browser:true node:true */ +/*global esprima:true, testFixture:true */ + +var runTests; + +// Special handling for regular expression literal since we need to +// convert it to a string literal, otherwise it will be decoded +// as object "{}" and the regular expression would be lost. +function adjustRegexLiteral(key, value) { + 'use strict'; + if (key === 'value' && value instanceof RegExp) { + value = value.toString(); + } + return value; +} + +function NotMatchingError(expected, actual) { + 'use strict'; + Error.call(this, 'Expected '); + this.expected = expected; + this.actual = actual; +} +NotMatchingError.prototype = new Error(); + +function errorToObject(e) { + 'use strict'; + var msg = e.toString(); + + // Opera 9.64 produces an non-standard string in toString(). + if (msg.substr(0, 6) !== 'Error:') { + if (typeof e.message === 'string') { + msg = 'Error: ' + e.message; + } + } + + return { + index: e.index, + lineNumber: e.lineNumber, + column: e.column, + message: msg + }; +} + +function testParse(esprima, code, syntax) { + 'use strict'; + var expected, tree, actual, options, StringObject, i, len, err; + + // alias, so that JSLint does not complain. + StringObject = String; + + options = { + comment: (typeof syntax.comments !== 'undefined'), + range: true, + loc: true, + tokens: (typeof syntax.tokens !== 'undefined'), + raw: true, + tolerant: (typeof syntax.errors !== 'undefined') + }; + + if (typeof syntax.tokens !== 'undefined') { + if (syntax.tokens.length > 0) { + options.range = (typeof syntax.tokens[0].range !== 'undefined'); + options.loc = (typeof syntax.tokens[0].loc !== 'undefined'); + } + } + + if (typeof syntax.comments !== 'undefined') { + if (syntax.comments.length > 0) { + options.range = (typeof syntax.comments[0].range !== 'undefined'); + options.loc = (typeof syntax.comments[0].loc !== 'undefined'); + } + } + + expected = JSON.stringify(syntax, null, 4); + try { + tree = esprima.parse(code, options); + tree = (options.comment || options.tokens || options.tolerant) ? tree : tree.body[0]; + + if (options.tolerant) { + for (i = 0, len = tree.errors.length; i < len; i += 1) { + tree.errors[i] = errorToObject(tree.errors[i]); + } + } + + actual = JSON.stringify(tree, adjustRegexLiteral, 4); + + // Only to ensure that there is no error when using string object. + esprima.parse(new StringObject(code), options); + + } catch (e) { + throw new NotMatchingError(expected, e.toString()); + } + if (expected !== actual) { + throw new NotMatchingError(expected, actual); + } + + function filter(key, value) { + if (key === 'value' && value instanceof RegExp) { + value = value.toString(); + } + return (key === 'loc' || key === 'range') ? undefined : value; + } + + if (options.tolerant) { + return; + } + + + // Check again without any location info. + options.range = false; + options.loc = false; + expected = JSON.stringify(syntax, filter, 4); + try { + tree = esprima.parse(code, options); + tree = (options.comment || options.tokens) ? tree : tree.body[0]; + + if (options.tolerant) { + for (i = 0, len = tree.errors.length; i < len; i += 1) { + tree.errors[i] = errorToObject(tree.errors[i]); + } + } + + actual = JSON.stringify(tree, filter, 4); + } catch (e) { + throw new NotMatchingError(expected, e.toString()); + } + if (expected !== actual) { + throw new NotMatchingError(expected, actual); + } +} + +function testError(esprima, code, exception) { + 'use strict'; + var i, options, expected, actual, handleInvalidRegexFlag; + + // Different parsing options should give the same error. + options = [ + {}, + { comment: true }, + { raw: true }, + { raw: true, comment: true } + ]; + + // If handleInvalidRegexFlag is true, an invalid flag in a regular expression + // will throw an exception. In some old version V8, this is not the case + // and hence handleInvalidRegexFlag is false. + handleInvalidRegexFlag = false; + try { + 'test'.match(new RegExp('[a-z]', 'x')); + } catch (e) { + handleInvalidRegexFlag = true; + } + + expected = JSON.stringify(exception); + + for (i = 0; i < options.length; i += 1) { + + try { + esprima.parse(code, options[i]); + } catch (e) { + actual = JSON.stringify(errorToObject(e)); + } + + if (expected !== actual) { + + // Compensate for old V8 which does not handle invalid flag. + if (exception.message.indexOf('Invalid regular expression') > 0) { + if (typeof actual === 'undefined' && !handleInvalidRegexFlag) { + return; + } + } + + throw new NotMatchingError(expected, actual); + } + + } +} + +function testAPI(esprima, code, result) { + 'use strict'; + var expected, res, actual; + + expected = JSON.stringify(result.result, null, 4); + try { + if (typeof result.property !== 'undefined') { + res = esprima[result.property]; + } else { + res = esprima[result.call].apply(esprima, result.args); + } + actual = JSON.stringify(res, adjustRegexLiteral, 4); + } catch (e) { + throw new NotMatchingError(expected, e.toString()); + } + if (expected !== actual) { + throw new NotMatchingError(expected, actual); + } +} + +function runTest(esprima, code, result) { + 'use strict'; + if (result.hasOwnProperty('lineNumber')) { + testError(esprima, code, result); + } else if (result.hasOwnProperty('result')) { + testAPI(esprima, code, result); + } else { + testParse(esprima, code, result); + } +} + +if (typeof window !== 'undefined') { + // Run all tests in a browser environment. + runTests = function () { + 'use strict'; + var total = 0, + failures = 0, + category, + fixture, + source, + tick, + expected, + index, + len; + + function setText(el, str) { + if (typeof el.innerText === 'string') { + el.innerText = str; + } else { + el.textContent = str; + } + } + + function startCategory(category) { + var report, e; + report = document.getElementById('report'); + e = document.createElement('h4'); + setText(e, category); + report.appendChild(e); + } + + function reportSuccess(code) { + var report, e; + report = document.getElementById('report'); + e = document.createElement('pre'); + e.setAttribute('class', 'code'); + setText(e, code); + report.appendChild(e); + } + + function reportFailure(code, expected, actual) { + var report, e; + + report = document.getElementById('report'); + + e = document.createElement('p'); + setText(e, 'Code:'); + report.appendChild(e); + + e = document.createElement('pre'); + e.setAttribute('class', 'code'); + setText(e, code); + report.appendChild(e); + + e = document.createElement('p'); + setText(e, 'Expected'); + report.appendChild(e); + + e = document.createElement('pre'); + e.setAttribute('class', 'expected'); + setText(e, expected); + report.appendChild(e); + + e = document.createElement('p'); + setText(e, 'Actual'); + report.appendChild(e); + + e = document.createElement('pre'); + e.setAttribute('class', 'actual'); + setText(e, actual); + report.appendChild(e); + } + + setText(document.getElementById('version'), esprima.version); + + tick = new Date(); + for (category in testFixture) { + if (testFixture.hasOwnProperty(category)) { + startCategory(category); + fixture = testFixture[category]; + for (source in fixture) { + if (fixture.hasOwnProperty(source)) { + expected = fixture[source]; + total += 1; + try { + runTest(esprima, source, expected); + reportSuccess(source, JSON.stringify(expected, null, 4)); + } catch (e) { + failures += 1; + reportFailure(source, e.expected, e.actual); + } + } + } + } + } + tick = (new Date()) - tick; + + if (failures > 0) { + setText(document.getElementById('status'), total + ' tests. ' + + 'Failures: ' + failures + '. ' + tick + ' ms'); + } else { + setText(document.getElementById('status'), total + ' tests. ' + + 'No failure. ' + tick + ' ms'); + } + }; +} else { + (function () { + 'use strict'; + + var esprima = require('../esprima'), + vm = require('vm'), + fs = require('fs'), + total = 0, + failures = [], + tick = new Date(), + expected, + header; + + vm.runInThisContext(fs.readFileSync(__dirname + '/test.js', 'utf-8')); + + Object.keys(testFixture).forEach(function (category) { + Object.keys(testFixture[category]).forEach(function (source) { + total += 1; + expected = testFixture[category][source]; + try { + runTest(esprima, source, expected); + } catch (e) { + e.source = source; + failures.push(e); + } + }); + }); + tick = (new Date()) - tick; + + header = total + ' tests. ' + failures.length + ' failures. ' + + tick + ' ms'; + if (failures.length) { + console.error(header); + failures.forEach(function (failure) { + console.error(failure.source + ': Expected\n ' + + failure.expected.split('\n').join('\n ') + + '\nto match\n ' + failure.actual); + }); + } else { + console.log(header); + } + process.exit(failures.length === 0 ? 0 : 1); + }()); +} diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js new file mode 100644 index 0000000..8ceee54 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js @@ -0,0 +1,20238 @@ +/* + Copyright (C) 2012 Ariya Hidayat + Copyright (C) 2012 Joost-Wim Boekesteijn + Copyright (C) 2012 Yusuke Suzuki + Copyright (C) 2012 Arpad Borsos + Copyright (C) 2011 Ariya Hidayat + Copyright (C) 2011 Yusuke Suzuki + Copyright (C) 2011 Arpad Borsos + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +var testFixture = { + + 'Primary Expression': { + + 'this\n': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'ThisExpression', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 0 } + } + }], + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 0 } + }, + tokens: [{ + type: 'Keyword', + value: 'this', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }] + }, + + 'null\n': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: null, + raw: 'null', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 0 } + } + }], + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 0 } + }, + tokens: [{ + type: 'Null', + value: 'null', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }] + }, + + '\n 42\n\n': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }, + range: [5, 9], + loc: { + start: { line: 2, column: 4 }, + end: { line: 4, column: 0 } + } + }], + range: [5, 9], + loc: { + start: { line: 2, column: 4 }, + end: { line: 4, column: 0 } + }, + tokens: [{ + type: 'Numeric', + value: '42', + range: [5, 7], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }] + }, + + '(1 + 2 ) * 3': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Literal', + value: 1, + raw: '1', + range: [1, 2], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 2 } + } + }, + right: { + type: 'Literal', + value: 2, + raw: '2', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [1, 6], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 6 } + } + }, + right: { + type: 'Literal', + value: 3, + raw: '3', + range: [11, 12], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + } + + }, + + 'Grouping Operator': { + + '(1) + (2 ) + 3': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Literal', + value: 1, + raw: '1', + range: [1, 2], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 2 } + } + }, + right: { + type: 'Literal', + value: 2, + raw: '2', + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + right: { + type: 'Literal', + value: 3, + raw: '3', + range: [14, 15], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + + '4 + 5 << (6)': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '<<', + left: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Literal', + value: 4, + raw: '4', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 5, + raw: '5', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Literal', + value: 6, + raw: '6', + range: [10, 11], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + } + + }, + + 'Array Initializer': { + + 'x = []': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }], + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + }, + tokens: [{ + type: 'Identifier', + value: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, { + type: 'Punctuator', + value: '=', + range: [2, 3], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Punctuator', + value: '[', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: ']', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }] + }, + + 'x = [ ]': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x = [ 42 ]': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ArrayExpression', + elements: [{ + type: 'Literal', + value: 42, + raw: '42', + range: [6, 8], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 8 } + } + }], + range: [4, 10], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 10 } + } + }, + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + + 'x = [ 42, ]': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ArrayExpression', + elements: [{ + type: 'Literal', + value: 42, + raw: '42', + range: [6, 8], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 8 } + } + }], + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'x = [ ,, 42 ]': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ArrayExpression', + elements: [ + null, + null, + { + type: 'Literal', + value: 42, + raw: '42', + range: [9, 11], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 11 } + } + }], + range: [4, 13], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + 'x = [ 1, 2, 3, ]': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ArrayExpression', + elements: [{ + type: 'Literal', + value: 1, + raw: '1', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'Literal', + value: 2, + raw: '2', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, { + type: 'Literal', + value: 3, + raw: '3', + range: [12, 13], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 13 } + } + }], + range: [4, 16], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + 'x = [ 1, 2,, 3, ]': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ArrayExpression', + elements: [{ + type: 'Literal', + value: 1, + raw: '1', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'Literal', + value: 2, + raw: '2', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, null, { + type: 'Literal', + value: 3, + raw: '3', + range: [13, 14], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 14 } + } + }], + range: [4, 17], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + + '日本語 = []': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: '日本語', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [6, 8], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + + 'T\u203F = []': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'T\u203F', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'T\u200C = []': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'T\u200C', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'T\u200D = []': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'T\u200D', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + '\u2163\u2161 = []': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: '\u2163\u2161', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + '\u2163\u2161\u200A=\u2009[]': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: '\u2163\u2161', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + } + + }, + + 'Object Initializer': { + + 'x = {}': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [], + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x = { }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [], + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x = { answer: 42 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'answer', + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [14, 16], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 16 } + } + }, + kind: 'init', + range: [6, 16], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 16 } + } + }], + range: [4, 18], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 18 } + } + }, + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }, + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }, + + 'x = { if: 42 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'if', + range: [6, 8], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 8 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + kind: 'init', + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }], + range: [4, 14], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + 'x = { true: 42 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'true', + range: [6, 10], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 10 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [12, 14], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 14 } + } + }, + kind: 'init', + range: [6, 14], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 14 } + } + }], + range: [4, 16], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + 'x = { false: 42 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'false', + range: [6, 11], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 11 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [13, 15], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 15 } + } + }, + kind: 'init', + range: [6, 15], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 15 } + } + }], + range: [4, 17], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + + 'x = { null: 42 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'null', + range: [6, 10], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 10 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [12, 14], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 14 } + } + }, + kind: 'init', + range: [6, 14], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 14 } + } + }], + range: [4, 16], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + 'x = { "answer": 42 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Literal', + value: 'answer', + raw: '"answer"', + range: [6, 14], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 14 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [16, 18], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 18 } + } + }, + kind: 'init', + range: [6, 18], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 18 } + } + }], + range: [4, 20], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 20 } + } + }, + range: [0, 20], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 20 } + } + }, + range: [0, 20], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 20 } + } + }, + + 'x = { x: 1, x: 2 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [ + { + type: 'Property', + key: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + value: { + type: 'Literal', + value: 1, + raw: '1', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + kind: 'init', + range: [6, 10], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 10 } + } + }, + { + type: 'Property', + key: { + type: 'Identifier', + name: 'x', + range: [12, 13], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 13 } + } + }, + value: { + type: 'Literal', + value: 2, + raw: '2', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }, + kind: 'init', + range: [12, 16], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 16 } + } + } + ], + range: [4, 18], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 18 } + } + }, + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }, + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }, + + 'x = { get width() { return m_width } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'width', + range: [10, 15], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 15 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ReturnStatement', + argument: { + type: 'Identifier', + name: 'm_width', + range: [27, 34], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 34 } + } + }, + range: [20, 35], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 35 } + } + }], + range: [18, 36], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 36 } + } + }, + rest: null, + generator: false, + expression: false, + range: [18, 36], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 36 } + } + }, + kind: 'get', + range: [6, 36], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 36 } + } + }], + range: [4, 38], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 38 } + } + }, + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + } + }, + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + } + }, + + 'x = { get undef() {} }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'undef', + range: [10, 15], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 15 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [18, 20], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 20 } + } + }, + rest: null, + generator: false, + expression: false, + range: [18, 20], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 20 } + } + }, + kind: 'get', + range: [6, 20], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 20 } + } + }], + range: [4, 22], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + + 'x = { get if() {} }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'if', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [15, 17], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 17 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 17], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 17 } + } + }, + kind: 'get', + range: [6, 17], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 17 } + } + }], + range: [4, 19], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 19 } + } + }, + range: [0, 19], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 19 } + } + }, + range: [0, 19], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 19 } + } + }, + + 'x = { get true() {} }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'true', + range: [10, 14], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 14 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [17, 19], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 19 } + } + }, + rest: null, + generator: false, + expression: false, + range: [17, 19], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 19 } + } + }, + kind: 'get', + range: [6, 19], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 19 } + } + }], + range: [4, 21], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + + 'x = { get false() {} }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'false', + range: [10, 15], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 15 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [18, 20], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 20 } + } + }, + rest: null, + generator: false, + expression: false, + range: [18, 20], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 20 } + } + }, + kind: 'get', + range: [6, 20], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 20 } + } + }], + range: [4, 22], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + + 'x = { get null() {} }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'null', + range: [10, 14], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 14 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [17, 19], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 19 } + } + }, + rest: null, + generator: false, + expression: false, + range: [17, 19], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 19 } + } + }, + kind: 'get', + range: [6, 19], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 19 } + } + }], + range: [4, 21], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + + 'x = { get "undef"() {} }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Literal', + value: 'undef', + raw: '"undef"', + range: [10, 17], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 17 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [20, 22], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 22 } + } + }, + rest: null, + generator: false, + expression: false, + range: [20, 22], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 22 } + } + }, + kind: 'get', + range: [6, 22], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 22 } + } + }], + range: [4, 24], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 24 } + } + }, + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + } + }, + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + } + }, + + 'x = { get 10() {} }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Literal', + value: 10, + raw: '10', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [15, 17], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 17 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 17], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 17 } + } + }, + kind: 'get', + range: [6, 17], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 17 } + } + }], + range: [4, 19], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 19 } + } + }, + range: [0, 19], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 19 } + } + }, + range: [0, 19], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 19 } + } + }, + + 'x = { set width(w) { m_width = w } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'width', + range: [10, 15], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 15 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'w', + range: [16, 17], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 17 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'm_width', + range: [21, 28], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 28 } + } + }, + right: { + type: 'Identifier', + name: 'w', + range: [31, 32], + loc: { + start: { line: 1, column: 31 }, + end: { line: 1, column: 32 } + } + }, + range: [21, 32], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 32 } + } + }, + range: [21, 33], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 33 } + } + }], + range: [19, 34], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 34 } + } + }, + rest: null, + generator: false, + expression: false, + range: [19, 34], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 34 } + } + }, + kind: 'set', + range: [6, 34], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 34 } + } + }], + range: [4, 36], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + + 'x = { set if(w) { m_if = w } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'if', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'w', + range: [13, 14], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 14 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'm_if', + range: [18, 22], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 22 } + } + }, + right: { + type: 'Identifier', + name: 'w', + range: [25, 26], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 26 } + } + }, + range: [18, 26], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 26 } + } + }, + range: [18, 27], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 27 } + } + }], + range: [16, 28], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 28 } + } + }, + rest: null, + generator: false, + expression: false, + range: [16, 28], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 28 } + } + }, + kind: 'set', + range: [6, 28], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 28 } + } + }], + range: [4, 30], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 30 } + } + }, + range: [0, 30], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 30 } + } + }, + range: [0, 30], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 30 } + } + }, + + 'x = { set true(w) { m_true = w } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'true', + range: [10, 14], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 14 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'w', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'm_true', + range: [20, 26], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 26 } + } + }, + right: { + type: 'Identifier', + name: 'w', + range: [29, 30], + loc: { + start: { line: 1, column: 29 }, + end: { line: 1, column: 30 } + } + }, + range: [20, 30], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 30 } + } + }, + range: [20, 31], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 31 } + } + }], + range: [18, 32], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 32 } + } + }, + rest: null, + generator: false, + expression: false, + range: [18, 32], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 32 } + } + }, + kind: 'set', + range: [6, 32], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 32 } + } + }], + range: [4, 34], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 34 } + } + }, + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + }, + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + }, + + 'x = { set false(w) { m_false = w } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'false', + range: [10, 15], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 15 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'w', + range: [16, 17], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 17 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'm_false', + range: [21, 28], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 28 } + } + }, + right: { + type: 'Identifier', + name: 'w', + range: [31, 32], + loc: { + start: { line: 1, column: 31 }, + end: { line: 1, column: 32 } + } + }, + range: [21, 32], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 32 } + } + }, + range: [21, 33], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 33 } + } + }], + range: [19, 34], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 34 } + } + }, + rest: null, + generator: false, + expression: false, + range: [19, 34], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 34 } + } + }, + kind: 'set', + range: [6, 34], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 34 } + } + }], + range: [4, 36], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + + 'x = { set null(w) { m_null = w } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'null', + range: [10, 14], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 14 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'w', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'm_null', + range: [20, 26], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 26 } + } + }, + right: { + type: 'Identifier', + name: 'w', + range: [29, 30], + loc: { + start: { line: 1, column: 29 }, + end: { line: 1, column: 30 } + } + }, + range: [20, 30], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 30 } + } + }, + range: [20, 31], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 31 } + } + }], + range: [18, 32], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 32 } + } + }, + rest: null, + generator: false, + expression: false, + range: [18, 32], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 32 } + } + }, + kind: 'set', + range: [6, 32], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 32 } + } + }], + range: [4, 34], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 34 } + } + }, + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + }, + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + }, + + 'x = { set "null"(w) { m_null = w } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Literal', + value: 'null', + raw: '"null"', + range: [10, 16], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 16 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'w', + range: [17, 18], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 18 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'm_null', + range: [22, 28], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 28 } + } + }, + right: { + type: 'Identifier', + name: 'w', + range: [31, 32], + loc: { + start: { line: 1, column: 31 }, + end: { line: 1, column: 32 } + } + }, + range: [22, 32], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 32 } + } + }, + range: [22, 33], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 33 } + } + }], + range: [20, 34], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 34 } + } + }, + rest: null, + generator: false, + expression: false, + range: [20, 34], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 34 } + } + }, + kind: 'set', + range: [6, 34], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 34 } + } + }], + range: [4, 36], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + + 'x = { set 10(w) { m_null = w } }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Literal', + value: 10, + raw: '10', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'w', + range: [13, 14], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 14 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'm_null', + range: [18, 24], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 24 } + } + }, + right: { + type: 'Identifier', + name: 'w', + range: [27, 28], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 28 } + } + }, + range: [18, 28], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 28 } + } + }, + range: [18, 29], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 29 } + } + }], + range: [16, 30], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 30 } + } + }, + rest: null, + generator: false, + expression: false, + range: [16, 30], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 30 } + } + }, + kind: 'set', + range: [6, 30], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 30 } + } + }], + range: [4, 32], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 32 } + } + }, + range: [0, 32], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 32 } + } + }, + range: [0, 32], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 32 } + } + }, + + 'x = { get: 42 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'get', + range: [6, 9], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 9 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [11, 13], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 13 } + } + }, + kind: 'init', + range: [6, 13], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 13 } + } + }], + range: [4, 15], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + + 'x = { set: 43 }': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'set', + range: [6, 9], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 9 } + } + }, + value: { + type: 'Literal', + value: 43, + raw: '43', + range: [11, 13], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 13 } + } + }, + kind: 'init', + range: [6, 13], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 13 } + } + }], + range: [4, 15], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + } + + }, + + 'Comments': { + + '/* block comment */ 42': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [20, 22], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 22 } + } + }, + range: [20, 22], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 22 } + } + }, + + '42 /*The*/ /*Answer*/': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }], + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + }, + comments: [{ + type: 'Block', + value: 'The', + range: [3, 10], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 10 } + } + }, { + type: 'Block', + value: 'Answer', + range: [11, 21], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 21 } + } + }] + }, + + '42 /*the*/ /*answer*/': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [0, 2] + }, + range: [0, 21] + }], + range: [0, 21], + comments: [{ + type: 'Block', + value: 'the', + range: [3, 10] + }, { + type: 'Block', + value: 'answer', + range: [11, 21] + }] + }, + + '/* multiline\ncomment\nshould\nbe\nignored */ 42': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [42, 44], + loc: { + start: { line: 5, column: 11 }, + end: { line: 5, column: 13 } + } + }, + range: [42, 44], + loc: { + start: { line: 5, column: 11 }, + end: { line: 5, column: 13 } + } + }, + + '/*a\r\nb*/ 42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [9, 11], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }, + range: [9, 11], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }], + range: [9, 11], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + }, + comments: [{ + type: 'Block', + value: 'a\r\nb', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 3 } + } + }] + }, + + '/*a\rb*/ 42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [8, 10], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }, + range: [8, 10], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }], + range: [8, 10], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + }, + comments: [{ + type: 'Block', + value: 'a\rb', + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 3 } + } + }] + }, + + '/*a\nb*/ 42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [8, 10], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }, + range: [8, 10], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }], + range: [8, 10], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + }, + comments: [{ + type: 'Block', + value: 'a\nb', + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 3 } + } + }] + }, + + '/*a\nc*/ 42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }, + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + } + }], + loc: { + start: { line: 2, column: 4 }, + end: { line: 2, column: 6 } + }, + comments: [{ + type: 'Block', + value: 'a\nc', + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 3 } + } + }] + }, + + '// line comment\n42': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [16, 18], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + }, + range: [16, 18], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + }, + + '42 // line comment': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }], + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + }, + comments: [{ + type: 'Line', + value: ' line comment', + range: [3, 18], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 18 } + } + }] + }, + + '// Hello, world!\n42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [17, 19], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + }, + range: [17, 19], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + }], + range: [17, 19], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + }, + comments: [{ + type: 'Line', + value: ' Hello, world!', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }] + }, + + '// Hello, world!\n': { + type: 'Program', + body: [], + range: [17, 17], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 0 } + }, + comments: [{ + type: 'Line', + value: ' Hello, world!', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }] + }, + + '// Hallo, world!\n': { + type: 'Program', + body: [], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 0 } + }, + comments: [{ + type: 'Line', + value: ' Hallo, world!', + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }] + }, + + '//\n42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [3, 5], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + }, + range: [3, 5], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + }], + range: [3, 5], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + }, + comments: [{ + type: 'Line', + value: '', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }] + }, + + '//': { + type: 'Program', + body: [], + range: [2, 2], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 2 } + }, + comments: [{ + type: 'Line', + value: '', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }] + }, + + '// ': { + type: 'Program', + body: [], + range: [3, 3], + comments: [{ + type: 'Line', + value: ' ', + range: [0, 3] + }] + }, + + '/**/42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }, + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }], + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + }, + comments: [{ + type: 'Block', + value: '', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }] + }, + + '// Hello, world!\n\n// Another hello\n42': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [37, 39], + loc: { + start: { line: 4, column: 0 }, + end: { line: 4, column: 2 } + } + }, + range: [37, 39], + loc: { + start: { line: 4, column: 0 }, + end: { line: 4, column: 2 } + } + }], + range: [37, 39], + loc: { + start: { line: 4, column: 0 }, + end: { line: 4, column: 2 } + }, + comments: [{ + type: 'Line', + value: ' Hello, world!', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, { + type: 'Line', + value: ' Another hello', + range: [18, 36], + loc: { + start: { line: 3, column: 0 }, + end: { line: 3, column: 18 } + } + }] + }, + + 'if (x) { // Some comment\ndoThat(); }': { + type: 'Program', + body: [{ + type: 'IfStatement', + test: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + consequent: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'doThat', + range: [25, 31], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 6 } + } + }, + 'arguments': [], + range: [25, 33], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 8 } + } + }, + range: [25, 34], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 9 } + } + }], + range: [7, 36], + loc: { + start: { line: 1, column: 7 }, + end: { line: 2, column: 11 } + } + }, + alternate: null, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 11 } + } + }], + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 11 } + }, + comments: [{ + type: 'Line', + value: ' Some comment', + range: [9, 24], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 24 } + } + }] + }, + + 'switch (answer) { case 42: /* perfect */ bingo() }': { + type: 'Program', + body: [{ + type: 'SwitchStatement', + discriminant: { + type: 'Identifier', + name: 'answer', + range: [8, 14], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 14 } + } + }, + cases: [{ + type: 'SwitchCase', + test: { + type: 'Literal', + value: 42, + raw: '42', + range: [23, 25], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 25 } + } + }, + consequent: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'bingo', + range: [41, 46], + loc: { + start: { line: 1, column: 41 }, + end: { line: 1, column: 46 } + } + }, + 'arguments': [], + range: [41, 48], + loc: { + start: { line: 1, column: 41 }, + end: { line: 1, column: 48 } + } + }, + range: [41, 49], + loc: { + start: { line: 1, column: 41 }, + end: { line: 1, column: 49 } + } + }], + range: [18, 49], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 49 } + } + }], + range: [0, 50], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 50 } + } + }], + range: [0, 50], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 50 } + }, + comments: [{ + type: 'Block', + value: ' perfect ', + range: [27, 40], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 40 } + } + }] + } + + }, + + 'Numeric Literals': { + + '0': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0, + raw: '0', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + + '42': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42, + raw: '42', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + + '3': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 3, + raw: '3', + range: [0, 1] + }, + range: [0, 1] + }], + range: [0, 1], + tokens: [{ + type: 'Numeric', + value: '3', + range: [0, 1] + }] + }, + + '5': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 5, + raw: '5', + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + }, + tokens: [{ + type: 'Numeric', + value: '5', + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }] + }, + + '.14': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0.14, + raw: '.14', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + '3.14159': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 3.14159, + raw: '3.14159', + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + '6.02214179e+23': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 6.02214179e+23, + raw: '6.02214179e+23', + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + '1.492417830e-10': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 1.49241783e-10, + raw: '1.492417830e-10', + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + + '0x0': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0, + raw: '0x0', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + '0e+100': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0, + raw: '0e+100', + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + '0xabc': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0xabc, + raw: '0xabc', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + '0xdef': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0xdef, + raw: '0xdef', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + '0X1A': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0x1A, + raw: '0X1A', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + + '0x10': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0x10, + raw: '0x10', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + + '0x100': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0x100, + raw: '0x100', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + '0X04': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 0X04, + raw: '0X04', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + + '02': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 2, + raw: '02', + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + + '012': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 10, + raw: '012', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + '0012': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 10, + raw: '0012', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + } + + }, + + 'String Literals': { + + '"Hello"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello', + raw: '"Hello"', + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: '\n\r\t\x0B\b\f\\\'"\x00', + raw: '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"', + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + + '"\\u0061"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'a', + raw: '"\\u0061"', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + + '"\\x61"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'a', + raw: '"\\x61"', + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + '"\\u00"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'u00', + raw: '"\\u00"', + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + '"\\xt"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'xt', + raw: '"\\xt"', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + '"Hello\\nworld"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\nworld', + raw: '"Hello\\nworld"', + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + '"Hello\\\nworld"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Helloworld', + raw: '"Hello\\\nworld"', + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 14 } + } + }, + + '"Hello\\02World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\u0002World', + raw: '"Hello\\02World"', + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + + '"Hello\\012World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\u000AWorld', + raw: '"Hello\\012World"', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + '"Hello\\122World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\122World', + raw: '"Hello\\122World"', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + '"Hello\\0122World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\u000A2World', + raw: '"Hello\\0122World"', + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + + '"Hello\\312World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\u00CAWorld', + raw: '"Hello\\312World"', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + '"Hello\\412World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\412World', + raw: '"Hello\\412World"', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + '"Hello\\812World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello812World', + raw: '"Hello\\812World"', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + '"Hello\\712World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\712World', + raw: '"Hello\\712World"', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + '"Hello\\0World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\u0000World', + raw: '"Hello\\0World"', + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + '"Hello\\\r\nworld"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Helloworld', + raw: '"Hello\\\r\nworld"', + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 15 } + } + }, + + '"Hello\\1World"': { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'Hello\u0001World', + raw: '"Hello\\1World"', + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + } + }, + + 'Regular Expression Literals': { + + 'var x = /[a-z]/i': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: '/[a-z]/i', + raw: '/[a-z]/i', + range: [8, 16], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 16 } + } + }, + range: [4, 16], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 16 } + } + }], + kind: 'var', + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }], + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/[a-z]/i', + range: [8, 16], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 16 } + } + }] + }, + + 'var x = /[x-z]/i': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5] + }, + init: { + type: 'Literal', + value: '/[x-z]/i', + raw: '/[x-z]/i', + range: [8, 16] + }, + range: [4, 16] + }], + kind: 'var', + range: [0, 16] + }], + range: [0, 16], + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3] + }, { + type: 'Identifier', + value: 'x', + range: [4, 5] + }, { + type: 'Punctuator', + value: '=', + range: [6, 7] + }, { + type: 'RegularExpression', + value: '/[x-z]/i', + range: [8, 16] + }] + }, + + 'var x = /[a-c]/i': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: '/[a-c]/i', + raw: '/[a-c]/i', + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 16 } + } + }, + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 16 } + } + }], + kind: 'var', + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/[a-c]/i', + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 16 } + } + }] + }, + + 'var x = /[P QR]/i': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: '/[P QR]/i', + raw: '/[P QR]/i', + range: [8, 17], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 17 } + } + }, + range: [4, 17], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 17 } + } + }], + kind: 'var', + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }], + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/[P QR]/i', + range: [8, 17], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 17 } + } + }] + }, + + 'var x = /[\\]/]/': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: new RegExp('[\\]/]').toString(), + raw: '/[\\]/]/', + range: [8, 15], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 15 } + } + }, + range: [4, 15], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 15 } + } + }], + kind: 'var', + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }], + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/[\\]/]/', + range: [8, 15], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 15 } + } + }] + }, + + 'var x = /foo\\/bar/': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: '/foo\\/bar/', + raw: '/foo\\/bar/', + range: [8, 18], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 18 } + } + }, + range: [4, 18], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 18 } + } + }], + kind: 'var', + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }], + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/foo\\/bar/', + range: [8, 18], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 18 } + } + }] + }, + + 'var x = /=([^=\\s])+/g': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: '/=([^=\\s])+/g', + raw: '/=([^=\\s])+/g', + range: [8, 21], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 21 } + } + }, + range: [4, 21], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 21 } + } + }], + kind: 'var', + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }], + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/=([^=\\s])+/g', + range: [8, 21], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 21 } + } + }] + }, + + 'var x = /[P QR]/\\u0067': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: '/[P QR]/g', + raw: '/[P QR]/\\u0067', + range: [8, 22], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 22 } + } + }, + range: [4, 22], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 22 } + } + }], + kind: 'var', + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }], + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/[P QR]/\\u0067', + range: [8, 22], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 22 } + } + }] + }, + + 'var x = /[P QR]/\\g': { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: '/[P QR]/g', + raw: '/[P QR]/\\g', + range: [8, 18], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 18 } + } + }, + range: [4, 18], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 18 } + } + }], + kind: 'var', + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }], + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + }, + tokens: [{ + type: 'Keyword', + value: 'var', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, { + type: 'Identifier', + value: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'Punctuator', + value: '=', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, { + type: 'RegularExpression', + value: '/[P QR]/\\g', + range: [8, 18], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 18 } + } + }] + } + + }, + + 'Left-Hand-Side Expression': { + + 'new Button': { + type: 'ExpressionStatement', + expression: { + type: 'NewExpression', + callee: { + type: 'Identifier', + name: 'Button', + range: [4, 10], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 10 } + } + }, + 'arguments': [], + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + + 'new Button()': { + type: 'ExpressionStatement', + expression: { + type: 'NewExpression', + callee: { + type: 'Identifier', + name: 'Button', + range: [4, 10], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 10 } + } + }, + 'arguments': [], + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + + 'new new foo': { + type: 'ExpressionStatement', + expression: { + type: 'NewExpression', + callee: { + type: 'NewExpression', + callee: { + type: 'Identifier', + name: 'foo', + range: [8, 11], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 11 } + } + }, + 'arguments': [], + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + 'arguments': [], + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'new new foo()': { + type: 'ExpressionStatement', + expression: { + type: 'NewExpression', + callee: { + type: 'NewExpression', + callee: { + type: 'Identifier', + name: 'foo', + range: [8, 11], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 11 } + } + }, + 'arguments': [], + range: [4, 13], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 13 } + } + }, + 'arguments': [], + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + 'new foo().bar()': { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'MemberExpression', + computed: false, + object: { + type: 'NewExpression', + callee: { + type: 'Identifier', + name: 'foo', + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + 'arguments': [], + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + property: { + type: 'Identifier', + name: 'bar', + range: [10, 13], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + 'arguments': [], + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + range: [0, 15], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 15 } + } + }, + + 'new foo[bar]': { + type: 'ExpressionStatement', + expression: { + type: 'NewExpression', + callee: { + type: 'MemberExpression', + computed: true, + object: { + type: 'Identifier', + name: 'foo', + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + property: { + type: 'Identifier', + name: 'bar', + range: [8, 11], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 11 } + } + }, + range: [4, 12], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 12 } + } + }, + 'arguments': [], + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + + 'new foo.bar()': { + type: 'ExpressionStatement', + expression: { + type: 'NewExpression', + callee: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'foo', + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + property: { + type: 'Identifier', + name: 'bar', + range: [8, 11], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 11 } + } + }, + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + 'arguments': [], + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + '( new foo).bar()': { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'MemberExpression', + computed: false, + object: { + type: 'NewExpression', + callee: { + type: 'Identifier', + name: 'foo', + range: [6, 9], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 9 } + } + }, + 'arguments': [], + range: [2, 9], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 9 } + } + }, + property: { + type: 'Identifier', + name: 'bar', + range: [11, 14], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + 'arguments': [], + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + 'foo(bar, baz)': { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'foo', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'bar', + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, { + type: 'Identifier', + name: 'baz', + range: [9, 12], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 12 } + } + }], + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + '( foo )()': { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'foo', + range: [5, 8], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 8 } + } + }, + 'arguments': [], + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + 'universe.milkyway': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'milkyway', + range: [9, 17], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + + 'universe.milkyway.solarsystem': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'milkyway', + range: [9, 17], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + property: { + type: 'Identifier', + name: 'solarsystem', + range: [18, 29], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 29 } + } + }, + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 29 } + } + }, + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 29 } + } + }, + + 'universe.milkyway.solarsystem.Earth': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'MemberExpression', + computed: false, + object: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'milkyway', + range: [9, 17], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + property: { + type: 'Identifier', + name: 'solarsystem', + range: [18, 29], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 29 } + } + }, + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 29 } + } + }, + property: { + type: 'Identifier', + name: 'Earth', + range: [30, 35], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 35 } + } + }, + range: [0, 35], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 35 } + } + }, + range: [0, 35], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 35 } + } + }, + + 'universe[galaxyName, otherUselessName]': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: true, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'SequenceExpression', + expressions: [{ + type: 'Identifier', + name: 'galaxyName', + range: [9, 19], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 19 } + } + }, { + type: 'Identifier', + name: 'otherUselessName', + range: [21, 37], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 37 } + } + }], + range: [9, 37], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 37 } + } + }, + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + } + }, + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + } + }, + + 'universe[galaxyName]': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: true, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'galaxyName', + range: [9, 19], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 19 } + } + }, + range: [0, 20], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 20 } + } + }, + range: [0, 20], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 20 } + } + }, + + 'universe[42].galaxies': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'MemberExpression', + computed: true, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Literal', + value: 42, + raw: '42', + range: [9, 11], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + property: { + type: 'Identifier', + name: 'galaxies', + range: [13, 21], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + + 'universe(42).galaxies': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + 'arguments': [{ + type: 'Literal', + value: 42, + raw: '42', + range: [9, 11], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 11 } + } + }], + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + property: { + type: 'Identifier', + name: 'galaxies', + range: [13, 21], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + + 'universe(42).galaxies(14, 3, 77).milkyway': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'CallExpression', + callee: { + type: 'MemberExpression', + computed: false, + object: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + 'arguments': [{ + type: 'Literal', + value: 42, + raw: '42', + range: [9, 11], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 11 } + } + }], + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + property: { + type: 'Identifier', + name: 'galaxies', + range: [13, 21], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + 'arguments': [{ + type: 'Literal', + value: 14, + raw: '14', + range: [22, 24], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 24 } + } + }, { + type: 'Literal', + value: 3, + raw: '3', + range: [26, 27], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 27 } + } + }, { + type: 'Literal', + value: 77, + raw: '77', + range: [29, 31], + loc: { + start: { line: 1, column: 29 }, + end: { line: 1, column: 31 } + } + }], + range: [0, 32], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 32 } + } + }, + property: { + type: 'Identifier', + name: 'milkyway', + range: [33, 41], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 41 } + } + }, + range: [0, 41], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 41 } + } + }, + range: [0, 41], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 41 } + } + }, + + 'earth.asia.Indonesia.prepareForElection(2014)': { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'MemberExpression', + computed: false, + object: { + type: 'MemberExpression', + computed: false, + object: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'earth', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + property: { + type: 'Identifier', + name: 'asia', + range: [6, 10], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 10 } + } + }, + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + property: { + type: 'Identifier', + name: 'Indonesia', + range: [11, 20], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 20 } + } + }, + range: [0, 20], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 20 } + } + }, + property: { + type: 'Identifier', + name: 'prepareForElection', + range: [21, 39], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 39 } + } + }, + range: [0, 39], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 39 } + } + }, + 'arguments': [{ + type: 'Literal', + value: 2014, + raw: '2014', + range: [40, 44], + loc: { + start: { line: 1, column: 40 }, + end: { line: 1, column: 44 } + } + }], + range: [0, 45], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 45 } + } + }, + range: [0, 45], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 45 } + } + }, + + 'universe.if': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'if', + range: [9, 11], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'universe.true': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'true', + range: [9, 13], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + 'universe.false': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'false', + range: [9, 14], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + 'universe.null': { + type: 'ExpressionStatement', + expression: { + type: 'MemberExpression', + computed: false, + object: { + type: 'Identifier', + name: 'universe', + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + property: { + type: 'Identifier', + name: 'null', + range: [9, 13], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + } + + }, + + 'Postfix Expressions': { + + 'x++': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + prefix: false, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + 'x--': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + prefix: false, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + 'eval++': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'eval', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + prefix: false, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'eval--': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'eval', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + prefix: false, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'arguments++': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'arguments', + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + prefix: false, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'arguments--': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'arguments', + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + prefix: false, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + } + + }, + + 'Unary Operators': { + + '++x': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'x', + range: [2, 3], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 3 } + } + }, + prefix: true, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + '--x': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'x', + range: [2, 3], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 3 } + } + }, + prefix: true, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + '++eval': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'eval', + range: [2, 6], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 6 } + } + }, + prefix: true, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + '--eval': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'eval', + range: [2, 6], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 6 } + } + }, + prefix: true, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + '++arguments': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'arguments', + range: [2, 11], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 11 } + } + }, + prefix: true, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + '--arguments': { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'arguments', + range: [2, 11], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 11 } + } + }, + prefix: true, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + '+x': { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: '+', + argument: { + type: 'Identifier', + name: 'x', + range: [1, 2], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 2 } + } + }, + prefix: true, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + + '-x': { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: '-', + argument: { + type: 'Identifier', + name: 'x', + range: [1, 2], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 2 } + } + }, + prefix: true, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + + '~x': { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: '~', + argument: { + type: 'Identifier', + name: 'x', + range: [1, 2], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 2 } + } + }, + prefix: true, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + + '!x': { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: '!', + argument: { + type: 'Identifier', + name: 'x', + range: [1, 2], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 2 } + } + }, + prefix: true, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + }, + + 'void x': { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: 'void', + argument: { + type: 'Identifier', + name: 'x', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + prefix: true, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'delete x': { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: 'delete', + argument: { + type: 'Identifier', + name: 'x', + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }, + prefix: true, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + + 'typeof x': { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: 'typeof', + argument: { + type: 'Identifier', + name: 'x', + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }, + prefix: true, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + } + + }, + + 'Multiplicative Operators': { + + 'x * y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'x / y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '/', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'x % y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '%', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + } + + }, + + 'Additive Operators': { + + 'x + y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'x - y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '-', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + } + + }, + + 'Bitwise Shift Operator': { + + 'x << y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '<<', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x >> y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '>>', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x >>> y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '>>>', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + } + + }, + + 'Relational Operators': { + + 'x < y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'x > y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '>', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'x <= y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '<=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x >= y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '>=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x in y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: 'in', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x instanceof y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: 'instanceof', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [13, 14], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + 'x < y < z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + } + + }, + + 'Equality Operators': { + + 'x == y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '==', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x != y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '!=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x === y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '===', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x !== y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '!==', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + } + + }, + + 'Binary Bitwise Operators': { + + 'x & y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '&', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'x ^ y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '^', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'x | y': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '|', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + } + + }, + + 'Binary Expressions': { + + 'x + y + z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x - y + z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'BinaryExpression', + operator: '-', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x + y - z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '-', + left: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x - y - z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '-', + left: { + type: 'BinaryExpression', + operator: '-', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x + y * z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x + y / z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '+', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'BinaryExpression', + operator: '/', + left: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x - y % z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '-', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'BinaryExpression', + operator: '%', + left: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x * y * z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x * y / z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '/', + left: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x * y % z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '%', + left: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x % y * z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'BinaryExpression', + operator: '%', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x << y << z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '<<', + left: { + type: 'BinaryExpression', + operator: '<<', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [10, 11], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'x | y | z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '|', + left: { + type: 'BinaryExpression', + operator: '|', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x & y & z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '&', + left: { + type: 'BinaryExpression', + operator: '&', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x ^ y ^ z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '^', + left: { + type: 'BinaryExpression', + operator: '^', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x & y | z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '|', + left: { + type: 'BinaryExpression', + operator: '&', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x | y ^ z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '|', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'BinaryExpression', + operator: '^', + left: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x | y & z': { + type: 'ExpressionStatement', + expression: { + type: 'BinaryExpression', + operator: '|', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'BinaryExpression', + operator: '&', + left: { + type: 'Identifier', + name: 'y', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + } + + }, + + 'Binary Logical Operators': { + + 'x || y': { + type: 'ExpressionStatement', + expression: { + type: 'LogicalExpression', + operator: '||', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x && y': { + type: 'ExpressionStatement', + expression: { + type: 'LogicalExpression', + operator: '&&', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'x || y || z': { + type: 'ExpressionStatement', + expression: { + type: 'LogicalExpression', + operator: '||', + left: { + type: 'LogicalExpression', + operator: '||', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [10, 11], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'x && y && z': { + type: 'ExpressionStatement', + expression: { + type: 'LogicalExpression', + operator: '&&', + left: { + type: 'LogicalExpression', + operator: '&&', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [10, 11], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'x || y && z': { + type: 'ExpressionStatement', + expression: { + type: 'LogicalExpression', + operator: '||', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'LogicalExpression', + operator: '&&', + left: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [10, 11], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 11 } + } + }, + range: [5, 11], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'x || y ^ z': { + type: 'ExpressionStatement', + expression: { + type: 'LogicalExpression', + operator: '||', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'BinaryExpression', + operator: '^', + left: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + right: { + type: 'Identifier', + name: 'z', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + range: [5, 10], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 10 } + } + }, + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + } + + }, + + 'Conditional Operator': { + + 'y ? 1 : 2': { + type: 'ExpressionStatement', + expression: { + type: 'ConditionalExpression', + test: { + type: 'Identifier', + name: 'y', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + consequent: { + type: 'Literal', + value: 1, + raw: '1', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + alternate: { + type: 'Literal', + value: 2, + raw: '2', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x && y ? 1 : 2': { + type: 'ExpressionStatement', + expression: { + type: 'ConditionalExpression', + test: { + type: 'LogicalExpression', + operator: '&&', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + consequent: { + type: 'Literal', + value: 1, + raw: '1', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + alternate: { + type: 'Literal', + value: 2, + raw: '2', + range: [13, 14], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + } + + }, + + 'Assignment Operators': { + + 'x = 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'eval = 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'eval', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [7, 9], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'arguments = 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'arguments', + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [12, 14], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + 'x *= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '*=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x /= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '/=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x %= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '%=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x += 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '+=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x -= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '-=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x <<= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '<<=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [6, 8], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + + 'x >>= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '>>=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [6, 8], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + + 'x >>>= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '>>>=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [7, 9], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'x &= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '&=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x ^= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '^=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + 'x |= 42': { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '|=', + left: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [5, 7], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + } + + }, + + 'Block': { + + '{ foo }': { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'foo', + range: [2, 5], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 5 } + } + }, + range: [2, 6], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 6 } + } + }], + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + '{ doThis(); doThat(); }': { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'doThis', + range: [2, 8], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 8 } + } + }, + 'arguments': [], + range: [2, 10], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 10 } + } + }, + range: [2, 11], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 11 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'doThat', + range: [12, 18], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 18 } + } + }, + 'arguments': [], + range: [12, 20], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 20 } + } + }, + range: [12, 21], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 21 } + } + }], + range: [0, 23], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 23 } + } + }, + + '{}': { + type: 'BlockStatement', + body: [], + range: [0, 2], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 2 } + } + } + + }, + + 'Variable Statement': { + + 'var x': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: null, + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }], + kind: 'var', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + 'var x, y;': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: null, + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'y', + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }, + init: null, + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }], + kind: 'var', + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'var x = 42': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [8, 10], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 10 } + } + }, + range: [4, 10], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 10 } + } + }], + kind: 'var', + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + + 'var eval = 42, arguments = 42': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'eval', + range: [4, 8], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 8 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [11, 13], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 13 } + } + }, + range: [4, 13], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'arguments', + range: [15, 24], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 24 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [27, 29], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 29 } + } + }, + range: [15, 29], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 29 } + } + }], + kind: 'var', + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 29 } + } + }, + + 'var x = 14, y = 3, z = 1977': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: { + type: 'Literal', + value: 14, + raw: '14', + range: [8, 10], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 10 } + } + }, + range: [4, 10], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 10 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'y', + range: [12, 13], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 13 } + } + }, + init: { + type: 'Literal', + value: 3, + raw: '3', + range: [16, 17], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 17 } + } + }, + range: [12, 17], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 17 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'z', + range: [19, 20], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 20 } + } + }, + init: { + type: 'Literal', + value: 1977, + raw: '1977', + range: [23, 27], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 27 } + } + }, + range: [19, 27], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 27 } + } + }], + kind: 'var', + range: [0, 27], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 27 } + } + }, + + 'var implements, interface, package': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'implements', + range: [4, 14], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 14 } + } + }, + init: null, + range: [4, 14], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 14 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'interface', + range: [16, 25], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 25 } + } + }, + init: null, + range: [16, 25], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 25 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'package', + range: [27, 34], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 34 } + } + }, + init: null, + range: [27, 34], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 34 } + } + }], + kind: 'var', + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + }, + + 'var private, protected, public, static': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'private', + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + init: null, + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'protected', + range: [13, 22], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 22 } + } + }, + init: null, + range: [13, 22], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 22 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'public', + range: [24, 30], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 30 } + } + }, + init: null, + range: [24, 30], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 30 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'static', + range: [32, 38], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 38 } + } + }, + init: null, + range: [32, 38], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 38 } + } + }], + kind: 'var', + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + } + } + + }, + + 'Let Statement': { + + 'let x': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: null, + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }], + kind: 'let', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + + '{ let x }': { + type: 'BlockStatement', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + init: null, + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }], + kind: 'let', + range: [2, 8], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 8 } + } + }], + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + '{ let x = 42 }': { + type: 'BlockStatement', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }], + kind: 'let', + range: [2, 13], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 13 } + } + }], + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + }, + + '{ let x = 14, y = 3, z = 1977 }': { + type: 'BlockStatement', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + init: { + type: 'Literal', + value: 14, + raw: '14', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'y', + range: [14, 15], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 15 } + } + }, + init: { + type: 'Literal', + value: 3, + raw: '3', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }, + range: [14, 19], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 19 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'z', + range: [21, 22], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 22 } + } + }, + init: { + type: 'Literal', + value: 1977, + raw: '1977', + range: [25, 29], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 29 } + } + }, + range: [21, 29], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 29 } + } + }], + kind: 'let', + range: [2, 30], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 30 } + } + }], + range: [0, 31], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 31 } + } + } + + }, + + 'Const Statement': { + + 'const x = 42': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }], + kind: 'const', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + + '{ const x = 42 }': { + type: 'BlockStatement', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [12, 14], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 14 } + } + }, + range: [8, 14], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 14 } + } + }], + kind: 'const', + range: [2, 15], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 15 } + } + }], + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + + '{ const x = 14, y = 3, z = 1977 }': { + type: 'BlockStatement', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + init: { + type: 'Literal', + value: 14, + raw: '14', + range: [12, 14], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 14 } + } + }, + range: [8, 14], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 14 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'y', + range: [16, 17], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 17 } + } + }, + init: { + type: 'Literal', + value: 3, + raw: '3', + range: [20, 21], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 21 } + } + }, + range: [16, 21], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 21 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'z', + range: [23, 24], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 24 } + } + }, + init: { + type: 'Literal', + value: 1977, + raw: '1977', + range: [27, 31], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 31 } + } + }, + range: [23, 31], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 31 } + } + }], + kind: 'const', + range: [2, 32], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 32 } + } + }], + range: [0, 33], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 33 } + } + } + + }, + + 'Empty Statement': { + + ';': { + type: 'EmptyStatement', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + } + + }, + + 'Expression Statement': { + + 'x': { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + + 'x, y': { + type: 'ExpressionStatement', + expression: { + type: 'SequenceExpression', + expressions: [{ + type: 'Identifier', + name: 'x', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, { + type: 'Identifier', + name: 'y', + range: [3, 4], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 4 } + } + }], + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + + '\\u0061': { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'a', + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }, + + 'a\\u0061': { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'aa', + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 7], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 7 } + } + }, + + '\\ua': { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'ua', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + + 'a\\u': { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'au', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + } + + }, + + 'If Statement': { + + 'if (morning) goodMorning()': { + type: 'IfStatement', + test: { + type: 'Identifier', + name: 'morning', + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + consequent: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'goodMorning', + range: [13, 24], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 24 } + } + }, + 'arguments': [], + range: [13, 26], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 26 } + } + }, + range: [13, 26], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 26 } + } + }, + alternate: null, + range: [0, 26], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 26 } + } + }, + + 'if (morning) (function(){})': { + type: 'IfStatement', + test: { + type: 'Identifier', + name: 'morning', + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + consequent: { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [24, 26], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 26 } + } + }, + rest: null, + generator: false, + expression: false, + range: [14, 26], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 26 } + } + }, + range: [13, 27], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 27 } + } + }, + alternate: null, + range: [0, 27], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 27 } + } + }, + + 'if (morning) var x = 0;': { + type: 'IfStatement', + test: { + type: 'Identifier', + name: 'morning', + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + consequent: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [17, 18], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 18 } + } + }, + init: { + type: 'Literal', + value: 0, + raw: '0', + range: [21, 22], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 22 } + } + }, + range: [17, 22], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 22 } + } + }], + kind: 'var', + range: [13, 23], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 23 } + } + }, + alternate: null, + range: [0, 23], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 23 } + } + }, + + 'if (morning) function a(){}': { + type: 'IfStatement', + test: { + type: 'Identifier', + name: 'morning', + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + consequent: { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'a', + range: [22, 23], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 23 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [25, 27], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 27 } + } + }, + rest: null, + generator: false, + expression: false, + range: [13, 27], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 27 } + } + }, + alternate: null, + range: [0, 27], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 27 } + } + }, + + 'if (morning) goodMorning(); else goodDay()': { + type: 'IfStatement', + test: { + type: 'Identifier', + name: 'morning', + range: [4, 11], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 11 } + } + }, + consequent: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'goodMorning', + range: [13, 24], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 24 } + } + }, + 'arguments': [], + range: [13, 26], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 26 } + } + }, + range: [13, 27], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 27 } + } + }, + alternate: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'goodDay', + range: [33, 40], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 40 } + } + }, + 'arguments': [], + range: [33, 42], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 42 } + } + }, + range: [33, 42], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 42 } + } + }, + range: [0, 42], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 42 } + } + } + + }, + + 'Iteration Statements': { + + 'do keep(); while (true)': { + type: 'DoWhileStatement', + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'keep', + range: [3, 7], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 7 } + } + }, + 'arguments': [], + range: [3, 9], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 9 } + } + }, + range: [3, 10], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 10 } + } + }, + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [18, 22], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 23], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 23 } + } + }, + + 'do keep(); while (true);': { + type: 'DoWhileStatement', + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'keep', + range: [3, 7], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 7 } + } + }, + 'arguments': [], + range: [3, 9], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 9 } + } + }, + range: [3, 10], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 10 } + } + }, + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [18, 22], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + } + }, + + 'do { x++; y--; } while (x < 10)': { + type: 'DoWhileStatement', + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'x', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + prefix: false, + range: [5, 8], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 8 } + } + }, + range: [5, 9], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 9 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'y', + range: [10, 11], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 11 } + } + }, + prefix: false, + range: [10, 13], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 13 } + } + }, + range: [10, 14], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 14 } + } + }], + range: [3, 16], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 16 } + } + }, + test: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'Identifier', + name: 'x', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }, + right: { + type: 'Literal', + value: 10, + raw: '10', + range: [28, 30], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 30 } + } + }, + range: [24, 30], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 30 } + } + }, + range: [0, 31], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 31 } + } + }, + + '{ do { } while (false) false }': { + type: 'BlockStatement', + body: [{ + type: 'DoWhileStatement', + body: { + type: 'BlockStatement', + body: [], + range: [5, 8], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 8 } + } + }, + test: { + type: 'Literal', + value: false, + raw: 'false', + range: [16, 21], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 21 } + } + }, + range: [2, 22], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 22 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: false, + raw: 'false', + range: [23, 28], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 28 } + } + }, + range: [23, 29], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 29 } + } + }], + range: [0, 30], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 30 } + } + }, + + 'while (true) doSomething()': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'doSomething', + range: [13, 24], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 24 } + } + }, + 'arguments': [], + range: [13, 26], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 26 } + } + }, + range: [13, 26], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 26 } + } + }, + range: [0, 26], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 26 } + } + }, + + 'while (x < 10) { x++; y--; }': { + type: 'WhileStatement', + test: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'Identifier', + name: 'x', + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }, + right: { + type: 'Literal', + value: 10, + raw: '10', + range: [11, 13], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 13 } + } + }, + range: [7, 13], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 13 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'x', + range: [17, 18], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 18 } + } + }, + prefix: false, + range: [17, 20], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 20 } + } + }, + range: [17, 21], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 21 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'y', + range: [22, 23], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 23 } + } + }, + prefix: false, + range: [22, 25], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 25 } + } + }, + range: [22, 26], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 26 } + } + }], + range: [15, 28], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 28 } + } + }, + range: [0, 28], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 28 } + } + }, + + 'for(;;);': { + type: 'ForStatement', + init: null, + test: null, + update: null, + body: { + type: 'EmptyStatement', + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + + 'for(;;){}': { + type: 'ForStatement', + init: null, + test: null, + update: null, + body: { + type: 'BlockStatement', + body: [], + range: [7, 9], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 9 } + } + }, + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + }, + + 'for(x = 0;;);': { + type: 'ForStatement', + init: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Literal', + value: 0, + raw: '0', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + test: null, + update: null, + body: { + type: 'EmptyStatement', + range: [12, 13], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + 'for(var x = 0;;);': { + type: 'ForStatement', + init: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + init: { + type: 'Literal', + value: 0, + raw: '0', + range: [12, 13], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 13 } + } + }, + range: [8, 13], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 13 } + } + }], + kind: 'var', + range: [4, 13], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 13 } + } + }, + test: null, + update: null, + body: { + type: 'EmptyStatement', + range: [16, 17], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + + 'for(let x = 0;;);': { + type: 'ForStatement', + init: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + init: { + type: 'Literal', + value: 0, + raw: '0', + range: [12, 13], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 13 } + } + }, + range: [8, 13], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 13 } + } + }], + kind: 'let', + range: [4, 13], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 13 } + } + }, + test: null, + update: null, + body: { + type: 'EmptyStatement', + range: [16, 17], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 17 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }, + + 'for(var x = 0, y = 1;;);': { + type: 'ForStatement', + init: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + init: { + type: 'Literal', + value: 0, + raw: '0', + range: [12, 13], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 13 } + } + }, + range: [8, 13], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'y', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }, + init: { + type: 'Literal', + value: 1, + raw: '1', + range: [19, 20], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 20 } + } + }, + range: [15, 20], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 20 } + } + }], + kind: 'var', + range: [4, 20], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 20 } + } + }, + test: null, + update: null, + body: { + type: 'EmptyStatement', + range: [23, 24], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 24 } + } + }, + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + } + }, + + 'for(x = 0; x < 42;);': { + type: 'ForStatement', + init: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Literal', + value: 0, + raw: '0', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + test: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'Identifier', + name: 'x', + range: [11, 12], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 12 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [15, 17], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 17 } + } + }, + range: [11, 17], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 17 } + } + }, + update: null, + body: { + type: 'EmptyStatement', + range: [19, 20], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 20 } + } + }, + range: [0, 20], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 20 } + } + }, + + 'for(x = 0; x < 42; x++);': { + type: 'ForStatement', + init: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Literal', + value: 0, + raw: '0', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + test: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'Identifier', + name: 'x', + range: [11, 12], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 12 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [15, 17], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 17 } + } + }, + range: [11, 17], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 17 } + } + }, + update: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'x', + range: [19, 20], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 20 } + } + }, + prefix: false, + range: [19, 22], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 22 } + } + }, + body: { + type: 'EmptyStatement', + range: [23, 24], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 24 } + } + }, + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + } + }, + + 'for(x = 0; x < 42; x++) process(x);': { + type: 'ForStatement', + init: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Literal', + value: 0, + raw: '0', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + test: { + type: 'BinaryExpression', + operator: '<', + left: { + type: 'Identifier', + name: 'x', + range: [11, 12], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 12 } + } + }, + right: { + type: 'Literal', + value: 42, + raw: '42', + range: [15, 17], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 17 } + } + }, + range: [11, 17], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 17 } + } + }, + update: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'x', + range: [19, 20], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 20 } + } + }, + prefix: false, + range: [19, 22], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 22 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'process', + range: [24, 31], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 31 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'x', + range: [32, 33], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 33 } + } + }], + range: [24, 34], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 34 } + } + }, + range: [24, 35], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 35 } + } + }, + range: [0, 35], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 35 } + } + }, + + 'for(x in list) process(x);': { + type: 'ForInStatement', + left: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + right: { + type: 'Identifier', + name: 'list', + range: [9, 13], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 13 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'process', + range: [15, 22], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 22 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'x', + range: [23, 24], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 24 } + } + }], + range: [15, 25], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 25 } + } + }, + range: [15, 26], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 26 } + } + }, + each: false, + range: [0, 26], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 26 } + } + }, + + 'for (var x in list) process(x);': { + type: 'ForInStatement', + left: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + init: null, + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }], + kind: 'var', + range: [5, 10], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 10 } + } + }, + right: { + type: 'Identifier', + name: 'list', + range: [14, 18], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 18 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'process', + range: [20, 27], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 27 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'x', + range: [28, 29], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 29 } + } + }], + range: [20, 30], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 30 } + } + }, + range: [20, 31], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 31 } + } + }, + each: false, + range: [0, 31], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 31 } + } + }, + + 'for (var x = 42 in list) process(x);': { + type: 'ForInStatement', + left: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [13, 15], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 15 } + } + }, + range: [9, 15], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 15 } + } + }], + kind: 'var', + range: [5, 15], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 15 } + } + }, + right: { + type: 'Identifier', + name: 'list', + range: [19, 23], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 23 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'process', + range: [25, 32], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 32 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'x', + range: [33, 34], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 34 } + } + }], + range: [25, 35], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 35 } + } + }, + range: [25, 36], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 36 } + } + }, + each: false, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + + 'for (let x in list) process(x);': { + type: 'ForInStatement', + left: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + init: null, + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }], + kind: 'let', + range: [5, 10], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 10 } + } + }, + right: { + type: 'Identifier', + name: 'list', + range: [14, 18], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 18 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'process', + range: [20, 27], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 27 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'x', + range: [28, 29], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 29 } + } + }], + range: [20, 30], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 30 } + } + }, + range: [20, 31], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 31 } + } + }, + each: false, + range: [0, 31], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 31 } + } + }, + + 'for (let x = 42 in list) process(x);': { + type: 'ForInStatement', + left: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + init: { + type: 'Literal', + value: 42, + raw: '42', + range: [13, 15], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 15 } + } + }, + range: [9, 15], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 15 } + } + }], + kind: 'let', + range: [5, 15], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 15 } + } + }, + right: { + type: 'Identifier', + name: 'list', + range: [19, 23], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 23 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'process', + range: [25, 32], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 32 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'x', + range: [33, 34], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 34 } + } + }], + range: [25, 35], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 35 } + } + }, + range: [25, 36], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 36 } + } + }, + each: false, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + + 'for (var i = function() { return 10 in [] } in list) process(x);': { + type: 'ForInStatement', + left: { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'i', + range: [9, 10], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 10 } + } + }, + init: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ReturnStatement', + argument: { + type: 'BinaryExpression', + operator: 'in', + left: { + type: 'Literal', + value: 10, + raw: '10', + range: [33, 35], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 35 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [39, 41], + loc: { + start: { line: 1, column: 39 }, + end: { line: 1, column: 41 } + } + }, + range: [33, 41], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 41 } + } + }, + range: [26, 42], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 42 } + } + }], + range: [24, 43], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 43 } + } + }, + rest: null, + generator: false, + expression: false, + range: [13, 43], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 43 } + } + }, + range: [9, 43], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 43 } + } + }], + kind: 'var', + range: [5, 43], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 43 } + } + }, + right: { + type: 'Identifier', + name: 'list', + range: [47, 51], + loc: { + start: { line: 1, column: 47 }, + end: { line: 1, column: 51 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'process', + range: [53, 60], + loc: { + start: { line: 1, column: 53 }, + end: { line: 1, column: 60 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'x', + range: [61, 62], + loc: { + start: { line: 1, column: 61 }, + end: { line: 1, column: 62 } + } + }], + range: [53, 63], + loc: { + start: { line: 1, column: 53 }, + end: { line: 1, column: 63 } + } + }, + range: [53, 64], + loc: { + start: { line: 1, column: 53 }, + end: { line: 1, column: 64 } + } + }, + each: false, + range: [0, 64], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 64 } + } + } + + }, + + 'continue statement': { + + 'while (true) { continue; }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [ + { + type: 'ContinueStatement', + label: null, + range: [15, 24], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 24 } + } + } + ], + range: [13, 26], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 26 } + } + }, + range: [0, 26], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 26 } + } + }, + + 'while (true) { continue }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [ + { + type: 'ContinueStatement', + label: null, + range: [15, 24], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 24 } + } + } + ], + range: [13, 25], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 25 } + } + }, + range: [0, 25], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 25 } + } + }, + + 'done: while (true) { continue done }': { + type: 'LabeledStatement', + label: { + type: 'Identifier', + name: 'done', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + body: { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [13, 17], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 17 } + } + }, + body: { + type: 'BlockStatement', + body: [ + { + type: 'ContinueStatement', + label: { + type: 'Identifier', + name: 'done', + range: [30, 34], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 34 } + } + }, + range: [21, 35], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 35 } + } + } + ], + range: [19, 36], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 36 } + } + }, + range: [6, 36], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + } + }, + + 'done: while (true) { continue done; }': { + type: 'LabeledStatement', + label: { + type: 'Identifier', + name: 'done', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + body: { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [13, 17], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 17 } + } + }, + body: { + type: 'BlockStatement', + body: [ + { + type: 'ContinueStatement', + label: { + type: 'Identifier', + name: 'done', + range: [30, 34], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 34 } + } + }, + range: [21, 35], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 35 } + } + } + ], + range: [19, 37], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 37 } + } + }, + range: [6, 37], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 37 } + } + }, + range: [0, 37], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 37 } + } + } + + }, + + 'break statement': { + + 'while (true) { break }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [ + { + type: 'BreakStatement', + label: null, + range: [15, 21], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 21 } + } + } + ], + range: [13, 22], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + + 'done: while (true) { break done }': { + type: 'LabeledStatement', + label: { + type: 'Identifier', + name: 'done', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + body: { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [13, 17], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 17 } + } + }, + body: { + type: 'BlockStatement', + body: [ + { + type: 'BreakStatement', + label: { + type: 'Identifier', + name: 'done', + range: [27, 31], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 31 } + } + }, + range: [21, 32], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 32 } + } + } + ], + range: [19, 33], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 33 } + } + }, + range: [6, 33], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 33 } + } + }, + range: [0, 33], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 33 } + } + }, + + 'done: while (true) { break done; }': { + type: 'LabeledStatement', + label: { + type: 'Identifier', + name: 'done', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + body: { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [13, 17], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 17 } + } + }, + body: { + type: 'BlockStatement', + body: [ + { + type: 'BreakStatement', + label: { + type: 'Identifier', + name: 'done', + range: [27, 31], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 31 } + } + }, + range: [21, 32], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 32 } + } + } + ], + range: [19, 34], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 34 } + } + }, + range: [6, 34], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 34 } + } + }, + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + } + + }, + + 'return statement': { + + '(function(){ return })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [ + { + type: 'ReturnStatement', + argument: null, + range: [13, 20], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 20 } + } + } + ], + range: [11, 21], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 21 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 21], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 21 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + }, + + '(function(){ return; })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [ + { + type: 'ReturnStatement', + argument: null, + range: [13, 20], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 20 } + } + } + ], + range: [11, 22], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 22 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 22], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 23], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 23 } + } + }, + + '(function(){ return x; })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [ + { + type: 'ReturnStatement', + argument: { + type: 'Identifier', + name: 'x', + range: [20, 21], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 21 } + } + }, + range: [13, 22], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 22 } + } + } + ], + range: [11, 24], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 24 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 24], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 24 } + } + }, + range: [0, 25], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 25 } + } + }, + + '(function(){ return x * y })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [ + { + type: 'ReturnStatement', + argument: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'Identifier', + name: 'x', + range: [20, 21], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 21 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }, + range: [20, 25], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 25 } + } + }, + range: [13, 26], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 26 } + } + } + ], + range: [11, 27], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 27 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 27], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 27 } + } + }, + range: [0, 28], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 28 } + } + } + }, + + 'with statement': { + + 'with (x) foo = bar': { + type: 'WithStatement', + object: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'foo', + range: [9, 12], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 12 } + } + }, + right: { + type: 'Identifier', + name: 'bar', + range: [15, 18], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 18 } + } + }, + range: [9, 18], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 18 } + } + }, + range: [9, 18], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 18 } + } + }, + range: [0, 18], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 18 } + } + }, + + 'with (x) foo = bar;': { + type: 'WithStatement', + object: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + body: { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'foo', + range: [9, 12], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 12 } + } + }, + right: { + type: 'Identifier', + name: 'bar', + range: [15, 18], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 18 } + } + }, + range: [9, 18], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 18 } + } + }, + range: [9, 19], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 19 } + } + }, + range: [0, 19], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 19 } + } + }, + + 'with (x) { foo = bar }': { + type: 'WithStatement', + object: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'foo', + range: [11, 14], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 14 } + } + }, + right: { + type: 'Identifier', + name: 'bar', + range: [17, 20], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 20 } + } + }, + range: [11, 20], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 20 } + } + }, + range: [11, 21], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 21 } + } + }], + range: [9, 22], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 22 } + } + }, + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + } + } + + }, + + 'switch statement': { + + 'switch (x) {}': { + type: 'SwitchStatement', + discriminant: { + type: 'Identifier', + name: 'x', + range: [8, 9], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 9 } + } + }, + cases:[], + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, + + 'switch (answer) { case 42: hi(); break; }': { + type: 'SwitchStatement', + discriminant: { + type: 'Identifier', + name: 'answer', + range: [8, 14], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 14 } + } + }, + cases: [{ + type: 'SwitchCase', + test: { + type: 'Literal', + value: 42, + raw: '42', + range: [23, 25], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 25 } + } + }, + consequent: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'hi', + range: [27, 29], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 29 } + } + }, + 'arguments': [], + range: [27, 31], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 31 } + } + }, + range: [27, 32], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 32 } + } + }, { + type: 'BreakStatement', + label: null, + range: [33, 39], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 39 } + } + }], + range: [18, 39], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 39 } + } + }], + range: [0, 41], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 41 } + } + }, + + 'switch (answer) { case 42: hi(); break; default: break }': { + type: 'SwitchStatement', + discriminant: { + type: 'Identifier', + name: 'answer', + range: [8, 14], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 14 } + } + }, + cases: [{ + type: 'SwitchCase', + test: { + type: 'Literal', + value: 42, + raw: '42', + range: [23, 25], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 25 } + } + }, + consequent: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'hi', + range: [27, 29], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 29 } + } + }, + 'arguments': [], + range: [27, 31], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 31 } + } + }, + range: [27, 32], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 32 } + } + }, { + type: 'BreakStatement', + label: null, + range: [33, 39], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 39 } + } + }], + range: [18, 39], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 39 } + } + }, { + type: 'SwitchCase', + test: null, + consequent: [{ + type: 'BreakStatement', + label: null, + range: [49, 55], + loc: { + start: { line: 1, column: 49 }, + end: { line: 1, column: 55 } + } + }], + range: [40, 55], + loc: { + start: { line: 1, column: 40 }, + end: { line: 1, column: 55 } + } + }], + range: [0, 56], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 56 } + } + } + + }, + + 'Labelled Statements': { + + 'start: for (;;) break start': { + type: 'LabeledStatement', + label: { + type: 'Identifier', + name: 'start', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + body: { + type: 'ForStatement', + init: null, + test: null, + update: null, + body: { + type: 'BreakStatement', + label: { + type: 'Identifier', + name: 'start', + range: [22, 27], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 27 } + } + }, + range: [16, 27], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 27 } + } + }, + range: [7, 27], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 27 } + } + }, + range: [0, 27], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 27 } + } + }, + + 'start: while (true) break start': { + type: 'LabeledStatement', + label: { + type: 'Identifier', + name: 'start', + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + body: { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [14, 18], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 18 } + } + }, + body: { + type: 'BreakStatement', + label: { + type: 'Identifier', + name: 'start', + range: [26, 31], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 31 } + } + }, + range: [20, 31], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 31 } + } + }, + range: [7, 31], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 31 } + } + }, + range: [0, 31], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 31 } + } + } + + }, + + 'throw statement': { + + 'throw x;': { + type: 'ThrowStatement', + argument: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + range: [0, 8], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 8 } + } + }, + + 'throw x * y': { + type: 'ThrowStatement', + argument: { + type: 'BinaryExpression', + operator: '*', + left: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + right: { + type: 'Identifier', + name: 'y', + range: [10, 11], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 11 } + } + }, + range: [6, 11], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 11 } + } + }, + range: [0, 11], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 11 } + } + }, + + 'throw { message: "Error" }': { + type: 'ThrowStatement', + argument: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'message', + range: [8, 15], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 15 } + } + }, + value: { + type: 'Literal', + value: 'Error', + raw: '"Error"', + range: [17, 24], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 24 } + } + }, + kind: 'init', + range: [8, 24], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 24 } + } + }], + range: [6, 26], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 26 } + } + }, + range: [0, 26], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 26 } + } + } + + }, + + 'try statement': { + + 'try { } catch (e) { }': { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [], + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'e', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }, + body: { + type: 'BlockStatement', + body: [], + range: [18, 21], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 21 } + } + }, + range: [8, 21], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 21 } + } + }], + finalizer: null, + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + } + }, + + 'try { } catch (eval) { }': { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [], + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'eval', + range: [15, 19], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 19 } + } + }, + body: { + type: 'BlockStatement', + body: [], + range: [21, 24], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 24 } + } + }, + range: [8, 24], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 24 } + } + }], + finalizer: null, + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + } + }, + + 'try { } catch (arguments) { }': { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [], + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'arguments', + range: [15, 24], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 24 } + } + }, + body: { + type: 'BlockStatement', + body: [], + range: [26, 29], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 29 } + } + }, + range: [8, 29], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 29 } + } + }], + finalizer: null, + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 29 } + } + }, + + 'try { } catch (e) { say(e) }': { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [], + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'e', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'say', + range: [20, 23], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 23 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'e', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }], + range: [20, 26], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 26 } + } + }, + range: [20, 27], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 27 } + } + }], + range: [18, 28], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 28 } + } + }, + range: [8, 28], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 28 } + } + }], + finalizer: null, + range: [0, 28], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 28 } + } + }, + + 'try { } finally { cleanup(stuff) }': { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [], + range: [4, 7], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 7 } + } + }, + guardedHandlers: [], + handlers: [], + finalizer: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'cleanup', + range: [18, 25], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 25 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'stuff', + range: [26, 31], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 31 } + } + }], + range: [18, 32], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 32 } + } + }, + range: [18, 33], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 33 } + } + }], + range: [16, 34], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 34 } + } + }, + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + }, + + 'try { doThat(); } catch (e) { say(e) }': { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'doThat', + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }, + 'arguments': [], + range: [6, 14], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 14 } + } + }, + range: [6, 15], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 15 } + } + }], + range: [4, 17], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 17 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'e', + range: [25, 26], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 26 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'say', + range: [30, 33], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 33 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'e', + range: [34, 35], + loc: { + start: { line: 1, column: 34 }, + end: { line: 1, column: 35 } + } + }], + range: [30, 36], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 36 } + } + }, + range: [30, 37], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 37 } + } + }], + range: [28, 38], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 38 } + } + }, + range: [18, 38], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 38 } + } + }], + finalizer: null, + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + } + }, + + 'try { doThat(); } catch (e) { say(e) } finally { cleanup(stuff) }': { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'doThat', + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }, + 'arguments': [], + range: [6, 14], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 14 } + } + }, + range: [6, 15], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 15 } + } + }], + range: [4, 17], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 17 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'e', + range: [25, 26], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 26 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'say', + range: [30, 33], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 33 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'e', + range: [34, 35], + loc: { + start: { line: 1, column: 34 }, + end: { line: 1, column: 35 } + } + }], + range: [30, 36], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 36 } + } + }, + range: [30, 37], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 37 } + } + }], + range: [28, 38], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 38 } + } + }, + range: [18, 38], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 38 } + } + }], + finalizer: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'cleanup', + range: [49, 56], + loc: { + start: { line: 1, column: 49 }, + end: { line: 1, column: 56 } + } + }, + 'arguments': [{ + type: 'Identifier', + name: 'stuff', + range: [57, 62], + loc: { + start: { line: 1, column: 57 }, + end: { line: 1, column: 62 } + } + }], + range: [49, 63], + loc: { + start: { line: 1, column: 49 }, + end: { line: 1, column: 63 } + } + }, + range: [49, 64], + loc: { + start: { line: 1, column: 49 }, + end: { line: 1, column: 64 } + } + }], + range: [47, 65], + loc: { + start: { line: 1, column: 47 }, + end: { line: 1, column: 65 } + } + }, + range: [0, 65], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 65 } + } + } + + }, + + 'debugger statement': { + + 'debugger;': { + type: 'DebuggerStatement', + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 9 } + } + } + + }, + + 'Function Definition': { + + 'function hello() { sayHi(); }': { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'hello', + range: [9, 14], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 14 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'sayHi', + range: [19, 24], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 24 } + } + }, + 'arguments': [], + range: [19, 26], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 26 } + } + }, + range: [19, 27], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 27 } + } + }], + range: [17, 29], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 29 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 29 } + } + }, + + 'function eval() { }': { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'eval', + range: [9, 13], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 13 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [16, 19], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 19 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 19], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 19 } + } + }, + + 'function arguments() { }': { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'arguments', + range: [9, 18], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 18 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [21, 24], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 24 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + } + }, + + 'function test(t, t) { }': { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'test', + range: [9, 13], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 13 } + } + }, + params: [{ + type: 'Identifier', + name: 't', + range: [14, 15], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 15 } + } + }, { + type: 'Identifier', + name: 't', + range: [17, 18], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 18 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [20, 23], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 23 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 23], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 23 } + } + }, + + '(function test(t, t) { })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'test', + range: [10, 14], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 14 } + } + }, + params: [{ + type: 'Identifier', + name: 't', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }, { + type: 'Identifier', + name: 't', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [21, 24], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 24 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 24], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 24 } + } + }, + range: [0, 25], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 25 } + } + }, + + 'function eval() { function inner() { "use strict" } }': { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'eval', + range: [9, 13], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 13 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'inner', + range: [27, 32], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 32 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '\"use strict\"', + range: [37, 49], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 49 } + } + }, + range: [37, 50], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 50 } + } + }], + range: [35, 51], + loc: { + start: { line: 1, column: 35 }, + end: { line: 1, column: 51 } + } + }, + rest: null, + generator: false, + expression: false, + range: [18, 51], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 51 } + } + }], + range: [16, 53], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 53 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 53], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 53 } + } + }, + + 'function hello(a) { sayHi(); }': { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'hello', + range: [9, 14], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 14 } + } + }, + params: [{ + type: 'Identifier', + name: 'a', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'sayHi', + range: [20, 25], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 25 } + } + }, + 'arguments': [], + range: [20, 27], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 27 } + } + }, + range: [20, 28], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 28 } + } + }], + range: [18, 30], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 30 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 30], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 30 } + } + }, + + 'function hello(a, b) { sayHi(); }': { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'hello', + range: [9, 14], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 14 } + } + }, + params: [{ + type: 'Identifier', + name: 'a', + range: [15, 16], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 16 } + } + }, { + type: 'Identifier', + name: 'b', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'sayHi', + range: [23, 28], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 28 } + } + }, + 'arguments': [], + range: [23, 30], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 30 } + } + }, + range: [23, 31], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 31 } + } + }], + range: [21, 33], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 33 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 33], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 33 } + } + }, + + 'var hi = function() { sayHi() };': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'hi', + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }, + init: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'sayHi', + range: [22, 27], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 27 } + } + }, + 'arguments': [], + range: [22, 29], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 29 } + } + }, + range: [22, 30], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 30 } + } + }], + range: [20, 31], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 31 } + } + }, + rest: null, + generator: false, + expression: false, + range: [9, 31], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 31 } + } + }, + range: [4, 31], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 31 } + } + }], + kind: 'var', + range: [0, 32], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 32 } + } + }, + + 'var hi = function eval() { };': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'hi', + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }, + init: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'eval', + range: [18, 22], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 22 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [25, 28], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 28 } + } + }, + rest: null, + generator: false, + expression: false, + range: [9, 28], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 28 } + } + }, + range: [4, 28], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 28 } + } + }], + kind: 'var', + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 29 } + } + }, + + 'var hi = function arguments() { };': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'hi', + range: [4, 6], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 6 } + } + }, + init: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'arguments', + range: [18, 27], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 27 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [30, 33], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 33 } + } + }, + rest: null, + generator: false, + expression: false, + range: [9, 33], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 33 } + } + }, + range: [4, 33], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 33 } + } + }], + kind: 'var', + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + } + }, + + 'var hello = function hi() { sayHi() };': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'hello', + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }, + init: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'hi', + range: [21, 23], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 23 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'sayHi', + range: [28, 33], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 33 } + } + }, + 'arguments': [], + range: [28, 35], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 35 } + } + }, + range: [28, 36], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 36 } + } + }], + range: [26, 37], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 37 } + } + }, + rest: null, + generator: false, + expression: false, + range: [12, 37], + loc: { + start: { line: 1, column: 12 }, + end: { line: 1, column: 37 } + } + }, + range: [4, 37], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 37 } + } + }], + kind: 'var', + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + } + }, + + '(function(){})': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [11, 13], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 13 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 13], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 13 } + } + }, + range: [0, 14], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 14 } + } + } + + }, + + 'Automatic semicolon insertion': { + + '{ x\n++y }': { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'x', + range: [2, 3], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 3 } + } + }, + range: [2, 4], + loc: { + start: { line: 1, column: 2 }, + end: { line: 2, column: 0 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'y', + range: [6, 7], + loc: { + start: { line: 2, column: 2 }, + end: { line: 2, column: 3 } + } + }, + prefix: true, + range: [4, 7], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 3 } + } + }, + range: [4, 8], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 4 } + } + }], + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 5 } + } + }, + + '{ x\n--y }': { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'x', + range: [2, 3], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 3 } + } + }, + range: [2, 4], + loc: { + start: { line: 1, column: 2 }, + end: { line: 2, column: 0 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'y', + range: [6, 7], + loc: { + start: { line: 2, column: 2 }, + end: { line: 2, column: 3 } + } + }, + prefix: true, + range: [4, 7], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 3 } + } + }, + range: [4, 8], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 4 } + } + }], + range: [0, 9], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 5 } + } + }, + + 'var x /* comment */;': { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + init: null, + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }], + kind: 'var', + range: [0, 20], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 20 } + } + }, + + '{ var x = 14, y = 3\nz; }': { + type: 'BlockStatement', + body: [{ + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [6, 7], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 7 } + } + }, + init: { + type: 'Literal', + value: 14, + raw: '14', + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + range: [6, 12], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 12 } + } + }, { + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'y', + range: [14, 15], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 15 } + } + }, + init: { + type: 'Literal', + value: 3, + raw: '3', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }, + range: [14, 19], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 19 } + } + }], + kind: 'var', + range: [2, 20], + loc: { + start: { line: 1, column: 2 }, + end: { line: 2, column: 0 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'z', + range: [20, 21], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 1 } + } + }, + range: [20, 22], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + }], + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 4 } + } + }, + + 'while (true) { continue\nthere; }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ContinueStatement', + label: null, + range: [15, 23], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 23 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'there', + range: [24, 29], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 5 } + } + }, + range: [24, 30], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 6 } + } + }], + range: [13, 32], + loc: { + start: { line: 1, column: 13 }, + end: { line: 2, column: 8 } + } + }, + range: [0, 32], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 8 } + } + }, + + 'while (true) { continue // Comment\nthere; }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ContinueStatement', + label: null, + range: [15, 23], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 23 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'there', + range: [35, 40], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 5 } + } + }, + range: [35, 41], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 6 } + } + }], + range: [13, 43], + loc: { + start: { line: 1, column: 13 }, + end: { line: 2, column: 8 } + } + }, + range: [0, 43], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 8 } + } + }, + + 'while (true) { continue /* Multiline\nComment */there; }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'ContinueStatement', + label: null, + range: [15, 23], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 23 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'there', + range: [47, 52], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 15 } + } + }, + range: [47, 53], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 16 } + } + }], + range: [13, 55], + loc: { + start: { line: 1, column: 13 }, + end: { line: 2, column: 18 } + } + }, + range: [0, 55], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 18 } + } + }, + + 'while (true) { break\nthere; }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'BreakStatement', + label: null, + range: [15, 20], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 20 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'there', + range: [21, 26], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 5 } + } + }, + range: [21, 27], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 6 } + } + }], + range: [13, 29], + loc: { + start: { line: 1, column: 13 }, + end: { line: 2, column: 8 } + } + }, + range: [0, 29], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 8 } + } + }, + + 'while (true) { break // Comment\nthere; }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'BreakStatement', + label: null, + range: [15, 20], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 20 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'there', + range: [32, 37], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 5 } + } + }, + range: [32, 38], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 6 } + } + }], + range: [13, 40], + loc: { + start: { line: 1, column: 13 }, + end: { line: 2, column: 8 } + } + }, + range: [0, 40], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 8 } + } + }, + + 'while (true) { break /* Multiline\nComment */there; }': { + type: 'WhileStatement', + test: { + type: 'Literal', + value: true, + raw: 'true', + range: [7, 11], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 11 } + } + }, + body: { + type: 'BlockStatement', + body: [{ + type: 'BreakStatement', + label: null, + range: [15, 20], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 20 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'there', + range: [44, 49], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 15 } + } + }, + range: [44, 50], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 16 } + } + }], + range: [13, 52], + loc: { + start: { line: 1, column: 13 }, + end: { line: 2, column: 18 } + } + }, + range: [0, 52], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 18 } + } + }, + + '(function(){ return\nx; })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [ + { + type: 'ReturnStatement', + argument: null, + range: [13, 19], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 19 } + } + }, + { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'x', + range: [20, 21], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 1 } + } + }, + range: [20, 22], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + } + ], + range: [11, 24], + loc: { + start: { line: 1, column: 11 }, + end: { line: 2, column: 4 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 24], + loc: { + start: { line: 1, column: 1 }, + end: { line: 2, column: 4 } + } + }, + range: [0, 25], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 5 } + } + }, + + '(function(){ return // Comment\nx; })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [ + { + type: 'ReturnStatement', + argument: null, + range: [13, 19], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 19 } + } + }, + { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'x', + range: [31, 32], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 1 } + } + }, + range: [31, 33], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 2 } + } + } + ], + range: [11, 35], + loc: { + start: { line: 1, column: 11 }, + end: { line: 2, column: 4 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 35], + loc: { + start: { line: 1, column: 1 }, + end: { line: 2, column: 4 } + } + }, + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 5 } + } + }, + + '(function(){ return/* Multiline\nComment */x; })': { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [ + { + type: 'ReturnStatement', + argument: null, + range: [13, 19], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 19 } + } + }, + { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'x', + range: [42, 43], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 11 } + } + }, + range: [42, 44], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 12 } + } + } + ], + range: [11, 46], + loc: { + start: { line: 1, column: 11 }, + end: { line: 2, column: 14 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 46], + loc: { + start: { line: 1, column: 1 }, + end: { line: 2, column: 14 } + } + }, + range: [0, 47], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 15 } + } + }, + + '{ throw error\nerror; }': { + type: 'BlockStatement', + body: [{ + type: 'ThrowStatement', + argument: { + type: 'Identifier', + name: 'error', + range: [8, 13], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 13 } + } + }, + range: [2, 14], + loc: { + start: { line: 1, column: 2 }, + end: { line: 2, column: 0 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'error', + range: [14, 19], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 5 } + } + }, + range: [14, 20], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 6 } + } + }], + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 8 } + } + }, + + '{ throw error// Comment\nerror; }': { + type: 'BlockStatement', + body: [{ + type: 'ThrowStatement', + argument: { + type: 'Identifier', + name: 'error', + range: [8, 13], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 13 } + } + }, + range: [2, 24], + loc: { + start: { line: 1, column: 2 }, + end: { line: 2, column: 0 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'error', + range: [24, 29], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 5 } + } + }, + range: [24, 30], + loc: { + start: { line: 2, column: 0 }, + end: { line: 2, column: 6 } + } + }], + range: [0, 32], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 8 } + } + }, + + '{ throw error/* Multiline\nComment */error; }': { + type: 'BlockStatement', + body: [{ + type: 'ThrowStatement', + argument: { + type: 'Identifier', + name: 'error', + range: [8, 13], + loc: { + start: { line: 1, column: 8 }, + end: { line: 1, column: 13 } + } + }, + range: [2, 36], + loc: { + start: { line: 1, column: 2 }, + end: { line: 2, column: 10 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'error', + range: [36, 41], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 15 } + } + }, + range: [36, 42], + loc: { + start: { line: 2, column: 10 }, + end: { line: 2, column: 16 } + } + }], + range: [0, 44], + loc: { + start: { line: 1, column: 0 }, + end: { line: 2, column: 18 } + } + } + + }, + + 'Source elements': { + + '': { + type: 'Program', + body: [], + range: [0, 0], + loc: { + start: { line: 0, column: 0 }, + end: { line: 0, column: 0 } + }, + tokens: [] + } + }, + + 'Invalid syntax': { + + '{': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected end of input' + }, + + '}': { + index: 0, + lineNumber: 1, + column: 1, + message: 'Error: Line 1: Unexpected token }' + }, + + '3ea': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '3in []': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '3e': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '3e+': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '3e-': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '3x': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '3x0': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '0x': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '09': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '018': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '01a': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '3in[]': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '0x3in[]': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '"Hello\nWorld"': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + 'x\\': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + 'x\\u005c': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + 'x\\u002a': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + 'var x = /(s/g': { + index: 13, + lineNumber: 1, + column: 14, + message: 'Error: Line 1: Invalid regular expression' + }, + + '/': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Invalid regular expression: missing /' + }, + + '/test': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Invalid regular expression: missing /' + }, + + 'var x = /[a-z]/\\ux': { + index: 18, + lineNumber: 1, + column: 19, + message: 'Error: Line 1: Invalid regular expression' + }, + + '3 = 4': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + 'func() = 4': { + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + '(1 + 1) = 10': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + '1++': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + '1--': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + '++1': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + '--1': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + 'for((1 + 1) in list) process(x);': { + index: 11, + lineNumber: 1, + column: 12, + message: 'Error: Line 1: Invalid left-hand side in for-in' + }, + + '[': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected end of input' + }, + + '[,': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected end of input' + }, + + '1 + {': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Unexpected end of input' + }, + + '1 + { t:t ': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Unexpected end of input' + }, + + '1 + { t:t,': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'var x = /\n/': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Invalid regular expression: missing /' + }, + + 'var x = "\n': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + 'var if = 42': { + index: 4, + lineNumber: 1, + column: 5, + message: 'Error: Line 1: Unexpected token if' + }, + + 'i + 2 = 42': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + '+i = 42': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }, + + '1 + (': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Unexpected end of input' + }, + + '\n\n\n{': { + index: 4, + lineNumber: 4, + column: 2, + message: 'Error: Line 4: Unexpected end of input' + }, + + '\n/* Some multiline\ncomment */\n)': { + index: 30, + lineNumber: 4, + column: 1, + message: 'Error: Line 4: Unexpected token )' + }, + + '{ set 1 }': { + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Unexpected number' + }, + + '{ get 2 }': { + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Unexpected number' + }, + + '({ set: s(if) { } })': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Unexpected token if' + }, + + '({ set s(.) { } })': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token .' + }, + + '({ set s() { } })': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token )' + }, + + '({ set: s() { } })': { + index: 12, + lineNumber: 1, + column: 13, + message: 'Error: Line 1: Unexpected token {' + }, + + '({ set: s(a, b) { } })': { + index: 16, + lineNumber: 1, + column: 17, + message: 'Error: Line 1: Unexpected token {' + }, + + '({ get: g(d) { } })': { + index: 13, + lineNumber: 1, + column: 14, + message: 'Error: Line 1: Unexpected token {' + }, + + '({ get i() { }, i: 42 })': { + index: 21, + lineNumber: 1, + column: 22, + message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' + }, + + '({ i: 42, get i() { } })': { + index: 21, + lineNumber: 1, + column: 22, + message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' + }, + + '({ set i(x) { }, i: 42 })': { + index: 22, + lineNumber: 1, + column: 23, + message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' + }, + + '({ i: 42, set i(x) { } })': { + index: 22, + lineNumber: 1, + column: 23, + message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' + }, + + '({ get i() { }, get i() { } })': { + index: 27, + lineNumber: 1, + column: 28, + message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name' + }, + + '({ set i(x) { }, set i(x) { } })': { + index: 29, + lineNumber: 1, + column: 30, + message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name' + }, + + 'function t(if) { }': { + index: 11, + lineNumber: 1, + column: 12, + message: 'Error: Line 1: Unexpected token if' + }, + + 'function t(true) { }': { + index: 11, + lineNumber: 1, + column: 12, + message: 'Error: Line 1: Unexpected token true' + }, + + 'function t(false) { }': { + index: 11, + lineNumber: 1, + column: 12, + message: 'Error: Line 1: Unexpected token false' + }, + + 'function t(null) { }': { + index: 11, + lineNumber: 1, + column: 12, + message: 'Error: Line 1: Unexpected token null' + }, + + 'function null() { }': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token null' + }, + + 'function true() { }': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token true' + }, + + 'function false() { }': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token false' + }, + + 'function if() { }': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token if' + }, + + 'a b;': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected identifier' + }, + + 'if.a;': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token .' + }, + + 'a if;': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token if' + }, + + 'a class;': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected reserved word' + }, + + 'break\n': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Illegal break statement' + }, + + 'break 1;': { + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Unexpected number' + }, + + 'continue\n': { + index: 8, + lineNumber: 1, + column: 9, + message: 'Error: Line 1: Illegal continue statement' + }, + + 'continue 2;': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected number' + }, + + 'throw': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'throw;': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Unexpected token ;' + }, + + 'throw\n': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Illegal newline after throw' + }, + + 'for (var i, i2 in {});': { + index: 15, + lineNumber: 1, + column: 16, + message: 'Error: Line 1: Unexpected token in' + }, + + 'for ((i in {}));': { + index: 14, + lineNumber: 1, + column: 15, + message: 'Error: Line 1: Unexpected token )' + }, + + 'for (i + 1 in {});': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Invalid left-hand side in for-in' + }, + + 'for (+i in {});': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Invalid left-hand side in for-in' + }, + + 'if(false)': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'if(false) doThis(); else': { + index: 24, + lineNumber: 1, + column: 25, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'do': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'while(false)': { + index: 12, + lineNumber: 1, + column: 13, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'for(;;)': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'with(x)': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'try { }': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Missing catch or finally after try' + }, + + 'try {} catch (42) {} ': { + index: 14, + lineNumber: 1, + column: 15, + message: 'Error: Line 1: Unexpected number' + }, + + 'try {} catch (answer()) {} ': { + index: 20, + lineNumber: 1, + column: 21, + message: 'Error: Line 1: Unexpected token (' + }, + + 'try {} catch (-x) {} ': { + index: 14, + lineNumber: 1, + column: 15, + message: 'Error: Line 1: Unexpected token -' + }, + + + '\u203F = 10': { + index: 0, + lineNumber: 1, + column: 1, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + 'const x = 12, y;': { + index: 15, + lineNumber: 1, + column: 16, + message: 'Error: Line 1: Unexpected token ;' + }, + + 'const x, y = 12;': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected token ,' + }, + + 'const x;': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected token ;' + }, + + 'if(true) let a = 1;': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token let' + }, + + 'if(true) const a = 1;': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token const' + }, + + 'switch (c) { default: default: }': { + index: 30, + lineNumber: 1, + column: 31, + message: 'Error: Line 1: More than one default clause in switch statement' + }, + + 'new X()."s"': { + index: 8, + lineNumber: 1, + column: 9, + message: 'Error: Line 1: Unexpected string' + }, + + '/*': { + index: 2, + lineNumber: 1, + column: 3, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '/*\n\n\n': { + index: 5, + lineNumber: 4, + column: 1, + message: 'Error: Line 4: Unexpected token ILLEGAL' + }, + + '/**': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '/*\n\n*': { + index: 5, + lineNumber: 3, + column: 2, + message: 'Error: Line 3: Unexpected token ILLEGAL' + }, + + '/*hello': { + index: 7, + lineNumber: 1, + column: 8, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '/*hello *': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '\n]': { + index: 1, + lineNumber: 2, + column: 1, + message: 'Error: Line 2: Unexpected token ]' + }, + + '\r]': { + index: 1, + lineNumber: 2, + column: 1, + message: 'Error: Line 2: Unexpected token ]' + }, + + '\r\n]': { + index: 2, + lineNumber: 2, + column: 1, + message: 'Error: Line 2: Unexpected token ]' + }, + + '\n\r]': { + index: 2, + lineNumber: 3, + column: 1, + message: 'Error: Line 3: Unexpected token ]' + }, + + '//\r\n]': { + index: 4, + lineNumber: 2, + column: 1, + message: 'Error: Line 2: Unexpected token ]' + }, + + '//\n\r]': { + index: 4, + lineNumber: 3, + column: 1, + message: 'Error: Line 3: Unexpected token ]' + }, + + '/a\\\n/': { + index: 4, + lineNumber: 1, + column: 5, + message: 'Error: Line 1: Invalid regular expression: missing /' + }, + + '//\r \n]': { + index: 5, + lineNumber: 3, + column: 1, + message: 'Error: Line 3: Unexpected token ]' + }, + + '/*\r\n*/]': { + index: 6, + lineNumber: 2, + column: 3, + message: 'Error: Line 2: Unexpected token ]' + }, + + '/*\n\r*/]': { + index: 6, + lineNumber: 3, + column: 3, + message: 'Error: Line 3: Unexpected token ]' + }, + + '/*\r \n*/]': { + index: 7, + lineNumber: 3, + column: 3, + message: 'Error: Line 3: Unexpected token ]' + }, + + '\\\\': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '\\u005c': { + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + + '\\x': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '\\u0000': { + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '\u200C = []': { + index: 0, + lineNumber: 1, + column: 1, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '\u200D = []': { + index: 0, + lineNumber: 1, + column: 1, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '"\\': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + '"\\u': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected token ILLEGAL' + }, + + 'try { } catch() {}': { + index: 14, + lineNumber: 1, + column: 15, + message: 'Error: Line 1: Unexpected token )' + }, + + 'return': { + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Illegal return statement' + }, + + 'break': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Illegal break statement' + }, + + 'continue': { + index: 8, + lineNumber: 1, + column: 9, + message: 'Error: Line 1: Illegal continue statement' + }, + + 'switch (x) { default: continue; }': { + index: 31, + lineNumber: 1, + column: 32, + message: 'Error: Line 1: Illegal continue statement' + }, + + 'do { x } *': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token *' + }, + + 'while (true) { break x; }': { + index: 22, + lineNumber: 1, + column: 23, + message: 'Error: Line 1: Undefined label \'x\'' + }, + + 'while (true) { continue x; }': { + index: 25, + lineNumber: 1, + column: 26, + message: 'Error: Line 1: Undefined label \'x\'' + }, + + 'x: while (true) { (function () { break x; }); }': { + index: 40, + lineNumber: 1, + column: 41, + message: 'Error: Line 1: Undefined label \'x\'' + }, + + 'x: while (true) { (function () { continue x; }); }': { + index: 43, + lineNumber: 1, + column: 44, + message: 'Error: Line 1: Undefined label \'x\'' + }, + + 'x: while (true) { (function () { break; }); }': { + index: 39, + lineNumber: 1, + column: 40, + message: 'Error: Line 1: Illegal break statement' + }, + + 'x: while (true) { (function () { continue; }); }': { + index: 42, + lineNumber: 1, + column: 43, + message: 'Error: Line 1: Illegal continue statement' + }, + + 'x: while (true) { x: while (true) { } }': { + index: 20, + lineNumber: 1, + column: 21, + message: 'Error: Line 1: Label \'x\' has already been declared' + }, + + '(function () { \'use strict\'; delete i; }())': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.' + }, + + '(function () { \'use strict\'; with (i); }())': { + index: 28, + lineNumber: 1, + column: 29, + message: 'Error: Line 1: Strict mode code may not include a with statement' + }, + + 'function hello() {\'use strict\'; ({ i: 42, i: 42 }) }': { + index: 47, + lineNumber: 1, + column: 48, + message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode' + }, + + 'function hello() {\'use strict\'; ({ hasOwnProperty: 42, hasOwnProperty: 42 }) }': { + index: 73, + lineNumber: 1, + column: 74, + message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode' + }, + + 'function hello() {\'use strict\'; var eval = 10; }': { + index: 40, + lineNumber: 1, + column: 41, + message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; var arguments = 10; }': { + index: 45, + lineNumber: 1, + column: 46, + message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; try { } catch (eval) { } }': { + index: 51, + lineNumber: 1, + column: 52, + message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; try { } catch (arguments) { } }': { + index: 56, + lineNumber: 1, + column: 57, + message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; eval = 10; }': { + index: 32, + lineNumber: 1, + column: 33, + message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' + }, + + 'function hello() {\'use strict\'; arguments = 10; }': { + index: 32, + lineNumber: 1, + column: 33, + message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' + }, + + 'function hello() {\'use strict\'; ++eval; }': { + index: 38, + lineNumber: 1, + column: 39, + message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; --eval; }': { + index: 38, + lineNumber: 1, + column: 39, + message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; ++arguments; }': { + index: 43, + lineNumber: 1, + column: 44, + message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; --arguments; }': { + index: 43, + lineNumber: 1, + column: 44, + message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; eval++; }': { + index: 36, + lineNumber: 1, + column: 37, + message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; eval--; }': { + index: 36, + lineNumber: 1, + column: 37, + message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; arguments++; }': { + index: 41, + lineNumber: 1, + column: 42, + message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; arguments--; }': { + index: 41, + lineNumber: 1, + column: 42, + message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' + }, + + 'function hello() {\'use strict\'; function eval() { } }': { + index: 41, + lineNumber: 1, + column: 42, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; function arguments() { } }': { + index: 41, + lineNumber: 1, + column: 42, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + 'function eval() {\'use strict\'; }': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + 'function arguments() {\'use strict\'; }': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; (function eval() { }()) }': { + index: 42, + lineNumber: 1, + column: 43, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; (function arguments() { }()) }': { + index: 42, + lineNumber: 1, + column: 43, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + '(function eval() {\'use strict\'; })()': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + '(function arguments() {\'use strict\'; })()': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + 'function hello() {\'use strict\'; ({ s: function eval() { } }); }': { + index: 47, + lineNumber: 1, + column: 48, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }, + + '(function package() {\'use strict\'; })()': { + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() {\'use strict\'; ({ i: 10, set s(eval) { } }); }': { + index: 48, + lineNumber: 1, + column: 49, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + 'function hello() {\'use strict\'; ({ set s(eval) { } }); }': { + index: 41, + lineNumber: 1, + column: 42, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + 'function hello() {\'use strict\'; ({ s: function s(eval) { } }); }': { + index: 49, + lineNumber: 1, + column: 50, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + 'function hello(eval) {\'use strict\';}': { + index: 15, + lineNumber: 1, + column: 16, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + 'function hello(arguments) {\'use strict\';}': { + index: 15, + lineNumber: 1, + column: 16, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + 'function hello() { \'use strict\'; function inner(eval) {} }': { + index: 48, + lineNumber: 1, + column: 49, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + 'function hello() { \'use strict\'; function inner(arguments) {} }': { + index: 48, + lineNumber: 1, + column: 49, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + ' "\\1"; \'use strict\';': { + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { \'use strict\'; "\\1"; }': { + index: 33, + lineNumber: 1, + column: 34, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { \'use strict\'; 021; }': { + index: 33, + lineNumber: 1, + column: 34, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { \'use strict\'; ({ "\\1": 42 }); }': { + index: 36, + lineNumber: 1, + column: 37, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { \'use strict\'; ({ 021: 42 }); }': { + index: 36, + lineNumber: 1, + column: 37, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { "octal directive\\1"; "use strict"; }': { + index: 19, + lineNumber: 1, + column: 20, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { "octal directive\\1"; "octal directive\\2"; "use strict"; }': { + index: 19, + lineNumber: 1, + column: 20, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { "use strict"; function inner() { "octal directive\\1"; } }': { + index: 52, + lineNumber: 1, + column: 53, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }, + + 'function hello() { "use strict"; var implements; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var interface; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var package; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var private; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var protected; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var public; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var static; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var yield; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello() { "use strict"; var let; }': { + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function hello(static) { "use strict"; }': { + index: 15, + lineNumber: 1, + column: 16, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function static() { "use strict"; }': { + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'var yield': { + index: 4, + lineNumber: 1, + column: 5, + message: 'Error: Line 1: Unexpected token yield' + }, + + 'var let': { + index: 4, + lineNumber: 1, + column: 5, + message: 'Error: Line 1: Unexpected token let' + }, + + '"use strict"; function static() { }': { + index: 23, + lineNumber: 1, + column: 24, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function a(t, t) { "use strict"; }': { + index: 14, + lineNumber: 1, + column: 15, + message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' + }, + + 'function a(eval) { "use strict"; }': { + index: 11, + lineNumber: 1, + column: 12, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + 'function a(package) { "use strict"; }': { + index: 11, + lineNumber: 1, + column: 12, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'function a() { "use strict"; function b(t, t) { }; }': { + index: 43, + lineNumber: 1, + column: 44, + message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' + }, + + '(function a(t, t) { "use strict"; })': { + index: 15, + lineNumber: 1, + column: 16, + message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' + }, + + 'function a() { "use strict"; (function b(t, t) { }); }': { + index: 44, + lineNumber: 1, + column: 45, + message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' + }, + + '(function a(eval) { "use strict"; })': { + index: 12, + lineNumber: 1, + column: 13, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }, + + '(function a(package) { "use strict"; })': { + index: 12, + lineNumber: 1, + column: 13, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }, + + 'var': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'let': { + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Unexpected end of input' + }, + + 'const': { + index: 5, + lineNumber: 1, + column: 6, + message: 'Error: Line 1: Unexpected end of input' + } + + }, + + 'API': { + 'parse()': { + call: 'parse', + args: [], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'undefined' + } + }] + } + }, + + 'parse(null)': { + call: 'parse', + args: [null], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: null + } + }] + } + }, + + 'parse(42)': { + call: 'parse', + args: [42], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42 + } + }] + } + }, + + 'parse(true)': { + call: 'parse', + args: [true], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: true + } + }] + } + }, + + 'parse(undefined)': { + call: 'parse', + args: [void 0], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'undefined' + } + }] + } + }, + + 'parse(new String("test"))': { + call: 'parse', + args: [new String('test')], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Identifier', + name: 'test' + } + }] + } + }, + + 'parse(new Number(42))': { + call: 'parse', + args: [new Number(42)], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 42 + } + }] + } + }, + + 'parse(new Boolean(true))': { + call: 'parse', + args: [new Boolean(true)], + result: { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: true + } + }] + } + }, + + 'Syntax': { + property: 'Syntax', + result: { + AssignmentExpression: 'AssignmentExpression', + ArrayExpression: 'ArrayExpression', + BlockStatement: 'BlockStatement', + BinaryExpression: 'BinaryExpression', + BreakStatement: 'BreakStatement', + CallExpression: 'CallExpression', + CatchClause: 'CatchClause', + ConditionalExpression: 'ConditionalExpression', + ContinueStatement: 'ContinueStatement', + DoWhileStatement: 'DoWhileStatement', + DebuggerStatement: 'DebuggerStatement', + EmptyStatement: 'EmptyStatement', + ExpressionStatement: 'ExpressionStatement', + ForStatement: 'ForStatement', + ForInStatement: 'ForInStatement', + FunctionDeclaration: 'FunctionDeclaration', + FunctionExpression: 'FunctionExpression', + Identifier: 'Identifier', + IfStatement: 'IfStatement', + Literal: 'Literal', + LabeledStatement: 'LabeledStatement', + LogicalExpression: 'LogicalExpression', + MemberExpression: 'MemberExpression', + NewExpression: 'NewExpression', + ObjectExpression: 'ObjectExpression', + Program: 'Program', + Property: 'Property', + ReturnStatement: 'ReturnStatement', + SequenceExpression: 'SequenceExpression', + SwitchStatement: 'SwitchStatement', + SwitchCase: 'SwitchCase', + ThisExpression: 'ThisExpression', + ThrowStatement: 'ThrowStatement', + TryStatement: 'TryStatement', + UnaryExpression: 'UnaryExpression', + UpdateExpression: 'UpdateExpression', + VariableDeclaration: 'VariableDeclaration', + VariableDeclarator: 'VariableDeclarator', + WhileStatement: 'WhileStatement', + WithStatement: 'WithStatement' + } + } + + }, + + 'Tolerant parse': { + 'return': { + type: 'Program', + body: [{ + type: 'ReturnStatement', + 'argument': null, + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + } + }], + range: [0, 6], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 6 } + }, + errors: [{ + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Illegal return statement' + }] + }, + + '(function () { \'use strict\'; with (i); }())': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '\'use strict\'', + range: [15, 27], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 27 } + } + }, + range: [15, 28], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 28 } + } + }, { + type: 'WithStatement', + object: { + type: 'Identifier', + name: 'i', + range: [35, 36], + loc: { + start: { line: 1, column: 35 }, + end: { line: 1, column: 36 } + } + }, + body: { + type: 'EmptyStatement', + range: [37, 38], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 38 } + } + }, + range: [29, 38], + loc: { + start: { line: 1, column: 29 }, + end: { line: 1, column: 38 } + } + }], + range: [13, 40], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 40 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 40], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 40 } + } + }, + 'arguments': [], + range: [1, 42], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 42 } + } + }, + range: [0, 43], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 43 } + } + }], + range: [0, 43], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 43 } + }, + errors: [{ + index: 29, + lineNumber: 1, + column: 30, + message: 'Error: Line 1: Strict mode code may not include a with statement' + }] + }, + + '(function () { \'use strict\'; 021 }())': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'CallExpression', + callee: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '\'use strict\'', + range: [15, 27], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 27 } + } + }, + range: [15, 28], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 28 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 17, + raw: "021", + range: [29, 32], + loc: { + start: { line: 1, column: 29 }, + end: { line: 1, column: 32 } + } + }, + range: [29, 33], + loc: { + start: { line: 1, column: 29 }, + end: { line: 1, column: 33 } + } + }], + range: [13, 34], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 34 } + } + }, + rest: null, + generator: false, + expression: false, + range: [1, 34], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 34 } + } + }, + 'arguments': [], + range: [1, 36], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 36 } + } + }, + range: [0, 37], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 37 } + } + }], + range: [0, 37], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 37 } + }, + errors: [{ + index: 29, + lineNumber: 1, + column: 30, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }] + }, + + '"use strict"; delete x': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UnaryExpression', + operator: 'delete', + argument: { + type: 'Identifier', + name: 'x', + range: [21, 22], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 22 } + } + }, + prefix: true, + range: [14, 22], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 22 } + } + }, + range: [14, 22], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 22 } + } + }], + range: [0, 22], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 22 } + }, + errors: [{ + index: 22, + lineNumber: 1, + column: 23, + message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.' + }] + }, + + '"use strict"; try {} catch (eval) {}': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [], + range: [18, 20], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 20 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'eval', + range: [28, 32], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 32 } + } + }, + body: { + type: 'BlockStatement', + body: [], + range: [34, 36], + loc: { + start: { line: 1, column: 34 }, + end: { line: 1, column: 36 } + } + }, + range: [21, 36], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 36 } + } + }], + finalizer: null, + range: [14, 36], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 36 } + } + }], + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + }, + errors: [{ + index: 32, + lineNumber: 1, + column: 33, + message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; try {} catch (arguments) {}': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'TryStatement', + block: { + type: 'BlockStatement', + body: [], + range: [18, 20], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 20 } + } + }, + guardedHandlers: [], + handlers: [{ + type: 'CatchClause', + param: { + type: 'Identifier', + name: 'arguments', + range: [28, 37], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 37 } + } + }, + body: { + type: 'BlockStatement', + body: [], + range: [39, 41], + loc: { + start: { line: 1, column: 39 }, + end: { line: 1, column: 41 } + } + }, + range: [21, 41], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 41 } + } + }], + finalizer: null, + range: [14, 41], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 41 } + } + }], + range: [0, 41], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 41 } + }, + errors: [{ + index: 37, + lineNumber: 1, + column: 38, + message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; var eval;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'eval', + range: [18, 22], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 22 } + } + }, + init: null, + range: [18, 22], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 22 } + } + }], + kind: 'var', + range: [14, 23], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 23 } + } + }], + range: [0, 23], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 23 } + }, + errors: [{ + index: 22, + lineNumber: 1, + column: 23, + message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; var arguments;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'arguments', + range: [18, 27], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 27 } + } + }, + init: null, + range: [18, 27], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 27 } + } + }], + kind: 'var', + range: [14, 28], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 28 } + } + }], + range: [0, 28], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 28 } + }, + errors: [{ + index: 27, + lineNumber: 1, + column: 28, + message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; eval = 0;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'eval', + range: [14, 18], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 18 } + } + }, + right: { + type: 'Literal', + value: 0, + raw: '0', + range: [21, 22], + loc: { + start: { line: 1, column: 21 }, + end: { line: 1, column: 22 } + } + }, + range: [14, 22], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 22 } + } + }, + range: [14, 23], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 23 } + } + }], + range: [0, 23], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 23 } + }, + errors: [{ + index: 14, + lineNumber: 1, + column: 15, + message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' + }] + }, + + '"use strict"; eval++;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'eval', + range: [14, 18], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 18 } + } + }, + prefix: false, + range: [14, 20], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 20 } + } + }, + range: [14, 21], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 21 } + } + }], + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + }, + errors: [{ + index: 18, + lineNumber: 1, + column: 19, + message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' + }] + }, + + '"use strict"; --eval;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'eval', + range: [16, 20], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 20 } + } + }, + prefix: true, + range: [14, 20], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 20 } + } + }, + range: [14, 21], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 21 } + } + }], + range: [0, 21], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 21 } + }, + errors: [{ + index: 20, + lineNumber: 1, + column: 21, + message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' + }] + }, + + '"use strict"; arguments = 0;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'arguments', + range: [14, 23], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 23 } + } + }, + right: { + type: 'Literal', + value: 0, + raw: '0', + range: [26, 27], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 27 } + } + }, + range: [14, 27], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 27 } + } + }, + range: [14, 28], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 28 } + } + }], + range: [0, 28], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 28 } + }, + errors: [{ + index: 14, + lineNumber: 1, + column: 15, + message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' + }] + }, + + '"use strict"; arguments--;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Identifier', + name: 'arguments', + range: [14, 23], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 23 } + } + }, + prefix: false, + range: [14, 25], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 25 } + } + }, + range: [14, 26], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 26 } + } + }], + range: [0, 26], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 26 } + }, + errors: [{ + index: 23, + lineNumber: 1, + column: 24, + message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' + }] + }, + + '"use strict"; ++arguments;': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Identifier', + name: 'arguments', + range: [16, 25], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 25 } + } + }, + prefix: true, + range: [14, 25], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 25 } + } + }, + range: [14, 26], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 26 } + } + }], + range: [0, 26], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 26 } + }, + errors: [{ + index: 25, + lineNumber: 1, + column: 26, + message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' + }] + }, + + + '"use strict";x={y:1,y:1}': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [13, 14], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 14 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'y', + range: [16, 17], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 17 } + } + }, + value: { + type: 'Literal', + value: 1, + raw: '1', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }, + kind: 'init', + range: [16, 19], + loc: { + start: { line: 1, column: 16 }, + end: { line: 1, column: 19 } + } + }, { + type: 'Property', + key: { + type: 'Identifier', + name: 'y', + range: [20, 21], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 21 } + } + }, + value: { + type: 'Literal', + value: 1, + raw: '1', + range: [22, 23], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 23 } + } + }, + kind: 'init', + range: [20, 23], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 23 } + } + }], + range: [15, 24], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 24 } + } + }, + range: [13, 24], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 24 } + } + }, + range: [13, 24], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 24 } + } + }], + range: [0, 24], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 24 } + }, + errors: [{ + index: 23, + lineNumber: 1, + column: 24, + message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode' + }] + }, + + '"use strict"; function eval() {};': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'eval', + range: [23, 27], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 27 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [30, 32], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 32 } + } + }, + rest: null, + generator: false, + expression: false, + range: [14, 32], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 32 } + } + }, { + type: 'EmptyStatement', + range: [32, 33], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 33 } + } + }], + range: [0, 33], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 33 } + }, + errors: [{ + index: 23, + lineNumber: 1, + column: 24, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; function arguments() {};': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'arguments', + range: [23, 32], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 32 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [35, 37], + loc: { + start: { line: 1, column: 35 }, + end: { line: 1, column: 37 } + } + }, + rest: null, + generator: false, + expression: false, + range: [14, 37], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 37 } + } + }, { + type: 'EmptyStatement', + range: [37, 38], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 38 } + } + }], + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + }, + errors: [{ + index: 23, + lineNumber: 1, + column: 24, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; function interface() {};': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'interface', + range: [23, 32], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 32 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [35, 37], + loc: { + start: { line: 1, column: 35 }, + end: { line: 1, column: 37 } + } + }, + rest: null, + generator: false, + expression: false, + range: [14, 37], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 37 } + } + }, { + type: 'EmptyStatement', + range: [37, 38], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 38 } + } + }], + range: [0, 38], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 38 } + }, + errors: [{ + index: 23, + lineNumber: 1, + column: 24, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }] + }, + + '"use strict"; (function eval() {});': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'eval', + range: [24, 28], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 28 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [31, 33], + loc: { + start: { line: 1, column: 31 }, + end: { line: 1, column: 33 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 33], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 33 } + } + }, + range: [14, 35], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 35 } + } + }], + range: [0, 35], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 35 } + }, + errors: [{ + index: 24, + lineNumber: 1, + column: 25, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; (function arguments() {});': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'arguments', + range: [24, 33], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 33 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [36, 38], + loc: { + start: { line: 1, column: 36 }, + end: { line: 1, column: 38 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 38], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 38 } + } + }, + range: [14, 40], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 40 } + } + }], + range: [0, 40], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 40 } + }, + errors: [{ + index: 24, + lineNumber: 1, + column: 25, + message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' + }] + }, + + '"use strict"; (function interface() {});': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'interface', + range: [24, 33], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 33 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [36, 38], + loc: { + start: { line: 1, column: 36 }, + end: { line: 1, column: 38 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 38], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 38 } + } + }, + range: [14, 40], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 40 } + } + }], + range: [0, 40], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 40 } + }, + errors: [{ + index: 24, + lineNumber: 1, + column: 25, + message: 'Error: Line 1: Use of future reserved word in strict mode' + }] + }, + + '"use strict"; function f(eval) {};': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'f', + range: [23, 24], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 24 } + } + }, + params: [{ + type: 'Identifier', + name: 'eval', + range: [25, 29], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 29 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [31, 33], + loc: { + start: { line: 1, column: 31 }, + end: { line: 1, column: 33 } + } + }, + rest: null, + generator: false, + expression: false, + range: [14, 33], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 33 } + } + }, { + type: 'EmptyStatement', + range: [33, 34], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 34 } + } + }], + range: [0, 34], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 34 } + }, + errors: [{ + index: 25, + lineNumber: 1, + column: 26, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }] + }, + + '"use strict"; function f(arguments) {};': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'f', + range: [23, 24], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 24 } + } + }, + params: [{ + type: 'Identifier', + name: 'arguments', + range: [25, 34], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 34 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [36, 38], + loc: { + start: { line: 1, column: 36 }, + end: { line: 1, column: 38 } + } + }, + rest: null, + generator: false, + expression: false, + range: [14, 38], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 38 } + } + }, { + type: 'EmptyStatement', + range: [38, 39], + loc: { + start: { line: 1, column: 38 }, + end: { line: 1, column: 39 } + } + }], + range: [0, 39], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 39 } + }, + errors: [{ + index: 25, + lineNumber: 1, + column: 26, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }] + }, + + '"use strict"; function f(foo, foo) {};': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'f', + range: [23, 24], + loc: { + start: { line: 1, column: 23 }, + end: { line: 1, column: 24 } + } + }, + params: [{ + type: 'Identifier', + name: 'foo', + range: [25, 28], + loc: { + start: { line: 1, column: 25 }, + end: { line: 1, column: 28 } + } + }, { + type: 'Identifier', + name: 'foo', + range: [31, 34], + loc: { + start: { line: 1, column: 31 }, + end: { line: 1, column: 34 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [36, 38], + loc: { + start: { line: 1, column: 36 }, + end: { line: 1, column: 38 } + } + }, + rest: null, + generator: false, + expression: false, + range: [14, 38], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 38 } + } + }, { + type: 'EmptyStatement', + range: [38, 39], + loc: { + start: { line: 1, column: 38 }, + end: { line: 1, column: 39 } + } + }], + range: [0, 39], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 39 } + }, + errors: [{ + index: 31, + lineNumber: 1, + column: 32, + message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' + }] + }, + + '"use strict"; (function f(eval) {});': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'f', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }, + params: [{ + type: 'Identifier', + name: 'eval', + range: [26, 30], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 30 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [32, 34], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 34 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 34], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 34 } + } + }, + range: [14, 36], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 36 } + } + }], + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + }, + errors: [{ + index: 26, + lineNumber: 1, + column: 27, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }] + }, + + + '"use strict"; (function f(arguments) {});': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'f', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }, + params: [{ + type: 'Identifier', + name: 'arguments', + range: [26, 35], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 35 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [37, 39], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 39 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 39], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 39 } + } + }, + range: [14, 41], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 41 } + } + }], + range: [0, 41], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 41 } + }, + errors: [{ + index: 26, + lineNumber: 1, + column: 27, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }] + }, + + '"use strict"; (function f(foo, foo) {});': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'FunctionExpression', + id: { + type: 'Identifier', + name: 'f', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }, + params: [{ + type: 'Identifier', + name: 'foo', + range: [26, 29], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 29 } + } + }, { + type: 'Identifier', + name: 'foo', + range: [32, 35], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 35 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [37, 39], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 39 } + } + }, + rest: null, + generator: false, + expression: false, + range: [15, 39], + loc: { + start: { line: 1, column: 15 }, + end: { line: 1, column: 39 } + } + }, + range: [14, 41], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 41 } + } + }], + range: [0, 41], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 41 } + }, + errors: [{ + index: 32, + lineNumber: 1, + column: 33, + message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' + }] + }, + + '"use strict"; x = { set f(eval) {} }' : { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Identifier', + name: 'x', + range: [14, 15], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 15 } + } + }, + right: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'f', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }, + value : { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'eval', + range: [26, 30], + loc: { + start: { line: 1, column: 26 }, + end: { line: 1, column: 30 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [32, 34], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 34 } + } + }, + rest: null, + generator: false, + expression: false, + range: [32, 34], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 34 } + } + }, + kind: 'set', + range: [20, 34], + loc: { + start: { line: 1, column: 20 }, + end: { line: 1, column: 34 } + } + }], + range: [18, 36], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 36 } + } + }, + range: [14, 36], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 36 } + } + }, + range: [14, 36], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 36 } + } + }], + range: [0, 36], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 36 } + }, + errors: [{ + index: 26, + lineNumber: 1, + column: 27, + message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' + }] + }, + + 'function hello() { "octal directive\\1"; "use strict"; }': { + type: 'Program', + body: [{ + type: 'FunctionDeclaration', + id: { + type: 'Identifier', + name: 'hello', + range: [9, 14], + loc: { + start: { line: 1, column: 9 }, + end: { line: 1, column: 14 } + } + }, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'octal directive\u0001', + raw: '"octal directive\\1"', + range: [19, 38], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 38 } + } + }, + range: [19, 39], + loc: { + start: { line: 1, column: 19 }, + end: { line: 1, column: 39 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [40, 52], + loc: { + start: { line: 1, column: 40 }, + end: { line: 1, column: 52 } + } + }, + range: [40, 53], + loc: { + start: { line: 1, column: 40 }, + end: { line: 1, column: 53 } + } + }], + range: [17, 55], + loc: { + start: { line: 1, column: 17 }, + end: { line: 1, column: 55 } + } + }, + rest: null, + generator: false, + expression: false, + range: [0, 55], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 55 } + } + }], + range: [0, 55], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 55 } + }, + errors: [{ + index: 19, + lineNumber: 1, + column: 20, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }] + }, + + '"\\1"; \'use strict\';': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: '\u0001', + raw: '"\\1"', + range: [0, 4], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 4 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, { + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '\'use strict\'', + range: [6, 18], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 18 } + } + }, + range: [6, 19], + loc: { + start: { line: 1, column: 6 }, + end: { line: 1, column: 19 } + } + }], + range: [0, 19], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 19 } + }, + errors: [{ + index: 0, + lineNumber: 1, + column: 1, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }] + }, + + '"use strict"; var x = { 014: 3}': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }, + init: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Literal', + value: 12, + raw: '014', + range: [24, 27], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 27 } + } + }, + value: { + type: 'Literal', + value: 3, + raw: '3', + range: [29, 30], + loc: { + start: { line: 1, column: 29 }, + end: { line: 1, column: 30 } + } + }, + kind: 'init', + range: [24, 30], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 30 } + } + }], + range: [22, 31], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 31 } + } + }, + range: [18, 31], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 31 } + } + }], + kind: 'var', + range: [14, 31], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 31 } + } + }], + range: [0, 31], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 31 } + }, + errors: [{ + index: 24, + lineNumber: 1, + column: 25, + message: 'Error: Line 1: Octal literals are not allowed in strict mode.' + }] + }, + + '"use strict"; var x = { get i() {}, get i() {} }': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }, + init: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'i', + range: [28, 29], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 29 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [32, 34], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 34 } + } + }, + rest: null, + generator: false, + expression: false, + range: [32, 34], + loc: { + start: { line: 1, column: 32 }, + end: { line: 1, column: 34 } + } + }, + kind: 'get', + range: [24, 34], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 34 } + } + }, { + type: 'Property', + key: { + type: 'Identifier', + name: 'i', + range: [40, 41], + loc: { + start: { line: 1, column: 40 }, + end: { line: 1, column: 41 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [44, 46], + loc: { + start: { line: 1, column: 44 }, + end: { line: 1, column: 46 } + } + }, + rest: null, + generator: false, + expression: false, + range: [44, 46], + loc: { + start: { line: 1, column: 44 }, + end: { line: 1, column: 46 } + } + }, + kind: 'get', + range: [36, 46], + loc: { + start: { line: 1, column: 36 }, + end: { line: 1, column: 46 } + } + }], + range: [22, 48], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 48 } + } + }, + range: [18, 48], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 48 } + } + }], + kind: 'var', + range: [14, 48], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 48 } + } + }], + range: [0, 48], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 48 } + }, + errors: [{ + index: 46, + lineNumber: 1, + column: 47, + message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name' + }] + }, + + '"use strict"; var x = { i: 42, get i() {} }': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }, + init: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'i', + range: [24, 25], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 25 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [27, 29], + loc: { + start: { line: 1, column: 27 }, + end: { line: 1, column: 29 } + } + }, + kind: 'init', + range: [24, 29], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 29 } + } + }, { + type: 'Property', + key: { + type: 'Identifier', + name: 'i', + range: [35, 36], + loc: { + start: { line: 1, column: 35 }, + end: { line: 1, column: 36 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [39, 41], + loc: { + start: { line: 1, column: 39 }, + end: { line: 1, column: 41 } + } + }, + rest: null, + generator: false, + expression: false, + range: [39, 41], + loc: { + start: { line: 1, column: 39 }, + end: { line: 1, column: 41 } + } + }, + kind: 'get', + range: [31, 41], + loc: { + start: { line: 1, column: 31 }, + end: { line: 1, column: 41 } + } + }], + range: [22, 43], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 43 } + } + }, + range: [18, 43], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 43 } + } + }], + kind: 'var', + range: [14, 43], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 43 } + } + }], + range: [0, 43], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 43 } + }, + errors: [{ + index: 41, + lineNumber: 1, + column: 42, + message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' + }] + }, + + '"use strict"; var x = { set i(x) {}, i: 42 }': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'Literal', + value: 'use strict', + raw: '"use strict"', + range: [0, 12], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 12 } + } + }, + range: [0, 13], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 13 } + } + }, { + type: 'VariableDeclaration', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + range: [18, 19], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 19 } + } + }, + init: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 'i', + range: [28, 29], + loc: { + start: { line: 1, column: 28 }, + end: { line: 1, column: 29 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [{ + type: 'Identifier', + name: 'x', + range: [30, 31], + loc: { + start: { line: 1, column: 30 }, + end: { line: 1, column: 31 } + } + }], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [33, 35], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 35 } + } + }, + rest: null, + generator: false, + expression: false, + range: [33, 35], + loc: { + start: { line: 1, column: 33 }, + end: { line: 1, column: 35 } + } + }, + kind: 'set', + range: [24, 35], + loc: { + start: { line: 1, column: 24 }, + end: { line: 1, column: 35 } + } + }, { + type: 'Property', + key: { + type: 'Identifier', + name: 'i', + range: [37, 38], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 38 } + } + }, + value: { + type: 'Literal', + value: 42, + raw: '42', + range: [40, 42], + loc: { + start: { line: 1, column: 40 }, + end: { line: 1, column: 42 } + } + }, + kind: 'init', + range: [37, 42], + loc: { + start: { line: 1, column: 37 }, + end: { line: 1, column: 42 } + } + }], + range: [22, 44], + loc: { + start: { line: 1, column: 22 }, + end: { line: 1, column: 44 } + } + }, + range: [18, 44], + loc: { + start: { line: 1, column: 18 }, + end: { line: 1, column: 44 } + } + }], + kind: 'var', + range: [14, 44], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 44 } + } + }], + range: [0, 44], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 44 } + }, + errors: [{ + index: 42, + lineNumber: 1, + column: 43, + message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' + }] + + + }, + + '({ set s() { } })': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'ObjectExpression', + properties: [{ + type: 'Property', + key: { + type: 'Identifier', + name: 's', + range: [7, 8], + loc: { + start: { line: 1, column: 7 }, + end: { line: 1, column: 8 } + } + }, + value: { + type: 'FunctionExpression', + id: null, + params: [], + defaults: [], + body: { + type: 'BlockStatement', + body: [], + range: [11, 14], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 14 } + } + }, + rest: null, + generator: false, + expression: false, + range: [11, 14], + loc: { + start: { line: 1, column: 11 }, + end: { line: 1, column: 14 } + } + }, + kind: 'set', + range: [3, 14], + loc: { + start: { line: 1, column: 3 }, + end: { line: 1, column: 14 } + } + }], + range: [1, 16], + loc: { + start: { line: 1, column: 1 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + } + }], + range: [0, 17], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 17 } + }, + errors: [{ + index: 9, + lineNumber: 1, + column: 10, + message: 'Error: Line 1: Unexpected token )' + }] + }, + + 'foo("bar") = baz': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'CallExpression', + callee: { + type: 'Identifier', + name: 'foo', + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + 'arguments': [{ + type: 'Literal', + value: 'bar', + raw: '"bar"', + range: [4, 9], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 9 } + } + }], + range: [0, 10], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 10 } + } + }, + right: { + type: 'Identifier', + name: 'baz', + range: [13, 16], + loc: { + start: { line: 1, column: 13 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }], + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + }, + errors: [{ + index: 10, + lineNumber: 1, + column: 11, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }] + }, + + '1 = 2': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'AssignmentExpression', + operator: '=', + left: { + type: 'Literal', + value: 1, + raw: '1', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + right: { + type: 'Literal', + value: 2, + raw: '2', + range: [4, 5], + loc: { + start: { line: 1, column: 4 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }, + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + } + }], + range: [0, 5], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 5 } + }, + errors: [{ + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }] + }, + + '3++': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '++', + argument: { + type: 'Literal', + value: 3, + raw: '3', + range: [0, 1], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 1 } + } + }, + prefix: false, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }], + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + }, + errors: [{ + index: 1, + lineNumber: 1, + column: 2, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }] + }, + + '--4': { + type: 'Program', + body: [{ + type: 'ExpressionStatement', + expression: { + type: 'UpdateExpression', + operator: '--', + argument: { + type: 'Literal', + value: 4, + raw: '4', + range: [2, 3], + loc: { + start: { line: 1, column: 2 }, + end: { line: 1, column: 3 } + } + }, + prefix: true, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }, + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + } + }], + range: [0, 3], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 3 } + }, + errors: [{ + index: 3, + lineNumber: 1, + column: 4, + message: 'Error: Line 1: Invalid left-hand side in assignment' + }] + }, + + 'for (5 in []) {}': { + type: 'Program', + body: [{ + type: 'ForInStatement', + left: { + type: 'Literal', + value: 5, + raw: '5', + range: [5, 6], + loc: { + start: { line: 1, column: 5 }, + end: { line: 1, column: 6 } + } + }, + right: { + type: 'ArrayExpression', + elements: [], + range: [10, 12], + loc: { + start: { line: 1, column: 10 }, + end: { line: 1, column: 12 } + } + }, + body: { + type: 'BlockStatement', + body: [], + range: [14, 16], + loc: { + start: { line: 1, column: 14 }, + end: { line: 1, column: 16 } + } + }, + each: false, + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + } + }], + range: [0, 16], + loc: { + start: { line: 1, column: 0 }, + end: { line: 1, column: 16 } + }, + errors: [{ + index: 6, + lineNumber: 1, + column: 7, + message: 'Error: Line 1: Invalid left-hand side in for-in' + }] + } + + + } +}; + diff --git a/static/js/node_modules/grunt/node_modules/js-yaml/package.json b/static/js/node_modules/grunt/node_modules/js-yaml/package.json new file mode 100644 index 0000000..43b050a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/js-yaml/package.json @@ -0,0 +1,60 @@ +{ + "name": "js-yaml", + "version": "2.0.5", + "description": "YAML 1.2 parser and serializer", + "keywords": [ + "yaml", + "parser", + "serializer", + "pyyaml" + ], + "homepage": "https://github.com/nodeca/js-yaml", + "author": { + "name": "Dervus Grim", + "email": "dervus@lavabit.com" + }, + "contributors": [ + { + "name": "Aleksey V Zapparov", + "email": "ixti@member.fsf.org", + "url": "http://www.ixti.net/" + }, + { + "name": "Martin Grenfell", + "email": "martin.grenfell@gmail.com", + "url": "http://got-ravings.blogspot.com" + } + ], + "bugs": { + "url": "https://github.com/nodeca/js-yaml/issues" + }, + "license": { + "type": "MIT", + "url": "https://github.com/nodeca/js-yaml/blob/master/LICENSE" + }, + "repository": { + "type": "git", + "url": "git://github.com/nodeca/js-yaml.git" + }, + "main": "./index.js", + "bin": { + "js-yaml": "bin/js-yaml.js" + }, + "scripts": { + "test": "make test" + }, + "dependencies": { + "argparse": "~ 0.1.11", + "esprima": "~ 1.0.2" + }, + "devDependencies": { + "mocha": "*" + }, + "engines": { + "node": ">= 0.6.0" + }, + "readme": "JS-YAML - YAML 1.2 parser and serializer for JavaScript\n=======================================================\n\n[![Build Status](https://secure.travis-ci.org/nodeca/js-yaml.png)](http://travis-ci.org/nodeca/js-yaml)\n\n[Online Demo](http://nodeca.github.com/js-yaml/)\n\n\nThis is an implementation of [YAML](http://yaml.org/), a human friendly data\nserialization language. Started as [PyYAML](http://pyyaml.org/) port, it was\ncompletely rewritten from scratch. Now it's very fast, and supports 1.2 spec.\n\n\nBreaking changes in 1.x.x -> 2.0.x\n----------------------------------\n\nIf your have not used __custom__ tags or loader classes - no changes needed. Just\nupgrade library and enjoy high parse speed.\n\nIn other case, you should rewrite your tag constructors and custom loader\nclasses, to conform new schema-based API. See\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) and\n[wiki](https://github.com/nodeca/js-yaml/wiki) for details.\nNote, that parser internals were completely rewritten.\n\n\nInstallation\n------------\n\n### YAML module for node.js\n\n```\nnpm install js-yaml\n```\n\n\n### CLI executable\n\nIf you want to inspect your YAML files from CLI, install js-yaml globally:\n\n```\nnpm install js-yaml -g\n```\n\n#### Usage\n\n```\nusage: js-yaml [-h] [-v] [-c] [-j] [-t] file\n\nPositional arguments:\n file File with YAML document(s)\n\nOptional arguments:\n -h, --help Show this help message and exit.\n -v, --version Show program's version number and exit.\n -c, --compact Display errors in compact mode\n -j, --to-json Output a non-funky boring JSON\n -t, --trace Show stack trace on error\n```\n\n\n### Bundled YAML library for browsers\n\n``` html\n\n\n```\n\nBrowser support was done mostly for online demo. If you find any errors - feel\nfree to send pull requests with fixes. Also note, that IE and other old browsers\nneeds [es5-shims](https://github.com/kriskowal/es5-shim) to operate.\n\n\nAPI\n---\n\nHere we cover the most 'useful' methods. If you need advanced details (creating\nyour own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more\ninfo.\n\nIn node.js JS-YAML automatically registers handlers for `.yml` and `.yaml`\nfiles. You can load them just with `require`. That's mostly equivalent to\ncalling `load()` on fetched content of a file. Just with one string!\n\n``` javascript\nrequire('js-yaml');\n\n// Get document, or throw exception on error\ntry {\n var doc = require('/home/ixti/example.yml');\n console.log(doc);\n} catch (e) {\n console.log(e);\n}\n```\n\n\n### load (string [ , options ])\n\nParses `string` as single YAML document. Returns a JavaScript object or throws\n`YAMLException` on error.\n\nNOTE: This function **does not** understands multi-document sources, it throws\nexception on those.\n\noptions:\n\n- `filename` _(default: null)_ - string to be used as a file path in\n error/warning messages.\n- `strict` _(default - false)_ makes the loader to throw errors instead of\n warnings.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use.\n\n\n### loadAll (string, iterator [ , options ])\n\nSame as `load()`, but understands multi-document sources and apply `iterator` to\neach document.\n\n``` javascript\nvar yaml = require('js-yaml');\n\nyaml.loadAll(data, function (doc) {\n console.log(doc);\n});\n```\n\n\n### safeLoad (string [ , options ])\n\nSame as `load()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### safeLoadAll (string, iterator [ , options ])\n\nSame as `loadAll()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### dump (object [ , options ])\n\nSerializes `object` as YAML document.\n\noptions:\n\n- `indent` _(default: 2)_ - indentation width to use (in spaces).\n- `flowLevel` (default: -1) - specifies level of nesting, when to switch from\n block to flow style for collections. -1 means block style everwhere\n- `styles` - \"tag\" => \"style\" map. Each tag may have own set of styles.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ specifies a schema to use.\n\nstyles:\n\n``` none\n!!null\n \"canonical\" => \"~\"\n\n!!int\n \"binary\" => \"0b1\", \"0b101010\", \"0b1110001111010\"\n \"octal\" => \"01\", \"052\", \"016172\"\n \"decimal\" => \"1\", \"42\", \"7290\"\n \"hexadecimal\" => \"0x1\", \"0x2A\", \"0x1C7A\"\n\n!!null, !!bool, !!float\n \"lowercase\" => \"null\", \"true\", \"false\", \".nan\", '.inf'\n \"uppercase\" => \"NULL\", \"TRUE\", \"FALSE\", \".NAN\", '.INF'\n \"camelcase\" => \"Null\", \"True\", \"False\", \".NaN\", '.Inf'\n```\n\nBy default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`.\n\n\n### safeDump (object [ , options ])\n\nSame as `dump()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\nSupported YAML types\n--------------------\n\nThe list of standard YAML tags and corresponding JavaScipt types. See also\n[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and\n[YAML types repository](http://yaml.org/type/).\n\n```\n!!null '' # null\n!!bool 'yes' # bool\n!!int '3...' # number\n!!float '3.14...' # number\n!!binary '...base64...' # buffer\n!!timestamp 'YYYY-...' # date\n!!omap [ ... ] # array of key-value pairs\n!!pairs [ ... ] # array or array pairs\n!!set { ... } # array of objects with given keys and null values\n!!str '...' # string\n!!seq [ ... ] # array\n!!map { ... } # object\n```\n\n**JavaScript-specific tags**\n\n```\n!!js/regexp /pattern/gim # RegExp\n!!js/undefined '' # Undefined\n!!js/function 'function () {...}' # Function\n```\n\n\n\n\n## Caveats\n\nNote, that you use arrays or objects as key in JS-YAML. JS do not allows objects\nor array as keys, and stringifies (by calling .toString method) them at the\nmoment of adding them.\n\n``` yaml\n---\n? [ foo, bar ]\n: - baz\n? { foo: bar }\n: - baz\n - baz\n```\n\n``` javascript\n{ \"foo,bar\": [\"baz\"], \"[object Object]\": [\"baz\", \"baz\"] }\n```\n\nAlso, reading of properties on implicit block mapping keys is not supported yet.\nSo, the following YAML document cannot be loaded.\n\n``` yaml\n&anchor foo:\n foo: bar\n *anchor: duplicate key\n baz: bat\n *anchor: duplicate key\n```\n\n## License\n\nView the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file\n(MIT).\n", + "readmeFilename": "README.md", + "_id": "js-yaml@2.0.5", + "_from": "js-yaml@~2.0.5" +} diff --git a/static/js/node_modules/grunt/node_modules/lodash/README.md b/static/js/node_modules/grunt/node_modules/lodash/README.md new file mode 100644 index 0000000..55dae80 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/lodash/README.md @@ -0,0 +1,140 @@ +# Lo-Dash v0.9.2 + +A utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features). + +## Download + + * [Development build](https://raw.github.com/lodash/lodash/0.9.2/lodash.js) + * [Production build](https://raw.github.com/lodash/lodash/0.9.2/lodash.min.js) + * [Underscore build](https://raw.github.com/lodash/lodash/0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore + * CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/) + * For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need + +## Dive in + +We’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests). + +Create your own benchmarks at [jsPerf](http://jsperf.com), or [search](http://jsperf.com/search?q=lodash) for existing ones. + +For a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap). + +## Screencasts + +For more information check out these screencasts over Lo-Dash: + + * [Introducing Lo-Dash](https://vimeo.com/44154599) + * [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601) + * [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600) + * [Unit testing in Lo-Dash](https://vimeo.com/45865290) + * [Lo-Dash’s approach to native method use](https://vimeo.com/48576012) + +## Features + + * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.) + * [_.clone](http://lodash.com/docs#clone) supports *“deep”* cloning + * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument + * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early + * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties + * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties + * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor + * [_.lateBind](http://lodash.com/docs#lateBind) for late binding + * [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend) + * [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding + * [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments + * [_.template](http://lodash.com/docs#template) supports [ES6 delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6) and utilizes [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier debugging + * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray), + [and more…](http://lodash.com/docs "_.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings + +## Support + +Lo-Dash has been tested in at least Chrome 5~23, Firefox 1~16, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.14, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC5. + +## Installation and usage + +In browsers: + +```html + +``` + +Using [npm](http://npmjs.org/): + +```bash +npm install lodash + +npm install -g lodash +npm link lodash +``` + +In [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/): + +```js +var _ = require('lodash'); +``` + +**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it. + +In [RingoJS v0.7.0-](http://ringojs.org/): + +```js +var _ = require('lodash')._; +``` + +In [Rhino](http://www.mozilla.org/rhino/): + +```js +load('lodash.js'); +``` + +In an AMD loader like [RequireJS](http://requirejs.org/): + +```js +require({ + 'paths': { + 'underscore': 'path/to/lodash' + } +}, +['underscore'], function(_) { + console.log(_.VERSION); +}); +``` + +## Resolved Underscore.js issues + + * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)] + * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)] + * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)] + * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)] + * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)] + * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)] + * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)] + +## Release Notes + +### v0.9.2 + + * Added `fromIndex` argument to `_.contains` + * Added `moduleId` build option + * Added Closure Compiler *“simple”* optimizations to the build process + * Added support for strings in `_.max` and `_.min` + * Added support for ES6 template delimiters to `_.template` + * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs + * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq` + +The full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog). + +## BestieJS + +Lo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation. + +## Author + +| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") | +|---| +| [John-David Dalton](http://allyoucanleet.com/) | + +## Contributors + +| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") | +|---|---|---| +| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) | diff --git a/static/js/node_modules/grunt/node_modules/lodash/lodash.js b/static/js/node_modules/grunt/node_modules/lodash/lodash.js new file mode 100644 index 0000000..9eae931 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/lodash/lodash.js @@ -0,0 +1,4258 @@ +/*! + * Lo-Dash v0.9.2 + * (c) 2012 John-David Dalton + * Based on Underscore.js 1.4.2 + * (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. + * Available under MIT license + */ +;(function(window, undefined) { + + /** Detect free variable `exports` */ + var freeExports = typeof exports == 'object' && exports; + + /** Detect free variable `global` and use it as `window` */ + var freeGlobal = typeof global == 'object' && global; + if (freeGlobal.global === freeGlobal) { + window = freeGlobal; + } + + /** Used for array and object method references */ + var arrayRef = [], + // avoid a Closure Compiler bug by creatively creating an object + objectRef = new function(){}; + + /** Used to generate unique IDs */ + var idCounter = 0; + + /** Used internally to indicate various things */ + var indicatorObject = objectRef; + + /** Used by `cachedContains` as the default size when optimizations are enabled for large arrays */ + var largeArraySize = 30; + + /** Used to restore the original `_` reference in `noConflict` */ + var oldDash = window._; + + /** Used to detect template delimiter values that require a with-statement */ + var reComplexDelimiter = /[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/; + + /** Used to match HTML entities */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27);/g; + + /** Used to match empty string literals in compiled template source */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match regexp flags from their coerced string values */ + var reFlags = /\w*$/; + + /** Used to insert the data object variable into compiled template source */ + var reInsertVariable = /(?:__e|__t = )\(\s*(?![\d\s"']|this\.)/g; + + /** Used to detect if a method is native */ + var reNative = RegExp('^' + + (objectRef.valueOf + '') + .replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&') + .replace(/valueOf|for [^\]]+/g, '.+?') + '$' + ); + + /** + * Used to match ES6 template delimiters + * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6 + */ + var reEsTemplate = /\$\{((?:(?=\\?)\\?[\s\S])*?)}/g; + + /** Used to match "interpolate" template delimiters */ + var reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to ensure capturing order of template delimiters */ + var reNoMatch = /($^)/; + + /** Used to match HTML characters */ + var reUnescapedHtml = /[&<>"']/g; + + /** Used to match unescaped characters in compiled string literals */ + var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g; + + /** Used to fix the JScript [[DontEnum]] bug */ + var shadowed = [ + 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', + 'toLocaleString', 'toString', 'valueOf' + ]; + + /** Used to make template sourceURLs easier to identify */ + var templateCounter = 0; + + /** Native method shortcuts */ + var ceil = Math.ceil, + concat = arrayRef.concat, + floor = Math.floor, + getPrototypeOf = reNative.test(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf, + hasOwnProperty = objectRef.hasOwnProperty, + push = arrayRef.push, + propertyIsEnumerable = objectRef.propertyIsEnumerable, + slice = arrayRef.slice, + toString = objectRef.toString; + + /* Native method shortcuts for methods with the same name as other `lodash` methods */ + var nativeBind = reNative.test(nativeBind = slice.bind) && nativeBind, + nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray, + nativeIsFinite = window.isFinite, + nativeIsNaN = window.isNaN, + nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys, + nativeMax = Math.max, + nativeMin = Math.min, + nativeRandom = Math.random; + + /** `Object#toString` result shortcuts */ + var argsClass = '[object Arguments]', + arrayClass = '[object Array]', + boolClass = '[object Boolean]', + dateClass = '[object Date]', + funcClass = '[object Function]', + numberClass = '[object Number]', + objectClass = '[object Object]', + regexpClass = '[object RegExp]', + stringClass = '[object String]'; + + /** + * Detect the JScript [[DontEnum]] bug: + * + * In IE < 9 an objects own properties, shadowing non-enumerable ones, are + * made non-enumerable as well. + */ + var hasDontEnumBug; + + /** Detect if own properties are iterated after inherited properties (IE < 9) */ + var iteratesOwnLast; + + /** + * Detect if `Array#shift` and `Array#splice` augment array-like objects + * incorrectly: + * + * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()` + * and `splice()` functions that fail to remove the last element, `value[0]`, + * of array-like objects even though the `length` property is set to `0`. + * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()` + * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9. + */ + var hasObjectSpliceBug = (hasObjectSpliceBug = { '0': 1, 'length': 1 }, + arrayRef.splice.call(hasObjectSpliceBug, 0, 1), hasObjectSpliceBug[0]); + + /** Detect if an `arguments` object's indexes are non-enumerable (IE < 9) */ + var noArgsEnum = true; + + (function() { + var props = []; + function ctor() { this.x = 1; } + ctor.prototype = { 'valueOf': 1, 'y': 1 }; + for (var prop in new ctor) { props.push(prop); } + for (prop in arguments) { noArgsEnum = !prop; } + + hasDontEnumBug = !/valueOf/.test(props); + iteratesOwnLast = props[0] != 'x'; + }(1)); + + /** Detect if an `arguments` object's [[Class]] is unresolvable (Firefox < 4, IE < 9) */ + var noArgsClass = !isArguments(arguments); + + /** Detect if `Array#slice` cannot be used to convert strings to arrays (Opera < 10.52) */ + var noArraySliceOnStrings = slice.call('x')[0] != 'x'; + + /** + * Detect lack of support for accessing string characters by index: + * + * IE < 8 can't access characters by index and IE 8 can only access + * characters by index on string literals. + */ + var noCharByIndex = ('x'[0] + Object('x')[0]) != 'xx'; + + /** + * Detect if a node's [[Class]] is unresolvable (IE < 9) + * and that the JS engine won't error when attempting to coerce an object to + * a string without a `toString` property value of `typeof` "function". + */ + try { + var noNodeClass = ({ 'toString': 0 } + '', toString.call(window.document || 0) == objectClass); + } catch(e) { } + + /* Detect if `Function#bind` exists and is inferred to be fast (all but V8) */ + var isBindFast = nativeBind && /\n|Opera/.test(nativeBind + toString.call(window.opera)); + + /* Detect if `Object.keys` exists and is inferred to be fast (IE, Opera, V8) */ + var isKeysFast = nativeKeys && /^.+$|true/.test(nativeKeys + !!window.attachEvent); + + /** + * Detect if sourceURL syntax is usable without erroring: + * + * The JS engine in Adobe products, like InDesign, will throw a syntax error + * when it encounters a single line comment beginning with the `@` symbol. + * + * The JS engine in Narwhal will generate the function `function anonymous(){//}` + * and throw a syntax error. + * + * Avoid comments beginning `@` symbols in IE because they are part of its + * non-standard conditional compilation support. + * http://msdn.microsoft.com/en-us/library/121hztk3(v=vs.94).aspx + */ + try { + var useSourceURL = (Function('//@')(), !window.attachEvent); + } catch(e) { } + + /** Used to identify object classifications that `_.clone` supports */ + var cloneableClasses = {}; + cloneableClasses[argsClass] = cloneableClasses[funcClass] = false; + cloneableClasses[arrayClass] = cloneableClasses[boolClass] = cloneableClasses[dateClass] = + cloneableClasses[numberClass] = cloneableClasses[objectClass] = cloneableClasses[regexpClass] = + cloneableClasses[stringClass] = true; + + /** Used to determine if values are of the language type Object */ + var objectTypes = { + 'boolean': false, + 'function': true, + 'object': true, + 'number': false, + 'string': false, + 'undefined': false + }; + + /** Used to escape characters for inclusion in compiled string literals */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\t': 't', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /*--------------------------------------------------------------------------*/ + + /** + * The `lodash` function. + * + * @name _ + * @constructor + * @category Chaining + * @param {Mixed} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns a `lodash` instance. + */ + function lodash(value) { + // exit early if already wrapped + if (value && value.__wrapped__) { + return value; + } + // allow invoking `lodash` without the `new` operator + if (!(this instanceof lodash)) { + return new lodash(value); + } + this.__wrapped__ = value; + } + + /** + * By default, the template delimiters used by Lo-Dash are similar to those in + * embedded Ruby (ERB). Change the following template settings to use alternative + * delimiters. + * + * @static + * @memberOf _ + * @type Object + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @static + * @memberOf _.templateSettings + * @type RegExp + */ + 'escape': /<%-([\s\S]+?)%>/g, + + /** + * Used to detect code to be evaluated. + * + * @static + * @memberOf _.templateSettings + * @type RegExp + */ + 'evaluate': /<%([\s\S]+?)%>/g, + + /** + * Used to detect `data` property values to inject. + * + * @static + * @memberOf _.templateSettings + * @type RegExp + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @static + * @memberOf _.templateSettings + * @type String + */ + 'variable': '' + }; + + /*--------------------------------------------------------------------------*/ + + /** + * The template used to create iterator functions. + * + * @private + * @param {Obect} data The data object used to populate the text. + * @returns {String} Returns the interpolated text. + */ + var iteratorTemplate = template( + // conditional strict mode + '<% if (obj.useStrict) { %>\'use strict\';\n<% } %>' + + + // the `iteratee` may be reassigned by the `top` snippet + 'var index, value, iteratee = <%= firstArg %>, ' + + // assign the `result` variable an initial value + 'result = <%= firstArg %>;\n' + + // exit early if the first argument is falsey + 'if (!<%= firstArg %>) return result;\n' + + // add code before the iteration branches + '<%= top %>;\n' + + + // array-like iteration: + '<% if (arrayLoop) { %>' + + 'var length = iteratee.length; index = -1;\n' + + 'if (typeof length == \'number\') {' + + + // add support for accessing string characters by index if needed + ' <% if (noCharByIndex) { %>\n' + + ' if (isString(iteratee)) {\n' + + ' iteratee = iteratee.split(\'\')\n' + + ' }' + + ' <% } %>\n' + + + // iterate over the array-like value + ' while (++index < length) {\n' + + ' value = iteratee[index];\n' + + ' <%= arrayLoop %>\n' + + ' }\n' + + '}\n' + + 'else {' + + + // object iteration: + // add support for iterating over `arguments` objects if needed + ' <% } else if (noArgsEnum) { %>\n' + + ' var length = iteratee.length; index = -1;\n' + + ' if (length && isArguments(iteratee)) {\n' + + ' while (++index < length) {\n' + + ' value = iteratee[index += \'\'];\n' + + ' <%= objectLoop %>\n' + + ' }\n' + + ' } else {' + + ' <% } %>' + + + // Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1 + // (if the prototype or a property on the prototype has been set) + // incorrectly sets a function's `prototype` property [[Enumerable]] + // value to `true`. Because of this Lo-Dash standardizes on skipping + // the the `prototype` property of functions regardless of its + // [[Enumerable]] value. + ' <% if (!hasDontEnumBug) { %>\n' + + ' var skipProto = typeof iteratee == \'function\' && \n' + + ' propertyIsEnumerable.call(iteratee, \'prototype\');\n' + + ' <% } %>' + + + // iterate own properties using `Object.keys` if it's fast + ' <% if (isKeysFast && useHas) { %>\n' + + ' var ownIndex = -1,\n' + + ' ownProps = objectTypes[typeof iteratee] ? nativeKeys(iteratee) : [],\n' + + ' length = ownProps.length;\n\n' + + ' while (++ownIndex < length) {\n' + + ' index = ownProps[ownIndex];\n' + + ' <% if (!hasDontEnumBug) { %>if (!(skipProto && index == \'prototype\')) {\n <% } %>' + + ' value = iteratee[index];\n' + + ' <%= objectLoop %>\n' + + ' <% if (!hasDontEnumBug) { %>}\n<% } %>' + + ' }' + + + // else using a for-in loop + ' <% } else { %>\n' + + ' for (index in iteratee) {<%' + + ' if (!hasDontEnumBug || useHas) { %>\n if (<%' + + ' if (!hasDontEnumBug) { %>!(skipProto && index == \'prototype\')<% }' + + ' if (!hasDontEnumBug && useHas) { %> && <% }' + + ' if (useHas) { %>hasOwnProperty.call(iteratee, index)<% }' + + ' %>) {' + + ' <% } %>\n' + + ' value = iteratee[index];\n' + + ' <%= objectLoop %>;' + + ' <% if (!hasDontEnumBug || useHas) { %>\n }<% } %>\n' + + ' }' + + ' <% } %>' + + + // Because IE < 9 can't set the `[[Enumerable]]` attribute of an + // existing property and the `constructor` property of a prototype + // defaults to non-enumerable, Lo-Dash skips the `constructor` + // property when it infers it's iterating over a `prototype` object. + ' <% if (hasDontEnumBug) { %>\n\n' + + ' var ctor = iteratee.constructor;\n' + + ' <% for (var k = 0; k < 7; k++) { %>\n' + + ' index = \'<%= shadowed[k] %>\';\n' + + ' if (<%' + + ' if (shadowed[k] == \'constructor\') {' + + ' %>!(ctor && ctor.prototype === iteratee) && <%' + + ' } %>hasOwnProperty.call(iteratee, index)) {\n' + + ' value = iteratee[index];\n' + + ' <%= objectLoop %>\n' + + ' }' + + ' <% } %>' + + ' <% } %>' + + ' <% if (arrayLoop || noArgsEnum) { %>\n}<% } %>\n' + + + // add code to the bottom of the iteration function + '<%= bottom %>;\n' + + // finally, return the `result` + 'return result' + ); + + /** + * Reusable iterator options shared by `forEach`, `forIn`, and `forOwn`. + */ + var forEachIteratorOptions = { + 'args': 'collection, callback, thisArg', + 'top': 'callback = createCallback(callback, thisArg)', + 'arrayLoop': 'if (callback(value, index, collection) === false) return result', + 'objectLoop': 'if (callback(value, index, collection) === false) return result' + }; + + /** Reusable iterator options for `defaults`, and `extend` */ + var extendIteratorOptions = { + 'useHas': false, + 'args': 'object', + 'top': + 'for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {\n' + + ' if (iteratee = arguments[argsIndex]) {', + 'objectLoop': 'result[index] = value', + 'bottom': ' }\n}' + }; + + /** Reusable iterator options for `forIn` and `forOwn` */ + var forOwnIteratorOptions = { + 'arrayLoop': null + }; + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function optimized to search large arrays for a given `value`, + * starting at `fromIndex`, using strict equality for comparisons, i.e. `===`. + * + * @private + * @param {Array} array The array to search. + * @param {Mixed} value The value to search for. + * @param {Number} [fromIndex=0] The index to search from. + * @param {Number} [largeSize=30] The length at which an array is considered large. + * @returns {Boolean} Returns `true` if `value` is found, else `false`. + */ + function cachedContains(array, fromIndex, largeSize) { + fromIndex || (fromIndex = 0); + + var length = array.length, + isLarge = (length - fromIndex) >= (largeSize || largeArraySize); + + if (isLarge) { + var cache = {}, + index = fromIndex - 1; + + while (++index < length) { + // manually coerce `value` to a string because `hasOwnProperty`, in some + // older versions of Firefox, coerces objects incorrectly + var key = array[index] + ''; + (hasOwnProperty.call(cache, key) ? cache[key] : (cache[key] = [])).push(array[index]); + } + } + return function(value) { + if (isLarge) { + var key = value + ''; + return hasOwnProperty.call(cache, key) && indexOf(cache[key], value) > -1; + } + return indexOf(array, value, fromIndex) > -1; + } + } + + /** + * Used by `_.max` and `_.min` as the default `callback` when a given + * `collection` is a string value. + * + * @private + * @param {String} value The character to inspect. + * @returns {Number} Returns the code unit of given character. + */ + function charAtCallback(value) { + return value.charCodeAt(0); + } + + /** + * Used by `sortBy` to compare transformed `collection` values, stable sorting + * them in ascending order. + * + * @private + * @param {Object} a The object to compare to `b`. + * @param {Object} b The object to compare to `a`. + * @returns {Number} Returns the sort order indicator of `1` or `-1`. + */ + function compareAscending(a, b) { + var ai = a.index, + bi = b.index; + + a = a.criteria; + b = b.criteria; + + // ensure a stable sort in V8 and other engines + // http://code.google.com/p/v8/issues/detail?id=90 + if (a !== b) { + if (a > b || a === undefined) { + return 1; + } + if (a < b || b === undefined) { + return -1; + } + } + return ai < bi ? -1 : 1; + } + + /** + * Creates a function that, when called, invokes `func` with the `this` + * binding of `thisArg` and prepends any `partailArgs` to the arguments passed + * to the bound function. + * + * @private + * @param {Function|String} func The function to bind or the method name. + * @param {Mixed} [thisArg] The `this` binding of `func`. + * @param {Array} partialArgs An array of arguments to be partially applied. + * @returns {Function} Returns the new bound function. + */ + function createBound(func, thisArg, partialArgs) { + var isFunc = isFunction(func), + isPartial = !partialArgs, + methodName = func; + + // juggle arguments + if (isPartial) { + partialArgs = thisArg; + } + + function bound() { + // `Function#bind` spec + // http://es5.github.com/#x15.3.4.5 + var args = arguments, + thisBinding = isPartial ? this : thisArg; + + if (!isFunc) { + func = thisArg[methodName]; + } + if (partialArgs.length) { + args = args.length + ? partialArgs.concat(slice.call(args)) + : partialArgs; + } + if (this instanceof bound) { + // get `func` instance if `bound` is invoked in a `new` expression + noop.prototype = func.prototype; + thisBinding = new noop; + + // mimic the constructor's `return` behavior + // http://es5.github.com/#x13.2.2 + var result = func.apply(thisBinding, args); + return isObject(result) + ? result + : thisBinding + } + return func.apply(thisBinding, args); + } + return bound; + } + + /** + * Produces an iteration callback bound to an optional `thisArg`. If `func` is + * a property name, the callback will return the property value for a given element. + * + * @private + * @param {Function|String} [func=identity|property] The function called per + * iteration or property name to query. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Function} Returns a callback function. + */ + function createCallback(func, thisArg) { + if (!func) { + return identity; + } + if (typeof func != 'function') { + return function(object) { + return object[func]; + }; + } + if (thisArg !== undefined) { + return function(value, index, object) { + return func.call(thisArg, value, index, object); + }; + } + return func; + } + + /** + * Creates compiled iteration functions. + * + * @private + * @param {Object} [options1, options2, ...] The compile options object(s). + * useHas - A boolean to specify using `hasOwnProperty` checks in the object loop. + * args - A string of comma separated arguments the iteration function will accept. + * top - A string of code to execute before the iteration branches. + * arrayLoop - A string of code to execute in the array loop. + * objectLoop - A string of code to execute in the object loop. + * bottom - A string of code to execute after the iteration branches. + * + * @returns {Function} Returns the compiled function. + */ + function createIterator() { + var data = { + 'arrayLoop': '', + 'bottom': '', + 'hasDontEnumBug': hasDontEnumBug, + 'isKeysFast': isKeysFast, + 'objectLoop': '', + 'noArgsEnum': noArgsEnum, + 'noCharByIndex': noCharByIndex, + 'shadowed': shadowed, + 'top': '', + 'useHas': true + }; + + // merge options into a template data object + for (var object, index = 0; object = arguments[index]; index++) { + for (var key in object) { + data[key] = object[key]; + } + } + var args = data.args; + data.firstArg = /^[^,]+/.exec(args)[0]; + + // create the function factory + var factory = Function( + 'createCallback, hasOwnProperty, isArguments, isString, objectTypes, ' + + 'nativeKeys, propertyIsEnumerable', + 'return function(' + args + ') {\n' + iteratorTemplate(data) + '\n}' + ); + // return the compiled function + return factory( + createCallback, hasOwnProperty, isArguments, isString, objectTypes, + nativeKeys, propertyIsEnumerable + ); + } + + /** + * Used by `template` to escape characters for inclusion in compiled + * string literals. + * + * @private + * @param {String} match The matched character to escape. + * @returns {String} Returns the escaped character. + */ + function escapeStringChar(match) { + return '\\' + stringEscapes[match]; + } + + /** + * Used by `escape` to convert characters to HTML entities. + * + * @private + * @param {String} match The matched character to escape. + * @returns {String} Returns the escaped character. + */ + function escapeHtmlChar(match) { + return htmlEscapes[match]; + } + + /** + * A no-operation function. + * + * @private + */ + function noop() { + // no operation performed + } + + /** + * Used by `unescape` to convert HTML entities to characters. + * + * @private + * @param {String} match The matched character to unescape. + * @returns {String} Returns the unescaped character. + */ + function unescapeHtmlChar(match) { + return htmlUnescapes[match]; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Checks if `value` is an `arguments` object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is an `arguments` object, else `false`. + * @example + * + * (function() { return _.isArguments(arguments); })(1, 2, 3); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + function isArguments(value) { + return toString.call(value) == argsClass; + } + // fallback for browsers that can't detect `arguments` objects by [[Class]] + if (noArgsClass) { + isArguments = function(value) { + return value ? hasOwnProperty.call(value, 'callee') : false; + }; + } + + /** + * Iterates over `object`'s own and inherited enumerable properties, executing + * the `callback` for each property. The `callback` is bound to `thisArg` and + * invoked with three arguments; (value, key, object). Callbacks may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} callback The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * function Dog(name) { + * this.name = name; + * } + * + * Dog.prototype.bark = function() { + * alert('Woof, woof!'); + * }; + * + * _.forIn(new Dog('Dagny'), function(value, key) { + * alert(key); + * }); + * // => alerts 'name' and 'bark' (order is not guaranteed) + */ + var forIn = createIterator(forEachIteratorOptions, forOwnIteratorOptions, { + 'useHas': false + }); + + /** + * Iterates over `object`'s own enumerable properties, executing the `callback` + * for each property. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, key, object). Callbacks may exit iteration early by explicitly + * returning `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} callback The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { + * alert(key); + * }); + * // => alerts '0', '1', and 'length' (order is not guaranteed) + */ + var forOwn = createIterator(forEachIteratorOptions, forOwnIteratorOptions); + + /** + * A fallback implementation of `isPlainObject` that checks if a given `value` + * is an object created by the `Object` constructor, assuming objects created + * by the `Object` constructor have no inherited enumerable properties and that + * there are no `Object.prototype` extensions. + * + * @private + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if `value` is a plain object, else `false`. + */ + function shimIsPlainObject(value) { + // avoid non-objects and false positives for `arguments` objects + var result = false; + if (!(value && typeof value == 'object') || isArguments(value)) { + return result; + } + // IE < 9 presents DOM nodes as `Object` objects except they have `toString` + // methods that are `typeof` "string" and still can coerce nodes to strings. + // Also check that the constructor is `Object` (i.e. `Object instanceof Object`) + var ctor = value.constructor; + if ((!noNodeClass || !(typeof value.toString != 'function' && typeof (value + '') == 'string')) && + (!isFunction(ctor) || ctor instanceof ctor)) { + // IE < 9 iterates inherited properties before own properties. If the first + // iterated property is an object's own property then there are no inherited + // enumerable properties. + if (iteratesOwnLast) { + forIn(value, function(value, key, object) { + result = !hasOwnProperty.call(object, key); + return false; + }); + return result === false; + } + // In most environments an object's own properties are iterated before + // its inherited properties. If the last iterated property is an object's + // own property then there are no inherited enumerable properties. + forIn(value, function(value, key) { + result = key; + }); + return result === false || hasOwnProperty.call(value, result); + } + return result; + } + + /** + * A fallback implementation of `Object.keys` that produces an array of the + * given object's own enumerable property names. + * + * @private + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property names. + */ + function shimKeys(object) { + var result = []; + forOwn(object, function(value, key) { + result.push(key); + }); + return result; + } + + /** + * Used to convert characters to HTML entities: + * + * Though the `>` character is escaped for symmetry, characters like `>` and `/` + * don't require escaping in HTML and have no special meaning unless they're part + * of a tag or an unquoted attribute value. + * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact") + */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to convert HTML entities to characters */ + var htmlUnescapes = invert(htmlEscapes); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a clone of `value`. If `deep` is `true`, all nested objects will + * also be cloned otherwise they will be assigned by reference. Functions, DOM + * nodes, `arguments` objects, and objects created by constructors other than + * `Object` are **not** cloned. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to clone. + * @param {Boolean} deep A flag to indicate a deep clone. + * @param- {Object} [guard] Internally used to allow this method to work with + * others like `_.map` without using their callback `index` argument for `deep`. + * @param- {Array} [stackA=[]] Internally used to track traversed source objects. + * @param- {Array} [stackB=[]] Internally used to associate clones with their + * source counterparts. + * @returns {Mixed} Returns the cloned `value`. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 }, + * { 'name': 'curly', 'age': 60 } + * ]; + * + * _.clone({ 'name': 'moe' }); + * // => { 'name': 'moe' } + * + * var shallow = _.clone(stooges); + * shallow[0] === stooges[0]; + * // => true + * + * var deep = _.clone(stooges, true); + * shallow[0] === stooges[0]; + * // => false + */ + function clone(value, deep, guard, stackA, stackB) { + if (value == null) { + return value; + } + if (guard) { + deep = false; + } + // inspect [[Class]] + var isObj = isObject(value); + if (isObj) { + // don't clone `arguments` objects, functions, or non-object Objects + var className = toString.call(value); + if (!cloneableClasses[className] || (noArgsClass && isArguments(value))) { + return value; + } + var isArr = className == arrayClass; + isObj = isArr || (className == objectClass ? isPlainObject(value) : isObj); + } + // shallow clone + if (!isObj || !deep) { + // don't clone functions + return isObj + ? (isArr ? slice.call(value) : extend({}, value)) + : value; + } + + var ctor = value.constructor; + switch (className) { + case boolClass: + case dateClass: + return new ctor(+value); + + case numberClass: + case stringClass: + return new ctor(value); + + case regexpClass: + return ctor(value.source, reFlags.exec(value)); + } + // check for circular references and return corresponding clone + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == value) { + return stackB[length]; + } + } + // init cloned object + var result = isArr ? ctor(value.length) : {}; + + // add the source value to the stack of traversed objects + // and associate it with its clone + stackA.push(value); + stackB.push(result); + + // recursively populate clone (susceptible to call stack limits) + (isArr ? forEach : forOwn)(value, function(objValue, key) { + result[key] = clone(objValue, deep, null, stackA, stackB); + }); + + return result; + } + + /** + * Assigns enumerable properties of the default object(s) to the `destination` + * object for all `destination` properties that resolve to `null`/`undefined`. + * Once a property is set, additional defaults of the same property will be + * ignored. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The destination object. + * @param {Object} [default1, default2, ...] The default objects. + * @returns {Object} Returns the destination object. + * @example + * + * var iceCream = { 'flavor': 'chocolate' }; + * _.defaults(iceCream, { 'flavor': 'vanilla', 'sprinkles': 'rainbow' }); + * // => { 'flavor': 'chocolate', 'sprinkles': 'rainbow' } + */ + var defaults = createIterator(extendIteratorOptions, { + 'objectLoop': 'if (result[index] == null) ' + extendIteratorOptions.objectLoop + }); + + /** + * Assigns enumerable properties of the source object(s) to the `destination` + * object. Subsequent sources will overwrite propery assignments of previous + * sources. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The destination object. + * @param {Object} [source1, source2, ...] The source objects. + * @returns {Object} Returns the destination object. + * @example + * + * _.extend({ 'name': 'moe' }, { 'age': 40 }); + * // => { 'name': 'moe', 'age': 40 } + */ + var extend = createIterator(extendIteratorOptions); + + /** + * Creates a sorted array of all enumerable properties, own and inherited, + * of `object` that have function values. + * + * @static + * @memberOf _ + * @alias methods + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property names that have function values. + * @example + * + * _.functions(_); + * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...] + */ + function functions(object) { + var result = []; + forIn(object, function(value, key) { + if (isFunction(value)) { + result.push(key); + } + }); + return result.sort(); + } + + /** + * Checks if the specified object `property` exists and is a direct property, + * instead of an inherited property. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to check. + * @param {String} property The property to check for. + * @returns {Boolean} Returns `true` if key is a direct property, else `false`. + * @example + * + * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b'); + * // => true + */ + function has(object, property) { + return object ? hasOwnProperty.call(object, property) : false; + } + + /** + * Creates an object composed of the inverted keys and values of the given `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to invert. + * @returns {Object} Returns the created inverted object. + * @example + * + * _.invert({ 'first': 'Moe', 'second': 'Larry', 'third': 'Curly' }); + * // => { 'Moe': 'first', 'Larry': 'second', 'Curly': 'third' } (order is not guaranteed) + */ + function invert(object) { + var result = {}; + forOwn(object, function(value, key) { + result[value] = key; + }); + return result; + } + + /** + * Checks if `value` is an array. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is an array, else `false`. + * @example + * + * (function() { return _.isArray(arguments); })(); + * // => false + * + * _.isArray([1, 2, 3]); + * // => true + */ + var isArray = nativeIsArray || function(value) { + return toString.call(value) == arrayClass; + }; + + /** + * Checks if `value` is a boolean (`true` or `false`) value. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a boolean value, else `false`. + * @example + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || toString.call(value) == boolClass; + } + + /** + * Checks if `value` is a date. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a date, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + */ + function isDate(value) { + return toString.call(value) == dateClass; + } + + /** + * Checks if `value` is a DOM element. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + */ + function isElement(value) { + return value ? value.nodeType === 1 : false; + } + + /** + * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a + * length of `0` and objects with no own enumerable properties are considered + * "empty". + * + * @static + * @memberOf _ + * @category Objects + * @param {Array|Object|String} value The value to inspect. + * @returns {Boolean} Returns `true` if the `value` is empty, else `false`. + * @example + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({}); + * // => true + * + * _.isEmpty(''); + * // => true + */ + function isEmpty(value) { + var result = true; + if (!value) { + return result; + } + var className = toString.call(value), + length = value.length; + + if ((className == arrayClass || className == stringClass || + className == argsClass || (noArgsClass && isArguments(value))) || + (className == objectClass && typeof length == 'number' && isFunction(value.splice))) { + return !length; + } + forOwn(value, function() { + return (result = false); + }); + return result; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent to each other. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} a The value to compare. + * @param {Mixed} b The other value to compare. + * @param- {Object} [stackA=[]] Internally used track traversed `a` objects. + * @param- {Object} [stackB=[]] Internally used track traversed `b` objects. + * @returns {Boolean} Returns `true` if the values are equvalent, else `false`. + * @example + * + * var moe = { 'name': 'moe', 'luckyNumbers': [13, 27, 34] }; + * var clone = { 'name': 'moe', 'luckyNumbers': [13, 27, 34] }; + * + * moe == clone; + * // => false + * + * _.isEqual(moe, clone); + * // => true + */ + function isEqual(a, b, stackA, stackB) { + // exit early for identical values + if (a === b) { + // treat `+0` vs. `-0` as not equal + return a !== 0 || (1 / a == 1 / b); + } + // a strict comparison is necessary because `null == undefined` + if (a == null || b == null) { + return a === b; + } + // compare [[Class]] names + var className = toString.call(a); + if (className != toString.call(b)) { + return false; + } + switch (className) { + case boolClass: + case dateClass: + // coerce dates and booleans to numbers, dates to milliseconds and booleans + // to `1` or `0`, treating invalid dates coerced to `NaN` as not equal + return +a == +b; + + case numberClass: + // treat `NaN` vs. `NaN` as equal + return a != +a + ? b != +b + // but treat `+0` vs. `-0` as not equal + : (a == 0 ? (1 / a == 1 / b) : a == +b); + + case regexpClass: + case stringClass: + // coerce regexes to strings (http://es5.github.com/#x15.10.6.4) + // treat string primitives and their corresponding object instances as equal + return a == b + ''; + } + // exit early, in older browsers, if `a` is array-like but not `b` + var isArr = className == arrayClass || className == argsClass; + if (noArgsClass && !isArr && (isArr = isArguments(a)) && !isArguments(b)) { + return false; + } + if (!isArr) { + // unwrap any `lodash` wrapped values + if (a.__wrapped__ || b.__wrapped__) { + return isEqual(a.__wrapped__ || a, b.__wrapped__ || b); + } + // exit for functions and DOM nodes + if (className != objectClass || (noNodeClass && ( + (typeof a.toString != 'function' && typeof (a + '') == 'string') || + (typeof b.toString != 'function' && typeof (b + '') == 'string')))) { + return false; + } + var ctorA = a.constructor, + ctorB = b.constructor; + + // non `Object` object instances with different constructors are not equal + if (ctorA != ctorB && !( + isFunction(ctorA) && ctorA instanceof ctorA && + isFunction(ctorB) && ctorB instanceof ctorB + )) { + return false; + } + } + // assume cyclic structures are equal + // the algorithm for detecting cyclic structures is adapted from ES 5.1 + // section 15.12.3, abstract operation `JO` (http://es5.github.com/#x15.12.3) + stackA || (stackA = []); + stackB || (stackB = []); + + var length = stackA.length; + while (length--) { + if (stackA[length] == a) { + return stackB[length] == b; + } + } + + var index = -1, + result = true, + size = 0; + + // add `a` and `b` to the stack of traversed objects + stackA.push(a); + stackB.push(b); + + // recursively compare objects and arrays (susceptible to call stack limits) + if (isArr) { + // compare lengths to determine if a deep comparison is necessary + size = a.length; + result = size == b.length; + + if (result) { + // deep compare the contents, ignoring non-numeric properties + while (size--) { + if (!(result = isEqual(a[size], b[size], stackA, stackB))) { + break; + } + } + } + return result; + } + // deep compare objects + for (var key in a) { + if (hasOwnProperty.call(a, key)) { + // count the number of properties. + size++; + // deep compare each property value. + if (!(hasOwnProperty.call(b, key) && isEqual(a[key], b[key], stackA, stackB))) { + return false; + } + } + } + // ensure both objects have the same number of properties + for (key in b) { + // The JS engine in Adobe products, like InDesign, has a bug that causes + // `!size--` to throw an error so it must be wrapped in parentheses. + // https://github.com/documentcloud/underscore/issues/355 + if (hasOwnProperty.call(b, key) && !(size--)) { + // `size` will be `-1` if `b` has more properties than `a` + return false; + } + } + // handle JScript [[DontEnum]] bug + if (hasDontEnumBug) { + while (++index < 7) { + key = shadowed[index]; + if (hasOwnProperty.call(a, key) && + !(hasOwnProperty.call(b, key) && isEqual(a[key], b[key], stackA, stackB))) { + return false; + } + } + } + return true; + } + + /** + * Checks if `value` is, or can be coerced to, a finite number. + * + * Note: This is not the same as native `isFinite`, which will return true for + * booleans and empty strings. See http://es5.github.com/#x15.1.2.5. + * + * @deprecated + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a finite number, else `false`. + * @example + * + * _.isFinite(-101); + * // => true + * + * _.isFinite('10'); + * // => true + * + * _.isFinite(true); + * // => false + * + * _.isFinite(''); + * // => false + * + * _.isFinite(Infinity); + * // => false + */ + function isFinite(value) { + return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value)); + } + + /** + * Checks if `value` is a function. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + */ + function isFunction(value) { + return typeof value == 'function'; + } + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return toString.call(value) == funcClass; + }; + } + + /** + * Checks if `value` is the language type of Object. + * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(1); + * // => false + */ + function isObject(value) { + // check if the value is the ECMAScript language type of Object + // http://es5.github.com/#x8 + // and avoid a V8 bug + // http://code.google.com/p/v8/issues/detail?id=2291 + return value ? objectTypes[typeof value] : false; + } + + /** + * Checks if `value` is `NaN`. + * + * Note: This is not the same as native `isNaN`, which will return true for + * `undefined` and other values. See http://es5.github.com/#x15.1.2.4. + * + * @deprecated + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // `NaN` as a primitive is the only value that is not equal to itself + // (perform the [[Class]] check first to avoid errors with some host objects in IE) + return toString.call(value) == numberClass && value != +value + } + + /** + * Checks if `value` is `null`. + * + * @deprecated + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(undefined); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is a number. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a number, else `false`. + * @example + * + * _.isNumber(8.4 * 5); + * // => true + */ + function isNumber(value) { + return toString.call(value) == numberClass; + } + + /** + * Checks if a given `value` is an object created by the `Object` constructor. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Stooge(name, age) { + * this.name = name; + * this.age = age; + * } + * + * _.isPlainObject(new Stooge('moe', 40)); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'name': 'moe', 'age': 40 }); + * // => true + */ + var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) { + if (!(value && typeof value == 'object')) { + return false; + } + var valueOf = value.valueOf, + objProto = typeof valueOf == 'function' && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto); + + return objProto + ? value == objProto || (getPrototypeOf(value) == objProto && !isArguments(value)) + : shimIsPlainObject(value); + }; + + /** + * Checks if `value` is a regular expression. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a regular expression, else `false`. + * @example + * + * _.isRegExp(/moe/); + * // => true + */ + function isRegExp(value) { + return toString.call(value) == regexpClass; + } + + /** + * Checks if `value` is a string. + * + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is a string, else `false`. + * @example + * + * _.isString('moe'); + * // => true + */ + function isString(value) { + return toString.call(value) == stringClass; + } + + /** + * Checks if `value` is `undefined`. + * + * @deprecated + * @static + * @memberOf _ + * @category Objects + * @param {Mixed} value The value to check. + * @returns {Boolean} Returns `true` if the `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Creates an array composed of the own enumerable property names of `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property names. + * @example + * + * _.keys({ 'one': 1, 'two': 2, 'three': 3 }); + * // => ['one', 'two', 'three'] (order is not guaranteed) + */ + var keys = !nativeKeys ? shimKeys : function(object) { + // avoid iterating over the `prototype` property + return typeof object == 'function' && propertyIsEnumerable.call(object, 'prototype') + ? shimKeys(object) + : (isObject(object) ? nativeKeys(object) : []); + }; + + /** + * Merges enumerable properties of the source object(s) into the `destination` + * object. Subsequent sources will overwrite propery assignments of previous + * sources. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The destination object. + * @param {Object} [source1, source2, ...] The source objects. + * @param- {Object} [indicator] Internally used to indicate that the `stack` + * argument is an array of traversed objects instead of another source object. + * @param- {Array} [stackA=[]] Internally used to track traversed source objects. + * @param- {Array} [stackB=[]] Internally used to associate values with their + * source counterparts. + * @returns {Object} Returns the destination object. + * @example + * + * var stooges = [ + * { 'name': 'moe' }, + * { 'name': 'larry' } + * ]; + * + * var ages = [ + * { 'age': 40 }, + * { 'age': 50 } + * ]; + * + * _.merge(stooges, ages); + * // => [{ 'name': 'moe', 'age': 40 }, { 'name': 'larry', 'age': 50 }] + */ + function merge(object, source, indicator) { + var args = arguments, + index = 0, + length = 2, + stackA = args[3], + stackB = args[4]; + + if (indicator !== objectRef) { + stackA = []; + stackB = []; + length = args.length; + } + while (++index < length) { + forOwn(args[index], function(source, key) { + var found, isArr, value; + if (source && ((isArr = isArray(source)) || isPlainObject(source))) { + // avoid merging previously merged cyclic sources + var stackLength = stackA.length; + while (stackLength--) { + found = stackA[stackLength] == source; + if (found) { + break; + } + } + if (found) { + object[key] = stackB[stackLength]; + } + else { + // add `source` and associated `value` to the stack of traversed objects + stackA.push(source); + stackB.push(value = (value = object[key], isArr) + ? (isArray(value) ? value : []) + : (isPlainObject(value) ? value : {}) + ); + // recursively merge objects and arrays (susceptible to call stack limits) + object[key] = merge(value, source, objectRef, stackA, stackB); + } + } else if (source != null) { + object[key] = source; + } + }); + } + return object; + } + + /** + * Creates a shallow clone of `object` excluding the specified properties. + * Property names may be specified as individual arguments or as arrays of + * property names. If `callback` is passed, it will be executed for each property + * in the `object`, omitting the properties `callback` returns truthy for. The + * `callback` is bound to `thisArg` and invoked with three arguments; (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Function|String} callback|[prop1, prop2, ...] The properties to omit + * or the function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object without the omitted properties. + * @example + * + * _.omit({ 'name': 'moe', 'age': 40, 'userid': 'moe1' }, 'userid'); + * // => { 'name': 'moe', 'age': 40 } + * + * _.omit({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(value, key) { + * return key.charAt(0) == '_'; + * }); + * // => { 'name': 'moe' } + */ + function omit(object, callback, thisArg) { + var isFunc = typeof callback == 'function', + result = {}; + + if (isFunc) { + callback = createCallback(callback, thisArg); + } else { + var props = concat.apply(arrayRef, arguments); + } + forIn(object, function(value, key, object) { + if (isFunc + ? !callback(value, key, object) + : indexOf(props, key, 1) < 0 + ) { + result[key] = value; + } + }); + return result; + } + + /** + * Creates a two dimensional array of the given object's key-value pairs, + * i.e. `[[key1, value1], [key2, value2]]`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns new array of key-value pairs. + * @example + * + * _.pairs({ 'moe': 30, 'larry': 40, 'curly': 50 }); + * // => [['moe', 30], ['larry', 40], ['curly', 50]] (order is not guaranteed) + */ + function pairs(object) { + var result = []; + forOwn(object, function(value, key) { + result.push([key, value]); + }); + return result; + } + + /** + * Creates a shallow clone of `object` composed of the specified properties. + * Property names may be specified as individual arguments or as arrays of + * property names. If `callback` is passed, it will be executed for each property + * in the `object`, picking the properties `callback` returns truthy for. The + * `callback` is bound to `thisArg` and invoked with three arguments; (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Function|String} callback|[prop1, prop2, ...] The properties to pick + * or the function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object composed of the picked properties. + * @example + * + * _.pick({ 'name': 'moe', 'age': 40, 'userid': 'moe1' }, 'name', 'age'); + * // => { 'name': 'moe', 'age': 40 } + * + * _.pick({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(value, key) { + * return key.charAt(0) != '_'; + * }); + * // => { 'name': 'moe' } + */ + function pick(object, callback, thisArg) { + var result = {}; + if (typeof callback != 'function') { + var index = 0, + props = concat.apply(arrayRef, arguments), + length = props.length; + + while (++index < length) { + var key = props[index]; + if (key in object) { + result[key] = object[key]; + } + } + } else { + callback = createCallback(callback, thisArg); + forIn(object, function(value, key, object) { + if (callback(value, key, object)) { + result[key] = value; + } + }); + } + return result; + } + + /** + * Creates an array composed of the own enumerable property values of `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns a new array of property values. + * @example + * + * _.values({ 'one': 1, 'two': 2, 'three': 3 }); + * // => [1, 2, 3] + */ + function values(object) { + var result = []; + forOwn(object, function(value) { + result.push(value); + }); + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Checks if a given `target` element is present in a `collection` using strict + * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used + * as the offset from the end of the collection. + * + * @static + * @memberOf _ + * @alias include + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Mixed} target The value to check for. + * @param {Number} [fromIndex=0] The index to search from. + * @returns {Boolean} Returns `true` if the `target` element is found, else `false`. + * @example + * + * _.contains([1, 2, 3], 1); + * // => true + * + * _.contains([1, 2, 3], 1, 2); + * // => false + * + * _.contains({ 'name': 'moe', 'age': 40 }, 'moe'); + * // => true + * + * _.contains('curly', 'ur'); + * // => true + */ + function contains(collection, target, fromIndex) { + var index = -1, + length = collection ? collection.length : 0; + + fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0; + if (typeof length == 'number') { + return (isString(collection) + ? collection.indexOf(target, fromIndex) + : indexOf(collection, target, fromIndex) + ) > -1; + } + return some(collection, function(value) { + return ++index >= fromIndex && value === target; + }); + } + + /** + * Creates an object composed of keys returned from running each element of + * `collection` through a `callback`. The corresponding value of each key is + * the number of times the key was returned by `callback`. The `callback` is + * bound to `thisArg` and invoked with three arguments; (value, index|key, collection). + * The `callback` argument may also be the name of a property to count by (e.g. 'length'). + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|String} callback|property The function called per iteration + * or property name to count by. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': 1, '6': 2 } + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': 1, '6': 2 } + * + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + function countBy(collection, callback, thisArg) { + var result = {}; + callback = createCallback(callback, thisArg); + forEach(collection, function(value, key, collection) { + key = callback(value, key, collection); + (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1); + }); + return result; + } + + /** + * Checks if the `callback` returns a truthy value for **all** elements of a + * `collection`. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). + * + * @static + * @memberOf _ + * @alias all + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Boolean} Returns `true` if all elements pass the callback check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + */ + function every(collection, callback, thisArg) { + var result = true; + callback = createCallback(callback, thisArg); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if (!(result = !!callback(collection[index], index, collection))) { + break; + } + } + } else { + forEach(collection, function(value, index, collection) { + return (result = !!callback(value, index, collection)); + }); + } + return result; + } + + /** + * Examines each element in a `collection`, returning an array of all elements + * the `callback` returns truthy for. The `callback` is bound to `thisArg` and + * invoked with three arguments; (value, index|key, collection). + * + * @static + * @memberOf _ + * @alias select + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that passed the callback check. + * @example + * + * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [2, 4, 6] + */ + function filter(collection, callback, thisArg) { + var result = []; + callback = createCallback(callback, thisArg); + forEach(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * Examines each element in a `collection`, returning the first one the `callback` + * returns truthy for. The function returns as soon as it finds an acceptable + * element, and does not iterate over the entire `collection`. The `callback` is + * bound to `thisArg` and invoked with three arguments; (value, index|key, collection). + * + * @static + * @memberOf _ + * @alias detect + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} callback The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the element that passed the callback check, + * else `undefined`. + * @example + * + * var even = _.find([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => 2 + */ + function find(collection, callback, thisArg) { + var result; + callback = createCallback(callback, thisArg); + forEach(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result = value; + return false; + } + }); + return result; + } + + /** + * Iterates over a `collection`, executing the `callback` for each element in + * the `collection`. The `callback` is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). Callbacks may exit iteration early + * by explicitly returning `false`. + * + * @static + * @memberOf _ + * @alias each + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} callback The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|String} Returns `collection`. + * @example + * + * _([1, 2, 3]).forEach(alert).join(','); + * // => alerts each number and returns '1,2,3' + * + * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, alert); + * // => alerts each number (order is not guaranteed) + */ + var forEach = createIterator(forEachIteratorOptions); + + /** + * Creates an object composed of keys returned from running each element of + * `collection` through a `callback`. The corresponding value of each key is an + * array of elements passed to `callback` that returned the key. The `callback` + * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection). + * The `callback` argument may also be the name of a property to group by (e.g. 'length'). + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|String} callback|property The function called per iteration + * or property name to group by. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + function groupBy(collection, callback, thisArg) { + var result = {}; + callback = createCallback(callback, thisArg); + forEach(collection, function(value, key, collection) { + key = callback(value, key, collection); + (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value); + }); + return result; + } + + /** + * Invokes the method named by `methodName` on each element in the `collection`, + * returning an array of the results of each invoked method. Additional arguments + * will be passed to each invoked method. If `methodName` is a function it will + * be invoked for, and `this` bound to, each element in the `collection`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|String} methodName The name of the method to invoke or + * the function invoked per iteration. + * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the method with. + * @returns {Array} Returns a new array of the results of each invoked method. + * @example + * + * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invoke([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + function invoke(collection, methodName) { + var args = slice.call(arguments, 2), + isFunc = typeof methodName == 'function', + result = []; + + forEach(collection, function(value) { + result.push((isFunc ? methodName : value[methodName]).apply(value, args)); + }); + return result; + } + + /** + * Creates an array of values by running each element in the `collection` + * through a `callback`. The `callback` is bound to `thisArg` and invoked with + * three arguments; (value, index|key, collection). + * + * @static + * @memberOf _ + * @alias collect + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of the results of each `callback` execution. + * @example + * + * _.map([1, 2, 3], function(num) { return num * 3; }); + * // => [3, 6, 9] + * + * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; }); + * // => [3, 6, 9] (order is not guaranteed) + */ + function map(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + callback = createCallback(callback, thisArg); + if (isArray(collection)) { + while (++index < length) { + result[index] = callback(collection[index], index, collection); + } + } else { + forEach(collection, function(value, key, collection) { + result[++index] = callback(value, key, collection); + }); + } + return result; + } + + /** + * Retrieves the maximum value of an `array`. If `callback` is passed, + * it will be executed for each value in the `array` to generate the + * criterion by which the value is ranked. The `callback` is bound to + * `thisArg` and invoked with three arguments; (value, index, collection). + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the maximum value. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 }, + * { 'name': 'curly', 'age': 60 } + * ]; + * + * _.max(stooges, function(stooge) { return stooge.age; }); + * // => { 'name': 'curly', 'age': 60 }; + */ + function max(collection, callback, thisArg) { + var computed = -Infinity, + index = -1, + length = collection ? collection.length : 0, + result = computed; + + if (callback || !isArray(collection)) { + callback = !callback && isString(collection) + ? charAtCallback + : createCallback(callback, thisArg); + + forEach(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current > computed) { + computed = current; + result = value; + } + }); + } else { + while (++index < length) { + if (collection[index] > result) { + result = collection[index]; + } + } + } + return result; + } + + /** + * Retrieves the minimum value of an `array`. If `callback` is passed, + * it will be executed for each value in the `array` to generate the + * criterion by which the value is ranked. The `callback` is bound to `thisArg` + * and invoked with three arguments; (value, index, collection). + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the minimum value. + * @example + * + * _.min([10, 5, 100, 2, 1000]); + * // => 2 + */ + function min(collection, callback, thisArg) { + var computed = Infinity, + index = -1, + length = collection ? collection.length : 0, + result = computed; + + if (callback || !isArray(collection)) { + callback = !callback && isString(collection) + ? charAtCallback + : createCallback(callback, thisArg); + + forEach(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current < computed) { + computed = current; + result = value; + } + }); + } else { + while (++index < length) { + if (collection[index] < result) { + result = collection[index]; + } + } + } + return result; + } + + /** + * Retrieves the value of a specified property from all elements in + * the `collection`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {String} property The property to pluck. + * @returns {Array} Returns a new array of property values. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 }, + * { 'name': 'curly', 'age': 60 } + * ]; + * + * _.pluck(stooges, 'name'); + * // => ['moe', 'larry', 'curly'] + */ + function pluck(collection, property) { + var result = []; + forEach(collection, function(value) { + result.push(value[property]); + }); + return result; + } + + /** + * Boils down a `collection` to a single value. The initial state of the + * reduction is `accumulator` and each successive step of it should be returned + * by the `callback`. The `callback` is bound to `thisArg` and invoked with 4 + * arguments; for arrays they are (accumulator, value, index|key, collection). + * + * @static + * @memberOf _ + * @alias foldl, inject + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} callback The function called per iteration. + * @param {Mixed} [accumulator] Initial value of the accumulator. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the accumulated value. + * @example + * + * var sum = _.reduce([1, 2, 3], function(memo, num) { return memo + num; }); + * // => 6 + */ + function reduce(collection, callback, accumulator, thisArg) { + var noaccum = arguments.length < 3; + callback = createCallback(callback, thisArg); + forEach(collection, function(value, index, collection) { + accumulator = noaccum + ? (noaccum = false, value) + : callback(accumulator, value, index, collection) + }); + return accumulator; + } + + /** + * The right-associative version of `_.reduce`. + * + * @static + * @memberOf _ + * @alias foldr + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} callback The function called per iteration. + * @param {Mixed} [accumulator] Initial value of the accumulator. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Mixed} Returns the accumulated value. + * @example + * + * var list = [[0, 1], [2, 3], [4, 5]]; + * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, callback, accumulator, thisArg) { + var iteratee = collection, + length = collection ? collection.length : 0, + noaccum = arguments.length < 3; + + if (typeof length != 'number') { + var props = keys(collection); + length = props.length; + } else if (noCharByIndex && isString(collection)) { + iteratee = collection.split(''); + } + forEach(collection, function(value, index, collection) { + index = props ? props[--length] : --length; + accumulator = noaccum + ? (noaccum = false, iteratee[index]) + : callback.call(thisArg, accumulator, iteratee[index], index, collection); + }); + return accumulator; + } + + /** + * The opposite of `_.filter`, this method returns the values of a + * `collection` that `callback` does **not** return truthy for. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that did **not** pass the + * callback check. + * @example + * + * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [1, 3, 5] + */ + function reject(collection, callback, thisArg) { + callback = createCallback(callback, thisArg); + return filter(collection, function(value, index, collection) { + return !callback(value, index, collection); + }); + } + + /** + * Creates an array of shuffled `array` values, using a version of the + * Fisher-Yates shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to shuffle. + * @returns {Array} Returns a new shuffled collection. + * @example + * + * _.shuffle([1, 2, 3, 4, 5, 6]); + * // => [4, 1, 6, 3, 5, 2] + */ + function shuffle(collection) { + var index = -1, + result = Array(collection ? collection.length : 0); + + forEach(collection, function(value) { + var rand = floor(nativeRandom() * (++index + 1)); + result[index] = result[rand]; + result[rand] = value; + }); + return result; + } + + /** + * Gets the size of the `collection` by returning `collection.length` for arrays + * and array-like objects or the number of own enumerable properties for objects. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to inspect. + * @returns {Number} Returns `collection.length` or number of own enumerable properties. + * @example + * + * _.size([1, 2]); + * // => 2 + * + * _.size({ 'one': 1, 'two': 2, 'three': 3 }); + * // => 3 + * + * _.size('curly'); + * // => 5 + */ + function size(collection) { + var length = collection ? collection.length : 0; + return typeof length == 'number' ? length : keys(collection).length; + } + + /** + * Checks if the `callback` returns a truthy value for **any** element of a + * `collection`. The function returns as soon as it finds passing value, and + * does not iterate over the entire `collection`. The `callback` is bound to + * `thisArg` and invoked with three arguments; (value, index|key, collection). + * + * @static + * @memberOf _ + * @alias any + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Boolean} Returns `true` if any element passes the callback check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false]); + * // => true + */ + function some(collection, callback, thisArg) { + var result; + callback = createCallback(callback, thisArg); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if (result = callback(collection[index], index, collection)) { + break; + } + } + } else { + forEach(collection, function(value, index, collection) { + return !(result = callback(value, index, collection)); + }); + } + return !!result; + } + + /** + * Creates an array, stable sorted in ascending order by the results of + * running each element of `collection` through a `callback`. The `callback` + * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection). + * The `callback` argument may also be the name of a property to sort by (e.g. 'length'). + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Function|String} callback|property The function called per iteration + * or property name to sort by. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of sorted elements. + * @example + * + * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); }); + * // => [3, 1, 2] + * + * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math); + * // => [3, 1, 2] + * + * _.sortBy(['larry', 'brendan', 'moe'], 'length'); + * // => ['moe', 'larry', 'brendan'] + */ + function sortBy(collection, callback, thisArg) { + var result = []; + callback = createCallback(callback, thisArg); + forEach(collection, function(value, index, collection) { + result.push({ + 'criteria': callback(value, index, collection), + 'index': index, + 'value': value + }); + }); + + var length = result.length; + result.sort(compareAscending); + while (length--) { + result[length] = result[length].value; + } + return result; + } + + /** + * Converts the `collection`, to an array. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to convert. + * @returns {Array} Returns the new converted array. + * @example + * + * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4); + * // => [2, 3, 4] + */ + function toArray(collection) { + if (collection && typeof collection.length == 'number') { + return (noArraySliceOnStrings ? isString(collection) : typeof collection == 'string') + ? collection.split('') + : slice.call(collection); + } + return values(collection); + } + + /** + * Examines each element in a `collection`, returning an array of all elements + * that contain the given `properties`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|String} collection The collection to iterate over. + * @param {Object} properties The object of property values to filter by. + * @returns {Array} Returns a new array of elements that contain the given `properties`. + * @example + * + * var stooges = [ + * { 'name': 'moe', 'age': 40 }, + * { 'name': 'larry', 'age': 50 }, + * { 'name': 'curly', 'age': 60 } + * ]; + * + * _.where(stooges, { 'age': 40 }); + * // => [{ 'name': 'moe', 'age': 40 }] + */ + function where(collection, properties) { + var props = []; + forIn(properties, function(value, prop) { + props.push(prop); + }); + return filter(collection, function(object) { + var length = props.length; + while (length--) { + var result = object[props[length]] === properties[props[length]]; + if (!result) { + break; + } + } + return !!result; + }); + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates an array with all falsey values of `array` removed. The values + * `false`, `null`, `0`, `""`, `undefined` and `NaN` are all falsey. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to compact. + * @returns {Array} Returns a new filtered array. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result.push(value); + } + } + return result; + } + + /** + * Creates an array of `array` elements not present in the other arrays + * using strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to process. + * @param {Array} [array1, array2, ...] Arrays to check. + * @returns {Array} Returns a new array of `array` elements not present in the + * other arrays. + * @example + * + * _.difference([1, 2, 3, 4, 5], [5, 2, 10]); + * // => [1, 3, 4] + */ + function difference(array) { + var index = -1, + length = array ? array.length : 0, + flattened = concat.apply(arrayRef, arguments), + contains = cachedContains(flattened, length), + result = []; + + while (++index < length) { + var value = array[index]; + if (!contains(value)) { + result.push(value); + } + } + return result; + } + + /** + * Gets the first element of the `array`. Pass `n` to return the first `n` + * elements of the `array`. + * + * @static + * @memberOf _ + * @alias head, take + * @category Arrays + * @param {Array} array The array to query. + * @param {Number} [n] The number of elements to return. + * @param- {Object} [guard] Internally used to allow this method to work with + * others like `_.map` without using their callback `index` argument for `n`. + * @returns {Mixed} Returns the first element or an array of the first `n` + * elements of `array`. + * @example + * + * _.first([5, 4, 3, 2, 1]); + * // => 5 + */ + function first(array, n, guard) { + if (array) { + return (n == null || guard) ? array[0] : slice.call(array, 0, n); + } + } + + /** + * Flattens a nested array (the nesting can be to any depth). If `shallow` is + * truthy, `array` will only be flattened a single level. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to compact. + * @param {Boolean} shallow A flag to indicate only flattening a single level. + * @returns {Array} Returns a new flattened array. + * @example + * + * _.flatten([1, [2], [3, [[4]]]]); + * // => [1, 2, 3, 4]; + * + * _.flatten([1, [2], [3, [[4]]]], true); + * // => [1, 2, 3, [[4]]]; + */ + function flatten(array, shallow) { + var index = -1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + + // recursively flatten arrays (susceptible to call stack limits) + if (isArray(value)) { + push.apply(result, shallow ? value : flatten(value)); + } else { + result.push(value); + } + } + return result; + } + + /** + * Gets the index at which the first occurrence of `value` is found using + * strict equality for comparisons, i.e. `===`. If the `array` is already + * sorted, passing `true` for `fromIndex` will run a faster binary search. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Mixed} value The value to search for. + * @param {Boolean|Number} [fromIndex=0] The index to search from or `true` to + * perform a binary search on a sorted `array`. + * @returns {Number} Returns the index of the matched value or `-1`. + * @example + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2); + * // => 1 + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 4 + * + * _.indexOf([1, 1, 2, 2, 3, 3], 2, true); + * // => 2 + */ + function indexOf(array, value, fromIndex) { + var index = -1, + length = array ? array.length : 0; + + if (typeof fromIndex == 'number') { + index = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0) - 1; + } else if (fromIndex) { + index = sortedIndex(array, value); + return array[index] === value ? index : -1; + } + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * Gets all but the last element of `array`. Pass `n` to exclude the last `n` + * elements from the result. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Number} [n=1] The number of elements to exclude. + * @param- {Object} [guard] Internally used to allow this method to work with + * others like `_.map` without using their callback `index` argument for `n`. + * @returns {Array} Returns all but the last element or `n` elements of `array`. + * @example + * + * _.initial([3, 2, 1]); + * // => [3, 2] + */ + function initial(array, n, guard) { + return array + ? slice.call(array, 0, -((n == null || guard) ? 1 : n)) + : []; + } + + /** + * Computes the intersection of all the passed-in arrays using strict equality + * for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} [array1, array2, ...] Arrays to process. + * @returns {Array} Returns a new array of unique elements, in order, that are + * present in **all** of the arrays. + * @example + * + * _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); + * // => [1, 2] + */ + function intersection(array) { + var args = arguments, + argsLength = args.length, + cache = {}, + result = []; + + forEach(array, function(value) { + if (indexOf(result, value) < 0) { + var length = argsLength; + while (--length) { + if (!(cache[length] || (cache[length] = cachedContains(args[length])))(value)) { + return; + } + } + result.push(value); + } + }); + return result; + } + + /** + * Gets the last element of the `array`. Pass `n` to return the last `n` + * elements of the `array`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Number} [n] The number of elements to return. + * @param- {Object} [guard] Internally used to allow this method to work with + * others like `_.map` without using their callback `index` argument for `n`. + * @returns {Mixed} Returns the last element or an array of the last `n` + * elements of `array`. + * @example + * + * _.last([3, 2, 1]); + * // => 1 + */ + function last(array, n, guard) { + if (array) { + var length = array.length; + return (n == null || guard) ? array[length - 1] : slice.call(array, -n || length); + } + } + + /** + * Gets the index at which the last occurrence of `value` is found using strict + * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used + * as the offset from the end of the collection. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Mixed} value The value to search for. + * @param {Number} [fromIndex=array.length-1] The index to search from. + * @returns {Number} Returns the index of the matched value or `-1`. + * @example + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); + * // => 4 + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var index = array ? array.length : 0; + if (typeof fromIndex == 'number') { + index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1; + } + while (index--) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * Creates an object composed from arrays of `keys` and `values`. Pass either + * a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or + * two arrays, one of `keys` and one of corresponding `values`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} keys The array of keys. + * @param {Array} [values=[]] The array of values. + * @returns {Object} Returns an object composed of the given keys and + * corresponding values. + * @example + * + * _.object(['moe', 'larry', 'curly'], [30, 40, 50]); + * // => { 'moe': 30, 'larry': 40, 'curly': 50 } + */ + function object(keys, values) { + var index = -1, + length = keys ? keys.length : 0, + result = {}; + + while (++index < length) { + var key = keys[index]; + if (values) { + result[key] = values[index]; + } else { + result[key[0]] = key[1]; + } + } + return result; + } + + /** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to but not including `stop`. This method is a port of Python's + * `range()` function. See http://docs.python.org/library/functions.html#range. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Number} [start=0] The start of the range. + * @param {Number} end The end of the range. + * @param {Number} [step=1] The value to increment or descrement by. + * @returns {Array} Returns a new range array. + * @example + * + * _.range(10); + * // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + * + * _.range(1, 11); + * // => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + * + * _.range(0, 30, 5); + * // => [0, 5, 10, 15, 20, 25] + * + * _.range(0, -10, -1); + * // => [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] + * + * _.range(0); + * // => [] + */ + function range(start, end, step) { + start = +start || 0; + step = +step || 1; + + if (end == null) { + end = start; + start = 0; + } + // use `Array(length)` so V8 will avoid the slower "dictionary" mode + // http://www.youtube.com/watch?v=XAqIpGU8ZZk#t=16m27s + var index = -1, + length = nativeMax(0, ceil((end - start) / step)), + result = Array(length); + + while (++index < length) { + result[index] = start; + start += step; + } + return result; + } + + /** + * The opposite of `_.initial`, this method gets all but the first value of + * `array`. Pass `n` to exclude the first `n` values from the result. + * + * @static + * @memberOf _ + * @alias drop, tail + * @category Arrays + * @param {Array} array The array to query. + * @param {Number} [n=1] The number of elements to exclude. + * @param- {Object} [guard] Internally used to allow this method to work with + * others like `_.map` without using their callback `index` argument for `n`. + * @returns {Array} Returns all but the first value or `n` values of `array`. + * @example + * + * _.rest([3, 2, 1]); + * // => [2, 1] + */ + function rest(array, n, guard) { + return array + ? slice.call(array, (n == null || guard) ? 1 : n) + : []; + } + + /** + * Uses a binary search to determine the smallest index at which the `value` + * should be inserted into `array` in order to maintain the sort order of the + * sorted `array`. If `callback` is passed, it will be executed for `value` and + * each element in `array` to compute their sort ranking. The `callback` is + * bound to `thisArg` and invoked with one argument; (value). The `callback` + * argument may also be the name of a property to order by. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to iterate over. + * @param {Mixed} value The value to evaluate. + * @param {Function|String} [callback=identity|property] The function called + * per iteration or property name to order by. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Number} Returns the index at which the value should be inserted + * into `array`. + * @example + * + * _.sortedIndex([20, 30, 50], 40); + * // => 2 + * + * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); + * // => 2 + * + * var dict = { + * 'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 } + * }; + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return dict.wordToNumber[word]; + * }); + * // => 2 + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return this.wordToNumber[word]; + * }, dict); + * // => 2 + */ + function sortedIndex(array, value, callback, thisArg) { + var low = 0, + high = array ? array.length : low; + + // explicitly reference `identity` for better engine inlining + callback = callback ? createCallback(callback, thisArg) : identity; + value = callback(value); + while (low < high) { + var mid = (low + high) >>> 1; + callback(array[mid]) < value + ? low = mid + 1 + : high = mid; + } + return low; + } + + /** + * Computes the union of the passed-in arrays using strict equality for + * comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} [array1, array2, ...] Arrays to process. + * @returns {Array} Returns a new array of unique values, in order, that are + * present in one or more of the arrays. + * @example + * + * _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); + * // => [1, 2, 3, 101, 10] + */ + function union() { + return uniq(concat.apply(arrayRef, arguments)); + } + + /** + * Creates a duplicate-value-free version of the `array` using strict equality + * for comparisons, i.e. `===`. If the `array` is already sorted, passing `true` + * for `isSorted` will run a faster algorithm. If `callback` is passed, each + * element of `array` is passed through a callback` before uniqueness is computed. + * The `callback` is bound to `thisArg` and invoked with three arguments; (value, index, array). + * + * @static + * @memberOf _ + * @alias unique + * @category Arrays + * @param {Array} array The array to process. + * @param {Boolean} [isSorted=false] A flag to indicate that the `array` is already sorted. + * @param {Function} [callback=identity] The function called per iteration. + * @param {Mixed} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a duplicate-value-free array. + * @example + * + * _.uniq([1, 2, 1, 3, 1]); + * // => [1, 2, 3] + * + * _.uniq([1, 1, 2, 2, 3], true); + * // => [1, 2, 3] + * + * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return Math.floor(num); }); + * // => [1, 2, 3] + * + * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return this.floor(num); }, Math); + * // => [1, 2, 3] + */ + function uniq(array, isSorted, callback, thisArg) { + var index = -1, + length = array ? array.length : 0, + result = [], + seen = result; + + // juggle arguments + if (typeof isSorted == 'function') { + thisArg = callback; + callback = isSorted; + isSorted = false; + } + // init value cache for large arrays + var isLarge = !isSorted && length > 74; + if (isLarge) { + var cache = {}; + } + if (callback) { + seen = []; + callback = createCallback(callback, thisArg); + } + while (++index < length) { + var value = array[index], + computed = callback ? callback(value, index, array) : value; + + if (isLarge) { + // manually coerce `computed` to a string because `hasOwnProperty`, in + // some older versions of Firefox, coerces objects incorrectly + seen = hasOwnProperty.call(cache, computed + '') ? cache[computed] : (cache[computed] = []); + } + if (isSorted + ? !index || seen[seen.length - 1] !== computed + : indexOf(seen, computed) < 0 + ) { + if (callback || isLarge) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * Creates an array with all occurrences of the passed values removed using + * strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to filter. + * @param {Mixed} [value1, value2, ...] Values to remove. + * @returns {Array} Returns a new filtered array. + * @example + * + * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); + * // => [2, 3, 4] + */ + function without(array) { + var index = -1, + length = array ? array.length : 0, + contains = cachedContains(arguments, 1, 20), + result = []; + + while (++index < length) { + var value = array[index]; + if (!contains(value)) { + result.push(value); + } + } + return result; + } + + /** + * Groups the elements of each array at their corresponding indexes. Useful for + * separate data sources that are coordinated through matching array indexes. + * For a matrix of nested arrays, `_.zip.apply(...)` can transpose the matrix + * in a similar fashion. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} [array1, array2, ...] Arrays to process. + * @returns {Array} Returns a new array of grouped elements. + * @example + * + * _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); + * // => [['moe', 30, true], ['larry', 40, false], ['curly', 50, false]] + */ + function zip(array) { + var index = -1, + length = array ? max(pluck(arguments, 'length')) : 0, + result = Array(length); + + while (++index < length) { + result[index] = pluck(arguments, index); + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function that is restricted to executing `func` only after it is + * called `n` times. The `func` is executed with the `this` binding of the + * created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Number} n The number of times the function must be called before + * it is executed. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var renderNotes = _.after(notes.length, render); + * _.forEach(notes, function(note) { + * note.asyncSave({ 'success': renderNotes }); + * }); + * // `renderNotes` is run once, after all notes have saved + */ + function after(n, func) { + if (n < 1) { + return func(); + } + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that, when called, invokes `func` with the `this` + * binding of `thisArg` and prepends any additional `bind` arguments to those + * passed to the bound function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to bind. + * @param {Mixed} [thisArg] The `this` binding of `func`. + * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var func = function(greeting) { + * return greeting + ' ' + this.name; + * }; + * + * func = _.bind(func, { 'name': 'moe' }, 'hi'); + * func(); + * // => 'hi moe' + */ + function bind(func, thisArg) { + // use `Function#bind` if it exists and is fast + // (in V8 `Function#bind` is slower except when partially applied) + return isBindFast || (nativeBind && arguments.length > 2) + ? nativeBind.call.apply(nativeBind, arguments) + : createBound(func, thisArg, slice.call(arguments, 2)); + } + + /** + * Binds methods on `object` to `object`, overwriting the existing method. + * If no method names are provided, all the function properties of `object` + * will be bound. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object to bind and assign the bound methods to. + * @param {String} [methodName1, methodName2, ...] Method names on the object to bind. + * @returns {Object} Returns `object`. + * @example + * + * var buttonView = { + * 'label': 'lodash', + * 'onClick': function() { alert('clicked: ' + this.label); } + * }; + * + * _.bindAll(buttonView); + * jQuery('#lodash_button').on('click', buttonView.onClick); + * // => When the button is clicked, `this.label` will have the correct value + */ + function bindAll(object) { + var funcs = arguments, + index = funcs.length > 1 ? 0 : (funcs = functions(object), -1), + length = funcs.length; + + while (++index < length) { + var key = funcs[index]; + object[key] = bind(object[key], object); + } + return object; + } + + /** + * Creates a function that is the composition of the passed functions, + * where each function consumes the return value of the function that follows. + * In math terms, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`. + * Each function is executed with the `this` binding of the composed function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} [func1, func2, ...] Functions to compose. + * @returns {Function} Returns the new composed function. + * @example + * + * var greet = function(name) { return 'hi: ' + name; }; + * var exclaim = function(statement) { return statement + '!'; }; + * var welcome = _.compose(exclaim, greet); + * welcome('moe'); + * // => 'hi: moe!' + */ + function compose() { + var funcs = arguments; + return function() { + var args = arguments, + length = funcs.length; + + while (length--) { + args = [funcs[length].apply(this, args)]; + } + return args[0]; + }; + } + + /** + * Creates a function that will delay the execution of `func` until after + * `wait` milliseconds have elapsed since the last time it was invoked. Pass + * `true` for `immediate` to cause debounce to invoke `func` on the leading, + * instead of the trailing, edge of the `wait` timeout. Subsequent calls to + * the debounced function will return the result of the last `func` call. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to debounce. + * @param {Number} wait The number of milliseconds to delay. + * @param {Boolean} immediate A flag to indicate execution is on the leading + * edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * var lazyLayout = _.debounce(calculateLayout, 300); + * jQuery(window).on('resize', lazyLayout); + */ + function debounce(func, wait, immediate) { + var args, + result, + thisArg, + timeoutId; + + function delayed() { + timeoutId = null; + if (!immediate) { + result = func.apply(thisArg, args); + } + } + return function() { + var isImmediate = immediate && !timeoutId; + args = arguments; + thisArg = this; + + clearTimeout(timeoutId); + timeoutId = setTimeout(delayed, wait); + + if (isImmediate) { + result = func.apply(thisArg, args); + } + return result; + }; + } + + /** + * Executes the `func` function after `wait` milliseconds. Additional arguments + * will be passed to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to delay. + * @param {Number} wait The number of milliseconds to delay execution. + * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with. + * @returns {Number} Returns the `setTimeout` timeout id. + * @example + * + * var log = _.bind(console.log, console); + * _.delay(log, 1000, 'logged later'); + * // => 'logged later' (Appears after one second.) + */ + function delay(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * Defers executing the `func` function until the current call stack has cleared. + * Additional arguments will be passed to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to defer. + * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with. + * @returns {Number} Returns the `setTimeout` timeout id. + * @example + * + * _.defer(function() { alert('deferred'); }); + * // returns from the function before `alert` is called + */ + function defer(func) { + var args = slice.call(arguments, 1); + return setTimeout(function() { func.apply(undefined, args); }, 1); + } + + /** + * Creates a function that, when called, invokes `object[methodName]` and + * prepends any additional `lateBind` arguments to those passed to the bound + * function. This method differs from `_.bind` by allowing bound functions to + * reference methods that will be redefined or don't yet exist. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object the method belongs to. + * @param {String} methodName The method name. + * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'name': 'moe', + * 'greet': function(greeting) { + * return greeting + ' ' + this.name; + * } + * }; + * + * var func = _.lateBind(object, 'greet', 'hi'); + * func(); + * // => 'hi moe' + * + * object.greet = function(greeting) { + * return greeting + ', ' + this.name + '!'; + * }; + * + * func(); + * // => 'hi, moe!' + */ + function lateBind(object, methodName) { + return createBound(methodName, object, slice.call(arguments, 2)); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * passed, it will be used to determine the cache key for storing the result + * based on the arguments passed to the memoized function. By default, the first + * argument passed to the memoized function is used as the cache key. The `func` + * is executed with the `this` binding of the memoized function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] A function used to resolve the cache key. + * @returns {Function} Returns the new memoizing function. + * @example + * + * var fibonacci = _.memoize(function(n) { + * return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); + * }); + */ + function memoize(func, resolver) { + var cache = {}; + return function() { + var key = resolver ? resolver.apply(this, arguments) : arguments[0]; + return hasOwnProperty.call(cache, key) + ? cache[key] + : (cache[key] = func.apply(this, arguments)); + }; + } + + /** + * Creates a function that is restricted to execute `func` once. Repeat calls to + * the function will return the value of the first call. The `func` is executed + * with the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // Application is only created once. + */ + function once(func) { + var result, + ran = false; + + return function() { + if (ran) { + return result; + } + ran = true; + result = func.apply(this, arguments); + + // clear the `func` variable so the function may be garbage collected + func = null; + return result; + }; + } + + /** + * Creates a function that, when called, invokes `func` with any additional + * `partial` arguments prepended to those passed to the new function. This + * method is similar to `bind`, except it does **not** alter the `this` binding. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to partially apply arguments to. + * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * var greet = function(greeting, name) { return greeting + ': ' + name; }; + * var hi = _.partial(greet, 'hi'); + * hi('moe'); + * // => 'hi: moe' + */ + function partial(func) { + return createBound(func, slice.call(arguments, 1)); + } + + /** + * Creates a function that, when executed, will only call the `func` + * function at most once per every `wait` milliseconds. If the throttled + * function is invoked more than once during the `wait` timeout, `func` will + * also be called on the trailing edge of the timeout. Subsequent calls to the + * throttled function will return the result of the last `func` call. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to throttle. + * @param {Number} wait The number of milliseconds to throttle executions to. + * @returns {Function} Returns the new throttled function. + * @example + * + * var throttled = _.throttle(updatePosition, 100); + * jQuery(window).on('scroll', throttled); + */ + function throttle(func, wait) { + var args, + result, + thisArg, + timeoutId, + lastCalled = 0; + + function trailingCall() { + lastCalled = new Date; + timeoutId = null; + result = func.apply(thisArg, args); + } + return function() { + var now = new Date, + remaining = wait - (now - lastCalled); + + args = arguments; + thisArg = this; + + if (remaining <= 0) { + clearTimeout(timeoutId); + lastCalled = now; + result = func.apply(thisArg, args); + } + else if (!timeoutId) { + timeoutId = setTimeout(trailingCall, remaining); + } + return result; + }; + } + + /** + * Creates a function that passes `value` to the `wrapper` function as its + * first argument. Additional arguments passed to the function are appended + * to those passed to the `wrapper` function. The `wrapper` is executed with + * the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Mixed} value The value to wrap. + * @param {Function} wrapper The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var hello = function(name) { return 'hello ' + name; }; + * hello = _.wrap(hello, function(func) { + * return 'before, ' + func('moe') + ', after'; + * }); + * hello(); + * // => 'before, hello moe, after' + */ + function wrap(value, wrapper) { + return function() { + var args = [value]; + push.apply(args, arguments); + return wrapper.apply(this, args); + }; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their + * corresponding HTML entities. + * + * @static + * @memberOf _ + * @category Utilities + * @param {String} string The string to escape. + * @returns {String} Returns the escaped string. + * @example + * + * _.escape('Moe, Larry & Curly'); + * // => "Moe, Larry & Curly" + */ + function escape(string) { + return string == null ? '' : (string + '').replace(reUnescapedHtml, escapeHtmlChar); + } + + /** + * This function returns the first argument passed to it. + * + * Note: It is used throughout Lo-Dash as a default callback. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Mixed} value Any value. + * @returns {Mixed} Returns `value`. + * @example + * + * var moe = { 'name': 'moe' }; + * moe === _.identity(moe); + * // => true + */ + function identity(value) { + return value; + } + + /** + * Adds functions properties of `object` to the `lodash` function and chainable + * wrapper. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Object} object The object of function properties to add to `lodash`. + * @example + * + * _.mixin({ + * 'capitalize': function(string) { + * return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase(); + * } + * }); + * + * _.capitalize('larry'); + * // => 'Larry' + * + * _('curly').capitalize(); + * // => 'Curly' + */ + function mixin(object) { + forEach(functions(object), function(methodName) { + var func = lodash[methodName] = object[methodName]; + + lodash.prototype[methodName] = function() { + var args = [this.__wrapped__]; + push.apply(args, arguments); + + var result = func.apply(lodash, args); + if (this.__chain__) { + result = new lodash(result); + result.__chain__ = true; + } + return result; + }; + }); + } + + /** + * Reverts the '_' variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @memberOf _ + * @category Utilities + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + window._ = oldDash; + return this; + } + + /** + * Produces a random number between `min` and `max` (inclusive). If only one + * argument is passed, a number between `0` and the given number will be returned. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Number} [min=0] The minimum possible value. + * @param {Number} [max=1] The maximum possible value. + * @returns {Number} Returns a random number. + * @example + * + * _.random(0, 5); + * // => a number between 1 and 5 + * + * _.random(5); + * // => also a number between 1 and 5 + */ + function random(min, max) { + if (min == null && max == null) { + max = 1; + } + min = +min || 0; + if (max == null) { + max = min; + min = 0; + } + return min + floor(nativeRandom() * ((+max || 0) - min + 1)); + } + + /** + * Resolves the value of `property` on `object`. If `property` is a function + * it will be invoked and its result returned, else the property value is + * returned. If `object` is falsey, then `null` is returned. + * + * @deprecated + * @static + * @memberOf _ + * @category Utilities + * @param {Object} object The object to inspect. + * @param {String} property The property to get the value of. + * @returns {Mixed} Returns the resolved value. + * @example + * + * var object = { + * 'cheese': 'crumpets', + * 'stuff': function() { + * return 'nonsense'; + * } + * }; + * + * _.result(object, 'cheese'); + * // => 'crumpets' + * + * _.result(object, 'stuff'); + * // => 'nonsense' + */ + function result(object, property) { + // based on Backbone's private `getValue` function + // https://github.com/documentcloud/backbone/blob/0.9.2/backbone.js#L1419-1424 + var value = object ? object[property] : null; + return isFunction(value) ? object[property]() : value; + } + + /** + * A micro-templating method that handles arbitrary delimiters, preserves + * whitespace, and correctly escapes quotes within interpolated code. + * + * Note: In the development build `_.template` utilizes sourceURLs for easier + * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl + * + * Note: Lo-Dash may be used in Chrome extensions by either creating a `lodash csp` + * build and avoiding `_.template` use, or loading Lo-Dash in a sandboxed page. + * See http://developer.chrome.com/trunk/extensions/sandboxingEval.html + * + * @static + * @memberOf _ + * @category Utilities + * @param {String} text The template text. + * @param {Obect} data The data object used to populate the text. + * @param {Object} options The options object. + * escape - The "escape" delimiter regexp. + * evaluate - The "evaluate" delimiter regexp. + * interpolate - The "interpolate" delimiter regexp. + * sourceURL - The sourceURL of the template's compiled source. + * variable - The data object variable name. + * + * @returns {Function|String} Returns a compiled function when no `data` object + * is given, else it returns the interpolated text. + * @example + * + * // using a compiled template + * var compiled = _.template('hello <%= name %>'); + * compiled({ 'name': 'moe' }); + * // => 'hello moe' + * + * var list = '<% _.forEach(people, function(name) { %>
          1. <%= name %>
          2. <% }); %>'; + * _.template(list, { 'people': ['moe', 'larry', 'curly'] }); + * // => '
          3. moe
          4. larry
          5. curly
          6. ' + * + * // using the "escape" delimiter to escape HTML in data property values + * _.template('<%- value %>', { 'value': '\n```\n\nUsing [npm](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n```\n\n**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require('lodash')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n 'paths': {\n 'underscore': 'path/to/lodash'\n }\n},\n['underscore'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Resolved Underscore.js issues\n\n * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)]\n * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)]\n * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)]\n * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)]\n * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)]\n * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)]\n\n## Release Notes\n\n### v0.9.2\n\n * Added `fromIndex` argument to `_.contains`\n * Added `moduleId` build option\n * Added Closure Compiler *“simple”* optimizations to the build process\n * Added support for strings in `_.max` and `_.min`\n * Added support for ES6 template delimiters to `_.template`\n * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs\n * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n", + "readmeFilename": "README.md", + "_id": "lodash@0.9.2", + "_from": "lodash@~0.9.2" +} diff --git a/static/js/node_modules/grunt/node_modules/minimatch/.npmignore b/static/js/node_modules/grunt/node_modules/minimatch/.npmignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/static/js/node_modules/grunt/node_modules/minimatch/LICENSE b/static/js/node_modules/grunt/node_modules/minimatch/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/minimatch/README.md b/static/js/node_modules/grunt/node_modules/minimatch/README.md new file mode 100644 index 0000000..978268e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/README.md @@ -0,0 +1,218 @@ +# minimatch + +A minimal matching utility. + +[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch) + + +This is the matching library used internally by npm. + +Eventually, it will replace the C binding in node-glob. + +It works by converting glob expressions into JavaScript `RegExp` +objects. + +## Usage + +```javascript +var minimatch = require("minimatch") + +minimatch("bar.foo", "*.foo") // true! +minimatch("bar.foo", "*.bar") // false! +minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy! +``` + +## Features + +Supports these glob features: + +* Brace Expansion +* Extended glob matching +* "Globstar" `**` matching + +See: + +* `man sh` +* `man bash` +* `man 3 fnmatch` +* `man 5 gitignore` + +## Minimatch Class + +Create a minimatch object by instanting the `minimatch.Minimatch` class. + +```javascript +var Minimatch = require("minimatch").Minimatch +var mm = new Minimatch(pattern, options) +``` + +### Properties + +* `pattern` The original pattern the minimatch object represents. +* `options` The options supplied to the constructor. +* `set` A 2-dimensional array of regexp or string expressions. + Each row in the + array corresponds to a brace-expanded pattern. Each item in the row + corresponds to a single path-part. For example, the pattern + `{a,b/c}/d` would expand to a set of patterns like: + + [ [ a, d ] + , [ b, c, d ] ] + + If a portion of the pattern doesn't have any "magic" in it + (that is, it's something like `"foo"` rather than `fo*o?`), then it + will be left as a string rather than converted to a regular + expression. + +* `regexp` Created by the `makeRe` method. A single regular expression + expressing the entire pattern. This is useful in cases where you wish + to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled. +* `negate` True if the pattern is negated. +* `comment` True if the pattern is a comment. +* `empty` True if the pattern is `""`. + +### Methods + +* `makeRe` Generate the `regexp` member if necessary, and return it. + Will return `false` if the pattern is invalid. +* `match(fname)` Return true if the filename matches the pattern, or + false otherwise. +* `matchOne(fileArray, patternArray, partial)` Take a `/`-split + filename, and match it against a single row in the `regExpSet`. This + method is mainly for internal use, but is exposed so that it can be + used by a glob-walker that needs to avoid excessive filesystem calls. + +All other methods are internal, and will be called as necessary. + +## Functions + +The top-level exported function has a `cache` property, which is an LRU +cache set to store 100 items. So, calling these methods repeatedly +with the same pattern and options will use the same Minimatch object, +saving the cost of parsing it multiple times. + +### minimatch(path, pattern, options) + +Main export. Tests a path against the pattern using the options. + +```javascript +var isJS = minimatch(file, "*.js", { matchBase: true }) +``` + +### minimatch.filter(pattern, options) + +Returns a function that tests its +supplied argument, suitable for use with `Array.filter`. Example: + +```javascript +var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true})) +``` + +### minimatch.match(list, pattern, options) + +Match against the list of +files, in the style of fnmatch or glob. If nothing is matched, and +options.nonull is set, then return a list containing the pattern itself. + +```javascript +var javascripts = minimatch.match(fileList, "*.js", {matchBase: true})) +``` + +### minimatch.makeRe(pattern, options) + +Make a regular expression object from the pattern. + +## Options + +All options are `false` by default. + +### debug + +Dump a ton of stuff to stderr. + +### nobrace + +Do not expand `{a,b}` and `{1..3}` brace sets. + +### noglobstar + +Disable `**` matching against multiple folder names. + +### dot + +Allow patterns to match filenames starting with a period, even if +the pattern does not explicitly have a period in that spot. + +Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot` +is set. + +### noext + +Disable "extglob" style patterns like `+(a|b)`. + +### nocase + +Perform a case-insensitive match. + +### nonull + +When a match is not found by `minimatch.match`, return a list containing +the pattern itself. When set, an empty list is returned if there are +no matches. + +### matchBase + +If set, then patterns without slashes will be matched +against the basename of the path if it contains slashes. For example, +`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. + +### nocomment + +Suppress the behavior of treating `#` at the start of a pattern as a +comment. + +### nonegate + +Suppress the behavior of treating a leading `!` character as negation. + +### flipNegate + +Returns from negate expressions the same as if they were not negated. +(Ie, true on a hit, false on a miss.) + + +## Comparisons to other fnmatch/glob implementations + +While strict compliance with the existing standards is a worthwhile +goal, some discrepancies exist between minimatch and other +implementations, and are intentional. + +If the pattern starts with a `!` character, then it is negated. Set the +`nonegate` flag to suppress this behavior, and treat leading `!` +characters normally. This is perhaps relevant if you wish to start the +pattern with a negative extglob pattern like `!(a|B)`. Multiple `!` +characters at the start of a pattern will negate the pattern multiple +times. + +If a pattern starts with `#`, then it is treated as a comment, and +will not match anything. Use `\#` to match a literal `#` at the +start of a line, or set the `nocomment` flag to suppress this behavior. + +The double-star character `**` is supported by default, unless the +`noglobstar` flag is set. This is supported in the manner of bsdglob +and bash 4.1, where `**` only has special significance if it is the only +thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but +`a/**b` will not. + +If an escaped pattern has no matches, and the `nonull` flag is set, +then minimatch.match returns the pattern as-provided, rather than +interpreting the character escapes. For example, +`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than +`"*a?"`. This is akin to setting the `nullglob` option in bash, except +that it does not resolve escaped pattern characters. + +If brace expansion is not disabled, then it is performed before any +other interpretation of the glob pattern. Thus, a pattern like +`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded +**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are +checked for validity. Since those two are valid, matching proceeds. diff --git a/static/js/node_modules/grunt/node_modules/minimatch/minimatch.js b/static/js/node_modules/grunt/node_modules/minimatch/minimatch.js new file mode 100644 index 0000000..c633f89 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/minimatch.js @@ -0,0 +1,1055 @@ +;(function (require, exports, module, platform) { + +if (module) module.exports = minimatch +else exports.minimatch = minimatch + +if (!require) { + require = function (id) { + switch (id) { + case "sigmund": return function sigmund (obj) { + return JSON.stringify(obj) + } + case "path": return { basename: function (f) { + f = f.split(/[\/\\]/) + var e = f.pop() + if (!e) e = f.pop() + return e + }} + case "lru-cache": return function LRUCache () { + // not quite an LRU, but still space-limited. + var cache = {} + var cnt = 0 + this.set = function (k, v) { + cnt ++ + if (cnt >= 100) cache = {} + cache[k] = v + } + this.get = function (k) { return cache[k] } + } + } + } +} + +minimatch.Minimatch = Minimatch + +var LRU = require("lru-cache") + , cache = minimatch.cache = new LRU({max: 100}) + , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} + , sigmund = require("sigmund") + +var path = require("path") + // any single thing other than / + // don't need to escape / when using new RegExp() + , qmark = "[^/]" + + // * => any number of characters + , star = qmark + "*?" + + // ** when dots are allowed. Anything goes, except .. and . + // not (^ or / followed by one or two dots followed by $ or /), + // followed by anything, any number of times. + , twoStarDot = "(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?" + + // not a ^ or / followed by a dot, + // followed by anything, any number of times. + , twoStarNoDot = "(?:(?!(?:\\\/|^)\\.).)*?" + + // characters that need to be escaped in RegExp. + , reSpecials = charSet("().*{}+?[]^$\\!") + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split("").reduce(function (set, c) { + set[c] = true + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/ + +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + a = a || {} + b = b || {} + var t = {} + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + return t +} + +minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return minimatch + + var orig = minimatch + + var m = function minimatch (p, pattern, options) { + return orig.minimatch(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + + return m +} + +Minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return Minimatch + return minimatch.defaults(def).Minimatch +} + + +function minimatch (p, pattern, options) { + if (typeof pattern !== "string") { + throw new TypeError("glob pattern string required") + } + + if (!options) options = {} + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === "#") { + return false + } + + // "" only matches "" + if (pattern.trim() === "") return p === "" + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options, cache) + } + + if (typeof pattern !== "string") { + throw new TypeError("glob pattern string required") + } + + if (!options) options = {} + pattern = pattern.trim() + + // windows: need to use /, not \ + // On other platforms, \ is a valid (albeit bad) filename char. + if (platform === "win32") { + pattern = pattern.split("\\").join("/") + } + + // lru storage. + // these things aren't particularly big, but walking down the string + // and turning it into a regexp can get pretty costly. + var cacheKey = pattern + "\n" + sigmund(options) + var cached = minimatch.cache.get(cacheKey) + if (cached) return cached + minimatch.cache.set(cacheKey, this) + + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + + // make the set of regexps etc. + this.make() +} + +Minimatch.prototype.debug = function() {} + +Minimatch.prototype.make = make +function make () { + // don't do it more than once. + if (this._made) return + + var pattern = this.pattern + var options = this.options + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === "#") { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + + // step 1: figure out negation, etc. + this.parseNegate() + + // step 2: expand braces + var set = this.globSet = this.braceExpand() + + if (options.debug) this.debug = console.error + + this.debug(this.pattern, set) + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) + + this.debug(this.pattern, set) + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) + + this.debug(this.pattern, set) + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return -1 === s.indexOf(false) + }) + + this.debug(this.pattern, set) + + this.set = set +} + +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + , negate = false + , options = this.options + , negateOffset = 0 + + if (options.nonegate) return + + for ( var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === "!" + ; i ++) { + negate = !negate + negateOffset ++ + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return new Minimatch(pattern, options).braceExpand() +} + +Minimatch.prototype.braceExpand = braceExpand +function braceExpand (pattern, options) { + options = options || this.options + pattern = typeof pattern === "undefined" + ? this.pattern : pattern + + if (typeof pattern === "undefined") { + throw new Error("undefined pattern") + } + + if (options.nobrace || + !pattern.match(/\{.*\}/)) { + // shortcut. no need to expand. + return [pattern] + } + + var escaping = false + + // examples and comments refer to this crazy pattern: + // a{b,c{d,e},{f,g}h}x{y,z} + // expected: + // abxy + // abxz + // acdxy + // acdxz + // acexy + // acexz + // afhxy + // afhxz + // aghxy + // aghxz + + // everything before the first \{ is just a prefix. + // So, we pluck that off, and work with the rest, + // and then prepend it to everything we find. + if (pattern.charAt(0) !== "{") { + this.debug(pattern) + var prefix = null + for (var i = 0, l = pattern.length; i < l; i ++) { + var c = pattern.charAt(i) + this.debug(i, c) + if (c === "\\") { + escaping = !escaping + } else if (c === "{" && !escaping) { + prefix = pattern.substr(0, i) + break + } + } + + // actually no sets, all { were escaped. + if (prefix === null) { + this.debug("no sets") + return [pattern] + } + + var tail = braceExpand.call(this, pattern.substr(i), options) + return tail.map(function (t) { + return prefix + t + }) + } + + // now we have something like: + // {b,c{d,e},{f,g}h}x{y,z} + // walk through the set, expanding each part, until + // the set ends. then, we'll expand the suffix. + // If the set only has a single member, then'll put the {} back + + // first, handle numeric sets, since they're easier + var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/) + if (numset) { + this.debug("numset", numset[1], numset[2]) + var suf = braceExpand.call(this, pattern.substr(numset[0].length), options) + , start = +numset[1] + , end = +numset[2] + , inc = start > end ? -1 : 1 + , set = [] + for (var i = start; i != (end + inc); i += inc) { + // append all the suffixes + for (var ii = 0, ll = suf.length; ii < ll; ii ++) { + set.push(i + suf[ii]) + } + } + return set + } + + // ok, walk through the set + // We hope, somewhat optimistically, that there + // will be a } at the end. + // If the closing brace isn't found, then the pattern is + // interpreted as braceExpand("\\" + pattern) so that + // the leading \{ will be interpreted literally. + var i = 1 // skip the \{ + , depth = 1 + , set = [] + , member = "" + , sawEnd = false + , escaping = false + + function addMember () { + set.push(member) + member = "" + } + + this.debug("Entering for") + FOR: for (i = 1, l = pattern.length; i < l; i ++) { + var c = pattern.charAt(i) + this.debug("", i, c) + + if (escaping) { + escaping = false + member += "\\" + c + } else { + switch (c) { + case "\\": + escaping = true + continue + + case "{": + depth ++ + member += "{" + continue + + case "}": + depth -- + // if this closes the actual set, then we're done + if (depth === 0) { + addMember() + // pluck off the close-brace + i ++ + break FOR + } else { + member += c + continue + } + + case ",": + if (depth === 1) { + addMember() + } else { + member += c + } + continue + + default: + member += c + continue + } // switch + } // else + } // for + + // now we've either finished the set, and the suffix is + // pattern.substr(i), or we have *not* closed the set, + // and need to escape the leading brace + if (depth !== 0) { + this.debug("didn't close", pattern) + return braceExpand.call(this, "\\" + pattern, options) + } + + // x{y,z} -> ["xy", "xz"] + this.debug("set", set) + this.debug("suffix", pattern.substr(i)) + var suf = braceExpand.call(this, pattern.substr(i), options) + // ["b", "c{d,e}","{f,g}h"] -> + // [["b"], ["cd", "ce"], ["fh", "gh"]] + var addBraces = set.length === 1 + this.debug("set pre-expanded", set) + set = set.map(function (p) { + return braceExpand.call(this, p, options) + }, this) + this.debug("set expanded", set) + + + // [["b"], ["cd", "ce"], ["fh", "gh"]] -> + // ["b", "cd", "ce", "fh", "gh"] + set = set.reduce(function (l, r) { + return l.concat(r) + }) + + if (addBraces) { + set = set.map(function (s) { + return "{" + s + "}" + }) + } + + // now attach the suffixes. + var ret = [] + for (var i = 0, l = set.length; i < l; i ++) { + for (var ii = 0, ll = suf.length; ii < ll; ii ++) { + ret.push(set[i] + suf[ii]) + } + } + return ret +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + var options = this.options + + // shortcuts + if (!options.noglobstar && pattern === "**") return GLOBSTAR + if (pattern === "") return "" + + var re = "" + , hasMagic = !!options.nocase + , escaping = false + // ? => one single character + , patternListStack = [] + , plType + , stateChar + , inClass = false + , reClassStart = -1 + , classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + , patternStart = pattern.charAt(0) === "." ? "" // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? "(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))" + : "(?!\\.)" + , self = this + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case "*": + re += star + hasMagic = true + break + case "?": + re += qmark + hasMagic = true + break + default: + re += "\\"+stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } + + for ( var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i ++ ) { + + this.debug("%s\t%s %s %j", pattern, i, re, c) + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += "\\" + c + escaping = false + continue + } + + SWITCH: switch (c) { + case "/": + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + + case "\\": + clearStateChar() + escaping = true + continue + + // the various stateChar values + // for the "extglob" stuff. + case "?": + case "*": + case "+": + case "@": + case "!": + this.debug("%s\t%s %s %j <-- stateChar", pattern, i, re, c) + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === "!" && i === classStart + 1) c = "^" + re += c + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + + case "(": + if (inClass) { + re += "(" + continue + } + + if (!stateChar) { + re += "\\(" + continue + } + + plType = stateChar + patternListStack.push({ type: plType + , start: i - 1 + , reStart: re.length }) + // negation is (?:(?!js)[^/]*) + re += stateChar === "!" ? "(?:(?!" : "(?:" + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue + + case ")": + if (inClass || !patternListStack.length) { + re += "\\)" + continue + } + + clearStateChar() + hasMagic = true + re += ")" + plType = patternListStack.pop().type + // negation is (?:(?!js)[^/]*) + // The others are (?:) + switch (plType) { + case "!": + re += "[^/]*?)" + break + case "?": + case "+": + case "*": re += plType + case "@": break // the default anyway + } + continue + + case "|": + if (inClass || !patternListStack.length || escaping) { + re += "\\|" + escaping = false + continue + } + + clearStateChar() + re += "|" + continue + + // these are mostly the same in regexp and glob + case "[": + // swallow any state-tracking char before the [ + clearStateChar() + + if (inClass) { + re += "\\" + c + continue + } + + inClass = true + classStart = i + reClassStart = re.length + re += c + continue + + case "]": + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += "\\" + c + escaping = false + continue + } + + // finish up the class. + hasMagic = true + inClass = false + re += c + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar() + + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === "^" && inClass)) { + re += "\\" + } + + re += c + + } // switch + } // for + + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + var cs = pattern.substr(classStart + 1) + , sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + "\\[" + sp[0] + hasMagic = hasMagic || sp[1] + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + var pl + while (pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + 3) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = "\\" + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + "|" + }) + + this.debug("tail=%j\n %s", tail, tail) + var t = pl.type === "*" ? star + : pl.type === "?" ? qmark + : "\\" + pl.type + + hasMagic = true + re = re.slice(0, pl.reStart) + + t + "\\(" + + tail + } + + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += "\\\\" + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case ".": + case "[": + case "(": addPatternStart = true + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== "" && hasMagic) re = "(?=.)" + re + + if (addPatternStart) re = patternStart + re + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [ re, hasMagic ] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? "i" : "" + , regExp = new RegExp("^" + re + "$", flags) + + regExp._glob = pattern + regExp._src = re + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} + +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) return this.regexp = false + var options = this.options + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + , flags = options.nocase ? "i" : "" + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === "string") ? regExpEscape(p) + : p._src + }).join("\\\/") + }).join("|") + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = "^(?:" + re + ")$" + + // can match anything, as long as it's not this. + if (this.negate) re = "^(?!" + re + ").*$" + + try { + return this.regexp = new RegExp(re, flags) + } catch (ex) { + return this.regexp = false + } +} + +minimatch.match = function (list, pattern, options) { + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (options.nonull && !list.length) { + list.push(pattern) + } + return list +} + +Minimatch.prototype.match = match +function match (f, partial) { + this.debug("match", f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === "" + + if (f === "/" && partial) return true + + var options = this.options + + // windows: need to use /, not \ + // On other platforms, \ is a valid (albeit bad) filename char. + if (platform === "win32") { + f = f.split("\\").join("/") + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, "split", f) + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set + this.debug(this.pattern, "set", set) + + var splitFile = path.basename(f.join("/")).split("/") + + for (var i = 0, l = set.length; i < l; i ++) { + var pattern = set[i], file = f + if (options.matchBase && pattern.length === 1) { + file = splitFile + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options + + this.debug("matchOne", + { "this": this + , file: file + , pattern: pattern }) + + this.debug("matchOne", file.length, pattern.length) + + for ( var fi = 0 + , pi = 0 + , fl = file.length + , pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi ++, pi ++ ) { + + this.debug("matchOne loop") + var p = pattern[pi] + , f = file[fi] + + this.debug(pattern, p, f) + + // should be impossible. + // some invalid regexp stuff in the set. + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + , pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for ( ; fi < fl; fi ++) { + if (file[fi] === "." || file[fi] === ".." || + (!options.dot && file[fi].charAt(0) === ".")) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + WHILE: while (fr < fl) { + var swallowee = file[fr] + + this.debug('\nglobstar while', + file, fr, pattern, pr, swallowee) + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === "." || swallowee === ".." || + (!options.dot && swallowee.charAt(0) === ".")) { + this.debug("dot detected!", file, fr, pattern, pr) + break WHILE + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr ++ + } + } + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + if (partial) { + // ran out of file + this.debug("\n>>> no match, partial?", file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === "string") { + if (options.nocase) { + hit = f.toLowerCase() === p.toLowerCase() + } else { + hit = f === p + } + this.debug("string match", p, f, hit) + } else { + hit = f.match(p) + this.debug("pattern match", p, f, hit) + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + var emptyFileEnd = (fi === fl - 1) && (file[fi] === "") + return emptyFileEnd + } + + // should be unreachable. + throw new Error("wtf?") +} + + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, "$1") +} + + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") +} + +})( typeof require === "function" ? require : null, + this, + typeof module === "object" ? module : null, + typeof process === "object" ? process.platform : "win32" + ) diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore new file mode 100644 index 0000000..07e6e47 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore @@ -0,0 +1 @@ +/node_modules diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS new file mode 100644 index 0000000..4a0bc50 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS @@ -0,0 +1,14 @@ +# Authors, sorted by whether or not they are me +Isaac Z. Schlueter +Brian Cottingham +Carlos Brito Lage +Jesse Dailey +Kevin O'Hara +Marco Rogers +Mark Cavage +Marko Mikulicic +Nathan Rajlich +Satheesh Natesan +Trent Mick +ashleybrener +n4kz diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md new file mode 100644 index 0000000..03ee0f9 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md @@ -0,0 +1,97 @@ +# lru cache + +A cache object that deletes the least-recently-used items. + +## Usage: + +```javascript +var LRU = require("lru-cache") + , options = { max: 500 + , length: function (n) { return n * 2 } + , dispose: function (key, n) { n.close() } + , maxAge: 1000 * 60 * 60 } + , cache = LRU(options) + , otherCache = LRU(50) // sets just the max size + +cache.set("key", "value") +cache.get("key") // "value" + +cache.reset() // empty the cache +``` + +If you put more stuff in it, then items will fall out. + +If you try to put an oversized thing in it, then it'll fall out right +away. + +## Options + +* `max` The maximum size of the cache, checked by applying the length + function to all values in the cache. Not setting this is kind of + silly, since that's the whole purpose of this lib, but it defaults + to `Infinity`. +* `maxAge` Maximum age in ms. Items are not pro-actively pruned out + as they age, but if you try to get an item that is too old, it'll + drop it and return undefined instead of giving it to you. +* `length` Function that is used to calculate the length of stored + items. If you're storing strings or buffers, then you probably want + to do something like `function(n){return n.length}`. The default is + `function(n){return 1}`, which is fine if you want to store `n` + like-sized things. +* `dispose` Function that is called on items when they are dropped + from the cache. This can be handy if you want to close file + descriptors or do other cleanup tasks when items are no longer + accessible. Called with `key, value`. It's called *before* + actually removing the item from the internal cache, so if you want + to immediately put it back in, you'll have to do that in a + `nextTick` or `setTimeout` callback or it won't do anything. +* `stale` By default, if you set a `maxAge`, it'll only actually pull + stale items out of the cache when you `get(key)`. (That is, it's + not pre-emptively doing a `setTimeout` or anything.) If you set + `stale:true`, it'll return the stale value before deleting it. If + you don't set this, then it'll return `undefined` when you try to + get a stale entry, as if it had already been deleted. + +## API + +* `set(key, value)` +* `get(key) => value` + + Both of these will update the "recently used"-ness of the key. + They do what you think. + +* `peek(key)` + + Returns the key value (or `undefined` if not found) without + updating the "recently used"-ness of the key. + + (If you find yourself using this a lot, you *might* be using the + wrong sort of data structure, but there are some use cases where + it's handy.) + +* `del(key)` + + Deletes a key out of the cache. + +* `reset()` + + Clear the cache entirely, throwing away all values. + +* `has(key)` + + Check if a key is in the cache, without updating the recent-ness + or deleting it for being stale. + +* `forEach(function(value,key,cache), [thisp])` + + Just like `Array.prototype.forEach`. Iterates over all the keys + in the cache, in order of recent-ness. (Ie, more recently used + items are iterated over first.) + +* `keys()` + + Return an array of the keys in the cache. + +* `values()` + + Return an array of the values in the cache. diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js new file mode 100644 index 0000000..d1d1381 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js @@ -0,0 +1,252 @@ +;(function () { // closure for web browsers + +if (typeof module === 'object' && module.exports) { + module.exports = LRUCache +} else { + // just set the global for non-node platforms. + this.LRUCache = LRUCache +} + +function hOP (obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key) +} + +function naiveLength () { return 1 } + +function LRUCache (options) { + if (!(this instanceof LRUCache)) + return new LRUCache(options) + + if (typeof options === 'number') + options = { max: options } + + if (!options) + options = {} + + this._max = options.max + // Kind of weird to have a default max of Infinity, but oh well. + if (!this._max || !(typeof this._max === "number") || this._max <= 0 ) + this._max = Infinity + + this._lengthCalculator = options.length || naiveLength + if (typeof this._lengthCalculator !== "function") + this._lengthCalculator = naiveLength + + this._allowStale = options.stale || false + this._maxAge = options.maxAge || null + this._dispose = options.dispose + this.reset() +} + +// resize the cache when the max changes. +Object.defineProperty(LRUCache.prototype, "max", + { set : function (mL) { + if (!mL || !(typeof mL === "number") || mL <= 0 ) mL = Infinity + this._max = mL + if (this._length > this._max) trim(this) + } + , get : function () { return this._max } + , enumerable : true + }) + +// resize the cache when the lengthCalculator changes. +Object.defineProperty(LRUCache.prototype, "lengthCalculator", + { set : function (lC) { + if (typeof lC !== "function") { + this._lengthCalculator = naiveLength + this._length = this._itemCount + for (var key in this._cache) { + this._cache[key].length = 1 + } + } else { + this._lengthCalculator = lC + this._length = 0 + for (var key in this._cache) { + this._cache[key].length = this._lengthCalculator(this._cache[key].value) + this._length += this._cache[key].length + } + } + + if (this._length > this._max) trim(this) + } + , get : function () { return this._lengthCalculator } + , enumerable : true + }) + +Object.defineProperty(LRUCache.prototype, "length", + { get : function () { return this._length } + , enumerable : true + }) + + +Object.defineProperty(LRUCache.prototype, "itemCount", + { get : function () { return this._itemCount } + , enumerable : true + }) + +LRUCache.prototype.forEach = function (fn, thisp) { + thisp = thisp || this + var i = 0; + for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) { + i++ + var hit = this._lruList[k] + if (this._maxAge && (Date.now() - hit.now > this._maxAge)) { + del(this, hit) + if (!this._allowStale) hit = undefined + } + if (hit) { + fn.call(thisp, hit.value, hit.key, this) + } + } +} + +LRUCache.prototype.keys = function () { + var keys = new Array(this._itemCount) + var i = 0 + for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) { + var hit = this._lruList[k] + keys[i++] = hit.key + } + return keys +} + +LRUCache.prototype.values = function () { + var values = new Array(this._itemCount) + var i = 0 + for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) { + var hit = this._lruList[k] + values[i++] = hit.value + } + return values +} + +LRUCache.prototype.reset = function () { + if (this._dispose && this._cache) { + for (var k in this._cache) { + this._dispose(k, this._cache[k].value) + } + } + + this._cache = Object.create(null) // hash of items by key + this._lruList = Object.create(null) // list of items in order of use recency + this._mru = 0 // most recently used + this._lru = 0 // least recently used + this._length = 0 // number of items in the list + this._itemCount = 0 +} + +// Provided for debugging/dev purposes only. No promises whatsoever that +// this API stays stable. +LRUCache.prototype.dump = function () { + return this._cache +} + +LRUCache.prototype.dumpLru = function () { + return this._lruList +} + +LRUCache.prototype.set = function (key, value) { + if (hOP(this._cache, key)) { + // dispose of the old one before overwriting + if (this._dispose) this._dispose(key, this._cache[key].value) + if (this._maxAge) this._cache[key].now = Date.now() + this._cache[key].value = value + this.get(key) + return true + } + + var len = this._lengthCalculator(value) + var age = this._maxAge ? Date.now() : 0 + var hit = new Entry(key, value, this._mru++, len, age) + + // oversized objects fall out of cache automatically. + if (hit.length > this._max) { + if (this._dispose) this._dispose(key, value) + return false + } + + this._length += hit.length + this._lruList[hit.lu] = this._cache[key] = hit + this._itemCount ++ + + if (this._length > this._max) trim(this) + return true +} + +LRUCache.prototype.has = function (key) { + if (!hOP(this._cache, key)) return false + var hit = this._cache[key] + if (this._maxAge && (Date.now() - hit.now > this._maxAge)) { + return false + } + return true +} + +LRUCache.prototype.get = function (key) { + return get(this, key, true) +} + +LRUCache.prototype.peek = function (key) { + return get(this, key, false) +} + +LRUCache.prototype.pop = function () { + var hit = this._lruList[this._lru] + del(this, hit) + return hit || null +} + +LRUCache.prototype.del = function (key) { + del(this, this._cache[key]) +} + +function get (self, key, doUse) { + var hit = self._cache[key] + if (hit) { + if (self._maxAge && (Date.now() - hit.now > self._maxAge)) { + del(self, hit) + if (!self._allowStale) hit = undefined + } else { + if (doUse) use(self, hit) + } + if (hit) hit = hit.value + } + return hit +} + +function use (self, hit) { + shiftLU(self, hit) + hit.lu = self._mru ++ + self._lruList[hit.lu] = hit +} + +function trim (self) { + while (self._lru < self._mru && self._length > self._max) + del(self, self._lruList[self._lru]) +} + +function shiftLU (self, hit) { + delete self._lruList[ hit.lu ] + while (self._lru < self._mru && !self._lruList[self._lru]) self._lru ++ +} + +function del (self, hit) { + if (hit) { + if (self._dispose) self._dispose(hit.key, hit.value) + self._length -= hit.length + self._itemCount -- + delete self._cache[ hit.key ] + shiftLU(self, hit) + } +} + +// classy, since V8 prefers predictable objects. +function Entry (key, value, lu, length, now) { + this.key = key + this.value = value + this.lu = lu + this.length = length + this.now = now +} + +})() diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json new file mode 100644 index 0000000..4472725 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json @@ -0,0 +1,33 @@ +{ + "name": "lru-cache", + "description": "A cache object that deletes the least-recently-used items.", + "version": "2.5.0", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me" + }, + "scripts": { + "test": "tap test --gc" + }, + "main": "lib/lru-cache.js", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-lru-cache.git" + }, + "devDependencies": { + "tap": "", + "weak": "" + }, + "license": { + "type": "MIT", + "url": "http://github.com/isaacs/node-lru-cache/raw/master/LICENSE" + }, + "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/node-lru-cache/issues" + }, + "homepage": "https://github.com/isaacs/node-lru-cache", + "_id": "lru-cache@2.5.0", + "_from": "lru-cache@2" +} diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js new file mode 100644 index 0000000..f72697c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js @@ -0,0 +1,369 @@ +var test = require("tap").test + , LRU = require("../") + +test("basic", function (t) { + var cache = new LRU({max: 10}) + cache.set("key", "value") + t.equal(cache.get("key"), "value") + t.equal(cache.get("nada"), undefined) + t.equal(cache.length, 1) + t.equal(cache.max, 10) + t.end() +}) + +test("least recently set", function (t) { + var cache = new LRU(2) + cache.set("a", "A") + cache.set("b", "B") + cache.set("c", "C") + t.equal(cache.get("c"), "C") + t.equal(cache.get("b"), "B") + t.equal(cache.get("a"), undefined) + t.end() +}) + +test("lru recently gotten", function (t) { + var cache = new LRU(2) + cache.set("a", "A") + cache.set("b", "B") + cache.get("a") + cache.set("c", "C") + t.equal(cache.get("c"), "C") + t.equal(cache.get("b"), undefined) + t.equal(cache.get("a"), "A") + t.end() +}) + +test("del", function (t) { + var cache = new LRU(2) + cache.set("a", "A") + cache.del("a") + t.equal(cache.get("a"), undefined) + t.end() +}) + +test("max", function (t) { + var cache = new LRU(3) + + // test changing the max, verify that the LRU items get dropped. + cache.max = 100 + for (var i = 0; i < 100; i ++) cache.set(i, i) + t.equal(cache.length, 100) + for (var i = 0; i < 100; i ++) { + t.equal(cache.get(i), i) + } + cache.max = 3 + t.equal(cache.length, 3) + for (var i = 0; i < 97; i ++) { + t.equal(cache.get(i), undefined) + } + for (var i = 98; i < 100; i ++) { + t.equal(cache.get(i), i) + } + + // now remove the max restriction, and try again. + cache.max = "hello" + for (var i = 0; i < 100; i ++) cache.set(i, i) + t.equal(cache.length, 100) + for (var i = 0; i < 100; i ++) { + t.equal(cache.get(i), i) + } + // should trigger an immediate resize + cache.max = 3 + t.equal(cache.length, 3) + for (var i = 0; i < 97; i ++) { + t.equal(cache.get(i), undefined) + } + for (var i = 98; i < 100; i ++) { + t.equal(cache.get(i), i) + } + t.end() +}) + +test("reset", function (t) { + var cache = new LRU(10) + cache.set("a", "A") + cache.set("b", "B") + cache.reset() + t.equal(cache.length, 0) + t.equal(cache.max, 10) + t.equal(cache.get("a"), undefined) + t.equal(cache.get("b"), undefined) + t.end() +}) + + +// Note: `.dump()` is a debugging tool only. No guarantees are made +// about the format/layout of the response. +test("dump", function (t) { + var cache = new LRU(10) + var d = cache.dump(); + t.equal(Object.keys(d).length, 0, "nothing in dump for empty cache") + cache.set("a", "A") + var d = cache.dump() // { a: { key: "a", value: "A", lu: 0 } } + t.ok(d.a) + t.equal(d.a.key, "a") + t.equal(d.a.value, "A") + t.equal(d.a.lu, 0) + + cache.set("b", "B") + cache.get("b") + d = cache.dump() + t.ok(d.b) + t.equal(d.b.key, "b") + t.equal(d.b.value, "B") + t.equal(d.b.lu, 2) + + t.end() +}) + + +test("basic with weighed length", function (t) { + var cache = new LRU({ + max: 100, + length: function (item) { return item.size } + }) + cache.set("key", {val: "value", size: 50}) + t.equal(cache.get("key").val, "value") + t.equal(cache.get("nada"), undefined) + t.equal(cache.lengthCalculator(cache.get("key")), 50) + t.equal(cache.length, 50) + t.equal(cache.max, 100) + t.end() +}) + + +test("weighed length item too large", function (t) { + var cache = new LRU({ + max: 10, + length: function (item) { return item.size } + }) + t.equal(cache.max, 10) + + // should fall out immediately + cache.set("key", {val: "value", size: 50}) + + t.equal(cache.length, 0) + t.equal(cache.get("key"), undefined) + t.end() +}) + +test("least recently set with weighed length", function (t) { + var cache = new LRU({ + max:8, + length: function (item) { return item.length } + }) + cache.set("a", "A") + cache.set("b", "BB") + cache.set("c", "CCC") + cache.set("d", "DDDD") + t.equal(cache.get("d"), "DDDD") + t.equal(cache.get("c"), "CCC") + t.equal(cache.get("b"), undefined) + t.equal(cache.get("a"), undefined) + t.end() +}) + +test("lru recently gotten with weighed length", function (t) { + var cache = new LRU({ + max: 8, + length: function (item) { return item.length } + }) + cache.set("a", "A") + cache.set("b", "BB") + cache.set("c", "CCC") + cache.get("a") + cache.get("b") + cache.set("d", "DDDD") + t.equal(cache.get("c"), undefined) + t.equal(cache.get("d"), "DDDD") + t.equal(cache.get("b"), "BB") + t.equal(cache.get("a"), "A") + t.end() +}) + +test("set returns proper booleans", function(t) { + var cache = new LRU({ + max: 5, + length: function (item) { return item.length } + }) + + t.equal(cache.set("a", "A"), true) + + // should return false for max exceeded + t.equal(cache.set("b", "donuts"), false) + + t.equal(cache.set("b", "B"), true) + t.equal(cache.set("c", "CCCC"), true) + t.end() +}) + +test("drop the old items", function(t) { + var cache = new LRU({ + max: 5, + maxAge: 50 + }) + + cache.set("a", "A") + + setTimeout(function () { + cache.set("b", "b") + t.equal(cache.get("a"), "A") + }, 25) + + setTimeout(function () { + cache.set("c", "C") + // timed out + t.notOk(cache.get("a")) + }, 60) + + setTimeout(function () { + t.notOk(cache.get("b")) + t.equal(cache.get("c"), "C") + }, 90) + + setTimeout(function () { + t.notOk(cache.get("c")) + t.end() + }, 155) +}) + +test("disposal function", function(t) { + var disposed = false + var cache = new LRU({ + max: 1, + dispose: function (k, n) { + disposed = n + } + }) + + cache.set(1, 1) + cache.set(2, 2) + t.equal(disposed, 1) + cache.set(3, 3) + t.equal(disposed, 2) + cache.reset() + t.equal(disposed, 3) + t.end() +}) + +test("disposal function on too big of item", function(t) { + var disposed = false + var cache = new LRU({ + max: 1, + length: function (k) { + return k.length + }, + dispose: function (k, n) { + disposed = n + } + }) + var obj = [ 1, 2 ] + + t.equal(disposed, false) + cache.set("obj", obj) + t.equal(disposed, obj) + t.end() +}) + +test("has()", function(t) { + var cache = new LRU({ + max: 1, + maxAge: 10 + }) + + cache.set('foo', 'bar') + t.equal(cache.has('foo'), true) + cache.set('blu', 'baz') + t.equal(cache.has('foo'), false) + t.equal(cache.has('blu'), true) + setTimeout(function() { + t.equal(cache.has('blu'), false) + t.end() + }, 15) +}) + +test("stale", function(t) { + var cache = new LRU({ + maxAge: 10, + stale: true + }) + + cache.set('foo', 'bar') + t.equal(cache.get('foo'), 'bar') + t.equal(cache.has('foo'), true) + setTimeout(function() { + t.equal(cache.has('foo'), false) + t.equal(cache.get('foo'), 'bar') + t.equal(cache.get('foo'), undefined) + t.end() + }, 15) +}) + +test("lru update via set", function(t) { + var cache = LRU({ max: 2 }); + + cache.set('foo', 1); + cache.set('bar', 2); + cache.del('bar'); + cache.set('baz', 3); + cache.set('qux', 4); + + t.equal(cache.get('foo'), undefined) + t.equal(cache.get('bar'), undefined) + t.equal(cache.get('baz'), 3) + t.equal(cache.get('qux'), 4) + t.end() +}) + +test("least recently set w/ peek", function (t) { + var cache = new LRU(2) + cache.set("a", "A") + cache.set("b", "B") + t.equal(cache.peek("a"), "A") + cache.set("c", "C") + t.equal(cache.get("c"), "C") + t.equal(cache.get("b"), "B") + t.equal(cache.get("a"), undefined) + t.end() +}) + +test("pop the least used item", function (t) { + var cache = new LRU(3) + , last + + cache.set("a", "A") + cache.set("b", "B") + cache.set("c", "C") + + t.equal(cache.length, 3) + t.equal(cache.max, 3) + + // Ensure we pop a, c, b + cache.get("b", "B") + + last = cache.pop() + t.equal(last.key, "a") + t.equal(last.value, "A") + t.equal(cache.length, 2) + t.equal(cache.max, 3) + + last = cache.pop() + t.equal(last.key, "c") + t.equal(last.value, "C") + t.equal(cache.length, 1) + t.equal(cache.max, 3) + + last = cache.pop() + t.equal(last.key, "b") + t.equal(last.value, "B") + t.equal(cache.length, 0) + t.equal(cache.max, 3) + + last = cache.pop() + t.equal(last, null) + t.equal(cache.length, 0) + t.equal(cache.max, 3) + + t.end() +}) diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js new file mode 100644 index 0000000..eefb80d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js @@ -0,0 +1,52 @@ +var test = require('tap').test +var LRU = require('../') + +test('forEach', function (t) { + var l = new LRU(5) + for (var i = 0; i < 10; i ++) { + l.set(i.toString(), i.toString(2)) + } + + var i = 9 + l.forEach(function (val, key, cache) { + t.equal(cache, l) + t.equal(key, i.toString()) + t.equal(val, i.toString(2)) + i -= 1 + }) + + // get in order of most recently used + l.get(6) + l.get(8) + + var order = [ 8, 6, 9, 7, 5 ] + var i = 0 + + l.forEach(function (val, key, cache) { + var j = order[i ++] + t.equal(cache, l) + t.equal(key, j.toString()) + t.equal(val, j.toString(2)) + }) + + t.end() +}) + +test('keys() and values()', function (t) { + var l = new LRU(5) + for (var i = 0; i < 10; i ++) { + l.set(i.toString(), i.toString(2)) + } + + t.similar(l.keys(), ['9', '8', '7', '6', '5']) + t.similar(l.values(), ['1001', '1000', '111', '110', '101']) + + // get in order of most recently used + l.get(6) + l.get(8) + + t.similar(l.keys(), ['8', '6', '9', '7', '5']) + t.similar(l.values(), ['1000', '110', '1001', '111', '101']) + + t.end() +}) diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js new file mode 100644 index 0000000..7af45b0 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js @@ -0,0 +1,50 @@ +#!/usr/bin/env node --expose_gc + +var weak = require('weak'); +var test = require('tap').test +var LRU = require('../') +var l = new LRU({ max: 10 }) +var refs = 0 +function X() { + refs ++ + weak(this, deref) +} + +function deref() { + refs -- +} + +test('no leaks', function (t) { + // fill up the cache + for (var i = 0; i < 100; i++) { + l.set(i, new X); + // throw some gets in there, too. + if (i % 2 === 0) + l.get(i / 2) + } + + gc() + + var start = process.memoryUsage() + + // capture the memory + var startRefs = refs + + // do it again, but more + for (var i = 0; i < 10000; i++) { + l.set(i, new X); + // throw some gets in there, too. + if (i % 2 === 0) + l.get(i / 2) + } + + gc() + + var end = process.memoryUsage() + t.equal(refs, startRefs, 'no leaky refs') + + console.error('start: %j\n' + + 'end: %j', start, end); + t.pass(); + t.end(); +}) diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE new file mode 100644 index 0000000..0c44ae7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) Isaac Z. Schlueter ("Author") +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md new file mode 100644 index 0000000..7e36512 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md @@ -0,0 +1,53 @@ +# sigmund + +Quick and dirty signatures for Objects. + +This is like a much faster `deepEquals` comparison, which returns a +string key suitable for caches and the like. + +## Usage + +```javascript +function doSomething (someObj) { + var key = sigmund(someObj, maxDepth) // max depth defaults to 10 + var cached = cache.get(key) + if (cached) return cached) + + var result = expensiveCalculation(someObj) + cache.set(key, result) + return result +} +``` + +The resulting key will be as unique and reproducible as calling +`JSON.stringify` or `util.inspect` on the object, but is much faster. +In order to achieve this speed, some differences are glossed over. +For example, the object `{0:'foo'}` will be treated identically to the +array `['foo']`. + +Also, just as there is no way to summon the soul from the scribblings +of a cocain-addled psychoanalyst, there is no way to revive the object +from the signature string that sigmund gives you. In fact, it's +barely even readable. + +As with `sys.inspect` and `JSON.stringify`, larger objects will +produce larger signature strings. + +Because sigmund is a bit less strict than the more thorough +alternatives, the strings will be shorter, and also there is a +slightly higher chance for collisions. For example, these objects +have the same signature: + + var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]} + var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']} + +Like a good Freudian, sigmund is most effective when you already have +some understanding of what you're looking for. It can help you help +yourself, but you must be willing to do some work as well. + +Cycles are handled, and cyclical objects are silently omitted (though +the key is included in the signature output.) + +The second argument is the maximum depth, which defaults to 10, +because that is the maximum object traversal depth covered by most +insurance carriers. diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js new file mode 100644 index 0000000..5acfd6d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js @@ -0,0 +1,283 @@ +// different ways to id objects +// use a req/res pair, since it's crazy deep and cyclical + +// sparseFE10 and sigmund are usually pretty close, which is to be expected, +// since they are essentially the same algorithm, except that sigmund handles +// regular expression objects properly. + + +var http = require('http') +var util = require('util') +var sigmund = require('./sigmund.js') +var sreq, sres, creq, cres, test + +http.createServer(function (q, s) { + sreq = q + sres = s + sres.end('ok') + this.close(function () { setTimeout(function () { + start() + }, 200) }) +}).listen(1337, function () { + creq = http.get({ port: 1337 }) + creq.on('response', function (s) { cres = s }) +}) + +function start () { + test = [sreq, sres, creq, cres] + // test = sreq + // sreq.sres = sres + // sreq.creq = creq + // sreq.cres = cres + + for (var i in exports.compare) { + console.log(i) + var hash = exports.compare[i]() + console.log(hash) + console.log(hash.length) + console.log('') + } + + require('bench').runMain() +} + +function customWs (obj, md, d) { + d = d || 0 + var to = typeof obj + if (to === 'undefined' || to === 'function' || to === null) return '' + if (d > md || !obj || to !== 'object') return ('' + obj).replace(/[\n ]+/g, '') + + if (Array.isArray(obj)) { + return obj.map(function (i, _, __) { + return customWs(i, md, d + 1) + }).reduce(function (a, b) { return a + b }, '') + } + + var keys = Object.keys(obj) + return keys.map(function (k, _, __) { + return k + ':' + customWs(obj[k], md, d + 1) + }).reduce(function (a, b) { return a + b }, '') +} + +function custom (obj, md, d) { + d = d || 0 + var to = typeof obj + if (to === 'undefined' || to === 'function' || to === null) return '' + if (d > md || !obj || to !== 'object') return '' + obj + + if (Array.isArray(obj)) { + return obj.map(function (i, _, __) { + return custom(i, md, d + 1) + }).reduce(function (a, b) { return a + b }, '') + } + + var keys = Object.keys(obj) + return keys.map(function (k, _, __) { + return k + ':' + custom(obj[k], md, d + 1) + }).reduce(function (a, b) { return a + b }, '') +} + +function sparseFE2 (obj, maxDepth) { + var seen = [] + var soFar = '' + function ch (v, depth) { + if (depth > maxDepth) return + if (typeof v === 'function' || typeof v === 'undefined') return + if (typeof v !== 'object' || !v) { + soFar += v + return + } + if (seen.indexOf(v) !== -1 || depth === maxDepth) return + seen.push(v) + soFar += '{' + Object.keys(v).forEach(function (k, _, __) { + // pseudo-private values. skip those. + if (k.charAt(0) === '_') return + var to = typeof v[k] + if (to === 'function' || to === 'undefined') return + soFar += k + ':' + ch(v[k], depth + 1) + }) + soFar += '}' + } + ch(obj, 0) + return soFar +} + +function sparseFE (obj, maxDepth) { + var seen = [] + var soFar = '' + function ch (v, depth) { + if (depth > maxDepth) return + if (typeof v === 'function' || typeof v === 'undefined') return + if (typeof v !== 'object' || !v) { + soFar += v + return + } + if (seen.indexOf(v) !== -1 || depth === maxDepth) return + seen.push(v) + soFar += '{' + Object.keys(v).forEach(function (k, _, __) { + // pseudo-private values. skip those. + if (k.charAt(0) === '_') return + var to = typeof v[k] + if (to === 'function' || to === 'undefined') return + soFar += k + ch(v[k], depth + 1) + }) + } + ch(obj, 0) + return soFar +} + +function sparse (obj, maxDepth) { + var seen = [] + var soFar = '' + function ch (v, depth) { + if (depth > maxDepth) return + if (typeof v === 'function' || typeof v === 'undefined') return + if (typeof v !== 'object' || !v) { + soFar += v + return + } + if (seen.indexOf(v) !== -1 || depth === maxDepth) return + seen.push(v) + soFar += '{' + for (var k in v) { + // pseudo-private values. skip those. + if (k.charAt(0) === '_') continue + var to = typeof v[k] + if (to === 'function' || to === 'undefined') continue + soFar += k + ch(v[k], depth + 1) + } + } + ch(obj, 0) + return soFar +} + +function noCommas (obj, maxDepth) { + var seen = [] + var soFar = '' + function ch (v, depth) { + if (depth > maxDepth) return + if (typeof v === 'function' || typeof v === 'undefined') return + if (typeof v !== 'object' || !v) { + soFar += v + return + } + if (seen.indexOf(v) !== -1 || depth === maxDepth) return + seen.push(v) + soFar += '{' + for (var k in v) { + // pseudo-private values. skip those. + if (k.charAt(0) === '_') continue + var to = typeof v[k] + if (to === 'function' || to === 'undefined') continue + soFar += k + ':' + ch(v[k], depth + 1) + } + soFar += '}' + } + ch(obj, 0) + return soFar +} + + +function flatten (obj, maxDepth) { + var seen = [] + var soFar = '' + function ch (v, depth) { + if (depth > maxDepth) return + if (typeof v === 'function' || typeof v === 'undefined') return + if (typeof v !== 'object' || !v) { + soFar += v + return + } + if (seen.indexOf(v) !== -1 || depth === maxDepth) return + seen.push(v) + soFar += '{' + for (var k in v) { + // pseudo-private values. skip those. + if (k.charAt(0) === '_') continue + var to = typeof v[k] + if (to === 'function' || to === 'undefined') continue + soFar += k + ':' + ch(v[k], depth + 1) + soFar += ',' + } + soFar += '}' + } + ch(obj, 0) + return soFar +} + +exports.compare = +{ + // 'custom 2': function () { + // return custom(test, 2, 0) + // }, + // 'customWs 2': function () { + // return customWs(test, 2, 0) + // }, + 'JSON.stringify (guarded)': function () { + var seen = [] + return JSON.stringify(test, function (k, v) { + if (typeof v !== 'object' || !v) return v + if (seen.indexOf(v) !== -1) return undefined + seen.push(v) + return v + }) + }, + + 'flatten 10': function () { + return flatten(test, 10) + }, + + // 'flattenFE 10': function () { + // return flattenFE(test, 10) + // }, + + 'noCommas 10': function () { + return noCommas(test, 10) + }, + + 'sparse 10': function () { + return sparse(test, 10) + }, + + 'sparseFE 10': function () { + return sparseFE(test, 10) + }, + + 'sparseFE2 10': function () { + return sparseFE2(test, 10) + }, + + sigmund: function() { + return sigmund(test, 10) + }, + + + // 'util.inspect 1': function () { + // return util.inspect(test, false, 1, false) + // }, + // 'util.inspect undefined': function () { + // util.inspect(test) + // }, + // 'util.inspect 2': function () { + // util.inspect(test, false, 2, false) + // }, + // 'util.inspect 3': function () { + // util.inspect(test, false, 3, false) + // }, + // 'util.inspect 4': function () { + // util.inspect(test, false, 4, false) + // }, + // 'util.inspect Infinity': function () { + // util.inspect(test, false, Infinity, false) + // } +} + +/** results +**/ diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json new file mode 100644 index 0000000..cb7e2bd --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json @@ -0,0 +1,42 @@ +{ + "name": "sigmund", + "version": "1.0.0", + "description": "Quick and dirty signatures for Objects.", + "main": "sigmund.js", + "directories": { + "test": "test" + }, + "dependencies": {}, + "devDependencies": { + "tap": "~0.3.0" + }, + "scripts": { + "test": "tap test/*.js", + "bench": "node bench.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/isaacs/sigmund" + }, + "keywords": [ + "object", + "signature", + "key", + "data", + "psychoanalysis" + ], + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "license": "BSD", + "readme": "# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n var cached = cache.get(key)\n if (cached) return cached)\n\n var result = expensiveCalculation(someObj)\n cache.set(key, result)\n return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you. In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions. For example, these objects\nhave the same signature:\n\n var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for. It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/sigmund/issues" + }, + "homepage": "https://github.com/isaacs/sigmund", + "_id": "sigmund@1.0.0", + "_from": "sigmund@~1.0.0" +} diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js new file mode 100644 index 0000000..82c7ab8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js @@ -0,0 +1,39 @@ +module.exports = sigmund +function sigmund (subject, maxSessions) { + maxSessions = maxSessions || 10; + var notes = []; + var analysis = ''; + var RE = RegExp; + + function psychoAnalyze (subject, session) { + if (session > maxSessions) return; + + if (typeof subject === 'function' || + typeof subject === 'undefined') { + return; + } + + if (typeof subject !== 'object' || !subject || + (subject instanceof RE)) { + analysis += subject; + return; + } + + if (notes.indexOf(subject) !== -1 || session === maxSessions) return; + + notes.push(subject); + analysis += '{'; + Object.keys(subject).forEach(function (issue, _, __) { + // pseudo-private values. skip those. + if (issue.charAt(0) === '_') return; + var to = typeof subject[issue]; + if (to === 'function' || to === 'undefined') return; + analysis += issue; + psychoAnalyze(subject[issue], session + 1); + }); + } + psychoAnalyze(subject, 0); + return analysis; +} + +// vim: set softtabstop=4 shiftwidth=4: diff --git a/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js new file mode 100644 index 0000000..50c53a1 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js @@ -0,0 +1,24 @@ +var test = require('tap').test +var sigmund = require('../sigmund.js') + + +// occasionally there are duplicates +// that's an acceptable edge-case. JSON.stringify and util.inspect +// have some collision potential as well, though less, and collision +// detection is expensive. +var hash = '{abc/def/g{0h1i2{jkl' +var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]} +var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']} + +var obj3 = JSON.parse(JSON.stringify(obj1)) +obj3.c = /def/ +obj3.g[2].cycle = obj3 +var cycleHash = '{abc/def/g{0h1i2{jklcycle' + +test('basic', function (t) { + t.equal(sigmund(obj1), hash) + t.equal(sigmund(obj2), hash) + t.equal(sigmund(obj3), cycleHash) + t.end() +}) + diff --git a/static/js/node_modules/grunt/node_modules/minimatch/package.json b/static/js/node_modules/grunt/node_modules/minimatch/package.json new file mode 100644 index 0000000..de0704b --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/package.json @@ -0,0 +1,40 @@ +{ + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + "name": "minimatch", + "description": "a glob matcher in javascript", + "version": "0.2.14", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/minimatch.git" + }, + "main": "minimatch.js", + "scripts": { + "test": "tap test/*.js" + }, + "engines": { + "node": "*" + }, + "dependencies": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "devDependencies": { + "tap": "" + }, + "license": { + "type": "MIT", + "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE" + }, + "readme": "# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn't have any \"magic\" in it\n (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/minimatch/issues" + }, + "homepage": "https://github.com/isaacs/minimatch", + "_id": "minimatch@0.2.14", + "_from": "minimatch@~0.2.12" +} diff --git a/static/js/node_modules/grunt/node_modules/minimatch/test/basic.js b/static/js/node_modules/grunt/node_modules/minimatch/test/basic.js new file mode 100644 index 0000000..ae7ac73 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/test/basic.js @@ -0,0 +1,399 @@ +// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test +// +// TODO: Some of these tests do very bad things with backslashes, and will +// most likely fail badly on windows. They should probably be skipped. + +var tap = require("tap") + , globalBefore = Object.keys(global) + , mm = require("../") + , files = [ "a", "b", "c", "d", "abc" + , "abd", "abe", "bb", "bcd" + , "ca", "cb", "dd", "de" + , "bdir/", "bdir/cfile"] + , next = files.concat([ "a-b", "aXb" + , ".x", ".y" ]) + + +var patterns = + [ "http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test" + , ["a*", ["a", "abc", "abd", "abe"]] + , ["X*", ["X*"], {nonull: true}] + + // allow null glob expansion + , ["X*", []] + + // isaacs: Slightly different than bash/sh/ksh + // \\* is not un-escaped to literal "*" in a failed match, + // but it does make it get treated as a literal star + , ["\\*", ["\\*"], {nonull: true}] + , ["\\**", ["\\**"], {nonull: true}] + , ["\\*\\*", ["\\*\\*"], {nonull: true}] + + , ["b*/", ["bdir/"]] + , ["c*", ["c", "ca", "cb"]] + , ["**", files] + + , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}] + , ["s/\\..*//", ["s/\\..*//"], {nonull: true}] + + , "legendary larry crashes bashes" + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/" + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}] + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/" + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}] + + , "character classes" + , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]] + , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd", + "bdir/", "ca", "cb", "dd", "de"]] + , ["a*[^c]", ["abd", "abe"]] + , function () { files.push("a-b", "aXb") } + , ["a[X-]b", ["a-b", "aXb"]] + , function () { files.push(".x", ".y") } + , ["[^a-c]*", ["d", "dd", "de"]] + , function () { files.push("a*b/", "a*b/ooo") } + , ["a\\*b/*", ["a*b/ooo"]] + , ["a\\*?/*", ["a*b/ooo"]] + , ["*\\\\!*", [], {null: true}, ["echo !7"]] + , ["*\\!*", ["echo !7"], null, ["echo !7"]] + , ["*.\\*", ["r.*"], null, ["r.*"]] + , ["a[b]c", ["abc"]] + , ["a[\\b]c", ["abc"]] + , ["a?c", ["abc"]] + , ["a\\*c", [], {null: true}, ["abc"]] + , ["", [""], { null: true }, [""]] + + , "http://www.opensource.apple.com/source/bash/bash-23/" + + "bash/tests/glob-test" + , function () { files.push("man/", "man/man1/", "man/man1/bash.1") } + , ["*/man*/bash.*", ["man/man1/bash.1"]] + , ["man/man1/bash.1", ["man/man1/bash.1"]] + , ["a***c", ["abc"], null, ["abc"]] + , ["a*****?c", ["abc"], null, ["abc"]] + , ["?*****??", ["abc"], null, ["abc"]] + , ["*****??", ["abc"], null, ["abc"]] + , ["?*****?c", ["abc"], null, ["abc"]] + , ["?***?****c", ["abc"], null, ["abc"]] + , ["?***?****?", ["abc"], null, ["abc"]] + , ["?***?****", ["abc"], null, ["abc"]] + , ["*******c", ["abc"], null, ["abc"]] + , ["*******?", ["abc"], null, ["abc"]] + , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["[-abc]", ["-"], null, ["-"]] + , ["[abc-]", ["-"], null, ["-"]] + , ["\\", ["\\"], null, ["\\"]] + , ["[\\\\]", ["\\"], null, ["\\"]] + , ["[[]", ["["], null, ["["]] + , ["[", ["["], null, ["["]] + , ["[*", ["[abc"], null, ["[abc"]] + , "a right bracket shall lose its special meaning and\n" + + "represent itself in a bracket expression if it occurs\n" + + "first in the list. -- POSIX.2 2.8.3.2" + , ["[]]", ["]"], null, ["]"]] + , ["[]-]", ["]"], null, ["]"]] + , ["[a-\z]", ["p"], null, ["p"]] + , ["??**********?****?", [], { null: true }, ["abc"]] + , ["??**********?****c", [], { null: true }, ["abc"]] + , ["?************c****?****", [], { null: true }, ["abc"]] + , ["*c*?**", [], { null: true }, ["abc"]] + , ["a*****c*?**", [], { null: true }, ["abc"]] + , ["a********???*******", [], { null: true }, ["abc"]] + , ["[]", [], { null: true }, ["a"]] + , ["[abc", [], { null: true }, ["["]] + + , "nocase tests" + , ["XYZ", ["xYz"], { nocase: true, null: true } + , ["xYz", "ABC", "IjK"]] + , ["ab*", ["ABC"], { nocase: true, null: true } + , ["xYz", "ABC", "IjK"]] + , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true } + , ["xYz", "ABC", "IjK"]] + + // [ pattern, [matches], MM opts, files, TAP opts] + , "onestar/twostar" + , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]] + , ["{/?,*}", ["/a", "bb"], {null: true} + , ["/a", "/b/b", "/a/b/c", "bb"]] + + , "dots should not match unless requested" + , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]] + + // .. and . can only match patterns starting with ., + // even when options.dot is set. + , function () { + files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"] + } + , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}] + , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}] + , ["a/*/b", ["a/c/b"], {dot:false}] + , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}] + + + // this also tests that changing the options needs + // to change the cache key, even if the pattern is + // the same! + , ["**", ["a/b","a/.d",".a/.d"], { dot: true } + , [ ".a/.d", "a/.d", "a/b"]] + + , "paren sets cannot contain slashes" + , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]] + + // brace sets trump all else. + // + // invalid glob pattern. fails on bash4 and bsdglob. + // however, in this implementation, it's easier just + // to do the intuitive thing, and let brace-expansion + // actually come before parsing any extglob patterns, + // like the documentation seems to say. + // + // XXX: if anyone complains about this, either fix it + // or tell them to grow up and stop complaining. + // + // bash/bsdglob says this: + // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]] + // but we do this instead: + , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]] + + // test partial parsing in the presence of comment/negation chars + , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]] + , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]] + + // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped. + , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g" + , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"] + , {} + , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]] + + + // crazy nested {,,} and *(||) tests. + , function () { + files = [ "a", "b", "c", "d" + , "ab", "ac", "ad" + , "bc", "cb" + , "bc,d", "c,db", "c,d" + , "d)", "(b|c", "*(b|c" + , "b|c", "b|cc", "cb|c" + , "x(a|b|c)", "x(a|c)" + , "(a|b|c)", "(a|c)"] + } + , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]] + , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]] + // a + // *(b|c) + // *(b|d) + , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]] + , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]] + + + // test various flag settings. + , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"] + , { noext: true } ] + , ["a?b", ["x/y/acb", "acb/"], {matchBase: true} + , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ] + , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]] + + + // begin channelling Boole and deMorgan... + , "negation tests" + , function () { + files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"] + } + + // anything that is NOT a* matches. + , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]] + + // anything that IS !a* matches. + , ["!a*", ["!ab", "!abc"], {nonegate: true}] + + // anything that IS a* matches + , ["!!a*", ["a!b"]] + + // anything that is NOT !a* matches + , ["!\\!a*", ["a!b", "d", "e", "\\!a"]] + + // negation nestled within a pattern + , function () { + files = [ "foo.js" + , "foo.bar" + // can't match this one without negative lookbehind. + , "foo.js.js" + , "blar.js" + , "foo." + , "boo.js.boo" ] + } + , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ] + + // https://github.com/isaacs/minimatch/issues/5 + , function () { + files = [ 'a/b/.x/c' + , 'a/b/.x/c/d' + , 'a/b/.x/c/d/e' + , 'a/b/.x' + , 'a/b/.x/' + , 'a/.x/b' + , '.x' + , '.x/' + , '.x/a' + , '.x/a/b' + , 'a/.x/b/.x/c' + , '.x/.x' ] + } + , ["**/.x/**", [ '.x/' + , '.x/a' + , '.x/a/b' + , 'a/.x/b' + , 'a/b/.x/' + , 'a/b/.x/c' + , 'a/b/.x/c/d' + , 'a/b/.x/c/d/e' ] ] + + ] + +var regexps = + [ '/^(?:(?=.)a[^/]*?)$/', + '/^(?:(?=.)X[^/]*?)$/', + '/^(?:(?=.)X[^/]*?)$/', + '/^(?:\\*)$/', + '/^(?:(?=.)\\*[^/]*?)$/', + '/^(?:\\*\\*)$/', + '/^(?:(?=.)b[^/]*?\\/)$/', + '/^(?:(?=.)c[^/]*?)$/', + '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/', + '/^(?:\\.\\.\\/(?!\\.)(?=.)[^/]*?\\/)$/', + '/^(?:s\\/(?=.)\\.\\.[^/]*?\\/)$/', + '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/1\\/)$/', + '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/\u0001\\/)$/', + '/^(?:(?!\\.)(?=.)[a-c]b[^/]*?)$/', + '/^(?:(?!\\.)(?=.)[a-y][^/]*?[^c])$/', + '/^(?:(?=.)a[^/]*?[^c])$/', + '/^(?:(?=.)a[X-]b)$/', + '/^(?:(?!\\.)(?=.)[^a-c][^/]*?)$/', + '/^(?:a\\*b\\/(?!\\.)(?=.)[^/]*?)$/', + '/^(?:(?=.)a\\*[^/]\\/(?!\\.)(?=.)[^/]*?)$/', + '/^(?:(?!\\.)(?=.)[^/]*?\\\\\\![^/]*?)$/', + '/^(?:(?!\\.)(?=.)[^/]*?\\![^/]*?)$/', + '/^(?:(?!\\.)(?=.)[^/]*?\\.\\*)$/', + '/^(?:(?=.)a[b]c)$/', + '/^(?:(?=.)a[b]c)$/', + '/^(?:(?=.)a[^/]c)$/', + '/^(?:a\\*c)$/', + 'false', + '/^(?:(?!\\.)(?=.)[^/]*?\\/(?=.)man[^/]*?\\/(?=.)bash\\.[^/]*?)$/', + '/^(?:man\\/man1\\/bash\\.1)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?c)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/', + '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/', + '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/', + '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/', + '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/', + '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/', + '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/', + '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c)$/', + '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/])$/', + '/^(?:(?=.)a[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k[^/]*?[^/]*?[^/]*?)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k[^/]*?[^/]*?)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/', + '/^(?:(?!\\.)(?=.)[-abc])$/', + '/^(?:(?!\\.)(?=.)[abc-])$/', + '/^(?:\\\\)$/', + '/^(?:(?!\\.)(?=.)[\\\\])$/', + '/^(?:(?!\\.)(?=.)[\\[])$/', + '/^(?:\\[)$/', + '/^(?:(?=.)\\[(?!\\.)(?=.)[^/]*?)$/', + '/^(?:(?!\\.)(?=.)[\\]])$/', + '/^(?:(?!\\.)(?=.)[\\]-])$/', + '/^(?:(?!\\.)(?=.)[a-z])$/', + '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/', + '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/', + '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/', + '/^(?:(?!\\.)(?=.)[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/', + '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/', + '/^(?:\\[\\])$/', + '/^(?:\\[abc)$/', + '/^(?:(?=.)XYZ)$/i', + '/^(?:(?=.)ab[^/]*?)$/i', + '/^(?:(?!\\.)(?=.)[ia][^/][ck])$/i', + '/^(?:\\/(?!\\.)(?=.)[^/]*?|(?!\\.)(?=.)[^/]*?)$/', + '/^(?:\\/(?!\\.)(?=.)[^/]|(?!\\.)(?=.)[^/]*?)$/', + '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/', + '/^(?:a\\/(?!(?:^|\\/)\\.{1,2}(?:$|\\/))(?=.)[^/]*?\\/b)$/', + '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/', + '/^(?:a\\/(?!\\.)(?=.)[^/]*?\\/b)$/', + '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/', + '/^(?:(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?)$/', + '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\/b\\))$/', + '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/', + '/^(?:(?=.)\\[(?=.)\\!a[^/]*?)$/', + '/^(?:(?=.)\\[(?=.)#a[^/]*?)$/', + '/^(?:(?=.)\\+\\(a\\|[^/]*?\\|c\\\\\\\\\\|d\\\\\\\\\\|e\\\\\\\\\\\\\\\\\\|f\\\\\\\\\\\\\\\\\\|g)$/', + '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/', + '/^(?:a|(?!\\.)(?=.)[^/]*?\\(b\\|c|d\\))$/', + '/^(?:a|(?!\\.)(?=.)(?:b|c)*|(?!\\.)(?=.)(?:b|d)*)$/', + '/^(?:(?!\\.)(?=.)(?:a|b|c)*|(?!\\.)(?=.)(?:a|c)*)$/', + '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\|b\\|c\\)|(?!\\.)(?=.)[^/]*?\\(a\\|c\\))$/', + '/^(?:(?=.)a[^/]b)$/', + '/^(?:(?=.)#[^/]*?)$/', + '/^(?!^(?:(?=.)a[^/]*?)$).*$/', + '/^(?:(?=.)\\!a[^/]*?)$/', + '/^(?:(?=.)a[^/]*?)$/', + '/^(?!^(?:(?=.)\\!a[^/]*?)$).*$/', + '/^(?:(?!\\.)(?=.)[^/]*?\\.(?:(?!js)[^/]*?))$/', + '/^(?:(?:(?!(?:\\/|^)\\.).)*?\\/\\.x\\/(?:(?!(?:\\/|^)\\.).)*?)$/' ] +var re = 0; + +tap.test("basic tests", function (t) { + var start = Date.now() + + // [ pattern, [matches], MM opts, files, TAP opts] + patterns.forEach(function (c) { + if (typeof c === "function") return c() + if (typeof c === "string") return t.comment(c) + + var pattern = c[0] + , expect = c[1].sort(alpha) + , options = c[2] || {} + , f = c[3] || files + , tapOpts = c[4] || {} + + // options.debug = true + var m = new mm.Minimatch(pattern, options) + var r = m.makeRe() + var expectRe = regexps[re++] + tapOpts.re = String(r) || JSON.stringify(r) + tapOpts.files = JSON.stringify(f) + tapOpts.pattern = pattern + tapOpts.set = m.set + tapOpts.negated = m.negate + + var actual = mm.match(f, pattern, options) + actual.sort(alpha) + + t.equivalent( actual, expect + , JSON.stringify(pattern) + " " + JSON.stringify(expect) + , tapOpts ) + + t.equal(tapOpts.re, expectRe, tapOpts) + }) + + t.comment("time=" + (Date.now() - start) + "ms") + t.end() +}) + +tap.test("global leak test", function (t) { + var globalAfter = Object.keys(global) + t.equivalent(globalAfter, globalBefore, "no new globals, please") + t.end() +}) + +function alpha (a, b) { + return a > b ? 1 : -1 +} diff --git a/static/js/node_modules/grunt/node_modules/minimatch/test/brace-expand.js b/static/js/node_modules/grunt/node_modules/minimatch/test/brace-expand.js new file mode 100644 index 0000000..7ee278a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/test/brace-expand.js @@ -0,0 +1,33 @@ +var tap = require("tap") + , minimatch = require("../") + +tap.test("brace expansion", function (t) { + // [ pattern, [expanded] ] + ; [ [ "a{b,c{d,e},{f,g}h}x{y,z}" + , [ "abxy" + , "abxz" + , "acdxy" + , "acdxz" + , "acexy" + , "acexz" + , "afhxy" + , "afhxz" + , "aghxy" + , "aghxz" ] ] + , [ "a{1..5}b" + , [ "a1b" + , "a2b" + , "a3b" + , "a4b" + , "a5b" ] ] + , [ "a{b}c", ["a{b}c"] ] + ].forEach(function (tc) { + var p = tc[0] + , expect = tc[1] + t.equivalent(minimatch.braceExpand(p), expect, p) + }) + console.error("ending") + t.end() +}) + + diff --git a/static/js/node_modules/grunt/node_modules/minimatch/test/caching.js b/static/js/node_modules/grunt/node_modules/minimatch/test/caching.js new file mode 100644 index 0000000..0fec4b0 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/test/caching.js @@ -0,0 +1,14 @@ +var Minimatch = require("../minimatch.js").Minimatch +var tap = require("tap") +tap.test("cache test", function (t) { + var mm1 = new Minimatch("a?b") + var mm2 = new Minimatch("a?b") + t.equal(mm1, mm2, "should get the same object") + // the lru should drop it after 100 entries + for (var i = 0; i < 100; i ++) { + new Minimatch("a"+i) + } + mm2 = new Minimatch("a?b") + t.notEqual(mm1, mm2, "cache should have dropped") + t.end() +}) diff --git a/static/js/node_modules/grunt/node_modules/minimatch/test/defaults.js b/static/js/node_modules/grunt/node_modules/minimatch/test/defaults.js new file mode 100644 index 0000000..25f1f60 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/test/defaults.js @@ -0,0 +1,274 @@ +// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test +// +// TODO: Some of these tests do very bad things with backslashes, and will +// most likely fail badly on windows. They should probably be skipped. + +var tap = require("tap") + , globalBefore = Object.keys(global) + , mm = require("../") + , files = [ "a", "b", "c", "d", "abc" + , "abd", "abe", "bb", "bcd" + , "ca", "cb", "dd", "de" + , "bdir/", "bdir/cfile"] + , next = files.concat([ "a-b", "aXb" + , ".x", ".y" ]) + +tap.test("basic tests", function (t) { + var start = Date.now() + + // [ pattern, [matches], MM opts, files, TAP opts] + ; [ "http://www.bashcookbook.com/bashinfo" + + "/source/bash-1.14.7/tests/glob-test" + , ["a*", ["a", "abc", "abd", "abe"]] + , ["X*", ["X*"], {nonull: true}] + + // allow null glob expansion + , ["X*", []] + + // isaacs: Slightly different than bash/sh/ksh + // \\* is not un-escaped to literal "*" in a failed match, + // but it does make it get treated as a literal star + , ["\\*", ["\\*"], {nonull: true}] + , ["\\**", ["\\**"], {nonull: true}] + , ["\\*\\*", ["\\*\\*"], {nonull: true}] + + , ["b*/", ["bdir/"]] + , ["c*", ["c", "ca", "cb"]] + , ["**", files] + + , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}] + , ["s/\\..*//", ["s/\\..*//"], {nonull: true}] + + , "legendary larry crashes bashes" + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/" + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}] + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/" + , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}] + + , "character classes" + , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]] + , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd", + "bdir/", "ca", "cb", "dd", "de"]] + , ["a*[^c]", ["abd", "abe"]] + , function () { files.push("a-b", "aXb") } + , ["a[X-]b", ["a-b", "aXb"]] + , function () { files.push(".x", ".y") } + , ["[^a-c]*", ["d", "dd", "de"]] + , function () { files.push("a*b/", "a*b/ooo") } + , ["a\\*b/*", ["a*b/ooo"]] + , ["a\\*?/*", ["a*b/ooo"]] + , ["*\\\\!*", [], {null: true}, ["echo !7"]] + , ["*\\!*", ["echo !7"], null, ["echo !7"]] + , ["*.\\*", ["r.*"], null, ["r.*"]] + , ["a[b]c", ["abc"]] + , ["a[\\b]c", ["abc"]] + , ["a?c", ["abc"]] + , ["a\\*c", [], {null: true}, ["abc"]] + , ["", [""], { null: true }, [""]] + + , "http://www.opensource.apple.com/source/bash/bash-23/" + + "bash/tests/glob-test" + , function () { files.push("man/", "man/man1/", "man/man1/bash.1") } + , ["*/man*/bash.*", ["man/man1/bash.1"]] + , ["man/man1/bash.1", ["man/man1/bash.1"]] + , ["a***c", ["abc"], null, ["abc"]] + , ["a*****?c", ["abc"], null, ["abc"]] + , ["?*****??", ["abc"], null, ["abc"]] + , ["*****??", ["abc"], null, ["abc"]] + , ["?*****?c", ["abc"], null, ["abc"]] + , ["?***?****c", ["abc"], null, ["abc"]] + , ["?***?****?", ["abc"], null, ["abc"]] + , ["?***?****", ["abc"], null, ["abc"]] + , ["*******c", ["abc"], null, ["abc"]] + , ["*******?", ["abc"], null, ["abc"]] + , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]] + , ["[-abc]", ["-"], null, ["-"]] + , ["[abc-]", ["-"], null, ["-"]] + , ["\\", ["\\"], null, ["\\"]] + , ["[\\\\]", ["\\"], null, ["\\"]] + , ["[[]", ["["], null, ["["]] + , ["[", ["["], null, ["["]] + , ["[*", ["[abc"], null, ["[abc"]] + , "a right bracket shall lose its special meaning and\n" + + "represent itself in a bracket expression if it occurs\n" + + "first in the list. -- POSIX.2 2.8.3.2" + , ["[]]", ["]"], null, ["]"]] + , ["[]-]", ["]"], null, ["]"]] + , ["[a-\z]", ["p"], null, ["p"]] + , ["??**********?****?", [], { null: true }, ["abc"]] + , ["??**********?****c", [], { null: true }, ["abc"]] + , ["?************c****?****", [], { null: true }, ["abc"]] + , ["*c*?**", [], { null: true }, ["abc"]] + , ["a*****c*?**", [], { null: true }, ["abc"]] + , ["a********???*******", [], { null: true }, ["abc"]] + , ["[]", [], { null: true }, ["a"]] + , ["[abc", [], { null: true }, ["["]] + + , "nocase tests" + , ["XYZ", ["xYz"], { nocase: true, null: true } + , ["xYz", "ABC", "IjK"]] + , ["ab*", ["ABC"], { nocase: true, null: true } + , ["xYz", "ABC", "IjK"]] + , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true } + , ["xYz", "ABC", "IjK"]] + + // [ pattern, [matches], MM opts, files, TAP opts] + , "onestar/twostar" + , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]] + , ["{/?,*}", ["/a", "bb"], {null: true} + , ["/a", "/b/b", "/a/b/c", "bb"]] + + , "dots should not match unless requested" + , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]] + + // .. and . can only match patterns starting with ., + // even when options.dot is set. + , function () { + files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"] + } + , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}] + , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}] + , ["a/*/b", ["a/c/b"], {dot:false}] + , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}] + + + // this also tests that changing the options needs + // to change the cache key, even if the pattern is + // the same! + , ["**", ["a/b","a/.d",".a/.d"], { dot: true } + , [ ".a/.d", "a/.d", "a/b"]] + + , "paren sets cannot contain slashes" + , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]] + + // brace sets trump all else. + // + // invalid glob pattern. fails on bash4 and bsdglob. + // however, in this implementation, it's easier just + // to do the intuitive thing, and let brace-expansion + // actually come before parsing any extglob patterns, + // like the documentation seems to say. + // + // XXX: if anyone complains about this, either fix it + // or tell them to grow up and stop complaining. + // + // bash/bsdglob says this: + // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]] + // but we do this instead: + , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]] + + // test partial parsing in the presence of comment/negation chars + , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]] + , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]] + + // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped. + , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g" + , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"] + , {} + , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]] + + + // crazy nested {,,} and *(||) tests. + , function () { + files = [ "a", "b", "c", "d" + , "ab", "ac", "ad" + , "bc", "cb" + , "bc,d", "c,db", "c,d" + , "d)", "(b|c", "*(b|c" + , "b|c", "b|cc", "cb|c" + , "x(a|b|c)", "x(a|c)" + , "(a|b|c)", "(a|c)"] + } + , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]] + , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]] + // a + // *(b|c) + // *(b|d) + , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]] + , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]] + + + // test various flag settings. + , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"] + , { noext: true } ] + , ["a?b", ["x/y/acb", "acb/"], {matchBase: true} + , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ] + , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]] + + + // begin channelling Boole and deMorgan... + , "negation tests" + , function () { + files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"] + } + + // anything that is NOT a* matches. + , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]] + + // anything that IS !a* matches. + , ["!a*", ["!ab", "!abc"], {nonegate: true}] + + // anything that IS a* matches + , ["!!a*", ["a!b"]] + + // anything that is NOT !a* matches + , ["!\\!a*", ["a!b", "d", "e", "\\!a"]] + + // negation nestled within a pattern + , function () { + files = [ "foo.js" + , "foo.bar" + // can't match this one without negative lookbehind. + , "foo.js.js" + , "blar.js" + , "foo." + , "boo.js.boo" ] + } + , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ] + + ].forEach(function (c) { + if (typeof c === "function") return c() + if (typeof c === "string") return t.comment(c) + + var pattern = c[0] + , expect = c[1].sort(alpha) + , options = c[2] || {} + , f = c[3] || files + , tapOpts = c[4] || {} + + // options.debug = true + var Class = mm.defaults(options).Minimatch + var m = new Class(pattern, {}) + var r = m.makeRe() + tapOpts.re = String(r) || JSON.stringify(r) + tapOpts.files = JSON.stringify(f) + tapOpts.pattern = pattern + tapOpts.set = m.set + tapOpts.negated = m.negate + + var actual = mm.match(f, pattern, options) + actual.sort(alpha) + + t.equivalent( actual, expect + , JSON.stringify(pattern) + " " + JSON.stringify(expect) + , tapOpts ) + }) + + t.comment("time=" + (Date.now() - start) + "ms") + t.end() +}) + +tap.test("global leak test", function (t) { + var globalAfter = Object.keys(global) + t.equivalent(globalAfter, globalBefore, "no new globals, please") + t.end() +}) + +function alpha (a, b) { + return a > b ? 1 : -1 +} diff --git a/static/js/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js b/static/js/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js new file mode 100644 index 0000000..6676e26 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js @@ -0,0 +1,8 @@ +var test = require('tap').test +var minimatch = require('../') + +test('extglob ending with statechar', function(t) { + t.notOk(minimatch('ax', 'a?(b*)')) + t.ok(minimatch('ax', '?(a*|b)')) + t.end() +}) diff --git a/static/js/node_modules/grunt/node_modules/nopt/.npmignore b/static/js/node_modules/grunt/node_modules/nopt/.npmignore new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/nopt/LICENSE b/static/js/node_modules/grunt/node_modules/nopt/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/nopt/README.md b/static/js/node_modules/grunt/node_modules/nopt/README.md new file mode 100644 index 0000000..eeddfd4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/README.md @@ -0,0 +1,208 @@ +If you want to write an option parser, and have it be good, there are +two ways to do it. The Right Way, and the Wrong Way. + +The Wrong Way is to sit down and write an option parser. We've all done +that. + +The Right Way is to write some complex configurable program with so many +options that you go half-insane just trying to manage them all, and put +it off with duct-tape solutions until you see exactly to the core of the +problem, and finally snap and write an awesome option parser. + +If you want to write an option parser, don't write an option parser. +Write a package manager, or a source control system, or a service +restarter, or an operating system. You probably won't end up with a +good one of those, but if you don't give up, and you are relentless and +diligent enough in your procrastination, you may just end up with a very +nice option parser. + +## USAGE + + // my-program.js + var nopt = require("nopt") + , Stream = require("stream").Stream + , path = require("path") + , knownOpts = { "foo" : [String, null] + , "bar" : [Stream, Number] + , "baz" : path + , "bloo" : [ "big", "medium", "small" ] + , "flag" : Boolean + , "pick" : Boolean + , "many" : [String, Array] + } + , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] + , "b7" : ["--bar", "7"] + , "m" : ["--bloo", "medium"] + , "p" : ["--pick"] + , "f" : ["--flag"] + } + // everything is optional. + // knownOpts and shorthands default to {} + // arg list defaults to process.argv + // slice defaults to 2 + , parsed = nopt(knownOpts, shortHands, process.argv, 2) + console.log(parsed) + +This would give you support for any of the following: + +```bash +$ node my-program.js --foo "blerp" --no-flag +{ "foo" : "blerp", "flag" : false } + +$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag +{ bar: 7, foo: "Mr. Hand", flag: true } + +$ node my-program.js --foo "blerp" -f -----p +{ foo: "blerp", flag: true, pick: true } + +$ node my-program.js -fp --foofoo +{ foo: "Mr. Foo", flag: true, pick: true } + +$ node my-program.js --foofoo -- -fp # -- stops the flag parsing. +{ foo: "Mr. Foo", argv: { remain: ["-fp"] } } + +$ node my-program.js --blatzk 1000 -fp # unknown opts are ok. +{ blatzk: 1000, flag: true, pick: true } + +$ node my-program.js --blatzk true -fp # but they need a value +{ blatzk: true, flag: true, pick: true } + +$ node my-program.js --no-blatzk -fp # unless they start with "no-" +{ blatzk: false, flag: true, pick: true } + +$ node my-program.js --baz b/a/z # known paths are resolved. +{ baz: "/Users/isaacs/b/a/z" } + +# if Array is one of the types, then it can take many +# values, and will always be an array. The other types provided +# specify what types are allowed in the list. + +$ node my-program.js --many 1 --many null --many foo +{ many: ["1", "null", "foo"] } + +$ node my-program.js --many foo +{ many: ["foo"] } +``` + +Read the tests at the bottom of `lib/nopt.js` for more examples of +what this puppy can do. + +## Types + +The following types are supported, and defined on `nopt.typeDefs` + +* String: A normal string. No parsing is done. +* path: A file system path. Gets resolved against cwd if not absolute. +* url: A url. If it doesn't parse, it isn't accepted. +* Number: Must be numeric. +* Date: Must parse as a date. If it does, and `Date` is one of the options, + then it will return a Date object, not a string. +* Boolean: Must be either `true` or `false`. If an option is a boolean, + then it does not need a value, and its presence will imply `true` as + the value. To negate boolean flags, do `--no-whatever` or `--whatever + false` +* NaN: Means that the option is strictly not allowed. Any value will + fail. +* Stream: An object matching the "Stream" class in node. Valuable + for use when validating programmatically. (npm uses this to let you + supply any WriteStream on the `outfd` and `logfd` config options.) +* Array: If `Array` is specified as one of the types, then the value + will be parsed as a list of options. This means that multiple values + can be specified, and that the value will always be an array. + +If a type is an array of values not on this list, then those are +considered valid values. For instance, in the example above, the +`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`, +and any other value will be rejected. + +When parsing unknown fields, `"true"`, `"false"`, and `"null"` will be +interpreted as their JavaScript equivalents, and numeric values will be +interpreted as a number. + +You can also mix types and values, or multiple types, in a list. For +instance `{ blah: [Number, null] }` would allow a value to be set to +either a Number or null. + +To define a new type, add it to `nopt.typeDefs`. Each item in that +hash is an object with a `type` member and a `validate` method. The +`type` member is an object that matches what goes in the type list. The +`validate` method is a function that gets called with `validate(data, +key, val)`. Validate methods should assign `data[key]` to the valid +value of `val` if it can be handled properly, or return boolean +`false` if it cannot. + +You can also call `nopt.clean(data, types, typeDefs)` to clean up a +config object and remove its invalid properties. + +## Error Handling + +By default, nopt outputs a warning to standard error when invalid +options are found. You can change this behavior by assigning a method +to `nopt.invalidHandler`. This method will be called with +the offending `nopt.invalidHandler(key, val, types)`. + +If no `nopt.invalidHandler` is assigned, then it will console.error +its whining. If it is assigned to boolean `false` then the warning is +suppressed. + +## Abbreviations + +Yes, they are supported. If you define options like this: + +```javascript +{ "foolhardyelephants" : Boolean +, "pileofmonkeys" : Boolean } +``` + +Then this will work: + +```bash +node program.js --foolhar --pil +node program.js --no-f --pileofmon +# etc. +``` + +## Shorthands + +Shorthands are a hash of shorter option names to a snippet of args that +they expand to. + +If multiple one-character shorthands are all combined, and the +combination does not unambiguously match any other option or shorthand, +then they will be broken up into their constituent parts. For example: + +```json +{ "s" : ["--loglevel", "silent"] +, "g" : "--global" +, "f" : "--force" +, "p" : "--parseable" +, "l" : "--long" +} +``` + +```bash +npm ls -sgflp +# just like doing this: +npm ls --loglevel silent --global --force --long --parseable +``` + +## The Rest of the args + +The config object returned by nopt is given a special member called +`argv`, which is an object with the following fields: + +* `remain`: The remaining args after all the parsing has occurred. +* `original`: The args as they originally appeared. +* `cooked`: The args after flags and shorthands are expanded. + +## Slicing + +Node programs are called with more or less the exact argv as it appears +in C land, after the v8 and node-specific options have been plucked off. +As such, `argv[0]` is always `node` and `argv[1]` is always the +JavaScript program being run. + +That's usually not very useful to you. So they're sliced off by +default. If you want them, then you can pass in `0` as the last +argument, or any other number that you'd like to slice off the start of +the list. diff --git a/static/js/node_modules/grunt/node_modules/nopt/bin/nopt.js b/static/js/node_modules/grunt/node_modules/nopt/bin/nopt.js new file mode 100644 index 0000000..df90c72 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/bin/nopt.js @@ -0,0 +1,44 @@ +#!/usr/bin/env node +var nopt = require("../lib/nopt") + , types = { num: Number + , bool: Boolean + , help: Boolean + , list: Array + , "num-list": [Number, Array] + , "str-list": [String, Array] + , "bool-list": [Boolean, Array] + , str: String } + , shorthands = { s: [ "--str", "astring" ] + , b: [ "--bool" ] + , nb: [ "--no-bool" ] + , tft: [ "--bool-list", "--no-bool-list", "--bool-list", "true" ] + , "?": ["--help"] + , h: ["--help"] + , H: ["--help"] + , n: [ "--num", "125" ] } + , parsed = nopt( types + , shorthands + , process.argv + , 2 ) + +console.log("parsed", parsed) + +if (parsed.help) { + console.log("") + console.log("nopt cli tester") + console.log("") + console.log("types") + console.log(Object.keys(types).map(function M (t) { + var type = types[t] + if (Array.isArray(type)) { + return [t, type.map(function (type) { return type.name })] + } + return [t, type && type.name] + }).reduce(function (s, i) { + s[i[0]] = i[1] + return s + }, {})) + console.log("") + console.log("shorthands") + console.log(shorthands) +} diff --git a/static/js/node_modules/grunt/node_modules/nopt/examples/my-program.js b/static/js/node_modules/grunt/node_modules/nopt/examples/my-program.js new file mode 100644 index 0000000..142447e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/examples/my-program.js @@ -0,0 +1,30 @@ +#!/usr/bin/env node + +//process.env.DEBUG_NOPT = 1 + +// my-program.js +var nopt = require("../lib/nopt") + , Stream = require("stream").Stream + , path = require("path") + , knownOpts = { "foo" : [String, null] + , "bar" : [Stream, Number] + , "baz" : path + , "bloo" : [ "big", "medium", "small" ] + , "flag" : Boolean + , "pick" : Boolean + } + , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] + , "b7" : ["--bar", "7"] + , "m" : ["--bloo", "medium"] + , "p" : ["--pick"] + , "f" : ["--flag", "true"] + , "g" : ["--flag"] + , "s" : "--flag" + } + // everything is optional. + // knownOpts and shorthands default to {} + // arg list defaults to process.argv + // slice defaults to 2 + , parsed = nopt(knownOpts, shortHands, process.argv, 2) + +console.log("parsed =\n"+ require("util").inspect(parsed)) diff --git a/static/js/node_modules/grunt/node_modules/nopt/lib/nopt.js b/static/js/node_modules/grunt/node_modules/nopt/lib/nopt.js new file mode 100644 index 0000000..ff802da --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/lib/nopt.js @@ -0,0 +1,552 @@ +// info about each config option. + +var debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG + ? function () { console.error.apply(console, arguments) } + : function () {} + +var url = require("url") + , path = require("path") + , Stream = require("stream").Stream + , abbrev = require("abbrev") + +module.exports = exports = nopt +exports.clean = clean + +exports.typeDefs = + { String : { type: String, validate: validateString } + , Boolean : { type: Boolean, validate: validateBoolean } + , url : { type: url, validate: validateUrl } + , Number : { type: Number, validate: validateNumber } + , path : { type: path, validate: validatePath } + , Stream : { type: Stream, validate: validateStream } + , Date : { type: Date, validate: validateDate } + } + +function nopt (types, shorthands, args, slice) { + args = args || process.argv + types = types || {} + shorthands = shorthands || {} + if (typeof slice !== "number") slice = 2 + + debug(types, shorthands, args, slice) + + args = args.slice(slice) + var data = {} + , key + , remain = [] + , cooked = args + , original = args.slice(0) + + parse(args, data, remain, types, shorthands) + // now data is full + clean(data, types, exports.typeDefs) + data.argv = {remain:remain,cooked:cooked,original:original} + data.argv.toString = function () { + return this.original.map(JSON.stringify).join(" ") + } + return data +} + +function clean (data, types, typeDefs) { + typeDefs = typeDefs || exports.typeDefs + var remove = {} + , typeDefault = [false, true, null, String, Number] + + Object.keys(data).forEach(function (k) { + if (k === "argv") return + var val = data[k] + , isArray = Array.isArray(val) + , type = types[k] + if (!isArray) val = [val] + if (!type) type = typeDefault + if (type === Array) type = typeDefault.concat(Array) + if (!Array.isArray(type)) type = [type] + + debug("val=%j", val) + debug("types=", type) + val = val.map(function (val) { + // if it's an unknown value, then parse false/true/null/numbers/dates + if (typeof val === "string") { + debug("string %j", val) + val = val.trim() + if ((val === "null" && ~type.indexOf(null)) + || (val === "true" && + (~type.indexOf(true) || ~type.indexOf(Boolean))) + || (val === "false" && + (~type.indexOf(false) || ~type.indexOf(Boolean)))) { + val = JSON.parse(val) + debug("jsonable %j", val) + } else if (~type.indexOf(Number) && !isNaN(val)) { + debug("convert to number", val) + val = +val + } else if (~type.indexOf(Date) && !isNaN(Date.parse(val))) { + debug("convert to date", val) + val = new Date(val) + } + } + + if (!types.hasOwnProperty(k)) { + return val + } + + // allow `--no-blah` to set 'blah' to null if null is allowed + if (val === false && ~type.indexOf(null) && + !(~type.indexOf(false) || ~type.indexOf(Boolean))) { + val = null + } + + var d = {} + d[k] = val + debug("prevalidated val", d, val, types[k]) + if (!validate(d, k, val, types[k], typeDefs)) { + if (exports.invalidHandler) { + exports.invalidHandler(k, val, types[k], data) + } else if (exports.invalidHandler !== false) { + debug("invalid: "+k+"="+val, types[k]) + } + return remove + } + debug("validated val", d, val, types[k]) + return d[k] + }).filter(function (val) { return val !== remove }) + + if (!val.length) delete data[k] + else if (isArray) { + debug(isArray, data[k], val) + data[k] = val + } else data[k] = val[0] + + debug("k=%s val=%j", k, val, data[k]) + }) +} + +function validateString (data, k, val) { + data[k] = String(val) +} + +function validatePath (data, k, val) { + data[k] = path.resolve(String(val)) + return true +} + +function validateNumber (data, k, val) { + debug("validate Number %j %j %j", k, val, isNaN(val)) + if (isNaN(val)) return false + data[k] = +val +} + +function validateDate (data, k, val) { + debug("validate Date %j %j %j", k, val, Date.parse(val)) + var s = Date.parse(val) + if (isNaN(s)) return false + data[k] = new Date(val) +} + +function validateBoolean (data, k, val) { + if (val instanceof Boolean) val = val.valueOf() + else if (typeof val === "string") { + if (!isNaN(val)) val = !!(+val) + else if (val === "null" || val === "false") val = false + else val = true + } else val = !!val + data[k] = val +} + +function validateUrl (data, k, val) { + val = url.parse(String(val)) + if (!val.host) return false + data[k] = val.href +} + +function validateStream (data, k, val) { + if (!(val instanceof Stream)) return false + data[k] = val +} + +function validate (data, k, val, type, typeDefs) { + // arrays are lists of types. + if (Array.isArray(type)) { + for (var i = 0, l = type.length; i < l; i ++) { + if (type[i] === Array) continue + if (validate(data, k, val, type[i], typeDefs)) return true + } + delete data[k] + return false + } + + // an array of anything? + if (type === Array) return true + + // NaN is poisonous. Means that something is not allowed. + if (type !== type) { + debug("Poison NaN", k, val, type) + delete data[k] + return false + } + + // explicit list of values + if (val === type) { + debug("Explicitly allowed %j", val) + // if (isArray) (data[k] = data[k] || []).push(val) + // else data[k] = val + data[k] = val + return true + } + + // now go through the list of typeDefs, validate against each one. + var ok = false + , types = Object.keys(typeDefs) + for (var i = 0, l = types.length; i < l; i ++) { + debug("test type %j %j %j", k, val, types[i]) + var t = typeDefs[types[i]] + if (t && type === t.type) { + var d = {} + ok = false !== t.validate(d, k, val) + val = d[k] + if (ok) { + // if (isArray) (data[k] = data[k] || []).push(val) + // else data[k] = val + data[k] = val + break + } + } + } + debug("OK? %j (%j %j %j)", ok, k, val, types[i]) + + if (!ok) delete data[k] + return ok +} + +function parse (args, data, remain, types, shorthands) { + debug("parse", args, data, remain) + + var key = null + , abbrevs = abbrev(Object.keys(types)) + , shortAbbr = abbrev(Object.keys(shorthands)) + + for (var i = 0; i < args.length; i ++) { + var arg = args[i] + debug("arg", arg) + + if (arg.match(/^-{2,}$/)) { + // done with keys. + // the rest are args. + remain.push.apply(remain, args.slice(i + 1)) + args[i] = "--" + break + } + if (arg.charAt(0) === "-") { + if (arg.indexOf("=") !== -1) { + var v = arg.split("=") + arg = v.shift() + v = v.join("=") + args.splice.apply(args, [i, 1].concat([arg, v])) + } + // see if it's a shorthand + // if so, splice and back up to re-parse it. + var shRes = resolveShort(arg, shorthands, shortAbbr, abbrevs) + debug("arg=%j shRes=%j", arg, shRes) + if (shRes) { + debug(arg, shRes) + args.splice.apply(args, [i, 1].concat(shRes)) + if (arg !== shRes[0]) { + i -- + continue + } + } + arg = arg.replace(/^-+/, "") + var no = false + while (arg.toLowerCase().indexOf("no-") === 0) { + no = !no + arg = arg.substr(3) + } + + if (abbrevs[arg]) arg = abbrevs[arg] + + var isArray = types[arg] === Array || + Array.isArray(types[arg]) && types[arg].indexOf(Array) !== -1 + + var val + , la = args[i + 1] + + var isBool = no || + types[arg] === Boolean || + Array.isArray(types[arg]) && types[arg].indexOf(Boolean) !== -1 || + (la === "false" && + (types[arg] === null || + Array.isArray(types[arg]) && ~types[arg].indexOf(null))) + + if (isBool) { + // just set and move along + val = !no + // however, also support --bool true or --bool false + if (la === "true" || la === "false") { + val = JSON.parse(la) + la = null + if (no) val = !val + i ++ + } + + // also support "foo":[Boolean, "bar"] and "--foo bar" + if (Array.isArray(types[arg]) && la) { + if (~types[arg].indexOf(la)) { + // an explicit type + val = la + i ++ + } else if ( la === "null" && ~types[arg].indexOf(null) ) { + // null allowed + val = null + i ++ + } else if ( !la.match(/^-{2,}[^-]/) && + !isNaN(la) && + ~types[arg].indexOf(Number) ) { + // number + val = +la + i ++ + } else if ( !la.match(/^-[^-]/) && ~types[arg].indexOf(String) ) { + // string + val = la + i ++ + } + } + + if (isArray) (data[arg] = data[arg] || []).push(val) + else data[arg] = val + + continue + } + + if (la && la.match(/^-{2,}$/)) { + la = undefined + i -- + } + + val = la === undefined ? true : la + if (isArray) (data[arg] = data[arg] || []).push(val) + else data[arg] = val + + i ++ + continue + } + remain.push(arg) + } +} + +function resolveShort (arg, shorthands, shortAbbr, abbrevs) { + // handle single-char shorthands glommed together, like + // npm ls -glp, but only if there is one dash, and only if + // all of the chars are single-char shorthands, and it's + // not a match to some other abbrev. + arg = arg.replace(/^-+/, '') + if (abbrevs[arg] && !shorthands[arg]) { + return null + } + if (shortAbbr[arg]) { + arg = shortAbbr[arg] + } else { + var singles = shorthands.___singles + if (!singles) { + singles = Object.keys(shorthands).filter(function (s) { + return s.length === 1 + }).reduce(function (l,r) { l[r] = true ; return l }, {}) + shorthands.___singles = singles + } + var chrs = arg.split("").filter(function (c) { + return singles[c] + }) + if (chrs.join("") === arg) return chrs.map(function (c) { + return shorthands[c] + }).reduce(function (l, r) { + return l.concat(r) + }, []) + } + + if (shorthands[arg] && !Array.isArray(shorthands[arg])) { + shorthands[arg] = shorthands[arg].split(/\s+/) + } + return shorthands[arg] +} + +if (module === require.main) { +var assert = require("assert") + , util = require("util") + + , shorthands = + { s : ["--loglevel", "silent"] + , d : ["--loglevel", "info"] + , dd : ["--loglevel", "verbose"] + , ddd : ["--loglevel", "silly"] + , noreg : ["--no-registry"] + , reg : ["--registry"] + , "no-reg" : ["--no-registry"] + , silent : ["--loglevel", "silent"] + , verbose : ["--loglevel", "verbose"] + , h : ["--usage"] + , H : ["--usage"] + , "?" : ["--usage"] + , help : ["--usage"] + , v : ["--version"] + , f : ["--force"] + , desc : ["--description"] + , "no-desc" : ["--no-description"] + , "local" : ["--no-global"] + , l : ["--long"] + , p : ["--parseable"] + , porcelain : ["--parseable"] + , g : ["--global"] + } + + , types = + { aoa: Array + , nullstream: [null, Stream] + , date: Date + , str: String + , browser : String + , cache : path + , color : ["always", Boolean] + , depth : Number + , description : Boolean + , dev : Boolean + , editor : path + , force : Boolean + , global : Boolean + , globalconfig : path + , group : [String, Number] + , gzipbin : String + , logfd : [Number, Stream] + , loglevel : ["silent","win","error","warn","info","verbose","silly"] + , long : Boolean + , "node-version" : [false, String] + , npaturl : url + , npat : Boolean + , "onload-script" : [false, String] + , outfd : [Number, Stream] + , parseable : Boolean + , pre: Boolean + , prefix: path + , proxy : url + , "rebuild-bundle" : Boolean + , registry : url + , searchopts : String + , searchexclude: [null, String] + , shell : path + , t: [Array, String] + , tag : String + , tar : String + , tmp : path + , "unsafe-perm" : Boolean + , usage : Boolean + , user : String + , username : String + , userconfig : path + , version : Boolean + , viewer: path + , _exit : Boolean + } + +; [["-v", {version:true}, []] + ,["---v", {version:true}, []] + ,["ls -s --no-reg connect -d", + {loglevel:"info",registry:null},["ls","connect"]] + ,["ls ---s foo",{loglevel:"silent"},["ls","foo"]] + ,["ls --registry blargle", {}, ["ls"]] + ,["--no-registry", {registry:null}, []] + ,["--no-color true", {color:false}, []] + ,["--no-color false", {color:true}, []] + ,["--no-color", {color:false}, []] + ,["--color false", {color:false}, []] + ,["--color --logfd 7", {logfd:7,color:true}, []] + ,["--color=true", {color:true}, []] + ,["--logfd=10", {logfd:10}, []] + ,["--tmp=/tmp -tar=gtar",{tmp:"/tmp",tar:"gtar"},[]] + ,["--tmp=tmp -tar=gtar", + {tmp:path.resolve(process.cwd(), "tmp"),tar:"gtar"},[]] + ,["--logfd x", {}, []] + ,["a -true -- -no-false", {true:true},["a","-no-false"]] + ,["a -no-false", {false:false},["a"]] + ,["a -no-no-true", {true:true}, ["a"]] + ,["a -no-no-no-false", {false:false}, ["a"]] + ,["---NO-no-No-no-no-no-nO-no-no"+ + "-No-no-no-no-no-no-no-no-no"+ + "-no-no-no-no-NO-NO-no-no-no-no-no-no"+ + "-no-body-can-do-the-boogaloo-like-I-do" + ,{"body-can-do-the-boogaloo-like-I-do":false}, []] + ,["we are -no-strangers-to-love "+ + "--you-know the-rules --and so-do-i "+ + "---im-thinking-of=a-full-commitment "+ + "--no-you-would-get-this-from-any-other-guy "+ + "--no-gonna-give-you-up "+ + "-no-gonna-let-you-down=true "+ + "--no-no-gonna-run-around false "+ + "--desert-you=false "+ + "--make-you-cry false "+ + "--no-tell-a-lie "+ + "--no-no-and-hurt-you false" + ,{"strangers-to-love":false + ,"you-know":"the-rules" + ,"and":"so-do-i" + ,"you-would-get-this-from-any-other-guy":false + ,"gonna-give-you-up":false + ,"gonna-let-you-down":false + ,"gonna-run-around":false + ,"desert-you":false + ,"make-you-cry":false + ,"tell-a-lie":false + ,"and-hurt-you":false + },["we", "are"]] + ,["-t one -t two -t three" + ,{t: ["one", "two", "three"]} + ,[]] + ,["-t one -t null -t three four five null" + ,{t: ["one", "null", "three"]} + ,["four", "five", "null"]] + ,["-t foo" + ,{t:["foo"]} + ,[]] + ,["--no-t" + ,{t:["false"]} + ,[]] + ,["-no-no-t" + ,{t:["true"]} + ,[]] + ,["-aoa one -aoa null -aoa 100" + ,{aoa:["one", null, 100]} + ,[]] + ,["-str 100" + ,{str:"100"} + ,[]] + ,["--color always" + ,{color:"always"} + ,[]] + ,["--no-nullstream" + ,{nullstream:null} + ,[]] + ,["--nullstream false" + ,{nullstream:null} + ,[]] + ,["--notadate 2011-01-25" + ,{notadate: "2011-01-25"} + ,[]] + ,["--date 2011-01-25" + ,{date: new Date("2011-01-25")} + ,[]] + ].forEach(function (test) { + var argv = test[0].split(/\s+/) + , opts = test[1] + , rem = test[2] + , actual = nopt(types, shorthands, argv, 0) + , parsed = actual.argv + delete actual.argv + console.log(util.inspect(actual, false, 2, true), parsed.remain) + for (var i in opts) { + var e = JSON.stringify(opts[i]) + , a = JSON.stringify(actual[i] === undefined ? null : actual[i]) + if (e && typeof e === "object") { + assert.deepEqual(e, a) + } else { + assert.equal(e, a) + } + } + assert.deepEqual(rem, parsed.remain) + }) +} diff --git a/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md new file mode 100644 index 0000000..99746fe --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md @@ -0,0 +1,23 @@ +# abbrev-js + +Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). + +Usage: + + var abbrev = require("abbrev"); + abbrev("foo", "fool", "folding", "flop"); + + // returns: + { fl: 'flop' + , flo: 'flop' + , flop: 'flop' + , fol: 'folding' + , fold: 'folding' + , foldi: 'folding' + , foldin: 'folding' + , folding: 'folding' + , foo: 'foo' + , fool: 'fool' + } + +This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. diff --git a/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/lib/abbrev.js b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/lib/abbrev.js new file mode 100644 index 0000000..bee4132 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/lib/abbrev.js @@ -0,0 +1,111 @@ + +module.exports = exports = abbrev.abbrev = abbrev + +abbrev.monkeyPatch = monkeyPatch + +function monkeyPatch () { + Object.defineProperty(Array.prototype, 'abbrev', { + value: function () { return abbrev(this) }, + enumerable: false, configurable: true, writable: true + }) + + Object.defineProperty(Object.prototype, 'abbrev', { + value: function () { return abbrev(Object.keys(this)) }, + enumerable: false, configurable: true, writable: true + }) +} + +function abbrev (list) { + if (arguments.length !== 1 || !Array.isArray(list)) { + list = Array.prototype.slice.call(arguments, 0) + } + for (var i = 0, l = list.length, args = [] ; i < l ; i ++) { + args[i] = typeof list[i] === "string" ? list[i] : String(list[i]) + } + + // sort them lexicographically, so that they're next to their nearest kin + args = args.sort(lexSort) + + // walk through each, seeing how much it has in common with the next and previous + var abbrevs = {} + , prev = "" + for (var i = 0, l = args.length ; i < l ; i ++) { + var current = args[i] + , next = args[i + 1] || "" + , nextMatches = true + , prevMatches = true + if (current === next) continue + for (var j = 0, cl = current.length ; j < cl ; j ++) { + var curChar = current.charAt(j) + nextMatches = nextMatches && curChar === next.charAt(j) + prevMatches = prevMatches && curChar === prev.charAt(j) + if (!nextMatches && !prevMatches) { + j ++ + break + } + } + prev = current + if (j === cl) { + abbrevs[current] = current + continue + } + for (var a = current.substr(0, j) ; j <= cl ; j ++) { + abbrevs[a] = current + a += current.charAt(j) + } + } + return abbrevs +} + +function lexSort (a, b) { + return a === b ? 0 : a > b ? 1 : -1 +} + + +// tests +if (module === require.main) { + +var assert = require("assert") +var util = require("util") + +console.log("running tests") +function test (list, expect) { + var actual = abbrev(list) + assert.deepEqual(actual, expect, + "abbrev("+util.inspect(list)+") === " + util.inspect(expect) + "\n"+ + "actual: "+util.inspect(actual)) + actual = abbrev.apply(exports, list) + assert.deepEqual(abbrev.apply(exports, list), expect, + "abbrev("+list.map(JSON.stringify).join(",")+") === " + util.inspect(expect) + "\n"+ + "actual: "+util.inspect(actual)) +} + +test([ "ruby", "ruby", "rules", "rules", "rules" ], +{ rub: 'ruby' +, ruby: 'ruby' +, rul: 'rules' +, rule: 'rules' +, rules: 'rules' +}) +test(["fool", "foom", "pool", "pope"], +{ fool: 'fool' +, foom: 'foom' +, poo: 'pool' +, pool: 'pool' +, pop: 'pope' +, pope: 'pope' +}) +test(["a", "ab", "abc", "abcd", "abcde", "acde"], +{ a: 'a' +, ab: 'ab' +, abc: 'abc' +, abcd: 'abcd' +, abcde: 'abcde' +, ac: 'acde' +, acd: 'acde' +, acde: 'acde' +}) + +console.log("pass") + +} diff --git a/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json new file mode 100644 index 0000000..2190dd4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json @@ -0,0 +1,29 @@ +{ + "name": "abbrev", + "version": "1.0.4", + "description": "Like ruby's abbrev module, but in js", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me" + }, + "main": "./lib/abbrev.js", + "scripts": { + "test": "node lib/abbrev.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/isaacs/abbrev-js" + }, + "license": { + "type": "MIT", + "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" + }, + "readme": "# abbrev-js\n\nJust like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require(\"abbrev\");\n abbrev(\"foo\", \"fool\", \"folding\", \"flop\");\n \n // returns:\n { fl: 'flop'\n , flo: 'flop'\n , flop: 'flop'\n , fol: 'folding'\n , fold: 'folding'\n , foldi: 'folding'\n , foldin: 'folding'\n , folding: 'folding'\n , foo: 'foo'\n , fool: 'fool'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/abbrev-js/issues" + }, + "homepage": "https://github.com/isaacs/abbrev-js", + "_id": "abbrev@1.0.4", + "_from": "abbrev@1" +} diff --git a/static/js/node_modules/grunt/node_modules/nopt/package.json b/static/js/node_modules/grunt/node_modules/nopt/package.json new file mode 100644 index 0000000..ca3ad65 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/nopt/package.json @@ -0,0 +1,36 @@ +{ + "name": "nopt", + "version": "1.0.10", + "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "main": "lib/nopt.js", + "scripts": { + "test": "node lib/nopt.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/isaacs/nopt" + }, + "bin": { + "nopt": "./bin/nopt.js" + }, + "license": { + "type": "MIT", + "url": "https://github.com/isaacs/nopt/raw/master/LICENSE" + }, + "dependencies": { + "abbrev": "1" + }, + "readme": "If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require(\"nopt\")\n , Stream = require(\"stream\").Stream\n , path = require(\"path\")\n , knownOpts = { \"foo\" : [String, null]\n , \"bar\" : [Stream, Number]\n , \"baz\" : path\n , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n , \"flag\" : Boolean\n , \"pick\" : Boolean\n , \"many\" : [String, Array]\n }\n , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n , \"b7\" : [\"--bar\", \"7\"]\n , \"m\" : [\"--bloo\", \"medium\"]\n , \"p\" : [\"--pick\"]\n , \"f\" : [\"--flag\"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk 1000 -fp # unknown opts are ok.\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --blatzk true -fp # but they need a value\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: [\"1\", \"null\", \"foo\"] }\n\n$ node my-program.js --many foo\n{ many: [\"foo\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the \"Stream\" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you. So they're sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/nopt/issues" + }, + "homepage": "https://github.com/isaacs/nopt", + "_id": "nopt@1.0.10", + "_from": "nopt@~1.0.10" +} diff --git a/static/js/node_modules/grunt/node_modules/rimraf/AUTHORS b/static/js/node_modules/grunt/node_modules/rimraf/AUTHORS new file mode 100644 index 0000000..247b754 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/AUTHORS @@ -0,0 +1,6 @@ +# Authors sorted by whether or not they're me. +Isaac Z. Schlueter (http://blog.izs.me) +Wayne Larsen (http://github.com/wvl) +ritch +Marcel Laverdet +Yosef Dinerstein diff --git a/static/js/node_modules/grunt/node_modules/rimraf/LICENSE b/static/js/node_modules/grunt/node_modules/rimraf/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/rimraf/README.md b/static/js/node_modules/grunt/node_modules/rimraf/README.md new file mode 100644 index 0000000..96ce9b2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/README.md @@ -0,0 +1,21 @@ +A `rm -rf` for node. + +Install with `npm install rimraf`, or just drop rimraf.js somewhere. + +## API + +`rimraf(f, callback)` + +The callback will be called with an error if there is one. Certain +errors are handled for you: + +* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times + before giving up. +* `EMFILE` - If too many file descriptors get opened, rimraf will + patiently wait until more become available. + + +## rimraf.sync + +It can remove stuff synchronously, too. But that's not so good. Use +the async API. It's better. diff --git a/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/.npmignore b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/.npmignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/.npmignore @@ -0,0 +1 @@ +node_modules/ diff --git a/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/LICENSE b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/LICENSE new file mode 100644 index 0000000..05a4010 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/LICENSE @@ -0,0 +1,23 @@ +Copyright 2009, 2010, 2011 Isaac Z. Schlueter. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/README.md b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/README.md new file mode 100644 index 0000000..7d2e681 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/README.md @@ -0,0 +1,5 @@ +Just like node's `fs` module, but it does an incremental back-off when +EMFILE is encountered. + +Useful in asynchronous situations where one needs to try to open lots +and lots of files. diff --git a/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js new file mode 100644 index 0000000..be9951e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js @@ -0,0 +1,312 @@ +// this keeps a queue of opened file descriptors, and will make +// fs operations wait until some have closed before trying to open more. + +var fs = require("fs") + +// there is such a thing as TOO graceful. +if (fs.open === gracefulOpen) return + +var queue = [] + , constants = require("constants") + +exports = module.exports = fs +fs._curOpen = 0 + +fs.MIN_MAX_OPEN = 64 +fs.MAX_OPEN = 1024 + +var originalOpen = fs.open + , originalOpenSync = fs.openSync + , originalClose = fs.close + , originalCloseSync = fs.closeSync + + +// prevent EMFILE errors +function OpenReq (path, flags, mode, cb) { + this.path = path + this.flags = flags + this.mode = mode + this.cb = cb +} + +function noop () {} + +fs.open = gracefulOpen + +function gracefulOpen (path, flags, mode, cb) { + if (typeof mode === "function") cb = mode, mode = null + if (typeof cb !== "function") cb = noop + + if (fs._curOpen >= fs.MAX_OPEN) { + queue.push(new OpenReq(path, flags, mode, cb)) + setTimeout(flush) + return + } + open(path, flags, mode, function (er, fd) { + if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) { + // that was too many. reduce max, get back in queue. + // this should only happen once in a great while, and only + // if the ulimit -n is set lower than 1024. + fs.MAX_OPEN = fs._curOpen - 1 + return fs.open(path, flags, mode, cb) + } + cb(er, fd) + }) +} + +function open (path, flags, mode, cb) { + cb = cb || noop + fs._curOpen ++ + originalOpen.call(fs, path, flags, mode, function (er, fd) { + if (er) onclose() + cb(er, fd) + }) +} + +fs.openSync = function (path, flags, mode) { + var ret + ret = originalOpenSync.call(fs, path, flags, mode) + fs._curOpen ++ + return ret +} + +function onclose () { + fs._curOpen -- + flush() +} + +function flush () { + while (fs._curOpen < fs.MAX_OPEN) { + var req = queue.shift() + if (!req) return + open(req.path, req.flags || "r", req.mode || 0777, req.cb) + } +} + +fs.close = function (fd, cb) { + cb = cb || noop + originalClose.call(fs, fd, function (er) { + onclose() + cb(er) + }) +} + +fs.closeSync = function (fd) { + onclose() + return originalCloseSync.call(fs, fd) +} + + +// (re-)implement some things that are known busted or missing. + +var constants = require("constants") + +// lchmod, broken prior to 0.6.2 +// back-port the fix here. +if (constants.hasOwnProperty('O_SYMLINK') && + process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + fs.lchmod = function (path, mode, callback) { + callback = callback || noop + fs.open( path + , constants.O_WRONLY | constants.O_SYMLINK + , mode + , function (err, fd) { + if (err) { + callback(err) + return + } + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + fs.fchmod(fd, mode, function (err) { + fs.close(fd, function(err2) { + callback(err || err2) + }) + }) + }) + } + + fs.lchmodSync = function (path, mode) { + var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) + + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + var err, err2 + try { + var ret = fs.fchmodSync(fd, mode) + } catch (er) { + err = er + } + try { + fs.closeSync(fd) + } catch (er) { + err2 = er + } + if (err || err2) throw (err || err2) + return ret + } +} + + +// lutimes implementation, or no-op +if (!fs.lutimes) { + if (constants.hasOwnProperty("O_SYMLINK")) { + fs.lutimes = function (path, at, mt, cb) { + fs.open(path, constants.O_SYMLINK, function (er, fd) { + cb = cb || noop + if (er) return cb(er) + fs.futimes(fd, at, mt, function (er) { + fs.close(fd, function (er2) { + return cb(er || er2) + }) + }) + }) + } + + fs.lutimesSync = function (path, at, mt) { + var fd = fs.openSync(path, constants.O_SYMLINK) + , err + , err2 + , ret + + try { + var ret = fs.futimesSync(fd, at, mt) + } catch (er) { + err = er + } + try { + fs.closeSync(fd) + } catch (er) { + err2 = er + } + if (err || err2) throw (err || err2) + return ret + } + + } else if (fs.utimensat && constants.hasOwnProperty("AT_SYMLINK_NOFOLLOW")) { + // maybe utimensat will be bound soonish? + fs.lutimes = function (path, at, mt, cb) { + fs.utimensat(path, at, mt, constants.AT_SYMLINK_NOFOLLOW, cb) + } + + fs.lutimesSync = function (path, at, mt) { + return fs.utimensatSync(path, at, mt, constants.AT_SYMLINK_NOFOLLOW) + } + + } else { + fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) } + fs.lutimesSync = function () {} + } +} + + +// https://github.com/isaacs/node-graceful-fs/issues/4 +// Chown should not fail on einval or eperm if non-root. + +fs.chown = chownFix(fs.chown) +fs.fchown = chownFix(fs.fchown) +fs.lchown = chownFix(fs.lchown) + +fs.chownSync = chownFixSync(fs.chownSync) +fs.fchownSync = chownFixSync(fs.fchownSync) +fs.lchownSync = chownFixSync(fs.lchownSync) + +function chownFix (orig) { + if (!orig) return orig + return function (target, uid, gid, cb) { + return orig.call(fs, target, uid, gid, function (er, res) { + if (chownErOk(er)) er = null + cb(er, res) + }) + } +} + +function chownFixSync (orig) { + if (!orig) return orig + return function (target, uid, gid) { + try { + return orig.call(fs, target, uid, gid) + } catch (er) { + if (!chownErOk(er)) throw er + } + } +} + +function chownErOk (er) { + // if there's no getuid, or if getuid() is something other than 0, + // and the error is EINVAL or EPERM, then just ignore it. + // This specific case is a silent failure in cp, install, tar, + // and most other unix tools that manage permissions. + // When running as root, or if other types of errors are encountered, + // then it's strict. + if (!er || (!process.getuid || process.getuid() !== 0) + && (er.code === "EINVAL" || er.code === "EPERM")) return true +} + + +// if lchmod/lchown do not exist, then make them no-ops +if (!fs.lchmod) { + fs.lchmod = function (path, mode, cb) { + process.nextTick(cb) + } + fs.lchmodSync = function () {} +} +if (!fs.lchown) { + fs.lchown = function (path, uid, gid, cb) { + process.nextTick(cb) + } + fs.lchownSync = function () {} +} + + + +// on Windows, A/V software can lock the directory, causing this +// to fail with an EACCES or EPERM if the directory contains newly +// created files. Try again on failure, for up to 1 second. +if (process.platform === "win32") { + var rename_ = fs.rename + fs.rename = function rename (from, to, cb) { + var start = Date.now() + rename_(from, to, function CB (er) { + if (er + && (er.code === "EACCES" || er.code === "EPERM") + && Date.now() - start < 1000) { + return rename_(from, to, CB) + } + cb(er) + }) + } +} + + +// if read() returns EAGAIN, then just try it again. +var read = fs.read +fs.read = function (fd, buffer, offset, length, position, callback_) { + var callback + if (callback_ && typeof callback_ === 'function') { + var eagCounter = 0 + callback = function (er, _, __) { + if (er && er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + return read.call(fs, fd, buffer, offset, length, position, callback) + } + callback_.apply(this, arguments) + } + } + return read.call(fs, fd, buffer, offset, length, position, callback) +} + +var readSync = fs.readSync +fs.readSync = function (fd, buffer, offset, length, position) { + var eagCounter = 0 + while (true) { + try { + return readSync.call(fs, fd, buffer, offset, length, position) + } catch (er) { + if (er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + continue + } + throw er + } + } +} diff --git a/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/package.json b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/package.json new file mode 100644 index 0000000..3588203 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/package.json @@ -0,0 +1,40 @@ +{ + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + "name": "graceful-fs", + "description": "fs monkey-patching to avoid EMFILE and other problems", + "version": "1.1.14", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-graceful-fs.git" + }, + "main": "graceful-fs.js", + "engines": { + "node": ">=0.4.0" + }, + "directories": { + "test": "test" + }, + "scripts": { + "test": "tap test/*.js" + }, + "keywords": [ + "fs", + "EMFILE", + "error", + "handling", + "monkeypatch" + ], + "license": "BSD", + "readme": "Just like node's `fs` module, but it does an incremental back-off when\nEMFILE is encountered.\n\nUseful in asynchronous situations where one needs to try to open lots\nand lots of files.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/node-graceful-fs/issues" + }, + "homepage": "https://github.com/isaacs/node-graceful-fs", + "_id": "graceful-fs@1.1.14", + "_from": "graceful-fs@~1.1" +} diff --git a/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/test/open.js b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/test/open.js new file mode 100644 index 0000000..d05f880 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/test/open.js @@ -0,0 +1,41 @@ +var test = require('tap').test +var fs = require('../graceful-fs.js') + +test('open an existing file works', function (t) { + var start = fs._curOpen + var fd = fs.openSync(__filename, 'r') + t.equal(fs._curOpen, start + 1) + fs.closeSync(fd) + t.equal(fs._curOpen, start) + fs.open(__filename, 'r', function (er, fd) { + if (er) throw er + t.equal(fs._curOpen, start + 1) + fs.close(fd, function (er) { + if (er) throw er + t.equal(fs._curOpen, start) + t.end() + }) + }) +}) + +test('open a non-existing file throws', function (t) { + var start = fs._curOpen + var er + try { + var fd = fs.openSync('this file does not exist', 'r') + } catch (x) { + er = x + } + t.ok(er, 'should throw') + t.notOk(fd, 'should not get an fd') + t.equal(er.code, 'ENOENT') + t.equal(fs._curOpen, start) + + fs.open('neither does this file', 'r', function (er, fd) { + t.ok(er, 'should throw') + t.notOk(fd, 'should not get an fd') + t.equal(er.code, 'ENOENT') + t.equal(fs._curOpen, start) + t.end() + }) +}) diff --git a/static/js/node_modules/grunt/node_modules/rimraf/package.json b/static/js/node_modules/grunt/node_modules/rimraf/package.json new file mode 100644 index 0000000..ecb0740 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/package.json @@ -0,0 +1,59 @@ +{ + "name": "rimraf", + "version": "2.0.3", + "main": "rimraf.js", + "description": "A deep deletion module for node (like `rm -rf`)", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "license": { + "type": "MIT", + "url": "https://github.com/isaacs/rimraf/raw/master/LICENSE" + }, + "optionalDependencies": { + "graceful-fs": "~1.1" + }, + "repository": { + "type": "git", + "url": "git://github.com/isaacs/rimraf.git" + }, + "scripts": { + "test": "cd test && bash run.sh" + }, + "contributors": [ + { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + { + "name": "Wayne Larsen", + "email": "wayne@larsen.st", + "url": "http://github.com/wvl" + }, + { + "name": "ritch", + "email": "skawful@gmail.com" + }, + { + "name": "Marcel Laverdet" + }, + { + "name": "Yosef Dinerstein", + "email": "yosefd@microsoft.com" + } + ], + "readme": "A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that's not so good. Use\nthe async API. It's better.\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/rimraf/issues" + }, + "homepage": "https://github.com/isaacs/rimraf", + "dependencies": { + "graceful-fs": "~1.1" + }, + "_id": "rimraf@2.0.3", + "_from": "rimraf@~2.0.3" +} diff --git a/static/js/node_modules/grunt/node_modules/rimraf/rimraf.js b/static/js/node_modules/grunt/node_modules/rimraf/rimraf.js new file mode 100644 index 0000000..95b2de8 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/rimraf.js @@ -0,0 +1,161 @@ +module.exports = rimraf +rimraf.sync = rimrafSync + +var path = require("path") + , fs + +try { + // optional dependency + fs = require("graceful-fs") +} catch (er) { + fs = require("fs") +} + +var lstat = "lstat" +if (process.platform === "win32") { + // not reliable on windows prior to 0.7.9 + var v = process.version.replace(/^v/, '').split(/\.|-/).map(Number) + if (v[0] === 0 && (v[1] < 7 || v[1] == 7 && v[2] < 9)) { + lstat = "stat" + } +} +if (!fs[lstat]) lstat = "stat" +var lstatSync = lstat + "Sync" + +// for EMFILE handling +var timeout = 0 +exports.EMFILE_MAX = 1000 +exports.BUSYTRIES_MAX = 3 + +function rimraf (p, cb) { + + if (!cb) throw new Error("No callback passed to rimraf()") + + var busyTries = 0 + + rimraf_(p, function CB (er) { + if (er) { + if (er.code === "EBUSY" && busyTries < exports.BUSYTRIES_MAX) { + busyTries ++ + var time = busyTries * 100 + // try again, with the same exact callback as this one. + return setTimeout(function () { + rimraf_(p, CB) + }, time) + } + + // this one won't happen if graceful-fs is used. + if (er.code === "EMFILE" && timeout < exports.EMFILE_MAX) { + return setTimeout(function () { + rimraf_(p, CB) + }, timeout ++) + } + + // already gone + if (er.code === "ENOENT") er = null + } + + timeout = 0 + cb(er) + }) +} + +function rimraf_ (p, cb) { + fs[lstat](p, function (er, s) { + if (er) { + // already gone + if (er.code === "ENOENT") return cb() + // some other kind of error, permissions, etc. + return cb(er) + } + + return rm_(p, s, false, cb) + }) +} + + +var myGid = function myGid () { + var g = process.getgid && process.getgid() + myGid = function myGid () { return g } + return g +} + +var myUid = function myUid () { + var u = process.getuid && process.getuid() + myUid = function myUid () { return u } + return u +} + + +function writable (s) { + var mode = s.mode || 0777 + , uid = myUid() + , gid = myGid() + return (mode & 0002) + || (gid === s.gid && (mode & 0020)) + || (uid === s.uid && (mode & 0200)) +} + +function rm_ (p, s, didWritableCheck, cb) { + if (!didWritableCheck && !writable(s)) { + // make file writable + // user/group/world, doesn't matter at this point + // since it's about to get nuked. + return fs.chmod(p, s.mode | 0222, function (er) { + if (er) return cb(er) + rm_(p, s, true, cb) + }) + } + + if (!s.isDirectory()) { + return fs.unlink(p, cb) + } + + // directory + fs.readdir(p, function (er, files) { + if (er) return cb(er) + asyncForEach(files.map(function (f) { + return path.join(p, f) + }), function (file, cb) { + rimraf(file, cb) + }, function (er) { + if (er) return cb(er) + fs.rmdir(p, cb) + }) + }) +} + +function asyncForEach (list, fn, cb) { + if (!list.length) cb() + var c = list.length + , errState = null + list.forEach(function (item, i, list) { + fn(item, function (er) { + if (errState) return + if (er) return cb(errState = er) + if (-- c === 0) return cb() + }) + }) +} + +// this looks simpler, but it will fail with big directory trees, +// or on slow stupid awful cygwin filesystems +function rimrafSync (p) { + try { + var s = fs[lstatSync](p) + } catch (er) { + if (er.code === "ENOENT") return + throw er + } + + if (!writable(s)) { + fs.chmodSync(p, s.mode | 0222) + } + + if (!s.isDirectory()) return fs.unlinkSync(p) + + fs.readdirSync(p).forEach(function (f) { + rimrafSync(path.join(p, f)) + }) + fs.rmdirSync(p) +} diff --git a/static/js/node_modules/grunt/node_modules/rimraf/test/run.sh b/static/js/node_modules/grunt/node_modules/rimraf/test/run.sh new file mode 100644 index 0000000..598f016 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/test/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -e +for i in test-*.js; do + echo -n $i ... + bash setup.sh + node $i + ! [ -d target ] + echo "pass" +done +rm -rf target diff --git a/static/js/node_modules/grunt/node_modules/rimraf/test/setup.sh b/static/js/node_modules/grunt/node_modules/rimraf/test/setup.sh new file mode 100644 index 0000000..2602e63 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/test/setup.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +set -e + +files=10 +folders=2 +depth=4 +target="$PWD/target" + +rm -rf target + +fill () { + local depth=$1 + local files=$2 + local folders=$3 + local target=$4 + + if ! [ -d $target ]; then + mkdir -p $target + fi + + local f + + f=$files + while [ $f -gt 0 ]; do + touch "$target/f-$depth-$f" + let f-- + done + + let depth-- + + if [ $depth -le 0 ]; then + return 0 + fi + + f=$folders + while [ $f -gt 0 ]; do + mkdir "$target/folder-$depth-$f" + fill $depth $files $folders "$target/d-$depth-$f" + let f-- + done +} + +fill $depth $files $folders $target + +# sanity assert +[ -d $target ] diff --git a/static/js/node_modules/grunt/node_modules/rimraf/test/test-async.js b/static/js/node_modules/grunt/node_modules/rimraf/test/test-async.js new file mode 100644 index 0000000..9c2e0b7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/test/test-async.js @@ -0,0 +1,5 @@ +var rimraf = require("../rimraf") + , path = require("path") +rimraf(path.join(__dirname, "target"), function (er) { + if (er) throw er +}) diff --git a/static/js/node_modules/grunt/node_modules/rimraf/test/test-fiber.js b/static/js/node_modules/grunt/node_modules/rimraf/test/test-fiber.js new file mode 100644 index 0000000..e69de29 diff --git a/static/js/node_modules/grunt/node_modules/rimraf/test/test-sync.js b/static/js/node_modules/grunt/node_modules/rimraf/test/test-sync.js new file mode 100644 index 0000000..eb71f10 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/rimraf/test/test-sync.js @@ -0,0 +1,3 @@ +var rimraf = require("../rimraf") + , path = require("path") +rimraf.sync(path.join(__dirname, "target")) diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/.travis.yml b/static/js/node_modules/grunt/node_modules/underscore.string/.travis.yml new file mode 100644 index 0000000..ab27b29 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/.travis.yml @@ -0,0 +1,8 @@ +language: ruby +rvm: + - 1.9.3 + +before_script: + - "export DISPLAY=:99.0" + - "sh -e /etc/init.d/xvfb start" + - sleep 2 \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/Gemfile b/static/js/node_modules/grunt/node_modules/underscore.string/Gemfile new file mode 100644 index 0000000..f024827 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/Gemfile @@ -0,0 +1,5 @@ +source :rubygems + +gem 'serve' +gem 'uglifier' +gem 'rake' \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/Gemfile.lock b/static/js/node_modules/grunt/node_modules/underscore.string/Gemfile.lock new file mode 100644 index 0000000..a6bb1e7 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/Gemfile.lock @@ -0,0 +1,34 @@ +GEM + remote: http://rubygems.org/ + specs: + activesupport (3.2.3) + i18n (~> 0.6) + multi_json (~> 1.0) + execjs (1.3.0) + multi_json (~> 1.0) + i18n (0.6.0) + multi_json (1.2.0) + rack (1.4.1) + rack-test (0.6.1) + rack (>= 1.0) + rake (0.9.2.2) + serve (1.5.1) + activesupport (~> 3.0) + i18n + rack (~> 1.2) + rack-test (~> 0.5) + tilt (~> 1.3) + tzinfo + tilt (1.3.3) + tzinfo (0.3.33) + uglifier (1.2.4) + execjs (>= 0.3.0) + multi_json (>= 1.0.2) + +PLATFORMS + ruby + +DEPENDENCIES + rake + serve + uglifier diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/README.markdown b/static/js/node_modules/grunt/node_modules/underscore.string/README.markdown new file mode 100644 index 0000000..d2244b5 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/README.markdown @@ -0,0 +1,668 @@ +# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) # + + + +Javascript lacks complete string manipulation operations. +This an attempt to fill that gap. List of build-in methods can be found +for example from [Dive Into JavaScript][d]. + +[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object + + +As name states this an extension for [Underscore.js][u], but it can be used +independently from **_s**-global variable. But with Underscore.js you can +use Object-Oriented style and chaining: + +[u]: http://documentcloud.github.com/underscore/ + +```javascript +_(" epeli ").chain().trim().capitalize().value() +=> "Epeli" +``` + +## Download ## + + * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb* + * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb* + + +## Node.js installation ## + +**npm package** + + npm install underscore.string + +**Standalone usage**: + +```javascript +var _s = require('underscore.string'); +``` + +**Integrate with Underscore.js**: + +```javascript +var _ = require('underscore'); + +// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains) +_.str = require('underscore.string'); + +// Mix in non-conflict functions to Underscore namespace if you want +_.mixin(_.str.exports()); + +// All functions, include conflict, will be available through _.str object +_.str.include('Underscore.string', 'string'); // => true +``` + +## String Functions ## + +For availability of functions in this way you need to mix in Underscore.string functions: + +```javascript +_.mixin(_.string.exports()); +``` + +otherwise functions from examples will be available through _.string or _.str objects: + +```javascript +_.str.capitalize('epeli') +=> "Epeli" +``` + +**capitalize** _.capitalize(string) + +Converts first letter of the string to uppercase. + +```javascript +_.capitalize("foo Bar") +=> "Foo Bar" +``` + +**chop** _.chop(string, step) + +```javascript +_.chop('whitespace', 3) +=> ['whi','tes','pac','e'] +``` + +**clean** _.clean(str) + +Compress some whitespaces to one. + +```javascript +_.clean(" foo bar ") +=> 'foo bar' +``` + +**chars** _.chars(str) + +```javascript +_.chars('Hello') +=> ['H','e','l','l','o'] +``` + +**includes** _.includes(string, substring) + +Tests if string contains a substring. + +```javascript +_.includes("foobar", "ob") +=> true +``` + +**include** available only through _.str object, because Underscore has function with the same name. + +```javascript +_.str.include("foobar", "ob") +=> true +``` + +**includes** function was removed + +But you can create it in this way, for compatibility with previous versions: + +```javascript +_.includes = _.str.include +``` + +**count** _.count(string, substring) + +```javascript +_('Hello world').count('l') +=> 3 +``` + +**escapeHTML** _.escapeHTML(string) + +Converts HTML special characters to their entity equivalents. + +```javascript +_('
            Blah blah blah
            ').escapeHTML(); +=> '<div>Blah blah blah</div>' +``` + +**unescapeHTML** _.unescapeHTML(string) + +Converts entity characters to HTML equivalents. + +```javascript +_('<div>Blah blah blah</div>').unescapeHTML(); +=> '
            Blah blah blah
            ' +``` + +**insert** _.insert(string, index, substing) + +```javascript +_('Hello ').insert(6, 'world') +=> 'Hello world' +``` + +**isBlank** _.isBlank(string) + +```javascript +_('').isBlank(); // => true +_('\n').isBlank(); // => true +_(' ').isBlank(); // => true +_('a').isBlank(); // => false +``` + +**join** _.join(separator, *strings) + +Joins strings together with given separator + +```javascript +_.join(" ", "foo", "bar") +=> "foo bar" +``` + +**lines** _.lines(str) + +```javascript +_.lines("Hello\nWorld") +=> ["Hello", "World"] +``` + +**reverse** available only through _.str object, because Underscore has function with the same name. + +Return reversed string: + +```javascript +_.str.reverse("foobar") +=> 'raboof' +``` + +**splice** _.splice(string, index, howmany, substring) + +Like a array splice. + +```javascript +_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli') +=> 'https://edtsech@bitbucket.org/epeli/underscore.strings' +``` + +**startsWith** _.startsWith(string, starts) + +This method checks whether string starts with starts. + +```javascript +_("image.gif").startsWith("image") +=> true +``` + +**endsWith** _.endsWith(string, ends) + +This method checks whether string ends with ends. + +```javascript +_("image.gif").endsWith("gif") +=> true +``` + +**succ** _.succ(str) + +Returns the successor to str. + +```javascript +_('a').succ() +=> 'b' + +_('A').succ() +=> 'B' +``` + +**supplant** + +Supplant function was removed, use Underscore.js [template function][p]. + +[p]: http://documentcloud.github.com/underscore/#template + +**strip** alias for *trim* + +**lstrip** alias for *ltrim* + +**rstrip** alias for *rtrim* + +**titleize** _.titleize(string) + +```javascript +_('my name is epeli').titleize() +=> 'My Name Is Epeli' +``` + +**camelize** _.camelize(string) + +Converts underscored or dasherized string to a camelized one + +```javascript +_('-moz-transform').camelize() +=> 'MozTransform' +``` + +**classify** _.classify(string) + +Converts string to camelized class name + +```javascript +_('some_class_name').classify() +=> 'SomeClassName' +``` + +**underscored** _.underscored(string) + +Converts a camelized or dasherized string into an underscored one + +```javascript +_('MozTransform').underscored() +=> 'moz_transform' +``` + +**dasherize** _.dasherize(string) + +Converts a underscored or camelized string into an dasherized one + +```javascript +_('MozTransform').dasherize() +=> '-moz-transform' +``` + +**humanize** _.humanize(string) + +Converts an underscored, camelized, or dasherized string into a humanized one. +Also removes beginning and ending whitespace, and removes the postfix '_id'. + +```javascript +_(' capitalize dash-CamelCase_underscore trim ').humanize() +=> 'Capitalize dash camel case underscore trim' +``` + +**trim** _.trim(string, [characters]) + +trims defined characters from begining and ending of the string. +Defaults to whitespace characters. + +```javascript +_.trim(" foobar ") +=> "foobar" + +_.trim("_-foobar-_", "_-") +=> "foobar" +``` + + +**ltrim** _.ltrim(string, [characters]) + +Left trim. Similar to trim, but only for left side. + + +**rtrim** _.rtrim(string, [characters]) + +Right trim. Similar to trim, but only for right side. + +**truncate** _.truncate(string, length, truncateString) + +```javascript +_('Hello world').truncate(5) +=> 'Hello...' + +_('Hello').truncate(10) +=> 'Hello' +``` + +**prune** _.prune(string, length, pruneString) + +Elegant version of truncate. +Makes sure the pruned string does not exceed the original length. +Avoid half-chopped words when truncating. + +```javascript +_('Hello, world').prune(5) +=> 'Hello...' + +_('Hello, world').prune(8) +=> 'Hello...' + +_('Hello, world').prune(5, ' (read a lot more)') +=> 'Hello, world' (as adding "(read a lot more)" would be longer than the original string) + +_('Hello, cruel world').prune(15) +=> 'Hello, cruel...' + +_('Hello').prune(10) +=> 'Hello' +``` + +**words** _.words(str, delimiter=" ") + +Split string by delimiter (String or RegExp), ' ' by default. + +```javascript +_.words("I love you") +=> ["I","love","you"] + +_.words("I_love_you", "_") +=> ["I","love","you"] + +_.words("I-love-you", /-/) +=> ["I","love","you"] +``` + +**sprintf** _.sprintf(string format, *arguments) + +C like string formatting. +Credits goes to [Alexandru Marasteanu][o]. +For more detailed documentation, see the [original page][o]. + +[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript + +```javascript +_.sprintf("%.1f", 1.17) +"1.2" +``` + +**pad** _.pad(str, length, [padStr, type]) + +pads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`" "`). `padStr` is truncated to a single character if necessary. + +```javascript +_.pad("1", 8) +-> " 1"; + +_.pad("1", 8, '0') +-> "00000001"; + +_.pad("1", 8, '0', 'right') +-> "10000000"; + +_.pad("1", 8, '0', 'both') +-> "00001000"; + +_.pad("1", 8, 'bleepblorp', 'both') +-> "bbbb1bbb"; +``` + +**lpad** _.lpad(str, length, [padStr]) + +left-pad a string. Alias for `pad(str, length, padStr, 'left')` + +```javascript +_.lpad("1", 8, '0') +-> "00000001"; +``` + +**rpad** _.rpad(str, length, [padStr]) + +right-pad a string. Alias for `pad(str, length, padStr, 'right')` + +```javascript +_.rpad("1", 8, '0') +-> "10000000"; +``` + +**lrpad** _.lrpad(str, length, [padStr]) + +left/right-pad a string. Alias for `pad(str, length, padStr, 'both')` + +```javascript +_.lrpad("1", 8, '0') +-> "00001000"; +``` + +**center** alias for **lrpad** + +**ljust** alias for *rpad* + +**rjust** alias for *lpad* + +**toNumber** _.toNumber(string, [decimals]) + +Parse string to number. Returns NaN if string can't be parsed to number. + +```javascript +_('2.556').toNumber() +=> 3 + +_('2.556').toNumber(1) +=> 2.6 +``` + +**strRight** _.strRight(string, pattern) + +Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strRight('_') +=> "is_a_test_string"; +``` + +**strRightBack** _.strRightBack(string, pattern) + +Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strRightBack('_') +=> "string"; +``` + +**strLeft** _.strLeft(string, pattern) + +Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strLeft('_') +=> "This"; +``` + +**strLeftBack** _.strLeftBack(string, pattern) + +Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. + +```javascript +_('This_is_a_test_string').strLeftBack('_') +=> "This_is_a_test"; +``` + +**stripTags** + +Removes all html tags from string. + +```javascript +_('a link').stripTags() +=> 'a link' + +_('a link').stripTags() +=> 'a linkalert("hello world!")' +``` + +**toSentence** _.toSentence(array, [delimiter, lastDelimiter]) + +Join an array into a human readable sentence. + +```javascript +_.toSentence(['jQuery', 'Mootools', 'Prototype']) +=> 'jQuery, Mootools and Prototype'; + +_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ') +=> 'jQuery, Mootools unt Prototype'; +``` + +**repeat** _.repeat(string, count, [separator]) + +Repeats a string count times. + +```javascript +_.repeat("foo", 3) +=> 'foofoofoo'; + +_.repeat("foo", 3, "bar") +=> 'foobarfoobarfoo' +``` + +**slugify** _.slugify(string) + +Transform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash. + +```javascript +_.slugify("Un éléphant à l'orée du bois") +=> 'un-elephant-a-loree-du-bois'; +``` + +***Caution: this function is charset dependent*** + +## Roadmap ## + +Any suggestions or bug reports are welcome. Just email me or more preferably open an issue. + +## Changelog ## + +### 2.0.0 ### + +* Added prune, humanize functions +* Added _.string (_.str) namespace for Underscore.string library +* Removed includes function + +#### Problems + +We lose two things for `include` and `reverse` methods from `_.string`: + +* Calls like `_('foobar').include('bar')` aren't available; +* Chaining isn't available too. + +But if you need this functionality you can create aliases for conflict functions which will be convenient for you: + +```javascript +_.mixin({ + includeString: _.str.include, + reverseString: _.str.reverse +}) + +// Now wrapper calls and chaining are available. +_('foobar').chain().reverseString().includeString('rab').value() +``` + +#### Standalone Usage + +If you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias +But of course you can just reassign `_` variable with `_.string` + +```javascript +_ = _.string +``` +### 2.2.0 ### + +* Capitalize method behavior changed +* Various perfomance tweaks + +### 2.1.1### + +* Fixed words method bug +* Added classify method + +### 2.1.0 ### + +* AMD support +* Added toSentence method +* Added slugify method +* Lots of speed optimizations + +### 2.0.0 ### + +For upgrading to this version you need to mix in Underscore.string library to Underscore object: + +```javascript +_.mixin(_.string.exports()); +``` + +and all non-conflict Underscore.string functions will be available through Underscore object. +Also function `includes` has been removed, you should replace this function by `_.str.include` +or create alias `_.includes = _.str.include` and all your code will work fine. + +### 1.1.6 ### + +* Fixed reverse and truncate +* Added isBlank, stripTags, inlude(alias for includes) +* Added uglifier compression + +### 1.1.5 ### + +* Added strRight, strRightBack, strLeft, strLeftBack + +### 1.1.4 ### + +* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust +* Integration with Underscore 1.1.6 + +### 1.1.3 ### + +* Added methods: underscored, camelize, dasherize +* Support newer version of npm + +### 1.1.2 ### + +* Created functions: lines, chars, words functions + +### 1.0.2 ### + +* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible) +* Removed 'reverse' function, because this function override underscore.js 'reverse' + +## Contribute ## + +* Fork & pull request. Don't forget about tests. +* If you planning add some feature please create issue before. + +Otherwise changes will be rejected. + +## Contributors list ## + +* Esa-Matti Suuronen (), +* Edward Tsech , +* Sasha Koss (), +* Vladimir Dronnikov , +* Pete Kruckenberg (), +* Paul Chavard (), +* Ed Finkler () +* Pavel Pravosud +* Anton Lindqvist () + +## Licence ## + +The MIT License + +Copyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/Rakefile b/static/js/node_modules/grunt/node_modules/underscore.string/Rakefile new file mode 100644 index 0000000..baa164c --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/Rakefile @@ -0,0 +1,28 @@ +# encoding: utf-8 +task default: :test + +desc 'Use UglifyJS to compress Underscore.string' +task :build do + require 'uglifier' + source = File.read('lib/underscore.string.js') + compressed = Uglifier.compile(source, copyright: false) + File.open('dist/underscore.string.min.js', 'w'){ |f| f.write compressed } + compression_rate = compressed.length.to_f/source.length + puts "compressed dist/underscore.string.min.js: #{compressed.length}/#{source.length} #{(compression_rate * 100).round}%" +end + +desc 'Run tests' +task :test do + pid = spawn('bundle exec serve', err: '/dev/null') + sleep 2 + + puts "Running underscore.string test suite." + result1 = system %{phantomjs ./test/run-qunit.js "http://localhost:4000/test/test.html"} + + puts "Running Underscore test suite." + result2 = system %{phantomjs ./test/run-qunit.js "http://localhost:4000/test/test_underscore/test.html"} + + Process.kill 'INT', pid + + exit(result1 && result2 ? 0 : 1) +end \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js b/static/js/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js new file mode 100644 index 0000000..cd436e1 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js @@ -0,0 +1 @@ +(function(a){"use strict";var b=String.prototype.trim,c=String.prototype.trimRight,d=String.prototype.trimLeft,e=function(a){return a*1||0},f=function(a,b,c){a+="",b=~~b;for(var d=[];b>0;d[--b]=a);return d.join(c==null?"":c)},g=function(a){return Array.prototype.slice.call(a)},h=function(a){return a!=null?"["+m.escapeRegExp(""+a)+"]":"\\s"},i={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},j={};for(var k in i)j[i[k]]=k;var l=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}var b=f,c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e=1,f=c.length,g="",h,i=[],j,k,m,n,o,p;for(j=0;j=0?"+"+h:h,o=m[4]?m[4]=="0"?"0":m[4].charAt(1):" ",p=m[6]-String(h).length,n=m[6]?b(o,p):"",i.push(m[5]?h+n:n+h)}}return i.join("")},c.cache={},c.parse=function(a){var b=a,c=[],d=[],e=0;while(b){if((c=/^[^\x25]+/.exec(b))!==null)d.push(c[0]);else if((c=/^\x25{2}/.exec(b))!==null)d.push("%");else{if((c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b))===null)throw new Error("[_.sprintf] huh?");if(c[2]){e|=1;var f=[],g=c[2],h=[];if((h=/^([a-z_][a-z_\d]*)/i.exec(g))===null)throw new Error("[_.sprintf] huh?");f.push(h[1]);while((g=g.substring(h[0].length))!=="")if((h=/^\.([a-z_][a-z_\d]*)/i.exec(g))!==null)f.push(h[1]);else{if((h=/^\[(\d+)\]/.exec(g))===null)throw new Error("[_.sprintf] huh?");f.push(h[1])}c[2]=f}else e|=2;if(e===3)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");d.push(c)}b=b.substring(c[0].length)}return d},c}(),m={VERSION:"2.1.1",isBlank:function(a){return/^\s*$/.test(a)},stripTags:function(a){return(""+a).replace(/<\/?[^>]+>/g,"")},capitalize:function(a){return a+="",a.charAt(0).toUpperCase()+a.substring(1)},chop:function(a,b){a+="",b=~~b||a.length;var c=[];for(var d=0;d"']/g,function(a){return"&"+j[a]+";"})},unescapeHTML:function(a){return(""+a).replace(/\&([^;]+);/g,function(a,b){var c;return b in i?i[b]:(c=b.match(/^#x([\da-fA-F]+)$/))?String.fromCharCode(parseInt(c[1],16)):(c=b.match(/^#(\d+)$/))?String.fromCharCode(~~c[1]):a})},escapeRegExp:function(a){return a.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},insert:function(a,b,c){var d=m.chars(a);return d.splice(~~b,0,""+c),d.join("")},include:function(a,b){return!!~(""+a).indexOf(b)},join:function(){var a=g(arguments);return a.join(a.shift())},lines:function(a){return(""+a).split("\n")},reverse:function(a){return m.chars(a).reverse().join("")},splice:function(a,b,c,d){var e=m.chars(a);return e.splice(~~b,~~c,d),e.join("")},startsWith:function(a,b){return a+="",b+="",a.length>=b.length&&a.substring(0,b.length)===b},endsWith:function(a,b){return a+="",b+="",a.length>=b.length&&a.substring(a.length-b.length)===b},succ:function(a){a+="";var b=m.chars(a);return b.splice(a.length-1,1,String.fromCharCode(a.charCodeAt(a.length-1)+1)),b.join("")},titleize:function(a){return(""+a).replace(/\b./g,function(a){return a.toUpperCase()})},camelize:function(a){return m.trim(a).replace(/[-_\s]+(.)?/g,function(a,b){return b&&b.toUpperCase()})},underscored:function(a){return m.trim(a).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(a){return m.trim(a).replace(/[_\s]+/g,"-").replace(/([A-Z])/g,"-$1").replace(/-+/g,"-").toLowerCase()},classify:function(a){return a+="",m.titleize(a.replace(/_/g," ")).replace(/\s/g,"")},humanize:function(a){return m.capitalize(this.underscored(a).replace(/_id$/,"").replace(/_/g," "))},trim:function(a,c){return a+="",!c&&b?b.call(a):(c=h(c),a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""))},ltrim:function(a,b){return a+="",!b&&d?d.call(a):(b=h(b),a.replace(new RegExp("^"+b+"+"),""))},rtrim:function(a,b){return a+="",!b&&c?c.call(a):(b=h(b),a.replace(new RegExp(b+"+$"),""))},truncate:function(a,b,c){return a+="",c=c||"...",b=~~b,a.length>b?a.slice(0,b)+c:a},prune:function(a,b,c){a+="",b=~~b,c=c!=null?""+c:"...";var d,e,f=a.replace(/\W/g,function(a){return a.toUpperCase()!==a.toLowerCase()?"A":" "});return e=f.charAt(b),d=f.slice(0,b),e&&e.match(/\S/)&&(d=d.replace(/\s\S+$/,"")),d=m.rtrim(d),(d+c).length>a.length?a:a.substring(0,d.length)+c},words:function(a,b){return m.trim(a,b).split(b||/\s+/)},pad:function(a,b,c,d){a+="";var e=0;b=~~b,c?c.length>1&&(c=c.charAt(0)):c=" ";switch(d){case"right":return e=b-a.length,a+f(c,e);case"both":return e=b-a.length,f(c,Math.ceil(e/2))+a+f(c,Math.floor(e/2));default:return e=b-a.length,f(c,e)+a}},lpad:function(a,b,c){return m.pad(a,b,c)},rpad:function(a,b,c){return m.pad(a,b,c,"right")},lrpad:function(a,b,c){return m.pad(a,b,c,"both")},sprintf:l,vsprintf:function(a,b){return b.unshift(a),l.apply(null,b)},toNumber:function(a,b){a+="";var c=e(e(a).toFixed(~~b));return c===0&&!a.match(/^0+$/)?Number.NaN:c},strRight:function(a,b){a+="",b=b!=null?""+b:b;var c=b?a.indexOf(b):-1;return~c?a.slice(c+b.length,a.length):a},strRightBack:function(a,b){a+="",b=b!=null?""+b:b;var c=b?a.lastIndexOf(b):-1;return~c?a.slice(c+b.length,a.length):a},strLeft:function(a,b){a+="",b=b!=null?""+b:b;var c=b?a.indexOf(b):-1;return~c?a.slice(0,c):a},strLeftBack:function(a,b){a+="",b=b!=null?""+b:b;var c=a.lastIndexOf(b);return~c?a.slice(0,c):a},toSentence:function(a,b,c){b||(b=", "),c||(c=" and ");var d=a.length,e="";for(var f=0;f +// Underscore.strings is freely distributable under the terms of the MIT license. +// Documentation: https://github.com/epeli/underscore.string +// Some code is borrowed from MooTools and Alexandru Marasteanu. + +// Version 2.2.0rc + +(function(root){ + 'use strict'; + + // Defining helper functions. + + var nativeTrim = String.prototype.trim; + var nativeTrimRight = String.prototype.trimRight; + var nativeTrimLeft = String.prototype.trimLeft; + + var parseNumber = function(source) { return source * 1 || 0; }; + + var strRepeat = function(str, qty, separator){ + // ~~var — is the fastest available way to convert anything to Integer in javascript. + // We'll use it extensively in this lib. + str += ''; qty = ~~qty; + for (var repeat = []; qty > 0; repeat[--qty] = str) {} + return repeat.join(separator == null ? '' : separator); + }; + + var slice = function(a){ + return Array.prototype.slice.call(a); + }; + + var defaultToWhiteSpace = function(characters){ + if (characters != null) { + return '[' + _s.escapeRegExp(''+characters) + ']'; + } + return '\\s'; + }; + + var escapeChars = { + lt: '<', + gt: '>', + quot: '"', + apos: "'", + amp: '&' + }; + + var reversedEscapeChars = {}; + for(var key in escapeChars){ reversedEscapeChars[escapeChars[key]] = key; } + + // sprintf() for JavaScript 0.7-beta1 + // http://www.diveintojavascript.com/projects/javascript-sprintf + // + // Copyright (c) Alexandru Marasteanu + // All rights reserved. + + var sprintf = (function() { + function get_type(variable) { + return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase(); + } + + var str_repeat = strRepeat; + + var str_format = function() { + if (!str_format.cache.hasOwnProperty(arguments[0])) { + str_format.cache[arguments[0]] = str_format.parse(arguments[0]); + } + return str_format.format.call(null, str_format.cache[arguments[0]], arguments); + }; + + str_format.format = function(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length; + for (i = 0; i < tree_length; i++) { + node_type = get_type(parse_tree[i]); + if (node_type === 'string') { + output.push(parse_tree[i]); + } + else if (node_type === 'array') { + match = parse_tree[i]; // convenience purposes only + if (match[2]) { // keyword argument + arg = argv[cursor]; + for (k = 0; k < match[2].length; k++) { + if (!arg.hasOwnProperty(match[2][k])) { + throw new Error(sprintf('[_.sprintf] property "%s" does not exist', match[2][k])); + } + arg = arg[match[2][k]]; + } + } else if (match[1]) { // positional argument (explicit) + arg = argv[match[1]]; + } + else { // positional argument (implicit) + arg = argv[cursor++]; + } + + if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) { + throw new Error(sprintf('[_.sprintf] expecting number but found %s', get_type(arg))); + } + switch (match[8]) { + case 'b': arg = arg.toString(2); break; + case 'c': arg = String.fromCharCode(arg); break; + case 'd': arg = parseInt(arg, 10); break; + case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break; + case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break; + case 'o': arg = arg.toString(8); break; + case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break; + case 'u': arg = Math.abs(arg); break; + case 'x': arg = arg.toString(16); break; + case 'X': arg = arg.toString(16).toUpperCase(); break; + } + arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg); + pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' '; + pad_length = match[6] - String(arg).length; + pad = match[6] ? str_repeat(pad_character, pad_length) : ''; + output.push(match[5] ? arg + pad : pad + arg); + } + } + return output.join(''); + }; + + str_format.cache = {}; + + str_format.parse = function(fmt) { + var _fmt = fmt, match = [], parse_tree = [], arg_names = 0; + while (_fmt) { + if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { + parse_tree.push(match[0]); + } + else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { + parse_tree.push('%'); + } + else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1; + var field_list = [], replacement_field = match[2], field_match = []; + if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else { + throw new Error('[_.sprintf] huh?'); + } + } + } + else { + throw new Error('[_.sprintf] huh?'); + } + match[2] = field_list; + } + else { + arg_names |= 2; + } + if (arg_names === 3) { + throw new Error('[_.sprintf] mixing positional and named placeholders is not (yet) supported'); + } + parse_tree.push(match); + } + else { + throw new Error('[_.sprintf] huh?'); + } + _fmt = _fmt.substring(match[0].length); + } + return parse_tree; + }; + + return str_format; + })(); + + + + // Defining underscore.string + + var _s = { + + VERSION: '2.2.0rc', + + isBlank: function(str){ + return (/^\s*$/).test(str); + }, + + stripTags: function(str){ + return (''+str).replace(/<\/?[^>]+>/g, ''); + }, + + capitalize : function(str) { + str += ''; + return str.charAt(0).toUpperCase() + str.substring(1); + }, + + chop: function(str, step){ + str = str+''; + step = ~~step || str.length; + var arr = []; + for (var i = 0; i < str.length; i += step) + arr.push(str.slice(i,i + step)); + return arr; + }, + + clean: function(str){ + return _s.strip(str).replace(/\s+/g, ' '); + }, + + count: function(str, substr){ + str += ''; substr += ''; + return str.split(substr).length - 1; + }, + + chars: function(str) { + return (''+str).split(''); + }, + + escapeHTML: function(str) { + return (''+str).replace(/[&<>"']/g, function(match){ return '&' + reversedEscapeChars[match] + ';'; }); + }, + + unescapeHTML: function(str) { + return (''+str).replace(/\&([^;]+);/g, function(entity, entityCode){ + var match; + + if (entityCode in escapeChars) { + return escapeChars[entityCode]; + } else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) { + return String.fromCharCode(parseInt(match[1], 16)); + } else if (match = entityCode.match(/^#(\d+)$/)) { + return String.fromCharCode(~~match[1]); + } else { + return entity; + } + }); + }, + + escapeRegExp: function(str){ + // From MooTools core 1.2.4 + return str.replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1'); + }, + + insert: function(str, i, substr){ + var arr = _s.chars(str); + arr.splice(~~i, 0, ''+substr); + return arr.join(''); + }, + + include: function(str, needle){ + return !!~(''+str).indexOf(needle); + }, + + join: function() { + var args = slice(arguments); + return args.join(args.shift()); + }, + + lines: function(str) { + return (''+str).split("\n"); + }, + + reverse: function(str){ + return _s.chars(str).reverse().join(''); + }, + + splice: function(str, i, howmany, substr){ + var arr = _s.chars(str); + arr.splice(~~i, ~~howmany, substr); + return arr.join(''); + }, + + startsWith: function(str, starts){ + str += ''; starts += ''; + return str.length >= starts.length && str.substring(0, starts.length) === starts; + }, + + endsWith: function(str, ends){ + str += ''; ends += ''; + return str.length >= ends.length && str.substring(str.length - ends.length) === ends; + }, + + succ: function(str){ + str += ''; + var arr = _s.chars(str); + arr.splice(str.length-1, 1, String.fromCharCode(str.charCodeAt(str.length-1) + 1)); + return arr.join(''); + }, + + titleize: function(str){ + return (''+str).replace(/\b./g, function(ch){ return ch.toUpperCase(); }); + }, + + camelize: function(str){ + return _s.trim(str).replace(/[-_\s]+(.)?/g, function(match, chr){ + return chr && chr.toUpperCase(); + }); + }, + + underscored: function(str){ + return _s.trim(str).replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase(); + }, + + dasherize: function(str){ + return _s.trim(str).replace(/[_\s]+/g, '-').replace(/([A-Z])/g, '-$1').replace(/-+/g, '-').toLowerCase(); + }, + + classify: function(str){ + str += ''; + return _s.titleize(str.replace(/_/g, ' ')).replace(/\s/g, '') + }, + + humanize: function(str){ + return _s.capitalize(this.underscored(str).replace(/_id$/,'').replace(/_/g, ' ')); + }, + + trim: function(str, characters){ + str += ''; + if (!characters && nativeTrim) { return nativeTrim.call(str); } + characters = defaultToWhiteSpace(characters); + return str.replace(new RegExp('\^' + characters + '+|' + characters + '+$', 'g'), ''); + }, + + ltrim: function(str, characters){ + str+=''; + if (!characters && nativeTrimLeft) { + return nativeTrimLeft.call(str); + } + characters = defaultToWhiteSpace(characters); + return str.replace(new RegExp('^' + characters + '+'), ''); + }, + + rtrim: function(str, characters){ + str+=''; + if (!characters && nativeTrimRight) { + return nativeTrimRight.call(str); + } + characters = defaultToWhiteSpace(characters); + return str.replace(new RegExp(characters + '+$'), ''); + }, + + truncate: function(str, length, truncateStr){ + str += ''; truncateStr = truncateStr || '...'; + length = ~~length; + return str.length > length ? str.slice(0, length) + truncateStr : str; + }, + + /** + * _s.prune: a more elegant version of truncate + * prune extra chars, never leaving a half-chopped word. + * @author github.com/sergiokas + */ + prune: function(str, length, pruneStr){ + str += ''; length = ~~length; + pruneStr = pruneStr != null ? ''+pruneStr : '...'; + + var pruned, borderChar, template = str.replace(/\W/g, function(ch){ + return (ch.toUpperCase() !== ch.toLowerCase()) ? 'A' : ' '; + }); + + borderChar = template.charAt(length); + + pruned = template.slice(0, length); + + // Check if we're in the middle of a word + if (borderChar && borderChar.match(/\S/)) + pruned = pruned.replace(/\s\S+$/, ''); + + pruned = _s.rtrim(pruned); + + return (pruned+pruneStr).length > str.length ? str : str.substring(0, pruned.length)+pruneStr; + }, + + words: function(str, delimiter) { + return _s.trim(str, delimiter).split(delimiter || /\s+/); + }, + + pad: function(str, length, padStr, type) { + str += ''; + + var padlen = 0; + + length = ~~length; + + if (!padStr) { + padStr = ' '; + } else if (padStr.length > 1) { + padStr = padStr.charAt(0); + } + + switch(type) { + case 'right': + padlen = (length - str.length); + return str + strRepeat(padStr, padlen); + case 'both': + padlen = (length - str.length); + return strRepeat(padStr, Math.ceil(padlen/2)) + + str + + strRepeat(padStr, Math.floor(padlen/2)); + default: // 'left' + padlen = (length - str.length); + return strRepeat(padStr, padlen) + str; + } + }, + + lpad: function(str, length, padStr) { + return _s.pad(str, length, padStr); + }, + + rpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'right'); + }, + + lrpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'both'); + }, + + sprintf: sprintf, + + vsprintf: function(fmt, argv){ + argv.unshift(fmt); + return sprintf.apply(null, argv); + }, + + toNumber: function(str, decimals) { + str += ''; + var num = parseNumber(parseNumber(str).toFixed(~~decimals)); + return num === 0 && !str.match(/^0+$/) ? Number.NaN : num; + }, + + strRight: function(str, sep){ + str += ''; sep = sep != null ? ''+sep : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strRightBack: function(str, sep){ + str += ''; sep = sep != null ? ''+sep : sep; + var pos = !sep ? -1 : str.lastIndexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strLeft: function(str, sep){ + str += ''; sep = sep != null ? ''+sep : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + strLeftBack: function(str, sep){ + str += ''; sep = sep != null ? ''+sep : sep; + var pos = str.lastIndexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + toSentence: function(array, separator, lastSeparator) { + separator || (separator = ', '); + lastSeparator || (lastSeparator = ' and '); + var length = array.length, str = ''; + + for (var i = 0; i < length; i++) { + str += array[i]; + if (i === (length - 2)) { str += lastSeparator; } + else if (i < (length - 1)) { str += separator; } + } + + return str; + }, + + slugify: function(str) { + var from = "ąàáäâãćęèéëêìíïîłńòóöôõùúüûñçżź", + to = "aaaaaaceeeeeiiiilnooooouuuunczz", + regex = new RegExp(defaultToWhiteSpace(from), 'g'); + + str = (''+str).toLowerCase(); + + str = str.replace(regex, function(ch){ + var index = from.indexOf(ch); + return to.charAt(index) || '-'; + }); + + return _s.trim(str.replace(/[^\w\s-]/g, '').replace(/[-\s]+/g, '-'), '-'); + }, + + exports: function() { + var result = {}; + + for (var prop in this) { + if (!this.hasOwnProperty(prop) || ~_s.words('include contains reverse').indexOf(prop)) continue; + result[prop] = this[prop]; + } + + return result; + }, + + repeat: strRepeat + }; + + // Aliases + + _s.strip = _s.trim; + _s.lstrip = _s.ltrim; + _s.rstrip = _s.rtrim; + _s.center = _s.lrpad; + _s.rjust = _s.lpad; + _s.ljust = _s.rpad; + _s.contains = _s.include; + + // CommonJS module is defined + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + // Export module + module.exports = _s; + } + exports._s = _s; + + } else if (typeof define === 'function' && define.amd) { + // Register as a named module with AMD. + define('underscore.string', function() { + return _s; + }); + + } else { + // Integrate with Underscore.js if defined + // or create our own underscore object. + root._ = root._ || {}; + root._.string = root._.str = _s; + } + +}(this || window)); diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/package.json b/static/js/node_modules/grunt/node_modules/underscore.string/package.json new file mode 100644 index 0000000..6711c0a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/package.json @@ -0,0 +1,72 @@ +{ + "name": "underscore.string", + "version": "2.2.1", + "description": "String manipulation extensions for Underscore.js javascript library.", + "homepage": "http://epeli.github.com/underscore.string/", + "contributors": [ + { + "name": "Esa-Matti Suuronen", + "email": "esa-matti@suuronen.org", + "url": "http://esa-matti.suuronen.org/" + }, + { + "name": "Edward Tsech", + "email": "edtsech@gmail.com" + }, + { + "name": "Sasha Koss", + "email": "kossnocorp@gmail.com", + "url": "http://koss.nocorp.me/" + }, + { + "name": "Vladimir Dronnikov", + "email": "dronnikov@gmail.com" + }, + { + "name": "Pete Kruckenberg", + "email": "https://github.com/kruckenb", + "url": "" + }, + { + "name": "Paul Chavard", + "email": "paul@chavard.net", + "url": "" + }, + { + "name": "Ed Finkler", + "email": "coj@funkatron.com", + "url": "" + }, + { + "name": "Pavel Pravosud", + "email": "rwz@duckroll.ru" + } + ], + "keywords": [ + "underscore", + "string" + ], + "main": "./lib/underscore.string", + "directories": { + "lib": "./lib" + }, + "engines": { + "node": "*" + }, + "repository": { + "type": "git", + "url": "https://github.com/epeli/underscore.string.git" + }, + "bugs": { + "url": "https://github.com/epeli/underscore.string/issues" + }, + "licenses": [ + { + "type": "MIT" + } + ], + "readme": "# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(\" epeli \").chain().trim().capitalize().value()\n=> \"Epeli\"\n```\n\n## Download ##\n\n * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require('underscore.string');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _ = require('underscore');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require('underscore.string');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include('Underscore.string', 'string'); // => true\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize('epeli')\n=> \"Epeli\"\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize(\"foo Bar\")\n=> \"Foo Bar\"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop('whitespace', 3)\n=> ['whi','tes','pac','e']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(\" foo bar \")\n=> 'foo bar'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars('Hello')\n=> ['H','e','l','l','o']\n```\n\n**includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes(\"foobar\", \"ob\")\n=> true\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include(\"foobar\", \"ob\")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_('Hello world').count('l')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_('
            Blah blah blah
            ').escapeHTML();\n=> '<div>Blah blah blah</div>'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_('<div>Blah blah blah</div>').unescapeHTML();\n=> '
            Blah blah blah
            '\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_('Hello ').insert(6, 'world')\n=> 'Hello world'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_('').isBlank(); // => true\n_('\\n').isBlank(); // => true\n_(' ').isBlank(); // => true\n_('a').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(\" \", \"foo\", \"bar\")\n=> \"foo bar\"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines(\"Hello\\nWorld\")\n=> [\"Hello\", \"World\"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse(\"foobar\")\n=> 'raboof'\n```\n\n**splice** _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli')\n=> 'https://edtsech@bitbucket.org/epeli/underscore.strings'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_(\"image.gif\").startsWith(\"image\")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_(\"image.gif\").endsWith(\"gif\")\n=> true\n```\n\n**succ** _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_('a').succ()\n=> 'b'\n\n_('A').succ()\n=> 'B'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_('my name is epeli').titleize()\n=> 'My Name Is Epeli'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_('-moz-transform').camelize()\n=> 'MozTransform'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_('some_class_name').classify()\n=> 'SomeClassName'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_('MozTransform').underscored()\n=> 'moz_transform'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_('MozTransform').dasherize()\n=> '-moz-transform'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix '_id'.\n\n```javascript\n_(' capitalize dash-CamelCase_underscore trim ').humanize()\n=> 'Capitalize dash camel case underscore trim'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(\" foobar \")\n=> \"foobar\"\n\n_.trim(\"_-foobar-_\", \"_-\")\n=> \"foobar\"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_('Hello world').truncate(5)\n=> 'Hello...'\n\n_('Hello').truncate(10)\n=> 'Hello'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_('Hello, world').prune(5)\n=> 'Hello...'\n\n_('Hello, world').prune(8)\n=> 'Hello...'\n\n_('Hello, world').prune(5, ' (read a lot more)')\n=> 'Hello, world' (as adding \"(read a lot more)\" would be longer than the original string)\n\n_('Hello, cruel world').prune(15)\n=> 'Hello, cruel...'\n\n_('Hello').prune(10)\n=> 'Hello'\n```\n\n**words** _.words(str, delimiter=\" \")\n\nSplit string by delimiter (String or RegExp), ' ' by default.\n\n```javascript\n_.words(\"I love you\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I_love_you\", \"_\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I-love-you\", /-/)\n=> [\"I\",\"love\",\"you\"]\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf(\"%.1f\", 1.17)\n\"1.2\"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`\" \"`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad(\"1\", 8)\n-> \" 1\";\n\n_.pad(\"1\", 8, '0')\n-> \"00000001\";\n\n_.pad(\"1\", 8, '0', 'right')\n-> \"10000000\";\n\n_.pad(\"1\", 8, '0', 'both')\n-> \"00001000\";\n\n_.pad(\"1\", 8, 'bleepblorp', 'both')\n-> \"bbbb1bbb\";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, 'left')`\n\n```javascript\n_.lpad(\"1\", 8, '0')\n-> \"00000001\";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, 'right')`\n\n```javascript\n_.rpad(\"1\", 8, '0')\n-> \"10000000\";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, 'both')`\n\n```javascript\n_.lrpad(\"1\", 8, '0')\n-> \"00001000\";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber** _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can't be parsed to number.\n\n```javascript\n_('2.556').toNumber()\n=> 3\n\n_('2.556').toNumber(1)\n=> 2.6\n```\n\n**strRight** _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRight('_')\n=> \"is_a_test_string\";\n```\n\n**strRightBack** _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRightBack('_')\n=> \"string\";\n```\n\n**strLeft** _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeft('_')\n=> \"This\";\n```\n\n**strLeftBack** _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeftBack('_')\n=> \"This_is_a_test\";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_('a link').stripTags()\n=> 'a link'\n\n_('a link').stripTags()\n=> 'a linkalert(\"hello world!\")'\n```\n\n**toSentence** _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools and Prototype';\n\n_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ')\n=> 'jQuery, Mootools unt Prototype';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat(\"foo\", 3)\n=> 'foofoofoo';\n\n_.repeat(\"foo\", 3, \"bar\")\n=> 'foobarfoobarfoo'\n```\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify(\"Un éléphant à l'orée du bois\")\n=> 'un-elephant-a-loree-du-bois';\n```\n\n***Caution: this function is charset dependent***\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n## Changelog ##\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_('foobar').include('bar')` aren't available;\n* Chaining isn't available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n includeString: _.str.include,\n reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_('foobar').chain().reverseString().includeString('rab').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible)\n* Removed 'reverse' function, because this function override underscore.js 'reverse'\n\n## Contribute ##\n\n* Fork & pull request. Don't forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n\n* Esa-Matti Suuronen (),\n* Edward Tsech ,\n* Sasha Koss (),\n* Vladimir Dronnikov ,\n* Pete Kruckenberg (),\n* Paul Chavard (),\n* Ed Finkler ()\n* Pavel Pravosud \n* Anton Lindqvist ()\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n", + "readmeFilename": "README.markdown", + "_id": "underscore.string@2.2.1", + "_from": "underscore.string@~2.2.1" +} diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js new file mode 100644 index 0000000..326658e --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js @@ -0,0 +1,44 @@ +function waitFor(test, complete, timeout) { + var result, start = new Date().getTime() + setInterval(function interval() { + if ((new Date().getTime() - start < timeout) && !result) { + result = test() + } else { + if (!result) { + phantom.exit(1) + } else { + complete() + clearInterval(interval) + } + } + }, 100) +} + + +var page = new WebPage() + +page.onConsoleMessage = function(msg) { + console.log(msg) +} + +page.open(phantom.args[0], function(status) { + waitFor(function() { + return page.evaluate(function(){ + var el = document.getElementById('qunit-testresult') + return el && el.innerText.match('completed') + }) + }, function() { + var failures = page.evaluate(function() { + var el = document.getElementById('qunit-testresult'), + fails = document.getElementsByClassName('fail') + + for (var i = 0; i < fails.length; i++) + console.log(fails[i].innerText) + + console.log(el.innerText) + + return parseInt(el.getElementsByClassName('failed')[0].innerHTML) + }) + phantom.exit(failures > 0 ? 1 : 0) + }, 10000) +}) \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/speed.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/speed.js new file mode 100644 index 0000000..4346414 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/speed.js @@ -0,0 +1,138 @@ +(function() { + + JSLitmus.test('trimNoNative', function() { + return _.trim(" foobar ", " "); + }); + + JSLitmus.test('trim', function() { + return _.trim(" foobar "); + }); + + JSLitmus.test('trim object-oriented', function() { + return _(" foobar ").trim(); + }); + + JSLitmus.test('trim jQuery', function() { + return jQuery.trim(" foobar "); + }); + + JSLitmus.test('ltrimp', function() { + return _.ltrim(" foobar ", " "); + }); + + JSLitmus.test('rtrimp', function() { + return _.rtrim(" foobar ", " "); + }); + + JSLitmus.test('startsWith', function() { + return _.startsWith("foobar", "foo"); + }); + + JSLitmus.test('endsWith', function() { + return _.endsWith("foobar", "xx"); + }); + + JSLitmus.test('chop', function(){ + return _('whitespace').chop(2); + }); + + JSLitmus.test('count', function(){ + return _('Hello worls').count('l'); + }); + + JSLitmus.test('insert', function() { + return _('Hello ').insert(6, 'world'); + }); + + JSLitmus.test('splice', function() { + return _('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'); + }); + + JSLitmus.test('succ', function(){ + var let = 'a', alphabet = []; + + for (var i=0; i < 26; i++) { + alphabet.push(let); + let = _(let).succ(); + } + + return alphabet; + }); + + JSLitmus.test('titleize', function(){ + return _('the titleize string method').titleize(); + }); + + JSLitmus.test('truncate', function(){ + return _('Hello world').truncate(5); + }); + + JSLitmus.test('prune', function(){ + return _('Hello world').prune(5); + }); + + JSLitmus.test('isBlank', function(){ + return _('').isBlank(); + }); + + JSLitmus.test('escapeHTML', function(){ + _('
            Blah blah blah
            ').escapeHTML(); + }); + + JSLitmus.test('unescapeHTML', function(){ + _('<div>Blah blah blah</div>').unescapeHTML(); + }); + + JSLitmus.test('reverse', function(){ + _('Hello World').reverse(); + }); + + JSLitmus.test('pad default', function(){ + _('foo').pad(12); + }); + + JSLitmus.test('pad hash left', function(){ + _('foo').pad(12, '#'); + }); + + JSLitmus.test('pad hash right', function(){ + _('foo').pad(12, '#', 'right'); + }); + + JSLitmus.test('pad hash both', function(){ + _('foo').pad(12, '#', 'both'); + }); + + JSLitmus.test('pad hash both longPad', function(){ + _('foo').pad(12, 'f00f00f00', 'both'); + }); + + JSLitmus.test('toNumber', function(){ + _('10.232323').toNumber(2); + }); + + JSLitmus.test('strRight', function(){ + _('aaa_bbb_ccc').strRight('_'); + }); + + JSLitmus.test('strRightBack', function(){ + _('aaa_bbb_ccc').strRightBack('_'); + }); + + JSLitmus.test('strLeft', function(){ + _('aaa_bbb_ccc').strLeft('_'); + }); + + JSLitmus.test('strLeftBack', function(){ + _('aaa_bbb_ccc').strLeftBack('_'); + }); + + JSLitmus.test('join', function(){ + _('separator').join(1, 2, 3, 4, 5, 6, 7, 8, 'foo', 'bar', 'lol', 'wut'); + }); + + JSLitmus.test('slugify', function(){ + _("Un éléphant à l'orée du bois").slugify(); + }); + +})(); diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/strings.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/strings.js new file mode 100644 index 0000000..f700abf --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/strings.js @@ -0,0 +1,438 @@ +$(document).ready(function() { + + // Include Underscore.string methods to Underscore namespace + _.mixin(_.str.exports()); + + module("String extensions"); + + test("Strings: trim", function() { + equals(_.trim(123), "123", "Non string"); + equals(_(" foo").trim(), "foo"); + equals(_("foo ").trim(), "foo"); + equals(_(" foo ").trim(), "foo"); + equals(_(" foo ").trim(), "foo"); + equals(_(" foo ", " ").trim(), "foo", "Manually set whitespace"); + + equals(_("ffoo").trim("f"), "oo"); + equals(_("ooff").trim("f"), "oo"); + equals(_("ffooff").trim("f"), "oo"); + + + equals(_("_-foobar-_").trim("_-"), "foobar"); + + equals(_("http://foo/").trim("/"), "http://foo"); + equals(_("c:\\").trim('\\'), "c:"); + + equals(_(123).trim(), '123'); + equals(_(123).trim(3), '12'); + }); + + test("Strings: ltrim", function() { + equals(_(" foo").ltrim(), "foo"); + equals(_(" foo").ltrim(), "foo"); + equals(_("foo ").ltrim(), "foo "); + equals(_(" foo ").ltrim(), "foo "); + + + equals(_("ffoo").ltrim("f"), "oo"); + equals(_("ooff").ltrim("f"), "ooff"); + equals(_("ffooff").ltrim("f"), "ooff"); + + equals(_("_-foobar-_").ltrim("_-"), "foobar-_"); + + equals(_(123).ltrim(1), '23'); + }); + + test("Strings: rtrim", function() { + equals(_("http://foo/").rtrim("/"), "http://foo", 'clean trailing slash'); + equals(_(" foo").rtrim(), " foo"); + equals(_("foo ").rtrim(), "foo"); + equals(_("foo ").rtrim(), "foo"); + equals(_("foo bar ").rtrim(), "foo bar"); + equals(_(" foo ").rtrim(), " foo"); + + equals(_("ffoo").rtrim("f"), "ffoo"); + equals(_("ooff").rtrim("f"), "oo"); + equals(_("ffooff").rtrim("f"), "ffoo"); + + equals(_("_-foobar-_").rtrim("_-"), "_-foobar"); + + equals(_(123).rtrim(3), '12'); + }); + + test("Strings: capitalize", function() { + equals(_("fabio").capitalize(), "Fabio", 'First letter is upper case'); + equals(_.capitalize("fabio"), "Fabio", 'First letter is upper case'); + equals(_.capitalize('FOO'), 'FOO', 'Other letters unchanged'); + equals(_(123).capitalize(), "123", "Non string"); + }); + + test("Strings: join", function() { + equals(_.join("", "foo", "bar"), "foobar", 'basic join'); + equals(_.join("", 1, "foo", 2), "1foo2", 'join numbers and strings'); + equals(_.join(" ","foo", "bar"), "foo bar", 'join with spaces'); + equals(_.join("1", "2", "2"), "212", 'join number strings'); + equals(_.join(1, 2, 2), "212", 'join numbers'); + equals(_(" ").join("foo", "bar"), "foo bar", 'join object oriented'); + }); + + test("Strings: reverse", function() { + equals(_.str.reverse("foo"), "oof" ); + equals(_.str.reverse("foobar"), "raboof" ); + equals(_.str.reverse("foo bar"), "rab oof" ); + equals(_.str.reverse("saippuakauppias"), "saippuakauppias" ); + equals(_.str.reverse(123), "321", "Non string"); + equals(_.str.reverse(123.45), "54.321", "Non string"); + }); + + test("Strings: clean", function() { + equals(_(" foo bar ").clean(), "foo bar"); + equals(_(123).clean(), "123"); + }); + + test("Strings: sprintf", function() { + // Should be very tested function already. Thanks to + // http://www.diveintojavascript.com/projects/sprintf-for-javascript + equals(_.sprintf("Hello %s", "me"), "Hello me", 'basic'); + equals(_("Hello %s").sprintf("me"), "Hello me", 'object'); + equals(_("hello %s").chain().sprintf("me").capitalize().value(), "Hello me", 'Chaining works'); + equals(_.sprintf("%.1f", 1.22222), "1.2", 'round'); + equals(_.sprintf("%.1f", 1.17), "1.2", 'round 2'); + equals(_.sprintf("%(id)d - %(name)s", {id: 824, name: "Hello World"}), "824 - Hello World", 'Named replacements work'); + equals(_.sprintf("%(args[0].id)d - %(args[1].name)s", {args: [{id: 824}, {name: "Hello World"}]}), "824 - Hello World", 'Named replacements with arrays work'); + }); + + + test("Strings: vsprintf", function() { + equals(_.vsprintf("Hello %s", ["me"]), "Hello me", 'basic'); + equals(_("Hello %s").vsprintf(["me"]), "Hello me", 'object'); + equals(_("hello %s").chain().vsprintf(["me"]).capitalize().value(), "Hello me", 'Chaining works'); + equals(_.vsprintf("%.1f", [1.22222]), "1.2", 'round'); + equals(_.vsprintf("%.1f", [1.17]), "1.2", 'round 2'); + equals(_.vsprintf("%(id)d - %(name)s", [{id: 824, name: "Hello World"}]), "824 - Hello World", 'Named replacement works'); + equals(_.vsprintf("%(args[0].id)d - %(args[1].name)s", [{args: [{id: 824}, {name: "Hello World"}]}]), "824 - Hello World", 'Named replacement with arrays works'); + }); + + test("Strings: startsWith", function() { + ok(_("foobar").startsWith("foo"), 'foobar starts with foo'); + ok(!_("oobar").startsWith("foo"), 'oobar does not start with foo'); + ok(_(12345).startsWith(123), '12345 starts with 123'); + ok(!_(2345).startsWith(123), '2345 does not start with 123'); + }); + + test("Strings: endsWith", function() { + ok(_("foobar").endsWith("bar"), 'foobar ends with bar'); + ok(_.endsWith("foobar", "bar"), 'foobar ends with bar'); + ok(_.endsWith("00018-0000062.Plone.sdh264.1a7264e6912a91aa4a81b64dc5517df7b8875994.mp4", "mp4"), 'endsWith .mp4'); + ok(!_("fooba").endsWith("bar"), 'fooba does not end with bar'); + ok(_.endsWith(12345, 45), '12345 ends with 45'); + ok(!_.endsWith(12345, 6), '12345 does not end with 6'); + }); + + test("Strings: include", function() { + ok(_.str.include("foobar", "bar"), 'foobar includes bar'); + ok(!_.str.include("foobar", "buzz"), 'foobar does not includes buzz'); + ok(_.str.include(12345, 34), '12345 includes 34'); + ok(!_.str.contains(12345, 6), '12345 does not includes 6'); + }); + + test('String: chop', function(){ + ok(_('whitespace').chop(2).length === 5, "output ['wh','it','es','pa','ce']"); + ok(_('whitespace').chop(3).length === 4, "output ['whi','tes','pac','e']"); + ok(_('whitespace').chop()[0].length === 10, "output ['whitespace']"); + ok(_(12345).chop(1).length === 5, "output ['1','2','3','4','5']"); + }); + + test('String: clean', function(){ + equals(_.clean(' foo bar '), 'foo bar'); + equals(_.clean(1), '1'); + }); + + test('String: count', function(){ + equals(_('Hello world').count('l'), 3); + equals(_('Hello world').count('Hello'), 1); + equals(_('Hello world').count('foo'), 0); + equals(_('x.xx....x.x').count('x'), 5); + equals(_(12345).count(1), 1); + equals(_(11345).count(1), 2); + }); + + test('String: insert', function(){ + equals(_('Hello ').insert(6, 'Jessy'), 'Hello Jessy'); + equals(_('Hello ').insert(100, 'Jessy'), 'Hello Jessy'); + equals(_(12345).insert(6, 'Jessy'), '12345Jessy'); + }); + + test('String: splice', function(){ + equals(_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'), + 'https://edtsech@bitbucket.org/epeli/underscore.strings'); + equals(_.splice(12345, 1, 2, 321), '132145', 'Non strings'); + }); + + test('String: succ', function(){ + equals(_('a').succ(), 'b'); + equals(_('A').succ(), 'B'); + equals(_('+').succ(), ','); + equals(_(1).succ(), '2'); + }); + + test('String: titleize', function(){ + equals(_('the titleize string method').titleize(), 'The Titleize String Method'); + equals(_('the titleize string method').titleize(), 'The Titleize String Method'); + equals(_(123).titleize(), '123'); + }); + + test('String: camelize', function(){ + equals(_('the_camelize_string_method').camelize(), 'theCamelizeStringMethod'); + equals(_('-the-camelize-string-method').camelize(), 'TheCamelizeStringMethod'); + equals(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); + equals(_(' the camelize string method').camelize(), 'theCamelizeStringMethod'); + equals(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); + equals(_(123).camelize(), '123'); + }); + + test('String: underscored', function(){ + equals(_('the-underscored-string-method').underscored(), 'the_underscored_string_method'); + equals(_('theUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); + equals(_('TheUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); + equals(_(' the underscored string method').underscored(), 'the_underscored_string_method'); + equals(_(123).underscored(), '123'); + }); + + test('String: dasherize', function(){ + equals(_('the_dasherize_string_method').dasherize(), 'the-dasherize-string-method'); + equals(_('TheDasherizeStringMethod').dasherize(), '-the-dasherize-string-method'); + equals(_('thisIsATest').dasherize(), 'this-is-a-test'); + equals(_('this Is A Test').dasherize(), 'this-is-a-test'); + equals(_('thisIsATest123').dasherize(), 'this-is-a-test123'); + equals(_('123thisIsATest').dasherize(), '123this-is-a-test'); + equals(_('the dasherize string method').dasherize(), 'the-dasherize-string-method'); + equals(_('the dasherize string method ').dasherize(), 'the-dasherize-string-method'); + equals(_('téléphone').dasherize(), 'téléphone'); + equals(_('foo$bar').dasherize(), 'foo$bar'); + equals(_(123).dasherize(), '123'); + }); + + test('String: camelize', function(){ + equals(_.camelize('-moz-transform'), 'MozTransform'); + equals(_.camelize('webkit-transform'), 'webkitTransform'); + equals(_.camelize('under_scored'), 'underScored'); + equals(_.camelize(' with spaces'), 'withSpaces'); + }); + + test('String: join', function(){ + equals(_.join(1, 2, 3, 4), '21314'); + equals(_.join('|', 'foo', 'bar', 'baz'), 'foo|bar|baz'); + }); + + test('String: classify', function(){ + equals(_.classify(1), '1'); + equals(_('some_class_name').classify(), 'SomeClassName'); + }); + + test('String: humanize', function(){ + equals(_('the_humanize_string_method').humanize(), 'The humanize string method'); + equals(_('ThehumanizeStringMethod').humanize(), 'Thehumanize string method'); + equals(_('the humanize string method').humanize(), 'The humanize string method'); + equals(_('the humanize_id string method_id').humanize(), 'The humanize id string method'); + equals(_('the humanize string method ').humanize(), 'The humanize string method'); + equals(_(' capitalize dash-CamelCase_underscore trim ').humanize(), 'Capitalize dash camel case underscore trim'); + equals(_(123).humanize(), '123'); + }); + + test('String: truncate', function(){ + equals(_('Hello world').truncate(6, 'read more'), 'Hello read more'); + equals(_('Hello world').truncate(5), 'Hello...'); + equals(_('Hello').truncate(10), 'Hello'); + equals(_(1234567890).truncate(5), '12345...'); + }); + + test('String: prune', function(){ + equals(_('Hello, cruel world').prune(6, ' read more'), 'Hello read more'); + equals(_('Hello, world').prune(5, 'read a lot more'), 'Hello, world'); + equals(_('Hello, world').prune(5), 'Hello...'); + equals(_('Hello, world').prune(8), 'Hello...'); + equals(_('Hello, cruel world').prune(15), 'Hello, cruel...'); + equals(_('Hello world').prune(22), 'Hello world'); + equals(_('Привет, жестокий мир').prune(6, ' read more'), 'Привет read more'); + equals(_('Привет, мир').prune(6, 'read a lot more'), 'Привет, мир'); + equals(_('Привет, мир').prune(6), 'Привет...'); + equals(_('Привет, мир').prune(8), 'Привет...'); + equals(_('Привет, жестокий мир').prune(16), 'Привет, жестокий...'); + equals(_('Привет, мир').prune(22), 'Привет, мир'); + equals(_(123).prune(10), '123'); + equals(_(123).prune(1,1), '11'); + }); + + test('String: isBlank', function(){ + ok(_('').isBlank()); + ok(_(' ').isBlank()); + ok(_('\n').isBlank()); + ok(!_('a').isBlank()); + ok(!_('0').isBlank()); + ok(!_(0).isBlank()); + }); + + test('String: escapeHTML', function(){ + equals(_('
            Blah & "blah" & \'blah\'
            ').escapeHTML(), + '<div>Blah & "blah" & 'blah'</div>'); + equals(_('<').escapeHTML(), '&lt;'); + equals(_(5).escapeHTML(), '5'); + // equals(_(undefined).escapeHTML(), ''); + }); + + test('String: unescapeHTML', function(){ + equals(_('<div>Blah & "blah" & 'blah'</div>').unescapeHTML(), + '
            Blah & "blah" & \'blah\'
            '); + equals(_('&lt;').unescapeHTML(), '<'); + equals(_(''').unescapeHTML(), "'"); + equals(_(''').unescapeHTML(), "'"); + equals(_('J').unescapeHTML(), "J"); + equals(_('J').unescapeHTML(), "J"); + equals(_('J').unescapeHTML(), "J"); + equals(_('&_#39;').unescapeHTML(), "&_#39;"); + equals(_(''_;').unescapeHTML(), "'_;"); + equals(_('&#38;').unescapeHTML(), "&"); + equals(_('&amp;').unescapeHTML(), "&"); + equals(_(5).unescapeHTML(), '5'); + // equals(_(undefined).unescapeHTML(), ''); + }); + + test('String: words', function() { + equals(_("I love you!").words().length, 3); + equals(_(" I love you! ").words().length, 3); + equals(_("I_love_you!").words('_').length, 3); + equals(_("I-love-you!").words(/-/).length, 3); + equals(_(123).words().length, 1); + }); + + test('String: chars', function() { + equals(_("Hello").chars().length, 5); + equals(_(123).chars().length, 3); + }); + + test('String: lines', function() { + equals(_("Hello\nWorld").lines().length, 2); + equals(_("Hello World").lines().length, 1); + equals(_(123).lines().length, 1); + }); + + test('String: pad', function() { + equals(_("1").pad(8), ' 1'); + equals(_(1).pad(8), ' 1'); + equals(_("1").pad(8, '0'), '00000001'); + equals(_("1").pad(8, '0', 'left'), '00000001'); + equals(_("1").pad(8, '0', 'right'), '10000000'); + equals(_("1").pad(8, '0', 'both'), '00001000'); + equals(_("foo").pad(8, '0', 'both'), '000foo00'); + equals(_("foo").pad(7, '0', 'both'), '00foo00'); + equals(_("foo").pad(7, '!@$%dofjrofj', 'both'), '!!foo!!'); + }); + + test('String: lpad', function() { + equals(_("1").lpad(8), ' 1'); + equals(_(1).lpad(8), ' 1'); + equals(_("1").lpad(8, '0'), '00000001'); + equals(_("1").lpad(8, '0', 'left'), '00000001'); + }); + + test('String: rpad', function() { + equals(_("1").rpad(8), '1 '); + equals(_(1).lpad(8), ' 1'); + equals(_("1").rpad(8, '0'), '10000000'); + equals(_("foo").rpad(8, '0'), 'foo00000'); + equals(_("foo").rpad(7, '0'), 'foo0000'); + }); + + test('String: lrpad', function() { + equals(_("1").lrpad(8), ' 1 '); + equals(_(1).lrpad(8), ' 1 '); + equals(_("1").lrpad(8, '0'), '00001000'); + equals(_("foo").lrpad(8, '0'), '000foo00'); + equals(_("foo").lrpad(7, '0'), '00foo00'); + equals(_("foo").lrpad(7, '!@$%dofjrofj'), '!!foo!!'); + }); + + test('String: toNumber', function() { + deepEqual(_("not a number").toNumber(), Number.NaN); + equals(_(0).toNumber(), 0); + equals(_("0").toNumber(), 0); + equals(_("0000").toNumber(), 0); + equals(_("2.345").toNumber(), 2); + equals(_("2.345").toNumber(NaN), 2); + equals(_("2.345").toNumber(2), 2.35); + equals(_("2.344").toNumber(2), 2.34); + equals(_("2").toNumber(2), 2.00); + equals(_(2).toNumber(2), 2.00); + equals(_(-2).toNumber(), -2); + equals(_("-2").toNumber(), -2); + }); + + test('String: strRight', function() { + equals(_("This_is_a_test_string").strRight("_"), "is_a_test_string"); + equals(_("This_is_a_test_string").strRight("string"), ""); + equals(_("This_is_a_test_string").strRight(), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strRight(""), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strRight("-"), "This_is_a_test_string"); + equals(_(12345).strRight(2), "345"); + }); + + test('String: strRightBack', function() { + equals(_("This_is_a_test_string").strRightBack("_"), "string"); + equals(_("This_is_a_test_string").strRightBack("string"), ""); + equals(_("This_is_a_test_string").strRightBack(), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strRightBack(""), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strRightBack("-"), "This_is_a_test_string"); + equals(_(12345).strRightBack(2), "345"); + }); + + test('String: strLeft', function() { + equals(_("This_is_a_test_string").strLeft("_"), "This"); + equals(_("This_is_a_test_string").strLeft("This"), ""); + equals(_("This_is_a_test_string").strLeft(), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strLeft(""), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strLeft("-"), "This_is_a_test_string"); + equals(_(123454321).strLeft(3), "12"); + }); + + test('String: strLeftBack', function() { + equals(_("This_is_a_test_string").strLeftBack("_"), "This_is_a_test"); + equals(_("This_is_a_test_string").strLeftBack("This"), ""); + equals(_("This_is_a_test_string").strLeftBack(), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strLeftBack(""), "This_is_a_test_string"); + equals(_("This_is_a_test_string").strLeftBack("-"), "This_is_a_test_string"); + equals(_(123454321).strLeftBack(3), "123454"); + }); + + test('Strings: stripTags', function() { + equals(_('a link').stripTags(), 'a link'); + equals(_('a link + + + + + + + + +

            Underscore.string Test Suite

            +

            +

            +
              +
              +

              Underscore.string Speed Suite

              + +
              + + diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html new file mode 100644 index 0000000..9854c17 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html @@ -0,0 +1,18 @@ + + + + Underscore.strings Test Suite + + + + + + + + +

              Underscore.string Test Suite

              +

              +

              +
                + + diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js new file mode 100644 index 0000000..b3b1ce1 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js @@ -0,0 +1,166 @@ +$(document).ready(function() { + + module("Arrays"); + + test("arrays: first", function() { + equals(_.first([1,2,3]), 1, 'can pull out the first element of an array'); + equals(_([1, 2, 3]).first(), 1, 'can perform OO-style "first()"'); + equals(_.first([1,2,3], 0).join(', '), "", 'can pass an index to first'); + equals(_.first([1,2,3], 2).join(', '), '1, 2', 'can pass an index to first'); + equals(_.first([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to first'); + var result = (function(){ return _.first(arguments); })(4, 3, 2, 1); + equals(result, 4, 'works on an arguments object.'); + result = _.map([[1,2,3],[1,2,3]], _.first); + equals(result.join(','), '1,1', 'works well with _.map'); + }); + + test("arrays: rest", function() { + var numbers = [1, 2, 3, 4]; + equals(_.rest(numbers).join(", "), "2, 3, 4", 'working rest()'); + equals(_.rest(numbers, 0).join(", "), "1, 2, 3, 4", 'working rest(0)'); + equals(_.rest(numbers, 2).join(', '), '3, 4', 'rest can take an index'); + var result = (function(){ return _(arguments).tail(); })(1, 2, 3, 4); + equals(result.join(', '), '2, 3, 4', 'aliased as tail and works on arguments object'); + result = _.map([[1,2,3],[1,2,3]], _.rest); + equals(_.flatten(result).join(','), '2,3,2,3', 'works well with _.map'); + }); + + test("arrays: initial", function() { + equals(_.initial([1,2,3,4,5]).join(", "), "1, 2, 3, 4", 'working initial()'); + equals(_.initial([1,2,3,4],2).join(", "), "1, 2", 'initial can take an index'); + var result = (function(){ return _(arguments).initial(); })(1, 2, 3, 4); + equals(result.join(", "), "1, 2, 3", 'initial works on arguments object'); + result = _.map([[1,2,3],[1,2,3]], _.initial); + equals(_.flatten(result).join(','), '1,2,1,2', 'initial works with _.map'); + }); + + test("arrays: last", function() { + equals(_.last([1,2,3]), 3, 'can pull out the last element of an array'); + equals(_.last([1,2,3], 0).join(', '), "", 'can pass an index to last'); + equals(_.last([1,2,3], 2).join(', '), '2, 3', 'can pass an index to last'); + equals(_.last([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to last'); + var result = (function(){ return _(arguments).last(); })(1, 2, 3, 4); + equals(result, 4, 'works on an arguments object'); + result = _.map([[1,2,3],[1,2,3]], _.last); + equals(result.join(','), '3,3', 'works well with _.map'); + }); + + test("arrays: compact", function() { + equals(_.compact([0, 1, false, 2, false, 3]).length, 3, 'can trim out all falsy values'); + var result = (function(){ return _(arguments).compact().length; })(0, 1, false, 2, false, 3); + equals(result, 3, 'works on an arguments object'); + }); + + test("arrays: flatten", function() { + if (window.JSON) { + var list = [1, [2], [3, [[[4]]]]]; + equals(JSON.stringify(_.flatten(list)), '[1,2,3,4]', 'can flatten nested arrays'); + equals(JSON.stringify(_.flatten(list, true)), '[1,2,3,[[[4]]]]', 'can shallowly flatten nested arrays'); + var result = (function(){ return _.flatten(arguments); })(1, [2], [3, [[[4]]]]); + equals(JSON.stringify(result), '[1,2,3,4]', 'works on an arguments object'); + } + }); + + test("arrays: without", function() { + var list = [1, 2, 1, 0, 3, 1, 4]; + equals(_.without(list, 0, 1).join(', '), '2, 3, 4', 'can remove all instances of an object'); + var result = (function(){ return _.without(arguments, 0, 1); })(1, 2, 1, 0, 3, 1, 4); + equals(result.join(', '), '2, 3, 4', 'works on an arguments object'); + + var list = [{one : 1}, {two : 2}]; + ok(_.without(list, {one : 1}).length == 2, 'uses real object identity for comparisons.'); + ok(_.without(list, list[0]).length == 1, 'ditto.'); + }); + + test("arrays: uniq", function() { + var list = [1, 2, 1, 3, 1, 4]; + equals(_.uniq(list).join(', '), '1, 2, 3, 4', 'can find the unique values of an unsorted array'); + + var list = [1, 1, 1, 2, 2, 3]; + equals(_.uniq(list, true).join(', '), '1, 2, 3', 'can find the unique values of a sorted array faster'); + + var list = [{name:'moe'}, {name:'curly'}, {name:'larry'}, {name:'curly'}]; + var iterator = function(value) { return value.name; }; + equals(_.map(_.uniq(list, false, iterator), iterator).join(', '), 'moe, curly, larry', 'can find the unique values of an array using a custom iterator'); + + var iterator = function(value) { return value +1; }; + var list = [1, 2, 2, 3, 4, 4]; + equals(_.uniq(list, true, iterator).join(', '), '1, 2, 3, 4', 'iterator works with sorted array'); + + var result = (function(){ return _.uniq(arguments); })(1, 2, 1, 3, 1, 4); + equals(result.join(', '), '1, 2, 3, 4', 'works on an arguments object'); + }); + + test("arrays: intersection", function() { + var stooges = ['moe', 'curly', 'larry'], leaders = ['moe', 'groucho']; + equals(_.intersection(stooges, leaders).join(''), 'moe', 'can take the set intersection of two arrays'); + equals(_(stooges).intersection(leaders).join(''), 'moe', 'can perform an OO-style intersection'); + var result = (function(){ return _.intersection(arguments, leaders); })('moe', 'curly', 'larry'); + equals(result.join(''), 'moe', 'works on an arguments object'); + }); + + test("arrays: union", function() { + var result = _.union([1, 2, 3], [2, 30, 1], [1, 40]); + equals(result.join(' '), '1 2 3 30 40', 'takes the union of a list of arrays'); + + var result = _.union([1, 2, 3], [2, 30, 1], [1, 40, [1]]); + equals(result.join(' '), '1 2 3 30 40 1', 'takes the union of a list of nested arrays'); + }); + + test("arrays: difference", function() { + var result = _.difference([1, 2, 3], [2, 30, 40]); + equals(result.join(' '), '1 3', 'takes the difference of two arrays'); + + var result = _.difference([1, 2, 3, 4], [2, 30, 40], [1, 11, 111]); + equals(result.join(' '), '3 4', 'takes the difference of three arrays'); + }); + + test('arrays: zip', function() { + var names = ['moe', 'larry', 'curly'], ages = [30, 40, 50], leaders = [true]; + var stooges = _.zip(names, ages, leaders); + equals(String(stooges), 'moe,30,true,larry,40,,curly,50,', 'zipped together arrays of different lengths'); + }); + + test("arrays: indexOf", function() { + var numbers = [1, 2, 3]; + numbers.indexOf = null; + equals(_.indexOf(numbers, 2), 1, 'can compute indexOf, even without the native function'); + var result = (function(){ return _.indexOf(arguments, 2); })(1, 2, 3); + equals(result, 1, 'works on an arguments object'); + equals(_.indexOf(null, 2), -1, 'handles nulls properly'); + + var numbers = [10, 20, 30, 40, 50], num = 35; + var index = _.indexOf(numbers, num, true); + equals(index, -1, '35 is not in the list'); + + numbers = [10, 20, 30, 40, 50]; num = 40; + index = _.indexOf(numbers, num, true); + equals(index, 3, '40 is in the list'); + + numbers = [1, 40, 40, 40, 40, 40, 40, 40, 50, 60, 70]; num = 40; + index = _.indexOf(numbers, num, true); + equals(index, 1, '40 is in the list'); + }); + + test("arrays: lastIndexOf", function() { + var numbers = [1, 0, 1, 0, 0, 1, 0, 0, 0]; + numbers.lastIndexOf = null; + equals(_.lastIndexOf(numbers, 1), 5, 'can compute lastIndexOf, even without the native function'); + equals(_.lastIndexOf(numbers, 0), 8, 'lastIndexOf the other element'); + var result = (function(){ return _.lastIndexOf(arguments, 1); })(1, 0, 1, 0, 0, 1, 0, 0, 0); + equals(result, 5, 'works on an arguments object'); + equals(_.indexOf(null, 2), -1, 'handles nulls properly'); + }); + + test("arrays: range", function() { + equals(_.range(0).join(''), '', 'range with 0 as a first argument generates an empty array'); + equals(_.range(4).join(' '), '0 1 2 3', 'range with a single positive argument generates an array of elements 0,1,2,...,n-1'); + equals(_.range(5, 8).join(' '), '5 6 7', 'range with two arguments a & b, a<b generates an array of elements a,a+1,a+2,...,b-2,b-1'); + equals(_.range(8, 5).join(''), '', 'range with two arguments a & b, b<a generates an empty array'); + equals(_.range(3, 10, 3).join(' '), '3 6 9', 'range with three arguments a & b & c, c < b-a, a < b generates an array of elements a,a+c,a+2c,...,b - (multiplier of a) < c'); + equals(_.range(3, 10, 15).join(''), '3', 'range with three arguments a & b & c, c > b-a, a < b generates an array with a single element, equal to a'); + equals(_.range(12, 7, -2).join(' '), '12 10 8', 'range with three arguments a & b & c, a > b, c < 0 generates an array of elements a,a-c,a-2c and ends with the number not less than b'); + equals(_.range(0, -10, -1).join(' '), '0 -1 -2 -3 -4 -5 -6 -7 -8 -9', 'final example in the Python docs'); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js new file mode 100644 index 0000000..0e3d5f3 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js @@ -0,0 +1,59 @@ +$(document).ready(function() { + + module("Chaining"); + + test("chaining: map/flatten/reduce", function() { + var lyrics = [ + "I'm a lumberjack and I'm okay", + "I sleep all night and I work all day", + "He's a lumberjack and he's okay", + "He sleeps all night and he works all day" + ]; + var counts = _(lyrics).chain() + .map(function(line) { return line.split(''); }) + .flatten() + .reduce(function(hash, l) { + hash[l] = hash[l] || 0; + hash[l]++; + return hash; + }, {}).value(); + ok(counts['a'] == 16 && counts['e'] == 10, 'counted all the letters in the song'); + }); + + test("chaining: select/reject/sortBy", function() { + var numbers = [1,2,3,4,5,6,7,8,9,10]; + numbers = _(numbers).chain().select(function(n) { + return n % 2 == 0; + }).reject(function(n) { + return n % 4 == 0; + }).sortBy(function(n) { + return -n; + }).value(); + equals(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); + }); + + test("chaining: select/reject/sortBy in functional style", function() { + var numbers = [1,2,3,4,5,6,7,8,9,10]; + numbers = _.chain(numbers).select(function(n) { + return n % 2 == 0; + }).reject(function(n) { + return n % 4 == 0; + }).sortBy(function(n) { + return -n; + }).value(); + equals(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); + }); + + test("chaining: reverse/concat/unshift/pop/map", function() { + var numbers = [1,2,3,4,5]; + numbers = _(numbers).chain() + .reverse() + .concat([5, 5, 5]) + .unshift(17) + .pop() + .map(function(n){ return n * 2; }) + .value(); + equals(numbers.join(', '), "34, 10, 8, 6, 4, 2, 10, 10", 'can chain together array functions.'); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js new file mode 100644 index 0000000..cff9763 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js @@ -0,0 +1,270 @@ +$(document).ready(function() { + + module("Collections"); + + test("collections: each", function() { + _.each([1, 2, 3], function(num, i) { + equals(num, i + 1, 'each iterators provide value and iteration count'); + }); + + var answers = []; + _.each([1, 2, 3], function(num){ answers.push(num * this.multiplier);}, {multiplier : 5}); + equals(answers.join(', '), '5, 10, 15', 'context object property accessed'); + + answers = []; + _.forEach([1, 2, 3], function(num){ answers.push(num); }); + equals(answers.join(', '), '1, 2, 3', 'aliased as "forEach"'); + + answers = []; + var obj = {one : 1, two : 2, three : 3}; + obj.constructor.prototype.four = 4; + _.each(obj, function(value, key){ answers.push(key); }); + equals(answers.join(", "), 'one, two, three', 'iterating over objects works, and ignores the object prototype.'); + delete obj.constructor.prototype.four; + + answer = null; + _.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; }); + ok(answer, 'can reference the original collection from inside the iterator'); + + answers = 0; + _.each(null, function(){ ++answers; }); + equals(answers, 0, 'handles a null properly'); + }); + + test('collections: map', function() { + var doubled = _.map([1, 2, 3], function(num){ return num * 2; }); + equals(doubled.join(', '), '2, 4, 6', 'doubled numbers'); + + doubled = _.collect([1, 2, 3], function(num){ return num * 2; }); + equals(doubled.join(', '), '2, 4, 6', 'aliased as "collect"'); + + var tripled = _.map([1, 2, 3], function(num){ return num * this.multiplier; }, {multiplier : 3}); + equals(tripled.join(', '), '3, 6, 9', 'tripled numbers with context'); + + var doubled = _([1, 2, 3]).map(function(num){ return num * 2; }); + equals(doubled.join(', '), '2, 4, 6', 'OO-style doubled numbers'); + + var ids = _.map($('div.underscore-test').children(), function(n){ return n.id; }); + ok(_.include(ids, 'qunit-header'), 'can use collection methods on NodeLists'); + + var ids = _.map(document.images, function(n){ return n.id; }); + ok(ids[0] == 'chart_image', 'can use collection methods on HTMLCollections'); + + var ifnull = _.map(null, function(){}); + ok(_.isArray(ifnull) && ifnull.length === 0, 'handles a null properly'); + + var length = _.map(Array(2), function(v) { return v; }).length; + equals(length, 2, "can preserve a sparse array's length"); + }); + + test('collections: reduce', function() { + var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }, 0); + equals(sum, 6, 'can sum up an array'); + + var context = {multiplier : 3}; + sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num * this.multiplier; }, 0, context); + equals(sum, 18, 'can reduce with a context object'); + + sum = _.inject([1, 2, 3], function(sum, num){ return sum + num; }, 0); + equals(sum, 6, 'aliased as "inject"'); + + sum = _([1, 2, 3]).reduce(function(sum, num){ return sum + num; }, 0); + equals(sum, 6, 'OO-style reduce'); + + var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }); + equals(sum, 6, 'default initial value'); + + var ifnull; + try { + _.reduce(null, function(){}); + } catch (ex) { + ifnull = ex; + } + ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); + + ok(_.reduce(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); + equals(_.reduce([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); + raises(function() { _.reduce([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); + + var sparseArray = []; + sparseArray[0] = 20; + sparseArray[2] = -5; + equals(_.reduce(sparseArray, function(a, b){ return a - b; }), 25, 'initially-sparse arrays with no memo'); + }); + + test('collections: reduceRight', function() { + var list = _.reduceRight(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); + equals(list, 'bazbarfoo', 'can perform right folds'); + + var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); + equals(list, 'bazbarfoo', 'aliased as "foldr"'); + + var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }); + equals(list, 'bazbarfoo', 'default initial value'); + + var ifnull; + try { + _.reduceRight(null, function(){}); + } catch (ex) { + ifnull = ex; + } + ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); + + ok(_.reduceRight(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); + + equals(_.reduceRight([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); + raises(function() { _.reduceRight([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); + + var sparseArray = []; + sparseArray[0] = 20; + sparseArray[2] = -5; + equals(_.reduceRight(sparseArray, function(a, b){ return a - b; }), -25, 'initially-sparse arrays with no memo'); + }); + + test('collections: detect', function() { + var result = _.detect([1, 2, 3], function(num){ return num * 2 == 4; }); + equals(result, 2, 'found the first "2" and broke the loop'); + }); + + test('collections: select', function() { + var evens = _.select([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); + equals(evens.join(', '), '2, 4, 6', 'selected each even number'); + + evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); + equals(evens.join(', '), '2, 4, 6', 'aliased as "filter"'); + }); + + test('collections: reject', function() { + var odds = _.reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); + equals(odds.join(', '), '1, 3, 5', 'rejected each even number'); + }); + + test('collections: all', function() { + ok(_.all([], _.identity), 'the empty set'); + ok(_.all([true, true, true], _.identity), 'all true values'); + ok(!_.all([true, false, true], _.identity), 'one false value'); + ok(_.all([0, 10, 28], function(num){ return num % 2 == 0; }), 'even numbers'); + ok(!_.all([0, 11, 28], function(num){ return num % 2 == 0; }), 'an odd number'); + ok(_.every([true, true, true], _.identity), 'aliased as "every"'); + }); + + test('collections: any', function() { + var nativeSome = Array.prototype.some; + Array.prototype.some = null; + ok(!_.any([]), 'the empty set'); + ok(!_.any([false, false, false]), 'all false values'); + ok(_.any([false, false, true]), 'one true value'); + ok(_.any([null, 0, 'yes', false]), 'a string'); + ok(!_.any([null, 0, '', false]), 'falsy values'); + ok(!_.any([1, 11, 29], function(num){ return num % 2 == 0; }), 'all odd numbers'); + ok(_.any([1, 10, 29], function(num){ return num % 2 == 0; }), 'an even number'); + ok(_.some([false, false, true]), 'aliased as "some"'); + Array.prototype.some = nativeSome; + }); + + test('collections: include', function() { + ok(_.include([1,2,3], 2), 'two is in the array'); + ok(!_.include([1,3,9], 2), 'two is not in the array'); + ok(_.contains({moe:1, larry:3, curly:9}, 3) === true, '_.include on objects checks their values'); + ok(_([1,2,3]).include(2), 'OO-style include'); + }); + + test('collections: invoke', function() { + var list = [[5, 1, 7], [3, 2, 1]]; + var result = _.invoke(list, 'sort'); + equals(result[0].join(', '), '1, 5, 7', 'first array sorted'); + equals(result[1].join(', '), '1, 2, 3', 'second array sorted'); + }); + + test('collections: invoke w/ function reference', function() { + var list = [[5, 1, 7], [3, 2, 1]]; + var result = _.invoke(list, Array.prototype.sort); + equals(result[0].join(', '), '1, 5, 7', 'first array sorted'); + equals(result[1].join(', '), '1, 2, 3', 'second array sorted'); + }); + + // Relevant when using ClojureScript + test('collections: invoke when strings have a call method', function() { + String.prototype.call = function(){return 42;} + var list = [[5, 1, 7], [3, 2, 1]]; + var s = "foo"; + equals(s.call(), 42, "call function exists"); + var result = _.invoke(list, 'sort'); + equals(result[0].join(', '), '1, 5, 7', 'first array sorted'); + equals(result[1].join(', '), '1, 2, 3', 'second array sorted'); + delete String.prototype.call; + equals(s.call, undefined, "call function removed"); + }); + + test('collections: pluck', function() { + var people = [{name : 'moe', age : 30}, {name : 'curly', age : 50}]; + equals(_.pluck(people, 'name').join(', '), 'moe, curly', 'pulls names out of objects'); + }); + + test('collections: max', function() { + equals(3, _.max([1, 2, 3]), 'can perform a regular Math.max'); + + var neg = _.max([1, 2, 3], function(num){ return -num; }); + equals(neg, 1, 'can perform a computation-based max'); + + equals(-Infinity, _.max({}), 'Maximum value of an empty object'); + equals(-Infinity, _.max([]), 'Maximum value of an empty array'); + }); + + test('collections: min', function() { + equals(1, _.min([1, 2, 3]), 'can perform a regular Math.min'); + + var neg = _.min([1, 2, 3], function(num){ return -num; }); + equals(neg, 3, 'can perform a computation-based min'); + + equals(Infinity, _.min({}), 'Minimum value of an empty object'); + equals(Infinity, _.min([]), 'Minimum value of an empty array'); + }); + + test('collections: sortBy', function() { + var people = [{name : 'curly', age : 50}, {name : 'moe', age : 30}]; + people = _.sortBy(people, function(person){ return person.age; }); + equals(_.pluck(people, 'name').join(', '), 'moe, curly', 'stooges sorted by age'); + }); + + test('collections: groupBy', function() { + var parity = _.groupBy([1, 2, 3, 4, 5, 6], function(num){ return num % 2; }); + ok('0' in parity && '1' in parity, 'created a group for each value'); + equals(parity[0].join(', '), '2, 4, 6', 'put each even number in the right group'); + + var list = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]; + var grouped = _.groupBy(list, 'length'); + equals(grouped['3'].join(' '), 'one two six ten'); + equals(grouped['4'].join(' '), 'four five nine'); + equals(grouped['5'].join(' '), 'three seven eight'); + }); + + test('collections: sortedIndex', function() { + var numbers = [10, 20, 30, 40, 50], num = 35; + var index = _.sortedIndex(numbers, num); + equals(index, 3, '35 should be inserted at index 3'); + }); + + test('collections: shuffle', function() { + var numbers = _.range(10); + var shuffled = _.shuffle(numbers).sort(); + notStrictEqual(numbers, shuffled, 'original object is unmodified'); + equals(shuffled.join(','), numbers.join(','), 'contains the same members before and after shuffle'); + }); + + test('collections: toArray', function() { + ok(!_.isArray(arguments), 'arguments object is not an array'); + ok(_.isArray(_.toArray(arguments)), 'arguments object converted into array'); + var a = [1,2,3]; + ok(_.toArray(a) !== a, 'array is cloned'); + equals(_.toArray(a).join(', '), '1, 2, 3', 'cloned array contains same elements'); + + var numbers = _.toArray({one : 1, two : 2, three : 3}); + equals(numbers.join(', '), '1, 2, 3', 'object flattened into array'); + }); + + test('collections: size', function() { + equals(_.size({one : 1, two : 2, three : 3}), 3, 'can compute the size of an object'); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js new file mode 100644 index 0000000..78721af --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js @@ -0,0 +1,198 @@ +$(document).ready(function() { + + module("Functions"); + + test("functions: bind", function() { + var context = {name : 'moe'}; + var func = function(arg) { return "name: " + (this.name || arg); }; + var bound = _.bind(func, context); + equals(bound(), 'name: moe', 'can bind a function to a context'); + + bound = _(func).bind(context); + equals(bound(), 'name: moe', 'can do OO-style binding'); + + bound = _.bind(func, null, 'curly'); + equals(bound(), 'name: curly', 'can bind without specifying a context'); + + func = function(salutation, name) { return salutation + ': ' + name; }; + func = _.bind(func, this, 'hello'); + equals(func('moe'), 'hello: moe', 'the function was partially applied in advance'); + + var func = _.bind(func, this, 'curly'); + equals(func(), 'hello: curly', 'the function was completely applied in advance'); + + var func = function(salutation, firstname, lastname) { return salutation + ': ' + firstname + ' ' + lastname; }; + func = _.bind(func, this, 'hello', 'moe', 'curly'); + equals(func(), 'hello: moe curly', 'the function was partially applied in advance and can accept multiple arguments'); + + func = function(context, message) { equals(this, context, message); }; + _.bind(func, 0, 0, 'can bind a function to `0`')(); + _.bind(func, '', '', 'can bind a function to an empty string')(); + _.bind(func, false, false, 'can bind a function to `false`')(); + + // These tests are only meaningful when using a browser without a native bind function + // To test this with a modern browser, set underscore's nativeBind to undefined + var F = function () { return this; }; + var Boundf = _.bind(F, {hello: "moe curly"}); + equal(new Boundf().hello, undefined, "function should not be bound to the context, to comply with ECMAScript 5"); + equal(Boundf().hello, "moe curly", "When called without the new operator, it's OK to be bound to the context"); + }); + + test("functions: bindAll", function() { + var curly = {name : 'curly'}, moe = { + name : 'moe', + getName : function() { return 'name: ' + this.name; }, + sayHi : function() { return 'hi: ' + this.name; } + }; + curly.getName = moe.getName; + _.bindAll(moe, 'getName', 'sayHi'); + curly.sayHi = moe.sayHi; + equals(curly.getName(), 'name: curly', 'unbound function is bound to current object'); + equals(curly.sayHi(), 'hi: moe', 'bound function is still bound to original object'); + + curly = {name : 'curly'}; + moe = { + name : 'moe', + getName : function() { return 'name: ' + this.name; }, + sayHi : function() { return 'hi: ' + this.name; } + }; + _.bindAll(moe); + curly.sayHi = moe.sayHi; + equals(curly.sayHi(), 'hi: moe', 'calling bindAll with no arguments binds all functions to the object'); + }); + + test("functions: memoize", function() { + var fib = function(n) { + return n < 2 ? n : fib(n - 1) + fib(n - 2); + }; + var fastFib = _.memoize(fib); + equals(fib(10), 55, 'a memoized version of fibonacci produces identical results'); + equals(fastFib(10), 55, 'a memoized version of fibonacci produces identical results'); + + var o = function(str) { + return str; + }; + var fastO = _.memoize(o); + equals(o('toString'), 'toString', 'checks hasOwnProperty'); + equals(fastO('toString'), 'toString', 'checks hasOwnProperty'); + }); + + asyncTest("functions: delay", 2, function() { + var delayed = false; + _.delay(function(){ delayed = true; }, 100); + setTimeout(function(){ ok(!delayed, "didn't delay the function quite yet"); }, 50); + setTimeout(function(){ ok(delayed, 'delayed the function'); start(); }, 150); + }); + + asyncTest("functions: defer", 1, function() { + var deferred = false; + _.defer(function(bool){ deferred = bool; }, true); + _.delay(function(){ ok(deferred, "deferred the function"); start(); }, 50); + }); + + asyncTest("functions: throttle", 2, function() { + var counter = 0; + var incr = function(){ counter++; }; + var throttledIncr = _.throttle(incr, 100); + throttledIncr(); throttledIncr(); throttledIncr(); + setTimeout(throttledIncr, 70); + setTimeout(throttledIncr, 120); + setTimeout(throttledIncr, 140); + setTimeout(throttledIncr, 190); + setTimeout(throttledIncr, 220); + setTimeout(throttledIncr, 240); + _.delay(function(){ ok(counter == 1, "incr was called immediately"); }, 30); + _.delay(function(){ ok(counter == 4, "incr was throttled"); start(); }, 400); + }); + + asyncTest("functions: throttle arguments", 2, function() { + var value = 0; + var update = function(val){ value = val; }; + var throttledUpdate = _.throttle(update, 100); + throttledUpdate(1); throttledUpdate(2); throttledUpdate(3); + setTimeout(function(){ throttledUpdate(4); }, 120); + setTimeout(function(){ throttledUpdate(5); }, 140); + setTimeout(function(){ throttledUpdate(6); }, 250); + _.delay(function(){ equals(value, 1, "updated to latest value"); }, 40); + _.delay(function(){ equals(value, 6, "updated to latest value"); start(); }, 400); + }); + + asyncTest("functions: throttle once", 1, function() { + var counter = 0; + var incr = function(){ counter++; }; + var throttledIncr = _.throttle(incr, 100); + throttledIncr(); + _.delay(function(){ ok(counter == 1, "incr was called once"); start(); }, 220); + }); + + asyncTest("functions: throttle twice", 1, function() { + var counter = 0; + var incr = function(){ counter++; }; + var throttledIncr = _.throttle(incr, 100); + throttledIncr(); throttledIncr(); + _.delay(function(){ ok(counter == 2, "incr was called twice"); start(); }, 220); + }); + + asyncTest("functions: debounce", 1, function() { + var counter = 0; + var incr = function(){ counter++; }; + var debouncedIncr = _.debounce(incr, 50); + debouncedIncr(); debouncedIncr(); debouncedIncr(); + setTimeout(debouncedIncr, 30); + setTimeout(debouncedIncr, 60); + setTimeout(debouncedIncr, 90); + setTimeout(debouncedIncr, 120); + setTimeout(debouncedIncr, 150); + _.delay(function(){ ok(counter == 1, "incr was debounced"); start(); }, 220); + }); + + test("functions: once", function() { + var num = 0; + var increment = _.once(function(){ num++; }); + increment(); + increment(); + equals(num, 1); + }); + + test("functions: wrap", function() { + var greet = function(name){ return "hi: " + name; }; + var backwards = _.wrap(greet, function(func, name){ return func(name) + ' ' + name.split('').reverse().join(''); }); + equals(backwards('moe'), 'hi: moe eom', 'wrapped the saluation function'); + + var inner = function(){ return "Hello "; }; + var obj = {name : "Moe"}; + obj.hi = _.wrap(inner, function(fn){ return fn() + this.name; }); + equals(obj.hi(), "Hello Moe"); + + var noop = function(){}; + var wrapped = _.wrap(noop, function(fn){ return Array.prototype.slice.call(arguments, 0); }); + var ret = wrapped(['whats', 'your'], 'vector', 'victor'); + same(ret, [noop, ['whats', 'your'], 'vector', 'victor']); + }); + + test("functions: compose", function() { + var greet = function(name){ return "hi: " + name; }; + var exclaim = function(sentence){ return sentence + '!'; }; + var composed = _.compose(exclaim, greet); + equals(composed('moe'), 'hi: moe!', 'can compose a function that takes another'); + + composed = _.compose(greet, exclaim); + equals(composed('moe'), 'hi: moe!', 'in this case, the functions are also commutative'); + }); + + test("functions: after", function() { + var testAfter = function(afterAmount, timesCalled) { + var afterCalled = 0; + var after = _.after(afterAmount, function() { + afterCalled++; + }); + while (timesCalled--) after(); + return afterCalled; + }; + + equals(testAfter(5, 5), 1, "after(N) should fire after being called N times"); + equals(testAfter(5, 4), 0, "after(N) should not fire unless called N times"); + equals(testAfter(0, 0), 1, "after(0) should fire immediately"); + }); + +}); diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js new file mode 100644 index 0000000..0105d60 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js @@ -0,0 +1,535 @@ +$(document).ready(function() { + + module("Objects"); + + test("objects: keys", function() { + var exception = /object/; + equals(_.keys({one : 1, two : 2}).join(', '), 'one, two', 'can extract the keys from an object'); + // the test above is not safe because it relies on for-in enumeration order + var a = []; a[1] = 0; + equals(_.keys(a).join(', '), '1', 'is not fooled by sparse arrays; see issue #95'); + raises(function() { _.keys(null); }, exception, 'throws an error for `null` values'); + raises(function() { _.keys(void 0); }, exception, 'throws an error for `undefined` values'); + raises(function() { _.keys(1); }, exception, 'throws an error for number primitives'); + raises(function() { _.keys('a'); }, exception, 'throws an error for string primitives'); + raises(function() { _.keys(true); }, exception, 'throws an error for boolean primitives'); + }); + + test("objects: values", function() { + equals(_.values({one : 1, two : 2}).join(', '), '1, 2', 'can extract the values from an object'); + }); + + test("objects: functions", function() { + var obj = {a : 'dash', b : _.map, c : (/yo/), d : _.reduce}; + ok(_.isEqual(['b', 'd'], _.functions(obj)), 'can grab the function names of any passed-in object'); + + var Animal = function(){}; + Animal.prototype.run = function(){}; + equals(_.functions(new Animal).join(''), 'run', 'also looks up functions on the prototype'); + }); + + test("objects: extend", function() { + var result; + equals(_.extend({}, {a:'b'}).a, 'b', 'can extend an object with the attributes of another'); + equals(_.extend({a:'x'}, {a:'b'}).a, 'b', 'properties in source override destination'); + equals(_.extend({x:'x'}, {a:'b'}).x, 'x', 'properties not in source dont get overriden'); + result = _.extend({x:'x'}, {a:'a'}, {b:'b'}); + ok(_.isEqual(result, {x:'x', a:'a', b:'b'}), 'can extend from multiple source objects'); + result = _.extend({x:'x'}, {a:'a', x:2}, {a:'b'}); + ok(_.isEqual(result, {x:2, a:'b'}), 'extending from multiple source objects last property trumps'); + result = _.extend({}, {a: void 0, b: null}); + equals(_.keys(result).join(''), 'ab', 'extend does not copy undefined values'); + }); + + test("objects: defaults", function() { + var result; + var options = {zero: 0, one: 1, empty: "", nan: NaN, string: "string"}; + + _.defaults(options, {zero: 1, one: 10, twenty: 20}); + equals(options.zero, 0, 'value exists'); + equals(options.one, 1, 'value exists'); + equals(options.twenty, 20, 'default applied'); + + _.defaults(options, {empty: "full"}, {nan: "nan"}, {word: "word"}, {word: "dog"}); + equals(options.empty, "", 'value exists'); + ok(_.isNaN(options.nan), "NaN isn't overridden"); + equals(options.word, "word", 'new value is added, first one wins'); + }); + + test("objects: clone", function() { + var moe = {name : 'moe', lucky : [13, 27, 34]}; + var clone = _.clone(moe); + equals(clone.name, 'moe', 'the clone as the attributes of the original'); + + clone.name = 'curly'; + ok(clone.name == 'curly' && moe.name == 'moe', 'clones can change shallow attributes without affecting the original'); + + clone.lucky.push(101); + equals(_.last(moe.lucky), 101, 'changes to deep attributes are shared with the original'); + + equals(_.clone(undefined), void 0, 'non objects should not be changed by clone'); + equals(_.clone(1), 1, 'non objects should not be changed by clone'); + equals(_.clone(null), null, 'non objects should not be changed by clone'); + }); + + test("objects: isEqual", function() { + function First() { + this.value = 1; + } + First.prototype.value = 1; + function Second() { + this.value = 1; + } + Second.prototype.value = 2; + + // Basic equality and identity comparisons. + ok(_.isEqual(null, null), "`null` is equal to `null`"); + ok(_.isEqual(), "`undefined` is equal to `undefined`"); + + ok(!_.isEqual(0, -0), "`0` is not equal to `-0`"); + ok(!_.isEqual(-0, 0), "Commutative equality is implemented for `0` and `-0`"); + ok(!_.isEqual(null, undefined), "`null` is not equal to `undefined`"); + ok(!_.isEqual(undefined, null), "Commutative equality is implemented for `null` and `undefined`"); + + // String object and primitive comparisons. + ok(_.isEqual("Curly", "Curly"), "Identical string primitives are equal"); + ok(_.isEqual(new String("Curly"), new String("Curly")), "String objects with identical primitive values are equal"); + ok(_.isEqual(new String("Curly"), "Curly"), "String primitives and their corresponding object wrappers are equal"); + ok(_.isEqual("Curly", new String("Curly")), "Commutative equality is implemented for string objects and primitives"); + + ok(!_.isEqual("Curly", "Larry"), "String primitives with different values are not equal"); + ok(!_.isEqual(new String("Curly"), new String("Larry")), "String objects with different primitive values are not equal"); + ok(!_.isEqual(new String("Curly"), {toString: function(){ return "Curly"; }}), "String objects and objects with a custom `toString` method are not equal"); + + // Number object and primitive comparisons. + ok(_.isEqual(75, 75), "Identical number primitives are equal"); + ok(_.isEqual(new Number(75), new Number(75)), "Number objects with identical primitive values are equal"); + ok(_.isEqual(75, new Number(75)), "Number primitives and their corresponding object wrappers are equal"); + ok(_.isEqual(new Number(75), 75), "Commutative equality is implemented for number objects and primitives"); + ok(!_.isEqual(new Number(0), -0), "`new Number(0)` and `-0` are not equal"); + ok(!_.isEqual(0, new Number(-0)), "Commutative equality is implemented for `new Number(0)` and `-0`"); + + ok(!_.isEqual(new Number(75), new Number(63)), "Number objects with different primitive values are not equal"); + ok(!_.isEqual(new Number(63), {valueOf: function(){ return 63; }}), "Number objects and objects with a `valueOf` method are not equal"); + + // Comparisons involving `NaN`. + ok(_.isEqual(NaN, NaN), "`NaN` is equal to `NaN`"); + ok(!_.isEqual(61, NaN), "A number primitive is not equal to `NaN`"); + ok(!_.isEqual(new Number(79), NaN), "A number object is not equal to `NaN`"); + ok(!_.isEqual(Infinity, NaN), "`Infinity` is not equal to `NaN`"); + + // Boolean object and primitive comparisons. + ok(_.isEqual(true, true), "Identical boolean primitives are equal"); + ok(_.isEqual(new Boolean, new Boolean), "Boolean objects with identical primitive values are equal"); + ok(_.isEqual(true, new Boolean(true)), "Boolean primitives and their corresponding object wrappers are equal"); + ok(_.isEqual(new Boolean(true), true), "Commutative equality is implemented for booleans"); + ok(!_.isEqual(new Boolean(true), new Boolean), "Boolean objects with different primitive values are not equal"); + + // Common type coercions. + ok(!_.isEqual(true, new Boolean(false)), "Boolean objects are not equal to the boolean primitive `true`"); + ok(!_.isEqual("75", 75), "String and number primitives with like values are not equal"); + ok(!_.isEqual(new Number(63), new String(63)), "String and number objects with like values are not equal"); + ok(!_.isEqual(75, "75"), "Commutative equality is implemented for like string and number values"); + ok(!_.isEqual(0, ""), "Number and string primitives with like values are not equal"); + ok(!_.isEqual(1, true), "Number and boolean primitives with like values are not equal"); + ok(!_.isEqual(new Boolean(false), new Number(0)), "Boolean and number objects with like values are not equal"); + ok(!_.isEqual(false, new String("")), "Boolean primitives and string objects with like values are not equal"); + ok(!_.isEqual(12564504e5, new Date(2009, 9, 25)), "Dates and their corresponding numeric primitive values are not equal"); + + // Dates. + ok(_.isEqual(new Date(2009, 9, 25), new Date(2009, 9, 25)), "Date objects referencing identical times are equal"); + ok(!_.isEqual(new Date(2009, 9, 25), new Date(2009, 11, 13)), "Date objects referencing different times are not equal"); + ok(!_.isEqual(new Date(2009, 11, 13), { + getTime: function(){ + return 12606876e5; + } + }), "Date objects and objects with a `getTime` method are not equal"); + ok(!_.isEqual(new Date("Curly"), new Date("Curly")), "Invalid dates are not equal"); + + // Functions. + ok(!_.isEqual(First, Second), "Different functions with identical bodies and source code representations are not equal"); + + // RegExps. + ok(_.isEqual(/(?:)/gim, /(?:)/gim), "RegExps with equivalent patterns and flags are equal"); + ok(!_.isEqual(/(?:)/g, /(?:)/gi), "RegExps with equivalent patterns and different flags are not equal"); + ok(!_.isEqual(/Moe/gim, /Curly/gim), "RegExps with different patterns and equivalent flags are not equal"); + ok(!_.isEqual(/(?:)/gi, /(?:)/g), "Commutative equality is implemented for RegExps"); + ok(!_.isEqual(/Curly/g, {source: "Larry", global: true, ignoreCase: false, multiline: false}), "RegExps and RegExp-like objects are not equal"); + + // Empty arrays, array-like objects, and object literals. + ok(_.isEqual({}, {}), "Empty object literals are equal"); + ok(_.isEqual([], []), "Empty array literals are equal"); + ok(_.isEqual([{}], [{}]), "Empty nested arrays and objects are equal"); + ok(!_.isEqual({length: 0}, []), "Array-like objects and arrays are not equal."); + ok(!_.isEqual([], {length: 0}), "Commutative equality is implemented for array-like objects"); + + ok(!_.isEqual({}, []), "Object literals and array literals are not equal"); + ok(!_.isEqual([], {}), "Commutative equality is implemented for objects and arrays"); + + // Arrays with primitive and object values. + ok(_.isEqual([1, "Larry", true], [1, "Larry", true]), "Arrays containing identical primitives are equal"); + ok(_.isEqual([/Moe/g, new Date(2009, 9, 25)], [/Moe/g, new Date(2009, 9, 25)]), "Arrays containing equivalent elements are equal"); + + // Multi-dimensional arrays. + var a = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; + var b = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; + ok(_.isEqual(a, b), "Arrays containing nested arrays and objects are recursively compared"); + + // Overwrite the methods defined in ES 5.1 section 15.4.4. + a.forEach = a.map = a.filter = a.every = a.indexOf = a.lastIndexOf = a.some = a.reduce = a.reduceRight = null; + b.join = b.pop = b.reverse = b.shift = b.slice = b.splice = b.concat = b.sort = b.unshift = null; + + // Array elements and properties. + ok(_.isEqual(a, b), "Arrays containing equivalent elements and different non-numeric properties are equal"); + a.push("White Rocks"); + ok(!_.isEqual(a, b), "Arrays of different lengths are not equal"); + a.push("East Boulder"); + b.push("Gunbarrel Ranch", "Teller Farm"); + ok(!_.isEqual(a, b), "Arrays of identical lengths containing different elements are not equal"); + + // Sparse arrays. + ok(_.isEqual(Array(3), Array(3)), "Sparse arrays of identical lengths are equal"); + ok(!_.isEqual(Array(3), Array(6)), "Sparse arrays of different lengths are not equal when both are empty"); + + // According to the Microsoft deviations spec, section 2.1.26, JScript 5.x treats `undefined` + // elements in arrays as elisions. Thus, sparse arrays and dense arrays containing `undefined` + // values are equivalent. + if (0 in [undefined]) { + ok(!_.isEqual(Array(3), [undefined, undefined, undefined]), "Sparse and dense arrays are not equal"); + ok(!_.isEqual([undefined, undefined, undefined], Array(3)), "Commutative equality is implemented for sparse and dense arrays"); + } + + // Simple objects. + ok(_.isEqual({a: "Curly", b: 1, c: true}, {a: "Curly", b: 1, c: true}), "Objects containing identical primitives are equal"); + ok(_.isEqual({a: /Curly/g, b: new Date(2009, 11, 13)}, {a: /Curly/g, b: new Date(2009, 11, 13)}), "Objects containing equivalent members are equal"); + ok(!_.isEqual({a: 63, b: 75}, {a: 61, b: 55}), "Objects of identical sizes with different values are not equal"); + ok(!_.isEqual({a: 63, b: 75}, {a: 61, c: 55}), "Objects of identical sizes with different property names are not equal"); + ok(!_.isEqual({a: 1, b: 2}, {a: 1}), "Objects of different sizes are not equal"); + ok(!_.isEqual({a: 1}, {a: 1, b: 2}), "Commutative equality is implemented for objects"); + ok(!_.isEqual({x: 1, y: undefined}, {x: 1, z: 2}), "Objects with identical keys and different values are not equivalent"); + + // `A` contains nested objects and arrays. + a = { + name: new String("Moe Howard"), + age: new Number(77), + stooge: true, + hobbies: ["acting"], + film: { + name: "Sing a Song of Six Pants", + release: new Date(1947, 9, 30), + stars: [new String("Larry Fine"), "Shemp Howard"], + minutes: new Number(16), + seconds: 54 + } + }; + + // `B` contains equivalent nested objects and arrays. + b = { + name: new String("Moe Howard"), + age: new Number(77), + stooge: true, + hobbies: ["acting"], + film: { + name: "Sing a Song of Six Pants", + release: new Date(1947, 9, 30), + stars: [new String("Larry Fine"), "Shemp Howard"], + minutes: new Number(16), + seconds: 54 + } + }; + ok(_.isEqual(a, b), "Objects with nested equivalent members are recursively compared"); + + // Instances. + ok(_.isEqual(new First, new First), "Object instances are equal"); + ok(!_.isEqual(new First, new Second), "Objects with different constructors and identical own properties are not equal"); + ok(!_.isEqual({value: 1}, new First), "Object instances and objects sharing equivalent properties are not equal"); + ok(!_.isEqual({value: 2}, new Second), "The prototype chain of objects should not be examined"); + + // Circular Arrays. + (a = []).push(a); + (b = []).push(b); + ok(_.isEqual(a, b), "Arrays containing circular references are equal"); + a.push(new String("Larry")); + b.push(new String("Larry")); + ok(_.isEqual(a, b), "Arrays containing circular references and equivalent properties are equal"); + a.push("Shemp"); + b.push("Curly"); + ok(!_.isEqual(a, b), "Arrays containing circular references and different properties are not equal"); + + // Circular Objects. + a = {abc: null}; + b = {abc: null}; + a.abc = a; + b.abc = b; + ok(_.isEqual(a, b), "Objects containing circular references are equal"); + a.def = 75; + b.def = 75; + ok(_.isEqual(a, b), "Objects containing circular references and equivalent properties are equal"); + a.def = new Number(75); + b.def = new Number(63); + ok(!_.isEqual(a, b), "Objects containing circular references and different properties are not equal"); + + // Cyclic Structures. + a = [{abc: null}]; + b = [{abc: null}]; + (a[0].abc = a).push(a); + (b[0].abc = b).push(b); + ok(_.isEqual(a, b), "Cyclic structures are equal"); + a[0].def = "Larry"; + b[0].def = "Larry"; + ok(_.isEqual(a, b), "Cyclic structures containing equivalent properties are equal"); + a[0].def = new String("Larry"); + b[0].def = new String("Curly"); + ok(!_.isEqual(a, b), "Cyclic structures containing different properties are not equal"); + + // Complex Circular References. + a = {foo: {b: {foo: {c: {foo: null}}}}}; + b = {foo: {b: {foo: {c: {foo: null}}}}}; + a.foo.b.foo.c.foo = a; + b.foo.b.foo.c.foo = b; + ok(_.isEqual(a, b), "Cyclic structures with nested and identically-named properties are equal"); + + // Chaining. + ok(!_.isEqual(_({x: 1, y: undefined}).chain(), _({x: 1, z: 2}).chain()), 'Chained objects containing different values are not equal'); + equals(_({x: 1, y: 2}).chain().isEqual(_({x: 1, y: 2}).chain()).value(), true, '`isEqual` can be chained'); + + // Custom `isEqual` methods. + var isEqualObj = {isEqual: function (o) { return o.isEqual == this.isEqual; }, unique: {}}; + var isEqualObjClone = {isEqual: isEqualObj.isEqual, unique: {}}; + + ok(_.isEqual(isEqualObj, isEqualObjClone), 'Both objects implement identical `isEqual` methods'); + ok(_.isEqual(isEqualObjClone, isEqualObj), 'Commutative equality is implemented for objects with custom `isEqual` methods'); + ok(!_.isEqual(isEqualObj, {}), 'Objects that do not implement equivalent `isEqual` methods are not equal'); + ok(!_.isEqual({}, isEqualObj), 'Commutative equality is implemented for objects with different `isEqual` methods'); + + // Custom `isEqual` methods - comparing different types + LocalizedString = (function() { + function LocalizedString(id) { this.id = id; this.string = (this.id===10)? 'Bonjour': ''; } + LocalizedString.prototype.isEqual = function(that) { + if (_.isString(that)) return this.string == that; + else if (that instanceof LocalizedString) return this.id == that.id; + return false; + }; + return LocalizedString; + })(); + var localized_string1 = new LocalizedString(10), localized_string2 = new LocalizedString(10), localized_string3 = new LocalizedString(11); + ok(_.isEqual(localized_string1, localized_string2), 'comparing same typed instances with same ids'); + ok(!_.isEqual(localized_string1, localized_string3), 'comparing same typed instances with different ids'); + ok(_.isEqual(localized_string1, 'Bonjour'), 'comparing different typed instances with same values'); + ok(_.isEqual('Bonjour', localized_string1), 'comparing different typed instances with same values'); + ok(!_.isEqual('Bonjour', localized_string3), 'comparing two localized strings with different ids'); + ok(!_.isEqual(localized_string1, 'Au revoir'), 'comparing different typed instances with different values'); + ok(!_.isEqual('Au revoir', localized_string1), 'comparing different typed instances with different values'); + + // Custom `isEqual` methods - comparing with serialized data + Date.prototype.toJSON = function() { + return { + _type:'Date', + year:this.getUTCFullYear(), + month:this.getUTCMonth(), + day:this.getUTCDate(), + hours:this.getUTCHours(), + minutes:this.getUTCMinutes(), + seconds:this.getUTCSeconds() + }; + }; + Date.prototype.isEqual = function(that) { + var this_date_components = this.toJSON(); + var that_date_components = (that instanceof Date) ? that.toJSON() : that; + delete this_date_components['_type']; delete that_date_components['_type'] + return _.isEqual(this_date_components, that_date_components); + }; + + var date = new Date(); + var date_json = { + _type:'Date', + year:date.getUTCFullYear(), + month:date.getUTCMonth(), + day:date.getUTCDate(), + hours:date.getUTCHours(), + minutes:date.getUTCMinutes(), + seconds:date.getUTCSeconds() + }; + + ok(_.isEqual(date_json, date), 'serialized date matches date'); + ok(_.isEqual(date, date_json), 'date matches serialized date'); + }); + + test("objects: isEmpty", function() { + ok(!_([1]).isEmpty(), '[1] is not empty'); + ok(_.isEmpty([]), '[] is empty'); + ok(!_.isEmpty({one : 1}), '{one : 1} is not empty'); + ok(_.isEmpty({}), '{} is empty'); + ok(_.isEmpty(new RegExp('')), 'objects with prototype properties are empty'); + ok(_.isEmpty(null), 'null is empty'); + ok(_.isEmpty(), 'undefined is empty'); + ok(_.isEmpty(''), 'the empty string is empty'); + ok(!_.isEmpty('moe'), 'but other strings are not'); + + var obj = {one : 1}; + delete obj.one; + ok(_.isEmpty(obj), 'deleting all the keys from an object empties it'); + }); + + // Setup remote variables for iFrame tests. + var iframe = document.createElement('iframe'); + jQuery(iframe).appendTo(document.body); + var iDoc = iframe.contentDocument || iframe.contentWindow.document; + iDoc.write( + "" + ); + iDoc.close(); + + test("objects: isElement", function() { + ok(!_.isElement('div'), 'strings are not dom elements'); + ok(_.isElement($('html')[0]), 'the html tag is a DOM element'); + ok(_.isElement(iElement), 'even from another frame'); + }); + + test("objects: isArguments", function() { + var args = (function(){ return arguments; })(1, 2, 3); + ok(!_.isArguments('string'), 'a string is not an arguments object'); + ok(!_.isArguments(_.isArguments), 'a function is not an arguments object'); + ok(_.isArguments(args), 'but the arguments object is an arguments object'); + ok(!_.isArguments(_.toArray(args)), 'but not when it\'s converted into an array'); + ok(!_.isArguments([1,2,3]), 'and not vanilla arrays.'); + ok(_.isArguments(iArguments), 'even from another frame'); + }); + + test("objects: isObject", function() { + ok(_.isObject(arguments), 'the arguments object is object'); + ok(_.isObject([1, 2, 3]), 'and arrays'); + ok(_.isObject($('html')[0]), 'and DOM element'); + ok(_.isObject(iElement), 'even from another frame'); + ok(_.isObject(function () {}), 'and functions'); + ok(_.isObject(iFunction), 'even from another frame'); + ok(!_.isObject(null), 'but not null'); + ok(!_.isObject(undefined), 'and not undefined'); + ok(!_.isObject('string'), 'and not string'); + ok(!_.isObject(12), 'and not number'); + ok(!_.isObject(true), 'and not boolean'); + ok(_.isObject(new String('string')), 'but new String()'); + }); + + test("objects: isArray", function() { + ok(!_.isArray(arguments), 'the arguments object is not an array'); + ok(_.isArray([1, 2, 3]), 'but arrays are'); + ok(_.isArray(iArray), 'even from another frame'); + }); + + test("objects: isString", function() { + ok(!_.isString(document.body), 'the document body is not a string'); + ok(_.isString([1, 2, 3].join(', ')), 'but strings are'); + ok(_.isString(iString), 'even from another frame'); + }); + + test("objects: isNumber", function() { + ok(!_.isNumber('string'), 'a string is not a number'); + ok(!_.isNumber(arguments), 'the arguments object is not a number'); + ok(!_.isNumber(undefined), 'undefined is not a number'); + ok(_.isNumber(3 * 4 - 7 / 10), 'but numbers are'); + ok(_.isNumber(NaN), 'NaN *is* a number'); + ok(_.isNumber(Infinity), 'Infinity is a number'); + ok(_.isNumber(iNumber), 'even from another frame'); + ok(!_.isNumber('1'), 'numeric strings are not numbers'); + }); + + test("objects: isBoolean", function() { + ok(!_.isBoolean(2), 'a number is not a boolean'); + ok(!_.isBoolean("string"), 'a string is not a boolean'); + ok(!_.isBoolean("false"), 'the string "false" is not a boolean'); + ok(!_.isBoolean("true"), 'the string "true" is not a boolean'); + ok(!_.isBoolean(arguments), 'the arguments object is not a boolean'); + ok(!_.isBoolean(undefined), 'undefined is not a boolean'); + ok(!_.isBoolean(NaN), 'NaN is not a boolean'); + ok(!_.isBoolean(null), 'null is not a boolean'); + ok(_.isBoolean(true), 'but true is'); + ok(_.isBoolean(false), 'and so is false'); + ok(_.isBoolean(iBoolean), 'even from another frame'); + }); + + test("objects: isFunction", function() { + ok(!_.isFunction([1, 2, 3]), 'arrays are not functions'); + ok(!_.isFunction('moe'), 'strings are not functions'); + ok(_.isFunction(_.isFunction), 'but functions are'); + ok(_.isFunction(iFunction), 'even from another frame'); + }); + + test("objects: isDate", function() { + ok(!_.isDate(100), 'numbers are not dates'); + ok(!_.isDate({}), 'objects are not dates'); + ok(_.isDate(new Date()), 'but dates are'); + ok(_.isDate(iDate), 'even from another frame'); + }); + + test("objects: isRegExp", function() { + ok(!_.isRegExp(_.identity), 'functions are not RegExps'); + ok(_.isRegExp(/identity/), 'but RegExps are'); + ok(_.isRegExp(iRegExp), 'even from another frame'); + }); + + test("objects: isNaN", function() { + ok(!_.isNaN(undefined), 'undefined is not NaN'); + ok(!_.isNaN(null), 'null is not NaN'); + ok(!_.isNaN(0), '0 is not NaN'); + ok(_.isNaN(NaN), 'but NaN is'); + ok(_.isNaN(iNaN), 'even from another frame'); + }); + + test("objects: isNull", function() { + ok(!_.isNull(undefined), 'undefined is not null'); + ok(!_.isNull(NaN), 'NaN is not null'); + ok(_.isNull(null), 'but null is'); + ok(_.isNull(iNull), 'even from another frame'); + }); + + test("objects: isUndefined", function() { + ok(!_.isUndefined(1), 'numbers are defined'); + ok(!_.isUndefined(null), 'null is defined'); + ok(!_.isUndefined(false), 'false is defined'); + ok(!_.isUndefined(NaN), 'NaN is defined'); + ok(_.isUndefined(), 'nothing is undefined'); + ok(_.isUndefined(undefined), 'undefined is undefined'); + ok(_.isUndefined(iUndefined), 'even from another frame'); + }); + + if (window.ActiveXObject) { + test("objects: IE host objects", function() { + var xml = new ActiveXObject("Msxml2.DOMDocument.3.0"); + ok(!_.isNumber(xml)); + ok(!_.isBoolean(xml)); + ok(!_.isNaN(xml)); + ok(!_.isFunction(xml)); + ok(!_.isNull(xml)); + ok(!_.isUndefined(xml)); + }); + } + + test("objects: tap", function() { + var intercepted = null; + var interceptor = function(obj) { intercepted = obj; }; + var returned = _.tap(1, interceptor); + equals(intercepted, 1, "passes tapped object to interceptor"); + equals(returned, 1, "returns tapped object"); + + returned = _([1,2,3]).chain(). + map(function(n){ return n * 2; }). + max(). + tap(interceptor). + value(); + ok(returned == 6 && intercepted == 6, 'can use tapped objects in a chain'); + }); +}); diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js new file mode 100644 index 0000000..86663a2 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js @@ -0,0 +1,70 @@ +(function() { + + var numbers = []; + for (var i=0; i<1000; i++) numbers.push(i); + var objects = _.map(numbers, function(n){ return {num : n}; }); + var randomized = _.sortBy(numbers, function(){ return Math.random(); }); + + JSLitmus.test('_.each()', function() { + var timesTwo = []; + _.each(numbers, function(num){ timesTwo.push(num * 2); }); + return timesTwo; + }); + + JSLitmus.test('_(list).each()', function() { + var timesTwo = []; + _(numbers).each(function(num){ timesTwo.push(num * 2); }); + return timesTwo; + }); + + JSLitmus.test('jQuery.each()', function() { + var timesTwo = []; + jQuery.each(numbers, function(){ timesTwo.push(this * 2); }); + return timesTwo; + }); + + JSLitmus.test('_.map()', function() { + return _.map(objects, function(obj){ return obj.num; }); + }); + + JSLitmus.test('jQuery.map()', function() { + return jQuery.map(objects, function(obj){ return obj.num; }); + }); + + JSLitmus.test('_.pluck()', function() { + return _.pluck(objects, 'num'); + }); + + JSLitmus.test('_.uniq()', function() { + return _.uniq(randomized); + }); + + JSLitmus.test('_.uniq() (sorted)', function() { + return _.uniq(numbers, true); + }); + + JSLitmus.test('_.sortBy()', function() { + return _.sortBy(numbers, function(num){ return -num; }); + }); + + JSLitmus.test('_.isEqual()', function() { + return _.isEqual(numbers, randomized); + }); + + JSLitmus.test('_.keys()', function() { + return _.keys(objects); + }); + + JSLitmus.test('_.values()', function() { + return _.values(objects); + }); + + JSLitmus.test('_.intersect()', function() { + return _.intersect(numbers, randomized); + }); + + JSLitmus.test('_.range()', function() { + return _.range(1000); + }); + +})(); \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js new file mode 100644 index 0000000..68c39dc --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js @@ -0,0 +1,27 @@ +(function() { + + var func = function(){}; + var date = new Date(); + var str = "a string"; + var numbers = []; + for (var i=0; i<1000; i++) numbers.push(i); + var objects = _.map(numbers, function(n){ return {num : n}; }); + var randomized = _.sortBy(numbers, function(){ return Math.random(); }); + + JSLitmus.test('_.isNumber', function() { + return _.isNumber(1000) + }); + + JSLitmus.test('_.newIsNumber', function() { + return _.newIsNumber(1000) + }); + + JSLitmus.test('_.isNumber(NaN)', function() { + return _.isNumber(NaN) + }); + + JSLitmus.test('_.newIsNumber(NaN)', function() { + return _.newIsNumber(NaN) + }); + +})(); \ No newline at end of file diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html new file mode 100644 index 0000000..bd34f9d --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html @@ -0,0 +1,19 @@ + + + + Underscore Temporary Tests + + + + + + + +

                Underscore Temporary Tests

                +

                + A page for temporary speed tests, used for developing faster implementations + of existing Underscore methods. +

                +
                + + diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html new file mode 100644 index 0000000..77f2f3a --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html @@ -0,0 +1,43 @@ + + + + Underscore Test Suite + + + + + + + + + + + + + + + +
                +

                Underscore Test Suite

                +

                +

                +
                  +
                  +

                  Underscore Speed Suite

                  +

                  + A representative sample of the functions are benchmarked here, to provide + a sense of how fast they might run in different browsers. + Each iteration runs on an array of 1000 elements.

                  + For example, the 'intersect' test measures the number of times you can + find the intersection of two thousand-element arrays in one second. +

                  +
                  + + +
                  + + diff --git a/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js new file mode 100644 index 0000000..7bc5cb4 --- /dev/null +++ b/static/js/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js @@ -0,0 +1,155 @@ +$(document).ready(function() { + + module("Utility"); + + test("utility: noConflict", function() { + var underscore = _.noConflict(); + ok(underscore.isUndefined(_), "The '_' variable has been returned to its previous state."); + var intersection = underscore.intersect([-1, 0, 1, 2], [1, 2, 3, 4]); + equals(intersection.join(', '), '1, 2', 'but the intersection function still works'); + window._ = underscore; + }); + + test("utility: identity", function() { + var moe = {name : 'moe'}; + equals(_.identity(moe), moe, 'moe is the same as his identity'); + }); + + test("utility: uniqueId", function() { + var ids = [], i = 0; + while(i++ < 100) ids.push(_.uniqueId()); + equals(_.uniq(ids).length, ids.length, 'can generate a globally-unique stream of ids'); + }); + + test("utility: times", function() { + var vals = []; + _.times(3, function (i) { vals.push(i); }); + ok(_.isEqual(vals, [0,1,2]), "is 0 indexed"); + // + vals = []; + _(3).times(function (i) { vals.push(i); }); + ok(_.isEqual(vals, [0,1,2]), "works as a wrapper"); + }); + + test("utility: mixin", function() { + _.mixin({ + myReverse: function(string) { + return string.split('').reverse().join(''); + } + }); + equals(_.myReverse('panacea'), 'aecanap', 'mixed in a function to _'); + equals(_('champ').myReverse(), 'pmahc', 'mixed in a function to the OOP wrapper'); + }); + + test("utility: _.escape", function() { + equals(_.escape("Curly & Moe"), "Curly & Moe"); + equals(_.escape("Curly & Moe"), "Curly &amp; Moe"); + }); + + test("utility: template", function() { + var basicTemplate = _.template("<%= thing %> is gettin' on my noives!"); + var result = basicTemplate({thing : 'This'}); + equals(result, "This is gettin' on my noives!", 'can do basic attribute interpolation'); + + var sansSemicolonTemplate = _.template("A <% this %> B"); + equals(sansSemicolonTemplate(), "A B"); + + var backslashTemplate = _.template("<%= thing %> is \\ridanculous"); + equals(backslashTemplate({thing: 'This'}), "This is \\ridanculous"); + + var escapeTemplate = _.template('<%= a ? "checked=\\"checked\\"" : "" %>'); + equals(escapeTemplate({a: true}), 'checked="checked"', 'can handle slash escapes in interpolations.'); + + var fancyTemplate = _.template("
                    <% \ + for (key in people) { \ + %>
                  • <%= people[key] %>
                  • <% } %>
                  "); + result = fancyTemplate({people : {moe : "Moe", larry : "Larry", curly : "Curly"}}); + equals(result, "
                  • Moe
                  • Larry
                  • Curly
                  ", 'can run arbitrary javascript in templates'); + + var escapedCharsInJavascriptTemplate = _.template("
                    <% _.each(numbers.split('\\n'), function(item) { %>
                  • <%= item %>
                  • <% }) %>
                  "); + result = escapedCharsInJavascriptTemplate({numbers: "one\ntwo\nthree\nfour"}); + equals(result, "
                  • one
                  • two
                  • three
                  • four
                  ", 'Can use escaped characters (e.g. \\n) in Javascript'); + + var namespaceCollisionTemplate = _.template("<%= pageCount %> <%= thumbnails[pageCount] %> <% _.each(thumbnails, function(p) { %>
                  \">
                  <% }); %>"); + result = namespaceCollisionTemplate({ + pageCount: 3, + thumbnails: { + 1: "p1-thumbnail.gif", + 2: "p2-thumbnail.gif", + 3: "p3-thumbnail.gif" + } + }); + equals(result, "3 p3-thumbnail.gif
                  "); + + var noInterpolateTemplate = _.template("

                  Just some text. Hey, I know this is silly but it aids consistency.

                  "); + result = noInterpolateTemplate(); + equals(result, "

                  Just some text. Hey, I know this is silly but it aids consistency.

                  "); + + var quoteTemplate = _.template("It's its, not it's"); + equals(quoteTemplate({}), "It's its, not it's"); + + var quoteInStatementAndBody = _.template("<%\ + if(foo == 'bar'){ \ + %>Statement quotes and 'quotes'.<% } %>"); + equals(quoteInStatementAndBody({foo: "bar"}), "Statement quotes and 'quotes'."); + + var withNewlinesAndTabs = _.template('This\n\t\tis: <%= x %>.\n\tok.\nend.'); + equals(withNewlinesAndTabs({x: 'that'}), 'This\n\t\tis: that.\n\tok.\nend.'); + + var template = _.template("<%- value %>"); + var result = template({value: " + + + +
                  + +
                  + +
                  +
                    +
                    +
                    + + + + diff --git a/template/common/navbar.html b/template/common/navbar.html new file mode 100644 index 0000000..1452fcd --- /dev/null +++ b/template/common/navbar.html @@ -0,0 +1,41 @@ +
                    +
                    +
                    +
                    + KODExplorer + {1}\n"; + $menu ='desktop:'.$L['ui_desktop'].':desktop,explorer:'.$L['ui_filemanage'].':tasks,editor:'.$L['ui_editor'].':edit'; + echo getTplList(',',':',$menu,$tpl,ST); + ?> + +
                    +
                    +
                    + Language + +
                    +
                    + + +
                    +
                    +
                    +
                    +
                    \ No newline at end of file diff --git a/template/desktop/index.php b/template/desktop/index.php new file mode 100644 index 0000000..7448149 --- /dev/null +++ b/template/desktop/index.php @@ -0,0 +1,108 @@ + + + + + <?php echo $L['title'];?> + + + + + + + + + + + + + + + + + +
                    +
                    + + + +
                    +
                    + +
                    + +
                    +
                    + + + + + + \ No newline at end of file diff --git a/template/editor/edit.php b/template/editor/edit.php new file mode 100644 index 0000000..efd82ca --- /dev/null +++ b/template/editor/edit.php @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + +
                    +
                    +
                    + (Ctrl-S)'> + '> + + + + + + + + + + + + + + + + + + + + +
                    +
                    + + +
                    +
                    +
                    + + + + + +
                    +
                    +
                    + +
                    +
                    +
                    +
                    +
                    + +
                    +
                    +
                    +
                    +
                    + +
                    +
                    +
                    + +
                    + + + +
                    +
                    +
                    + +
                    +
                    +
                    + + + + + + + + diff --git a/template/editor/editor.php b/template/editor/editor.php new file mode 100644 index 0000000..7a746e7 --- /dev/null +++ b/template/editor/editor.php @@ -0,0 +1,69 @@ + + + + + <?php echo $L['ui_editor'].' '.$L['title'];?> + + + + + + + + + + + + +
                    +
                    +
                    + '> + '> + '> + '> + '> +
                    +
                      +
                      +
                      +
                      +
                      +
                      +
                      + + + +
                      + +
                      +
                      +
                      +
                      + + + + + + \ No newline at end of file diff --git a/template/explorer/index.php b/template/explorer/index.php new file mode 100644 index 0000000..791208a --- /dev/null +++ b/template/explorer/index.php @@ -0,0 +1,146 @@ + + + + + <?php echo $L['title'];?> + + + + + + + + + + + + + + + + + + + +
                      +
                      +
                      +
                      + + + +
                      +
                      + + +
                      + + '> + + +
                      +
                      +
                      + +
                      +
                      +
                        +
                        +
                        +
                        +
                        +
                        +
                        +
                        + + + +
                        + +
                        +
                        +
                        + + +
                        + + +
                        +
                        +
                        +
                        +
                        +
                        +
                        +
                        +
                        +
                        +
                        +
                        + + + + diff --git a/template/setting/index.php b/template/setting/index.php new file mode 100644 index 0000000..e5e7e4d --- /dev/null +++ b/template/setting/index.php @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + +
                        + +
                        +
                        + + + + \ No newline at end of file diff --git a/template/setting/slider/about.php b/template/setting/slider/about.php new file mode 100644 index 0000000..e6f291c --- /dev/null +++ b/template/setting/slider/about.php @@ -0,0 +1,6 @@ +
                        +
                        +
                        + +
                        +
                        diff --git a/template/setting/slider/fav.php b/template/setting/slider/fav.php new file mode 100644 index 0000000..acf2831 --- /dev/null +++ b/template/setting/slider/fav.php @@ -0,0 +1,5 @@ +
                        +
                        +
                        + +
                        diff --git a/template/setting/slider/help.php b/template/setting/slider/help.php new file mode 100644 index 0000000..258a07a --- /dev/null +++ b/template/setting/slider/help.php @@ -0,0 +1,7 @@ + +
                        +
                        + +
                        +
                        diff --git a/template/setting/slider/member.php b/template/setting/slider/member.php new file mode 100644 index 0000000..1a39d1b --- /dev/null +++ b/template/setting/slider/member.php @@ -0,0 +1,144 @@ +
                        + + + +
                        +
                        + + +
                        + + + + + + + diff --git a/template/setting/slider/player.php b/template/setting/slider/player.php new file mode 100644 index 0000000..cbe2342 --- /dev/null +++ b/template/setting/slider/player.php @@ -0,0 +1,20 @@ +
                        +
                        +
                        +
                        "; + echo getTplList(',',':',$config['setting_all']['musicthemeall'],$tpl,$config['user']['musictheme']); + ?> +
                        +
                        + +
                        +
                        +
                        +
                        "; + echo getTplList(',',':',$config['setting_all']['moviethemeall'],$tpl,$config['user']['movietheme']); + ?> +
                        +
                        + \ No newline at end of file diff --git a/template/setting/slider/theme.php b/template/setting/slider/theme.php new file mode 100644 index 0000000..c4d5931 --- /dev/null +++ b/template/setting/slider/theme.php @@ -0,0 +1,10 @@ +
                        +
                        +
                        +
                        {1}
                        "; + echo getTplList(',',':',$config['setting_all']['themeall'],$tpl,$config['user']['theme']); + ?> +
                        +
                        + diff --git a/template/setting/slider/user.php b/template/setting/slider/user.php new file mode 100644 index 0000000..01b185b --- /dev/null +++ b/template/setting/slider/user.php @@ -0,0 +1,11 @@ +
                        +
                        +
                        + + +
                        + +
                        + +
                        +
                        diff --git a/template/setting/slider/wall.php b/template/setting/slider/wall.php new file mode 100644 index 0000000..d787ac7 --- /dev/null +++ b/template/setting/slider/wall.php @@ -0,0 +1,19 @@ +
                        +
                        +
                        +
                        "; + echo getTplList(',',':',$config['setting_all']['wallall'],$tpl,$config['user']['wall']); + ?> +
                        +
                        + + +
                        + 3){echo 'value="'.$w.'"';} ?> + /> + + +
                        +
                        \ No newline at end of file diff --git a/template/user/login.html b/template/user/login.html new file mode 100644 index 0000000..9fb2caa --- /dev/null +++ b/template/user/login.html @@ -0,0 +1,40 @@ + + + + + <?php echo $L['title'];?> + + + + + +
                        +
                        + +
                        ——
                        +
                        +
                        +
                        +
                        +
                        + =3){?> +
                        +
                        + +
                        +
                        + + + +
                        +
                        +
                        +
                        +
                        +
                        +
                        + + + + \ No newline at end of file diff --git a/todo.txt b/todo.txt new file mode 100644 index 0000000..c952675 --- /dev/null +++ b/todo.txt @@ -0,0 +1,17 @@ +==== todolist ==== +官网改版:历史版本;更新内容; +0.官网改版(英文版),github提交,说明,文档,…… +1.回收站 +2.文件共享 +3.通用文件保存控件(文件、文件夹) +4.编辑器新建文件保存;另存为文件 +5.创建副本,ctrl+拖拽;创建副本 +6.同名处理(拖拽、上传、上传文件夹、粘贴、解压、压缩)——覆盖、都保留、跳过(全部——当前) +7.远程下载——列表——进度。 +8.选中后直接下载(文件文件夹混合,无需多一步压缩的操作) +9.加入task机制 长时间运行的建立task——可以中途中断task(用户关联) + 搜索、压缩、解压、远程下载、上传(任务,可以指定中断) + time()/5=0 每5s检测文件是否存在不存在——终止任务 +权限前端验证(上传等 上传格式前端限制) +目录权限监 pathList时输出时代入目录权限(is_writeable);前端检测 新建、上传、删除、压缩、剪切 +环境检测 目录权限(data目录必须可写)、GD库检测、set_time_out()...

                      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%0DUU(^qBtu-};|LmrwHxSkLg`Y93l8o%abliZfMZf z^A^q9S&ZvjQsN&|fbT+w;Th;b?cTKe)$TpY=+Z;-qaz7*e+kXRzoiLDF|duTs2(p)5y9Cm|U*>A~|%;y@8tTxI* zNXXsu5IgbHH5QdBYk)^XuP=f8G-LW!^&ZU;rquVtAT$o|HcE!n{rxFt^|iH?mSV~H z=aPTW+So6D<`_u(n)7GtcTkOB(Vea!U;$WRe!F5Hnjex$&BL5r$dF zI8$o;Lmf>}H!D+J(hCqG+ZjC`xHw*L`-CF{^CqC54&R#jk#dzP=B07vrGE~>Pr6h7 zHCW1d70FR7u)_^S*oLJ=x6V?YdD$;EHwcX@m2uNNky*}vi_|uolytzl+icK~2IiTBRIroK6`o1;BCTAVY*XSnY>is2M^r-{)3Te!N!Y143zyEhQ0Qz>LhZ z^949O#|Zw>QO#M4`Wb6?mXt6-3E%RS1J6pMds;-ZO>x%QK~~HXQWkOj)E&OUxV3&w zu0zq8Y!tMcqo)B%+)HeaUsW36z9V1kGcOw?G9*fEL?Fgs^v^<1InQd_?$^m$nR}a9 zWw#KKk^(;X9V=Iw+U--C7XSoxt7>EdKZbi``evfza@h=$N;*bu@nNBau4F~VQU3t! zef@sE{{Z1uE(pafqAYYYNWz!9k?cvRyB-=5xhh)JMt6ac>%pQya6pcyoI`tX3ZHdh zDe2BstS9oQIMX??%aXKNM2)gJb>O5lgyfxv3aw94MpE+ZM5(5dcc}$ODn7rhV)^1s z8Ol_9bMrMEl#F>crd0D_`WHAr{OeyY>f6yf&AU&vo{keHPCkR>ADuLDMc7nM>SxP0yKMb zSVCYouMd^0w?P;SkqtSN8& z&D(^7wICz@@j)blrDWwI(9!s*n3I^}mQI1;3T@-`$df)uU}3F%aVg|{`L8Qx5(VPCJwtLbkVG{%V4O3`)` zI?JWw-XutRRBf(&P*}*^oMfN?6NAV|;s;$ucs-`H9=E${mXRj!pjbzl@ozW_hGT>M0#6=lQ<6%6;A1AZ{;0KSgcMA%OI$|O zuorETe8mirlG}r-N1^7Ij50f;ws~@5iiDLjvuMpnKU?c1Y8?~d^n^y4Ffn^tUI}e` zl1O*58&XD2M_iGL`Yrh~E*7b}YVHv3pPJi(M08-S#pC#DLi!;|ASfO=9qZ@M31vce zODfx8oi)2_QdInwWrEptz>s%rI0R$9c+GWN4~u$zy+0scnUfw;R71`wLDZ`ppeG&3 z&(nj_p(go#J`SuhN)1oXnfUNSR1rg5~BD6gxVAK99-E|b}oG~`_E$|kW(p9vS

                    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 literal 0 HcmV?d00001 diff --git a/static/images/thumb/movie/tvlive.jpg b/static/images/thumb/movie/tvlive.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b26fcc2523d355a8d0cd322aff9fd5293563e507 GIT binary patch literal 56664 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%0De#$_G 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
                    Mg&>CGSn&bYNB#%*q$hWxq>0D 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 *@0|p?fu6O z0)+M6(LL}?-F@Hppa0m8`|WERGWdxs+d$aF~q|L zHHRWJnr+T{?5M_yuEY` zzSP1`_jvsFA;mQ}(v#OJ2RF@ggw^KZo^%BJ_X4cP!eOSKU5_ZO#X}@TDG36b7`Y5u z>~~l~?Yt{FZZen5OC0#(Ie2s`jOhbLZHFxg1mlGZ*O01&VPL$ZUI#hx^)T2JUjW_Y5oqKSN5&M*^Ua*BE+Tk2Ew-rcfS?u_y#J^YzTB zh@_FfR%7x{VCOy_zwy-nj>nTp`f&I+UnD8#ne(&#ox@zF&gHw{5#zF4ClJTf4OFa>?E$s{Wt< zGu-d@k3d%tXY@1z93AEX9^bP&U_YXkG{80Uv^mmn<=Sv@Gwrf4sB*Ju;x(lDAX7ku z5M|Rwp(G3s6`)W=LLrbApRyI;5LKkL)|#{yu)}TJ;>*^Wv?#nStUD5vqj&V9N0JmJ zBd+xdQ{HF`gE*{5RgK8o<$7(}qF5$CfHEzbLm^;5{bagd*e{;mEsHK%l=Oz`*_#&% zmX_OKR(upKGC9{*8z&$7%4zlRFIJEABu>8ITx&AIi=Fn3FL8$7?0Jian-8N?Mr@ne0?H^>*ABI zAO1YIdR%(lOc%$P2QLX8(S*@@GV8X=s9x`{>SoLB-OW;_6LfTYF!``3O21)oes+9U zh)(6`{HIR}c(k$CtDhCWfAV-3&!S{Ue(aNx`lyY@nqievi&AVw-^*(*kK>HT46U<5 zj95!cjj?M|*RKt95|#_D@7SHQ0h=#V=j-(>G=><%DZU@sa{Y#Ir$!w-7)%gT2+%=Ui2?
                    g+qP?yraylCkoPN%N^Rm<5J*B4 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

                  • eW(+)9E8+M#5~22$*446q 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[psU<%ICh}zPd6&QS0;3APA=!bw7-c+!-s~g$IKwubn1uZv}%g zdXVjvte=aQS?Ttm&AwlNs!x-3-*b+GnkNc+|D7c3xyb78+|_j~tR$oden=|VkPiS) zmtQ%1>3F*`pxzv?D87)jO?d+UvLof4UcDaW9m?xgES^b_kt&ePx zdxC+vduxjOYqBYa@6ui4QKm-&s3wSPz>%_>aV!Ok1&vLqp^E9iS4fwoQf#PnKMNs6 z4WpAQOG+Ocd7o!nwn!#63+_ffVFMT5489qBjh}uDtZyQAxjEWb-|DeSf3|<`Vkebn z5_li>OdBED;D`M`VOQ`*i6<+uwEqdKZFpN*p{{y`?^mz^fdDG zWVBztt1a|t__Lk+lEw2;61DACcz-Ul@80``*NCvw$G817POUHQKMWO7Lxc$_o}9k4 zi2WWm&iIOj6~$MIm69bAHwO8^1>x*Y`M;O{2r$0$6(MqMw3Q#0srZOpw@S<)mV z<_umm=g|!@WCq7y1V)6rT*qq&mEU;dG75hm#luPecolItiRt(=p677fevh0nXUFOnDVbi2l}^Jk4tFEGtQp!$20AZIlx_I$ph+P zXYHp8kkV0}9vLwTNPP6SobeDlt@Z1_9Vh3U?x^1W~lHNteTj0c52nZRFxSsoE8~O&HHm775Fmhi_hn!L@r( z&Djh4+N5{AfA%7CsxB66FbX@d9Em=jGx0^%@k#r=tsTo)43?4p$mGc?%)C?@wyFN< zI{12(n^#?V5X$->j{LqRc}#oSJ32)Un|aRLFV6oEI>5j>Ks#gc@%h?}-`2@!cuqV_ z_G^&dPc8iTVdtW)TZjLFV^ROw0D7`ZwSYo{S}2d zTPb?C(>%B-v9K0V!AKb+^_W-|*uu*NNH)rI9KB|QK!DBatd4Um<_o!mRilDe

                    8U)69H*>c(3PMY-WISVqlAw@QvgFwml+pZ!;QchP|459aW#GWyqOc$WpwBi zt1!F$Wo*WJc&gkm_nxChlWdg=fq}ewo$`d3q#5%^U@(!KpB`c-yubf}<$LePHJiJl zj4tQRDqZbe4S;mNBm>?~gj5^j2dF#VEF4=KQgh567aexB3IhkuMD^Lc;uET-77D@G z^MrEe<15(#Z9#+-M z;em)D;}*P;W%+px zXj{?))tgfx|2CPS>+SUY#BzaRlbl{DS_=*{bq<#-s4^rBm)Xx$T>H(R3>rW5N zzHw;OfiwPZsb>O=ufkV<8{Upr4`==%1U@O8f&E?bKy_WJi4{R8g-P>taO6C#XguY) zY#5Rk=ah9%f6WC-@Aj=BK0F4OtQA`__;{1;JO`j~`T=*yT2d6r0c$pBU-b}*f2XGz zDL0O9AeubZx$5GD+yYnN_MVFrgz|y|j9~%jIRH+*ifhM0#fNh6bAEb+cGp1S>tnL_w@RI241B!e zOPI#d&I3{f8{#N~xl8VQ)?I`Yf7=axiGf(I;h*^KQQv5;X^YzO_Kj{0>;)6GAyKoz zPZY{NuO=Vgsw!(YdQq*c0^BoR*NQ}#^D~&YoFC!Dx4H( z*dp>GbawP(teQsDUF6}VPr8tN`|mk)1`EYbuZ*DtG&d>U2p2pALzM`;1RqYVqN^VI zQ%;2f(5-2bWLvWHo~sFDNe!lyWGv`C#?;%0zfV>D9;h{9O|RLiaD4TAK2~Gj+H%R& z`6k9?wM1h|uWnWUYoMPim9HV7O#~JL7lSn+T~Ao44Ojt#%sGR9b z5Ok%BGjk}vB7K~id+@n2EZYN~4|F%wx5NP=295XL???tu=kj0iPvr@SkaB<0mp3&ruF z+}YbU((~lJUNg_RGX+A3-KZfK|96(VjDtKPpGyYkU1&jP8&HnO#SGO7fgh}a{peOX zU=NVZPd#d=CwQvS^f^w+srnjwa3a zq`%eYJSP!Y9}&72B2j#+MDzV2xX^UWY$v?W^6p_0PyQ$8Q}*B{3y@2z) zplq{r!9i!`z$-y<{HV7n+iy&1BGYiBFJC3`4na_AurnBqO(EJhqF+UaM4g?{R0g2T z*)wk}SX({Et|R@$8&=}pA_S#lkdTGwCbrBCcu#u8Fp&gjh^(E!7As5#Fdd;|tWysQ zh5pIAgdWi_MkvKABp;EmME2Kk?8T$}5rm%_T_(!+O0_}!Id=TB6S9W&ID`$5XR4%y zU^Kt0o<=QdlkhM;59Ne9Gy?~b+`q5fNdy!U)qE!yA)SND97I#z$)#j51;I$supc%C zAy_UcNnaAviOtL@GZdkcFyvx*)cgLZd?qcSWE zmf;fGf^r0Z%Am~OpuckB<&FkTbd-6)AC8hQ#Q8!qzx%YDO`D@_Hg~J__+3f7HHRDT z*01xOH;`itnb?(UJsnS7=RpSWs|!@ura7yptREjQp3^`)S*mSlk>E3ZQXUP!(q~2w z@^(KW3t_2@1bDqxAWmO3ssQ996I+(t>UoX8yd_$rVFc4SC;57tvjx(Up8mQiZGMU4 zx;~afibGX|U5#DG#9!-6^FjOTc-{Y&?HDLbF!=yJDVST}Ynf03;l0|y`G3~=ZrBw? z51E{(tbfrAd@I>B{4=`b>cW&0AfUsxQoaJ5$L}~08lL#mtr^7%r-TMW?R3z9v>T6QNkrHy;ys93vX_KNo~Fp7kekS*`^69+e-rJCkZ+);# zfpF&x*|LEHq-19hH1aMYX^Fs7Uk;P${6wLTCpTflkDWjkkC8^=p_wSR;`#!O0xkZ@ z!0oGSf=RJ1IUsPTP>FOdL;XNuit00Y1TG8wm)WYQ;a%mWZbXZGw6lW0!=;XXHsB1v zyoD-Ekvc#H$!TN>7pyH1DwsTVTtu$|NVO?WMZm$P5@kJCL;3YnW^oR#B!*El|0Ku_ zBrAO?tD`Q+Kf-S~ruYog?)Rr7wEdiq4D$7AwEO-s*@St0b34H8iEs~sWkv0!K+Xi2bA?`&b< z3o_$T9}Q$4^npSlbPOs|m%%0Hl5c)cfLM>z#h?gRT@{T!HP*_Yi#8-8>IE?6CX_MB zyg3|UGSsZK(>#+Y?{7!eL`B1E9EsVDLhO^yRGCbQO5Ouqcs@tF=cArM^9#>GxJnd{)6SWys0i z^-mP&XlMvFsU6k1)aUs=D@i9PYNq;9JO%?;l*Cira{BUXqkO&jFZ8}}LY0LWP(%>(J;`=he6*v2__BMOk z=T+AM!CQWT3uw}JMf&-c@*S$T{r?a;jtN?zS|DHmD(ig$RS3e!BN~@V*t3GkhjeSC z^n8}+d20580Tk+J+J(@kz7s_7~BcMK64 zMlgKR?}4rABrGPN>O-MqiIlCA3$s0}8!<}RI1exNzOxs4_X?e+WEX|aV1I7LIaKQu z_UHn!Wj5chi@)t?_{<(eKZrpiOTPFQ@9tEi)MQc;_;GFiQ2QyUjr{G_Ti5tUb@@TX zC2gNt^wR(tWsynkAp&rm|Bvj&jGXgZB(rps!eNGlIN>g~?QrtRAZnVN_G1gLfbUIG zlCO>+Bb!q@`B(XK??V|q3uS{qXJ;O3W|w=_u|IP`5_CXWnPC+fYzsgFe88U&bSGKp zeXnwO+z;V9HB{NRLcw~SZ~L?D>2KW26Rqw&Yhj15u8F2+R>nIHD~gAu@IR|Jh#84m z2-^ONUUR}pADQsa0>dLx2#XJ{ODz6FC~lya3@r6wQ&ta|a4|Uq%F_)0H$z3qXOchg zXdsfqOS4c~VW68{<-2i?^|!)$Q4j7;|K8qlcKY z?GXE~crTfWD_cXG7e%iAq0(t=t%2c>!otlG#px^}TpwU(>F+7OoCEuxmzJ{yI3&Y* zm8T#l0CX0__e5y@ygGQ(L-sU02qij67tK)eH&Eoai_`H^%(IA%+i)Q?N%xFZ1%u+CK&G10ZkuT|^OR{%u zWUGqCii?ReR_1}G%snq?JPCv%t7JWO&^_2I6fU*yVVfR{KN0hZdGRfTRt7-cDtNmc{?AT;n|Qm zncHGzb3fs_yVLljec$qfDvIjNNY2EQ!2yWLyd0@T&3y^AqzO{UFxS8yzm4B9M_IqmIZESp#tTXQ?c zzBwSo$qk{te~~M;t(T%>2(fqeiH>0Yd;ZO47(cIY4Yh0|vG0HYi3mcJuKv^M;wWl^x9wl0` z6rsYqk#MN>epOKkFuSMsO|HDGb5C;jK8>cK@v*A^L9SM8SVXy;a8%q<&yS@mg}@IK zhl3I3)-ApE{)|9dG(MV6Wx=jH7Z0qFg(#b-WIe$d?I^SJ>k?Vut<2?OZUUZ$7 zsSidUSBymakNQt1DhfBFD_zoj^6yQ&QZ9#-`kkNFplq0-bT2~XIC|dn^=*H&rgkgk zHNt(CaZgBx2+YDEwi+(+{UdWBuDn^{iKltagu9$2mk@Vqu(CnIjt=po3`H1MG^CCn3YSpU@Xh)> zLh!jKcVKAxBWc{I*~h6;`1B3;$;Yv9W&U>OVztHwJS0}-G9M2PK}AywvSp(;^Y*Ol1dpN8~Qo0T?#)ST(6ZyukigMsny7` zz9!BrN_j=B-f=&CWn>~flyqC<(3(9)a-8vH^l}j9d+*PWKN;b(9g9QXbDv2uvmHXo z+esvO+p?J6sHJ`6q7Y*1*6qEQy=husu5-=3W#g|$l&56j;gKE?W9mh)BQ&913K8Vm ziNlWA$!XH_IM0#-=cZd`pW&OXq&;s_z)^PXCH~0Y4OWd-XHTnz-~4_<002DbMOJLG z(dZU=sL{?El|Xq3pM>6AI?s5+3GG}I<3&HVlzVh<4HR>*)hfKSC$xb)Ge#_E$Fke< z$e(i|Xm_)y5xs&X?20306I0F=!jM=? z562djEiYJD6#dLWZ&+E{3UC*YpgXykIr3>2p#@yQwW?OBOFw#)7=gO3D70y7Tw>O^ zrqha22sbMIiTL=9d`~aD?yU?r)`>#)3Y1@;t~v$!caNhr6ms6rR|5TS^n_iz8vxK{C|)sUiis&EjZo5&l6adBVN>PeD4Y}W61n%(k}5nm7DD3_eELf& z=(h4QPX+`LLtNQ3#kc%_Xuf*i+t=ti1w~HaKz7+;pF|Lm6<^RZHa+%co?Bm;lr1^8 zQzo`TMF-5G$N9q|SC84^=_vd@S>6O`)fW`))bgC9K@^bpIV&F6dQ4{oQHx4pp z6&M0l)dGj?W_EwQdS~A&%>YseMs6<&+U@iKB|1;OzbAcBUE}T;*wz-BS~g;vP;^fV zu#9DPpEag%$BIRo!ex3;p#^BZsDlIv7l!itcD|8rx1T1tc6sIMHR~MjyZgWU_a;?Y zEe9(5_uemVb*2zsGVhQEK+pyB_B$a$8b~WEpQlZu$Sp(D>iTSZ^0o53^^@aKn_$LjOX50jhI)`Eg4g^|2)~SGFG3ZtpwjwC4)R?zq|T`*%C@ z+Gfgnl`EbAa~%l@Mkbm_$}-YXN|B?UlJhTQKKM3E+1>}N2NBCa5FmgnDFf1-xsCR> zRy4X|x=@@+liR#^BYplU#p4%)%8L(`YMZQp>Pp>h+!ZN>LYL3f6k*E+JmHK#KF5W0wfQm2{w_mwj*_OS$$;Bqq2QkURO!6CJZaxjxC zY#R$$#|sQFS^C0qf|snflwsZg?*AjD-0VV1lk?7B6m-3>$16QjNLPCuiIw3Dy^3N& zX@6@^;-rG5PLA*dCsaPnwfL4=pAS)awfW11-IOx%{J|AiVh0*AXKq9#*EH4*`s};N9W2FtDG%I#?rDH5*h|hnW!3Exd-tpAX-cZ zo$`BX$rY zlPNhM_sH;&vH? z_bCl$S$jChxx_d5ox9WPnZXWcmH?j201sI)%xiC^3uKo}60&~9(`1-`^QsP{N?uck!Me-d2bvb-e8br={S!bngw<;2$@b3PCIX%9G?%atMt&EM$`)% zMjGDYmJyy0cdRZ4cC*AbwfU+%Fj9(~>iy}EeVlT_n^-_Y@aO&{zRS-2 zk3$`&X_c<+aPA@Md$Ey!2%SfWqtdGIGm9Bpe2G#siO`2P?^FSsB=gl!ZHT}YJk1Yx zX*OL44KV-!f@+Z)b2^nF(AE(-upqWeWgx|lE=)Deb3ut-K4|VXV=#P?{`P zc*!M}Quj8tefDReMw){4z99b8#;Q1ooEmLODRD9E%nG$ZM3F#pKxS@D5Q>=v2RCVf z42%-*0y7$#ww+;VJ;uKKx~^)Xs09`D_7!X$41Nx>vm^vWABs4e@htr}oj@P;?pz_q zEMkmg89xDyOmxQGEjLEpK>WkWj%ECVq;sf9m)NrP9G?L zmeDvYP0&p3cW04OprJYcL+BS`uo=xvw6>43{ii6Le-tZjq0GO;dh1l1vwI{C{xd^l z!|%b2Kepl}M;4VP0gyI4=qzNY#B+|659GqQBQOI&)EmQLWZz8?^$$zoj8>asgC}g zBcBdVCxOUsOwuCgKQf@K8MR@(wyM8m9(8Ca&Pf#9uCt5?x_Avwwkn_KLZ<4B_6L!= ziaK<(uXquyEK!pq@*<1m=_@}hk?Zt*M&!WKm4pIXvzaa3+{@5eT-uyz7XeDP-^iI6 zfH*qg0}QJp!*UC+>H)F9`W)2$yh3&$T+J63DmND4ze>F&4jK~BR&yer@_4^_e=KyO zHT{0{xcHa}tv85@%_o{VGe9!84iVCMkp+kh+OtxMh({Y1$0A9h?N<)L zSi#rI9h85wqqR&eFb!bY0lv$t{j|yaN;COzS3ty>7Ej#xBy&Zwg;!@c+#auq+Y?&i@m2tF+z@fom^RH~PG& z=u*O%_JKIcx%@T;NcmAB4?{-L#}kK}SDnkw8yz(-Q9xMuq(5gB*U|y55>^MHD^Aq0 zF>=TU9Fnw;v-Ro{@y|E9Xb+tp_I&&)=jSTx7@p-x4hdfpQsBwM;YvV<{>4!v^w{cUNZ#{ZBdwdF<-%P`U%z#J zaD8*t-7vput)p^O+Agf?!f&w~vc|PQdZyXF4e>4=6KdwOr|L=IcDXEJT|Z=l3Nk#VM@Kyx}UtQ|o4(<;cg{79t@wiv}ETooK&<4LLf5%hf4)=)fmi<5!)B)g( z4_bx+3LLfwPZeKFlNEz!wk? zKHE`~Itj}62=mzA{r^`Eit!&pKE~$9KH?T(@(6%pCGZRdI;7ZgJY+Ip|0sNmz|}6J zo*q{T_=E${<*y)d)@{5U8tM&Sz_ zK~*SJOYu0`Ahdb5U&OU4#OYSz*5WpLTVdAR&JBVvMjM*xz!_8*Ora%J<b|^DLq>R8CiwmK3%A@jtHu@-(u@z$|x0# zUkgQwXUI^Z7;$95*>1@~I&sV|raujX>1lgv&jFOcfQ4AD8-r<(W4UYkWVWnKm5eD&yO*>DMJS5&zN^#LKo1j2ICPL& zkQ6||D{2@~m*8Hi_j5;rTRn|q8RT>KXxG`nrB|JR2^|;5#Z>bC_j3Cc@iKf&j(n`p zAsNhqinUAoLUyvS-S8WC^yXFmW|>p!G#D8CmUL+B4$XbY4Jl63$Kc2LEnbI(yh-gj zJdBj6fH6*EI2wSe;w^u_2}DqFy*2zoIE9N4QaV}gh5X`5%La)rA~Q$JWma@1sJ;XN zHrvBF<`2!qjYyM92kfj;OW=I zo|_Noi_i%}og!%ysM3L5T3%=Hp2Vr%$3*$A;uydE$^QlYeV54V+sO?rbp%Wt=RnXw z4P<12XPf&7Z1r>PhT!!t6(hP~s4@ZbQX6o8EGnE6F764X7cH+25415Q$H}ZxCS)(K z0PC*eA_fcJAODgfW(v|ciwPdg*w5@qBg>I{YX#rKW9Fl35!ah`94}d9AZZ~3gH5Cf zNeA-GS|OGfMgBu5016T;Ib{Ya+f!vx|GWAm1S-gbv&*bg=*x!in97U|2oi$ZU5>6J zG7FRe@Tz9_%Ls-_74X=;%z^fD*qg)VH(60y3;9as)c4(fNR(p-)pvrK)hF57tzGK0 z=y0y}!bT)qdZMPSsalS#`!x$0rRj*_^x@>2kz11<#g zIQhzb#lY_Pmo+LTC$$(Aa7q>M4wex5T8CvP(=wUyt84wQJdu`ccFqq`rB zwby^WO9zv4YcKq*2U?{+J|+R8gV&9;g=K|^t@3qne%4!7#-jk@Z`}-Z>H@dcK4m{H zH7a(RtA6~CrE6fXgKM@Ywynmt8`~$gou05!qb7}=G&UOBY;4=M&BkfI)A!!ru%4Mc zvuD9V!FhQpu%1j|uDlFbl4_~{S8KI+d7?hSozb(8w0iZJQ-u)E$Xm}KR7l6-8xQD;neMT^f`7rLA7E_ z;m}=oU%45JmjuQKwp@e+8?%oV+5AMMyRDXlB#BR12vJjz29&}9i zKfZGNGyde5csQ1WxMd|FF*1$3>}pACCdUt0-x9&E8Cl)VDA7++NkrKYv3~!hhg?d} zrm84I))#k95#PIpqpOXrxABiZ_YLi;Od8yvHnj&F^0x$ksTMlyZSnXE1G&|)U@iP1 z#YhB%PMYFSDc(oMIM_Rv^ zTWI_njm~uDnPH?r8Kqv7*28q}pLoQe{6^Kitg2f7^ZPS#2|K$vjJ<$=s&AFZ$$?3k;`4h+>1puTHS>F)HnPjyIbO&BkSKI0 z`b-Fd2#Fiv=zA7tlXEE2Z*Y(fHl*wEB7wWrZ4&IuE_^g1=U;wc=Zc~q;uGTtJVDFo zgs|1@8cB5@k3gktp74Gs(fh_8_>Pn(Wn(kEE;9tNKYp~Z$~2ci6F?$5jQNGVaZ`@~ z`|IjqZE*S2i%mpNc=@?FnmOhtjqIA(yDkDN*Zx**4NgiWwOmp>j(YX(PC1GO{9*~r znVH*;^@g;l31b=i**VTpoB@Q1_3_Lr)}V_Hg9iWrDv*|F(wyRb5n?6#{YH_GIbx-< zdvTdNjRT{Id=I@Hb?fu{hw2 z%5J>Df7`KOo&w|&_=1Nfu3}-uPYVt-Mn>yxu3a)Cd9y6mH9jLk#z42!KD?8|8iEA@N{?om zVFFN6#;`*8W>7Zhnyo$_A_7C5qA)`m$<|rxspRMzn1lmR8uNfJnO)~zOVzp3;m|FR zJ}_TW9=U4i0p_~G$&9Tt+&7(2)#*n{4Kvi|snB^^i1w=B|IYP4wUf~))9XJs_yOAf z8F6Nz30=lqdj5w2Y!MTYiy$ovi-3JB>SuL=GBkEgFva~$xv8<2SUwxj(1`#KBvdQp16FPp)$znb0 z4-%Jg+P@My^n*fWR%z4WFfpa}k~a+jB9>Gu1DUM-ff!}rFjhKnr~xnh1Qwfklu9ws z4_b+pDMJwZlIQw=Mt?FTBbyBi>qZ{| zxZ*ePkTQ^alqvaR-hBShp)lQ@W(b{>2C_G@IG*ba&sX~mF z;3{AgED$#?j$_Cj!0m1nViix%^)}}=dnnmJUGj&zzZ$=y8g_j@z zHml0kSThl>X{{-jTNxlM0O*PoU;;U*A)~Y=l=CY!yqb4x`1@dN^O#x;lO(U!S6kn` z_N(cU{mz=EE1d0}LIb(;=~$a}l3!vFvS+An7U65!jqp-8%iY@_sHSg@Z{m)C9HQBm z_h2F`0hNCUUHL)5(@bN52L(Gz@F;fzL_)yQq^(h?HA_6Z??d2*gn*|fsF7yUp-K?I zhOC^C8MW?`sL1=F&>j*|_?)yL8t!p_rJ3;jdf6#qm1H};`Q%h0OJUioY(p}6xvhT0 z(8FKk$|#>Vq^`3l{l(24|C5fzYhUOPiiZ)jWraG*- ze&itaEzGXt{T1t|)a~0vqwD6|Sh`l-y?|jkPHTCyHsf1ZnL-((R%P~{+g;bb#`NMJx_y5Ls)hxQ{a!p2h&l^V_gr@5 zlXR^`v(=Ux&vG@n32B5g0v!*gMO^99o*1t%ARN7u*p zIOHH#J=h$tNi-Hn@t&_GnqX;hs8~#Z+WOyZh|77KGF6?pZi~N-?Vf5J$k4FbpW9x! z7FQm(c8&dq5PZNp|4bVz!!}4d0@51X1;3xW;?u>k`{(g(qGH5ciC@fQ*@8$m z7Ql8qw+yeEdlf`k8iQPlHxT=-o=vL1k_; zU*iXXGD0VApz)ygL?L06UFCkU89%2oP0gU!;@YRN)0?+W!&L>b{w2&x(?Gu8W9_QI zH!qBwU`1cDq9#VIEP)Y~SckHkM>q+`^DGVT(h}FW%xd34Ww=EOAD&!Zaiw1l4hj|) z7Vam6+*mgN!0kWIY%hKs-0oW!aFm>0vyynxl#8`zV%ShxKSS~Buw_#FTC(125x1^0GM!e2tMi>Eb(4^9^-4V>c(%g7{l(g! zdABdpjy>Hzz^a6gizBaWHyK@JAT}Tt((i7(MztZ}TzxYs&T|9P`rlo}U zJzJ^h{|Swd=S*{L2pk}5TmCPmP!5PWDZnq_PahC^nd^NLeer~U$@h_;xeFX0W~jCR z03{;FK7*)6MJ?)OLNR5h35^Uu2Hyt5OZ8_oL{eEHv`r!>b0U=v;q+6!sq`ppZ`v8! zOBQc4e3A1vd~#($7SG2&6uFL1AXTCvGMoO|^?C-4%&!|J(>dNYS%p>wtLgA!&?%x! zSY$XRtmCFFrAIF@A)?lra<8I;PVzxyrY~9eJ`NEkaMNT0V;B+S-HGD%O3`*q=`r6e zhjD{>Dn%aAnM}|>Ioc~3g!7pRGmVzNQ>T*ajQWT+tvRm{JB|1?G!_LYRnxDA^66d) zF;pEdJH?JiFxs zhhKw=WLd7FF(p~xbnxfbzs%s`1OOPIn#jALWb~ADA?>ZNBaOV|bd2$6Wp4i7l)0aS zBnIL3?6K41kgmouRyK3JX&P5+H6b^cDt#)mjgBrlS&F&JT2`v1m>s$cNg+*GOTsw#R+zkvmgeR{Mf^wECPTAbNAuU@4tRJtSiWaAkN$-?etTFl zXUFX#E0ltc=)QaqL!4yVai$xi{nSOIcRDj)5+#J(*N+*Nzz${U2p~ zMg#N;kr(n8r<#0ftq3Vb%#5WQRsmM`;nl`NIlv$sNMuU?PL5?sG|`d& zl@j1vd9;wIzXMBJv$Q+-wz?KBqQspsVPk0e3mHhKFHNNx#>+#qoNaF~+&Mor@)L1) zj8iqxzgAAL4;leHbDr6>_>4TvC7C1sxj6eFumHLSJ!zaMdRin91TUe>v_jC}a2LAr z{qO7O9|Fq_xDzw)cx+iR&+(R>arPn8lBCDD9`#sTuf31zcl3+%COW@8?>Z|{7^O=6 z;kEmR&^clt1-*(otC@+u6~7udE*B_SFaB>~4bLn&2+eg29>Y#C{LY9}Vjmp|_I?X( z${i5~P`DcuJQsy2=nm`+6?WX|VO8o$G-N4$7Yq!|VHKmd&Vnu++}~-gcj6z9&(Ou6 zT%pU|e#+8}SV{4H6AN~+L5rt3*W{3xQt>VSA#iu|1`zW@I~?8yC#}~5fa3V`m>&dW zk!q~;g#!L00*_PC{mf?t`VV~jS`SUq)>?*jyHMY5m&FA5URjiqP&fq)Hc}Tq^$;WN z8bbFGlfp*`tf;>?ay=0b-rKV52YmTids+cNuu63^VGi940zcHWa3Z^1#o9qQH*uIRC`siO^iO2aEi#S4|pC#&pIXj04QL z{tbz!y*c1y3kZqKz*F5FdXeq$yai6%Iqd0l(Hjnn{ws~E=o{1C2d(tX)rAe8(m54{ z5{JVad5VH{c>Ls@%yHYWeE-~2S&x^(3JrT-Wu(Vw;AkXPibPdBA{}?}SCj!QZAAtJ zfcw@lIdn5Ctj6zQS(AB&a*E!I2fqd&D`m9Z%mn^d^Kz&)Y~7_%(y*WFQyQ3GWCnj$ zP?@eq<_^i)4$SviM8aYpQqkc=sgyg|1gK9LuH9lXN{rh8bjuhLdrK&ohY4Tl?8; zt%mu>b8)bEg~U7)rCeHYB}9QAK!rpsT`GmFf(`-}?{D(J(ym9AvlzoK22$1$j{R3_ zB@wmKbT8h}SfQQ2!Q>Y4+Xbm&0_^g3HcV&MWKGrT9wsI@+a?}oxYSMqD4Z@X{AQ{p zJd6KzId~|2Y2^%7{%xzmRXp&C715*+curO7uZ?3z6(7xmr-rCAoKvcW_2PF}P2CXT z3T$T{@eti3(yhl}X;i-Rh=R3`-Dj5F@i3C{H4T(88uLD1!mSb6PUzd!a*4Nw9Cg|v zZtxY^wEQgMhsHs1JMsAksROU&pVzI`t;e1lkBsJfyhoo86M!5SF~cWOSizIQVbO@K zlwk!ESUn@A0GJz`B{_qdfEG}DHG!U24!I+JJ1M6?8bO0gnp;!Ui}F;9b$#cA2?UKQ z1UfMuGG3180EWV(T1qz$+tr`ns3bg}LFFwu0O&#pZWcY>%2G~;aCm&ZMCvSB1oZ}0X8E5YRvSzpbzlFz9F zzFM1|>ijMjA1M|1@C-rzaB~p(6Vk@O`u=eN56uPU`a!0~QO!rGHYew!*^tp|NY{YA zEQs!lYg}>(N+&Mm6FREzbBrNPrz$Z~cwuKo$#|P@Xeg$?bJ@M#$ft^F)ehWFMQDx2 zNYVU52uxETq?m34??XmZ`h@Htg|U4wkp!%f%)&022q9qCI`AX9hFTyC5*WSpKg!8P`T~^k=@r`aowi!nGCL=rAd%tT9qo%d2mosRSeM z`1;$3SVw$zJOwpxAi7twX2n2qecQ+SzGK)wUmvw{%v8oprW7ZD2Bb-Z7ZvpSf`N7pb-eaW;U;X+cgITH+FDjmdVJqe;B!KuIK|MVz!dP6SO(vN~ogVjyVD zmJ$n4Vd;F*5+A!SlGtBJeO$0()#UM82?^Q2WJux<+*dcNB~0@>VQ8b(3hhHJ$+zK; zxqk>92K6q`sJ0=?tC&jaVS>9H(&sese;%3<3G|8~1awO_OrP^EQNacWo+w1@W>G}> zDge4e2n=5nn3grwqn4?wcQO7mHAc1eq3~tv(FfqS(-?Q8;(Vd^?4xSk?tAIMg}o<#~@is6_DaC@r}pxgD}N1j@UC?Ia+OEJDzu-&!=}WM((nq;xg3C{C7& zG6Bcc$tLgE>5J)EBlNDcmdlLnkSN3yHb4mrQUg~`e|uLPuO3amN~XZ}ZXE0``|dqr zd~A0%CxXQ-BS>@b@a+*vW67nH4l|^mom;S75to=)5?#l_UYl0PS?_kqxDET_#cQ$= zxh#5bOl7EGkamee;qS%O3nxAS4UWM3ueq=}iudM`MnJ|wsXjojG2$TfneZyuI21mx zG>gLb$AW0}`4844L#aK-R0=?TngS6FAHD!V32JoBWMja4<1^CqAdOAA1-hc0UBa>i8X#sz?G!`j;iS>t6r zg%h3m?FY1Nb^=2tPxk-n#@&L9BXXjH)end+`Gm?1@o2Zi6$k#?U((lr^`i!wTkl0K8c zX?SfCdscRAR+40O`wXzT@~@iOT%=0q$t2lSeX6qNa$wrbrtRi>sZ38<-|U z3Ktiv#c18O3)d#r?%~TjHIyMTQzQ6Kf!;qerDOvvec*z2HuTc~6Dea2F&5k_2sewV zZRLK}Au#UPdcwlwrbfm5Y9tty+qN1S*QsuOeYe1Bh+U&t<8zgnmQf;aqn6Y=Wnej) zV4W?ju2wKWwmZwD2GFZE2(d8L(_d{#4z1^3>Ltf?Rs35h^3=rif1OIseJ6CarD5nm z?5#_;C~+0X*RiG|v_eLX)l8MuvtRAX(bwzp!w~h@0Y33 z=d^d<$2v5~TTAE_t~83iua=%NIo)LgBh)0K0Ax!I`=AtH9fT-iR3}}vk{KW@BzON{ zH}l5h`Z}%_HUGyNI=?oHvv+JUa=JWwUdCpUMAQDl4|t)}{59k3&`!cej|=s#jf)r8 z)qAk{n6PleZw*_jY!?CXqYbTg63RnXEDhx?5H0#@1fw^Bz`I@y?ZL$k`AA%Mb zu!ebU+%?naX(%JI#%+2QrJaf+tMP9l`}8MMP-YIIt2DfAp$?C&MV)bUc$)pgxKWA! zA#{u!(8V&7fFy2VdN4{0o)nNZhQ#gI#{4UiOAu0O+2$6|g7My!4ZhD;t0ZYFJWS%* zOPx?Kx|_z8 z|NJ;K;|VW+%7}2L8Zn0)6bEDgq8kPHiKxZ4{0eP}-85sbonJHcCpo{tE1XwHu-d+LYHICNLP6uhE;=M;lqc0eynrF zKZN#>A+s3fh!Dh03}hJzsE!Szk?X--&e}f-`&cf7nhmqGu_y-DzORhk5`8rd$UwiI zhwUjRM-lZ26Jf|CuXWNv*R@Y{BtfU9>v=)KqD|YzO716v`6uc+3;U)Cd3RNPq+tse zLgH$iSNc;Tk-?9>kFLItth1N?y_LhU&=IQMyl8A})cU{PtfJv&%`Y&44s2>C!&~Fc zyqEzB!fzI;1rbNNSWU0G2K)wf?bBZTxiM_j$DZn|?XIb-h~bMoBUQ5{68eEiUc+K5 zT(|jHJydbuX#1fgoQ{;CW}Gl`)u+Y@PUzJt1Y;rWrTxh1X$ALk6^Np7M;RqU!(fz68O3jtacWIk+`|U z_a8#2kn_wc8DQGB;n3QbS!)!N5j+_w%leD@|#bbXZxZDA+n zOa&V6E&uVQ%k4d{tm?9z%pE?ruf69l0b7S-Lrs zYz|cn-_8!yAaS287o96cONKfUv8P5Nb~GVr-%O6_OghQHnEAZjF(!vT)qXQwsNgB0f6xQ{Q7}s0GKdQhB$sodR>SguLuY}wM&faqt}X~NPmz%+Y?NXgd&f^aN-r09;VrmK_1t=-Zgd&edXf3CtA*11 zhtR$sU)DW^T;>V*BwmJmIi`19c(Q=^a5oa~T??xFzEW&3?ZUl-#F;fiT5gSS( zSqf5LuS^$mp`vgEYbab;Wu`!IYs!*lo0xnrVGztMqJSG)?a!UUs%%=!xwlk<58_-+ zncC{Jtp!I9Kj04~ydys3Da%&ixw^Eax)03W?+Rf?D_q>U>E!I@z+$^CdNKCegDuMVW=&N={EiiFXsHNbBIdg z`1KSTJF^>q8#`^TJV-pAudEIo1w|sR%?2ifPPb;yh(g-8^?I|RC4~(7uvhev z1!KF>mth1!z@|+i#-!vHUdmAYcnlPo+A`)%tDB<%`)y`vmsGz;ZMYvycIxVXA|5@h z7GJ1t=4;{6oR9Su3=CZEQO6;J1|X^s)~Asb)_HCk&V;M`cwEz-Szdd}nto!p`(3Yc z9E~`zon_Oon5eYY|DsYIy`v^ojd+yy%j2p|QC!DmE3{(E=**30$h5pvF zUkzPE^>NZDMJjt~xD=P(Se_UlPRGgGQ6q?{r<6wB6RF6!tU{)suZ4W;hQK|&P* zR>*D|H)(}xt(;j-dp6iNvXtz5BStkd&7cZed2HsW@@Z-^JZULTikfgHYq5(eH9n*p zW(Iur(38Qn#kMcqq^37;UaPzr(Klw!oF`S5+RIuxpBUAV#e6GlvwiD@$3=Ygy*poQ zsRxQc6S@WbC9H<@!PGHFR{xW4+cmWruKBG?^RpO%Wg@N;1033kK5_<@Sq~xFZZgq?cpmC2ix|CjVrWO3|*M~uS_XW``^$5q^D;c1P&X~ zNh9xlFWh_Fvnim)k)>;56#FrZI{ZTWZS1pqo#g}6viQ(NhZ z4BCP1cmnL*kc93y%=n7Ogo#y^+JhkO*Mdi$@YkRDn`Nu{?CHg`Zud~sZxeQ?J%3pI zzB^-)wW>~Ix;)}M3%rFHThJH1!4}%G_Z@TD9L-Ki2(2J3Om$cN>9N1Jqvqe8owbqj zx=9K*FSv)MSnO{A~|>ZBmI77hOfmlkepOTW3R0XM|`N z6dG{}iM4}(dGWGu-l|djl6$v-}pHJIQC0 zSs4iL1IcfzJ2~WDH(#q$)hAgek6Y5xL&h#72T)H7?E0!^kzx{w;^$86)r}&RKl3^p zflasmo3@u3r!&yN#Cprsf73S7cprG$9`O&vD;Wt*<1mPpbCUc-7X86w{e?rR09tcG zr)Q$jG43b&aW&8gIid{LQ%Q+d0O`Zq$7MpDtL9v(RhiGvLY>Uljj zG&Y!0X=vW|MmhLdDN?I9ICP@u@MXa~h1SceFJ_ro(im(RKcpcofEk!IA$jjAAT@6{ zOyihVP>SHP`b`XJg=}8HEk59qLlmV2KuoAoAa4;>_)-=s@s5kewv(`IOmVHOE8Q?; zdkY`ALpMG1#@{EiU*@%5GQp2OZWh@PHTi`yOg7V2rV&0|KR9u)UqA*dM;aPkFH1fNYL|EiO>=S z)Ze>b(O%KlK3MLyvplH3Dxj}(omW;}2I?v=Yn=2taJLs`a24i4XD;MWv&9kEI9A>L zhtLsx@5BGmw#^61Apa2>k=x{t3QGOWa87`KlGqvR{wVFmREGlLm_2xJV^%N_Jr0&hZpOwjbScYC^j<3b3>Ouut5*j*T(!7+?9 z1&pjXb=5_IRI{(|UheI|w@dF`LaoGt?{0tRMBY*ux;}2-Llvo@0T47$R-BTqUaW@P z0{nsb*NIdD^JS)){nr@^lp2Sp^x4*E5Wm$s7*+75KPAJHTLG?TurM2?fl=(cihQkK z8ri%soeH$b`H=$$l!%y2Bx@KErrQ#XUsagI@?T^XM@S(0U%(PHPK5B?3=WuSNW6J- zn;$Sfp6~~Fu0c<6Te2U|ZMv#XN$AV^%541(BZ0x|60cb;;@lI!oE0@&u3Epi-<1>r zVf>JgE!JQEG@4ymNeDYq)Cd*NL(#B803hRC(X3?eKjVwU2+5uG{oenrjDgEaw-9`9 zLKhuv1eu+`R$L#@z(q9Oy4=0cj4RAPIIEyrf1p5h#){os>B7=5%7~nqB4SK!`wyXO zKpzJSm`S2%VnYb8oE5K8&u7=4SLPJC#?0y~>_s1CACCP}|%NGwYkdKwyJ!v+x*TD8^ zWP^0hXNu5&jFTpj$d*p8i1~hqQ0Z$qQuOyEwqs2jq>(A4K)w2G(3xL?{+UNne_;fv z;=lwP{{g6%K!{>0!8N$&%=ihjildVFJB8p^I4E9XIxB}#AzgAkwgmid_+`~V-^o4q zIEBwW6ygYj|6#7`IofXCzMXTEivR=TrZVqStX%lxou@T@rLtW>eq~8A34NBTRD-~w;fHTq4d~7F z3KWT6v~g0=J(}mdhvq=yKq! z&qkJ+He_)V?Vw0Sr;^fs*vQw`;r`=uYF zo$YhMH=(Qa;Uh`1>&*vO7`=FdJ{3Fp>JnoegASM|*Qpu-O6vyD`-@472Ly(5;d2rI z+Cky+={%W5XShtsOG)yP(9^51YAY79Scun27MAouy4b(O;Yr#)eU|QjI0Abifs(CN z1&!hUjLKlv&Y{**49RCfeWN~8q!0V{7oZn7ELinOH#xi1F7E{VjCUHnQ8$W0Yi~1o z{p0VC=L9U_^4+0wfyJet0R?G-%b!#$Sz_q7ltoNVY|zjKUD2UlDyq4VcKfB!vVe_u zFYeRm73?_tur2`f-hKwIP4Z1Ni5d-A0(*`FkB8Vk={re5S?`46Q}ZTkOHJ|#G|ATd z9Rg8vu0JWHKK>_s+ z7Tn~(C1fAQKw%nUfW%e{9<~wurBF-!LksDT*fvbi!P2fC5bG)5a>i3tJ}Rz8iJDcY zt}I7{{4_1HO>!VRWn}ZQ+(xNTK;!9KpqaF(si*ZmrrgaGd0XY3`zc1Ha%Y|Oji5XE zU7l^rpix{%Wajs1?MVGR7`7xNQlBM_9n6_CL^v@^$KGX%qXC$LS_&0{z9C%7A@983 z=6_7wWD5nY4h`E4)jH9eeTUta1NI z;`Nb;rGbNjionKZVFsB?*{yV)(vO$cRV z1?5#kf8z;?O~D#rQpLP#58f#Y2GmCtm^+E7L!hVkdA4K3Ly0eL6pO4r*8ZT^VSQEp zKz6qlT}}$|YJs%jdcu;!^njV|{ATlxg`4($D&()NVdMK1D=Lv{gK+M6!^A&?&Z2tv zsHVUOseC!)rv)Q~ELjOYv0D45r5s0tPpmN~-o*kfF`-3NRlxvEMnD>KyN;H&-J{T_ zCu7NFqes+p1^=jXmt2?Ea*rn;x&klf887sW;GYd&Ful&aYLyPy2mK%*)@Q!|1*cG( zQNBGH`{8FsK5|S?eYm{7^?h~myp-`VLB_|-V-)F`>jtgk(y%+jV3IRi!Xrd31bLTV zk*0J0{p-Z}!(H$SsC%%vHm}6zU?&8nKN$KUv?qvTr%W{QSOhA>rQh)+e5WEonx;yJ zyYG_u#wqnVDz*2+AqOUJKH2X32>^Reg)rcLA&^OMLVwR=MmB&+vT72l5d%#xhQiZs zdEkas=Qwql|pedPo+l*N@KSmF#Cxdc5|t9E%~^*+r5Aa>KKLS-0AN6 zN%bQ$@isF*>H4>c^ zjkO6bJG(UGKuG zx+G$O-9Ol*9^3@#_&=Lk&dr0e>QEi4f(^Dj5jgkHkR7k=#ztQ|4evhQFO5IcZ}KSn zsiqh!3n3u-cuhhK9b3@+boK`w$wS|-9R;aDL-lZJ0xO9jz^MZX@v!T31RX%RDXTS5 zuu6aY>f@pK7W>M^sE(8B{k~Gb+03~Gul=--#gIxXjvXBE7<^jyvNjDZ{;!4(qXY4o zrUk&mwuRNIxG9YR;&O^O5KNboi)FC5LtrigD1PUTYEf{yCYKam*#LqR0MbDy1Y83T zKg{p83GGQbEbA5Jg?}><+B4z3G&+G)-GvHFy8Ob_T5-e%f}_cLie>Y02+U3=xtq&e zFmTX^@>Udb7aqQGZv4&iJv(coIgd6qCA4Ier%)dI5Cw>F!8gs~IU-bF|BO?peac!0 zv=+qf@Kg`eZrkqh{%F_0jiEW4VQ1i-aqrTTh+&+Nf7JldFGTH(OMuve;VclVtXlN? zR@w;xAfh=A>M|JcEFxIHZ!Jcc-1q-DtGk53fo{v9D z^bG}Wz2%RGykZF{_~qfk9@0adE!s9}z_6e6-5K zrs7>=D7&uFn#uSsr(*KkcNPE@5`qv7yC0SUP_=|M%4YhCl z)mF=Y-z`%x%VpoQ^^B?J79^4$JV~ihz@*%I zDJ*&sx3lsM<#{7Ynztka-<2-!G^C_z3@`O(je(FB>-E19s9m#V>DvX(fOMvFG(Kp? zpIjWNiT;NlMI<5ftmHEYIM8_ge+1}so?JMjq#(+(%w-byB5*106X~9D1D_w@q}G$RnP)2d^PcWi#yt9i`Qxw^ zO*aV0hOtYR^;V}-lu@)kiQZJ%mTZMyu{Iz(vc z*|Lg}E>id816*C)i8`nOG!JBu@%Gz1+3>qFpLkUs$DDE?wmp?*V2>DTWQB~p>+U%K z@pYjf0s>H&__QYnp#U}a!G+D`ubVivi-fdlIi?n>F`c5M27W-*jX*@c61ECFfi>v+5|GL~RGUOcH z^gmLtnuOjel_ejtWTB`X7$JW=dgMQ8Y|>lBSx6*A3>a$_0KI{RvDq;Xol>(-@j#L~ z3j31CV6C-(#;=(kxS501K=Jswh-g~rHK0VHAf*!Jd%VK;&S7u2(;iOUw)r*GsB{wFaUz$fanr#W4z;dQ-R-x^$>6@wTqE(HWFjcN1rRh>&d^1 zBx-G(p|efe{#@y?kCedg_M4{8qp#^v+v)d@;95j}-AFi`Ukpqd(*Zr7m+OP)=4l5o z?Bzc9Ohrf~6T-#<#JUR@N&y$n@1{&1b(#(OZo4{d6`42h{PR9kPiRV z)uSMIh2q{v(&-8TZTboYw zk!9;bB@+9wlcu$NmByS)FgU^9I_kNITA*1fj|~BU0R$9GNkAN|@kf`AeaQ};=`Yfd z+!VcA!+rDLb$`<3Hmu_9tj&be?1+mlL|hi0-2EF;@;RMkYlVz zW_0c|!svzBOv@=%;2-PIa>T7ya=cod54FF1tyE3$>J*m|6}wSSas7u7I4<{52s~}8 zZJQw?g1ekCQg@r^Kbk@sE|^%K##T`;Ep!PispstgyHS1!}>#BB~@ey=)D&|I#$*b zaEpIEF8M}fQ^@US0#W?ncN)|PShs7KO3Yxm!kcZ>bU2MLM_&KX9qb)%!H3_^!Pj)aw+L#=uXToYVi*N>>t5P%RI zT-`2n{#~;yuyQm_FyFh;?l7Jv$l;O0hA}*QI{2CI0un`{0ryA)Lqmd1t86ou1#1`i<>Sn=ociciI2c)A=GtKO;rQ;}WdMxs*m>)el;_MiXeJcQZ(#45&Nr_Fd268Y^hr!0gUppCEZ5XGDe2q= zD1(01@tJSf1kU=LdX83J2D!rmp7(+}$4->9^)-|GKkeeqr7%tZAp}0)g$peo4`ZI| z!A9B>KpBozgoA77MC^A;iDfuBy9T57RL8eJ;J{`G2RU{E9m9;6k@Q1>soH~FOTJ!G zZc00Q11;z8=kphT<6hsKc7E_)7ChC+A4?unrQXinu!R>h(qScF|0O)SkGO?o&qw*m zp;?WGEPQChhgTCZZ_$V&SmqR@0*?#>(LhAWJi^W)K44P~(Tz9hkARzSG!}qg%rpj# zkr@7o^>U^puh#V21PshXy;WS!R9fo~bA_f^Zo~76C=oQP^uq{3LY6M$LX+@ zqxp|vIvs2Q9))BKPX)RFAjx`R@{UCAR>dA|;7 zIL&HFrwTC>&F*htD3Io(<8lS7MePQx{c|&qb(6^*y+X(Gu-{M}ihfrO&a)ucapKtM7q+t~vvUPOSm#D_ zH+_uDvGWuRby#Pf-tV4CUHMMHhs}=;GN4&4#J&{F!6>)yIGt05{&lyPzaXrVxmXza zEX^(268!M9UcJmi>2?YbP^tEAC<>Wss#O+7i;KVuZ=zV{$@SBbfiez$B?0Y|knk_^ zJCSsY=_wgu->2-qAHQI+?_}R|hCtuvuZrUG6@7gl4%bjH*Lw~%_~W?NVJZ_v)cmn$ zv=26E{8W!XkO0VxpU^w|Aw)nwMMAs;RcvbWcmp(hq~FtG^N+}z{mvogtB|hI^o*@p z4r(=VaY4=41QcxKKl|_D0jUS+s4NI@VvzW-W;Gwp$oxE{n|O;K4v!z-U-cq9x9X~| zqBfhevj)IyD1Zv8Casjb)oJuFJ1|>&GyEmEvr?vqglce$&FZ$XTsEok)vbWj+c+7! zHxgKTJJ_=F_Y1Q~t3P-8c-OZs%SZRit?RarO#$50d=@tzZ)&`M2pzyfPBG53f%hT3 zFvJULN<$=#!2fC}8Slj40fn737kTlnaB*&hh#ml~??^GYdpwjWGmW9%I#LWtDM-8y zq;|uY0*wjpOol%UH>JlY~={!b+f|VA&(+M5lYbx!Zbw)>4gbTg|Y{ zAbfovYQ6O*Dl^U_)xBlc4nXR;4J8Y%yFdpM8$$^#BG8#KVgv1GSm^RO!uR&sweFX3 zVp5VY$s^JVv?~dY*3_ozeDT39=C=Zwe&>N1%Io!vbWNKAkx?17a4Q#Ck_*C~t+t&y zHS>&8n(gxuv|+g&3)B4mthwaKlU)LCYu|e{B|pb{Gu|SSMaLyq)u5tCZM#nr;I_9h z$yQa+NvDdz+h&kZVCUoZMU7WQ=rJzP@Lx`^Xq#Oaw7M49y;X@$@0i3RjaPmkRQ?!f zL1FSRV)fVXL>0+3(7>UEmB$Tl#ee-!)uxH8S(a`0HU! zRY@5|13LqiYvm^%t$L2#sUegGdIFNsZGlnr;RJs~oRO3Kf0+U&VNd|pX#wy7&yw~< zU5Lg28NTg5s*lH~3RephS4FL2AsTDiE$R(fe~Wl*p8MQ!(dPGvI0Y+%%*@cPSRvo|`v-S&|o#0NJ# zV@fJWNrgY2_dR0HV>(!Q8*!O5&TB5uj&R!kM1EwRZ*eVM2^_s;EDTiJo#BVj7nyNN z0gYc)6SHuvm#S5u0OeA+>&}kuuoEh?pxKo$ieJF(;t6jSp{@h|j|S!4r%ma+cvmyc zD&owYJSFa_TE$PAac=oxuuwVO{4;bndx7MR$BB2TIy8rbryC4xA{WO$oM<~sa%KEc#yYoj5(C}iaoGQ>A+TdT4hwkNwlOga)%zz- zL3FHFm8lttGr=vpPmJbj1^7W1Bm_{=CRldxUkp1ZEmaKOApDP{YhbUd-GV14Xq*$X zv2EM7)!1p;uu)^%wv$GUZQG3-+iHAIzWW>IS?``bYi1VzvQvuxwpFX+!vgmit$Dol zqSJm;VYZ3#1ttZ@lfwY+d&(UJe-HGuMhJGu?vy z!ALuXp(Ed3f}<73_f=$3k9%}xj{62`$C15ezeip;A*LD8TGi%Pb~xy=jw`FycI}p{ z8rHzIuoPNdkajgUTK(i1mJJc}??^*SAGgOR+)MyL=vW3Fm&rav@ zEEHmDCo(sIP=k>_wTXIvc^G3#oU$oGs(XBQ;tX-(z#$_PaooS{c2JFi2S|oC-^om6^7ZK&&zsh-U0sM#9D-ky zkmW!Jowayn@M7|aBGc6b%^j*)5*h`Kw-Aol>EgfW!x^IgF_rSi|B&JSvDAlh8kxs0 z556f-nr9Uj67@a(ZGiS-?+okOVW(S?KxQ4O?Y!yRimHBhZc*(1AbhVc7cGe4IZ%+S zK}kQ~YJdi(NJ?w86c!Yw=2}WlL({?=xL{eV_4qrBez&_+zc|q@BM5S&Aj;##wwL@-;au zx_BOGa$F>H9ZYpH`%nt-Cm|7d2iF5ybcy*6)@0ZxRlhEr$Z{yn*6Q9>-!Bx{bEbXX zecX=R+#kPQ2pcyLzQuyDu>OJD*T2*Nx#-N&U-z^j%Eno;pCd1(vKgQHT<|iJsn?75 z%^dA{hO3C!g-4)}ozV6N2*K|7Iu}I7{>&Q!thpL%}Kdg4liWpK_WA zR((Q>n5{+2vACLCaD7wD9he7gl?hdIx$H9_(EO#&Il99Zzaf;m!_ufa`;}ZYuiRX| z9~=)(I;zQQt^R6U%6f1z2NAvg(?8$JOJMe!4Yl6O2BLgt{?#{zAg4$&W~*U}$DEpW zC8j>*AzMR^MjKbNS2(PY=fXq15LaGmGL@vlOJz?tS{cxA zwJK(Dx#hWs-lG_%%3y8EU5In>rH{jSJF@`HT8_+2?5HKjva} z+pjaJ-ne2%FZDMYeMjmQ<>ESV&ZBwYD?eaO0UlThUf_Y5g8m*}Itz>}f*qJCfR$6P zWb4o1?L#<{Y)Pz5CAf*zmlq@n_6}==~ z7S4p;-=)TYjsOZ?nAR9uYo`IZUn##WhYnba6zcw7klv6UP^9g!U!;bsulWsSDjad3 z`vs`jNXu^z99z13 z>jvckTWg)ASc)15tuB6f{iIm9{i>!){KC0AlPY%GFRya9fdjW_BBKdUxO|s=WdXK}0^3jkm&$TN|+#H2h zc{r1t%|boB7zdtzz>9uBY`(`QwfOR7%Mrvj6krg+`l|Z2X%bj zrs{d+iHNW)L%af?74%6YDO+&Y*n_b|mtMz#F`-X*%QtooD5<^Ikxv;o(cGMP16#>) zf8ki_bmD*bpTPprwX4+Md8=0S?zYEMqu%fdd zNi33^1Nz`y!l<&d3l>#rMwhD&GN~hiC^Pg4`z?`zL`{sCHJw)=$w+CV&0?GUJMd)% zpzq#d@jBt=PS=R;eB;Yo`NfzBBiP`?sNEw-_xE_Uw1wn{hyN;6BMx`G^RArRD_PlH z4>P`pw1dMC)wpLD@^Knc=Pmk<(vs^IyGTcKllih#^-H54xs^1d;5`f zEAr3_sb`ynrsu5*K~gbccEQ6xyh*l5{+KI1iBWfrhr~RV!d8}-)$ozo?%A=@jw2oq z{d{Up?y(aJh)(`?chBO=otkUcHonPU{(;aTV(&KikR*caU$Y_`QUS2lXFlUYmlN?o zKZ3o-r6~jQ;ElfLs1B=VnMpwC^ehqt;`j*~YSB0Bh|aJ+eQq7QuRJy@slrA`;qYkt zyR#_v3_NH84KKE=O6?|D3M2;crMgMdCOp6X%XCf*3IC(0Qd-y?)!Wx+q%tWzN9q4} z7=s9Wc&tPTL67#uPr3#Q00MNwt>DxJoyf9=pdJ?7oFeh;;vQR;#Edr4O>jE&j%nya z6a2N%_m_=tEVAjHAQ`b={<@1IcN-K}@HQp(R()wfa+N;`kC3T~PNPc@s6J#1N3}13 z)Y6YBhfWH>^Mxp$`@2Vj;@79K|CnOPJ!EODxii?#t+!&kW6PiyQEt-Oz0N?8?59)R zA#i3cWnHJZewoxi`Nghzeeg%KOiyf?5vFfG?)R_X!z0?Dzn1+A!4c+dnD&9M^2iru%N#&Q$fx*iZv-(@uP!-fFiX`L z$QVi~KM%1n-H{Ntekmk#lo2>GM^Z44`41r|;K|4KL08#a!h=&_Umg)QPedLZ@Cw8# zvjXdK)nXm=u}?QnX1aSs#{d8{aWVeyand1qbrDp4EaXfP!-#pEYOu zTJ`DmR;QTw-hh}RjfU<`60`MES5<|0RXK%k(2EO&=|rM#pv^O@D?7d;T+TdlxGW;# z698TOJP5x~^WR(u%brAvTh{N}SetjrY@XSaO>oYkuFJ4}dZOth^&ujF79i5w0V@Sb zX3r8EZV!q#au2O@9MkLDJx%l0BK~s?_CgEBG;QgJ`QPnPI0h=bin6L2AHH&tjw%=) zaz5(09S8BW$EzdGn)gd@^N3c(@_!(-2kSpfJ>7-^zMN7DAI0CNk6@JapK_XyOQZjg z_PtOUxfW&gMVxw&;h^lJH$cr=M3nAG)p(Aq5SlT?Xz;7WVCMDj3A#^sI)ij|U79h! zzPbaD)TE5IAA4sQP>X&PJD4)E1b;=h!8u?J9=!9qJ5Ff$o#h}frSQ5i5}vrn+R%UF z^F;Ys3g&L}?c54Y7#>pGiscaxPns-`iY9l}!FOf)OX9jLo24feU${(r3_MnHpp+o) z=LV(ufN*QAoSHfxw#V#FpOrZ_!K|0~$%n1%`N^BmE_6%1MYgD(7GL|s{PFkD0rfzk ze{s^p`zT)F;8OhJxm>Qu8{bs*7W7bA{VI$tFF%jm$tAy?6LTUR7LYaISHW{cKnJO; zMi6+rIAv45RGd>rw~OU^(@Ny`eTny%lIzckg+ilsJ2y~{(8=pM59(wAu8(gIb8)Qv zCTHafxF+2fsOJR@-%_UARP^jlT$d>lL~vJF$2?W)7RT|+3Cgu-A(cV*9 z+P}dZ1a@Y%9J*{!dVN~?m2;5I2SNvtz)MP{1Qc+0*?_F9@s7NFO`RaPG{!F}frbG5 z%GI4B;)uolPN5DKYnt|A{j4ex8p$af-c5|D33Vb%?R8n8?YqzkRp`#R5anaENv7~e zKcz}(b5YE&giQ(ep~KB?bWX`SIkL{}Ao`7`MLRR|Y&WUi5rQrEFxx(lD5+Do@k;%XzZ`iaZa*Gf?!c-1Wan_;i;xF`iu4W&<+S(OT86DvILat{NL%rq8y%EEqY1kdnxl; zt@pEu97jgvcGT9!hhF}R=4SsL1^){R9A#Ab;Bs0)c#>eIApfmW5X=<(Jn$>nlcJn| zWSY78Y}A*cZe$$;Vbdru6u*i0i`TQ?t2dPV*&LF~?3OznvvS`L5F=Cm6r(qL@rd%0 zwOdvIim(zXzN&a%LDf!0J~X!IQ-EdHSJx&LsKyd`j1Wv`#8N;QkNaLGP603MLJVlO z5XOKLhlIF-SGrO1AV&!ZRui8+^vfU*7VifHj=!FWX4Z^~wg>A^K}OIEJl4F4e}*=qN~QtA`}?nIf_24ESQ2t z_P3j7+#DtrmbDZubuIvAjAk$!vprcp0K>5HM^5R~>9Nin`ruvcbHQucxGFm2C* zY}pT!hOaUKDCvJ?1s28+_aMH_u)(T0vokBhJEMAm08ki;G!?)1@re6>?7~g^Fp4l{ z6j1{Jvc6tHeoaT;(be!QIZk4)^-`~Fyr?%i(6+2i>+f1$srN0V~R;XRJ*93L$K!dC;icGD&olc7>E8YyA`*;4%RZ~MF74%B=*Nb!S zxh~Uc{5nOI+6OnTE@7PuU67Ym=@XubIU*&)Fh`gIWn^XP$HmW;oE{^f=x_*m*1Owg z{K3HO*iA@Tp++Ys>PXoJ$Tx8E4)IuB=*a;%yrt@6a+0)N0I zX6KuqD(IVZL6KpPh?HCmI0_yMwHpfTr%DoN!ybVpA!Qr`qc&3z0e!l0{M)*=p?$ibD;i|GpZk z$V-dN8elo!!Mr~AzzEwgsd!3%&BW(zM;Z7_AT%y)E0kW^QLsyH;A%t*1(Za7XeHTjY#^s^kW z{JkKkw@-_baWerixsZ2L?fAgWrzJgt8s^Z)E{%#hnZmc=( zY;B$_>ZePi*iOt6MSO$#F+xYMz(>j{bQBL|s{tF{53&taA$kh#jB$uRO1(#7SVU&+D%AzfvD&6{v~$B&N-z5#H@d4u%g_>*2=b;+uU6*cFQh!mArE z+0$P!@?-B1HcqI=hB6Tq+I%lDymQY1 z$MWtpbv?VJAvAm9TUhp91v6uAe=iUQ;{^sBM?Pb3*F|jRli%du&wU;;0->;Gu`{t3 z`b>5IR$R|MqZ*k*`TWj4H(e?_J5NF@lv8Re!!mi=y&YmtBOnZjfc zg}BQ)aBZv)>wp%hHhgyA{~{G~&&&dp?g4OnOh;HC4F7>kMJ!;S9vexU;=1U#lX4@{ zXL}n1M1%I)0?HS?C<3P$z#+oTm)dkp0CXQKL;z$Gp-L>QiFxG-x7Y3`{m{hzi$^$Dg0r(td0o3~t2%ztwpZG_DecUc=Xg1_EszZ;l*7V5OF+{eED z0Tkfdi<~}jQI8HY&r$zC=ol9G4*p?9(KWLU90mUl$;wLSNslv+s92%XIh!IeoDlZ= z(oYA$CplN9pNom*n!Qt5y0Z&ekdOBb1GX2h2?8s=iW6N>v<3`)BA!pTC+Khzy;U*7 z&==`@3_&|1Zq9`EioV=nn$w>V2YyE~QR2o*S)L;&<@~4ga_#ZceRp0Hh(Tf+ch|8y z&?W-mi-XLfHhgc`L=Tzh9W^se8D!F-uj@R*o^{NY6}Z&EQ88wE5WbN{8P6O*58~48 zqbK*{KqddZFh(+x^v{GSefJ6XdrQXlyVR-vM9@ceZ zOq$R4AWRI2>{Mx>V%=p9bBL1-0ky1Xs8uKP6rs3-P@YbZ`rQUZ0uW6~-8{GU29kRI zBvq(&E$%So6|2X~)BpDwI!A_tqn|=&@-VWK86`C~HADoo@!Nsx(B06E)^4My^;xha z+KyfdKLHr59nFBg8SoG;!ar35^dVUN5w?V2j( z&BhP3dqj@)sN(^-wV`k+5mHD2xdXXmW7f6F51n!0VyP?mwxQ&{68X*LIVTXteJe@C zMj#Cz90EUX=&lxG{k%ix3k%pV!m=XfVf7dawS?d##nQi9#kKaS1sVWjDMlGacU7;=SZ|=ag=r_*t6N7FVaBySl7ulN+F%0VHlCx^A|vpX3Lw zhx-=`jmGnEry&7ry^1O~+cwaK>N8H6_%8wef4`waU?UCXC)s9Ac$EbuH;@aQ|EyGj z-AE8TN$d0BxOkb!Q4IsTBJQMDPjYbUO-B zwZ20T%Cd`|HOA5F{%4haU3PbFa9R66{5`)LZtdc(rqyc?k_NxqgWMEvV}cEIR1|CI zCq;`zM(>^hs{(1<_|X6Ca^U{ILpr68t>4?DQgFx6aYu8j*mgh)#?|r0UF-SVRmC8(4#5 z9HOWnBHaVkRMDZG`xP(ji(4^BWZ%pFD&FMbCN;34-6~Cke>VLDk`^!S(Ylw`nZ@*oBqZC@P z>9heC0Y1GImyf}G<|g~^m5cUop!iSPwz9&b6tK`ouq)yHpmK?r;H*9_i<$&7gSipa zNK2GLbu&N1Er1wJm2U{%>RnC64e2@BDyk&n5yeDwUBcM5`Jl`lXY%5Uz+pZIVY^oo z%d>{$;!FDG4I$H4l>PqBuB)3bpYx9EgceQRMTQfj$~;1v({JcR&}(8{7G&#fbGUv1 zji7ig*}*=3Dqj@8Sgaw(AAz6MN-F&R6!B#bx2c=JuzS6?=%dfDRMQEz*5t05PaB7O z2h7~7f61&Ss%3;hMb}dUwVX>F?Mly=M0i*UZ~GUp>q~dj)Sp;4;44fI zz-xh^2sr5!h*gY`RsW&Adv1)r^auYisfqZSp3!<<=+2Vf zah)^pdgNT!S~XQG;hl&na+#pQf+<&ZXtFl4Yz`hG{W%VXC7Vag=~96MuQG%SQ2fYI znM{Hs3FW_tFpn3Bce|J*nkt&GWaYtJuHugK&z1IRsfG{bjeF5@l?Ju?UFv_0gyoro ze>v{4p$fK!5#$&D#}q;#X;{FoobF%K5L!#{iWNb)L`tfC#Lu#jft?J=bzRBu_g^=y zLI4DLkAHX6y!AKI&zVw{GY2d-?ZJ1wpX?_HJW=&370gq9@*5veAKeQ?BwCBBsu%LA zY{h6?czv}KGPznfft-Xw4gnT*Z}pn=6MB&*g~%yk@p16EX%C@@cUW&j3${iwbz*~v zef1$S)JoP5`;j8uS_qsH!@MrZ)F_>SUkK9Gm`eUaC`up!SovD!>h+ z-=b{-Y1!=bWu#t&W~C=1U{Ra@-Kf_Z)qxTXAwxCOGOCL2Yi$4;-(|@YT#d2kC&D`! z5*7)rk}7lH1-RJnw|pAQ>7owkDr)fl)jLC4Odn5O=9+20I?XknDf}EIwh%D?X@U0b z`>LcMKL0s?k9TXQM4`TzlhT<6q5UusyqxK7f@+P#sHFWTSmlhM(K^OreRR#b|)SA)7VvPH;k@%wJA_pvtQZ>Vj$rsdrbeZs)b=BDexTECNmEK z*6)Uc4@b_upHuJQzq@Uys4f6d|0>3=c^#!eK;n| zWUl;=EH6i5_IFB#H0ZgqoJ*h^ zAe%x*0TCUaJ`g&D?IWR`ngcH%j3sQ?1T5rb=PN`l!84>DO9L(drqOCf7L_N2)pe8% zDgY$I&K6ENyTPTW(WC;V{*LwD4xa`ZS?|M97Hy>L6*`zV!`SYC2=*%E=D)2Z)VnLA zWN5&izn)MUcfbgpXtr4#j80Vw0;&mSXc4!pAqCcSC~k-&!xs?uhpQw=EZx-Nl*rWl z0!m?#f}%#oZpSuB`&Oai$+GsHk4Bp4;wjH64Gj4+(_gV|ajVbL=d$x?n<$!rqV$pY zE}|Mz(B;X0w}%%x4qAux$4*iw+!#s=j#{Y%wSqTpm%S;D<{`t{%)YNyW>OLGhzF4T z;I3^+`W%X7IfP)KqnV%EEs*2y@J4_g;?J1zJIB*kf`;%PtQEy-@{ur+`F(Zs6VAP^ zh4;@_qF0ai_v790lec$W09vaZP`*rS~pJFJmsd-trsA)PhW zsMgz;Sf)3bF9}~5%&}+h2t&%rx5T0-KcywPxXS%lWjPBremP1>7q)mqWzVl;@N=1w%PLaqIuA_V7?F)89v*;_g6g|pQg3s zumirU>|vv3ZTe|Wf#<_gYW4W21v<{iqD-UfL{73$yq>MkD?t1&R7Q%Qv;sWY=y5&A zB!*t*_sYWHG~?spkXi?^M2?7yTE>BEf3|lmovHS)MIlqx*Ue|V2z$AD!eimaOc`+3 ztl%I2TvdOYyAOmeVEd53Tn>zoCFSF_@u5D#VW0RZm~EF*Qo}wZxrgJ^c391W0K|ps z^l%jev6uqnb&M6s(b0twrvdA^W)&Pxdud|rh^GL(p&v^trVclAO6$gx!ij6Jgg=s? zhYOi81PvEcX>WV|aH0GVBH$woTn`Xyw9nJ3t?Hs)iHW&A(aAwH;&?Ut3$=A4W;G<< z=T*mgM~#|Fh4JeFnK6%a!+opl$x8D#g6c{Emihb=SB=qeUm zSzE-CrA1i$GUFQJ7%ylYWu$wx*))F&Ds2eM3h2^|wRhxVu-9^MRpeZUo)-~To3N}$$1PE2WX zE%?SKoup}}(oDA!jtL0nk}!%54ssml?d|TAZ%IMh5h1W5HH?aN5sCxvgOG6zDb3Jt zS4ia82X)J?8q`9lpBj)7Ek>x*me_}WUh1CnVXX&rcD;|aWEfN{$=8`9R0fd->X~Vj zK@Bdv`%#A)_g||tvs~Vj&dh6Tl%-=P*ZR0) zXX=UkqBqI^#E&y7uC0Y!I3%w!J?Qlr-V(#8*Cmz&A>tE1YdNJRmMh4i{8kuIs`IoYX6?q*-n zWO}unb@#e~56MG1LCZ~pg1H+dk>x2k@`rR6K-&`t>~VmTA=2FE!Hv{*!nsd6Z!_`a zRQVU-R%cciESR|2s6g7t22`|W0Ox8K(q&nlA`mAJ^IKO*{l6C(I%Q07SU7E-yLni4 zUOf9SxxaButkZ11V=G&KT}gsK?PFx;fTq5t|<71EEXUK0f+M1SS(RyZx|j@bMwIms;tA)Db`TY_QcQ?OPPyU8f*zgetKp zB8x8M*HQpPB!s*K2#Vqw;ViMI@_B%o*L}rXRv4qnR}LMg^jvr)KAM+D*yn6qvz=AwrS8Pis)9c%s#|l_c7OWo2Lfk<_Y)Bs@&7&oI0y3Ee;_<`Jfj ztEl1y7sZ=K%kzmm^Y4ca_5ud;N88l&C2~VzfF_x89h+D;N~uK)9c$6}c-HX+Cw`&Rk3tzguQ#1Y^wiaBtWq?|~A&Y(9R6zi&YWWMzN0KmjX z)cW*5DSqZSx*zk>&Xqimd9@j#?A@W!lvIZatAT6@U!OB00KcDPn?=C^MTM5DX_jMvw}}xq7mx zpqN!Y@IXATr-?(D9sh#U%g`cYH~$Jtf*!7IDzJ7;>GkM#qk13uPu z4X6(6&rl51{Xpo*7m|%h>BDkrK~W9_BLqL+rY1>l9jA$5=S&8UvAWs-!>7BFlo6qb zA*#X#yj@uAJeJUA+E2MG)miRrsp0fXQUr(C;~KyKmoCk_BlixyxiLxm3eMyZAG@h~8QU!;_gcTG(EG51Q`NF9LP`2znRJ5E0?1*Pr`rGwM%lR`l z_Z!G5Gq{CFd|!K!bXRu@SBmr$L&U`A~g8EE}}T zHvDCOS8*x!^{JUpnXaj#@%)TwSG|7nO-I9~q;quQ^=2kQFbG0-J(GbmPkO?@6dv(zDbdd_ho20Lf3H z+{AiRR*QWe=hmxq23z$Vwv1jB`<<67^&RGOAr7|xNV1g^M*WQRa#3$wn?cJ}!{<*d zn+B^-PmM2k5eT71wDTZyjFyn`U2CU{hWbcIcuW>-=6%Y-bk(U~3}OH*4&tLOg&is@ z5;2}qd(7OmImzTE<;F16eq2EqPLhqhP^QE0I=W{)e7>!hn?UFZdI2Z}TNBN4&25A7 zpQD*i(=^^rH3uB9bjKO=wvQ!GM|xqemzG>>tBp9klvQ8_7s5}tdf*-bhE=$NC|!@e zWH4>UMu4PHQfx5H3nYIvS9G~G*8l5k1RLhxWu1k7CjYh{?rHrA$xP{Xwck~KKWv8! zeG};1nb#s8cD_{pi)TWu829gV2QV~^jL&hmCav|x_9tioK%S9{2W%GYX`Ocjc~$94 zDHw5koTi^FQ?n3VqPXwYlp0qhce#}Z>OOOw%pH2I5*yIz$;jxC$PW1zzEjG*p6m2h zl-@)aYkweg0UJQ_!L~h&%m-|+Kde6bef+23kYrktWmp;ovvA;=mR=_`_ba9qfJlUk zARgfEF3(o$cU#L}OU$1n6qgR0bYL*ESh1@^BIQ;iL&i>{>R(16VEhT1H!c4$o_-!H zSL$9d%Wl&&=qkk~2oyW0WAP-BCGJ7G4VmZ*>V6#U*J6H_ku|bO>16cmR+V2ZsKJAOv#-WWlGF6yGj=L*V+{`=Hs>b{*>w3it z854Uh7(IgNz}GYJo(PFH@>khQty5xW>)-NI1wSp*y8-$2Zn)6m=!3C#@av?ae>^)w_>)^HKx-MPQMy`K*H`d)IQS$Js&ah@fp5zaqkyqqdDThMdLTuom>% z-dU;-gmw{urHm@LN8q3_Rcks6xGC7Eix+G;^{d7{_+Z;5wB&32mwdmUG>AF}$z0lxNiKunbt& zmlDT#v7v4vkFPc!c`aSG<3^A;92xGZWwL4;fDXfdhSCA%7@|Fw^KLp-3nydx@j-U zi^dB>WI4R3q+HLxdBBjpc@68zfrLD$yJhy!zv4^}vy-r#A{3ENsqS5uIV&&s?q};n zP_O1rtFx~(kq-b+{m?}wKke;EcU?H+UD0IeBp&8i4FC%z({_C;98blNT!C1mWCM71h&=$CNGI*Aey(R zCff%>2fhI?bV_yLhDMWO8!51ID%+kW^YO~*WLYELMtx({QuLMKQ@W3U00?W-iMC(@ zs2P0=*4zx$#2?XsW?v5ao3t!}!u$lf`}EXy9R>V%b9y2AjCUdYm_4|$5 zSDZ--SEurUEY~>ZlWyTun!3wAK>Der7_>M0dhVM)+b-kZ+P_E!am%1^zKT)6s;6~a zDSBVDtjjmrHoY8$ji)g24#l%p#6L`R_^<4_q}l62^z#lJ`9j!S;)#IVpj3*ngTi^` z2q-$Xi&v#g!rDK556kSy8=h@;yj8Vj#PM2cq3aLyo^;&ddYAS&URoc6TlD z*Nk-@86d)<1XfPXEDs*Wr`ND* zS|pkIS2YMCMBuVQ7oaCA-*QrP`@}FGL=O;!&_yQy1wmW=8=$MdCaa!lcMR#MHuM*j zdZYc<&(VzM+a^LO;7_zRGhOcuoqS8JDyJNM zzIjfZbZ2x4I+xryqGMPSX8{s5Ko|(245PpeT`2J{fZJsLJPI}uB#aL2k%p{1 zg4SSWZjXaYOz}BIOfb5Z75;WAlq@lN$IwJuuah>E@wL*HR)*=FO+*T~ook8GLi&f} zV}^EMdo$=&TEMTIy154%*r$NFTf!~Bb>x?cRU#8o$t=gh9#$)UD4|M*EtU)kATL~i zc)8&lniJWs&SENK`+V&%Ix|}pqMe)}akFab!2t51+N9mKV;`vLi6132 zDRc%u8DKv}-|sn(3xdL+regH^K`&vHn%)aXT!e%2MDN+mJmbtT!BYtM1l?+c@DG99 zt|my?$FLlen(GPAOCa$kYbybKTi{}8>ibky^9$YG@VyD4u9ifPh`YL;{0?g=rwxm= zh9`lio?SJcMpRpJ5V3Hmor@AEE`jjcQj;$JbxEs3dKy4pH3H3J&@LP{GWl)uirkQv`ApPQEFyf%kg1b`T5 z-18TRTmuY85u2y|AuR9aKB{*}x>n z!0mL>@Oh=rzG%>#*@85>LC?d*ywezw4=%mc>#1JH3HkLxt0Tp3OX2cljM)l@g^2z? zrf>iYJfNOxL)29^-D{-+GX;d*YVZtM`{@vs-zJ1Pr>9%Iw(9E3xVhGV0CWJXXLV$D z$>$#FmNJywtSm+8-Pr3Yvr#Pf`?3kgRa6(o!XHi4Rk#qL($9o&5ehQ|OyVfhc}O&m z$X}EwI5G%*Mk$(lF1@LaO$8|Al^!dqt2TcZMP^;F9qx2)i6b)up>!_4Ws)j3Z4#rCUqm=LB6?+B*(8EHJB> zeqsKireoRitDzixr3`GWEw3XXXM53SK224yI>zV@7XYDRIP!gr#TR)4*( zsZ~F0ShXEF5Zugiyq$~ZP_DA96a9=Osyc+*CfF9;VPd;vYM`bIr~bQmXTP|dM|4k{ z8rrCaz*J=VQN;?7rG2Nnv1Lgw?39bcPH(OtI}ad@&-H^o(Hf4xa6)^_5sV+f2VS6m zDM#BRLAAKH6ZrYkOaBzrmtBQPDX>TL{qkCScaG3n@6zn-0rR~i>gQ6@b3urqHR}Aw z3>`=AATokgA6+98ilcjQho(GY(SJ-KC#3{j-OUVbJ-{0AE-3m73=jY+UKufD815`Z zX_1BUK?{0FSqKMaMsoWOL}bUHd;R|TYqYVhYl z)@&CQuQXXZ+9G}*D)^A0gqv@z!L0!gZ{-f21ldEKNnf_w9~hWz4aRKW z%iqdRzOZBwRu#x0eM{HF)jGT~Is=;-xp9FY@=#jjvOv;lmogf8;T#Wll50md`kN{y`{OQ-Di&uN-ttb2FAmme@A{hm56+*K5RKs(w*^~Z7E?yY9YDO|FFyL zgo-9HPG^AaavH%aHq6Bah-S6CrybUQwOLfqA(h{nU1Qbc+p^^s0&$N4lW_09AmF46 z(Bh@I>9dk%@+A#gT%}UPy1JsGA5}tMq;R}<)eVDfnWl%<0@6E>#e+oxvRZ!dZ*5Y3 zuIrJcHj_sP&mtJ0R`l&*l^VcdPAv<90o^mMcF-L2$hX|Vq9j5=0E{p={)w}1Mg=vt zURd8laem4#MQ}2tHodax}POV!kd>4kls(Erh>U`q)BGCsQQnN z4bYg3a$!{yX~7)|*Z$>?{vv;aU}Wa=t}=<(VpJMf=`pXbU12K5cr>tJqVP0m!yf=bGJ>Cn={`+PTir^NGv9QP#4DcMWB8>79I!vp55-OejqCT&5h_?#nU|26Uvj${=^_H--uy zgQEIpkPU&yxSMNYWVml|Oh;|5N>?3=op7he4=3;ALM?%CzEk4#gx0oZzH`!q%SW=M z0H-;M3+nFOBV8Z)62XI?cd3o?l{QC#UTZwFLH%cEeIJ*ut}pNJD~9}=r3Y>eu&|iq?br)t(&bgtE8^qA(E`?t36#}Os`ZPL zm#(Ur=#VN{_YD};MWas4+;U4I^|k?JaT6+ zkoa_pV7nanhm{r${27vGE&~6s()h(-TU*`ZvfyzH(8A1GSxS@IE0>WcM4NnixDVRyL(AtUG%PGrLD3YL#o3 z=Z`?pGp!-gZBv*GADDB~IS4_m45eL4QnMEj_z&};8b7=#bltln;0+O0sZpElg0%26 zK&?dnlhVaQKWP)A5WepbvXO;kE56hhCWZjUw9ZJW@83PyH4`ct*98ZNGf=*tH4R4K zD05+zl3rDOHf z96LE!A-FnOZWFT221Gt$LP`@!eY$7dz}ZP^6O=kp9`Vu6@STgej> zYE{g5Is6t9XtzK&KBNL=Vqb0JiNTc$%#b!ghd*??qPkSvuJg9t?o{(dhritMum8xJ z;L~GU2dCp#D8aO3o+h)6@WiZeoSjaWaZjNB|>T&}V~bk_doj{y=Cq z5ST?h+j5GhtO>PJPC+JzINiZbzhxa)fNl9f!+)P-5#Hz8y5D;$ix9pD6LId8{68=K%PIN!Lss9C z)n@QMqh|6Nbg^&0cvh*MbzqRJc(9l$6OZo2H{$H*S)Z)tCFV}I;Sk!BV=-x8ejs!J z)dx>D#RvA)o5>xs37C9^|JEjc&;dU6iB3KIkVd^t`oouFcF+ENe3_bp3vvfHx&1R_=2V+$KMs9Ez`7OPww*I9c_xiRFi{-yL4*XbpBH+8sf zJO;3l^+&K-x`@m-!BU2bQB>*au4;wCro_(v)G;Wudb^kc;h-Wc>4&@4Kik!v#ICk6|s zAx`8u9+&ajlph)hh9M{H?xwL73#QcfB@@8a=ykIP}>mdJhOfc*k@PQCm zIA#5?DVTtz?XrC^m4myD`&i(Kd?hSr??d_)1`sBe-~E+}DbCx1&@mwUBqc1d-AeC> zBN>y%!aXd-FaJ5nx2xVgPPvsEDvfpkR8A3$QAyQyr(qSuS6`Owb-r?BE`e&LKZ}7z z?oS5WT8@J?+(C7XQTFbA%1>>7HoskzN}%^AHWyYt324%h{Hbjt?#KUVI?JHAx@HRx?(XjH9^7qkcZZ+>g1fuB2Y1)tArRc1;O-VY=zNp+ z)-9^$FH^Oq&px}m*LsFlZxh@-o@~XS%kzqp;&re;?}{b&y7<|TLbssiy)crV5pqa7 zd^~Ny?MSwiRD9WPzS|I=ePH$FV{$l(IrALueSOrszx&&=`0JpSJtcAvLhY+0BVj4^ zye7t%koX^0h@?}cnp0W;vHp$FOoI~-OLORcmg>)!04nh*@&`ioxa9V2L>=N0w>xEj z#;Nux(Qw0CtZEIIBpMV9_T=V?jfPk1J!D%l*KWG)#ah zm3zOWzaP&y5ANXId{MZRfftP>i$qcMgur#m9WQ$MvpYJmNIIq5Sn|N3C< z;^UjVAGW6oIZ%l>gEV+y23U{h<+dxZ8*weC z5-FEBG8IQxRa4q}1)uAVY4^gO4K4E*7 zQ(`zcmLF6*`5u9sQC>1(Qvl}yh&Xbn`I&N@CR(7(2=B13_)Ke6&(iy$s+4Z>PM7vS zh0al-_*tj1z_?r^IUt=d7?;bPE1<{`EuKzjtruD3EOnmAaEtGaAkp{xSiL2sVgf)3 zp;QIMkLw@yf)MWZyDMSO!Fh(>zg?C_JZ}@_W^dWUeaR=4xq>n#7A1apolsq%4vvua zCPSJMeEk6)GmD|(o4KGl8zHNI^R;nt>(+>>omVX5&DM>}qGc*d-r22pI&fe|`h%s~ zlKm?c4pD5PjAOrp-hwY0eHpP9c?s9!I)pw=BTp;h+TxbH%v5 zUBQ;c>6JASLbC^`G>~|}p=#F@0~r~ou!D5J z&kU+GwB2YWuv5Y*vLuc16pyQ_S*piKnz!ll^PyvrTgy7a@$Xz4PEuOUoC`kpcx#J) z3LU_PtkV3~QZSKT;}Z^7MEacxzOY7%M`czjf_=t|N9t@wwkH$x+PNu^(fxJ`w0oGU z{G)Wc2`u9JuxW)iv~`0n=2;ElNYMpkkL1#>vYA0}*wHfyhp3xLM4jE!{t^+QE7ktvkbe_XeG(CW}xSewTVHc5O0V&S&UJ==tS!^`v&c8Q3ajN+W zOb!MuztSK4#*StK+MhC>4XmZ`7eBTBnEv$TqE08h+qLIeooUO4I3`XF3fY*U_t%3Q zmI8~B5{?cKrt))dCJPV(BIKYn9s=8hy$f61sV_NAwUir8zgoN*%!4mUf_!<@I8?{c z5LxN}RbJRI2kh)>W2u(>vEr%rxun8~l7Q}e;?^hL-r2kLE3bKq=wm2J1~*get)_np z9U?>a(STEZfU2rAYhCyyN=R@2*Yv5ztN1s32))h{E($qx-^>7$1YrvyTogFG^yCnM zjpqW46TDboF9v>wrD7F|g`CyeZ{6=^1lHuMz3~qP6ugfY;NLj0(NSfbb$ok?ON_Pm zS#6r5(>Ss`-xBcw^?}&Zw->%}a<$#^%B3Y&rePv>jbsZo7N+Z>g} zX)0-o_3EI*b?ufbB{1c!A*e3B-G>qK=uAI-YZz&=npfSE<}qML5O#KS_xilyqzTUo zd+5!yY31D1hd4^|!ixNPgfrf319|IQa1e!`AIS4ixHV>!4k>&1Ph zf-g&{>4S@!Skwk*(@81`RaEEl8{T+$I9QNzd^&G={+&z@1O|`i^3tFQ&Hhv9EDj2l zVH$i6ncB)D8i9uoh&%oNfm1$X)s&{CvstqSlMDPkB0oMaGYnq@h(`@un6_Yxv%rY^ z84_(!&maRjd}2`Dfy5@H*%FcC5kPTkjiQA~0opX!+b4o7ac?lAq&3z+GXgvHrx{fsoVri|&0$g@Ai`hCGdrxg`}%iHUD9mzP8c~B6HEIS>PfcU^(w(uz- zwYXpAes25&m&kMCK4Mr}Aod>Fg$H6?oHCK#dLI}^<5;uJ@paFCEo4~Hiuo`BizJacu!aXD+htf~t_X4ripLOXj+QhmM= zCI^svSs1+45A~eO;Mq@}?kvnQXhtwn3(j8kcz@+r7Y*=W!{r*+JJLvPxzb47Em|^k zA#g5M#6zC(E@3hIsisObuGRKW$!Dir;)4_Ol=D9vGbo}&If%d6IGZY#Ft*&oPx9PrYVvMFa z__iUq(Ttvs_@s;`wgZNz@qh9Ys$6y$1tU>UC%$2OW*DYV?l$*X8hdxPcSo6D+^xU% z4U2k|Chwd6hRsYzpwE=R44Ud15~G{@@S)V`uT_W?gP=Y^MWPOrPWtHlLa`R)SedPEU@!T~s|GX(wjQEK}c=inM(k=XPlYaW^ss{U1boAk|#3p#OoiN}v zMJ=M#-yKb@7)FdXZ@gq5KctP?HFqVQSV@hYstQe>$_Rih065SA7tjH8k8zlmI3^Ep5E1?26_w zLg!x%Wm7HuCCR?r8F+mYuC;9}Bb5s-1j7V%X?_9Q{!ZK5k1EOeoj3m!x`GZx5t-pa z6WFmYkAXFdHbiD`0lQckg2OXy48c7Gi*XVI=VdP~;8avK8Ia`*03I?oc}_Gv4}Q}8 zB4P<`5%3&WxKOk`?(t5WUpF7A6u+xzsd=lhwDz=lFYd|mlKVFLWD$U5BevQQ9W;UTVUk740PNw;AsDsmy2U!N zL%vH|NSR|&s1%ci1DG^+%|OBr*lkEu>NMJ8ILbZRHIu5`;gW~zSNXnJO8ziZc}Da1 zGSVV*!4t%PJ6-)*vU5=$37P`k>p%ED0|3;3Tu*=`FbXv@)GuUL4bw_Q*S$9GUEJ{( zk>-1wD5|jgNu(1?2kx~hY#)efy?*tJZ=L-u^HoGnS)0Mr_B^GK%s+(=5<=G5RC2*- z+eTJvvcmL=$YJ1~g0O9J9$v**1_eiO{ML#53nH|1&QOA14e5?{dnX@N9r>J#R9bxL zZiN)qX&K$~vs|g)vz(^km`j_^=WTt^_uZ=z2Z((#CHWU!B}TMpU2dv=aSa4Eu`8=> zBv8Ti5e)6++N*hZM#6J z^A#CRT+K6#gwr2xRmw*HYuY_)_M!hN0A`kY{fm}z3Ux?zY7BLs3JXMkcA;0XFp5eC z#am;-Bz%^qmyMdyw`zLTd^4&~Mv8IK_#5X4=<-cW1#^2C*2$d`HG*x>E1^569U#f&r$S;Lrko{I8i+EHlhj{`bVN)+Ilq{;!rDk@SK0`+UU1e{x6YaHwto@Np0>L zOnsm_7p6W^n3U=kPy|~aTu7@8W7^`gRz}{?}K}(nQKg9-3R79T5q@DPQ zgN;TAiuCQcHH6U4wa(ZsrPqoy{#Eqi9_CEAnkvlNUh52e>NL>7*F`o0#;!zy*WQCB zq9D+>sg>Iu>5V1o-{kZ%W$(qAP30oR4CXLvA;IV|Uw(>jRwVi&mkr`2pQ3Ek7IHo0 z$8CX@eQbQhMR~4NoT?@EiTyu&Q2&_w*5_i=O}SsRS(4rjtr>ob@rhS$JdgO)=v46s z#CX%lAlG=;3_8ElF{pEU7ExUh+Yv4SmJs+e+p&6alQ4Ra2v#$hC%wQ&ePP;Ojf~GV zf`^blm-*nT)dxK=6rc74qcVhVg2jxGMV6VNNfIdI%YkkCT=VUT+CuZwhSVL4EWIEHOsRPxDGdabq8aQG3MiBx8@o@ko*WoEDPFXOphSHVd*zWNuWP z>-e?Yj7E2Cbhj%-N+_#r+VsT;K>em8B^9ImyBc<4wf#(_wj#v%#(y<*3>`AT1WqL3 zG_`^S!h)?2NK)PZAb8mkRW?%*@m@S%6N^4GQgRno-CSwV`sy=-myUuEmDYL)@3@(y z*c%-kI!~(Df+!7_n2|n~qNL`>qqXns;;hx@<{rbQpFO}@-<+ZjAsdyW;;ecqy& zak^?B^8BmqQ6TyjYkjf2{WRqShuco@W-D2(SUi*HlFhX?XS&)@&q_YV`i{szB;&-W z!)~rUEnRsZq670NZm|Ln0h>-UG+LB3a-fDam(4n)(Kam|Pu`5~OuzF}QHLH=fJ1mg zwgKWb`t7Hb+sj|i>y0jVPX?~mD<{8q+2w%m>j$aHQzJr#$X6N5kvSAwS6Mh|7D%Cb z?m^{`KGAD7u3QR%40t&YAGZ_RI}LZlS!Xg%nk!mun)ljEW|m*swSIr(-GqxL#lA?S(|@?W~#NmM95^X%LO z7=l+xNCoC{AUVf_yFOL&9+`|bgV{V>PfM|s1{@56H6Kwh^7K5!8fL^fTAI?(*Z}>~ zJ`POhysYfSRkL`GJf$f<*NQPZ#CG&YY3*qWEH7zjEVZawcWdpZA9-{ z;8vgt8F!oVof>~pt~Jd*R&>!*#1P$Unx;eBS4wp=xqu$*q+bj~Z`J!>Y?)TBUVp+< zOn9-$;Rajz<+;R);404T&U*iZ`K<&c{r4-EQag%^Oz+?zTEcv1LBO@Gml1icdiJ8W zB{ssO21YCcYLjGO7|;W)sy?}z%&TcE4cYcr3$jQA1pqqtr{0)X9H9J2k$~86 zkG}xhsQDKGYy$q=Ygo{_As;Vn6k~yF{d0kvbM2?v*!xKnrb%C8(sySD*ABS@EX>Ho zg%N?oXfnsvG>h^Zl9{g>er-Jd>lJPDfq`z@qGTW+S!G%J$3TCN;-wBj=zdp?Qta}B-tIy@1pT?PQ7n&tlPH1<|4C_T zdO}kswYdb@kvP2)G zF?7M);b5eh+&Z{RO}s%>CYR>Ntzgp0npq6hC~IDx(E#%pZc6UC{j{6`U~e=#GeYma z=F~{&11T5jwiTN@$Or&nRj}o>b|q^jxiM=qGv%}NA~YO1VQQ`KG}yG?W%qQcbqsuU zrWOzD+DR>Tf+%w|8IE9C(P-Qh$f@_Ie z&uaN1vlC-Pn-<`4t$eU8uC2`-3da++giv&rg|q(%3#1Q196N-gg4{T6J`(LcFP7h@ z%4KV&G%m#;5cJ5$^GQ=kfAonTCAwiUh7b1Rj=fnwS+g7)Jh~g_Cty)gu|O39n%BUJ zaFrsZCfAVD`<~ZAp_9+M-jWhTQUC}my z@mHA2X^einWT~V(QG`VUJaXi-|EMC8wh}>V=X|uSh5Cx0_oPs$d8Utk&49to^W;UM zkGCMv4w+-acF6H^c6An20rgr40FajoDfX2L;u%8e^BQMi3#XObFnK@=6p{tA-Hf)m zZqIOx3W--h;NQ(Z_kl6fN}?H3>4L-{l80;dJ2IS$9V?wMuFr1+o!C!BM89W(0v`h2 z_QEv>$}yKJbBpzLWlo-plxNpa zHWicpyp-jY_&d7>eA2->ImI;ZGC^!im;ECptR(oY)^h;E(FJ(@UtjJL9!d=yc!4ir zYDNw2`h)@%2D@ctOUI&p{_C7_w0Q2ly|{MajIVq+05n`7=(L0p+mC&PY7~nl`0MMO z!`1zS_~{u;VMa_AP<;V^!pe*9{es{cLJ?gUK((?)gXv|3Ew!*R`m_}J&77ta%&r(g zb<;qZ`*XYi$8mzaW|Tt(5HAHFZ4nYEi7pp8h^n_7w& zI7nqtzQ(2iMj=@H1x2H5Y{a*|>@)h=4*hI)wNmxexTMlx1A-(*QUY1=bTQWHJ#BCh zZ{8F#_Uk;HhHG`wL z#3!(s#c7D9u0^Fdq$oj5+M-(@>avrRd&Sz^!^xnJSf}>^Yi~+(ozPLi2k}SyBpes= za{M*e#3+0bIMJbLcf~4=%mk(raD7Z!B~sTcmp!gOeMH*d|9i@vKo4B;%@JHm?CH}8 zPzh5hDx{6c9G6aHTM$*oJw|_J+C1I{*#!Y;#G>UPknuzHVDs1ba-nK1FR6`rvy^8L zK30$?I7JLZoF9-bBd-oT4^KO0#~x$-C`4tS&4@VS=0xB7dJ9w{`?!~*{UYs)oI^#95)pjum)#qi&shdSXJ7Fv-XSJ|h-SL4P~y zmC%MZe!>Sp9{da|Lnn_Zd|fzkHo+T7{1P^-SXx>*WL+6lc@sVAwPMHQAh}>))UcSo z&q(}1&m*a&?q%lBGq*~J_@?L;GrUT%$bxW8!%A}7oXu?l%9s9tM(ZCP5Em9|8SODU z13+#R!UYqu?o?~0MQVP=rwN%X$~AWx`o`5gEsc^EFITIL=mR5|=UNieiRU5Rv|;H= z-O+zz7Y}k_WoEX7ChtJ#q2foL%l4zeJiU2)Wbpi3Cg^Tz@*mLn5ArW@<{2?A>Qj*41$jy%H^__8-D`P7z?`&rZ1$qs8Ir6R%Y;-02SAb zsH7r4-DAw?5m1#bx?<%g`2C>hI8UqZj|qrusdwLapCFZQukBU(y29vX+oUbud%kY# z>D^BvGBCVubtTqnZShA3G#xD@DPxj&@gM@#8WT25xN#DB7@TD`Epqa&b1!fI!N``} z(IdKx8_koV#{3>yacD!e7_DNG6wH{yO?=>S4`Zg+zOPxV4fPup*-woO&yI%IX(_xW zhF+DKLNRy%QN|zZmZHJB#&|m7qIoNeD3nSnD9Llo0!bQ$zc-i{Ce_bbWGn-(SXGea zu+6_M&|_jKma4e4JVSKkg!Cs`zb24)aE_h7SGPpfWs@BflI@>op*KGBr#{EiR|8PQ zLh{-}aae0{92j|`>Rf1BDBVQFj99PD0}rYB!C5|@x?@#4GZ`6CF$aO1`n}Fn_=&x_ zL3=Q$)KOHwO(#ySzn7;6*!qheDqkC1g-_4(%U3*rK&F5{N&jl-JPvZ6RyF&AQQg8O z1`FJmQ^=Z=vM#lc4yvsB_ojegD@Kf)0k4!g$pWcv*0dny$wadSY;qW_PdEyg9L=O!|IFUM zy9hby1_02=M4jzcLKdMQk_7d}#k`W)qZ2Z$kLY;BCs#K5h=dj7)cYuAeZ&!_=yuu1 zs}l$eC)D7{ppy!sPfG}(4;(2x{Wmt8V?X8WItmVwR_ss%?DDF}^xUtlueymxc~ zw$Nj-$(>`()gNGpWc#mp%}Nx42!ywtsg0CQcTsx6sw&7!uX2AJJSS$8pOI_1il;rj zkINhWG@zQu`T?M67B;c!0cTdsHJ+z{rN;DF70R9ZWagtJi#6zDJa@a9gQcdXUW8CU z09S~SYgl3+A{^$wzkeTb095R>jRXK9H8)!If!F3}e45O&r?+S+%}4e|*@uP}J*Vt>0-OM{6rI#MUm1JUELu*$QN%OdfYJ}bti$l{345riK*=}soI_Gs4ab5JVX z9LD}36Fhg{O0Ng`1j=`Qfh~0!MarxEa`k?a-wuRN3PO%FG#lmQ%v8``<}NruGLmcY zIBT?QDysA3D+H*^&n+t93?ysRt^$9~|GYn}yB5a$G1<&V-)G9@OIaxSQIf7meSWHpjmUT?UuU`?zCOC;FiV###O zLQ?WnYYjiBFW8p6B&w?mh zm9qhq_@{gu0HPWM<~Ju?qRA^DK5u!>Yd6zKyBx_=4yyteMR|@=CB=yAv+}21YcH+$ zsn{QN9Ff9v$I*}vK6y{-*I_zh$C^j=bnlFn6Q<14{dZgO<4h|Nvvd8vUu+h z6;=y^fw|T2KQU-FU@Y7)_e&}GkF5w?MSO$$@` zI1sHk=H^iKq-j#Z&1)uo&_{SEk9~-vyGS;XJ>n&e{w*{f0S1~_=R2b%%=N0)AcZZA z<87(H8Jb9A@g+8s_eEbjeL%p;dU3?YDlyowAP54-4XDe>J4#-nvjXDey(CqdRc!)e z2Kb_u@nt@nnkjVOhHD3NxA9!p&qq#_XUzo*QvO7lN!LVlN1Bh4#@(*RzQ*k@4>=3I zuO^$InfE@>$9qp^qz;QrG5~UOCz|?r7si(D2wP_Od+}K?%_=tGK`I4srN5Kmpg551 zvtOm_b9SQLO*3@DHM;by{JJdbrC<|c)Ws3?kVbMkqHJ4c`sd0t-O;FY%Ra}!WMG+V ztu3XK@1pxDcwrU*IiKo`h?N3k7fu_HoPlm=w?r${fD=!2db&U|)(h0H$f*BC7$J#o z{6XyfH{=DHA7!+6LSO2O>SnH0eWZ0}j~#4I zW%W7k@3fpO^Bd^AB3pIL5?eKjlU*qNFpf6OcKFdDU4KMK#Z6-`@xiMvfS3UwX1`_w zys~oSL=vUl;ehjtV$!a0JnK~YRmN(}ckz@vr3(PUzY;nGKz6CCcg8aQF&PK?)4&=d z?ea)i*Vc@=lUH#M#eW4LDs@1J4&2d5{#}y)oWgk_4)4(Tg%aLgS8VEhOsHW>)~)rp ziT=;9#OXM#)Wn`@zRFyB+y@!Sye!s*i>O_Kf#}fs(d&sqZ`x4?I?Snhr9*?;)2P-T zKx&tT7@!#v_+=I|OC*>OBcM?&P1W`#Noo~ekVu`h%GwRYlQ(mIIIXr;(7UZ@&O2w! zfqduu*t^F2<&U4etpz4K6tbF`_bBJa z%$GKPH$LN^Qi;o`Zh$jvm||8Px0$4l&EXyKSVx@P?bgczABlr=KZBwApuc8GD{N9luvq2mDj$3=opftvxzIcx6&yr_TXv zIN{H)Btu=Znp9CS6+z+6|N0?HEWk)Nt#ln41ek@cAPkDr)n{dkwv3ZV4X;-eFS|wR z8E^agA)DFpyzBGw(-XnvJm5Gsei<6nv?gV`cN>n1l=r3@(T@luZXPzgrM>)c%k=aI zIjP&d(a{YPMXNL8bPQ&2oup)L$}gv=AE1Rt#Ws%n{Aqj|Iy|2gWNB%pa_bqY1@OmZ z^Ome23iUrzoB1%E#{8Zuf5q7uS_vO_`8Hv}&_+%t5`pVm)o2qvZJ#j}gY6qbF|3T_ z_%j)plUzL3d>8_NP?~@l(lr?byg^#oF8n=On#9>64-?CU!-@N{6H%T~E&n~zb}aP3 z!^9c&`R&Y!Ix)^M=(=6U6HQ*-&3hdS-5Bm@9pur1o)5v*>GXPAA&4Su5obl*qHnuQ#+&O$ZWUDyYKyjtum}@G zO&qNo-95u8uJuIn^4`>0kLPEwjOIlY+q?RykOTF(_`l)9H7b<3sxmlD;g80kogD|P zf|69-Cq?jhC>5vD@IISEQ-0;^CJ6LFG$r!XuzCCu1fV^E`l_uPq{3=SkM4oJZx8WH z0%A!av_Td4voWxaWuRjr$C9B>rFfKNEOTEeWsUv?nW&(SD+eL+8)e5MS|^PB$D>#g zTIs44zMB4o_V32md=MQ7H2hpJ#qak=Zw(%T(I7~htlGE}#f~b&k4n*-;!rHUP^8gN zZ?YHbn)%K*wMWHmGOZqkfM=AW_a&=FnZWEZ8` z_KvJ*pzPs@xoq4hL78&zhs3OgEF zP7hJz$6%CM!IpJYbN~g`uH=-j-Z9*CA#Y=ME5 zy8Ki^+bg8AFo9U7X8Xoa{{7v+9qg9RNB?a7TgfOpdlf&TI$M!aOr5i{%#CfK<9rgn zS1VKVbG-tMcAb&kyU7Ubvbz{?dbBF;d#KE8L>Tc=*BHrXyGuPs(IZ*HPxh)Of33#Y zVN+9Aj)A-QzS`~N3qZvr_kv%(a_mnf0lPCR{}j4H-WO$2#sYgJ%?@q% zh0hgHtO7->dzAV+u#e>fb8QG z1wrP8nb^7em0M$m)BiO$yIYRr_GUaL_*gD15}__uTZSU4oCA$Qwc69AyCEgrvV=?` zDf^qlqH#Uw5U95wQTP&sX(`5q6-51s26{Sl_qogqCPFay7%~&PuE)^ho5jtVm78Qd zNf(pXcym!mO4Gx-H$j{hN7Q$966iM#?K`WK`ERpWO;-gfpJG981-y@{@9y9{IdpYp z$TIE-27=vRDNiM?+WK0sjw)*O;v4;?XAM~u<2+L7OD<6bdmm5D2r*1C=yCT@6jD(m zdNLiiKUh;a3EV8``tn;84`jr9)25}mD-QP32B*sPB0=4M0sj*Do1xD~a55OklN}Mv2pr6N)|C+v-_@3zcNkJCtSH=WPLaj42Lspz~!IZK)9$lpN8EQsNEG-$emq z+c#n~?erLyXHg+dSu$=i73+e`-_KpjI3W76lbrqD6W(DVSoNuf^`}PKmf$;jQW$N>##X92i@ICnA;^_v9$1pKav`|Ddtr40uN*O z{scedw`;t1j~b(E&VLO{E+-NO1#CZ$JsJxhICk^?u>P)N_k|x+<%LUR_IU(p<;Rw; zZ$7$hH5S!ra+CJ@=R@gKnXe)IeeJ z_yJUS7&G#`g>#HcTdY#o)5o>9xvBd5(m*hu=qYn*2DCCgj1?0QG2+$o5!efQT((d~ zV6?~twc7yzY4Q5o2bZ#+ZV)K>tT12EGLo+Zf}{-4n{NtKE!AO;n}5>kS%xy^XaM1CL-Fa=e(stPxQ=FaI#aV=-NmRuSI2^Usacz+O%jiPA3dG z*Q@UxTxSx620~_-t%`2PeftL*+!xbG8RxL_|Noyri$S^=0&rBZhzT%%tz1WD1VwrY z>C`1L&nTo6`It5Z4`vjFPH@(wn%UP2n1vh=6jQ~HQxLNQtd(N!Ryq&+6jp?914Cao zK32ellP@2R*@XbZOsKPwzXuM=;5Xn%9LecixyJBr?l5>GS!OAH>l7V^Qv$<{;*TFx ze$*0&7>at9t{Afkd;L6WbH*z!3|Daqf@OMKqUtQKCsiibn*GmNP)h(nY81Kb876Kg zq<*{tSu(z?klBr+HS*gJ_wT!0i$WPqs*W6j>Q()f$h8pl#JcQaJ%YVOz+o-JlwU+4 zm<79R^2yN7wr&(+wW#FYBf`JzO1E&*7~=&mK_IJtPq`DoFMd(5N0M>J3T6!o>@!Bx z%#=Bzu98Bw(~G#;ou&CQt2v>QNaQ*tP_yYI;YphU~no ztnT8RfXZegtJPnsT_JEmZHD9~UD(+_W68JLfa}+koZ#r4vu` z?d|-zR)l}YsO<~y^%@JCsLz`+57%W($Mlelfsp7sp5Hc3Zra?3w(+?H(QT)mXW~%a zocY9+yY;AcShDWiKtBvOvUU=pi(YKZL}4f=9<@at|IkmAOiyO4!RjSsP+H_gUugHJ z?g$PZ7iowV;epI3Ihp~52Yq$9mTwitNTb+|I>b#sUU1s8PJ*RwGK5Rbm4|yxYV^oIWz;-+zb^Fzhuxv)UHBEtOK0$P z%08=I5C$s=^^ZtVA!&!OO!DZEANeJAEH%i>kOE2oY(^Z*$#T;#s&o(_a?nzRSPK51NvdS}{D_k;msR3fNJLKVzk#wK>!uu0qVu}k+ui&o!$1>Q)OWw%>DQUf4U zi^3+7=s#Vby&KJEeq^_WQdA|-&&p*jGd*gtTyf)Z*QC+1MR+&vdVH5Zh<1TM_yi;8 zge-bwvMYNY3cE>}=Ah0X(XpB5TS8Jl%+W^~oAzRUC2)P(_m^VQ0PiAyvJD;pnVTIO zitvd%i756wGGbhSdY-o`^z6@5x-Sdknmyk8Ra-j0qCv2QY=0~Dq-Zkc0M~FF1yIoUGow6}nqauk7{GPr%6{NgH8h+=$8aj*$nPUJyp2;sg)iKx48=2iCj|j{v9t`U8>7#tm3?*B49nVj=C+FDSEPvmugPT6WDi2)oDKm4Vdj>D#;d ziH_YETrb}Mcs~iESGNG6A%zg`WDb!TC|PiekimL;HMAPBp}BDv2Qc}Fu1a2Hlu=3>)@HaX*NF)ZXs6o+85yhdf-xnQurb;w9hX4eDH zL^1KMUq5-foqgyg91Q_C4cERAv+31J!J?(1US?*hv528jV0PbQFX+h0p~M}HCB3)F zy7#L<6#w_=A%GoZ5cWj}k>DpJKftoIK)0_m7un9Jgjum+0bvj7dZwoE(PF57+KlD!ZD%YJJv<^3Y!&VDo>FB~=p^t; z>l_??9*_u-Zcas~vkwHu;==p8$n3@2ipjsii`1Rn>|&;D`P zGYj|2x|LA?M8{wuT4gbNn@9vkECl7oyfy!PjU5bkzajh?ifyIwK@r~&ZEgWFSO+-z zPJWv*r6uNIcp*Q5`No%dPNKs|015%83E6Sbn8mOJou7N4i-(IsD@QplsS-(8wiXM?>j&be#5@~Nu z`!Bi`4<7YUy0^!rW_qbp%JFMnM>#?yw5|vGP*MiKzXoou0bq!O4Q{lllQUA{O>M6a za?IAlP=_U3sFiRXGzX87U@Gt0`nLVZo9i9ry`VsvZ@+MauqM0%(@d4UG(~MX9JjSW zvHBW;>Z7^6%L(l(pm&r(;Ws#Fx2EVI0LSU4|3H#^Q6V*~^ZejM5-l5jNHEYCnLSg) zx)(v-1e*ce^=n>UdOSrunq_kH^)9#% z%W2IyO(>XNq_Qj@XnJxOOQJ!AHR3~v_gDB3XgzvWUj=R2%jg(^UQCLvcL30ua`?5( zjXBpj#$A_)I1oU+^eA;+2q=c$+%q!jT{Qw_`@Ak4m6n5@W$d-^j&HWa7Wt0ZE26 zy`jw^AUH`BIHBRgLdhj*llF^my&VR^7|mf9B4&czdpl=jt1A?n3n%4}+IloFyW!~9 z35ck@C6*2)&)UdZTPo(phfU3$I!Qd{FS~qA^S!250v{ocFlrLs${Qm()*PeiKlD&R zm-Z*Pv{{5rW!B1Dp;W-yGM^Yc|nVdbU6kBYAx zI*KKGjGQuqsK-_~pJDSVK9?}0OU{3TSHK^p`By{NaeIwSv$<%5=4Pb?bHW!uU`aCDZO3?OIiJ)pv{9rHTLH|B>9(V(wklSoP$Da zcSKs_Zw}m{_?6&a22zMHEu8HM0g*j!;FllhA6|4!$O*sfMZ&Oed-HVB4>JxMU^XdY zXVG?usZA^61{V-m;XEW-_Y5+salQL;UveytTy%evYoQ>%`@2}TS`UD;>ySszQ;%Og zy`6>WpB4ag)PG#*W{Wj<7Sn)yhlSs>cxisVo$A=GNVQF2Kl6Pu@c*lTxsEORf|pjT z-7EHIRCSsa20^H3|7x=2{@Z&t&5<|3mjfQle(rw??ZgeNiq2)9Fz%>Y3vm6ru@2S= zSnoy$C*xMcgS$S^#(s1rD{_By8INyP+QralmgZ<~xTAN=VCc_o6~;Mn8E zjN|&!U?)Zmt!|{^=Ite5lHlsTXuF|d?ihOE)pqG`QeyT;I6SyJss#ocF9e@%gn1G_ zhunaJ>#tgC|Ms8KBR8Nxy4B^cR?T7yl&TqsAgkaTm)+RB7xfHt+S-q)8piP;Kp8Pb z821)}K`g&WLckWs$3a9%*WH@vFgY4h`;ZJ}#ZONw2x`ekA-CcZ^gF8FrZ#s^a~gNp z=+>J|%uKl;BAdLEMv{;+EeImL4tTOmbi^o0JmI^lq|p=;XjJ{?S}?mYwTKV1iv)O_ zrf#E9?th@2-^G{nXR$a0Mx$wMo26seD?rLz{hAJMyxD{MkW1G5_EzUy`!$9uf%@1F zkEH#q?a%)8U(3}oU*nPQj67Fam3)q3v<&X-8 zz&BRg;211=~bX0633xOn^?13ZncYWWNXnL|&B?%SO8zwV}u2o$AKzFi}QK zr%qL|iqd$oI~7cAzjiNwD)0K+Rzj9Dh~<{z9oFG6t@%gmg=9H;_}JmE9}8cudhOdp zmKA>-KQ{mE_eJ{1IBCrVOUDj$1VVU(4I4wEIi6W`qhBOibjGZ0*_C%!yxz$(^kxhl zzpe@TEDub*ZY5go%=&%Kn5whS(a@9?&+PW&U8Tb@_Vj$t1<5_ViBJjn4+PXT%z-_n z?E{2~&cu~Tu?6%rD@;EkFuG%(y8_;;AMgA9a)`Km$e-N= zODfqT#>wM%cE6cM&*9P7vr;~IoD+?U+kPVyL0x%bfl&RUF z>aUPHvs694{R#G-B{(YhTKo-4t_C$Xm|BVDpj4%!4h;@6#gblC>&UK*VR7htXw^Qu zO0$|$x4`~24)%0`^=*NK7>2#1#c#xZ?>%We==pyNT>?Vsgup4M`a71goqNJZhKNaR z$_H6v+3}T?HjgM?`>;XBTUxanLx3O%`AHcte@moVd6!0PHm;J=-7?PuNh3s3MWQGE*;{l-=!u0k~*@`~U1|5D{3wP+D zs(Ih`-|a*(`a*Q=Pc%xC+Fbb*W4})F)FgO{pKU0C^Nc=3KHXd#y)uZbpsrcOq(Ok! z-3?nHw){I2QhO}Fwa7I0bV{qju@X*To0(ex-E~Kgup#LtcO^TG-9-dxUO~L8FFx-< zyYqisTgk7}Zr-U9jf(e*uTp(H{A@B=riUWO`G1U~VWOcmm2=0W0jLjt_T)of=&nIz zn2zCo)*kN|cmenMgsy0bnzu~yXndR*N=@j!_P&}Ui$C<5w>#R8$GI%H=1=D3s8}pu z%N}&>(e-m~Srlb_==>IZ6n?OOG(Ee+!czwQ2H^iw=sXAtgM9`(eK0jf04HNv86ydS zooDJFpo$LM&&aqmWST>@04+puF~B#OZ!tf9me8&Ap?7V7es zYEHB(e*ueQIZrlR-OZV4`&2Q-Cok2zh7mE>`-#f-{umrz9Z>`}Txn+1SX@+u`9Lv1 zE&S*~_o(T40*TV@xfZpg3BGh`hebZY+(IN2UeF9U!Uh$la+L|yUTtP^o2b&Gqadk|>hEygNG67})jwhAi>B6Mjkw{+1nwHT zrBX@gvIAQLItj-S76M!|_1r$ox1#eKw&mEMfz<+k1rQwQ-G7(<;5LPBl1>l;K+u_ z|M*aP)p*tj;B!c!4V9*xtq=6}lVO6M2pLdigb{*@EcVD@_@CFinO=E0~i&9y${X&@y1nz^mZ!D7ZtKWWa2a0a@l4y7O zgFr_B7(U1VnuU*~**_O~Xz41byOWO4#!Zl;7U5{oe%a(FK>WcUs!<%KIg8rmwQ@w3 zbtP#2vV#T*v4>&aJk`ZCYSLy0qYVsA5HeBfAzkuzgTG{MXmGc3e6vAUg6&SA#}9M> zc1m#19=`RS7ct@%I6jwNjASk;9=R?Wdb<)LVpUt1T^7qgntN)R7jg56ROz_6Gt;V+5*lcW@ z4IA5b(%5d)*tTukZj$%rdH=w@ALi^iv%531#}~D%7ykgs-*Od3_iRXi$o`SRaYk^2 z!$Qo`!5*i-k&`W%LmkajR!sbeT|@0^0Y)lJxh?W{&YW$%7AOpEyq{@v^pdi7!^`se zk5*v34vbgWgMYrY5z#(49PIcJ^#Ug$Uo~_J9q{@!Q;;_LQP|4LOd&06Q6m6M+YWb5 zx6rwdcGO-dT-U3j+-}gHGho((2cD`93F-VB!quT(g7x9AqQh=|RA1V!pR;aM;#7^zQ-QoXOOnG;C{;Oo6FEt4OY6p>t<}a2C_st99XF>AX z&=1%Pp8_Mj=gKwGF3)8ArliVOJH8U@qFEbxIkoXXh(dUYgt|!4zYAV5P@U=tIf^lf z;AzDZGxeCQO|wQreOu+Y40te-HljW6c>|y&y>vog%495LiELdnq|yV_>EjKnSkm|f zhZQp>`jPc7zN0TU*%CIdI^u4FxrnesF=go2=N5m99k|O!neB&zyI{F91}G9>1{=dg z_A|sKk&}d6d{A!~`>RO$b#d%F-&H;@SrY{^EdgNU-5oLhz0#zq%Hg`{}4Ls|Ey8hF%B$ttt@7NL5RR8e<5@U-`hhA6g09J{U|yG1)B9`f1Ug%mrF|q zcC1CrcA&RTdr1cY3q+c|-iDY=Tt?qVkb4*7-6YMF5E3`mmlUsDQd6&sr{P{Bf6LbH zRGC5>GT8h%!h2Bo_xbSFvOfpC)og+)!Q@Ut97VwA#4Y@zXY~<9-hfAB`wfrb9`q)@ z1mSP@8LH8C#<#q_p+6AAd!Y21oVA;UHN;`G%q)`WJnJlHee(qY+DJIy8PpreVPRsl zH1X-?b;BWy&E_na=ik(e;x9z)a?B)4{nF}f>rR0JkGupvNl1;U+*9(~CCEY~NK-CS z0$HQ0-)u~pWo>pg-Ad0E+(ky&&QIyPUDZZ*6HVc6LfFO3kdieZ!3)fY;&mvJ6e<|< zKZY+0)dUmklck)w3IEWpmX6d6@eF_k%3ztMv{(U+Lb>RoN#0N@em>a!-?giKR2@}J zdQuw7C8>}5jI`gyW|!|?j|%^t*ifkP=!Wju%gkDyHWGSg%QJ1FSolx%t)R#)-tn)` zztdNa$ygF}us5b0Lio%Ivs2Z52LMpN5W0>5a^LCnGu&MrX^)dI6x;rzg9( zL@qSh-2t3WuLN8y%CkRNe5a|9xxj$a=(-D6C{4mAH9EFH$Mo2%Ds89lvnh>My#&{n z#HsWyPR(EQPb@PIL^_d51a5(@S~8)kcI%&W2~uk0BpH;jA#>!)Qr?evSC+*DB-+|; zVd_@m3?pPxDhFS{XwYANxk%oLWH%%Hdq2JTKB*E_R8zAjn}jztYCj*6FKg=S-Q%J?%avT=e3d#^+k8yRV- zm{{NExPT8zPfwu$_=79Bb}y-O&*n75==<9yFjhT=Am?04=RPC=V6tx7s|!uhAL?mg zviA--h+752tgb(Qy_wdlQm0z-k^t;h#oa=ELhfIGoyoO6+FQyQ2({$M?Lx|*+o9{u)?J9`?=-1VK3C@G(8?0a zyk2sG;hoR#o-f5C)gc6vME7G{|0qDtPhV9&0)N^6Yu&mWBlQ~GdKMCq`U|zZNPZq4 zF#D4{sX>#;C5U?oMlP_9F%x}wRF&YBXk<^kxN>*R^eXBtLz?3v+WJy$S$5q-Za>{e ztwpeY$ZDc0S%7oA_ioPk==+acQyTfzxgaouRtViZ8i3YdK-cy>QW$hl^mK-Yw7ZdH zHcwNU(uJpXq5sb6V-TelOLTt;WiCJ~NM$T9IAa$MlhVT)w|z+FAMpVJ2WhWdIoV^X z+8+8aY%~dbT=lnnPRT6*`-Jb>+vh!;M2*`=^C++r^4F<(P;xURF#!l`R>{#0u{pPN z!Jv(GTh83pUb2bYd%euQBp>a;88S>$cHj@l1X4boYuQ!q?WOW;DBGgY@gqkISS~SH z9h>zPXFtJhtyxC8(&gB1eO@A=y&-&+&}~@ns>*cw3F@^;(F*X^lB~@BohZ=x5TEds zU6#k39{Bo-4i*@Pez4__{2IyyPe-nn3g+~UUE0QU1w>(rLGPI*w<6H9ogNk~A898^y^DIhL6={_zqh}aLbZWj!ODzZ8(9JXr( zxl%?1!qB7X!c=ip?g~6X%b1A5&fHpsD-+R(3X2YjoZu*}+I z(EN@7+)10apZFoMKCw!r4Rg-(Lc8{U<+F5aGvCA2<(>9+0bU6pydzxneFA_dT@Ju7 zoGo^OpyzT>J5|95AH+w!c6nKHW}?6^B%c9C-tnMSPRkIN>RuI^k#n)JTshJkP+-DG zIaUDc0p>wSOyNsbArgMs=M# zTbKdhNCs-@{D{|^0}I`Ms=#8(88r!u(R;|p(-k+%b(CQ%y?Gf-UcZD9C^fZ~sE*Dh7;+VG7s|8T~MSwIT=8L70E%u>r1!`f^Hu zRL%inw*Ky;{iMF}@DC{YW4{lpcxUXE5Gyz_>8w8}Dd});p$9ZBl!1`7e{Xie^BsI| z6rOk0B*eRbLFMIi$vD;L-3%lv3(`x}$j>($n@@j_5NY=i)gH2YkS>5rset;i1^UYB zEwYeM=bG@~p2eu3w<3*9GsN-gc$G0;{uIbKDwH zNe&BSk-b^J?4R!p#xxlW=6F=afvn_A$naH{H`Ofq$NOAS7aNyvzM##Jn_BOm$24or zpsdR%0aGgj!F9!kew*tdB3YyHp4UHj$9#i~*r*2LNy1H)tOBqM*~}&DhJ%~0(qvbB zG@|U=hQ-+lw$G4}ZQVb*DF2b=Oih&o%O{^?7AL&#*EiA+p5$(CI0js#Wq$uroxRZb zSdw~oqZ2m#O*gde#dgr zLHvgrLH_faY-u zM*&i=UmHK&u+ki_svb@c>uHLePC1>mnfX4iwl?zLZYAVuZ2 zMIwbNFb9QA#Dt9e;crSGLE7o?>`<84C|YJYQL!z{7@#>9JISuvWfcrKW^Ts^U~DRk zF7F$7eMPG}{)J^RGTR~`Db;7J%x-%+Mb8Jqq?UkMuosCW-mfosb(G{ixO?cbQ zA+KvAgQzTG&+^u+vV*Hc;%rE0&WR0n=Wp<~jPZdrG2pGsoB z{)pqiK3ZCy@$Dz1L=;erv7;DigY5)g$h@aBUDkn-A&begD`=) z_(KgnDjM0U;mUF#x|Cf`ooBw+qF+FpDJoTBXgqE6>P_`QK`RNQ}>h{4Tz z@Nv|zA8SK)i~a7+7isgV@i2L))P}&)!&kx!a7W0zLv*KozcG*e%q4)HIk3=|^Mp|QuFP~xv z=f9HshEC3v#nWlipGB+D|=nT1xzFfkH9jI z4ozn^bYU{A+24AfIKwhh*j^e!rF;fJ=0V8#g0oC#!MiI9XFLCx4VhBhC>J!aRaf;Y zv7zt!t5sYVFk~LjD2%LrKyhG(%-s($T}rHie?o>l83N@L_o&M9Bx=%{TAL9u3XG`z z#0yONw*EPD6+4M4T?vkB{glciRt)o5Gr=SoJMk*T#61n6igR=km25^_O#fg$;Pm0U>bhFn$>-3^ z;$Qtndk?6BHk>CB<|}8C;Ng4KbTZ8PR6XtAtXk<9JyL!y`Xi`u0p!STQIwAKZid1| zs;T*2B0;;-jh3=u|>B(Bw4dTwlE>?Q_XRSGh1&b2%2>7-Uznj9|G~(KL@Noe_ z0G+>B1}&Tj9D@TD&FvNfCWNe$Sw#?TqI$cu5L3O#yVVJL$z%6auB;*O$1jAApaZe^6_rkCc6EtR28&qqX}9@s*bWkoUWDI&{Im!+~)h5%hx6o30QJ}-n_})`484^%H(HfRdu@-;^kW3hEnVt80} zNdRaP>~uI7KqB$baREcGyF`>L`|{E=G<*8=9d^7`0&}3E?nU;!8_bamTpzl=s#fpW z_cs1-dg(xU$-DlYrcBp4+Dodkb@MZki;?cFBcewTlS|mpb9h8;++PNlWz+k7f2>_ z>qx0TNyyboO~IHE;k!O6`wsEp(s;#`UlL&n$*$I+Ne$SC<5FpqmZVoY^0bvSVJ0LHAF58pH#zR-a#E6l4?FaNWwHw zWJ@qDQbftp`lxbHLG7i%!=o&{UiHzLw$Qlux+cfqAL z$TuA%P0@Ic1f6&KyqGc>{#k76Z9<#NM=v|&!%PW80VgKBHe{t8C_~RnjV7QiP<|Ys z$PXXg8RALREUf!bTh&cz>s*PNe5fgw_8gw5prS<@@t2ob7U%Yk5b9_N-Q52(#H!P% z`YugkiY9G3qhFQLId$iiV)dpTIhpgC{j*LnQfe#BF@GknamNivy5BIIBriFXGhdnaZ@G^(t=fgJ0Py0ap7 z>aJZ16CY_Rvm(bgDzn1qyI`@8Ti(v{dhdT9MVB7?2?oXmV?k*m??V$_Iaug-`_s(yBU>m_39rxt#XUy|twW;bjV zv?v9^I%uWx8C9$%c5RDdME|QHc+f&N#q>j(U5)V5a2zoG@f8rhukX;%@8XHjB8R#Y zoi!rung=;rw=BfRYF4C0Pf0*zqMycu1tM*z6+|^p-YA#!a6a6mDH%_LGDG`io_?wo z&C!ON&DFsMDDEMz`7Uawg|5hK7FE9Ed`9NH$@l5jo-(`o;osa?x?Ladw`t((uSRQV zv;XS5_5c9e>u>wdC9a`VTGPl#ywK!USQ;AZ@uy=i}Il9ustxQ&pUEO*2qUU z6ymid!L>5W<1!`b$)LG zRG?##iMY8aX$V6;NtLJ(jz30DNOxN(RK~EPX6(Oct+>u}E?P zJ;tVYG!wfAtS&WPbF}cw4?{9=!^RL*XiST;7KcCnbF`M^-zC-*=!EhZQqaGhb_0@* zb#51t^+ShU6m-I0GXpo)M1*!lXzZMq&*ik8X(w@hdNVAvw##p3xE=l#z{SB1aJUJ+ zCqpbb_xd2`rA%<|AUwKyza*>D?X)^u*$dY0H1Gia#fk!rXsLN#FpNMecqqlr392x{ zL|_N%L>Ns(H>U5LuTaye1bX7zzT;aZUY^5$+70Y6f9`z`KECP#%GDB%X+6wC6PIU!1KfBDDx$cUy|8WZRv@<>z>;`;zA2 zE*g?JnL?J(U|fhXHv#Nz6bblpu^Aagrs%!d>R6}dTdPjVXLy`H{J55K4uPs4tkX8) zAldVbE#~ZfFy{;m-wNDvKK8p7&NA?1Z0+`gjTkoukDIIIIW%lV_tCpb@Myj3zkm<} zA5Vco?y~#{V>2=lN}o~r;>q!BX;Gok^(k~o5vh3$I#NVbUG`}qRHsX*y&iZ5n(4F_ zPE7GksMULVY^-p=&Y2}Fr;LX(eDj;;%>#rfk=#)wwjLHdu3=yJuc*=Z-ygf$NTCMh zB1uuV;^!lGKaG9bNqL-1w10aXz`f!cmI|GajkP~~FF}1>4<(5l>W|NggbMG}= zIZ>M=V_}YcB#UWRoz+XjYRi^jH;laks;XJtt!0vIe^T{T^vu+?br)MV`hIwJ6)@NM z7JDrHy?*$BOW zB24Kd)kigW#)Zy1io4$dQubnIr)=zRyrU9Zau2UlPf1|jm&@a{;3q+SDiWr}LeRvk zAAs#x7i`Ls`a5{TF(`G40t*Ti5*x!sP^uH651}y|&Gwy;4ixjhJ6L z#2Sjj0|?i15u!MT_v+}nM$X4cN#*tJ-GpR}?MrA|P38%;k5O0(t7^=jp*fl!XBYw~ zVDQ_qmf~ttqGoy?yLDH>*qYBX80z`-`=a*gRDodGD!uI%W0lH{=5`*co*ynm5Mo>& z-$1vk4_CrU#i?V}k?-(fI)OaTQ&P~vQkZt@Dq~^MOTwvv;qNkjE1r~8i+t2lo@9`S z1*-~}Lfbl{*PINEGL1O0g#7)ffDlzi2-TcYf9HA_Y^C|Y6QM9cY@SC>(N&G9?6Z(*K0@XHk6^0+YaWxox9Tk2&DUX#~I%&zBQCndnF^gv0@+J+azQ zgsdLHcCv^R%3nciVhjKYE*j3#vl{*l7UgEh{d5SKaae40&%|L&d@xnlB$_~ANe9yXQcABybX9|InrZ8WCBmfAd z5R;5SAMprAz>kZvGvX{}5%Jx9o;bV;@4x0y5f}N|S9y~~?$~g*#BFENQ}R}u0NIrrFpK;GwF771nYkn(`bvztDEVgyvY1JSNSZTI&L1k+W2HJMjGKu zd>&O7PB%<2Fx)k`bQU>cdIKFpB7z>quLSDp6Y~(kVSG51z%9-t7UKK0r>uM}q%aRH zdMvTN7v3vr-SXa1LdW#Vi)2NE6}#fEm-BISK611hb`cm1HdzLn=1<;QJYkR?i{0O^rgt6k%z8=a(p0XG*frHS1*X0=y#u0Mq2G6%(ScS za4`k5G#vrAt+g4jvT7^`Jju{TK|}4MRrN2U^2VBk3q`NC^gsbBLqsn*622PLo;9b4 z34Q=u34f^Zqp3*&%ErQm1EcwBYiu$iS8IFIfRSSZtJbfY#gY&DCIc&6O`IbTra;ulb zvhzw4i|*gf(CAh}P{s z7^Hsw#D2Q$x#7{J_oSp?#u8P}f<$cd&YWLxrM>!*+A6o{#z`y4lCF6o?%Oj3F3pxA zXqmxYtHf9$zL&_#JgV^Y)6K2%2N~hh+CIKktW^uBSG& zqne1T8X;r=nlqRu)0LpA0Sopi21l*W{)6_KhrUkTOj-8kKWql>t-jEaP5-ja;a{|^ zx)Ya_{Ed4@&iX_41TBf&j~F3l{u_I#PS56EaCCE>4s%k0Zi|ORmnuq%RyRtU9RPsT zG=<4u$eGbL&T-5GPk&H48Mxz04AVYj6b!SNVCJ%!xhxaO};_X3qONna&6>>OBlnzM@ru zcGd`jlGZG*HGR&4F9z^W`FZZ740{djkqq{vgQ`Hvo3Ry#7t{*i1N(tW0TvaVtz0_+ z$MgI>0F*-?eP&7n4Mi(Ew0v zg5MY!(-(@3&~YyMY)!(DmZCW#_nZEB6piYOD0aXJCOg86zCsyvydQi|fPNAI*MScK zmp0m={%v93%H;qh?Z0q-VLm?hxc)kwDRHt1{QLbwL`r6M15i{4lHOV7#EN9ELhi|s z+8_=rv&G_GJWCRbO`WOC4*JociJztuH|TM{oW!Y;!tvBou()dsSBn3hP-?xoYTF-r zui+^O9HI}VAO|OA=agb!CvxpgP^HY57z%xg1RbKL!*L8uTO@ z5f@`HQnj5O9d@j%D!Nk#ojLF!#EY5j(Ffs)dYe8UQdMc4*ELZm`BL|CbBD8}OKK_L zTTFq z7(vh*f-wmle8u)wl=jk%Zn6dW3ovzms0o+seQI}z5KOMT(B=TV)9bk43>7rL;;Cpb zwMk-@R++Dhm)5lwWN3LW@wdvCijD6gmzL91&L#wMuI{=vtBxAfsM0{;>_J>iPyHE z?g-&EbI*h7FAjB1y*g4o!m8!e(iTlu&Ic)0iX5L;>t}m5KuB30`N$;Qp^XV+Vs4sL zm;%jj*v>Ul75eQ~f%4US%XS6gUtq>oef80a?wYO57TVU|-KTf=vVSk(*WkJ!GVR_= zko6W9Oo7aANBVc4gK7sTQiLV?Puai>v)t@Fqa@lIi1}C(Rs;DPp`WCo{MeR-Qw zoTbuWhzvw$P(M2CoeA>6scc7|>zb`L+s>jBV)Td6E8XAO)@`!!;Yv*l*}uC~y?>{V ze5dg_`h@ibu2{cnD4>N}5$8NNM#%M~WJ3-^u_FQt@leS>73fs(ndBtgn8$XL#J8vy z7Jrc928pANmy-4_(W*`CLQqG?sk3m)9+^^#@Jfyy(C)jQjy%1go{k>LCynwL)Phi4 zL0sQq-X$>orXOE%+Mi>_Z}-Dq_0EW^o2fX^emI3b$1d-S!FO?E<&H>-yR#u;1U}nJ zEFG7lOk_E~;wRxCzRN54ZXiwzw?6q0e!e#~_Z*)46kZDeK;#{K$^BX#37q+D{OdI_ z&`cluI@k80ch=x>2d1vC)BjadX)eLz#@jqbSAQ6@#z5B8SJdO%|Cx3|GA1@&Q*NVM zWZY1Cq%t6=Yv_(ud}QS;p$1p(3`nxL{lL!oYIc|E-|Odl6(X!J$y z&$kmb=`1InL&9UpAE@AVo#wHJ2rm`Z+uY{bMiXk%1DfVun^ba6e`4L1beyVgKVP%( ziEHymgrUxB8&6w!`96*Mg&krJb>mCGtcI!qjhnRhU0BhzypYkj z{z^A-k&m%cOH=A3ZoFh>jBGM%(k|pWkUw^Bu3nju|2n1&kS{~aC+#w5kv=&;rSy4@ z5pmCq&3}t*GOTbc1nJreu^uBebks>Ww~O+@nq zv7&NleOG0%ltfKDnRw@vSu3z<<=S*^dplG*cRAL#i89We63_B2H6jPqk49dLRT*?E z6EE6tzHg>OZ|+-5^X;0)s#j>SAeo}^EhYH?1MtFj99$T&(a^%9&4ioZq=`F9uNm^A z-~)Cg6~9XSI)J0+Go z8D<5_?bn!{zYsc$=-ua6NC(OkEJjB9fEk)_4n2J5d?WrrME|kv_8Q2~wu{^V5HSqU z${WaD5Umi}fAlYZm_;1mZ6$2s=(YTWBKlTo2a%DkTUC(t-E!ml@H*-O#TA_uv#ba3h!IKB$ z{$XjKjPKGTakX zh~hNpgPHxHMNfZfQw;Wy+0TsbKHqC->wZ%&%KRkt{}f6sK7H6uNTwEo?R&z{L9BC9;nQ4z@gC5?O_M8h&t2 z!FH)d>7IDhFphrP+^e}Nl3n8~Y#?XaGLOdIBK zomMDWKIcPRA@S`_h7A5O#BFx$&~-Vo(&dQt$`;8?kA7%zXFNT|W=7Y0e-$*vzdzmn zjymjKq?V~h>aHJ`(I^?0e5_i}Sa}z}tNE7H1YdTwRx@XQu#stAOkD{n#sP}g{grMD zXkY;Om-gsk5pfhKwJ;86yAg{+yA4P))$?8~^=Sf6#4Ttju!N3SxOCdI@fy_wT!G`{ z0#lO_R&mw!@!Hf1(O@kSaL((j~IANJw^SR>K_^O~&mzRu&Qh zeA_}sQ&vvqNJY-;PWQ=kz81uSxF9L7#<*9oT3%s)y5(jJ(k*x@`EjSFmW}wU?8IZ6 zY-V8LCco6V9$!xxKdC<(&J0v$EVSE`~|j5oddzJr*~?`9?sEaa#?fpr?WdpMsR30H%nmZUV z{7B`v!cvKEq{p;8W($vAp#!X0p4Rra07fpV!sD8eOo861zKAQ@mN}!wa6Mj@4XC9F zr4QZ@TpVM+OSR}cfJ1^R-3};mnwWAVp9a6<|7op zF$hgLfQH@cC8@ZJegxfbfJ*!YJ54ukM?ygk>9O3^Rr=nnDdl|6SKhh2{A zOxlVAGg4uw)`en=VPed?#Y*;Y+xTYfKILC;iQsdNO|QqtJ7uStI_~wxWO|odtis+o zZ#!_`%1t-KSXlNs29U-iLs5q|AZ1EjBeKG*7?_U&UU;Ma(1SwZgR6a(munFi4F1h$ z*_1r-w8|F{K&Z#X_YcPdU){Z&Su5kieuIGCtT{wHi)6=L+&<;wW$LX5!XGLZPMo0@ z0G@_PI`M_jX;AOEG?2@o-WrU;>=}~j$;8bF9Mz8b|H`Et2Tpx_;1J{r(F9neusT5s z;APsQQ#IVn!hEn3RX0u41p}c(;gj9Qaxel+i|dEUxXqNsSoWl+ez>nB_MwIA8#O=7 ze>ZevS$*c$udfhsalSxEEDCYy-jZv7?79*swwv``diVYki1Ok+naDaC?UG{*?tMos zY-P&Wrk>3mo6X3p%B%MwkQ;h4&S;$CTg?qujh-43~+qd-`S={Yk40H~8Z+{4Io4bf$qM!u<^pmBhB zoLI`iZHtL|omqDDsJf?=Gu+|}{ZX5Fj6>yJ2xDJ1&QEw7n-eunH<#8v;fkVJ91_eP z_@=aZa$Y#!t*+0#cL;|(j48*|hXw3H^!+5}OVUJe%RpPr1%?|g;@}_dZTvwYs(Hix z7S2@x^8%C$kR_=m^h$fe2XjIWzjWLoQ+8Ft8 zS=vZH*e^ljxnDq`v~pb-?mx@mlX}B5S=rJvE}#X^-yO^1>l!PAK{m4u^i+fXUHEYjJb zsNAUNej2X;23lI=A?RtzS==?lYjHxy8S0`NMWDSLZ-fRdW#wfXn21&Bt>liVeEzRLGwIQpT`Lz3ivq;%o_p(hNNVwY zAAQ4ZlUH4DOxW+c(F&jMGyu?uyplhn<;?MGZ~}ltPFp=yM7eNjlt4)GNrrR+jB8n! zx5Slq5-zitd%f&a&>$Z0ARedHv|zc_e}9a%HS@+()?k`lcRxz;*}$euK-#5YFEgt27JP4s}kWsd@}*`HLmZ10b+O z>W2~>_z+B)HQ45z%@w6D+t_Il`DrXY8?AZFBw9wF&hMOuCH#NI_MC9T}3!Am)6xSOv4{t!Dc*{3il9CD!(Dv@9DF-Pc)uqJaxSztuD8QGf~F4h=>$iqU|!Uh9{hT};HDOxBPWk1DM zsqTN_Pj_NntX9QkF;W}iqBAWg?(L6d6EuDr>aY>V^8_5X!Zq8nO7z36IlC5Kkdxpk#Yc+L*I znq_620H7uZt%Bhe5lWY-v^=DU#G!MJqybsRwDBv7D2C9L92)5ei#Wu;BW$z~^zT#1 ziCZI|9wopOZn(QB*Aipb;rKY&Dq32a8eee4`22jon|tIjaHfwoB1-^3kc+Z{(Q%2= z6_sbd^_j6kb~sypCkn#de#{0b(?ILIsQXj!8*Lc@gzVf2fxsDDGl8(SmoVFZb#~o~ zPo{rVfTsiXxHGMfQh2qyf)qrNY6TGJw?dOX9?JwyN?YRS2Y}(hHI2&`M?6PH1S@jC zHdE|Z{OuZ_BXcPGy*<$?xq&KaQe7g-7HV2kG9MYSp(=_T(Hhgc9v|}i;w}B%yWZgi z=cB9TAV@5aWh34TOHP&=O0#Fq6xxWJt-@vn6(37(x&Vy$TEXJtec?rWu zt0ZHw)JkJUl><8mYF3@Fsc(dY*=+hs%AoACSKyW7j+6#mMev8k#igS8(+p*B&wnOW z9s1<_M-<@u1f?hNkZ7*8U_8&GJYQMHjx_Cz&ASwR>$f|Wc}Pxx^)8cUND+HkIy-Ap5uCX@-IAf$|P>u`na}OaHimpIGRvZ=V&pZx=F29UgKAnAtIXSr0v)+<_Y$G6)JXok{Q7r3QN>OVr zPJI?B8x#y)m=;D#eCRs*+|Ek-0KpfSQU!(q1iY$*bc2y^J5v)CRsQ*IGsK=LrzOnA z{bP!+cHvO`y`4g4=P>CKvt5!c2;z~J`|oRFk|OpM|H#4Rs={$sdd5uWmNVx+EkT~f z?!MmBWA~?t*QLA9YYD|czd{^0;Hz#e_f-s0F`*xubl=Yn=M+s{p*?Wa^q^AKcvq&K zex|`W2_&5)&<}$j*q>wOBgJlz3HfU_A8A(`Kz--^_ z;@|(ywjTiBa`Lm>p)~iJ)ZtNSM_z52WNzhz_)*L5U!SYiuWEnFjR+s%gXOr-h~D8@|H zsLbM_!i_2C;8tJ!9mmd{=t5>P4=~xhP}B?}D;6l6M$@WBjxyyl>}vB0YNjyO+16r< z9sR3xC%n%|pe*|fdTAcvYs8?Pb!as&jK#2tVJ1UpocWWEUz;5wGr#5^#zfTK65Trq z-JG`5E+|L~U5~lUdZrIvp-D!HHZ?IZ{w&O%iZA_Bl_fyCn1CnWLjNt(%xfI=xyGHW zHTfTvgAcf&k_S5Q6t#h4Im0knc;pV?iWMeYi?GxJ=B>k|YJ5Hw&`~)h16pHdptLw)&TAJ2#hK zVHTy}Ysv{ADAyvo!S0(T%hLvNt%zbm0L){SnOv5jv_9G}W7K)}gbn9j`Dx<|M6~ZT z*3eccnk$U(Pw>BPXEYarG36jJum8T_?}n~>C8`~^-IwvQYpxWcs+-0*UivGQA&=Gl z@@2AdrxH@4+y!P)DF?7zkk*AI$xU}gbUB0`Xl_pinTP)6*A{2DJu)z2+v~Ay3AyAW zZy&;o$?dQA3mS~zSv6Cbs34ACSsy;JYpw5kb7Xs7q1=3IX@7j%nz_A|R-RQbN!AV; z!uUeyIxLWqbrN`dXxI4AW66+8M`pT%2beDBZ;?eQ`-tJ7ap(5mmbblJPkFPtxBSEa z8ge7$JB+OQkN~#5(VOv~pOH+IM1Om#3MIIEB@BV;Sx4wF;kxl?lW$T~BQB)ANqEf% zN1--hD6k24()(Egj~djngbpbzU2`gvq%|g zpjRp;n={&~rY)w8nX*8IdblZ$>&9aJjoll5(dz=`0rkzW;I4zRU+R&rX)d(rX3bvL z=vxdl5m|X;6B2A$a3ziKK&}KW`-DtVZh4GBL9AT)bf9!v!5B)<wN^|f$5b2X$o zKR7qc-7r=GCCXS`q3S6i;& z<4UdxFv$Od7qt5*TdVAM725Do3HV5vG*!r+(T*{WS*HCHeFkG0PEFfeeSgK+YR=Km zO5X#RM32TC$o;yg6yu1nKFal9lN&|oShYo`o}vKYhOm31=wz8i?Yt$qFWSlI2MaX( z_wcfCHR%?EKO*Zyql> z$23}Zyl?B{+>1uOAK^TNhg^6z*BFOR@Gj0>%)lgGHK<@U?nXCyY}mfFyj43w-W`3_ z&~a42rW{bVjr*t#c5=jjC@sfS!6wUp;-8Uc&K{cV;Dm5xN&Uxl7FnbEWx)?H?oZtU z;-f=|9y%&HE(g$JCNYv-epCYJxk}>U#g3w1Te`=ZJ7@oNBtnaSgX5itsb^v7_(mnKr_`(d#>oq?ZDTZlVV zyl9K)ch4D={+)u66)BcnSEHjl@~x(1Ce!rQ_$Do4{>93(0)ZgYN$9F%sLI5)bZDepwt|rcd%~N%dyF|52bcBeCUDx`g29N=IJ$k^q~%GmVu{(GK92>KBn7{>RLyaO zgk|akMSmZ>YzpkR8S>vC&UBrdx<7oV{sveP@Hj)Cpl!JElyBV{b;bFZ3)(Kk_j#N)*?d62Ui;B7wZ}D6&yQR@BzmjHc6nk8ly8 zDWt?b#`8qw1-(I_7Fu)^XZm!0?yF6mwE%K1$kXXMgu`wqVkg-ISMJ_RoJqbT0StC4 z0S84w`L)_@qDLM2ojP7D^&8-def9GnM$z(YkUGKAPZdN{1 z(N!yG_u1tIc}mcluwp@3A^hP&0)}4tT7YiQs&=mOaF}0t!%a6ibj)&=@Nj($G~h%9 zs!v++e3lpU!eNm`bCj?W+lzu=Su)bD{cANnQ0oNbNdYnu%VQr^3Y>SoXBQP-Uo~_B z-+M&*mC&fH73>MdZy_tYUjwWm82{Y#!||td2YlJr6E`7<7OrsH72}595T9bJB~eH! zcSGt(=L;8S@A9>c*Fgww6qinF3L0*~#B#e9Q~6UQ0&Fu(5)~b3O*#Nr?(R6#9xbNU ztxbME3$u`UWJHSr0LFoA4S^Ca3_d1+Vev+VefLcljskTF3@Hbod^h04QKFd*8O+fHy7S z4TG`5mvKJ*Q+F%#Vj2L!g)WastRb|aLKl|sR`+XL%-&F7WZiT++Kl_I+gDR9Uwxth zECJ%ljv=N<$&IYo*VIBD9vaNVBG{F#0YUZ$3T4~ACY`OliffirJhGU;Q^kekq^f$f zRBX|~FSEo&P!jY%#gzcCs?&tJp8)jro~%anCsI|Q3&&1jF=@6oK`Ia=m?m1u=z8Ya zuAxAb(~Nl%`T>R^FZ0vZnrV=55R+ssBwI|iR4Yqv++$o>cg4;rhm}M(?DW4AYe4Hm z0KH<%F|Lu)H!Cp1FlhwQ8n!R{P}}drFHx|EY?ZiziI(C8Y}>YNv$1X4c9S%=Z8x?X`=0*Z_ul&te9!Y_XJ+=y zUhA_e;Yylwovp^5g;eELKa#V|%P;nzjmP3{_@_oREu_wC!oRbotaRnmZY3u z=tL1Yk5PnlrP7$>a~7))UAVjC;?(sGT}$=eRxA->BC<_>YDosX%c{bJ4O_lWg^LfO zN{|fBJX8@w&W9n~KtEnzI|@ zdcf{)TP!&?I;OTK+Fw65dMs)!SDb-Y)WpDu z3pxSQZH=P(eF4tCs}18l%LP=;M)+L>%4S{CjO_ZcL!qOTCYqq-tfk(CP{c4+lQ->- zGNdq+^*S>Bk|`356~<}c0ozEpX`JNTs@LEa^;`ekN}vj+)v6ajoNt=^Zw(zGe1nml z!GQ(laztc28Jg zBRFjvEm16r{cqd`q9Gg20-&oZs1UH_w56k2qaM%v@s`EfhPBGSlz9scACX~7QoKB> zJzcrUF)5;W3a$_Zl~0@n4sq1RbGy{)T*}v~i$!Pd;hvQ4i?V8!ax$!aO}znTs&M)cQHjUL%(&j7B1!B--y9h4B{9m&$*-K zM77I>GEP?*D!j!%cD$F?^p9`l-jFti2(yzWZ7L=&WuYCRg``TpJgx(ObpNZ+ZFK+Z z|9zL^Y%;u-f!FB*_Hq#cK#lAaQ0ns;IG@V>R`>Px%AKmt~{j8g-X|%o`^Gxv>S?KZvx2wIlb~qjP6slFDfiq?d7C4SS z*5n;GpF?=q7HTZ|j(*?z>P8LU(MTZr(hEd4e}{8Nc^~AIeyhmC3Q$MbX-BRzWdWug zTjAtAF1sxA!n?BT5Nr>vC{u2cWvR#06Dwl%!4z&gUw&5`HuP60r#~V9G?1)@w@m~_ zNt4_v28s5`n8{-R0LcZPEgWu00|}`)pMK_Krwyu=ro>(*9G-wUz~BLTie~U;BQHHj~5Ime#6Ez4oi!N7<7j^gKajQP6n5^%=<^R?Oi0|>Os6ghiVZwLp*++5SD}5V{!tnrGltnn zGeYYdFPWaSLNlLv19U)I9tH3|7e z0=YtqsMI4vX&@WElbut~sv=po4GwhLD6TP*ZT&lsildG$L%h8yc(=IWlBU{$cW09~ zK=&E5*kU-?-dWTrrMZ&H2%wtivsHue2(KxJ64VEh=aUF zX3zE`FYZ3fh2Z1A?L@9rq;vLnXdZqjj z&O!JHjiXBly1K&^>%W{?#B4VY4WCt|XaNdG19f&Lmd6Kel!^~}#hVyvjt56eDIPK? zE3jXbf;uJ~zjhy;m3~5bef4lzH6#%A)8_P&&2R0nCTHEawe-*Xc~xX*M$Gg13o_v~ z(1^^h3LJs=W2?~71&9wrWG^aFyYga4*)aEMs2ZJ`%Z+F@8;6_`KZ7EMnStr7DBAXr z-)B@-7WP@- z24TJaGG}yII-Xrh`Dkcfv+0~U$Oih?0dBt`Ke&$k7hgD4a z(T|yI3zB>Dd3L2lv_#4gx?=s=hki`f)OyTz?f%g)-DPg|B~5t4SvyPHBZ9e`#`GsS zsx_vquBX9^WOu6d!UX_A4Ib<_A`yE@)K-VB?z{{4Ch!6;2KSgAR#@s#jB?i^tP?NN z6zlEfw4@}Dw;zSSDdgyoZiEyxJT+VKH!!etT$)7ia_C1Z=tE_3$?*G)Y1*hIAC5EL zX+-x=+bPfPf!(3$8uklU0LI}?d4hkEiFo`9UMprCEha`k+2fs8V@J8cZGP&o1190R z5*VAV(1ajvrIsh8wQRtEXgS^}TE&=lu!(}o1XT(;7vZ8H*VTWq?Pt;b$5PW-a40wG z^D#IH)4WgByQwc%FP*VA?KLdSsw~N{XVC9 zK3_|qz6)%;eWI=b&Fy{JBbY?HXx~jRsud?xRR}xWsNxnPNJ|yH>GSJQDLT{d>Ie$( zC*(ZJ4+%KeL@n@5DKnFDO-+oOr#j@MKr$4gc%{-SkTn_{4Te9V_~SnRM9+M>c8f(W zo^7oB+j-_#L$MGj2X1x2PJAy8#{5W^Wt!yLUCX_TTQgu~*?ylqh{-#2o69sg)WL5% zx7v1i(>;BlNGTmE5m?KZJ%+Nn(c*;5E2>2V$q%1Wdp1;ar(V`^&Gaf^Q zd)Wogu#zDZV*|n0xrKMr*1Guvlo9aC`q?!dE}-kNIiTmOoY zT};c%ZxAE^NSFIJa-;ybIfSNg|6kwn_uoive9@Nh>N16O__5t(WLg)n2Sm0YD0llN z4PdyqQdNwI9H%wro?N10ebz8^CG6G3NWIBEM3^ zGGWTba=BZvshBLOjJVT!n_5lMFyq#1YI@)As?nm;+j66qzDFR$Sz^q=o~2FmmK-(x z&A{ejw|iBcaMy32mboAISZprug$p+zF9bI^L-@~Vd>Q=BoKE)pwU&_?lw^}(xDJfL zg3uAEbcAH81u!{A^zRx-i?XlE|rM@JIDBnYU_Mz{|!#Ix;Wbh_>#`E3Ejyv5=6$r9Um~~NtT1yz~8nwWXEV%)JNFOt}i1j%uYT+x514Up3dmMHFN_PWJEuigk@x4GPu@ccp)X- z49#O+0vq5!c7po|?Zt6Cf1hwJt&!&^)e9h_WJt*HPe~sjmx1K&#HE4(k#4Y*>0)E) z8;{2|gRC!z;eg+Q+EScj>L*`4;f9{)ut0_zbtbZyt~|7+9I@us*QTN@JrSQ<>Od}!lmb`fMt-AkNbg9XuxpFbyGuq~sDpL96t}5K ze`=Wn@JraG`{LJsZ+rUCHp5SS{4UaSY_-hu`2(q5vrGyv+F6p>` zF?|?F@`(qiB!QpxH&i$RHnlR54O|?O&5f$htdtit^-^@@igO&DB^&pNv8ukj^PaoD zv~k{`yuUJPCQM3J7rPgvWe?Z6=s^q&sL^J|!;G>2Rp>N&08~UC$e}&Zqa0h{CDVcX z{ly04p(l7?nge$^##!>sK4w|(IStVzQlO{_>){}a9IV0O6LTvfqR^Wzq!ABQMl2>IxCgWN9F%lmmzv{OI?86*`96`@=Ld7X>sLn`i6;D+KTV z#q!Ub5>j#u_XzK)mf+hITBCeECB=sr0Y z8=vJ~Zn@j{>oo<00C3XV@mjTN6>m{X{Xk@d5i;X78Rl!c37U`WljW+F6i zVq`1X`))|}-K;z;tKq%09CWQ^Vq?fK?58UL5q0ShJD%A|=`5 zqnrB54y zT=-|Udan9>x!~AGV~9Gk@CJ_I3rq_063=ybs=^HQZn=``X*K+FHKS;XWCu0VU%kI|VBzMHN%w<)( zMQp$XhUbwV03^OmAu(iXJ}^i_h8H8wO*0uXm^3onbRk_K08pIO6*wzd)t7+x_KeE3 zrt>}``{BHCMx3x8e9 z;nZ3Olboy2^V;+tPe_PG08;Zl@owDbec^Z6UP1@J7)DyB0WEO}cUYHYhXVPMbCpcr z7dEI4U#?iYiFE}o5w)p4gbgGe@9<;0? zh72=;{@UyBqq?lKGT-sChO1orst1NR8MX1ne{#8laL{@I#W`~71FecPE;3=gNI;Fi z5u;>4bfrc1eT>&@wq}V0C3kl|fV9NmvAD!!`%AZtxE5pW0( z$|rG5^xX^lCl@teW>wHO*BC_LkFbFT#R1|mzMs!L)*8L#ry-g4t(VW*d#`Ql3uPjf z6}3H)m~p><==Ezt;0AA!`*8EWaR~t09Q2Xth-bgy80rNu1)VI#L7BGYzmd?y|r?#*% zdQlNHyxZnT;X*mNR~CIqH2-6cwsE-!OWfTn%(I8=>(4v@R4Twi*apvN8^$(HAZ~E8 z;Fl~1r$#iDOBu6UHYW|Y@xYQj97ZLdTT|#sYSoy>_%YkdL;1t&1Z1!{zVm>~PCLO9 zc9hMikJ2KmMN_m!MEBACGDFGhmtJ>f;qh1df4qxZxB(k}SyUiw+j8{#0I-#d)^Iv>eJFjg)82`c(2Y|3My0sL@ZbFFQs&nk`bg{~t3UkT~5F^L3 z6Tr|(t#V-o;$t>6d%fhj9*@JA(W=cHWyR_jlJYBCo*l}!PbBk86it4gm8lPVQh*ph zKK<Zk*zDa>qxcq~#EiMkW}CqiI7~}FrmmcM zfj++ip;Ta8mp@`C4L6NTCBR_DL#Cub;S=P$$RDD|!-xW7gdp%$TgqAg zTG1Fh1;T5iH%2oZ@XE;2ag%~M#3;P0r(%!a|J%wLD$4@payK?qr$vT`deX&RJpbH7 zRw-rK_XSKA@5*Z_dV*mJrEf!4!t;~Vh zXctSiWb?N~IJ+o5=6_rx`=KtY!&A7aE!X&!bWUuJyGn>ybFC4gS~3d};S&g?P&L+R zb8QD1D=AR^awor?ow&tG(Ty&2JhlC1Q$Nu$AF3apwUBZoB(_3u&x0jUn&I06`i!Ll z;ydHd4kExCL)S(O7dbHPq)fU;+L6UjyZaGv?zYL!W(o&}BR`Jl)9l^TptPFRC^su= zQM%PW%>J^A{OQ;eNQ*Ka#PdfgiaM|*_%Ar+7$I<*XFB7WdPhG3`ia*V~XI6Vble}hg#pLU@FBbNXcu`B<~&& zFj-^x32}zw{q#2MIqms3*e$4Y(_H_01^?OpV)KD(V%%zWcutYA3LO12ULqrfU|_@+ zB9UtKCutDiOo<#*um8Q-mRW&^;y~MLNp3m(HD}* zBUd0JLkBggZM?)BvMFf1qca#{&wVPufxF#bNBx>9>L%2=$tAArd%CcEPPeqo=3h=U z^$(R(jk5==HQwF#x#2-ZW|=5FHxP;c4Z)9t2S|v4YsgEv zk#_#Z|Do5mnc3$1exd*%KiuV12GQyu90=usQqDO~!RjvnXBOjyLS;2rO>?>&jKxXM z?k>_@e9=xb7B?Pb$Sy242?qZT6CFq8_}aYee%6K@ZKWw$F)B}1#<{haH$|{Yu+?45 z&KT8oA(-B0#MGHFVvL6Rj)UZ_XlYY`rQ2{Np+r*wA7^V(V}MA^SUU(^b~)hQWmM6< zcywo_VRJ{XjYFUJWH$w2%C5e3Y_n16hm`Ytr9eir@<}iX{C2J?a01>hDsv$)-?!NI z<3_hcqsg)>a*^ow1m3kcohIcPerbUr9?RdL;d>%Z`?1cI4Cgcc7ga%zfWwA4#_(@? z9C`{g{Xf?6PpaQ8m-w%rCBG)~+U#}y?Q&OuePu>j90nr;V^PZipc7nLk&5pa7~AfE z2}C((Fe!k6P_cuif)aLFxRvbH%i{6uavKS1H#$RZoX|*YCLK7VTlh29Yf`47xgg=G zs$(}paQHW7t3>~d_6-EWa+8FVkP|3>)D(^)T263d-+tm%rZ!y}M8G@unud+^e1S!LCB3L+c%Uua%%N5eAXRei}BzVfq z+|R1_wB-sSw)9o!jBuu}OqcS9b(+mUZIOWnos?Oh zRSVz`cG#&^mYER>36H4V5pz5}NOAC86Ej%wJqk)8CPJ-cm<nd;yz( zf_%F=xL1Z=+)R}s6-kKjmBcPJ5ttP)3xE8o~Bzx~$GUE7=o z?^XZ+tQ-S^G@m}m*AVFj-(yIa6gRr&x=rmzVM~cqB7Lj^G4=d|^Pkv7<5G4wf=UauNAd@qqtJBP$O{PoiVEmx z1>D?CCB!o>A`3Ot4df%#nCv{QyG|yjC>djXG4a+9zQ+gnX%GYrbUw{9xM_FR*^ji0 zJ&R47kBJ4xMEI7h>PeTTktMNHXhPAl;#t)zKJ4ngP`$;?s_dWV;K;fapnyP~PK{zq z2U^nPIT_;1Ny4@(BGHWBZKQW;@ABhzj9=x#77rxidGZ#)wYK z=%DhP&I3scBjm~K*|EjM#frqnOj|E@z&puc!$xuLLk)J@ktnaE`)u^QO^xmZ)u z$S0pl7^QMjVrv8gxd2kq14)ufB_e_7j>*|Xk`w~oVS`(W(>l^CBcjoDgKL5gdyucg zCe~b?foBmaVROT^1_KSA)>l6QQ4I3+?M9<7{bl#^-B3VIQmu%f{T{@{r)5`=ft-l; z@0qEUj%0NQfQsaUVX@z>+zQm>Yzo+ce#=ynr5fgEDI3nRXoru#(G9p!$JeKV6+6t3 zel3sE)1UA$+i@r!G`KIFU%yI1l_BY2JO1(;_r`tE?M)dEt2@HK;{TAo?ux#m`FIon zZ!oE2*gg3q57v%SW?t(l0Na17@e`OtV-(N2pQ-ludwIAPn^&u;Gh*pao;?%PJllr{#g-K?| za7HDL%QY3^@#%w!Xa=9nAd}UwJ8{M-MKLrlBPiOGaz~&h!5{yjG{eE5;BJHsFr-Fq zM1>^}4{3#l9)Gu~N!UIkI8Qtw|H}ARp;M^-ZMm5aDC)oJC2c^Of{ZLj*?%&HK(b?~ zM|iKvyRXl!DaV(IW`9sSgO*Cd$kH2Aifhm1a2_M;#9zjv7Ug&lxJ}YV-%h{mv^q&Q zPhUn77GY+Ywo$GoEDFE2D>)C7Z)>OMutsF$CC`oQ^`Ew*Cl~bf?z|Kf3ow*;q0a)3 zGx*)|L7=6Oj)n}5g%U!5$RMm$FtXiZr@?S<tlkeN!$|ZhulT%ACH9Xf}zh6S}lJR&_zS+o20Kjs< z9wbnPq(SE@e^ooW&}S&IJeIZDi*3I1XyR0)Ztz58v#;;oK^aL)8>ow;_Ezl?Xv0?v z1k2b|$Jv<5%6?VpwXvM8d?RWVB#Q*8fy~JHTsMt6!7a(EMd)=KCU}{M6LT+4njtTZ7ql8a>h#F@9c8O$-C-I z=`&Hl{#?0&%LF`(#qn@$FDCk$K;Y{k%|Hl zk`(Yhw!K<`zmgf)ITCnUBEOULaIqu;aUv9x>7wbOQ_r%-)SBPOu~-&G%Yn&F*yZ1f zH^6h>mZ#kK>!7Z=aRmtdWU??sxRn63?7ma? z%>7pISoq^-uLU72EQkvu$A@JIH{{5xK`l*uYUm+QMY&-SztQ6@@6n4g``hH{>8daF zzn#~`rDDH2D}tj!_Z05SX=hRYCpZOe?^b9U2abBj@OZ5W$a0430|5^3U;}*9$Ya7v z7>O662;(gUnauSv{RO}hvnRqu2J^aIM%bJVCPF4{$T3_scq&z%b7^p@n||^>W48JS z05U4AxWH3Gq1>vzuTj6{;B-yp8#X2mEA*p4p@7Gs3lAt8#wix&j zLJsa(*8FS%IweDS0uCseDhRhi7c6d&=Yb4sY;)tZzlieS@6h^FRwxTj{aSac;RE*y zOiucFyNyw~i_O>Tb$A=lsI8&5%l09q*}J`RRYHJtKum4&0E6uuJP~KB`KPOj(CZI_ z7Ce0jx!L+V7#hu%@QfOFa7HQz7QEl_giO?eg;2qiDW`ocgBuIc0j=LKu_L5nEK+H> zaEDoyS{1XWDJFcG&tH8$IQl>PnlZcGQqtlcqxA z<5=~c2uMBze~WE{?JmqmLJDFY#QiP`oxaf7mnG$!Lk+8AoCU&I$E+9Qt#3OutxDDn z=@+BEohPfFb2;F2{WwrxkS9wuU}+5($9Jm^N7E9T7-&K1SWb{;oGU4_Dg`_yI>qOD zsno?vca|spX-LhBIyOSa9*?8KbIPc-7 z1p9D?(L{ey2BR@*>?5($kMJaB)F%Sz;{_rvV647a){O$ZX)v=#@l{&whTp=)FX9TW zYQl$%JNudwmdeM!1r6ay00NDaDJuip(08R%aej(E9ef!R2F#!_t=Wu1=hJhMFy5f) zPGDf)SVSppY-`XVq;+TjlC%D&+YXYZ1sc4BjI1Hnk_^vvU}RdQNsGrCgwrf=?_(H8 z&gzrFe*u;m{;s1rIu?53jYF3V*pONdqQjq4X(G9MWd?QpTpeO=uJZkf2^S?H=6hU_c1CUU{YNrdcbD2hwP; z4|F1ohdYxhuM`GADPO#=g4u;s{6FX6L%*L(+? zn#8t!+dAUsHAJoZ%_lg>L0!a#Nv#GvD18Pe`__FQ858~*+|Bo$i2ef&=3z3)Y5pV$ z*C7XE87I1q{#Co4QM$H(Rv{>IDLaZ|M7}^)dXZ#cSD1~P(At~SCEr$%`_9d9r#*6N z|8Yl==JpWPdnOTGeHSSO^ce%iSa1X2^gw2ekb(IL(8g+}6J5f}V#6cd7mrFF{nS7? z4ui>(60a#zpfErHm#Rb$G?7pUU25s|BJm>MS`ghE|MY5SFz1^IqspQ|!=-V#wbNNP z>fO*5D`?O{j)>{q2mrJMtPZ@Uq&OJgZw1tw(H5bw!N)=|two8F*dfY#$@k}tf)nGp z>D(;0?a{bLjkG`c-Swgzbh4F%1lWU(!NtIzQbzVSrH1ayCn!Er&=RNFuYZQ#l;H@0 z(J=ZVog@@&fauZnC4;;rgULaX%~Z=ssny>QQop7jm8K9LtH!k(k$@`M z=@F^~gYS4Ok8du=S4^8M$42K3UfDf-G+iP*#mQ<)`uJ@m!<4SO7<+5G+~#tB9O;DX z3K1qyU_n^&a7YL#)vvNppZ&j28ozP*3H|dBon5INg4GgXvq_U;A%i&G62@+psz9tz zQazL>7?(&>Xpo5H*jPp%?!Z#T#|#Fs&5gPIIu>TZp3|eyi3q2_xLnP1)w$@chb8<= ziiQGx9VHq1Y4ab|=NRf6B)u$GjG z+)cO6H}`x2)w~JWu6C7b~TA%qTvZsJbDx^bb!?Uh_|lGWVv1WnAdr|Ssh0vu#>nVDlY zfT3`O=-f^>#y^A$S2?*Ep?JqrAT>FD7YARLZgNvQbOALWO*xr`XryEr0^H?JWu)fFgpO#X=Zs6sqJjKBN-0!CaAYTFyYK1hrL}l!t;y8yHI~Dj8Y%p?Z zO=#zMZ>)KO(#QjdF3vUw3Jfs8F=DZMzr&s)kGlX-H-f4|h~F1EbxY9t2?%(kal>aQ zgZ}FWC3e(p^VJqs_0HyNQnvAU&J+9P{cHW-^ISH6DQ4AAHd^rPGA2pMd+0DTZG5Sg z(P(H+g`3sOAH0vK0Lee%Y6;&F` z7rA622_ysJ1yzpo^<|LBUDF8v{*bPyAnR3M_ffx4T3VWl)rh;E3+`Ox$mD~g%p=0( zgMGo}GC|;+KqpbvNu|Qf?&NE5~MkeQyiXzqnV*-cc zTrNN`(BT&B50gT(SPH7Yw}D~2Kl1D2UdSavE|+N^!(0pZ3nGb^;fhX#%w@syh7#V5 z)-V_tj~|P^3d#RtgiMx5e#k%uOE&Uja8K~8;Tj!b2!FZqzdT_&e&GcQ-_?=BCGAl@)1Zp>rT*_a$c@mDc_yneKt+ z(R!OIVO_ZRBj~%zod&+nkw({Kte}@<kCXWTdmq+7(GC0F~TfLj2z0c${wh}6Yg3?@tc+f&SiH>=kLwhK8&XXd)EH!N0g%_Nf}$M06>XwcgqUR9rv*`5K;hTKVJ4 zz0KyW!>;=(7WJ<}d*S^Vv&C3DOe=q)}BcmN)aCUv^ zM3+sU`|&pk#TN}RCcXdmC9D8>%QOEu*?8EF}&Opm&s!_PV)oAG}JHDi3DTeWN?PG{zMihkQg zS6!35llj~8)8b0Qk#WuinXM>VQLqMouM%Sm*vBaaWFrD33cwwjz{ZY>b%J-kjhm&v zdAvJ9m}X`*O3oU07ju<}0`q@D!*zNBb=9V?0#jNb_%}U1~P; zT$@En+w1#U|EthexKKU4Jm)#Hfj&h=lVPY1%n4A?SZy6(iBp#S6yv~S%gy%nbo@0Y zhZIFzlWOO|uz zi>x_+o>ohfoeJSu&W1ucT`Q#-rcl^OX{u?rv1=s><8o}d+W6Ye`yxB*w{^{OoWrSH zFk?&jT8(tCHU*);?J^?F4nKK}77*DC!&^Qe$jdi{0q44qb*@drh7YMpA zwGlunBsC0_Ir_1`M@X2kY9e#W3AuQvi@v5cLvv(&NbE7|(K+n`+c?$T^XgAk@!P5* zn&vFNph8P`(1G@(d}tirTV{v4l%I`X5^tA!tQpd0iqauM5yRCLrvl39*B~=iAqX^e zvFp6|l63~skZNIr#G~gnhU3p;`S`y!{M1R!sx?5*e4-0O*%s0g_ar9WipP;yT+YXGQpprxdcMiwaY=mP#Ict?hRft_IdTTD{bnNK&fZvEl! zh3Es$3$WsCG?AMSS@sl{CCivPiJsWPsZXl+Xg66?v79gp7NS}UoHNXPil3!^F;iY_ z+nM%XT#yIKNfhc5PA`0X#oyx$1b?_WlTL!47nQuO%F#i5q3{Xne%Jd$| zePbnWAhhwArmsmm#9N>)XVE%DlPpevGMa2K>!5eegXwYJG6Q$DitE>}BF;OwYcI(0 z(H(GjK!-B@sO%Z!y^r&oYTakz3@?&>8UDH}$Rb)n2apeznGRKApd7L+Ve5|s{;YnKI~e_QKk954wwql`SI@G(gb!v3=eUCEcUq(r-7kk5W01VV(ILF!9Xkw`qmm@HPIiEnXU zD!d?AMasfO;&!Pwqt?0bG4Zh2J3yYx>iTkvq5c4LeE~oh>>wLt!=Udf-9n1i~?>|o6q+ZF^EW*T-p?fUT!R>*wnL>r!buF3K=ReGLF z)RY8PFj2_;tI!qPz&FY%90n;Row5udLsLg4`~x^2f(>W3=8|Gl;-ZRth-F!H!&@u}3N(AthJ`oaZDR2~$pGi>P>6 z6yw3twO_!)*cMv_bG13z0o8NiSgtUevyXQEb<(YU5@A)Rs@N?jussp9NR+d(HMi@% z?Bl`SmBh|RdK>MLi($8><`#eAX!kPcS5MXAV-)XxgA0HRM6#8EzS9V-mPd^hGf79) zqO!I&HbC@l-Qvsr>Jvk^Ydf^gdbRo?5meiAk?9RQ?ibmSHonG6$ux^is`phh-{&0X zTHfmn_AS{q!xfNqkap%RntQw2v(g^J--Zs{`rRm}@LG3oU=uP0mZ~45bJ>xfbny9| zSN+i%)@uh)c%**{Y{osnS9)C$Vi{{|uv;7!=Kp;3NlB*J(O3PZNco4-HW=W~pEii{j7<_onwn)ilOc#tfym64y#z zCIKgJ4tH`$9RsnPNeUKO{lYqt^4(I~qvLpAR_~WH{hw9ai?ZXu8OQd@%+-&9nF~b_ zP6ntl6t@(Ki0`v6eIusSPJEJzFRqdtgl4Br7LI=uYVT0$T0s$VzbIGI`yt$;@vPTc zo3KkcvqRRXJGIDayc!xgJFCHTmYiIb6+ z*MjzoatS6(R%|Tc6t$n6{e{Fopx!#F$k}}3O+%*oHsnCLEQ)D8?&jY3iuW2{7r&S( zm*mSa$}_uPN2E^l^(6!VRSH0o8+2J<4+8Tc!d;>O^ce8Qtn(}CCi0C%L{4spcwxI7e0t5gkveUPH zF4#z8;|SE5ESFtG?G{-~nBUFqk?St?Cw*rkTI_yG>1A^KZqnhHZVUM1MKBuPo_L~$ z`6w>taqrqbPaKm;)FuDZB8SRVC5oo(I@L8}gt$+9O#+adG%#xduO|#1brMyJDgxej zV;%GWC7n&?l_&s=4&#};4{4P9)PCr2`O4k@aSl%6bw-rFb?Rr?mQmx(JBR}`5Vc)+ zDxpY5Lm6MNw7%Z@z5Ct$Ebb4=2bGeSDrqd92!+Cv{qANnnrABqE#)k8-TxYEHi0&! zl}w+lNk`GWw^J%U^k_<>h*Wq@7_c}n%k#*p+!ivu8YgKNwjxfTR)2tEO1d0|D&Nxb z6YpVVMNJ`t0aRc)e6wci78_+J5IB0)^U^ZL!WvcJG%JUn$q;w^S^R7wl=C zU&g-nTlO(g0$2h5Ovty)TWf;f!W(Mc+lL!SH}kCg0ge`Jhtm!?)ErEyd`nu`pODB> zA;A;*`9Vqvitl~UAhrG7%19oSNKJMzx_eshfO`Ss)pFTc4F0$?OhmH$jiM_$FtiXYl# z2g=lE$|r9~l#mzGD-OCxkEmPSS-SFdT&K2udW8Sb6HTS)I65g(u1NaP#c*^nm&~?E zBz*i|G=V(!5jFDvgXNfYDMw&=^K(mZK$6dB3mMU5Xtj6HVW0Nec*SO zhNK#m`L9v9g$qKJodyOP-y0rFVKPDJ#Khmx{yT>9366mtNvFOC%Jkna`g{#$X|5Qr zz3Cw2o3qCBqNq%>VQtMSHw2z6L}Ru~z0_J>8<3}9u4oSBNlHMP;L3JWU|m7UlU1dxS$oIj1qg6>u5)IWWz+u#oALhH=({tZ;L+eLu6_>5WuRs*$5a69;KOH6@{I{%z zDpEYMLOMu02{v^N#czTdZH>Ou?|*zRwMn)OCxv@n@OluYww&G$>#rUVmL+F92Lvy3 zehr2O{oCaB!vovdX4@!*4%CO%F?mg8Vkj$UWeg(%YKTf@fsH~<{7)7^Na4uu4&N}| z-=;GCp({GnAS9^Ru0!S+Aq&WHX{T?ZK%rO?!fd%>-{nO6_l1^z6fEIa6aT_~`#B(9 zbj6BN`-C+aY#cCN7-_;QrR-vcS08~!fKW~T^zC=+@gJK-fUN9#dwlI{EQJK1h0<6Y z2FiN+y+OTB{mkg)M?);%i$edWX~7D0$#AO5*r(rVbq8L`>Ug=yEhx;7h)SlVl@OTj ztqa$VtHKE96wjFxUsR`Kj#pI9nW8mD7FS)4i(n4H&EHh?So1#5?o9-!_Hz2bCZ%B|!lRfed_I!2LUNd=C^y z2##mYY__=YrETE$&rkeeO*yk!L_l7nPKOFp=r4?9j_l?WjwoVAstoqxB0_cNSIv_g z|L@UfCp@r+ei{hdHqabir(gm~eZU47|5eC=!2BN>Yg#WACCBZT3|kBy4!Zo4NIvMn zZ@&0Xh_iauMGL{tgWFh-95XOp;*n7D&9U2!fft4cQ=FWfIiJs-YGY^iy4FMR&&~au zEUG+j3b^W@A{ygi$;EI4+H&RjDgey-$^GU+!(SFB!1vgIju;MHqvMH$6G}{a(5V~7 zJsb)O+8L_M>Gy>ACP#aHmKn{oB=4X0@`RT*-)z%XF9}w?yep(ylsePXsC;T&D}Cgq z3pK|ryeJ`s3xvqPAt&Lm3V7v8L2+tj%E+HigaBmZM+G)^&=}(&TKyySEg~Zlf=wik zev45^wiOqw|A(Y&aF6Tlf*UlpZEn)ow(X=rW2dog+qThIjT+l#W2do`Z~OcHfqVDa zdEWD$duGl|?&GER%=qiLpigVh+UZ&0kC?f& z-ZTZgPzbB(USI%@h>rdK7}Bs7$lI+sS-+K)sBZG8q7`9Dl((2g-|uaCpzD3|<3C4| zegD99ky-8tP&`!0Du^BeMSa$QNN~%5@1W12feaS7{ETt7TS%#DXeL}K6wqM9b3tHC zBJc)NIl6yQr${^aym1ukLx zb+k~WX{-skKdG?FD$*%5MUl6{ zHOg!=``FIuUFwHua@aU4CL@$!Uyn5AXEha6aqytsBPRs}&mUq>F+Eq#pQwFYx(k@b zB0Pc_-b43Qm;kgyPeR3Dm>3=lhe&=6FCO#4{btv`rk{DSwO2+=*yvcvm#5{wuq(3CJuD;|%Kxi! z=ivS9d?4~cWXC-0dDt*SH%hHjRDu$=ULM~(8f3Qpz7g!xxiTL~N~{9-;^;_HV#yau zjxO=-Qgl=fA1~=TL}iq1980GNk@rYB=nE%H>D*V~A6!q>Qp3ebeQ|OsIX(=AeLEnQ z`V|#co@?OTp~_e8!H%_O6Xl@`6Nw?_Tl>|DR{<9bm{_1ZW6r$|5x6NK07eM3<%5$> ziXHSN--5|G_e$co{Gbrlh|*1wcfZtu16BEfe3l_A9P#5-2hxNz%MU!fHU=~F$eRjj z)S*8+FOpd};h%$_zgzpKhs+?PN_HJcSuNKQK8wy@Bv4@GN7pOBc&vWEq_>&<4!A%N z$X-H#-?m~Qd+tmfDtmII>c{^~FrD`cR(_v|ea_5GTQpVO+&<0t#O$Vj-pC^@OVgog zRP=F-`*dn@RmE;4C>R5P1@kdjh9`{K?hfyQ8#A!E)qji1INWs0bfuU#t=_SG+QW!o z$$C$E?d@*fubUyOZu2+M7lMyvghgI4Jk}sv#`AMg+XUOz(^whPeqK76*lJnVH2jZz zxBvw4@PdRSBKww9CypQz9Nzn0P=XM?Uaiogd;rn$nZ#R(3L#&@^%Mqy=aJH-C#wEa z34m9Qk>&JrC;tSI7k&j)w`@p8L21zTa`|uEFNP32?xAo*%nx+;sw9f9^WE$kd%cTp z&M;?g)2r(ZTs~Oa^AV38>hc$-em-^M6L=gXB8*nBE>YAEPM*n59}U zh*YJopo{=BDv(SA$Oau9ey~|Wz^F*m6acs>cR6q)hhQk5Pd_+huPxk<-G+QZAz9W} zd^}t$esm=3|FJSAnszyxfwV}kqTw{tWIiX0G1ZU_`0 zO?q{_&<#-np*OWU5$OC0s7wb!N&o7QBPFd!st31f1zpB=ax<){c0HG{BudRC|0kC_ zg9$Qaltt$<`fhl{gU4*98!1%*qF6@*l#0ua?^8UWxA4BzR2xP{+;+y@6n-!IhVc*eW=3RwlxM{ zBXH*W%jcnNJg24ZF+B({-(Tso*w8DV^jP+`t%GyGoJ!IZ2!v=t`d$fvwuXT>_}7oE z5u)`cNv&B1gS|!pVSK%124e9%2E&Gh*hsh3&sU>pNBIRRVyGJi9$InGR+S36a_gDn zH=1_uWdHI%6#`oG@zO>S;o(`*aJkc%q63DWU337PFKyv;2!GOv@^j26fxeJ!n3Rp9Z&rpBEKF(@Jr7FaS_; zYP%)^dX26^7+fsTs)PtCp6|M?!-TjGzlJvKZ2_@KmZ{JF_hReS>KmZwp!=66CdD6V zm)=rH_z}?oNntF1pzv=*lM9b7(;@^9K0y|0Ty*&SB7!pjSQ+?ZXBe7*s-&VWXFnm$ zaC)`KBKULdxka@~J)!wTP#n>`x87gX$YGe693{5Tj;y+Rii-)dWzN6%;?ok;6Lr#2 zJrb_GU2bnjri|O(k5L6L8N4Z&S^HJ#+^qE6fWnwl><{y&T7-*U;46D1c9)$8_F1zGV)f>Gb!$5tty}!^ocSj_W%^nwN}A?7gf= z8McOl178t%3`0Q$*38I;{oRBjt?^Q;O>fGF#&6rl=j#l%%$R;waFaaZLm{LTHUdH; zwg$4q4`%NB*i+pSQDNb8ioc>yACD#WEmmVDm1UVGhmenLd!#E&xYZ_Rf7V{~n`meC zzGlRkl^l7RAQ#`u5DMy$>!{}+!3FFS^b`YNWy1$3<;d0cVQljyU$!-(QM0S!lG#kJ zc&=r6-k(5Uqiq!znToC*mOsRUIe8FuDahz7gN`rDzs(Y+n3O;u3v&olpv22Xl{*&71#L~RkQim4!i-Feh@_87a+-9_TotzS#`I#j|3l~q zsUJ*aD&tIK-+%(-8FMHTl_1DvUM)N8OG}LyoZ`8wJvIG)9;=w%4jMuI5OCjc|A|rv zcm1I|%n@Cu`#z?N(OG2?6kj$*w$h^_*fUEQXNbft7A{6m2)BZhy|+%10EtpQD8_8f4-LVpb}5bY!% z6Ks`By}|v_rGM-6a~Qus52hFgNNG=SL~r2+IY6vy77XNTv8CZurbahc4%{swyP|Pu zm=5V&*7iD87@SybBskC?jR#Pa6OU+n9>i+(j{lx27%}aI#3H`~#w$=G0KbK!K~HZJ z&ytg(CQ2PIQMK{T9LjM?pemxQn&4=1WY0q>%ThMeXT_>>U$t5g+EeKPX{lq1?yEZ5 zBGRMcf~;pBKaEV+OV<_4j8EYqF|v{d@Tu&+U&D={5&`CR|1v-Qjpy$|Q7u458yDTv zISd5^4%ocJacS+ll6Xw28r^X^uwj3VB7i|Vqq$8UC-~u9fx1#EVNHhL_z$6D z!0$c5nOPd({gKnaN=t|@F~ zCWYzDR_u(MrSqoBlOqjUbZu4?gu=~&N26pu!`W>z|gYiN_unl*}Ld-=;h}|nv zd|1LB=3L>-~j3~@uVQv&%0Nf?Ab z-Vp*}ZWMhpUFd`T7{^vvUBlc?G77j>!L7CcpK8xMPZ5fVpa5Pku^pl-qj)< zS}@tXvrO)y>XJRADtI&mV)yemI#&XeWaLK|+#_8n12PW-E1G z!8Oog^9;4%%F8>$ftqf22Z#VmQ!O41Lvh3~+L%miIHFZ!vA;u0HGPs=xr<34KLE8& z7;3~AgqIqt3~Brpw&#icAAe^YVi4A8wf_(T>j#%m zY6l@?Kz&jK5@W&dzl&1*tV(bwus}$Lb0s*Q8QT)r!1hKNeogk zZOfA0uXHtPI$%<7x+QuD7owbJWmZln0_`-uP;GPz`>(J{`A{;GM__;N^G*x+-h189 z%SDTMqE!cdYe7L%7J=X%tM_H0c2+497B0KEVgy*&6z2rF5z2}RbALK{rsl^=vK+;t z(Xo%w&M32xRkG3HJ!znV21ZNGR$aZ~&6~_xVYmNH_s=5}Z@PY4ii^!i_n%zP{f7!F zj{uzCSNpz-%Bole5~snUMnp=SSf>&Cb>J_EveJ2ZEmfbfW}i!Y-7v;@ZR+T5&2bV$ zE${3GRm(FN(fhw)B+&$24 zFP3cem}&~e_ZX}K9O;t6h!E$fvPU0ub&C({5q`lOcsy?t+HNZmSZeuijrAn__br1$ zMzn~Dfdw1{C6#W}Ag;I=NmYV7@lo`Bfn$xU8#aje@CZ-|E>SPYbrxX5yn+OhUZ2z3 zL4#+Y7^`QCUgS(WoOH^@3x06P%N}kci)lW*+cUav4uE|=%_~s^R%P2OCd_pfKT{gtRceYsgWatPaOw z{k_i7+WfGp`nU@5t5|nD_^%k5_{)qNl7`tARP3W4%$I%Wt!3Y`lIX%S{f3HFgMg>FTWUxpgbF~w>T2J6*{r+KP#7#U%jUIlK;&iFrn z*J)EgrHY@zbe_pDf`Tt(FcKqatpwI|1-`l1n1%!P5yH%l)5~lb_4E>kAC4uDiH!vi zsw0)0ee^JVhUVPlS^U&-B~N2(E0?tnPK(@o^gnZcoNl(AO%1R)CrUN^=U9Ih{`(kI z`tyK&R5215)<9#flk zY|_94WC$K@Iyh95y#S4*+C;?H)Uv0Y5f&MH`)8DnFPzwN;>)}TC2gO($sY;(#}Z=0 z(yrW)=EN3u-*I)QgE9X55siwo+x0oi=%6{HisEy2ltUb6U2w&5OmD3J3YlrmFhRaG~!D&1)|ZgDo)t5#6mp*uG)VOqOXrm6m`!4^ z1MDI5vzNPFrVUDD-~&}RJCfzh=C>D-H0D=x{+@LS+V?8*^X1K_p1X$D&!bO%FLz7B zst^XV+Lf~TqW8`YD-yJ%rz=@pN}s?C*Ku&o(P~^bF7$SS{z1nYX3d4iLRU=%gKZ^O zijcMZ+Ikk`%Q7dzl{ToeK%=Z$`c1Z$W%7k}8~ zpqO#x?+2$tXve@TcB*x&+c#sbs#8;-PDtmr6B2swi;6PmC0Oi!MX>4ND%tnrt4Q{E z7zy?A3M7OjtHMe{78uA;!HG$Erx>CIB9Tb~?9sZ0rGkOVw!%pk%N(2))|2f$?B$xt z?WfbCZJe+1WqM$1vz(Qz4TQLhd*U<2tm#83DQmHl;;Q^wxu=&4@-tDD2Xg~>y8&fk zq}BsJ z6cCAdn>Zf)Q)JIcyKDYuZ(ZW$-IC$#rpBm}hM&4AX@J^F&vr{4;y;8C=MhDxaZiBz zn&r}a%n-U!DYSf4^i{L&g-2p{DUL_LCzzvFjiViEm5ZY>t3;6HySfh^RD20B2?k=nb`vh1$l}qT0?U}67>!hh#x6sw+2CGtJm?{|kZYkJS=}t89GbY0*H$@+-hy4{? zb--=e`EWbysQrEsWaOOWggdG_@N1!!IJ)*B6(v(#ZXh><5*8xt7S}1Q)GF!iaR1Z_ z67RCe6>|y15z6OvQR+X0E&!t6nJ0LWW%g|( zo`d)gb)(!HrNyc%>UC4f2*V1P_Z03TOKASK^*@z;-ko1~3V{`q6mR6}0_hs;r)rA( zp7;r(z^X(uIZA8(PG8)WJjKY*sCjnI&XoPKoKchK{R;Bu%L$C0uMjQF|B3KZ%Sjqh z`}9>GFUC6iQa3(MRdBm9c%sd7uEZZq`ppY(FS;&2uu!>D{WhH^*J7@q-1MGxSA}41 zESOGTfH8JcW|3a6$&lh3#?|>8TO57)g(#A!WO{nU7&@g;=v2ehJ!|>kb7*UK4zT=% z{6w#d-m&<6!PyjDz@8$w;>6N&9lz_u5e5KD4cfLhR|ii?bzFyH_S7vdQfkR`F_iyx z6ijr-E=CN)99vPHfJz`ftQxmaD!11sMi}Zp;fxCJK@Jc;9+WnBq0OPQ^SbjfmY~EW z7Wc7krF;}8Z)PSf*CvzK+CY^(8vxQogwxEWCqR~_)Re5{8M^*M=ny9GMi3;I1MX`b zWa3d$%Eg$9bAkN-X0vFhb?;L=F{byL2DkD)e+^dKX|U!4;AmIpjXgr5XDO#;4<^(O zG~w`TiI3XOEt)r5Rf!uDn|r3ufd{XRb{Ks>ulvY{C{bJxW+ox>}V#0BIwA7G|>cFNlsc~>Gjjs zNH)h3jNF1Bc^^IR7GTx+s)-8f^OZABH?73$dVQf6k6B zH|jv?Bqt_PnrfI@mWv52WTLKkmtL~mF`oHj*Zf0hCmKAKeu+Rq%$)v>yohK~R<`GW1DpvQ~h!R>7 z`hwm`M~+?XfrFnCzbo-o+Apo!2UAeM;d8mY#|jKhLZHYUb`)!d|)^p4{ql&oQ#=^L1q32`-?+2*HjzH z&6QF877cgg$s<`S=Yuq*kSqWIXFD|>Ips_YD^C4k2A#{olS~#jt{d9(NN{zTtvyHX zp#NA(I4XqWkrRFq%wLBiEFFB!9*=bD7mCVnedYbFm|(QetoySMP@3n=Yj42Pj{##fsP zkV4vhNFPlG9f- zV$*TjZA-mXL-qPPD{nTQIF6oLr|8eTGh#6{1OcVC5-+>e{}2K|poq>WgQ}c$IBXjK zfo|l^x{w)#b%Gw1MfL!!uUT&5JtfOo5`&5Zvps;8GaYLUQu+@gpYD1-#bD)t8BhMu zPtozO%W|h3Swu$Xjsh8UbzI`f&cn{;T&|S^gqvISg`t|xLah!g1V`AeSgJ5Mv65HP zQ70Sj%Wm3@Qw-zQMe2H=#$TkNU-H z)ZHQysO>XY-Uu zd|%gP#h0{aiX_FCuVA|niTIlf4@{JcSE)a=vSpv@cZYY5nejPbPE5M|N^*>PMC1_T zEGL7YzmLR*@NgxwVTVYgUhKz>ZHdl zlo@{&L4A&^=hkS$(_TMKJo39WgX|SHo>B|?YGRM-Nmd{}h z23xLv$36Ek3zxpSjtKFcNbRFnIuq7psm>tb7XU&9xIYW$&yvENXFB?hUT=(&;YfdT zKbwE^Lq+mbW1oFaDTt(vlzy;1bfNzSi|~@d_A;oC*Q3WV11I|4ZIl3lg*3tDJ=tk@ zYV#Rm?K@n0e0yv-7!LDTqKY`Z-WQSrR53(Ju{jg+IZp2-=*g?|jJr5=VwZ|la|RU6 zuieQ#ty~)QB5Ti7NfNvHp629sW-IkDw3+zvcgz(`o!Sdn4%E$ftoT@o!5|L@={+*#?fAC{QwHZr18#5s6 zzu9(_#Sw@flCAeDwzNo&@NLF>e;=Eqn}^U~X!eH$2z{Zt!%QVlY09Wnig4XEDilV2 zg1?dWh#*=l^!Vbb5w26!iZ|Rw<%kwGavj-#J1-m-YXUrU8pKt)V`1gSI2KDTYfSPX zT-!aw^C%5Tls|aUC^G2L>-0jRTH1#MeYN_D%?N1h{*Z-R!($h6GSFy%azs~4 zQ=7IvGS_r_<>d19rf!Pg49D0xidjOvkN7r`!D+fl2)~P+rP;;!RBG`T6?T?K9VNn& z>_m)VQ9gzzjXkSN2=r_Myczd=Af00z7mu){iXnY-GgwUr1}r;pAnRePs`+hhE$@1J zn#(p;bS`K+`}?U0iU3O?{YWF~MOBg`?NZ&Tt5J?!+0WJ6b)bIiF~|oSG~hjxj)zK7 zt~K_7DFA>cxvyZClE@GQ+ozq$CuqvmRe`NL8-NeFR(mgf&5}2z1;=@|hO#IUhcR`* z8;!vh%P)U=$_Vi=0y~ab(Pf6RAsIZbny7y5Q6Xz#YV7+bmpk?ke5O^IrDL%%lB`$* zW!psgfAX0ZTPH-6nad5NcpfGCPIJ`gchL>HPtM--q5xo}56`K^DWCZ?e`m62;a??g zH+<8mQDP8K-&*};S;s;ADQ_ux7H5xRBnheCO^bRuyANIFU90H69(rqBu!#P#J$n60 zAU?5#N~!zTbYQ!2vPyGK++-{bZ)c}^k|7i}AApetF?WK_zGF;UyWSMUx$itkA$WXP zxky#OLgaQAbwGY5fqjT*d+_>a^f_A}46DoGHY3yt87H{h3`OElT__Q5jNTI@UMg;fN(YYGXLf@)J&LaSp3`AY1=O*_Dj-2i ze0m}qezses6XLZE;tnb4XAGjAJVRnz=@&z^f~wZsMjWi_`7?jyoBOiP+0AwodmV$y zt9@IO<`8rGh>8VMuEjD#Bd#cK>wMFsm#l1$a7=Oo#&q)U2!S-guYyzmK3I*1o?Ag~ z3X$HgJV(XW0d8a!7Rf2Dkd+sDW97B)BuxJBKVF+!8f@~~rqLOp5g{ha2AtD}xv0i= z=N1hsI)Sg;>h~D$Uf;YcH8d@`1C->B{PM}OX(BObSSnGW#5E9FNF|Ftesb*3Uwv9p zrbpKalv*LE>k>zKYb={e-d;bzV)jGDC)z1GO_7Dds^YDTgd<&2H^VssM^YxFjyUNf z!+u@{n8CmneuWzm8ZZiWF|5|&_d(4rCaIX=xc~%1)+qVA_sMP?B(b$Z^(uHkoMAVF zex7wL%-!>=8~Z~RZy9=57~3MJ;6Il~^EI_YtFfPVK?fU%AW#H6Ihkmk&3_`De7GF{oHT64G%p>FX@yp*&TQ>6NV5a{_; zK)#Q2()PItveiX8^g&v6z?vwU7A8 z^vAWDMUL_-66`@ypLYe0TA@8`UjP6U#5OXqpO69@X!;7Yl8I=jKu1aIq~VIF(}*g5 zm6)En$z0XFX`i82_|KmcZWGmhYYH7Sc*o;Z0RMZ7LUrE_UqXlG-~jsNxHH&keb8Uqc&dy{p|AE-?f z4xEPU?$$#XgD6-8F$%iYX0e8MSmboPAc6n+uu7SEWsGkL{Zkg#I7P}jO@K7Si;w5J zBM{IF5-7bAEE%DdiNzZ;+~zOf?ZHCXT1wcZ~=F$)R2Rk~QWJf>BE zwj$B8lCq=4DDJ3J>3a}oEx|wHUj4`j+n2t!#Le@%{o$!AG%<6*@R>=;|FbE4`>Ui@ z6(ziq$uK3{LscfeIc4mH?wovi(1VV8FLU71}{(NE>Pmn$k=! zy5tLJSHCJDqrlt(G}^Y+jb8I7p(x!rLSRmS?8lBQp9qC~+jU|{PIkQ@{z2Nk@UT%V z?vkqW>s1l|L@Unnd+N05lkd@y-)2%Vs$8Mc;pDp!;j6COjSaWScM_vY`epSbseOw> z*6C`6Wae=`A^$@Fxb#~(cJVCJo3^qd8GBXPfP)!A@M>VXy=@)1Z1IfrSrsQ|kN+2k7SFqI)oAi*A1gHFyjC);He8>J{4hyUV5QuR4rwi zpukGG^wLaT)$n;7B2WTQ|79HakW&eguszP+X6@;K=nWh{AtM=0l4!IJQQ_Cy5d+O@ z7?8zS4Euw@KVki#vOcyM9|dZsXi-c^)rwuY^)opeU9^uM2_W`Ti;FG*- zzR0;4h_vLRs#tyge7AC>FT^)Hp(U_@PB0um=G@O122j5;+VFEquA3t!6C*n+V-duK z4V3~UrleKe&AMfh!sWsq)4>)$i>)rDLAuGj2F3TITdsO+6r&`~n$nLqXO1B6R|K@q z%f>p4+;3p%G8IXO7FUf;O&L}9OAODwPwEak$p78+Oc5>Xb-A+o|Es1NUFy8%bx<9+1F zYZ`mQZ~s-F<9Vs;+I!TeC1N^o_GKmA#9!}9=+@LEG7iIAdj?z$$zKPNGHkkJC0pyS z1=KEb2o3}hq*r%rgKIT7==s0eX(K9g+PdkQW=(Z2Kml@O*$1{IEkTIVbh!pWYo$w9 zu9J#_*RQ^!N7mx4K{?2Z@attZa5+v~n3ALG8OpZ8j& zUFyrnLON=RGPEWurTK0+li?OK=Vr_{Rwht2Zpe(}c!=DxhUo)J=u}L?$mB=&f!j#^ z9%h=W!I7k7gbAiJSL74S91a^9yIBbuLV2Rm5?TV^TYNwy_2AK>jZ(_x&lnWYDuf~? zsJ7|W@f)3qUms%hs| zYL!e>nIhV!^}y#!$!>u!gL85$G_`p8xZ#Gs2e`F}Op5LOMH?`-Whlf(nVct4OL#1v zvj{JS?0v6wKm$W4B14msSg2MO_Vd82Q_|uhV02$HK6_nvwi)~-KtScSDGM-%xv}v# zsk`IM66)})&R;LO&Tdg}(*~aX$1b1gKS>xAkdB1(7UC~@6_h=0szZ_fYIhhSHG+89 zN}zu**?lKcSA<=P>eqDM7iWG(k%#o8n1&Z!75FKGS?I2}b3SV#6Jw&g&fsiA@OwN= z?`4PTF^n$wb;^TnPITWIR94rtM}ytHFi4}m_!Z;N&tar{iq^~HvsgKaFzrYnATj9$ zFv$kz#(W|vsV?N~vD(kqmsygovB$OOW^;3?_}6x027#+rT5d#wYmVfGsU)1qN2S#2 z8k{gJ+mbNc#R>Q*(%m_K2u#UgG>x%kPw;syyx^hz>8_mF(l#;l|S$#{Jv zIkoOUfuo^+d3ocYWCsZzn3q=dKy@=lH2{`Qoee|EgIYWhCsvf9oA8@P#ES?x_ zn$4Q$ohwFmv*)%57hjIRpuwf@rk2KL-2{B^VaS~ot`RSaY4w%--3jKS{OKGpxYom~ z^2lI=AxbvAMfl&xJ+K%vmH?0?)-z?f;rp{8b&7Kl3m=R(3N6Nx7XLh~IgjpYUj z%^L009ke)8*knMK)JO-4KiFS|*-!i6-2_XBYm|r`8@^GTAE=b!-6x)Yynt56v;f7a zbCjca)$hJ-TYvSS*TfF8*{cKCI4qZ_G~8%*nPV$Y(a5~?3DJtGpuI6jOiYn7bcB^> zSrvj}g41bazJQaO2lb0xn4VED4}baW5>!xGD3AgJpe6Z1MGpUw71@_jY%-BnvKKW+ zbo4=ltds~+!teKXG#95RSwxgY!&f?uJWA#xV4&dJrywJ<&2aY*ig0^SkpUe9?)8K` zY@ETNj;+zdt4iGR))Fild_)o)ppy&mzcYl;PbH#|0UG*zr;I29?dnH*fN|K+%O?kIYz9D0YTd|QjpIYn#ytCil5l5Yq4 z2K{>m`M=GB;1tuCzsH{VkcLhclF|IVH)Nwe|YB zf5RMdvFUREiUdV@jS!I*be&8*#ZpR~_y2_1A!lHPGJwUrWb1HbKOSiZBdDuLyNeBv zTXQe>lj4Y_Tj=TeWLvE{brhOZc5NhgKoR5 zF|EOYq}3|f{ zgfV`!JWc;;tx1K+h>|w*J2Lls6Ra!q)7_>?V@4xs2;75wu)Whm8M?E_oiLutibVA# zfk-%aQqDD209U}lD~9QXU5p#$l;r(Cg#N`w!%DxIXGkSxM8}}RbM!ix9EsNv&TW2u#9(1LSa{9r>1RQ&d}f^AHiw8S z4!p{bZ54eqVa}*lyH^dax#j#kO^M3zOE9BfDP`_T%R7|)Zl^aBA_<83gPq0s*wgLR zwK>l?0|^cjD8(`GH++rdh@dbLWy2aMZzMKsDxnz;^7aUoGvgx55Vf9KDQBK%$G-#P z7Wp5b8W90-TYjX75t#J(Hz`-I)BgV~l-|Xo1sGbQa zk{l>QtxSV1G?)>_(M5#8FeZ*JNN6TNT%=es)KEjP{P^d5I}i5h1H0P zV~eC1-z6Gi2W2x>zn5MVGm7GfH5xIY!Xf12D_F;2cgfAYWz=6A-!+;ln?sJSf{wbS z+Fr5iXeGE_GUPJ3q}o+D&S|tQKBu)W(>Ev$kMe2_GCzllN#=qnMn2=Dw?VYfl=W3F z41kjI)}lfsmEFB8%_YLsr#zkoe;~V^t33CO0r8+JA)5+lHufm*P2E|}5nD*$wE7;= z0IZgj=MippzM+`v$FAA(^~l+k^`7Z8pJx2rF%rVU)Y;O~Wq^|%F8q_+G|^iqYyn1* zcR{YRman97)=JkG_D5IPPDY9UGEx|ywmwChtB+D_VNCLiPyBb`1SJ^A=-+5OF!|(^ z1!+B;HBWwr8re%{f_yRVy9c*M`+0nyFS-}!G!DDH$^u9EyU90fIJA-U6(InBvZNnE ziWWw?`DES=g>`O%V7Siih6 z+=F}zExfUFt`lbFl`L(uO#9pTSV{4Q#`pn4W-w@4vM*3M3_hlSqF94 zeKS(%UzKQ@&#@N6N>LxQnea@>o3J%8wl#F4P-K8`REL2~O#DF+%X03=V~IJ?$tQWZ zF$19%?=;x0jQvZjGfBlYrNWOmO0w*R`@klCiS9hrb=+x)c-~eX+Zs4`f&9aB@}tq_ zC^~FvIq#Fd6C0>_N6Vr6ZK?Tvy8`>an8Ks*AOy~-_7l*aF|_3vzp-v)cpa$Qu1L@z zp~?m=c)5|DwUhuLNWf^@dD)a0OyDx4lZJO$Bfx5;(58ZtH=1@sFNy0?y5(P|h)G4O z9W8!aU2ZlJn`|y_TnmQ_J0YUG5O>hm&;`;dUF{=NLZ#ccfCEIv1n5q6KCY_SneVaI#V0F0hyQkeR}dS; zW7*hT-rmfqA9g#)3_a`M*vhSQ%*5(glBBd67?vU7r9%#y4UxI)OJy{6%3TrUp4@L_&Zd{Eggfq6)+a)$XzUr$j1zVn1v0yU4R9bbl zJd2Yg&OdcC)Q4e79oAomDhHJ+l=H^N#h?|xS;#AWi&bW4qP2e8eV#7sqxMd^x%F*_ zaX<>R7dl(`n5zux;}L28>LURk%v$ta;(B^4urz)i(6ztOQiEyn7OfH*R+X zc|v?JL@$^Bs1US{A|#_>XR}m0cUcnG<{tlkLxD}L&xw6=J?>nV{P_0;k@VCT{B0uD z@F&YwUlgn&N7Tgen+$;4{TMe+co2x=yO ztOoVi>n39EqDYlCX5z&x{;e=lL7()^&PYBA8yTBx^Aa`N>R4lIHAw%^GbI5a6AwW| zT}&E-qZE}>3WNjq&_EkEKe%=op8hpxYtR5dc0~ft2#3cRl|YG>Vm3v&&hB|+`5-2{ zMu@;zEU>ov*nJ*su2!7hmW0Z(CCs(p{5tz{I=T57d6!rT@JCDZqmUJ4FB!Cj1y$B~ z+eDud<}_>UBGmiElmu&ZSo9Kp_thAdTQ4hq;>y~$g@fl^H}L#Mj;}k`jpE0Ia!q`M z11&)u`2eZtz@jsW{2ga-!@%PIBG&f8MFJQVGs5vq)FfArC_(qofF#Uq&r4_xu*LxR<$>p4HY)f zd#Az|#ShpG4n`**5JsulH|_7pt)$`V%!2Jf0|x=6d_ zS!?q`tA48Q`-NN8<}Lj67VFkYsqq@OziJ=2vJ0+$RKo33W%-4L6jG~`qQe|kPLk5Si}PwDA{TC&{%~=G z<0c&Qi>3UQpiOb4DS^6z2fM=I{oKbklKhtj%^@B?01RbLsKOB9hYJZ=z~cHnaw>p$ z3ByVu;u1f_*q|P1X%D2R(#Sn6{&x?7CZ}}tQ{3k)CKj+6!_0;HkreG5lAxJ_IF1E~ z9%2!OjixJ9mOExr$PdNJJ~) z2o=H?=0Jw}F ztvXB~p$edEtrL!OG10jc5`M0!Bq%&h?e6!bi*y42sCcTp_jtuKf43P77 zV$&1aS;*M_IhN+v4QH}soRh|RV;u@hTKhWfZX&Wfd{+}k|Ik(K3%WVsS|8Cz&+;?Y zgNSSkm*M#HOQt^NG_nkG7;UYPe+b?9_d}4(aMO#ZnTBN~f#Pyw9H_YtL2|hgnj?hA z7|(^a?^PMEAWw9DfqV=AE%m)rJUr90i8*i3sdzLNTDh}0u9#yVVH2f@#@tbT*Vck& zJ6zpwv?&DMh7H*>+8;suoL6T(X7{Sc7w3;^nx!$yn1ezYO(^nL7mLr3FcfPt(wL25 zAhS+b38RHZhoWbg7oP0`>y$Bu`lsZVPK++wLMd2#W!>y-^u(4AY?J;vZqP z$Bc7q2i*Rqx6=i3XZJIg^{lKVKJ`7?fGf#3v2ZAelI-VApi<2?YXD00Vh5jbS%^xr6;B+rY!tBWQ*-#)t8oxv!5tK z)s;62SQNXK33XgY@sVHoXvAL|XS2-Bcz}C^gi5Xl)-x^n!|Fc^HYSmb*NU!ly}{5( zf(RUs^uSg2idBHN;Kk7PV;Ue)UJjzL6Alt`JcjW+#aY`As*g(ArreGPb9}Eu@7{j$ zi8_k{sz^mExa4qWfeUkDCx4B82u6vh$(bT^U-^rM;(&8&?vY%x9Fj;cWz{k(5gbNJbNI za|&829HP6b(gwqnQGBbgUU{3d5N5VfMw4uruc(51WhpzYPcA8EE>8g+Q}tOYvVHqK zs{yXGL(i&rzKlTnjb)OfpWe;m0Rf~0Y}XnDWp$o$b@shv(?tC1zp*fCIbtq4_CthmJI@t2v@9*P*ug zA$J37vl0L;%dZx(Tt=#Bj^jhDIWy87D6E_1LzEqOiKXQp=wdCa7}Qc$ylk#}}l ztTZv^e>lIIgY|VJBo`BP73ya=oZ4>@aarA#hNxq$ql%9}v*IF0ZbiD3ktJrC5vTZJ zUb?B1Do}*qYsz!42U7Qf-L{k5gyzWHsb+11ZoGA66w=leASzKc1oi|V2A-7{Fz^+e z1pugTa@0*3)I=kQ_~srk!AV?NByN_HbJ_mu=E08ei^f584~Z=IBOf3~ybm;e2NxQ7 zO*`TX$@`EbfsNoBp3>J>{C9?q!XYU6CP0q$`#Pa`K#BwTsNhLKNst&Tjh3A}DJ3=cbCCpOv$oi7boI@3R z+q!@tTC?Lvx2unR`grNuF2xlCOVX$|q=`i|a>1UkqK!Kf!Rsm?|H)bjt)*No;JeE9 zBfhw@BAg1g4?7BjV|s{P!Bv<9qY*<{S~tnEc_`KupPiP`i~NoI_>3MsM|o@cdX$r*|Gc=<6c8h7~5UQO+gh+^$sFYlq;=a#3W<;T!;vOm3lt zqy!cdyrQd4ixp&Ze`Y){kNKE_FeND~o`?Y5oUV7`?lc27$uAabz^)u(K=XqT-{vmV-2m%UDbJO90e3vSg`6=}yW^QH0(q-!{hz>#bkmLV2 zx(0_j-!^=5C)>7d+t#ve_Y2FmZQHf5YT5SEmQHSA8Q;Z_*V`;W<&XO-7k3$}0c2PkG4J6ehc z#QwdVPYJtT`Dfk$2r@u<;ba=V2;t4>O3t`tR9tIX4Y{WW)}J;)^_=YzK2C-m3fVzC zRhR-MwDEVzC$zc^2J)DagYlW~hMvW85{T5LvZH5Y|4}kj>U$6PGt$1Foi5(Ef~W7P zFX0%?FU~LiZA5$)<<30cn3!vpDGI{L4;vLo<7L>JHCRUnxDM-_P2NCzENO!Hm$gM*mLm2aKOOh0uoltM|U zj79H(Y*b#&cwhj(X= zow$`Pd=#;szkOcCq4qOj~t=fznc6FY+gV)HZ4%&#Zt>s=(bZ2L3{u7*!)GR!#-D#zB!V)AMZHN^C69P~DnH$Mv&E)o%sB{;~&HK$ufq} zXcJSPAM3qx0RlA$6H*p47&(DbK@jBUL|J-U%jn$yU9x!ZRSKusk&S?#h}yvgRH?a5 z#~5={E{CBX)bLSl2l;Jj_Lw^_P175#eTn2KQ}G31q~y^U+T>F>TG}@DAn%LIQi$eT zW=<1LGZte3keGvvi{$~_x}7qC+=(-r5^$X?W3rNVtOpR5TzX=Jep6`(VjtZ~QaG`DLOFYO=P*FkF8a2Y zCl8p*cC?mG)yn?=cPJk62CO7Gm9Vs>eI5t1K2u$H0yf1CDe|OrM5!_E&X)YoK0fSw zK`VVG(eWG5R7KlAi4TC^=b6eYZMdsU-Aa3>6nUUCW0D`*jMBUR6RmV$n8hjdTsBTu z6@JSIiea+nm=HT5CkR7T^yxe!GN%xbG?5p%7BvXkK~fms+l|xL-Ya-FqCzyJ8unkd zz%(Lr9^=-WA~Ms*3u_(x4k-@17E8Uj6ufVfi3v`dmXuI+ zDcKW16=o-?1``e>*95?#LKZJ+8M|_lxXz2?N@`to7I>_`Vo8aX8^$*fN*t3Z-k4IH7@Eg;!zgJZE945@ zF>arI(ExXSKFE3eF>zArjXO3KwTpS6zwG$)VIqR#>2l()!Gsrf_0vBqC=gU|%Ly%4 zV=tm7V~s>)N1q)Am=eg8X-_+JqF8 zSggy~oT63&$5j0#_?~+H_E;~|%%1xDp;fg`Q_a2a@mPgnL(?YanLA-|O@E=~Dd)6= zgiG|wEkZuL1*JZWd%3P(RpVbjKAcQ0j17qLR{FYkW9b9Nb~%pe>#@P3qDHeOj#5dv zoN-4;Sq;jU-0)uBCJCo%=T{=c#TF7H9mmbe)tao-*Dw)wk`V^tAv$55knuStQlB^o zt%zcAtSL{hHl>v5N~{%at*18SQJ{yhp)Fmsw7(!zUKqy=#~ z10J}wf*YSomBM8J^H zmeZ2+R!mb%M*Qf%Z5iJJGYF1j(?3aZw9ZME*PAcx;IaMlz14;z@=XCuc2Cy^xKS`#%^sqeF;1b=Rw_=N!lN_H>^lP(Mt+ozgzO zb;mLSl^wi$T)_d2snB~dkbPqR7I=q-(q|0#kjgRb?*diziYbcZH1YQt?$E>r4P?dB z9&E!~b+w;Ia18a$SVms7PPAxw8OzNo#ZNIwNDXV--xy+PD`@Jz`alKYOQGd zKC;nY`sm^9qf}BtQg9T!6ZQ>kH#8uv4%i1=?5FCD*Cu<`>aZueCE;0j#UvecC>Py+ z?ZPkx$`6E(oJMmq;HFp338uLH;o=&B(xsZICXnA}V@Aye0C=8^z{&Ii}kgPIO4zuaxXf*k+rj|rtFXZHL z@^RYLQI1RIk6gCRKZNe#hozL2yU#Hm-0gEbz=g)se|`%blTD{&*4QB3Bm4beA6D`1 zR#>_X`UnrJ6_>{RrU@%yMe=*`Dy(r>eS2hAUw+P=Hj z1#O(4BZQot*L~*``5YbN6?;#8CM-|JOiTyr8X=S1YnF+S8crXZSoib?oy1!~f(+GU zymN&Q{{DR?tgk)JZ#?B*?Bl(*6mJLL$o@-gXSy1t)ys^)$T%Se7ONn>HmI=XRo%3? zC)qgfecq-2*Kv8ZTJW~ATUmef;_%LZ)KqH+@lSZX zCxY3D=M#}r{<-N(>Og=}c`EWgCG|A`KlM}g_5_Nb6UN;uBc&#bgQ;2mIN${`$`@BO z*E{I5QGLEahcapk`5!_D@Q^w5Gw9b6=DMS23V3B;A<4NAsCc?10@r5yK7$i4vKztS z0a32R`C1nlkiPvP%l+eRaU(WHd8{&R%Ji%!pI>q}!?9!9&+6;&w(vU9(8N^+u{wi| zu{(#k!kT?3c?J?XZUTWPEUgcg$~EwEp`@J=HJqiE z%P9KnPSV>eO zeRTIPd9*<)LrIgK@jrwvfMLvPbNnX+_tv)fpnu*JxjX^cY&&%g43N?=GJ_TbSV@1e z*3NQhk4{5g+B%|!U{!lZSVv~If!5kg*&D;l??JASc`chi&zjmFr*0 zYis41@Rj~%a<7LJ_HL*phhHyer)BXaQAccudn3^pXzWAr>vk9Zv&|lPB-|W{NF<>; zY3)OLfSqqVVS;bIJZke}+o+buSoz!28Pb$xmC>$GO<`-?H3&@kbOz_*N+Uy@B9~+) zP}af<$at~ulJFPiW>y4B8|IB@eLdroulOQeeAM9GRa=k>@2ARBTXQDTLU|PzyFp0T zx+o4Kt>1VM3?VT(UoUVYonB={TW-U zPOl~=>>Gm^4zK?qbQT;2$pj`&IV_EB!EgJKVLaEQstle(w}000%zXw&-HT2wGSMZ+ ztM7^%q=7cil2cW;iq8F@?`B#4{f|`6zIVWj9j_v4Ln~}lgu?}S$jgR~rF*ceza@}lHv8S#LaUczMZkiz9x9%h6>ZVkEO`IlA6aZO9tCBBo z)&qx*X|0Dk+b0BqFNB+}a%;g0>9=}oYV>5MD}vvyC-=A8uG86Mp8D!dx7#L(Klf#o z$oK?Zdp9aA)ubzkcsMonl>QbY0{Id9kpG)Rx2i@7p|?;s(*~Hr(=(Tl+WoeTM8Wi8 zX{h1LFcYh7SR@zcS`WJEo_>z`4v|o|D_J^Wm_d|sqrUcdx#wT;(}RLh7-3jKxR4YV zwLq6R43WbM5^9tLJAP%2e&3)&_#BhE;^)B#ibe&sl6_^RHh9~b8?P*OZ9I2x zRL0k(NWZ48dT#uZG&8bSsyYKuH^SEIo4#=fD9vABz1cQtt`@*(4lWt0q}f0frKQ19 zucBsUR>4dl6aPQ8eHsk~Ypl8$g&Al>{WAe?OgSDti_4}0sGgl=y?tN8aXhg*D!nb3 zCa2D#+d4Xe1rUQ!9#}?+7;41;j87TN(xu~@H^xfP5q^QEX;5Sr4-`CmC$x^+J^2~! z6QD=a8#P4-&%VJ3ZmK~hjP%T(e?6P&FunXvd7LnCxQ0&zTt+JoE=l2zsyGVYDy&eD zmfg10N>*?=EVBi+#G;^?_Exe>s1E=6Qvf;PUc1o$IJNItRqg2Z`|G4m%_b_t072iE zx`*nS+`*29%Mw_>2xB^?->%GxBCOI-SHMi<`iaLJ2KU~JNq$uNQvjsqW}rJyPd5i$ zZEsx_G>Qq*s`!7+wB>YAi4F_9(7@n>B1FbVBcm#FhvHz1#h$u~i`kMGqlW8})xR9v z*ir%$M9oqSCpYqrPs%mw95(eVk{*~6NYwTKG3dOYlT|IQ5p66SqpL<)bga0i7shbw zGj^8asU!v`;?q`p|3)q`877S+38|5hh$!uXi7CMr6&#Oz-*SO`#m%0C^HPhf_97$v zz(|EO{pJjhhLMDSX9(=ozhRl@k0G$MsP0~;+Bckr-vP&=E2dZ#g3l1p{X~>8n;LU1 z>BQY}rdpXtf-PCm<+dz1#uH}LT$?h=@pn~zbtC2!Qc zky%m&tD*j_96-b6CS+tg9-D%#Dg>e|+|cR2i)5@qFU;99qtnbHTXvBTbkCKF=_0zk zr~kTsrkuZ2-WxjYob2`OBs`NICVY;Uh-)bxA*I0SdC%WWIp|vLd50fifivtcNf01& zUR*DydC$v$u~OpfSK>DHPR86fS@!!()gZyy6CYEI-~NNtncp!8*sZ$KDrsg z`-SFiNg3?i;kR`E4Yt+RAzAeoN@ExGu+>8iaHk!_(MG3{48f>6%R>I(7>qPG@002Wn(jyZtNxUDe{gldV=q|9|1}xO z_B*CGmcF1mvBb%%a8A`#Uf0i9PLxI_-7Q#-KPt*Sc5jvxNmTrnz+hlER6eN9>)zrc z;rpV93%EgpwiS(&&p1AqUTYsq{DNaoDGxIXpYy$kAO$oQD@RB%0<$M&>16eVzwt~c zw6h<}){r6KNmmS}T^k13I-iW>5M$!!yYQ=_@1O>U+8{%A;ksdRaM!-`0Y8+S zLc&8UQipodyqy|=bEXpa&q*&lzt5xkj&a}sg%on9Rf8GUV zy1JPbx9XEgakc;d9YTV_=bgd7COEX7^b^3RFqwKv;IpQxQ8&T0QM!-e@YQWu4|lN@ zxSNpivxEh}lPN6r1m7&lU9<}FDNbguB<-|djSQ@i{)*DbtM|t9|68Gd_#a3`s?x4H z_%v167riZ{(92AL2Ow~j!@ z@}<9IZaBQH!xVg6ikw;aWJHPgd{+*m`t4_^RM+GiDCiRaUw%0m-|t=*J-9Zp6~&1! zhHaLM_9DGunoR&~WRervG$jl#*G&<_0uE92N>HSuh! zaaQJmBE@kisqoFZ@n_TKtLRC82ShM<)xe@D9lc&NB)`Dz5@2`hb`&yZLsj{o52m6V zQJkAs>wrq&(MTOl$u*n8ui0e|vI~N*gm>xg!yNI_0VKEEXnVpu80Y_?E+V--h7X(t!X_ zQ$4U20c{kerFCjra((jZ;1$XasqWT!eEFZb)5o*RTo!)($}y&4s7zOKpF5BP%OM5u zL~}vbHs;XE{IGh9#8fXmP0LyY_ukQn7!333QKjC(Ov(-lYB4QWUMN_NDQeL8V$f(- zQ`$d%h3k>rjzq}<^|o=PC}D<-V#W7|8^f*3k4LU}lH_0WMxoi$hw=(zgXdS?&M0b$ zaipx)_&__!{r1w=wAHs$YqHA()CL5{?S{Ry>5*bUbHCiyp@}fC>nbR;(mee4k0Dy+ z=mjxO0+$xpr$E1lbyh=xj?6)%e`dZx@CdU0d0OdwmTt>VKLH=V|;f~ zk`Xi`jLd}_Q$BI|?)Nwhrd+nt#7q@PvPdWjk=P$_b9%fzg{^XPZ3M*NW*AG%O+}=9?)IBC=Q{H&DObHg!sDOL&SlmY zGYpMS5Q_s8=p*v?V`<1@O13=kgH{@=x?{3S5UxT|r5WxmNY~A;zESo$rnhW)^D$D#Tdfinx{X&Tv8am_0QdW}$-tt&a@fg1WwB}u?kOZh1>ks(@_qbG+Xu0;e&r{>lpnSb#%vu5{*AXzR=VeOKgaq2PXw|dT=Pbq$ zd~Q~F_}8}oPYNIa6qe`$KRCP0EE*p~4P_XcUB_ipUz1{9ZSR>H6FB#-yXry_^zpm? zX}%ad^Mfb3@RJO#dU@y_4>tKF)(MQ`MQ=$c+LyL1m9w;K@BDYE6%*wB?a(AU<0UlL zIz|X}AbNv3Y))h%90W0v`-0`M$eH#~H1wL_dc>Izr$QnV4zQcE90R*=$BmnuZKljt7}eZ&<5My~98N=-q%XOE_> zH5)sJ1a$XJKhhv#j~uwIK`TY-V1hA)jL3Z5-<);AvNoUhet6&qu1%xSLwnJ(*CtL8 z*@vE^yznPD5#d5T{aq{Xro{NtMZ07dr8nW%%B5nZMPc<3TC+IXSsaxXqVBU80c4aS zBAQ6s$~%JGSch*U0@te~{^{3o*Pc~~VDR~jj|``XM+ekBk*dZfk5P(6&I~$7Zkhzd z*IQ$VbR@QYrMM&}kEHQRGr*S5p8UX))+7oxf@~zW)0$W#c$D)yUYUs>5Sotq%n5oE zY0ZpNpJV-ZhAxr9WK?H!VhA3rfc#VJR>pB^18n~+c$PRIBJevjv6+8Vkz+-pduX6w zC7cN7sRE#{>Ws8Zd8;Rejyk7ds~AezMOn$5RPQYd*=;ME#BM0|KCa))x$J&4e0H*L5pMkh1j=u7k z9hGMBsd%u4b09b5$We}U5|cR2TGT&u4cxxips&Sd|~f7+A&yP>*MbP zy@z2rpMy^eL)strtMD$=OrWM|ioJ=NwPv8MrGzydTG-r`SdCP7g}f{im1~&_*c=gJ zW4IhTEcXwgbNFFZE0u0KLQk8j=eB=&=y*nAhgcwVJ=}_!#}f9qV3s%lg7Srtx|yD< zD#2#CkVh$D2=Y;d`}@_84E~?K3U70pwOOC@K~F`XmZJOA)O{4EuYv1V4oCw|eDA+H zd@Q;Lij{@>MBfA5!Q@#d*&`b$4y^$tE{-F;qd8rxS_=jAd01>8eO2D7T z=eGwQVST(&qFz~;k*y^V?k6*|o^4(FSGkX?gDK)UF8R#?vm6~sL5cJeYi*JG%X;yr z%N=?=kQ2&jo%gDZL9x$#t@=cC^;%x5(y!MZxyaXjpy)Ccnu6+CB%;JH2hdAzHy0(> zk`iXTM7OkM{j5>EzV};6&6;-smW%gZTvlFi{`W=K(pmQ~+%sio+j2QN!Nd4Zx%tDS zkD!d}GSX1Z0mR!|s!cxv=@Pin3#y2^x@M)=8cnKhzQ5quV}K(j+^<>;-qI7nJzffP zOdB|uuZ6-*PCXOdVx86;%2fqG*kvfD!R_>9)aWvl8p^bO3PK7UUSf;DqA2T7YFXHH z{Iyfm|KD<#(P2QL{|iYh;cD90#th>_T!fCvl%I2Ij<-h>{4PGx3;-aVyZz6y12TYy zKby28O7-IDVWyNSY=m#foWa8Tox&C)yKIOTNdrpxqmc>M zkXu#iCR;f+5|)U%jjf1y?8ZlGNrGnjskEF>fW<965CG;LONbMuXNl?lyK0fPKv|I8 zR*i@B;*>bxB2enS=i6p5_+aE%U|Cd-?8-m{p(kg8_XdA zRlcgH>(9sYt>=&W1Dw$NWLf(qGw)oRMHJK5ey0Gee2=@B8KtEVOSr$sSijup*S3c) z>2ysW>51~!Iblaq{E`tZZSh@T7c{j(d^$9k%~epnpqrk!amwCqtEI;0MK+sAorH;} zf_0KPr{WpkRyFVM6bs0j9MDx?-H_XsOAPnG*50M5_K=&3X6y98-&CK-4NP@!a#J|j z#QywuhQQ4!y;O?w*Af~!6*@9^4RXQs-8R2c$pF5uh&yb){AfhOfrON)V=3mFfWfqee=q0eu zo@(3bst8m7E&x0=WnKXueY+laNQW*M$#xGyRKd5cI-Tpo^{FiYy$e8_8nt{EvHK z?+r8=>+=VvUr&%z(KJjxdV0o3wVQj`z9ex^b=enm0fSV+=Ic-&OyAb;wT?wUJ{~^~ zUwxMUAp{DBlF*)AJYl%Ej@B2zw=jysR}_~@SG>_lwm}++Vc^sm(1qUA>y&Hf&reRC{V{S+& zqdBc#X>V(PjF26$Xu0_rZfRmOGMed%?NC9uQb}+ABO1++g_(;yK-=QX0;u(kJ(1uC zggm2ZjjTKMuOBo%MiP|p_iNM)LE~DNvQ`(?U0m__`HF+OIZ{(e~pogyR17c8jyap*f+hE@t9t- zteJSz3Os;8Nby1>#dv(#-Rl0aD2+nB!EB#h?dqEP`e8U`aUwg@{V6&HdLL@XTilL4 zh~ZKo`9DI@P()11_~#7P<~GkSR0oE!3oTqA@T6c|cohAB@5+H=Lptx{JwH8qetee$ z2OSJ7g`H`) z*0Sg|u0WE-GowsDcF&R5@@i#i=+m&N&beB-e=zt<#57gwrqP<-m=a;dpR+AiF0G|u zz5ZfBxkIoIAOZkkjmv*TN|{I1_|@~@6gjhRODHJf2mB`+Pk1*VMt+!`4Y?_JftjzWn&h*fWV zF~-j8#6}-LdtABvA$!O+_ZAI2>$rM`>XvUUul2OOrhQa6(|8eWs~nu!rqk-HSk7gX z`%Z!X521@-C=HF}lSzUP7bgBHwj<{_-5U`w>(gR^ZhMlFz|tw6;Mm`jc}8bs3YqH9 zYV^HB8+YQlfflT6utigC=Qk)Q(O;a}oto5o7^MA@V>eB)xuq6;z;iJ*Bir4YnWmnB zsrjwW(?^BkN+KIwpnHAHCxsi)AQrOS%zA+^>Kra~l4o!5E)l!7KY1kxpAZ=1R zB91~ITrmdmtjK{q*!l0Z@kL@eZO>?S5_$;r;HBAT}pz4&DCb`<3w`%GT< z`20mlUsA&RAzL7C1mqa|kbket#qX=r82`vf9>K^fT2)e3)7C|b8(nU{0V!gl8oDNo7jyDHjx=6X-jvV4J6r+xK$n~{(v!(^ zc9J>uKZK6pm)eBD!Als2dNwt~LZgQ9Uu6Xjv+Fi9>#f7@5_)lB_Rxig=?bWr#2qA2 zTfNWSmcCGQRDz3p_2v@aN9QF;2Yr~nhnVzBHDd|DND^iWzbWf6KWcU6yTF5i6xFQoljg2?120(9k2CFR7w@urf^{cl{>3*6tsxeAhda+L+uLd1&B2L{fTG2@G+Q z7{L{ePGJ0VeHs=r4wxl_b}JQNO-W%W!6z51fnY!jFy@9z;I}yY!*(DP4WKHVa1ubI z1urMtRN(Jj%11t1Br$F}R7DkQ76pTSxyqDIP0|ODLS+h;%Z8=Se6K~qh1;9`N*GbIQ3qaQ!*1Qa_R|HQ9NPPOJX zQP#Q@F+s+5ZZ$Qq12<)& znV)yz|G(t`!+c6}-6sSOW-u{6!lz1c?OOuYOb#h#m{mw42@Ka*6Ru-Da1Bi)wmb*U zVPDR{ofjtTNNC`nm6`-71|;-Z=S8m2MKs6eloKt^wh@?IB`+N$%^a(m3_$Hzgh}aa z?9y+a7?Nx$P8vFHsk`dH;(;l0cZ;{650%e>G8breRu;jPUE{30>W(1F)7QV(Kv{8H zGO)hYf;{?QaL}2-V)8cU_se@jxxd{6hf~v%52$ppID11(C{HaFySXK&8nqRYxLPxU z?2j&_UNl)7P419xZ$))2NClrl%1wq42S&q`isF$T={V3=iVP?1XB$A-q6|z#Vgflq7%)A z=PQ16icv!^ao^eedZE+N$bDvh6;VA3sSw(GlVAFU2S;JIy*Br4uSl;})HUg+>Q(R} zT6(J0{}F-@6S)!$lW>SRk(?^2!)Micn`sFpgUUxx=5}t|#jjI{W>~ETe8eN)- z+TuaA8d$XbvxOvBEtS{cd+F~t!_jgZzm5g}K4@N0@YRjTj-OMv&GY3rZ|xSMHni*w za7YUQLT9{LT9;LiUPhk8L!bYL&W4A+9%=Ulr?he`9XMxCT&<*%rXm?qQ`M680MKD4( zVfhH+Ke^m#e3+JvGXE*2w-s$o8Q82J$5sK}g4?B7WrK)@vE3bF46FJt$gn-sz-dl^ zVoYAhRB59<7`D<25*_iHWT5Ns0j^ieCe{6o$`^~*JCnVA86s`QIO&|&`xt~oT`7=7 z!Gw-NPHwFkM=L)*Eo*KbONOk{3(csTd&oS#{WobAC6t&_Tn(+vO86;T@jgElndv8 z<^e*AVF^iig(Fu~lI0~rNwn#d4)}c~{dTchs0K(coGHRXaRrLi!#JQr>uM>G5n4zi zwogKk^nP9l=|HF(#6!ZG?#e_s+EG~PWMjclUWjf; zuCE@IA1PmZfX*Qm1|RSAM~ytNu)3vG_mKl z*8blkc^nLRN4IP{$zW(HTgyOAZ4_Hv#RUS>a;7-PGs7_)XL>bU^G+E+mv1sWWB^8b zuvX!8v6K-t$1c}2DN7Y9a!nqB9@K%8XG~r8au-yV5Pg5limez|e48h>IZ5u*vr+$J z6`LrDmUU*J4OF%_=&w7bcl7M>85!ME)WIFDYws{WH^3%$m(Cy1(I!Y_14>8x+e z6?e`4)GH!`a6XyK@FhuN!;OsG4eNLmY-`_{;5@XJwWc(Q4ZD2vApNxYmhLMoXT`vyH^HlrRq7 z|1z2@g{=OIHFsv0C`TbAW%=> z46FDby)N+ITKS5FzT{s_gxT*F!_M|pEiv9jk6yij@X?ovN4iXODH(`uu!krvZDnEZ@-FfF@AWXV zW27tQqed9h`K^L_c@<8KluxR@b}%gVzNIg#ddS1{62)hfjCL(92De2eLItZ(umk?i zIR+$sM`4#))N&bgP9K)tu&Npnk)A0)jB^SsvU{5!QwWl~ZsGNF`4yJ+S@Z|ZyxgMf zsRiX9Lgz71!a}qBCk)57@-;71!zOV=aXeM!HR@K`$4a9y?%#y-@ynqWE2NXmus?*5 z8R3J;pvw!#k<%dTkTK9pGoFT!!wn7Q=d*|rDi2mX$ zP(wn#uOsc(Z1aVe)9cF=-go%?oDlQBtq}rwM7(*U3GLpno$pgP<@wN8x;cd273&J# zic3?#Fw7vov@lBWVJ)>;MIEUyr901OO$N?gA_6I;0o}DvKN9}hH9kJ*`YJ#r;4}8<73V5;MvsX!$tdNf&Py|N*_DxpN}aY=Fn7I zMNe#n;V71cB&fkdH=*s#IRepKf9{Hkp5P-S!iWM%t)&8gWN!7y1n}wVrcAS-G9$Xj zmuyNkpZydM=jYl!MozY2xZ_Ij*r@0n1tEs7pm$JH#dhK2aglk!{Z7`8Eg3~~KN3w^ z=yM);q7z513u>9OU=2eeW058vZ@Jti9G$`d68P&YNFVc=`f46(p?%Tzm=}1)FmKRO zr#P=y#``UNVNhu=2`vUG539#NvKf+IVIQNHypbGf_E!G3;=c^V{{81%A-~36*L;_; zS_Mclb7QLMaCK2-_`ANlzvJPoRHudN%IDY8zr8`9&!18JQ-1d64d5jDt$=+JaF+9Q zz;oIK-#>(|;GwiMmBHz94^~yrRqT+4Q>(`+7w-&8j*b-zouf=Y|KlC>1M%kK3LxYiDi6O-*^NN;E zq1b6Lru0G?b40&=d=!7EJnTHCHw}N#_IHct@h3d__H090$aMcvr_89k#4(f@^;v!? z`1{!J@Hv5c&0Rf^^;te?o_)@PVw(eVasGApF4IB)ds}_CK5!qi{Y!y#`$eBB=)8y-V1QJ7`{()5sQow**)4D9|qIGf7$mrp+>134>G8(zxOw zX~;lbLY|>2IV_HJStt;6>5b%Vv7HT_nDbX|-jAk zaP2oc3X)f#P1%#$=k~UzM%vftbq(Xskyu&_s3V2WUAsX`e|+e-Wc?YaP^1w3{Jiot zGsJJ0DSa4DU$qsDz01kqcK^al$zef0syWr7nmQpz6=tt*&Iy&&9D9OjI5HVYb)NQA z-(MEyFdnUx;vV>$w`}x_5Kq^zkiyh7JoFbaDR^q6C>(c&h@3Ucwti!y`_IYuLIPY*RZ)x$q-H1`e)V$$iM@-&*7Bu99u$<${4NvEt_ zjr1`)@}u!}AXuZvAwu6@TiOiX+H*wf0Y%*Ij*%+;I^!Q)MZ|LXCR@fMbIOx{ zdy~Ds!YG^XAZ}+zg}3sAd~XRlGI?(Z2*SNvMbw_VTPOZJ2oy4RPmC5Y>&&=rYbZt7 z>toUFK_Brg{Q;@r-RI|y_GCS1Q*koa=+=wk>{ti~Q0pL00+$EXN zVko|a6sNG?6QjdYFv1JhlI%v6vAvw#`}%0nYQ*M-_k1ZqbnmpNmAh}ahW_NGOC^AZ zJ#m`1O7soUm+jIP$I4f-N2(wcsb(jG)Ql-jwR4h!PhJ@-?cvjt*>`9lN7zH=`}&`P zq4KWNUpF*+t69Y>d+jA|{c$yp18DsT$u=@iJwqMx(nVtCM}v;>7WKT08^zKZK5hq3G09)h01Mtn9mAsNqdw+p{>pxl8J*;2c`8zYBlGO4{r}w_QI( zSeY)Ih@&|fyh(0R`O7W@69PpA(#EXp;?)J(%N~-Luy}H|e;5w@Z4V;X*AZCoUo(x2 zE>oEqC+)%RW|rRqtFdb`E`4IB3bYPLXE;~;n9bz{0}|#1RIe# z{3Xu6x0FT8cNcd9pYzi%r}V^!FODeC5Tz1V1(kD;ui*c#w2oS!J7ZP~EN1+wGGnH$ zxIVZ0n+&;wI=V&8D-f4?E>DVkkY1RWr<)bN?Tr)7)6=&G1DDO3&?bY9##x%QSuDj1ksVVxt|tPY%jkYj>tM2 zeK2$x_+dV|q7BY)kvfF-r_O8LKcaAzwT9KVG>YEXI)XP|dU$haIxN$#f0c_Vts~zp z*j#!+3hv9g_VJCC`vFvs%-?C0EpR&S9&5PoGbtF+kVLgwPN+{P5Szmz*BzBVGRYVF zc4IyJ*2-Vn_Eu@gv7@JL%mtXD-L)LwaUYU<>L!B0`H3*J?Xb}^^uH|yj$~Bzp7HG5 zOA4hawn1xDq<2v=g}c5%8pRewiJGO2FW(K$5XN_$=Sdv7$cXU(Ud^+&6?WXrCe0@()Cdi=L8jVNJK} z{uoGpNfk-|claLnUFHt#WaBSK2Tjf2>pa(9QD)``MCX>jHM&_{`zaQoq}*P$AI6-D zyF)=`S-Ss2=qMg?SXe3NoZwK~M(>5n!YIDs3!BaNy2bpmW83=}54g+)6yY=PMUgS= zmX|UsEh5<9^sS)5P994EJwI8RdNG00J3}M34vl-i^a+LRiI#Ej8%@6nLvhG&@Xej@u$CVX`aXH%W}q#s%(5yWP00{mURQa+d#Jr&9DPubnS1+(a7cBEN2D%^PaLzW zT4W&V1lZ?Zse&p6aoS_g)G6uqv35Rgq_JXv|G)s5-cQSIick<&VtU7J3--$QVz6{8; z85wqaE2R8G2!sR$&pv|>&Mvd4>0W088@vE*U_Ek8idi<8I7Q}QMM~8{X#pK8gTF#( zAhpJyhF1J(9^d6tih7(xF%Xk8kD2Yc73>=80`ddV$_wR}wp12|4aL4pFC%aa zrZlPmJw9K|S>Sy&r`u>#XBpe6posOhyI{wNI9W=fI_-ZfePei>UDx(Rjcwa#tj4x& z8;#M}wr!_z8mqBw+r}NvJAJpHMRwTI*W)cd3>)0-Y{wLE4vA1XG_BHHE2XZsnY596GM0UUw+i zA7@XNs&`vwY8g6B?XrJq^h4h=-(!TjM>`KkYkr3%z8$7*{q|8|Rq*l>Hq{%5K3S1% zFjFr|g=1HaRWvQC&{+`|f(ZfT7{3Z7KolvkoS8~cL;Qz$M}X$()cMOZvhal~@w7ER z>DbHQ$U;?+#;ir>k54!M)Z6-2`D?}(7kbj4H}mq@q2ImQ<%{^#G{08~XnAiL;5&@k z0DJ@gb0oP42u9VD=ZQdfwS}wv!#rd-uJ_4)l3|-@Q(z(Y6zdGm0vB0;6-8QfiUKKw z0!xu8C8>?CC1c~fhKCpw5Cl6j6Pm3FlhJl0KhzkE>6tr4IQBhj)CGgVLP94eD7Y+A ztvtpQb+Te|><4#!5vOt-Bc{{AM4MbkZfN+u>f;-uYhg{2vkTp%x+|TfhLaIXQ71Zzg8u8>=rb)WNpiYu537hD}meD zOO(2cgd{J}!T2^vSX4L^Ghtgl&9tlYKMlB>aDlOVwf9~E>H@^TqsId0mO?FJUMc}! zFqfkJ;fsG~=n4Qq&o`qq%6e#T+kQoHh9p=9j3Su<+p2YS z*~Ihl!dGLTHA-0=1Nzx5g7cw7`tlY%8$ zNamDqhd4*@^}H3-&V1m3z`ntIR%Tt>7MuTxOZ{~?{npE`GLS$e+u!x_S75Z71CelG zo0-uO-jBuxMN~#;_0zfH|0b$tQ>FcEIK`SU6-KZ~lO{ucRF2xuNHh{#s6CY)0(+M$ zu5HM2mG+hXKSJp8(@LWtQt)JEI^TdpOkq6xF-h%QTv~a>U@R98_uum8_gc}}A|Y@U zjeR~AW-~06uQf(17V=mfqak4dWccZ`;JOe#%n#)P+<_8P1wn)5eHtzJdw6)}@Z9s? zMsU`Bx1I`+>0Q=`fHh3`62#VAb7XBn9c;tKlb1{Nf16v~!D@<%_zSI)B-$84QAiIG zX9^@Z+F>0@2%jq41)}XSRfTHd>7R-S_xxN_Jn->=RC&~AdIBk-Kt_o&i*qUsI81AYDosfa zM(#NZL%}WADr2@B8^iIKN$E1kb#-#5vdzk7V!vNkp}%UnQ1*x5v7zoqG$_5-ye;1755+-8O{ws0rnj4ASbyJgKsp6;!X)Fr8MUAoieTX*yv!F`J!n)I%c4JsrqV}5?67nJTtvStWndz39w&vR#ewXXT; z0_?-Xl|E17e^QAhfIX!Q87qEC|8= zY_fLZ?3z2|cdwsFARJEs{UpoP)WTBB1AWua_$jb4_<1267HzAQ5jhd?yqdeMs=wrb ziMU*;(;wG4ycbmG*D&gYH#yRnlyKE(m!#x9|3e5|rH^iMjvmiUi;5@s-+HJJp6`I-qTM6Abn!9LdF3~4O*-&_>+Icx1mx>@ z{m3m}N!M=f)8L3jYeZ58ZFZ3o)|5;8&5!(yc-+ymwxX$2{?}t-)ObM8z~%`_QfDw( zH7$&4#v#vg34z!g<{B@5hpLlE99v@Xd0wtxYur%`eOBgId8usg+5urS-i)tz3j;+- zKmr|XCCR-F)vp?fpas*a5ne)m_J*5sZ&`lF{LtYzRg$6dpnF#Xi|?VCdHG_OY!q&$ z`jMuugA7w7tW3^>M&@v>(h)#vAQ1Q)GPllz6|&G%wWwF)nv#T$Xxo%*C!?5AYU7%a z%oli%tQi>7RHoKN`dX;CJN2l4l5`rjm%5s`nutGMX<_f_=g|`RYEC3wd2Y|JT!lTn z(tUc-Yz{)Exvc~`9Co5k;|HlRENRXUf)-DrYECCK%covQo`;U7PT%DtboB|BU*@^0 zANsktkiYzn1n$h%s~d&T;03V0>CJm2nNAx&ytqw-h`ewQU`x-bOnd4pNChm7Ne@t& zL;o+A<0{TnRAnOb4DH!^%*)i6(qOE4huI7yW7RCM(0hz^hLgWKR)y`AOe+x+K(ssUi#5#xk9{D1U}Y&+Vlr(hp94=H(XMclbKDH7-?RL zZ^apUf=6|F{SI*FEDk?EQsx zqn>lk2U=GLLvsrM&~C>g72)lcH1Q|+&-S@WIeaXhC_u>hQrq4dRGR)gsRw@l9x8sp z`)-1k3TV6v1Pan8H5fzZBl9}9<}1Z{*~&$!Yo`pzb74v26+)s31t z*HImY_w5#zvO-C|z4F^zrv6-+%{lh`*eFk5{Q9$#t>-Ch=S6W{7$2*g(+KEL6EJ@< zcRRWnDl-rP3If0UONUF&Zg44`6R@mBt7W!&&t1wRiD;tAUTcSjF#*PkvP9V5?y8sBW zH2-h5eHQ>h$|Rc^3Cf2W^(qEQ!Kd`Ye~8uCzh+cZoj%2Oq`NgMDN_+`gyIFN7oj=B zLMGEO0W?X@a4nbh1led2lwICE3ZF}W;y}mWwwEmg?PID+c@p-JMW-+|X*|~>7MuvZ z-jq6{q;K8*8IT45mb#b1pkO*YZtIRQ>_~)?jZ+t~NcRFj04ya%ONhG$#v-=%_UqYR zkL0kk%eKh({mgbQsLEIiDpnf2EY8&Uyngu_Gt87kNed60zaZbECIn-*pYtINRFPH6 zG}T@9vzJTmrxJhO1-BDrX8)4KBf$|N{ncR|8nham52-$7F@Rs4zV`QgCVBPXuQL z58&65ZqCGu?@!*H3u!6*@vTaGiigI9ZaC zM9#D*uy)PyGAxp%zjm}RNVQ?+l@-L_^nF6bMni4oJmLruKF@>PszRQ*(F%m{6Np@5 zmhVq(hw@FfQ@Y*mLqnk^)HJ+|j8Swg;?6AA>j99NtgY<;O_5DkN`xv9#ZSdB@TfMB z2|AXab`*V*Wi!~5^jmO82h89O8QC;M%O>|!CagK_uj1m0fR_|Fxr7uiGjz|w$UWs@ z72u2Bxn|YY54sku!6h)Tgplmy|1tvvH&SzBTL2P{ z$gZ+9qS+^KOavRG!f`W1@+vx2;Yfcigteq3o~hkuboTsy{hYkLMFxq;6IJhh%DA)o z2S_R2s}FtTlIwtLd|QS3c|hRDR}NSSBs>c;1*~)++UOyn!BV+QMJUTgB&g-q1;Y^> z6I0&4_|Dv1Bcg0$zK)QLnm$nSyaX!6Ze`xbB&_8@B9S*=YrlL$jds#XJP)gyxh-R| z{R($;C^xZ9-KllfXoedO*O*>ZFWqacTvVX}w47g-QNm2M^hZq^`lfWGu%8&k zy-ryl)bU5a`9yO8&4Bnn#F)=*i&d0w?4Hj&Ya%X%k>ArwU5V6ulbx%j%F7qHmSe0h zD}0l#PF*}>&jTImar{L9FmdVLz6D|E?>Gg!`oaF zeAmMscDSAgt2p8QzU*vaEPT>P6 z{m%~_v;~(nRG6a$xeJe1hX0HDuPAk&f22`tmge+Zlsr3J-viv;q~;6A?1bliwGPa_>}OtxUlX&RuQ} zoxsa-mN`*}A=pG)d;8=-U=rrQDK01*E%=6O#ZHZV%>hZLURISEXFCE}O2!Z57*0P}cknEae`Z2;&Dl6P?PrDA42jNw?P9KD?d|!=i z?@z|0bRB7`v|*Hs+2E{~?Ggt`Me{!kzh2VBrUn*Jt~y7_h9n#EKIwa2QGhMdFD{F2 z^?MIbYZB@WpukfmqSq(I+52Ha>K`Hu(CX$qUxNEGk zuL;E_$5`)Cl9YvY43tsC(^n|qBDzJd(boL@?Dis5TH3Mc*)M|W3!#Ix@~tBkHOU{f zhd#wsJaK5!Mdgyp^;c43$Y7EB*V4+WG*UH5-((8bUKy&$!O|&Q0GUlj0G0fCUE}@9 ze#-m_gg>}!?7JePL=mWO;w){`=EhIvR9O=n-Y(Fw!!yigBJA{s%qiZHKTt6&3s0xm zhQe~naB9sSk5ii%+Xe{dB1-*-yYcw_71v&MKuunY^L7Lk22TcCr&d;)Kle-%K|phd zl1ryRH6v00XJT&m&S(RF)T^I)CT*t3tkP5@1%nQ+*C; z9RRv6D*vU#x!DghTW((SMoef2C9(k83nyx$A(sCuNuoOuVy2G<7v`QzsU{V@Qr1)B zP0KFo2>p*o8|KO;jM)<18Lhw}0CWBwtQa*8OT(mn{E#LoNy436t5#yg{P}L&_#i6EAlu$pVL<>=45$k{A|VxyoRLAAI&&v{ihHQJGnF8y;6<&loBUhEKrcvNhx)0C--7GpdvS}-dHfCC4s zA6t*(5h+_ug`Zb;dgsuKF!L38dZfIH2t1Msm@9|Oo5&ye`u%YL)rXetV(uyiC55G6KcW=}E~BQO z?KHgFi6hIXu{1?9g8RPoQb7NLH>|#^Rm##Jd|#*}*2UeW#+xuOBQp10Al}|J{%Oa5 zZ6g6^?#eiv$caoeOZLLE`9j> z(3EZix#Q;<%SX4xXUn$H>{*_HFS=CYzIQsZt6!MNiYykMdCUp^WIHTbnYKsaT$m!x zKSJXHAZV6R`E&%&PNPKo4=G5dG)FC4QegWUNp!rKTAYg>JQpMuNN$sDx$ARX=MGK4ylPE#s(dL!s_!r zLEy;wn2tzu^v7>-R%=CCdsErQgsuOPhNJ{S+*MkdvKfN{FgPdtAYSBAxFDMS&GfeT zXU&PD`7e8mlMBJ`Kvfvls*%EDR16f%SY*2*=k~;<$#Ehc^>NZ?OBPk_?U;kOl;6F7 zH1$d$t57qPCF8J2^-7T9aVT*9>SFzBF}~UuTV{VE0v`Z$K>nMVQGAnXz-y-onR9B8 z!d)_y3avAEQ*|0&oABG+PRPafQQoj5T1|wK8jX5g5@Dt3cgHe5R+df4_i)B^%N?O- zA1bB-eVTsGfJI~+FUz-FT$l=u@fMV+X!kgy-;Uk{_b{EO_ON|P+5RFDFw?eHjJofW z#u~hek%2Pl$Xjeu?J;|lZCUo5nQt9lHsKX+%z5c&1#R;y~c zQy{GXkSG+Bs8N_L4enZwngo^6>K}U3AHV#B&L!kX%DS@_5uFyKp3+v%*p$H-RXdI1;63y>qpHxjy3; zKPS3hybqZb?Y6)@^jelp)m${~0hPC3tPsO$;KEd59ANUEd&h#-43&)mw&(XEK3zxO z@hlx5kv9-(sm;sRzHss0M0oIDi>tYlQIf$Ub2^o4r;^R|AG5#8C^O%8dMLf6qaYjq z6}epic#ZrtPbk`>M)B)9C7EoD*$n$(jcsOBwuRnsq|3%inFsLY#j*AE-g_MwtObdY zTF>MVI)7uGp0G=dcW}pBAF7s~n$E~8K(qDR+htLCftjl^7)j{^_fBRe!c2gOcnYqs zgf_&OexA1Ct*Mx1^8bxXUoW!{%co{yjQT`)L)%lK+0CNP+v`K zka9`WrfHHO4*9Y>JC4Myr&Dx|bH?AETdb$~GD!yR(e0e8tt~5z{V`KQw9;0rmbRJM z*q=2#ed^l0$#=Rhf|5&uLQQH}0bCs!F!I8*JOaYx5Te;~qNy~S7{Ve5$}*^74IJ1* zTf8D$6mJ>J?ABJvHoku_nrJs0aZw4Q?V3y69SZX<`=-IG#s>52C2)dG2M4OnPh~eT zG?vC2xlTch2S_qB`;XOFQfW^LMDBpV(|1#DABeY40`4oTx2SM=tQGcoL zrl?o{qZruw1RFAlu}@og&V5hAbtQ85al_}=+jFyvKtYkb#td>UVel;U_Kz%&DR=SJ zGNqF3vAwpx;$dx27;+4aT%jYo99jF`b1qb&v;K+Be61}4$ z2n2}YYnpO4oQCw!;X>wbY59B$>7)6qeC@`5j9@YuNl{d*+)D0Hh_25J&WgsLke$PC zKNS;K<1N|rNpV$S*z3>;1Q zhtMqmLO^-S8l+7zIgbccwFFtqC8bdDSrd@e-$2Fizn zrb330f*FQF3?xu_mKYn}fV>HD)~_Pl8nibW`5_jft|**y$MD3r5xPXqPcrC%MvFEkr-FDQh|X#&0oFNJ715$Y5(lR zA#$sxAYA1q(Il+97LC$mV&xbjemv^zr=5~*5PBso4^p4M- zKUca>Tbi#p1py{Z%PUwEk3<1c7a_B=)e{2J(;iG&)~~O}hCtxq=7n=+b^halT+G=& zgbo4Vtqilu-|+0z2P?;MhGb*RwdG3+?C*jx%qJg6=}arnYgMWPQG899|HY=L$gB&~ z$aaNS|A;-K(6hOZF{zQ1nL^=lBFFEx>TC!n=2bob#G5AEgf<6>kz$GC9eL4Jnih}( zz?hR6tL& zk$|BU%&_#U{)K1M#+{U2)Bn@Ee?g6hUzwnr6`?ja9Zj-+Eh2M-C1*mLHNMC{KjW{j z*_r<7u+uIV&dN&|zwJz#_p=<;R}rZ;$RvnvjfDgT09n$qgpl~@y6<~oPq6!Jo`Hy9 zJ*lI=n91;r_R{fe7vG!aD~XxRC9E{}O!YkBnlqy45|yzC2d`k8WW$C`nYW!)OSlOv zUB3FnoPE$x%O)qN@j6NJ)MA+BiJGGnYeZE>x$_28ZCF!eSzpm`G)|OiLj@J}H)D<{ z#j3*evbOdAK-Nu!{T!`QHT8uc=q}HPB3AtE>FI|2YrXuT-*YNaGs7#`3mQq-wc>w- zMo@4HzUG|LFuso=<*NtZkz9|9=@`Q}rux2qUotWhpAnA!5P)alA$0HCPW z*ceq4CPKONK^|-+5%Q0vd%6vsL(6(j+E2uOL`kDzLH(*0pOSv&`@#X+hHXMzBqCQF zJ$9G6bCO^f*0)&7xM)hJL&ZeTr6lz!>#tkH2^pz&A*G4{75gjUh{+cRG3UlB&Ua=krZMc1 zS$4|1Lr99TS}K@4PAZxaB;#c;1!yP(InDSYux|ly^4$$TapdX8dVGn=GURI9`puPB z8;E{PJpA#`g7)-e9bx`$4jx!&W>iWPUj7+`D!o?^1_trn)Q}u_Pn`{WNK7a+n_pSO z;HpP$v2ZOS5820O4jZNA7exZD(p*76whI5;w=PP~RFS1*oaC*2wjpOa-JnGn7hOUi z@cX!R#ZQ`95b=SxYm`DTXfagB9^zsf|Lr}ACvS;=)Mr<)%eeY_l`#JMh@fV1Qe7DJ zzcX|I0PkR*w}!&I)S^6dp#*95?G`vBFhFE1LJQCW&l#s2G>3{6>h3JOHSx7{@f)zh zsN^n|ZcUpkG5T3Fv0VqoqUa&BpD+z4#8(9ZW8TQ3b0VHdfJShbrHK$&KylzgU(d zkqY9FKm~!>u(IbtQg>;0Lnrd(O3j+AaN3*!vD~?P?7FVf+;$FMT@L=dSy7*EgIDed zvrKMdaVP{>uvcf+$P}|EXt2B-uZ$hP8DO2L>}*g(A7t6dyt23Qt~H@vHmwZS2$>Xx zPC21wp?5d(qi>>%9qid#6YmcHJmA}EXtK;y-?yEaz4?|GmDT`YtV?*x&$zGZvO(Uj8X}XLM|;Yqa~yu?w`&`g-+h(x^26H_7~m z&^ZhQABRllB_7D*mRBAY!Z2zxo#v!uOxTF7oW?ZLo1h2|rE8Cxjk1;JA=(02cZgdK zBnD4vSr4*`J{XNr(3`(+?pmSI4crNySZuz_JAaT@uZp+Jgq~NMAWX9aC;YkJwE_{J z_`KjE)+H+5Lh=}5wW4+6*eTf(SM|A%uw3WYi5MFZt@4c$Ue2PR(tHw7a#Wnb2heqS zZeT(quXGUiq0`!g9$#30CAL~p#s8%;t5CX>oZue6%+)-+-y1nHGih+NuU!Y95%JgX z(0bmEkZiw@#7s*MEL>ATcbJnfd^!AI2^pKqbL^A zN^<*#N%nTs*uMSXO|rs>6p)~UHYvl7b;Xlh!L-VqEMI2PJzBc1BIQ*lLn}lDH+eSE z5*I`MeSxJATdkSx@#oX8DitoSA}NV({z*6thF+T66YpW%ZPc%U66dJq;x)>XUKh7FV_mfsG z1h6JDG@1IpE5iZ;hV zKlYj&Lsf^aGNaI8_l?;Tl`^w}D2kl^66ve>ciy}eB&q|_HeNS}&#B^VanAWI>zDo@)0BKYP3?A>~|^j!yp1OSA=r9uE}Y}wHinS)zaF4SNrskj@+JHAm@ zd`r*OnCZQyFD9Xys&Jy(ga=i`-9bD`C4}n{#}aCKpDMnb(s^%F3x^Axi_MWFto{A} z5IPHh5Kx+#9i{s)hgv(Q7?vNO?ffnYa#Qe1JE0khWE;N>)Q`h@$!5>!`1$w-7nPC? zqW!37oSU;u4l;%l6{z43O1B{Vtwx^#{i}GBB&;s8JL2b9*THzUO;{OW_tj_Rv^l&_ z`;#i+>*oe0&CS(^hF^cVY>eGp8_s+PZ0{Il#mm`h+48xn%uwH~5b(x~S;ffl)I)+& zj%{|wl9+}wcl2LF7?U}jx>|Yq;b|8!wnv&j;ZC9RM!ve}16dGdG4Gz zEsg1FySY+7ZqUJz#I({xm|4)8$S{rPE(`i}EhSF#BDRrz^k!|WpKbgbPx9fxm`boY zwMPFMquZh7lZYcT)K5w+M#C?G4F+xaV`SpsF9D{$mPt*dACkhka^gl3{Y5@MeQ&YT z{xf`E_y60Eoo6_=B#p2^7E~97!^Dt39EOyqkmp!BQ>}6BLUvUC$;R6Iq&K-wl1VW8 z522HQU>vonIV!Xd^RP@y{!+d1oF-;ax1H#MOH~09c(qCqo&>};IiHW0PR0Fz?+Sfj zO8_ymWL8lhHM{Vf=Ru8k`oePyQMQipaT#grg3@;d}t>38MfnPo*FTJ!|RZ=Jig^vbOEfAl0y+wP2p3vRyj zt^zwNRA)R442d~1?X$jTu)UN|;lLbO8HkHzAEqqGToY2CW!|N@23Np~)CbZ#o3v=Q zjI9bfuk%7N2=H$!8%Q)aJ)=- zLV*<;UhMUYZStbV5b74JC&^wuJulndoQeDd4#NFa?9OuuAMG+n)lU|qJF2Spbkp5) zsB_P~P14HfA?ylwoZ*x8b;-Pj8u(n`&uiDGpvy{S@?<(6*Q;8x?OKB$& zDg-BuzVH1aBo7G-RrtMC1}bO#!dbt9ay2gXrwg~Zi{Jcudwi)GhQ=4P?D7$Lr{BGY zjtk2UJPiUESu@mzl$*=(X!+X-1T4FGLXZ&DFs6--O3v!;e4>3701s7Ghe4Qe$;%B- zAtZ-EN+pD?xn@@+q%&$^1#E_8OrJ8BzZ3Y7AufKbu;pTq;V>7XLwHbb$#M8PP}j58 z(b@Y~0RFZ2-QPdozejU;vu9xmk65@xb0QH!!tABT*Id?%vj_nSP_*GMJQ`S9dtaJq znGtXNA`@W7=Nb3@_Rdt0Z+FItx$3>TPVOX#iH=Nwy2(B6`lB&N>WGDk@5z)S>Bn$N zR)(zXoA=|&Z&zZ{={P>ML2nrH9>{rzbE7Z%MwX|Zo!-xV0C@H%H!khZQwMeg$n|{c z{xoZygH+UaQbPCd%-j8UfeN}L^kQlV=C!;ZW{djey@V^PBQSPCoOTE#1fJ0fETiB4 zA#@4`{>V0^9F2Eq61wKWVj&mPJiPI>Ac~dKeW7aHexU8 z3mUGga0*5sg^Z0}&lU2`cq8{M_46DEI{aKSRP;rfL1nBOzIwV_gOXb_CaG1^TmIqP z^1JC%N%AHr!#fYP`NAMUT^5TB7P8EP@s9&;1gb={`sWx$M}CDiKpT|IfD6_)T5^p= zy9x?*_}-_`HVlpUUKT!l>1ggvxN&9ry?yJ$oOUmB29l|waW;{{(ooZ9Vi{kRG5+8+ z&HU)|M(#_&cj8Nl@^BBo^xJUsz6DuXy{NbL4x{6~5%HIc9WH(ndyZ50`^Rp=fxgM=LPFsOb zTTNfItc^MAruH9+Q8DePF_Ip|8q2IK%e60Jym@0B@ok$2}8K(lLKk<)@L0Nmb+$%dmY-VyAUY!R!fs&ehY0wZ=e6c@g%LtJ3X(d;1aa2DQ#mMog%v+iOhi0H_WK_J6` z{X+;u^{M|ZEsKC>q$|GmKZJ&~ze|wF&!y6pfo`n72FsAJkO?p-1Ulc)rlx*f(GUS> zsh*?3189rF@2aHQ!G+05oWnxPMg`Q@gUvB3Ygk~_tSRUJ!n@D9*sq9i_Zg`ybA zJc>$~_tBGtG^Yfb8L;W^rO9gWmO(Ah2=KA*qNRWW1z<_gA`_(h0?`mSPbkKVHBB0t zLLi&`JETk}w`!2D{?@gB={fpuKD?9@AV_3Ell{21nR*go$2qt(7*V|ApNl%wS80&@ za;yW+^zK@T*lKdw=w>A-hhp$J#mUPM{rFjBCK^0z(@ROQkcPr-mtvS!Z<|FdVdBh} zA~*QJ{9$bmV z-XRSt!x}jjIC=yY+m|30sq+hGEyepI^3$&7$!7X^!C8@|T^S3ez6B_Yh$b-bQTYBt z2sBd|A)9PCrqfgZ=2cEnq!)`Q$yH2YdzVE{eQFl#e!%(KTYxtkg;o7@yv*byaOZ_2DpS%Ze-CK=s zpkvOer7ljUH2(R$76F4j8-5j!!XA0G$cQpdelA)FU6mFik#*OGWlEad5{$VBj|m9l z_J@8ylkkpeJGum}2Ytzm$-n+n{|YQl*-R8R<&b8Pw!#UUnEUCJTuv%>yf%W6-^1N+ zr}t~;v(``bLpA3=HgO02rAPNgrP-*s(bswm7%i(#FA`9~O%Uv4{yO?2kEg zT*6bsFvyG{Rhqdy3a*%W7B$ML`WSefPI8}4f&(YTz!E_VinKVs zpeq7HdId6Ivx&1e^UoURp5gDn8^@M^clr7|rTA4Dkxy|qEBY056%!ey8zv9m*3Rtk zE8y#%j>bWmLQ5>rH)(Apdh^aY6{XMCXJxs&R)D&3%idPZL8+k{!nH^9YeKr_=l^c3 z2La$6EaM=W!l9OBWfg^~UQEOZzbHj@dla2T&Oq!h17uV*Zg7=0u`OfBslP`3V~t?6 z^v?5^DKx?Ljm`Agx)q3bsXWrFM2byq!Pm{FeBhl?f8mHc0Z&cT4*}+iIOvQ%x?Bms z|EQ@DPTN}FT^tcVDjnN)Hh{!HAn+6WMM>?}Vmi(2PtZD=Poq#!FW@*{W<6RwKne{z zv5=IIh;k8JiAo+2!=fRxL-x0nKJn|eG?#&AOk%h+Sy-=cGPEvh+M)w>2gk~jgMg;r zNM3wg%zw43xNj(jZkM@DFIA%dVEmWRZw&cIy5(+R!fc2=mdr$D@objd7AD#$OEbx5 zLA7b1B+#JYi;m#f%Z03dGNV6Ss?`5AGgeP-{#z0vpJx*uhdDgxZF`8ZneEL(vP0~p z=}`t7rEf2)vq$wb0~V`vK4>CLgZgHm8;+p*A-?m8>IVm4jcLBu33xQ)j(1>LrU@SIS|LH>x6 zK1Ycm-*)%{kIi|ln}?VZp3+3Dw6T45U|6>N)%oY8Hl-tVR_ zR9WhQw`p&UT#EnYO}7)WK{bKTQQ?$!fiEfJul*^YDngh}Mn;SEtSGqi;1!EX?R-;) ztw)i1gF*31`i4~yE6-I3QFIM@4Zuj!h>468nc*v04HyjvuU})zL?A-zCf0Z-}6#PR7 zM8=XPtw;biy#>xH* zit0{u(_mC|>4|(50nWa0e}~%l2SWeHFFPCBfKnLB>VB~I7_m%_7BMYqG9et8s=?%p z%HGxPNaT7tq{{Ms>+f*y7y9H)O>u3O0?c6(4b^D!tV1YB8HM4MGk#mO9%pcRa%|0e zDGQS2u2833mAaQ(CPqkRI1o)CQkF9F6#`A4WtNHQ!5#;V=Pu?YG}HtfIZJV8C-#1C zy=vDuo_V}Q%fF9$KigmHAhul6x_7fBfkhR}a`KI4V~A$-vGQ}=%x5nfV>Q^wsVQHm zmof>-NME_NmPi9cK;5madNHc9fEt7ijl3$;(h&mc1^OVQAr0YHYAol=9Z_{o3Rf!O z_gEB$7L%-eBrq)o0*pm##JY3C!XB|63$qWe9no+80wbmIPsf%0Glo zp&-zyCwQn>H7se`Z9rkHQGBsXR20_A7HCJCLz#3;_R;3}1irU8h1#hZv&JXTfrShp zg%qWL31t5qOkhr<3?92_WEJ==1^OKoBVwIkaJ%9kTBA*SwdS}d=0IH~50Q$*?V3j>5!F5Rb_>M&BeKNm@qCHM*U&fC>gT5Xv(gS2)P;qxu4$g5JK z*+UmdiOI;-qPy39pLWg`+SlUj&}HY*waO|9gv>?gMKNcEAX6#Ouex-VVT6I5R()Pm z0GmUnY zRVmDTX{noR1A2Y4IeM8+IS$AYF%hMqzJHF1iEagE1F1%xUVY06bvnGL%J(?(%>e6= z&y7x5h%CW_d{b=i!-FyoS1R~moc%*%F*`fmvS)rN3CXT)?guqWgKpnJ_9kOf#Q)Av z0EDrIta1dttMzzg2PKqYG$|MBF^24%UQ#KD&`4(>#Uj_oZe(;fJ3mA|&r-?z(@VTC zYUI6}YC~p^-t~8`5wXaZ1-UuUv2XK9Bf{UH(&VRt(z6HpoSs7PJ{y4mqPl$Aerfon zmgUEBP|k4t%H#<++-lie15c5jk<2$1Z+AaXsW2f*~Xa~3!irS+_aJ;MR`oR z?&O}yyIytDX<)WqaC}Igdz4oW4;(dR?XUE>-~1><*XWX@F}EB*vuhW})c>AP_C}Qz zXue%1HpKba(IXEkZp+|^Mr!6F3toi-(UQOQ3VIC#eEBj9G;~Xy%MC!80yEdA!6;<;${4J7X0GuF& z=gIwtaK&AHn3EK5!)4n%yGTG_|BdW8@?bM-ozU}W2r5VfyHE;{l++RezFTml+X)>H z_|I99-i$Ct_6Vu_T_%8zxIyY9YZNcNIyJqp+G4$8feK?u*-`l1Npp;cl4#Lk#dd^) zJgbb7QlZ)!aQvCF@(- zgc*J#41ctE(F#5%`zROp@>p0k3`qx(D18&{(&nkeg}y;64%cwZK|{XGDvq)SXr_<= zc?knyW+an&Oz&=Y-fqb}WDt!J&2Um8t*nJ@9y18bn%~jKMz)9rSJ>AGyT0K&@QJS{2EtTf5*QzNqvRSNky^s7gW`3e zvakUz#Yw&=>b)P#ER>L3=9CADH9X!as*D(<~}8@FcG z^te1-6kSq+O|Y9y(B;+Oh`74ejwzR{7GpG(GVZ$;Xv3fK1&d)3Vs^+B z5}C;N4n|+KNibe?TXY)3eO29nk~KywuU@T()M*tTqZY=xNrZ^7RkJ&Eie?-Kpt={~ z8(`y7T)23}W~h)nlm-R@qXh4dZ;+<($kbfK`|90xsqwt#C*sCi03;wXgjB@ekFYj0 zaB=bBtwEs#G6Z^TBd|*fQeUt{X=BdCnI8PeeK=+#-v?!q1*70=*7cO-b__pRQ%>$g zTiC!;^DBoCyM~@>*jB#k=MPs*5=oJ+S38tvd0m^Abt)zu?2xj=5IBvKgf4S9U z*7~S;nxP+jlV!9>Zo0I&i7F*N+O#~$ViMH&xPO57|Gl85F=4o2D2ur(+jg`C{lCXh zFrm%_&nddA^(ZVh|A8Ld#}wU3ify85^3i5WB%MTPXl=ra9Tn{(?l{bfJpfi}wbV)~ zqncXlHBtINv?v{Api(~EXoOv54l(vyDi~0Bq^a$(M`BVRDgrWsSX=u{T}N*c<`TiQ zf(>4#s4#pwY1(WKb!IsqSa%T5N>FjC<%-^sU^(GsO$l$gQe zYRU5j?ufSjkEOFq`tfMqI*e~=| z)3MN_HvbC*_#)>n#1<`LN_Ym;Uf($_BOQr@$~3t09L}fVY+_6Ny>1Tmyo2YHv-mU~ z?&w}WF|KAQA~3l>#2Q6wCDK5y(;wdOJ$x79ea*)&8b^e5fojYvts0?VrIh!dLSS~8 zmDL(j9XC5aq(LNHC-5-ODqb<+KracI?x)Rnua?I4TEW8%0Gh1yiW;7bgd!}( zp1M01i~IDRbW34J+%4`(kK-ZX$rUVXDJrbEP#7T^2pHE$f@^}0 zQxyynYZ|pn+%qI3`55`w&1u%b8@^T3O1Dv#BH2Fqrn$sd!){4yEhGhA4NY!V#~yXF zY>UOMPw;9pQfv_UVNFINycTo4n|c*c0>`HO4gGe+cRxh9SUw>=5NsJR9!<-9jBC2F zj_}QH{Q{X7DwjbzCk-j4@uSxadPz-gxK5=G3Ef|fpPs=!U}q!FSuVw_pTD%sOzB2A zyI^&$%x{g&v*pj>{4=B8$-Xz7dAWu3T2!zOPKiZjWzQYuQ$TG=_{YPYnP@(~cd?@d zq5tTJ+M2rdam!65AYcze)x}Jc9L9>QlsqQaRxtqWoNK}VDi@%a{a!ma2Y>NPUY@^F z(5o!jj~_paemZ7!!t@6c`g1oQG!DjJ>}Zd2jyxb>!A}b9>?93e3RD-heN%ESoL0 zNgdG#2;@?nQ37%5=I&>0XCD_2Dh`*r^~B2etF`9m9j80t=*GY8{lu_`^-n=>cOT8( zuUBW2pv~afUW>x2k@JJUSEOJ0?-t%{DxgC40;M6PNty7%TIDaf(|Gzs4X8~aul8JV zb5+dqO=o^swzG5QnF=DAc}3kx7bowtl*@_k>NENG%-W9*fV@ybqO3}&Snwkg)~tDvj1m$(Mmn4WM7Nn}#bO?|l>JJA zo~HE-lUBb;(4=TmVJtj?m_fnQS2Q#e>#-kJC#mbc>kh{sA8IvYrUiJO|Irk{t?fS5 z-{1k>yKZ?pJ1ekQiG;ZjIKYL#^i1|5L*6{t?4L3DxL6ee{70J#vxX98`?g%NPW_< zXs{{qp_$0f1*#Uz`@epQAJ4_kaiKV9CWzr!nk7@^NBX$PA zX9o@RvPV~&3{QV(XaH_3|AI`?)mK$(gI39Uvqaf+uM*i#Yyi~CTfofD=Q{bDWSM1t z#jz6f=3`m2k!1F_19~+Xet<`aNbs6bXXrTb>YtM3Vd6U~<-!q8On5xx6c)sB;LHe` zwTXk-DS6|jE?R(QM0h&8j6n)#l7ri+JVeBCK?JpYsE)rS_v4Mvlq6&4RuW2R7%d2%FzFFIQ<^c@HN^S>GbuPMl@ zjVlAeQJ)poEzPnjoT9yU9*_Sjh-8&v&AW4Gp7>o3i<0VD6IfzZ%bgDj%` zgr!Cz8E^r;pRo7<(7TqO?9b3!KkU|qErdal+TWAH#dTvn$qJw}zTJMnwFPEuM`yF| z@ZWU03rwx2T8ScigdHh~q-V|~X(#jRRqSlfIB_qO$W~W-D_2*47bJOgz++?I9aSR? zgd--rMoc?B5*K#73XE6SIc_MSD-4t(t#v4H(xL-U5xlhk2T>6d-jkGdh}iZRW<_Tj z6ew(*HyV?2wdMRDXR5;bhj`l(=i8MPlqXClr@jsGD4qE8ic1qiK@EaTk^d*M59JisZB4O+R;RL>ZILYSa|@->T)d^hzu?L2JQT>NMs4ywW1vynR4u(F+<9_ zEe^iaXq*_gq?f zHK#lTlF51BBuzIYtD^uY6B6X6H4#nm{c|*guAD*_>G|d$N;9z+5cZ2#dQ!`Sra#SxK+z@e$JEFoOgbseDqXwLm+$L}hA z-*=wwcd610_%TT|BZQlPj>Y>G?z7docnq-=vp+h*v!qz`Da6G^i^xPzP4NPU&D61# z)Xj)g8Y=Jo+-9t11-5N_PGE=n`-2&AqPVWv&>bk0S*|q!t{hXzkF($-@4pXG}P_9SXYI|q(>ipZBd9CXA z-ZXv93p@)h;EGah@aI>x*>os+Hp%ua-6$ppKqXR&**MCNQd*0tt`?G|A@HJI_Q*$r zLr9%QNkDsyQqRhbUxOD*G@T4u5_{jjGi=dMbisKYKdkeAJ7=9_71Swcw1w?0<7g2r zQs+o2;iy>R4tFw>A%G=?N@&S9B7&6MDyu$fpnA^SyOJ-)dt~cGqI_13tX9w9m&W^B zO~TFznm<&MXhMH3{lvV)ncbazL+{BegG9~+QwBc|O&O3N z>L?^Lip~K{Q1MZ4F}Jm(nHF9aS859%QrY*=!yvQ9k85I9IvO*ePk`;V*Cx?SI`)3T z>iRHD+FqAio(hM*?ke)}QOFkPVw-Q6{H#LW)E-YDMt*Zz5)Ma>kk6oTN*cthFdXx^?~|k52xJC}yj9p5Lj7 z6SS5ivR_{#g9s-YV<_Dcg`)S>z|SHA?83GC*y0W0-9Y-GI=qen`6{Un+*uS4=W+dZ z#WOJeM=_k8zUsj1y=P~3mXo+#D%_L*H0`=J%sR zB;7AEYkDZm04`#t*QkFd6W$qCzDtRS-HLJHJ zCbN^ZzIE?u|Hqb{z0tmbo@N> zLFiDl+U{BI(z1u%h0tU8__pfpJ|qApX)4E67{Nk25GT(6wdh~Bx?O5!RzUc|o1XpW zXYo_Mexe11(e*UD!X%Jh&JAi}+aNM|D+^PL*9g8^3n2HLQ=8(?_>^LdRf7|plYHyO)?CyVVH%Wd z6ehy%#}_(Q5wNNX*dI5ZeGh^qJ8*pQdcv^f!-cj;J%y-vK1??64VoXMSfli{EjPw$MMr^P-FSCEk+n4H7DJYJtoN%_6rt8>IPBd6r+f% zW$>ol_nr#9!sb`=<-yI&I%<1Rehyho0YV;dOjw3&KZ)LhEXveddecK!2X*)3BjBN^ zG%T+_m8CGRejuzLmyxF*-MixY*VAqAP6ebiCZ)7dN=7WT0eY5Ba4`-J|MZRcH&BMi zg%0%KL_$#vclNOQT46G!E3rxxTzZVAgc<2h@ZjZN0#nQtg_n+%nI6B7%ePPyIg#>^ zdMPzrqoZq-BR}kS`>$SrXQ#JS5oRzBT`evgQYOv^I@^#@l82g@%N1jw0Fo%Ertnly zYgPbwnr(TgG}fTtLbj}4<6CRdj8T4PXPt0&@AucC=dGe|t;7k5l#yAEKS$3`s~mf4=K zzCEa#e^OsYA^*}f*&*0n-$PF_mh|@X&HD;?O^Lh?fP4_~%(TCTeuQ0F2M>NWH_dx{;U zqGEBDRp=x~Nt&t(iLy4h%5kbGAq~5rsg|N)etzP%M^u9=r+L<;TU(?2qB8Jb4f#XP z$o*EP!gyDvP7k3R(2u$zW27vqY;U63&l<@0o+$^!=QKEm7`JCA3AI5}szp^uF@pTp zWC}?t({s)1$rV^+KfsjYKKQGfE)YT}i%=pR+@=sVj~1%}-0#J1mNqmaEC5o7bda56 zhe?m!$-0j_>?m#0wMUf598aO@!G+SXGp!h_?;t(N- zf9*TUK?R)UB_cD6zK?pmWCR=00HP`P*e;RYB@f|fUJ?co!FIPp#!H9c$Lime65enN zlxxBeLep$m1fahpI$Yn<&5#q1;LHm4fpzl^&NHwnyeSHcPng!mwH0|y26q6G5Ndc6 zj^5o~{g0XI$*kh*-8gGGH8K_sEz5zZz|NG-k(>Gf&zH@Er`pcqkGJlw3NHVC|NaQ) zfG{WHxIwZoQFc6k7zHYHOB20)`oGR#oG|_b(q3{90CLx`p^jwW?FnDeL1k2RbOt_T zZO2y_l^njIwtg`)|EE}b@?tyjk3@B<{tVLUMQ&ZWY1#uf6qv6ZQzET3I{z&+f>(W- zS*5^qIU_AIcy?9_nP^%~-hX$wD)vJl2)?I(YT4(R(c({0gP9HW2(W_!2bd7E-em-l z2SAMWy)(w*!khR)m+trn4@R+&)XF8Z%Hqg)L-Uk|8w<04K=6Jo7KzgqS+?(tpxQJ> z$2{0nYydWNl8=k2?n(?=@!z-2oy_==ME-K8s-E_IlJC_VgBJ^+h>E9@B8g9jgYvAC z2vk3zw9HJ1(>UC-8*og93u0CfVA^|DYml6<7Ko+r=&_;dE%S@JQu%^dD=>QmimUm~Bh*$%X?gj%=8NaRhL-+NKoYP%E%)|8`7k z)QSieO-^2ql#AJ>PJ;{#kKgBh{<*2vH4Fp5a*j!wt!b(X-~FI4^%tkiz0sFC4w34+W*7}9@}iY9Ka1!mhbGLzYKTz>+`2^ zcLj-1X`TehbGCybiCc1*h)#r}0;g6P(H-@g3`O69f_0pnTWuB}8(#qRqffC4@zbIr zXX80GB}xq`l~zGa@;BkHHr{{D>GHv|!NQ1P^OSoCSMD^uJhlpLtdT4f)ul%FJ386D zmA~*Un8g$J)l&J|hYcM?$I?XpbD}2VNIXon4e>ga6FIr>o~%FpuIfy^Jgz?aw%$L2 z`+UrBG*V74v$fZlm_P`NCB9d~5HL8JOk3ZP;#BOG)yzMA!Z=wSiv8K2nEnYCK8FUW zSXv2qzr{u5N_n2%;c_G31tj1l=R9vc3 z;-SVGfU8L+S0vhQt)zgnwpHio`E9f_$+-eNDNbzZ+I4-8v7#N{O@-t7_y${ zmvT79mX?LK4$F={a=9$=VUf*DCSB3mK=?P4mY=H58&h^wlOAdL;I@Veo0y&u%wCCu zT`UdWb)Q`2FLd7}!S)#VgqQ$Ki3VQOv96sCYrUwGs+Prcl%OSLbnWu!niDwWpdAqB zAW-BUWerxVu9t3YRUrdfC8O8DB!bj)TMOGuU9D;?Q8Ea`-$9&$UV?>jADP43X}yBD zqn@p$^v%k-nfgo{+)4N*%Kn|Iy=E_3BJ#ReHan2+E8U!X0-1%pT7JY**3ec)NZ=?ej^Uh}WAqok{h-SbmsGQ-82UPZk3!UJYg zqO~SsQC3McH4}P9wW)?wQ#x1OVuJJ9S1eLy=F7`(g^3;Y`=V_okTGWAIsX*;XQ5yl zX+I{|(xwXk$_OnN1(nK3nfA*okjU&31n&+Lk)CTP`tjEww^a}vT=?j zIx9aAl!N$v>&w1c?3i1{$SQ(pr3P6VwX0X}pT8Yq*J^r!3N=Q(GT%0rOT1^v-1A$B zn-|)r$C5%vPa>1Or<%jLE2RJ>EfWYS82enK!7H1HpSnKt37C@Fz$m_Su)DvhGY=nM z7vyBC_Eg+1X$_UxJ$-)Mn<(l)ZX*58eQ*Pvb1(FT`hJ1H{s5=`RKdRn+{~O5D!}=T z0DgG*W9D8)ia>+}kP7V_Z&hO9HlrI^z9K^^)ePKLHPA7WRp^HkZ>W77ZeG>KId{2D zY*M%5UE}CC7>$2m@k6I=z53l*G5OB&*4Pjcv6C}S7suxlGRy%rwnDl+{wZ_<7lflK z%?+Lpnai}(Q9&DwB|XrHWy$7i;uIm>MzdIddWAF2UnThRr|J_x)#KgqH3(O%V1VY2 zMkF3Z#tiStUIQs?gf%5b4UHJbJbWi>418o;Vx5ujrD!=%3tB?#u-5ipY%I{@ zkd;Kdv0;4V1=1!%ykbwR~$iTLVLu( z-X>QV(jZJ0ppp|kv|IZgV}|tiP2Ja6HEwJGKrQ~0T+qJA^i!FmmX`zTbe-vk7b*CE z>yD{#?Kzw%G;3wKOV3>7?k@#{%#yLr1S(*bt0Kj?h=ji$b8FX0l)pV6=n4<}2 zZ6;HdLL(B6RNGIw#uZ%gc8$qnv`6MlJ&7BbM49;L1W7A_;~|gCeSW*9e(zo*k0Cq> z^VqU8U0wBO>wfW5>Ms_G-HP?R>6Vep;b2!!mQ>m5Y9%9f8Jj)wd(75tnVDnJ&#&Ss z{hu<*zG!P&@rDnLc}JRAfAWIGa!LJJHdw)$eR|S=FnR0J=V*uz^YOk%z2S%1>!(n9 zn(6kNEfv@AByqXt{7Lymz`!w<1t<*g4_sRX5w_8gp&!syDfQYla>oWia{h{_AwuzS zX(c=x=f{FE7IvxI&G^y0!%%Flp@z%K46kL5Q2pp;Tn1IhWc5)NXxi<0Ze z)TS^(%7+~qqU$k@fjfQtT(A1;TX%nU1@?0x`%m+E!rw_JQPbl%Ci*Jm6T`iJ@0{l` zC*~RI(I$}|RAIMX)lw{7^t5Z*`&{*0+8b9P{LT1k)1S1uio#bM)Gchjm9=1(n$4WJ z)Rj+*D*!dglhuD&u*b|#w8%$qEVf?wd1wdA9k5L}hrrdXT@Qt+wrS6uuiv+iE_+1@ z4r#OAje7wu4z2tllU8}S)I(14@JD7l_;U=gbedx!-nf|C<&bhV$1Vyt7(rzHii;b} zB9mNAA_dbWrrdNTW(~H!_q$ybyRV*Co%Cvh*0vJ58hqrdo+m2ftqv`&*u`zTI)cl> z=e4dr;I}q7tB|{13Q;^F$kdtD$qSi#>`GS``)HNKJ_x-^`WpZ>o(a5_N^`-^}>-hWY0wx2;FU->;q^-wsNODiQumJuXhQ?p`KkHUs~KW%pYA-) z*BC@7L_%NI8d|kOss3~Yf>4*1F%@-#VBHh;&m%S->Ea%70DmZOfRp=TeVUX9Z)etW zbdHp@g^2YU_kb>a#nAfv_qk1m@fsx6pNIJB3cvNy!#bi8y|VwPwv3r+@Q^(88Fl~7 zV0gYie6m}Rnm)k%R!T5715WOON;<1TPy8i;&M(RN#cui6G~%ptMRYc%-l>-IN{_(> zKi)$Ima@s1`|@d}h6H)dug)VcGhW*gb7Z96s_~m;$y)DH5vsORyoQO4qEeev7fZx93+0(fo8`?cWw>4Su5l$--Fj^PTWAD);!u_3 z24Y-W(6@V0_B)IQYD`taeg1epP28 zdg3+iVa!5sJRsK?hvsW#8PVZ;9x!=gcKYB;A(ztM5@xi!PfNg#NFD&iy}O@CPniVoX9tZ?ZL8lJK{gN#n|5kqXc>Qz9h)9vhjoHXd@@mZ@PUwJZmY4#(t{s&-!wdoZNyv@EXd(nK=c2{#LP zAT9Y3P3I&hF*dZuCWuA`wmvJ=Il_S-4@sSDa(jH%SYP||fnLK6$9~xq{IA z{gKRhORvC1ZC{iEv?fNiQe=7w{j5`Oo7hTWLfsL)#qQl^Id^Z%k>9?iax-tn zH~_`L>(r1gByB2$*zofjm2aE{Hlc17zM1SXzYLMUKs_vW4rU{$e^EJ+crTqfI|*+2 zya1u1j1jIej~p>|Bt%eDyjfk}mh1FrTuvQ*P}WL>DE=&&soCs?|3$g?Py5o(%Obb8 zmG=_Eu0$pwUnH#K&Cf7e-IeI1^h^2VwszE-jn2c)np*{|V&XiFQ*7)19dZE3VV+@d zYkN!mQ0jpdS`V?0`Lkr2>@SaOGY$~E8;f*BNjcl+aen|B0IIVx5LzMD2sxD7@K2Ng zWnP*@NelcB`BK6z>H_p=c#F#w2E!3nrHLfn6!Q%YH-Q7qv3EDI7C2%goSbP>uA^$n z8{VVFr1Cw)lozU9^px;Tx}M9{`elVvr$U8im0JiTMP2;_#V!)D2I&3@^%Y{eyQw{; zOV5~NP14W~dHbZlB!)a3oO@f;X-d0bjSz zW^4$nhFAMC3syDXuboP*6dzCuHgl&k@&I!!X*e1TaeU$iDe)vaAP((!8K)4=hO{60 zz*uIAYER!#j0ul*hI^_Amq9!;m13=~rXyF{gG$LnIC!V}N2aXieU!WC-TQOD&7$b; z%CVZUpDQoCC8+O&mtScO)uHk*6k2lfV#oxMhZm|d=)d_XM3zQaN!c!vV&)8k889>`e%HTG>**@zz=4DSLQ~aD5iTOR z;X7IUuqkuJX+u9$LxTK$6u_17-FPA0IT^b=ZQrd_RBjBnpo2%cknNsnrSkl}W5Xg} zI1x!4h!^_T_&UPV06SUjQN;+Mg-_yUC@Y<+=+F+JZIla5Ia6#de)FB7po1bU=SY>9cr-~w zO@@zF?B+{+-yO!%JAE0CpZ5BCV}5ibLVc@Xf@~*uclGLJZ{vZuLh@2fxee>JdD56@ zLAmx_);E;!o-&6o2b+Uk8{R)d)tmnU0Dv$I8O9SC&pLJ^D8%K{>3h2{%<|!&9d$dg zX46Mpsf<#s=nxEN+Ki_;4f-6c!T2RsA{wMzx(Z$0_udd7^LrEVrQO`tzZyCKKwc34 zJLOaiMz~J+A@z_3AE-)5E6W3Dia9{oK6h=$+d|b4dB=Bn1f1W(EBl#vbaBcR{mhCL z&1x({{Xs~INM$@OW$DxD)NMh;?K_pehA|<($$@>7>9adX?pAQ~?yg1WxpY~Jf8IRF z0)jU`Vi!MPAK0bP)QY*pup}regyop9%f3OYk;<9>5Ko((2w8J)*_HlEXpVXe*YY*f z;1Or-*uSCk(fU>wo6v|LvuiD zTg3zwO5NPoo?NbgQmJAg)oDlY`7BI5Y<>$VydBu7W+Alt1Gi42wWvXucsGle;S@I~ znUWN3;^<3@wSMGXBj+!_<#ht}41sq}7CsVF!ppx3#n{CqSeNHMT|P0+qr{?|$92vC zQY-+3v$$w!NJy|}mU6?CVS-j83{T6*4`QmI%u+cw;roJbv$2#aVSONe<4kU&*PV1T z_88srfza~!i(8Um?pYoRDwR3Kw$jy`H8sfR%i4vXccUJ)Ee(dF{CeIx{}ckZw(lh* zj)53kdKK+fRFH-d6Z>C_(q!uuvvwv1;2k@@u9J(`Wj1%3Zr(D5*OCa!VXD=K&-imRviKoH~h&=lAUE$aS@4#R+-OS_@~fC;3q2f zA>|{29b3y~dCDPuxi6|{7DckZ(o1)c?y#-MHSrImXNimc`Vym|NOyb5K`O7Q|*z^!58)hieI!wiOo*y zQ8%S%$e51^-%;l#=TvJ@uKBY%55ZD+RL!g+0*MJBO~lcb+$6@zc(9&}qU%&+HswQK z)^zu6(|{avb%Qr})2Y&*>Iat4H!I1L;?WwLn#rj?riHu$Cxo>sTd0YdH?t4Vb2Ol{tjUEn+=db6_X1%Rm(>Pc}v zg$dY@nCu!*zL?|*RtmEAzCx)J&gC6Ml`U7$`u_Gy48^ z<>LInfd`rb`umUz&!_G#;y2cu@*)HAiKVcVO=iIeP*T@6dU|Z`JCe02+JJxHdnykr zxn!;QFJ>phf?Lmy3!$x>vjJGi7l+#2=#%T_XMi=5I7S?F+hICJ32cLz#Vn6<4Llzi zY&w207mnnXO62UI>37!b`B~c0_Vo0s%GNUzdJ74QkvHM!dM)R`Qr2B`yb?7ZLo1c3 ztQ3llR9mG}9 z^p_Pi<~M^n^rugumXjvE-btTSBr8P|RYKNq+Zh%jiVMVi2 zFVY%3eDT57`5S>UUu0Yr;WxwUvm&h&So|QfU3>c941S1NP+4YQ=bug-u8oaotaaYL z=bUDwsj#sI#JZA&wXmi!oT%d#B(;?xjcJ)u&0LW74_8?qXvgF}qich1fVZd}myRXmj$=&)anGWHPVWecOTL#9M{jE)Uz` z)Z49Fq9dfvx5e}J_lmAH3?*v-jGlZ!rVN+xDNXL@TF$n-?NH|y==ic>J|C0=bM$;) z$~|tW_5vwQZ)7U^KPlvB4#Jq@&a?{-c#Z@Z*EI$4d$hqV(!A zV(YUJuh!J5bbXL>oQ1@csO`>=+I!GlB@aofs*{-z=K)sEcHlL3rW(K1%svdTa{$`( z1M$)i5j}k?!0>*^uee?m7D}K0^>ku z+8my_(+GKd067(Jotap;ox-143mufv(3y(J)1JFs3Pr7f2pf}9$&~ELjbR%@4Mbi( z9XT(pW+(t8M05eLL2jntsO2pi`ubs92$Od^qUN>hhF~uFy{Q;IJzdFz;81)$#Y-Qk z_q-l|;nYnms2sY4pB#4TLN*h`-rUbY$x7a{e)!JRIlcYiRy)D;!Ze!9W#aT-4FQ6X zc}6Tp=}wGCq(WE*^kmkqF!rKk1Jtv(m%uj#e;*+L6##Wk!FqSYcxg&^`w(Xf?t*iGaCoH-(8BzFNT}U!O(HRn{s=jX)P!r08ouIJ{99m%O&+bR!)b7F&CC~ z=>rJu#|2Kw^SSqpJWdn-9FNxA&>&zP@A53w~qmq&K^>!|W-F zE!|f3#MUFcJ}Yped28CPN6E@XC3jhOA|X|~h%9&E0>z=+V-@5e9tuYdKPy3c17*n)xNE1Kr@z$T=LF`9m&c!*e$f{EUYPbZ^Zn#znK z+2$q`*|VO{kqGq4QnMY?r_~hG0!rH|?%~6*!z|fh$zt3kuC>S(o@udo;@6EY7p*aU z_l5E|X@tHAg}q?F=hy@|sqg@@?*e;d1jbO$RIRQDLAh~>8{qvo+mt550Vekx zz6Im-#_I9Iubzk&Wr0oRAzdV+m8<)#r~m(mnGu zP2nK5b)sc%lRQ6O_=EKOPVisZL}L@lyrtm=vF+cznj=lxSEKE8l!%@z`y&jV*I4^Q zO-@Pb*&%u z+pD#DlP$jZn9qm`*9TPoIc`rQ7@fThcbmN^O-BCMK(fVKh#uveAICsN#e7KYu4Gxl zW){NN4``FGd?ERmvK}LJ>N33pASjVC_k~=>1{GhIQkZPP^~Equ-^On5IrA&)Cnebg zBF_vhx13aa@OKo08rw1L6sOc9Pg>0JxwkM2RvYIttP-HUarI#lQ2GcQ#dW@ z+dpQmSw=a-m_oliRI9YVKlS*&+_C8{-#?7p`+dw}*0>i>le3We&lB*Aewtv|XNt?K zj#ib`VY-`9eY3l2e!AJf*y&7@d)vyd`1IN)g}NU?ZZy=cc!8V6ZhVoIhPQ8>!tqCS zksf>9{*Vuj@3PfpMMei>1P^XyO#Dgnj@AQ(Izfmhk`BYzZadkuT7QJLXj)1~g_bS? z_-XPrhL!BTtt@fzOd@9#zR>AO60FRSH3!_7XxPg&458;#uH2C<3U|^Mv6-wIQfpL`j&l<{*^? zkw-(}LhDRx3HKjR={>;sz4JS&p^0tjy$0>>oH^R!AbkcV5#{0l$3j><{RhS{%?5_+ z_R8REl3HCpOZBvk(~EGb+L2>AOR-EUjmtS4i50X6|KJLQfLAc8N1jl0Zb&SKZ=Axw zmHf;unW|DA@pwImWhCVOwE-?%-l5kvBN4+>_*sL^zu3?r%FUs({8SeQb5fWrv;h@hIlQ^>Jgst}rc%NIOAnh(>S{Yc?H&VLH+ z10V}H27XasY-!SXs)J8C#M>cQ7$mEJ;M5)0zGPOnz4wHCxs+sxBV$(lC;dfQ-y)GTqQYu`f4@!?||$ms&*5hu(PUY8(=Hsq8VOuD^}Xd zko<<$)TgsLQBzcr(VQxN;Z;P-d~@<*=Tu@>A#5Q51*vqHXh$mP^{tK#$5;<03`sQo z2NF!+5J)$aW^%$F7K?eQlPohRs3PpG97#0%b;-tr{nI1bHX07ow0J)k;wv6AS6!cW zu=af#kjav|0S+%z(JisOBxpJ~B47wgyN5ImUP#38P(npYcdWydmY;dD-2aC1x#!Om z|M+~@qhFOBvoF8$0Sq#6FKipNxzphIuzq%5;h+MUf136vJcAxioKb_;@_Jag!GxrE z!`4DDMw1?dHhN(g8<;LBhL#|gp$^BjCTxZ1*&3177@tKGNlhBJTB&nl6;2oQHSj_I zs7Z|kvW|zR2T;)j6lPuzfVljB+U~)Il=yC9fg>Xf4k~Iqck1gk${6f4yyR zOd*8ifH4fljwwT$ElYvD+%H&o$|#$FP^x^=M0n2=ft2HN#yIwCkvKK~hVtG3DVGyl zmX%{0jwCC>qbOUIx(3Q3Bpk1)i1!I@6m|Eb%HRgC3pS)a-Nc0y3cd&Y`WYSS4J5TVqsN$7&xYb?g*Rjp)UcMFg7FHTdZ2?)g_k zVBp0n&%ic0_@)3n(xwF0(6KgpepL0ZZ@Jqb)^Mk(kEPAIk@3X|WXAD1cN3&dzg318eU%JTPn{js5pM7c$%OU%L$`ei2ZM+GUEb!Z<=meDznax)FdarM7 zZ6_IiUh$^io9d@ii=&UX03?4%sJxKH7%F20g|swa^l^}&g9(Z^k>lTl8Eb)o^hlHc z@%GkFael$qAg+UEfWe&r!QEwWOK^Ah;1UQnxI=&-!QCx*2<}dR;O;KL1GAIQyS24j z_5S$X_aAufQ+29u_w94~bTeUMU~nUn5$GCZ%Mp(_c;vf-?Jj1;p6olNKuDw65K)UH z(yNI;_!BdG74`V(xdAT|!{{D5&mlG#kN{mnqS~Z_Ly~a2=gZrx#Ky%M%8`{gq&>v0 z;PMv83%2Ii3y;~!%b1rocT=QjXq+r$Q^RB_?5m*dM4@R5Q?|CD$MDRKr#rM;f_Trj zt!#N|tCP8oj+*soAO-(J=mcg-!rrTZNMf!}|6oUDp{&e_gGvX0Y_ zVLk)aTxq94a+Uq%-4q`Y}5BLg+w&cL;VGmW~92WWkt;E;^96C0Nr0gmLX9ts~eT? zp6@vQD(?+U8p89W;VeP*u-$mv4DX{q6+;T^CFFs6h&OpjQXzE=seH0MhGxUKZK%jT zT%SzW;Pu4_%88R{7J2WG{EAHN-)MkKJO=u;_HH6Szxwf?oeq3ln|NyI>arke@A7PV zhW~=6pvb=1^lSP3@q3k9p2DR8a-{E7J!R;J5E1ty;&V%jw*~EAD2P#QF|d7HEmHEN zuV|to4UV#8=r7YFglEDA_tT>YLR5OKY$)4`2M#GCFKf?-bvYQ z9TZs?`6UnOl$(5}HTM6HA36*|_$vZdK*ZlRiHKC7GB;FSa>5FYbQ;NG&96(sYD0k; zw;|%w3JsSf>jKj9!GwkthEDbsb3x81^od#c`Ifp!MS_^PDWH8Ue)QCD0sCKx@&d>y zM$4ColS>zmhXHdb$zH?NSfvp;NtsFKO611HpZ~=9-UJa_1d9OVV^3%b6im7F!_f5H z%3bSgWI|C=c-__2+&yNAM;WkjSD3`n!kS^D)TxYly;r@G2zpo^W=o2*(i zmt_&2kZSaG?L)-gO&JF#UIw`z-@OSIRQSdt=OXLV8iU52ch}bIJh23983Ib;WxNZO z8h{zZwFm)8VesPy%Lg@#AYhAGt>S?xvA!4_GB#AX|HQP+&*VIpvSG~&QOEhkX^vFx zo0fF&9rFw2tZ1thhouY0zZlwrvEVX&@;fk5@NlagnYkeVFosSC7>f$dFry33a0Owc z0>nha44C0M1xrMShIf+|xPs8&6tSqc$TlSkK$;v@^(Y+SKxb-%BzUW2Br^Z8R+>;T zQihgkH7nf%f5H(d9*foRNdrlwBFYl;esuL4R@y0BA_nmyKbKL{;Z0Kx0%nlEA4an# z{3my1zl5X_+Nxs2TfR}5HqgiTs~d`xen9RMt`dVJ2?CHdMF)#JV%&WT2dnmo=26G_ z+wSn|Zc=di)H?;hPsT!M#s_SRsdq(XajUh3qBcV!&(rlEy>SNEk4m9G9}P@ufO!EW zOY$wWSXb*}7PINWU!Y)g%VAmxaHw1KR*B1Fyg&6;(+iym^VzR&8I-HZ9NffvcGO=7 zfPptmTjRca9;tX8sef#$9u9Ip5wf0dJruw2K<_u+IouAQFh(;bhF$7p2ph>2Z*OxL zR0_c5x!bZEGz_DCVj-`f6$?wPsBP#JT*9(hswsXauEI=H9Hy%IewphefeNcId<1R+ z2|+qt`#YLEj;m8lu`Rjz|Ed%aaTI#wrARK#js%#{EQ~RgZ{8Hb@{nDQxrbStD-I?# z!OnLGPzERuet0*YT~j!FqYC z!bBGWH=S{L53b%2PQRqcB8zE7`ax{PJq8s|jNA{PaWQm>8oFSSaIBlJY=|5`;~?`2 zQyMbaS#J0B9E$xtxa$oIoUDLwCQLk)Rf(P5@x_K=@SjkjJVyMy!DR1!5mu^A=H1%# z#6znvB=dV(Jo%x#6s1_Q)KTTkV*;@p&UAnLU_%82UjXR=n<0wXXHwLPFF7SK!hCxd z=BBApA=I5#Rp$D{0Chr|tk&S6k&Jq)#IPem^+W`8sZVM|9-1}`I6z#ElOTP3z?M4~ z9SV@0pPP|ts0dx#Mek2@Kokh%dDx8CeGTYZR05hs`i%$W`%2RBE(Z2^OjRjc1H5P% zXXlp-3SY;{7|&gdv^V}CbOeVmBhqJv$h@ilHrd0GlUy+ z#WR5u_c^~e8&ZOB6-j3!I|>Q~IehYhBMcFy6KyavlBhWHecLi5QADW}8$+gw8~@06 z_tnbO#iJ%#z4q!B0;JY0kugWnscZUPF-tz1TX0y^6U(O6%o9-F8A-~yha5M*oQ|x0 zd;B|H^6|%A7p4L|2^wYq>uQ>0bo2dgghQgLlt#mK|I|$u$vj<62KkLB)_dvZ^2X|q z_Wbs|@sMs)@bU;!eSwAC$O43khdIEIn^elIzSaMSv?64>QR2vW)X?&KvRYnH%l6uc zC8+XafV@{5G7_&aJBu<@u)bPd@hEA7dwOnH$v#VH;jYlDQ1?&-1&OsPQHg|s$3NSa z>kGJauaEOPA1P_XSif|cC?*ef>S^(y7Si_=I0?zxUS+a0N`HfH%=cOn#|%qkA!Ylq z!#xoxyrs5t2`H3qs7H9fk^wVXz7Uo&Z+v&!;|l%wzotw$De!lt$$113WSe9k!hEbTwO^ZUIx{zI{E&}>IOj#tYo<$HEyNuS5 zzp5~vP*H9#d=)}p%lm5~tKwVBMDw_gL5jaWx!TOu>^_*Ln0^`gHX$>*zD!Tu^Of$Z zWxna}7pLqddbBhZ@|{2gdk`@8FN9zKVJr9O_Ay_YjikQ=Ss4R1&rnh5#-hHF=WX_9 zxT^2s08JMr4DG0pe|PgVp}7K2BP(Y;&{7i$6nv-PW6(Q_ z#%3nZuN310pCE?I2yyP&7&hub#tt_=ZchQxc)82pL0j{4;Ma9&dFskbWJmg_ z6l6GtAOrC_mt^;IL_dw4dju%qV0>KJnQ#ckvQE+>@)4t2Y+?zRr*007saXq$Qs9V&Tmw)k|j+&^f2~AI?wl}uNLplbS z`C6<82c!-_6uP(713`Dncf3TY~X9T@A!Vhipl*D+gMi>C;mha0x=-IhS97S@yDMTM-}x^g4X_XbdCNy-TAn( zjL^#4?BpLBZ!U7CS1 zZdxFRrb;GSUVYsFn5Mu2$@1GKO&F4tQSw8tvL&FI_y=$^S6vRegVCQyfahf)i8snL zqQy)4^uYZRN9CQr@k+Aj+;Ok>4)mNDrco2zJY0poMqP zUxlU*6FYMIF!hKPB|rxWq9mAUP6tD1Q#6t*?D=mmZJtRaE~L8t^46_+pEoe)rv?*0 z-=7iy%?$^E4DxfmHYDeF@@OuXdak1`{Y?tdU{gW zL3M}W9^^w!4^%n{{j6GA8M@Ul1}dP|+e^AlCy9JiQ`=ZQL>a9azesg*`?w%lQcae= zFGu^>tE;^RFaFa{%V5TKj#G&Ui7uh9tj5pQr~Wx}6;YZ>hW-?0OW%1@Q#cMWu_J9H zSN%*vkbVAw=e6`wqt{N)<&N*YEtOJz@m7mvto9h`x?{|kWdP@F6^z9smJ+Dgp7P@Y z+fE9K_F=Nv!zyvYHV(Qo2e{^t*p;xmMvh+E84Kllu%l& z0*CF8I~gJEZXCVjzK9HjCnrTZYrKoHuK?cPuSWlSayh8cCg#Hvv`5LnZ>8Zn`(DweZv+p;PF6x{)hn!bZ!yS@1ImuCNdORXZ>Y1 z@{8}+od*vI_5{x{?PM)lLdPpRsL2D9!$&_aV~s8=LFZ@vuar(EPUs!QD!M_DPLSt3 z)i*`InK>D!9{LkM3ha%k3qJ?Gvwb}D?Hwdb2s*qm-`$i~Ch0r|KDQAmz1fTy2_~Yy z)I)V=+MWxOo{s~?oqiJE!JM$B+{m8|JX-KZ{)f;$93n_Xvd5a_+5){yfThn^vFZYg zHdZMLMuHc)M!9yq+95a}X=qc?kea?80+Eh*M`IPaUpeVWCk5T+;$h|+%VM7>T$Vj#<`%=HFnnRZszm~<0y?a*CZt~-@|@oUIfIU^T-a&C7LI#}6wf|J#w zibN`NOAXZR9b5_xC?B=rD_`fQkMGQV0-!*OcicloV?wl+idt~esSG>v9?`fl0=M1q zk~ZT2cK0p=+L+7jdw=2G*|^?AvG$jv_&b=gf6n~sDmf|nRr9$MT8t#2K;Mt0>X2G0 zlWDdtz^Nh8mr!g|!&nb`_w^ox)|W&)Y)#5x{g`af(*5md9~TELiwwzv4_HY5S^j9z zJ#qrt_uwQ_Tvt3slSyoqlHqB0#r=JikxKD3@_)q;!nKIB=^)9mv0P*BxR+ZzMdmc(Is!Al<|)KDwyE7AOn@>nGMZ0{s!vC5{x~^BAE@x z?s8+LbNi35u57;dxIse=Rf$L7%)(Gh{#oR4D%fug-TKRyqrRxVm!tw{7*%fn{*bZk z48)}mlnxZrk)Ig73-m^lLAE1I-0!)HC6~`0Y<=r$VLP52iDDLlB^)M;UZ=Za?9gP@ zky1h9PPD^Kc}?j)WIh?mhGlRXfQJ+mRB~GZ(e$5aLb97dyfjWDTPF)v9Tlg&fzk-=S^L zrdaTnGk}{DN_{Wl#c~+3xlq$C`qeLF?rZ|V`{UC75`Ukya5LO-Bi-ERRta}XE`(dc z9|<>pPh-$mMS#Jp$^JZINpX^K_;9@BC}((U;%7K-M(z34?97tyo)R+Ei1;Vk=JaZ9 zjGvlv?lV%On^bLPY{PXD0*QZ6a?!rEi#8=6`M+;DY8~(vB5VSW`OuKc!ddz944p1= zEGmaQpDu~mwf2wKHypp;*>W4F-Y>87&_L|{u)Zf$6(yQZtRyl>iUpP{)f3#gYIS9s zFt3X3aZrpt3jIP=zha@A>aBz51@}7w`@E@w89*(?E4PoBrR@7(z;59$CWmJN6!*14 z30;d9&o7m)ujCV$5r6nb=jr=J*GV&Y`bg0U&0W&M`q!?caEIQ-ki4#w3|Iu9D`Q&m zbItDwH7 z&HBKSzg4DcX$kPEH2B)>%fvk6%Vcuk*y7U`Y1oMPnWv&A%S-X%E*rXXu7xQIhk&L( zLOOdIQH&V>35zbmCrP2S;X}xk4`C7`V^|V)I_)YOfA`guq3UA}ZffMJX@jkR(mBl- zJer8GUK(Of((iK*t!wZ3kBjRQp;TB^pM~R`{vosxgwP@)C2xVht$h$_2QW8Os=7cx zgtZhrvo|GREd}w34@sV-ZaDYQ#>udpAb2EJ%eW&isoCHmQIuq-3YTTVY(_u`@~ zh-D8p=kAvdxBqHGeTFU_yx*3W0p~jlWIs6xL1wrfz%rS2Wmd8>_yDEvzjru<#3b9( zmh$#EgK;(*KM8=@K6{M@cw87jpc|WluPKE63!-{&?I~Qw=j$@onck9|i}D3lq;Nz8gMSDe!y)2v^hny0n42?z7+DdOmF>J? z1fJ7K9NQLMQe0bvjHX^ty^EfLe4j^pT6=|h;Qc4K&{eaaTQcWbqacy7x0?_-H+daN ze}VQu+-m450e^=P-n{(8l9JjSkeIsT+~{_`mJ<&TG+7n8ZqZ1;p;4ue4nRR_!HzC# zgg4)8NKOhr;$-#IEOOvYLT1KxUfI*xTO~%G1$xLx$mG=0)*lPJ75zCYP>~efc`mmZ z9MhMs_F-!=-s}S!aJQ2wZk53ow6O&*0iBbXOo`4DE}FQ!g#LcDMwd)0RsZv@dyv0W zxHyNwZ;m%}I3yL7-|4#Y`Wz5)gds$eM>D09w0KMQCTGKrOiO;i_@4GsVqj~WvGnp( zj-xab!_7El@cfNP?8nQXyuf3c14S8C@>%N#pTH9+H&Wi1M)@a#O$*Xr*|Sq`M32$m zsKP~JaX2WjRE&KGNTR8IEyApUgwXZMhf&W34VrMrcRz2=5Ko{gF=iOwR^!uYx{fvx zz0&ma(peh`pUOwbXH%_rso%Fe{ak<5f4N6_{%>&#Ojti9->=$-f2nr_iUye*1CUNI zVH9grP_~(6Qk-knB9emh#xLQKUglZx}} z_)eYJ1COk`-%SX>e;vQ{IzqPXRoy_U1?pPdw$N9 z+`;1;wEUU8cKJp?H^wB6Qdzv!rt$O!5QaM(JT0)~APH`l8heIMbe<7U!Pig?Q?xJn z#F`GdV`R=pLrUl2yo#gd5;BnsQ++zr7Aow8t%1(VUWL#0?lg z)})5}f)Xyqi8!_KF6z3#qnQ8B@eOiKn+W@QwnCzRm=)5uI*DlTetlEGJSG{^?Vg7xoaS-OQ~dxMM|%R&YI#Sn~q*yiZnLc}*Wlm!`5nJX)^ z;$VfsZn?1htvVQicNZM{JXkdY3{57$MZ!%HeC+g;b)O4nKeH+Ecjspa9N@nnZ9f?r zgESmh=ABs*32csG;5CtIAzfZ4qg#Eclj|vIWlW~(eh9)tsIDbjOg$nrB`-9SU~AR{ zlle&ue%{fxjh0~K3$ulvC4+5bb&j>bM^KaIj06qD*tiIIO0wcJ{;<6n%A3DR{}GI5 zNhCsUEBSh{gUiBqj){`_782(n<4HYC9G*}$g=vMt;Qx?7A)s|buxT2IZ=36G76?82 zdoSMc;($n=h>S8_4JRa(k=9o|6KgJ^$QaIv2HN5w9qFOVUMqwx7d@{^k=k%lGY z08))6zV_D~Iee|h^q2IdYfWTLksu<+%x%V&V_yGMF5b=%#!vGf0Gw@=H|LJ*(3h^9 zgZsd0Q;P9EpI<81OfZ-bO0JWZQu8 zE%Z=W3}t+y=77b}e#)kBX}jkT_Dm_Jd-4C|>Hps^W4NeFFd=;h;SI!Z_F_)2N!4j{ zTxm0^#V1~%lWS0?l&Is06%`W?*CtsaUdR5LsME6%(f*yX3hh}^EM$wm4>&z{Lhvqe z!Hp^c2-5UBRC9IlYmYfJ%4>v#z{}I;b;q-Kqu?5cACrgFM?}|yV?82#2XM#(5Ra=}*}TM1rN=!c$V;NB$mU2Gr$n^V_$MyW1%Y9@+n1^&7XQ{ zdmRou8y#Gq&vGUwc7XmJqE8 zsEn)EXMC+0)^8Aus(>lVCBE!Jczftsc`*?#` znUXC>z1a1NSKvf{@Tjvi_S|{d@?mQ3%C|NoPp07m> zX75k#&{lObI_Dr-Y5!+T`p^s%VQoXxyOV%JLD(ib`_%x4f&_~u|TBdb!w z)cPK|HLu}<(Ci&)gj?QtZ1?em?(f(l2p9qiTR8EalAiZNo@dom=|R(JQ)tc;?Y)r! z&Ayc$8mdc=sBJM1 zgKj^mINY?KowNVS0T`Mf(S(|+`3^zEo9(W;i=C!gKWhz4#+x$M7GuO6H{>Ute|ftv ze$4QUw|jc&2*M<+WToMjtf*PNr_`O11=ekc5OG!v52MMe;@)RtN&-WE1aPNb!9$W; zRy;1Y1$W$8&!Y~ctrjUO{4-T9lRNsDDezmHaJnz?gwtkZRxSrLK)8{`{<^JLK z*(#hKd+qyz8I`(;X;H>lk1alJ;Yx;#yLyylsn)u5E zf$z<&=Y7lLHfB`F0YP?GT)|ST;R?6?TSeNBzh|K8Z zitCv81?Et-rn9-~tvoEVrVmUs@>MIvKdyBg*;#u=H@atJ-5gLN#(IV!qRJ(>__O#A z_qcIZQO$%hxh*CwXw#G^Ou$^C;lS=ppZM)L40Uf7wW_x+`W)4Q5dxt#H+wmdsgx9=Tmf2+6BrxWl*j zUonJ;s?#@JNa|*K{O}0~d$HDCAj1mD;572hycA-W7l-A0y}|Nx=uPXZpQQvG+IuT@ z*)!z_uzkciJ0pfaa$PB*(p@5_(jM@H)Bk&}cm6x4B`Ny2_32Kiq40r@`QsbPj_anJ zx#EU8`lv$B_wR(zxK~Vk#X4LsH3>r3dzAyL{ftip=0!JNy(y<0`3>|KrWF_$tpmQa zb9useNLoh02qf$fGR|+1;7GD?4lngDhELx^>{=;N?zsJ=_+kO8e_7+)hDd3^A3!ULSU_)qaYq|C|moy0j=!llsY0#YDZ6NrhPU0^3>m zU!{QfhOdXof@|B{dXb*R+ECe(2(J*J6ct~v&0`kjTHiC7y?hH@Z?G0Fxqs#v+~_O$ zA3FVi^JREjcq9@@oML%461|F@$X>MvD%*6?<W#?WwIel7kEb8nhv5cJ8}t3eQ8eXxWio_m z1T>xyO2tG&o<^-9ywJi+i5U*RCRfFQSO9Sfl52y;gl?jX))vGZR&Q-347^HP5RyD1 zLbt$~XWXS3hfz+?=bBq>`@Unli(tx-<2&5kBun$jfrjjv5_>>GXNq!1S$kTg#E0LB6(mp1P4Nd;GAliJ?B#b(;Co#R;GoFlFVT0Lkg3ww z(A87n3@>4+HQ^=vEOr;&`>=lq!F*_^g{A&Uee_Xn?O;+Lr5Cw>BzR9?*%pih_X+C@ zMcThnD6E7OZP=Nv0*Yc-fvaXeXlnX}XLiR~G?D$UUU>$bkd|#AUb8cyA#XS@B$0^Q zBFVbed=LKY1?4MSjGuAOHiAT+0uNOt``W%*d>8%InZ(p^kDTD6YbYS`{v%JOP^*y2 zT^dU_XmFvrV#N-5a=%^*S;90l&qBlz+_MCt(2EM^q9)crq7YH))~k&{VzD8Q@L@-) zxL5m1&Ul$GosEH+?g{N$Z|}Ryx7Zg?@p}%@VO_-`!b9PXP1)hV+8e}OAPufhCv!QL>k`!EWunQXd*segBnc;(R3$;u`i9$wayFKgw(dc zQ9?i>juU8Lr)R_&cxXJ3@%|pE#-NpgjRs(YoxWpe(t$n#ow#Lkpi3b2=Lg!q9ET)=jzd2Uyly_ zk28WdY;Sp={-@9Xe}9{;rkLOpID_`t%gzCSW+_M`m{s*hW#sXCkl5&w34f6ze-i6; zvzJgoP8&I)JJ21QLyLV?DUH3)Eq)bH3a|z9UrW=O7k@PTgq$bP9v=jrBH+<&OXu+? zJcGTih))aZ2j=GrYUMTP0-YyV&4K|DbaLFDIZiBp5ys>0 z`UjkIvq6mF=P0*<2WPdF;FPU6G}%}A&{)mtlLU$Hs6=YhXnNZvF+|)b2_b70jN!DR zDcXXBmTEZI{&#MCD*^!=!47iP^qk%j`B|I^g*(%T@4DBG_4ipHA(ei5qXfv0y*q#~ zEA=AfPzUU9961>J607OyL5-_rJ8&-b94k_AC5NkCHs;mp8bCeyL=p*o16f3Dc;U z5W>S$43wH&i*SpYo9P&2g77ks)XybCloaw@BN@lN*c$pkE-Cfrf$%%4csn-BThpWz zqGKrc;hf%i;g_F-`?1hCuvrxOEPcSTOn>94jz;`nJ0qPfW964xY(vpAn6Eiv2upw* zP13P7o5G!==t-tX){?*u*r4>REtxq6H+f7|-5?n~i(hWH&pndQ(p{?u%20w^Pv=&w z(INE@N>f)vFaR+IKQ4m;Hz_)hHd4sVM7-9VG=mnO&uN(&!CLW0EX_c97=Trc_FXIX zgICpjE2cD>vZfgxm6XfewlHsOT15 zRLqeSBSU&vD>4)x;JkW{RFRDXt&`A1gw?4(@2kTT1sFtQitX4A0DlIEvr z9b^wLVRm(0`xlPsX-*yOX#{g|A(5WJP^F(Diu zGp8IW6!iL|57Fjogh(1ma-n{3#yoTGTPd5|b|4j?BviPL@f#&jAYwhUEc))EhZ&F= zIUE|6Mi$zz=_B*Q)sgurA=ucST86i;^xIS6W^IhMRXxt`%(sqDtdf<)dOdkHc^QbM zEy#B*W@mFYuDo&IaAN2lWjgmTiel348r1a#Si-tgq%FbVF)Va^IArOyX=Sx>LuQP= zG1p1%cMxPMDpkhB2r&-RbjLay_^nT>iMTW;KPg#CQhOlcJex|FLn3{CAw8a49D%U} z!cGzUR*jU_HX>WpOoWf`t9sOO(KiMUgApq}9Ctwfi=p5*Z%n}>2&8W2j%a#RQqGE@ zS2+KqKB_s?moTZ%e5v&9)26L_A{;Zrd5C$u`If3Sg+aV)h9QUv9wAsdRPYLd)Mo_| zz`>ji4GJbQx_q?asR0l_mLiyh3+|Jy5@MDoLH?SSuQ-Zxv!*|D3m%}O%eRbrT4TgM zynp4FMk9wg*l)a63%#xV4bK6LMnfAV%YHi_Yks$Wg*g7?@sU>OknT zK}jr}AUo|UM?Bb{@m5p5e2|uKMZ_oqT?+rS>F0Alj+m>rj6Pbd7FYRI|3O}R(Jh_l z%8=2|+zD@^m&BE=i=&qiQzjrTUW%a5hf0Lb^LFa~flwsYr*ITAWos5Fr+oJU%hgXY zE^mssyzO}IxG1joWl0*bvaHQM9oYEc^h*w(?;|Pvx6h-$fl_-Azu4xqn`S3g?x>rYI-{(R^+=LpF8$p_~KXNtlxf(>wN3{ z0IlkouVtqN4w<%FgWJ#pkQR>sjFW3PK);rUyxx&`vAb!Bg_2rhDaciHCXy`j}yzB9)99-WxXpdv*PXsc?BNjc#9I2wY z(d7*Vf8U(^kll_c1O!b(tG^ZAeV^jLHa~Uo%NRSthVO_%d*f@F*Uhmfu5i~C=z{0W z2|XBHIucQyvy$X03153E8XMRf^$Um~nfXOZvmzq`tu*$I3@b)QQT&ozNOY) zAHC6PyfoEb0TPST#@F8J-06mSsdIpuG(yC3>BPr>2yF!+^b7aP_u+5rM)*X5V71)e zEwmz7UoP+)H4xU9t3Ks~om0rrDGETvN$w;^F11s(%%iPlBa z^UNh?y=*iI)}W6nZuB(8PZmBbgc$_BE+abLv`J`!w!xUB-g}poHh)-}RG%S0HMsn{ z@*9H_KS1Df*W=x<=hr>{zUQrSxia3q1FfEBHIBu}56eUDglQ9U#N@JXvedtX@cscI z41dWOe_z^sK|(zuk|ju4OEJuY^@vgU-UmEEdUDdfw8SrTioW*NXc)8x<< zczXK!V6S$J2u{Tfodrc64;OEcA0SAofN?N6~n&t_%SR>w6pyqMDR zJ~wg6iQC@mWmFiEBv#Tfxao$xIQH(%GmX&$hkL+3LE|AD!V^E(43T8pMD|db%EC~I zaRrMG_8zh#H7g2^a(zWp49O$!857eiF;XReAHQp_AB)8S*~J4N9&YA|;=KMC>rp>1 z!8*uHvRPf!LQZ)U!*NRf%GI#CNNls~sAy37Vc4-bqe(bmk32X|ma17|`7wTW&=373 ziR~{)uqzPeJ{$pYIDZ-Z6vTp?H$VJF$_@KaKphozK9=VVV-*udVNE$|+aV@R%86rM z>?5XqqRTGvd)fTq)8#c1n{b;qFP(YQ*FV4FHx8!koDn9m)n#aNsW{o5Cin|`>6ro| zrFxp~19n6u2+>sSchU3PP(8?)5Fy8dB@?x@%GXO1eVSH1C>=hiEoD>M;A_KeG~tsA=s=w{D`^8EkvKRgpJ69bKeahBE4uBcnL?hH$(cnO3=H(^x;2 zxY3swp)<(8jBMt6)Ax89GDDGw0eX65&)mJCXNApYE|l52N=BkM?%BCFvzZLIpJDhz z&!DAO_e7H?I|1Qd;W9)?JW6T;rF5$BTNnh#l9E|tJRB7Qz~7SqZ*3A&nyz7*mqDbe(7ch1S}?IOi0v#kB`%ca@i$+Igve+Pgk#Pn zPTAi7tFY-tWun~Q5Zt(O;(*IKZ>m}fME@rW>!IL32M{fXz^j+O6(_54Eq2Pv;?G_5sp->#%Q^R~ zND0!n(8t5R!FxMe7CBNAO|~_0!S8GSAr3DLwYSjNZCgQkF$@vk#SL|mAG;5Ov?2Rk zk{(Ro@QL7*ijY(qKoia>RvcKTYyzMa#ZsyTF+5}AxW#XQ6Tg$2nAv0dV-@(Q#|0!f z-iPa@qRG3aH=onK%R|$tAXuY~13Ldo6fCC@@X6v0)o?dT&;fJoGMv3-se8ocxLd(c zy1V!>1l@?xloyC_6i)Lm5F|iFaxgswwRxeg?Y#*jIoGG#fmofCckuC za6<35=JBzqSFrbTnQ)%*#7$ew(3@lJ3KSUlNUJR_@V47(hfF=HM9ir1^{8jl=C&N~ zJ>nFcw&% zyO3nttV|vRgguAK_Avhy3aMoIF0evDi9TZT!0#fyX`|As@+Mba<-3Inz5-|6nggXz z0>MOpFk-RU4mw)$2zE+yDW*+FfpDjjbZW(SPJ#w={6i&gC2nY!>}L=`uq@~3=TSU0 zd{-v4ENO9%nJ1kmJr*%<;SGP!niqp6lW$Lw(uMM9%%cD~x_xxe0E8N43l3*Ym&_Yz zrjLHpMYAzAX6&BOR#N*|BQkkuBs}%}RCijWNL%BDwPv9PrG58O$ZL zn&(gPZ4A6li~sDbIc+%!e9mxAPz5UT1cg-P^}E3;npj;fTxVRkzfHkIuCfGqxx&}1 zfB!Ze2s~%nLo;{AFOYxzfOb`4k4hH^9hj~y@KRoLbuACB)@mK7{CcAO^ zYjTG8e6oB#7SIB1OFO(Jz~+NFkbxwh{3(YnTISJStM+s~a@O9%wrl38&g7 zd~Le-kAG2UXN%?v!7C#3keyRow593M4Ix57RKT~C0R&I`M+MOZ{pWHDYi+Md!&(aX z+XiLnaj-%`S@i-v6gE8+O}@nen;s&i7+u!lDMz&XA3gd1`6@Cu2q}_zm~*rp51&yH zw*&A#%A{9q9+EfE>cb9t+f<@%8M)#snqCgoit4A$`dy@xzQ6zc9so1^@r~)aC48w4 zyVJEkdp|GO**FyFrkLWqhLt`7V{!pbIEYR>?P5-zIIBtqhRY^6(d?+oS z&j>!{6rvAAm(#|E5N>V$FwI%WP)MeA+PyO`ebIi48~@Qb$=D(*>r8<2S8w$`8+6X# zu9;}bEUQUabN_CN{N+s6Kl@_iZY;&*oOk9!G>+ePy*|?Rh@gx^MKRmlawNwr>o7Sx z-{--6ISkYmgos`9h_7}QG<G~S?`k4+`_1%;7jfLG5CEGsrqa# zUGF64+EG!*62Oaw$fFqc26Ok=KM-b-q{5}an&ricQk63KCCBImvQ(8jfhhVDR1G;# zSf)j&WbG2z(t!a~9C@=+&+_g^SRXjd(4rdJh;10vL5U<@-y{mXGY|lLfvA+05htO^i!YE_^;SRpKo(w3P%v@2K;|kpZRw;y2P_w`)1-8mAimNB{ z3FogXIc?d{z)9w1{GgOj=G>^0Yt^7}x2)^m8$ZYf_2X97SZZ_P0_D%mae#XTmzsEOy*qfE_?=6CQ%f{%TD36+g5`q!TK^H6*XaGDr!zh zH;{NC-fwT}rUQ`|dLZ+UR)@(~?(Vh}TEA;T_BGI$l1PM9)$Gp)b-HtvFQcpC_FDARw?)sMjNmg?edZ z8QWJM^ZD-i^_3FiMsKa+DI?%YrESBz4NsTSMp)5R=ZwL3p5T+L*#y;MBTfNUdz~6U zQb`bbr-bv{1yT|q+S$CA#<3n{jtmPp;$xMKKj4mqq+U77d1B-KPO_YsYqvM0c(^!d ze2e_OYeT-2W0i9LKZIbOF_f~s3JfIM7Ke)pbbW?OE*E$ZSh4L)zRdw6AJBnccqHTX zaoIZ~Eo_5}G7D_7)pUxi$!4))IG(6hDv@#ffsKjALKei6mkPMUCHu_k3}d)XlHD`P zU&HlgSadk1Wte{yQZ##WeJ4r!!lulmXc(;vn8ceqAY}&fjrNb?CMj@BgZA^$L@gRi$ z&c(S5x2B(66ZJhij%(f>`Ntu$MvZR;vS?Eu`4(QF$*!*-`t{a+J&OE>tSf7nCnq0Q zUjEirxfoHynk+U6C0}Mz7NBK9=|NphkCNC2j@jomp$?01B?Z?{At{}1uBlQRMH-i3 ze>0}okvtXJh!?aj6_k#}%UO4-eumQR{LPJQ>?pnVtwsHj0XM8l7YP#xi-ZYAwj&9f z5wC{={3!)P#|MQ3=qMn2VN?A*HO_vgOHmrP;+<2vRDSSKXLdKo!}A5lL3fg^$y#*5 zd{;`xM}zV!ZKjg{5Q0MlDuCrJNG{Ez7!?4p8Oa~8`7Rhj-r43Hu;@ZD8(T{f3gCxUdEFu|Jo4 zloh8_osux-#d0Nb6Doj)K1t+vZ;9p3E_P*%m;8C0|Im38zTWOQrS8w>ckqkcaOIgP z#AI*#{8P-+Q;mh(M8NMenge})nZHb;+x-be9-hrj6aK!?5BJiq!pm72VbdThs3%)0 zun~zIA_K$=S4S})p#@#Y0|m(5{(3SXx)DrS&lM`a|LL;wTP5T8L)eu6lSO4#pcRMG z-ycR(YJnzNx&2B2eXQ zZKMuc?%9gk?^vGdK3OK&UX0as$gM4>$qCg@K$Xl^t5{j=C$34>wIEgvm{9*{ORt3E zlM&pChxL|>M*JT_Fu#j~e_|{WbHja@7zB19<&MoyG)ZPL{n(x{d< zlM+b9V_9%y`{{O%kO%y!DxUy1-_hfQW zr>mIscm$9-A+?~8@_h-0h;uf#CL}b-Mu_%%*1Xv68F+%PprtcLszm24B(_+%&XKyO ztKWeZNoWRRHJ(u_8EdO~|J`!ia0oRpM-oJsANr84Ka9Ww1Z$xpqB)EtGUsiYVfltg zED5~hi;i`YoX4z6?CBSZh(nRaOWYM5!rS)aM;MWoF+IgjF{P^TO+?Rsj`>zCi9mI~ znffKhmX?D@LdI&4&rcDJjjH!8-~$ZqK0qKi4DP{$yGxLu0fPJB5;V96f_u>51Pcxc?k>RtXY!uC z*V#W{f9DT$KWo+M?s}^3`>H#aFwGB34VwGYn%bcJ3Pp!*Y}ozwDqm41O|VW7B|x~H z&M}FTjn8lSIr~I7Qs-XOO#i>wUk0tm*r{`kjx+fLtpDj|5$hZRxhE2vp3rf^U98Le7p*;iurdppOJ;AxTBK#e) zFu?*I{Pzx7P}2Q-hyK7gk%Ee7hMP0aABnVz!icYkzzYD7yJE}$Kx8y@)lnNWAwXl* zRtmT{lW46i>w%C>Qu=Io%IfJ=JLUdY_flCce4Z4= zp^sNC8k1FQt;ncJ zdRR~O&B!twc{Uw#h5q`@Z=>8a-Q6j)hTXJ6uu4O)r}xWvcg|ckPlw_C?bvNTEU8c` zMh8p#*G$O)%t#O`G#b~$t)i{+kTut-rl-2|Cr#QwB+IRJocW~)mLD;JqIUShm&mVg zK^sthMwnjflthC3ca79P7r$FIU`q{5Iq7=AQ#D{~lm0s3@{%Ffx#L z+PGFmHyF<&wjrB&D5676faDsrq3EcE2y!gBb-KBfXzme+$MdbCAjT1+t@bYgo-91( z>S`CaO?u9g>J#7oRK;UVj9xwDK9i;0{w5nTU7h@o6nu<;w4^BorzxBpvMDHn;i6!L zGdS;}Dmt2Sqc(}yt*geXYwh8G^fUh7EfCod(W~gyo4R~OOIKnu+|h%jY+&&6~U6;EPF!hTFBq%KH#G>dW!oRU&!- zaNJU~RBU2I{JX0IL>x0$!yH+MK0ZH`xBdQd?Wc#H1>)`RUuxOSFHu|HfjjpR!n<-V z_cuPlV3A*QxCYul$I!Ozk#Ws>XmJ0u0~(EttLUiAy*YIF5V#(ErgC8YI*6*Jzwde{ zgRx8UsFyumS#$L?&PTz3%+>|?mAzocX|d#rF$~>c75FXuGcDRgOZ~qy1SeyGUiaI> zWeS$4ch3K03I{0gnu2n401dpR05^Dfuibic&Q@-WDTTllVWOErF}ey6!4I60+vxFV znF@IvEJBo0V4&DRE=TD(VE)d>B&PwnWth^3(S5|hFn9VZ29`9($tLlRhiG*+QI}P1 zFqUBmX>G%In)~^ix2KQKr#tOwMz1#2!Okagr?Nh*4*k~a;r!B_k`rcrLZ@uB(&*`9 z%OXXQ=%MVGF>cimvvEO0YYTsHDR$AOjk)r|I>(zA6oV^3zGMl`%!l=!)`D30HYp5+$>#3_q`n=QmA11X zID{v=7LV#RTxdwW-^7<R;v5 z#D4!@;LM;|9eqH5CSf)M@K=zwCI6u%n08a z%k{Rz&%k1F*0iIJKg5}5b-tnbab~UZ1rO$eUh&RNj94A zMcjyK$xZ`(68Ij6f*FnJcYV%YxEiIDCQFSElrzE^%z}{35Cny0P9r2_u1XBp87BRU zekQ)CJ}2IlzO6Z%)wS&!T={hI*1qfoUmhu(#*zmn^{H)Fk9LrTN4k#H%HW%WY^LJ) z$#?BA+qS=(qLXJ-$Y~x4nOogY?b8_S;+fthToy!0At(rpKpD^;p@I2i&D(ILRvNF>9;#OXB^C3^Lr-tN=a>FFp9h^#j*yl*(4gLg{ z(cR~dD7O0?x-TbdTR3dEw0Ia`l&X{7^7%2r?2#hj&+N=vc83@<+t;MJmz>0~C9u#t znWyeILI5AfT3BBx3urJDe;eGmE>p`atQ^Wj0`}Gz(jmfO=n%aaq8)+Od||4ScN=m0 zF8eN2&p|GFUp&l8_X9`xx7_%$xe-}?N8hv78@#&K7h_e<`;G?q#Ho7<>iapA;Z*Ba zq*E^OWjd<4*`=e1qz6|mMFu~)pA(L&-!$%T;=^(&K6OxeCr+-ydYwLRue85TVsW}ds6WZ zp)wU#+AcDN=3#Xn}&v(DSBKj$DmiMW-q(#Czz9?e3O2|*|$HD&}TU5$q zd=9U~G&%m`Z5Mv$DcfyAZFJH&Jg&s~htsri@sEDC#BJlR2ajW6HHAi1y2vXIs=&Rw zO6+&Is4|r}p&W=X#c=51g4Xi4&HsQG@NB!EPkMb2&Rw#x^9RAL4`vsrCGhS8jEZKq zF3yco%22N|XE*;Sh4kJ3&AtDRb-7DOfO2vxY6fkpZ*{ARncO01Becu}&+s; z{Xu@v^qubTyZ4iXk}zKW#l>RpR?RrX$+shpV9$|wIz>*HA%YE;l%?A<`ytxr_%|u) zxIxQ*3{Chg*CPz4oWe&=qv`qnllmYWU@&1T2M1BoGW15f+Qu+fygU->?L7Ste#rl~ z368J!J4LB-r}uiBNKp)Z`A#8KN)Q(mmPsg%O48y4YelyF@F@>2c2p(D3nqFhKSVe@ zlm=U7tasytHVnY$ zJ@<7KnSU=vH4}W7EGHyCd3u({XXDPIX8issmbvMqt)D07ak+AfK}F`eH;r5_JQV{P zlS^OZ-C@VWNT7x;{_|}Q8h831I|fk#fvMxr;0V7^GJFpk^Omn}OVArOXR7q`kBjRK zc_OiF=xtc{e*>HTBL%~83M>lHUQ4!3YYcQj4r?Qo=(q6yA;*m*Hh5hw&VTLpO`l6c zciOQF*GtpcQ?fA*z0@dj{(xH2bjPnoP;xXgGPQlxI^fgTheiS_3<^6hXivXbFD$B^ z53;h*dYu1AERdk=BjMz#Kbbp_hHMo6^xVB%;__Iw@p@@(^yc-az~$R#MXm@1Z5fP2 z%V`#8oPEt`jh-6Gc)+AXD<7zHhR0k=@K6Q?MPnDQ7>DS|H_&~s=z8d#lTk_7xH})} zph{Mj(4gGLFEtXc9hb{{vYx!_exw=z&k!_quHEy8?1=H<7=1d?;&`$5B>na>racD|(DV6Q?VWg^Hi{a!2c*0S=xWRDwYl zWYTb{ki~cE&V?>KY%%MH*yrm*(%*by@kz|gwiMLLhrzF{+NM{G(E<|VXG)Ts1{)VX zaVJ6!b!pU|FZ30eE*4p{Yw9lv3!(7!*7pI6n|OM z;wzGr)Sz-GCOBlj^`>eqi4e{2)BCX=a$c@(h%<`QsJhFjVMGc233w1`$ZcHb~s~;*| z`RL?k>S(~bFXrS`spyS5~X9TuTV@vHykTw%O!`+$N8|&b$ zMu%A~VZ)Te%_91C5vdRP>9l4$5N8G(Sd;#c(<>t3ugycmw>s^9$+!n%ORW!IfgHZ2F3yvZ_bRq8wg(Re0K>N~`0C8JzIDjJn`E}8f5x&rdO ze=oH(Bp<~;=B15F>oI7PtjRG!Jw7yz7nxyZ*5>%?MlE$_IoxXJ$AglJ ztaem)^wQ4_J*|HcIzpBPC`p?G2+qymquOZTH3ip6IBgqV+a}wvfph$;f;4sYa8$m(v`% zf10rqS^ADH$;S2BMm)-2v>$*nre9X?QJOx>&dlX9qiMlbEc>K3k%!rrYZU&X=;w<+ zmU%F-R2d-Iru^0FEQCnvxO0cwRHW7@eF4o51xe*16huju^XteyL8CQi zKo=x7;1Bfbmonr{{Zm;sAYZ*U3B+to-mpl__p@563bmO*g+`HjQ}Zp|p3oZ)YQisi z@v>i(_uRR(;6)`9D2O><5?zj>?XC?jrV}|~Mm|`XF^I|VeUsulqTRbRL1UU;;e0ki$4h9=doMmR zrD6}WbgjhL$0##T30^c(#?8aMnWN`(UHrG)6Nc2v)tM{rw)`0+_hi&7a71f(pOJ34a0@H7}ZD>AZq29Vard6w%}i|LCp$E5M$~#-SZ}h z^38bgz=%(K+jaX(Cvlk0*j4(_%#n@PO6wX1qaFgXgLEdEynttQN6@U}^UmB%e);1s zuOa)#C*SuMGmmklI2P1*^q9}aUog5Ma$(xQXFlrJQ_V_r>p8>GK!bQ zl9#8MA>dcwT2X?R=9^Ce8ebnjy;TY+I`dqiEIYf{nH*9+70BR^3S5V=-+R?EJ@t~~ zt4rUF`>#ohMuTFFD#@0drMYaB9<>$Qw1T7AOxr)9%hZY|8>-?9w#>Eehb}I$gOcZ(WIR|NEL2oFCwE7rk0ov zMZ*!^y4kU{Sv_<<9+9!u{l;Khz~jsIbsr|r@D=ExW^XaSr(0Zyi-rNsPedsfn){-( zI#GS)Dm6V!saFG4k)Jp-t`D<6t@_lC$18L4KEWXgH$kOfuFe=Vd@*(Z3GE7QR;|X%TK>jB?|?NkY*LO&kfw_-WINiz0&< zLNKj#KwvH2_llFE$r(8oqp&m#KsJQDc)~v2MBYV|5K56C3a+z+VK$22h$(&64|W4r z5{yyOJLqk|p)rYYqcH&W&A$%bx!K4ayn|y z&{R&jlR*lEofc_(%7Y+M2CT+(DrJju;YD86`AO!lw5NhB1=q7FOFjq`z3odnw{+VJ zP3Le6){Xoju-AX^|H$VZB6WA|%6v6T;nquaI>Gn`jd)N{-`uaKFbFb`(TeJ%mmZZYj%@q3h*UY`;H z$gXaC(!|)Vrfp?gk!InFTSMH$s4URrT3)lDz>FY_+?rKNrEo^EMn)w~#-fNnXC*q( zd0TN5KiKZyB?nKo8-)ME(CXUi{fD824WL=UMxv84@{f};dH8$%O^E{y@DD#+8%%x# zZ%DA_)AC|l76`tDx;5JJ)8dKIXK?6Z4Y1Zl@;1%Jdztd4i0S+wPa|20%X#Oe$r5r~ zD4d3ag^)_~lU0epnj~4(ozAL~o|x>*?y5?t3!R!e3=3L=wRuxl+1+G&pg~b9*A^vY5ir>LELMX|r;jwK)q`X{}e(e=+r~4sH11{{U4nGy`){8QR zy=(1x305iqQ^a~s!a1$qzn%rjr;_4ekI~R!=Z6Vdq^OdS&~%yIeKt#p z5;}IrVr;`AeIL(dWvqScsrj`i!b~;hw{F&4Y4UWhJWt}8*^CuqizZq=+cXT^lH2L` zJEs@ZV071|9FoAoMUKOft|&F2?m)F@k!YukTYRqgln39nb`ALTyu?~HnB@qTez z%A@eH_sWx?1joRd0{3{mutfZXr&BXmGzJ(qPOGLKCtpqtxE%x1pfAnONeX~aOoMIf z!lfGra9F&mFm~|YDjlRO)QN35VRvKe0xCZR3ox0#v?`&4ANYn=OmeIP~T>7x1X}YJ25CH zniBA)8<}L(tnB$t3_3KU+rr1TO>oS^uB%HJYV!z03;Pk_*6T85Rd0e%D~OUM(Pd|yVfefwKmr_2n|r%Xn)RO$QV~Fj}|1__rW@03{Lg#Ly9^y3rW74 zuQ#D9NH6)#q(K_qoF+Cnde3rTEp%!%L_+TQ6F!LRLIK|*Qa8V)#rL?VtJ zT$3$%mJa`DDtNu$h?GqrL~#(J2Na?d|)% zM`vlPkGLfI9Aky~!Tuug;7+q8$mZll>njDC-0Ei6;R8aG+V>@vm~@|1%^4QVSRSNT zy;YQK=nE4`;nIh(C&Mv`R=axrR&7ZiwdXsm@PqtNc70e{EYY|uiG%jF!M#(i(F%G| zBLpg#aN&0)nlMoU8<&c*&yOW&B^hNgr&gVS5?#q>Mxw?Tq{4B@IEcfLQV9Q5vAOy~ z;iEfUF_}<0WQohlG>yMz3E7OQ*Y`6f=VI?z#(7UTESQ|4Bhp;zd#(EXrMQP{0dW$1&O!(Q zZ`8$bVy*h$>rM;BKvp&U$iU%yAxex8EOoU^_r;#E?2o82kfXCb#Oi8-Uz?9VUl`t# z|CemTpCQq{e;8V`p$vUEhE}I0;+$@xI5=QKrSG>-uE`JXj6DYuO$AGrLvunw$lN!F)`!$|6^6RU+rG zRQyb8uyK=n^oPyG>(Y)6>|6delB8DGW3emI~kRntgzb1m~0nc~s_zJUcKb2@& zTVO)C{2HBL-rI6gA}f1Ip}LfpA~M?x0|66RANTII`_7OUYQxcjtud3PZc&rD{QLeJ z4+SqN5D4_I!y{xNx9AU#kctohA3iQOI+DiX6?{At)-e%6O{3A8WfM|L41rB}u}tDP zNF$U>Y&rUaMSF`eda(oh*h~d)9SVq4Y*|1~3ve4aevujUP;{B7m zxpy#uo>XX0eYnEDU#KFfxH($*4JN`{11^`kf)_HNs3XCvzIS+lxs zsfn38n-HNoKyj%*8d3(&iQg;x{zq4zQ=OmAZw%6C7Py{v*gsSFw2ML1lkJ;DLAf=w=oa@ zli%=feYqe(_oc2CU{*%#*p4#TT`a2oaQy~qmRuq>K!@dbNZh#Uw?=de;YE7D1V ziotMDSo-T@fqEz6gt{L{LwkQuBnw7(;NJiKj2YPHt|;SLaQ|p>s@5zl*{8U*7O>Y* zK81#B_sIIWPV5iq$uil)_LoR(TI!& zdRMdN!WMq4%|Q(G*_^3cx+aE&>S?iWp^!e^S(t=>FUw#UBF<^f=hJ}08Ic)ak&XVq zo{hgCwdHlfU;1j`t8d)->5jL?lX+V=s`>vS1ea|ih)W-Yz;8LU;Q)xVk%}`0Y6<)d z#TC%ZHek46oSA)(VqT~_Fg2^weOPdOfn-ZcxPm9muj!>D*`#1{E_tZcsp#pWd2Cw@Fck={`CHNJRKp#5Z$!I z@|byhayI~4zUQ^y(R!l!twMi)aZEKHKvr>|UGH3%OgayDJF&<%=W4tG0X>0# zStcoph1a^IC<{Qs5NEz%ZlzJJYF+y$bWTmuEUm^1CydSSs z7A@{Gck@&+x2QVT6kM`K^m7I$X*gf{P=3daxc5~k%|u@*6`mKEKqZm-_T#HL5q(?1 zPt$*X0w&5+JHG0-{(gRTAsQ=Oy9hr#{qGFz2NN>LL3`m5vWglOghxmz>I4fAr5vn5 zSzzXd;d&0hr$OqET?zv3ZZ&H*Bgd`~V`*{pp zmETOBq6el>>`9s;%huWQSAT&c6_FZgS&7gw2Z@vmr$;+AkQ?h@lB!5LNM^)x6$pLd zsIL9oo!3Y4j5TNRe~TLmt}6eQfzxC=Xyb&`Qc#&kO4M`m;<7d}ss$O#_HL0SM&hpW zxkKm{8?xr-b%6JX2Ef!9WE4wG#%a496P6GIy+K+wW(rkL(mUP61K#5Z&TRmVo@bI_J?Pvx>mVhBo6rTEl5XCC`sE*FIK{JKw{9zHl_@J{(3cj@~HM)1E|F1G-} zhvO>9QJ&+>KWn;SAYD9G4{Axo4o)z_*-(y@YP=X7H-m~?R37jdqx}S zlKHc#jI4T+!KlfAaW4syrKGY-e6u`>-e|ivGB{l^=Tk1h<%&)O$9f|W z4X35KR@U*RZMuCT2E_p5r{k``=3K^deL+xeyR*oe(+D*Ayhklm?TO~Y&8XrMUh8yq z9d{sx?>(ns`w7{f+b%<8iTC*#9If-o96=Auda>5w>6m!JS0?!Ch=PYnM+WGCh?NyR zx~4~?{a?1SNY%&(O;;3d4&%=H>OE?|1ai-st@1~F%$T8NAAw?i)(ppyt9J8?pSr_3 zpVF&;dBGkY*Emb^+NM-Uj2sn7Bmv~l(e6IfpEv@g`m0tm7V6aPi%EC@it2basiGlfAPf4Bor#p)5c6f_nL%QH*u zCv&|zcerD!jrZ64G4zcTqLrfYvwmEi3JRuko!Pr-y5O)1;VldGp{eO0dt>a(?M=w> zb~o$t@+$YMDqWegwan*})HPe7G=-ahvbAuci@}$dm*roN>Dw*X`-%x;=|?6V>ex!o z@1!SttJbsngf1*!Q(YVNs;SDWjq!XdrY+bv$UOPW&cdw1qOjS|fu-XmR7^^_u#~lJ zXvbyOBD#*g{+Sb*c2X}TI!;=1*5LJPB`sLc1g6kZ{A;N~3JGAGThZJ#^@_0K!|6BF zGsof%mrawW)!Q=V>HpEy=Wtk36j@?Wn#sJOVYc>21LPm`>uK~H@%FzP6EeOxQ|Q1? zoP0RNzQRUCJ-d}tdZgt}Nb9!p5qYfU?2c+IXB!|fOheHT`8_E}*D({ZKr5q_`K1wT z`}QrENkfh1+l){zJ7#(u^pa5fL|}*y%Jy2WsfYcMBk(?FZbRqcf>UV>H@o#T4Yw+H zr*hc2$xzA%%twV){GNB&Iei;v(u$?bBwt+vs-U^I+_nKRHU@i%`L!+I)2GMlM@@0JYE9TdQXa`+Ak6%L`<(@`ooVwD^mCJ-Z z8yOe0NYV1RPR-T{O}+^}ebb4dWO(!HKc?0UViMJK^Mh?!UQ1Q-EV7XhdHtdZ?gjAI zsS?I2tK(=0LOXYvO;)Na|p-tdJD*7=2DKt&ACAmCOl7{~x1ZT#y3w^gMg13j{ z1>@k%c;)Lo_-GsD=#M#@9&kZp!eBKLR;E5Wk&@th>jsX1s&T(T5?B~$_+x#+V(Wv*QKjB2!Rz_I|@v zs{2Zve}ZC$`WOEFM@c7Y5tvAD$9rM1}|UJroZfc_sD6)Mspst=<(hj zA2PO5`dn9@CD|*raC{1zD_>ap(1Q>Nz?QMp>`aBn?}p|J8O7+2TOQ;8{>?h@aNHuj z3LyFD9&hNyopiv5NgVNw+A*#?$iM%VZpnn>)hsnOK{%dK`nyT?o9+@HQ<~($s;rtY zTKtLA1TC<;j~YebFp8&=`Bx&{Iny07Gh(2FRAZZQGNk1rK-$H(0^2OEBG<8RjShxA z^M-J;Dzs(U8nrr(dWuxk=@00MtXw@bf&dH%CB^8&qzR{uVfh!K!yu#+VL0ysPG~Gs zP=LQfIL`WLj2YD<)m1dx4a9BR{LV~*>rm+kG6sUC$wI2uh&X8uq(U48-B0ZGawKOx zcFt$~v@rZ8zG@%CZH?e8#ZBKou3nES`Ezwe4@i4)pNptN`7wd6ebPa$78`<48DKGw zEI6XNcnFNn;@Zy;qT6;Yy#Smpmq9{62%|9WXQo)ZA2>EsV4_i1;b;&A)yFKN>VvHC zi0~DWYQNK+J2$jN_pWNtNCegMVPFLXtImhiH3X$gL)0YweVkaM*&#(_NHquok}_0S z$pUOTg}jp-h2uJzfQ^o+zafP*Km=r(ezZD7Da_sR5F24lJ0#H+4LEA z?Z@U|kmF*p&Id%f|Uxe1-l~afmoTgx=YXj$9 zSgK&po}n&3lsuJbXmqR92vpZpx0lT{ZFWo%FJ<&v0wOEpDmb%gWH0!UCY z%J(aWlBhR<;M#=U;azdA4v;)5=|kYQ@l&IuaOz#xl2pr<9l=2dW0 zVc{eq$2Z2`%h^^bUc$-dA(HS(Z7NP_p&qF@B%6n?KA@FbG#1j;=`^Nc-D&BmYGRM4(SEND1c+z|Nh=(O+;PC?* z^_AP~4RcrQ%JY|kDHVtULTV&yTypKZ#WY2^hB$+^DMmiMwMxj3QB9t)W~-bS(K?H zAD4sucu3E+M#MV`Ws`5q7yDXNmoVPYx6O#JVHWhr zdFVZBxHRv)TuwYXhnfRoHCJvfMw^(;XzvrG6JIB?I7dsdhf}OzNQk`)DFS~JPlx1h zT=mv0Aqh+*pq;j!+f#FgT=d0T53;Z!*{Nw4v%%dcEL9%bu!07ByGkz+zC|~*C|X!B`>yP7z1Gi>KTdUD|CaxIz9#CuRz)|= zZkDMxsK3&IxRX6`^39@Fg1Y+6MtTL$`tF~e5sCu+HphPvf_EQAdHes#6!hiveBm+$ z6@GbCIPao2qI`WeDbA;cnz{S2;TETg^{_oyh^ICSk|YmwqoD60XbjpR39VQz&?5QxtXi?;L|?FL?yY=^-~(r1XMwt!9VK zldRAw#l<4rFYE{NekyyDR?fU3$e}R7r&j_Hg6Ry(g?PQQkike*lY;LpzhopFaYNMx zM2D*nNey1s;w~k)YM0`Rvy|$-_8Z}rB}F$u$s!wQ+Q5 z%eLZv^!BMh2C(_iMnPRrI;`ik(|yRF#3TO_;dbkJ5f-^z#}AsZuQ zk2Cx*bhu0*cM}qf;YR%@3ejTP(A2L{-;&{CgPG7QRhA6b7mA%&t7-6y*irmX2o;?N zW6+QO_0f-t5&a|u(A7LU7bj#ZcaM4qqT`i32yoeA^fpL;95fJjC-DrPcxtJg6usq( zXr?96=cIqGL*OuAcRcfo<*@oJT5fL-;J}lNlvbUnCr{BF7s3_G0@7-234usAO1W@Q zab^qb4&P4C5l^?BYb%aFEYFu#$>&2u{7F@g+)Y=5gy!^WJ{ao%d>rl0`F!c4v(uHtipr{sb3dsI=^6lq;V+!{X003>N4SINs)gj7=0dB$b z*nrcv;StKAt%Wzii_qTEyc`{&bB-|mPkqM!u?6p1aq0;x#HC#pU35_?B(5%oJ}AD< zu zU%Taf5`WKrzHl{u?HG8rOtOWR=`y3_m74MT7hM>Y6C+e^aR9$ZUa#d3GOAQsR7Jx* z%~JeVcEOtP<^KFZ>liuPAvshL8cUBawz3Cn-=SO$FwD0JvS5j|1nf$R*2%Fvp|m^4 z``r)x-M1%LZlQDV!D{_%73EQE9HUvGA%c>aii zUD;Y$9GzrMlshA^v@7MjWVF(O4l|aw zG=DuF2ytxX5lRS%1h+d!9u6bA878U#McTf^U6wMhV&I{-al3`B}5?Lj{ z6cT%v^c=EbTP1cYehC842O*bEKf%4Vd~xITR_H|G=FGzrelk^A=87lBs5 zGb~GaJAMueBc<&<_&{UFV56K3tB^QX4E^#DLYlDZG(x>W;n2hniSGLY)1NZf*s;yZ z1)Yx3saBKof5g4AF$#Y5JK9x2k7w$*oh%I&hm%glZW!=mi`cruEov8=bq}g*WBJ1~ zZ*9N7<=E+EWcua!cOn8h$uBhzmMs=7(qyID`kejv22;IlT>k+iO8rL*)A``sk0w=@ zQ6d@2e};}M@psHef5wJ3J|8nTH$41Cp0GVT8T6m*YVL5>ZMlzY&u(>nMGTNN;6qiU=7$1>KOKylKI5*=9Sa4Bcerf}mYj9K-8B4{{RNBxLcYv}%NDzY-JJu6nyW8(;>IXK7U=2V#;9AT8DIQz1* z7S2%;6-)!zNJ)yA&gi<1V+C>;(~;(SwTs-eAwghH|0V1z#A^pR5sB-aOzExL$0`Bm zK-p7;G83CS`^DYa0=~8hXv@ohsjeN}mQ15Emiu&*mSR`d7MgwN2YgRZwgujyVx2TX zv8GhE6miz&zD9_L`Jyg|0M@WsJ{p#(fV5~&0C`gUtHdNHnxpN6;7DuNDnAUUc^{a)_(bcqIX~c*fXa2-q9MU5W zjW^L_5~ac@fXWj5QbG}sI`{82a@^aNh}*f?_^M8=d=&oea6nV#{+%<=zcaLlNbn#d zZH`2~ZmJOFL?dm4bs&KQpD8dBzznzG#rYndBNraGx@I<%K%?zv&QcFU6z6AjbUspS zC{Bi;u6gK!AtuK_g{Z3PzFCU|KPHcU0iJmjv#n3*7zt=0cIp~3Et~HYdgrKo$`ElvrNGpl8tYvT)7tlvtrQMRPt$S$PwyEt zxQMC$bjPDOq@9`IZRcmhYFTl1N)}i@^-;7qk|D!kLXY_s)%IY3SvZG+AH33A6lXZ$|Q&Q0>%>U<;YjQ^IujbwO_4<4n9PAG{9=&lu!Ub1hT!h z$6sQ(%oJ9NwfxE*Rn+?gz0rJ64BPk*@f)VyoOS6blhQg|k2oy2$18^w++<`Kos*Bc zaRC=T%*;&5)h==IrkJHB{NY)%#cOOYS}63|c-FwdvmHmxQog=|hY;NK!~Y@#@39I= zulK<#r}8ZRAb9tIW#Dxo%)U+*RC=uuCqVcA*T>ND>E1X`Rz@wATOd&CvWBn@OWHVT z=NJLsx|O#ybWrQ{QHIF74`OIYCnUYpk!6N|SNSf+2MLQ*pL9^-BvfKNM>z2uLp~C? zWqgB{<5U56PbVRKb5ah^sakTZ5(JNBR{06+&B-{;@*v<=5%m&n)9?wfsd1sRx6T?a z{Yv;^j@wJ$W{F&0Ff{zK2pjL)WU`>j%#e~Uw{2o1i7p|4qe0tuLOiqmlFLFT1hjL_ z&xeCdni=~hbdHV$;5Sf}&1&GjOXt>MG~Qv@|PojV49}Ba>}Gn)$9QfHq-08%4y(IATU_jIo!< z*u9@WP|H;*mN)2HzYq*6RaXD~d**(Lv`81%{`>aq*+k-gHXud!`I?Z^9(eeT-oy(D zie8YG3dPxeji_g%U8)Vauv=T=V+5UaJY?FdWa<8J_hN)BRx$SsN?VVF6VT-8Z6+A2 zA+}Y&GMP$lN>h@z7}xq)aq3A9<(*H$t(xKAGh+b8km<_+e@nX(M_4OaOXHEm{Y~N3 zh+pZhNKYLpaav%u(87tS_s6ypFv`%N!}t@=@@ICPBI~E@2?o2qcCi=7fSB;-J&h7h zbs02VXd9&KUZ|SU!96tnTGcBz9qkjx(xXnH4R{{rw&*(arX-exGDe0fy!DHCq(>DN zah8g-L5|r~(!++gr%0ucOa-+isUKr~)s4{C9)Zo=c(lO0UlsgJ-9^SfyMy|=|KtA! z0Vo7}dIsT05?c@m)NiDuUX2qBvkz7xE~w>+gUD8*2WRQ+NLzUGuZP z=W-`o!l6;6KWjQ(1Q!JVAGheQQwW`EAnO*6M>P>gcaf>F6k7;&AJdCIe-(H~o! zSvBi?9OA!2UDc}VIlFpnVk%y^c5L@P2ff{AK)~mq-J1JYQq38h8>Aa;t;rTQiXMWE zPDb8qWkI{g+-q^;uR`)I!V=Jh{}mc&snqYoRVqDUk_4lnvIAOhak1I9Fk%GWG(=nxt!N0g+f$ecWs z*rf}I!3`M<_fGB`%HKG4ob~ohJfRPAkRacDXaaMV9&&!=@0Bwmx(meK#-5C}KiHDk z$;00SO?I&ch*5N8we>0+=&{;5K%*i#ZCLn!F2u|CtHVZzRnrA$-Xb~IQQy}SZ z1&Nfu7i2K%{n)KUg3`&pZPxzFN9E0tLjBH9UXG3Qs=ZHXrk0~3+aF!=vl9N}UBETL z>=N)nl5lT|?YI9Gk(ta3Iyw67CNpHT;SZ{nwtv zsNF_3hj-5Z^0MmKSKdEi0*Oy!@0j@O>Oh#f0z(mcVWkeV+I-;6TPj1kaxyfxaXmJ5 zGsVk|sSw0coe@M$D>n2h0F}EBkEa*&)A2cn5VRL}9pcUsymKD7fz|cr@3%_1hw5q` zZ@NFSzTJZkIVqjLn%apR*~{^b;;vTa`;;ItY$e*{^I+{iZaejC!HM4BfshhZ!veYb_F&@SHL-8bjB+y!>p1GmIXBIf=M1Nmi1~d!Jgxl=F??aQLgP+R zll-HkJ3JqK3GtW1EkS{Z$fTu1&PE@%omG@T&xL zIjcl9AD0sKoNI!X$P3GQZxG~)wBLAeNl&SoeKuT+iIR5?DB{mwb3b$~u}QRwVe7y~ zua7fJVzV#&5v@n$H^rh0L6Ye~SRXn)haG+qjtv@L(W2w*U=4?e5=98el~qezcIDa)?GLKlVV8j~1?ki?(> zL|}s^2(xmcE%r2W(ke&j;Gw!sJE0?dKBnw{!-WhArk<9Qp$Si<6C%f(A;ghu>kk;u zBL1AeYmH)^;#v0k3Ues@Wo{NnTc40#vn4#OiF)Vb&CAQY#GBl7wU-S#$sojk5!!{z zhc%%+m@H-x(EN`dhZuR1SDD{1P7kV6k~xdr^nI`He8bpEc5$dx{&tDwxqE8_+m`+ z<(^Tcg5We1=ub!?>(_oDwNOKABY1b`8GWDY%@b+@M<*2N9HCHE+Y?esOr4uj@FAkX z=2Z4z%5Ui|iq+eDOyvE~n?)J~85&6(IetyY(uE&+9t+mcu~k|p2?&GwTb;MOkUXB* zU=>B7!8Hbd8&Op?l1Q(+{9b6`Og?=jO=G;zPn^F__#W)4 zb#aoELeT?hCh8w=#XI=@2B-MnXcn`GhPo zq%&xFH5x*8##TsPf)gy`H)42gDV23kpxTXNmKn>@peOVdKeOqfU&fGs1F>@c*>;mQQVV z;kzhKfZ!G=612FxyHniVwYW=hcP&t$xNCvp#oa0H?%v`Bc6j$bbN+$zoBicvGLz)X zdY;KOYdve-_azB2c7FtaO|=(YEYH7See=A}U)ciiwndVgtk`Gl%h{;X%q)coZ-LzVt^|U{EjZ$oXo~O$-wO|hWRd?8H^UT8nCJ9eQ!38T! z8pjgD!&_}wvS~tJyCVH#{Zhh5E!?8OjP@rWJAG4FJS^$=z7C4)(VRcQQpR3gRUfD~ zlCLxeUmd>(YijWwq5WX;IDXL}al$Q?Qfn3(h!UKN6{6L*8!0Mz*Xnz(zB$$!J?)k+ zUR8KUrT)Tu>idpVdbZUa=tC&OpdQ4|8_eQ{gZte(V?-NqVEp6Nz*ELi#_Kjq2mi#Y zi=N*L8lJRLnmOagLY2Q(re?{#4L~zw@JX(lfwB>tys(ku%dgIW)A&-OZfI(#NHmtO zgltQ{G>TB1L`L!0c#>j(CWQJ_A)kU#E07Dz8b|v?d4&EEHo+D&!V?n=BM)=%Q3k>; zSPNKRdWO#J_$ndEkUHRhM3+1wMW6I=8sK1v_~j+=rgfzq@9|8@|7HxM0F6Op!o*=w z?^h{il_<2v^ob;9T8K3JY&+Uo2i@<=`?Yqfp6L8e#`AR^O`huW#NJsC$Vo~O zh}|hk=77`3mkvb~PMWyI6AX2mWRke^{R6doQC=+9!eb06QBb#mbDy$AsnZv_2o4cW zZk&X=B>>-H(5CG>LXZ%=JLx`I3c?-3;RhQ?dq^Ss6ww0WNRpCcd{!UjY}3hzbDyE6 zSKs#+kt+G;!HtJ;EDr^BIMPNzVl%Qyjyx2aIQp;?ktmeUaNV%8Qd|n(tg_SxJHLU1 zc#$opmhCcfwH9Gq@hmXmw`l1ldpKg(?#m{Qjr3^WaoXyo?I#p-_e9OSeY#b5e2%_) zRAbkf#H7BNCqPe(I3Ad~H*d7-fg(z+6=3?4$HQxugY8F~F`fk9IU0ITY?!h|rFMY3 zEmvE1{Bsk{S#K^Dj}%z$1bj^#L=)i20i1qL(~_3g8h_iikN<%@M^vomP;ijpK~{z4 z!-mDXqwL+)?Nam44@zVs_6F-YR?!5bZAYqW;j&AFh$tR9~v z>}o6-P^5AXU#I9DA&5g`J(p+@gmS7$Jd=cObhWmjC2=V?z|jg+Sl z_okZ`FHh3;3kD7mSwPRL(FYI*2f`i0jhs38*QBIOTHMnx9y2X;^YexZmjMxalFy7< z2E{N?BA76V;u?J6xbfoiFu^bt)FwfwvaAYDM3w5)cmXzfdk@p|@j|T_b3>Cf1AcYL zl4Y2>-$UUM0Y+B=Uk3+KQK36y1d=lW#e3$Ka*{sVpFs0{%l!5y+4aiEL*L{z7HuT4 zM%)w&R8%FT#KbT4XI!kqxjwEW=qP0+x%}giFyH^mB|26t{di*jHUwI@R$~uYph`VR><)*dn1yg{}P!csQPvx@zv$0Gzazxw<2YN27vL?V0KC zvu^hF<%2g)gbwF;qUW<%F2*C0BGVSnjfl;M4+YJLCz^iXw%bjL`0;_hDv>o9832o( zQI9K1ih+TvSs_-&h8wQlM)Ayrtf7=zMTNrIB|YkG)D%ikI)}ChwW@O28{xvifl@JP&v34Xq`XIiu$eTdbn>HHElr#)B_I(9WkyQ zotF>^K(5pvQzt;~qcgyK`36r{I;x2kmbKEREnC}+W-5m4yBlIv%>U`r+f>3~fRFp@ ztsgFo_5;f1nae#=ziA=cTeU8)0J3bjuxQeX&ga9KS6dsGr$mv+|Ol)^3++I=l!5 zW$-rg@6$qYJ|AZ4XqC*2k}Ze1g;q5){P}7AYAe3)Bk&nJ=;Ce2fahLK^y zs1|DDU@tAWu`VXajCMdcSF}sxV)Zu~GV1nfBEm$4rraATkcEF3i$&Wt?MTR#g5wNI ze*7ve&;h!$iqQU=i>vpygnRwCIA8_AaSga8Tl{OXe5O;;t_`za?fMC-+Zmh)H|&C> zM^zHNijbHbMsgA#akW_5eo@QAp)HCL)W@GVz@g|*+q#Wm%5E(zKc|Qm@g@5 z4Sx!J&wy238XOuPKzYEbc(kF;anKBFdLUcJwq@|PdGn&^a23*-fm+npP?GkY^j~3T zs}ki1GjBS5~SR$^Zz+2W-Xa}Zb=*{=bBPmnO*JteO<$H z{qKC%+c`{t8kj;{|WWc#95`o$logk$BqCl;uQdilgxSI@KU3+Et-a86sz z{GkcLeK90}NDGg@FwV=02%wj>cIuMONtv~7{vn$EeGWlRtU%UY6B>vgdN_{)6|BC3{W-)l zrZOrnCvUDk%~^!w8{Y^i3F@U>bQ3}igQqm%)g%uU6PR5z!Bg46l>^%|*rMsP-NMN@ zQ!4V_a(+ckB)dwrhbv(m!Sj_h<~GGh{zuTB<#5=-K7*|+XWKA0j%AKh;Wr`uP0WdEhWW)yfcw1H$r~(rNG*{aJDCbhhiam8)z;kjWrk|D8Y-j1 zcwuZdjs$Kx4A^s@ht2)A-v9c8Z^ZDvtFB3Uu1&*e6wsfFFoDhAPEj@A3r^>W{}?&CsZtmT4~1A4YxX!h3UzjlcC%L%^buX zla-&mf_8;{*R0v;L6FcMn+tRtjpedRq}}%Yu%3w+#%!^uCLsN#?e1mmSsJj%(Q;4{ zY#MM8(uq7;|0CHO1XaXqqak)sj75V5i%^0awQ~w+7&QKfqZXni-yVl3Oxmil<{s;x z7-Wz*RX_*pKZg;CB*;F_LSV+bL~L62ocjJG+pn(ED$;RYzL9X1nEX=E41o{Od`V=F-AmH1Y5%Jj^*XPPn0a(GUX53x>v0Wln~5waxj--0)jIZ2hz3 z+JTF~pSR2vG5_{F_m#@m9p6lcJaS&vpWSyKrf$3BDOP4p+{qY_!7}Je$wgSbwvs1u z&;e@G(7XURP*=QbTBjfhh6@p=ab0|#a~ZX88xS=aOOi6J|Mv7mxN z$W9^CX>pAA#P;pc_1nnZm!H_GSbfHhSL52U^9z6LybpYiPRolfGa`VJ3C;JT3gfTx z@={Bp`*Sa%h}E{gTdwvG9tMyN5e{mWQyFFd}~rn}C~zug>ir<}dm ztBQ#6aB8{RG23^9!6{=(mxrW*k3vopWLR-@fxWnKHqqs2Lmyl@d+Lo$3q?%DV1ZS% zn4E@0Wb_qP2R~7vgGD~((?TPJ{G;QbqX0m*x*~~rFQ?F& ziiWHu4g@5q+|VL8LOgE`V(u0(JUd|cKzwkqw4HvN4vQ0g+AR_;T(=Aq6x8sLT?t|5 z=wjWLa_V6xUbLc4)5wHy-0g@ijA2a&Pwxg0#Z|7F`m5E;K` z+mKg(@~(#qa(KQ&3QUB8f=-HGRN(YYt2OD)56iM%$QWdxx(XXJK~v{( z5*eZKxN1TWW}$zWm_DR0ataMTly)%-V;#8^6-@P!W>CgDP|Wg zQr1Z7X8+Lv=_)YS>QX2J{MPT!%5+4?Y(6Ms7Nq6Xk%U$XlIwS*FcbxpXq^n7Llmg) z@bw{X3j-F#iyA0!?uy=yHqfm>0yx+(3Q!@ZB!CE!V_7q&Ep09a>l;K&A$K_i_ew9k zY7W#RIy_~7uGAcyb+I)AVm{rJ%vWa0F@_Ad2fa2CMwz{@C9VkKU?r3J7}xup?`;ZN9ZIFR$9Af+l=1D`V=IiZFP!Z#7v(uUX7TdMJWroe$<_BGuR(tv3qA zxXhiYap6&a>!wLGmdjuUX@f+#km`8Gx6tB|q&JZI!nZXp4#2?)=l=$KBT)RH zGMHqs#{n8-O)n{-qXdeJ|ADdIX~tp`JdtBq#Nk6Ez@^aHhU2tc@q_~hLzN+t%)|Fg zvwCKS7R0KejSj#s2^@jHMp@0iBLq3IzRC57h7evE9c$CDKu)YUGngR&yZqoRh?g^} zo0yAWVe%kL2lK-{vy6*en>H(P65WM!h;g3j*+O`)mzO>aA!!D-G;T{$(xs}3WlR1v z&u}^66o9Of>vszo90t4y&s`Z4T2M^K9u*j!(O1uMRZA*h_OC;@{B!;dZp?Z%lBh^cY*BSDOa`uAmXM+*#_Z zE5#~Ug^hZ8gwm2??9a$2j{>D_L(_&d%BrfMTIpd+o8LYeX`auvxQ;=DL?aqmz3>3p@u2GBXkf5v(DTr3X5f|SNtFYHdR1*QA47H_@M_>K)lOP zy(=!e+@Ee6eP3%b+PhYjEBye|2XYlEH6kuV+JP!|8?cts^zeCiDVN_#3v#&*h6YC~ zcng*h$rU>><$1?MxhhvCwQNm_lX`ZSG4AQhYf7IB6N@D%$TBUMdP8)b?CCyh`9Ie# zRu^vGx(&>S0*RV#T@mMrJJ2gq7FL~~nh%@60hUvp3g5_#6UaqMOoJW+yPdo;wbj6q zF%??}5pLD{A}E6C%45_ZJf7@@)?TNZIKnoGfWCK27z|L+5H{lXnn!MHmL$Z z$zki^Z$ZI(6xoxiuuz0MHcM;)A*6cVfYc%3+v2ZL!T-d6_uXqr{7s#RLUE*Rw@g@k zyXj3y+h;d8_Ih-TV@i8mqp?+F65z&``pB@k-Pu@q%CN5N7XQN4Bngd24upg?SZyDq zQ(X+l-%b0juiH21HxjF?Hx^+<&MGF@7-z&}3nN@I_*Vtq^G`c@yqymP2z51N*v4d8 zkoa#`D;1;m&qR%JKRAA-dm7_bC#L99tX2_`j0^$KND@4F7f1R2py+HQx%bp#SY$+0 z_xwx?SHO{CwxUf7M%P`MBMf4yg5~Sc0gEgkSYD$%TDcB1Hh9alLD*k za_VCpGn!a6#?OHYZ1b`|arym7@PWwe0RKld7YWz}CmbHGQzxkPZ{p&amLv>2?3nh) zl0ud~=S=H_x9et=p{McNtw-yNcZ3cDVcB&cwCxWrmUcXl)CUK7n$7n%P&92%pX ziEnO(>l2a<<0mjrGVai9)~7}Lvm`PIL%!<$mM~Ngv(#D6v$pu%XQh_@eRz0jmz1S5 z&8F@eHnE6>hU#P-b*d=5%e0LKGlN98N05^s{6p-RM8I2ITfFdsRW0I}wA1C+bjeu1 z8!3 z*O@Sij_uJ^BaM|9(ROAc(6l^vnsWgC-L<@i5~|JGuZahNsZAjRkM=2shuYJ}fPU}V zB6T|AQ=y#o+ePpW2p)%GHk@Lf{GxX~+%l4fUL-}@6r~;$tu8_kq{=@@RNZuIP}cb2 z$8}E}T!Xh3{!N!7PLul8LeALPX2|%Y$kV*6RKG`LT|A*INCEGrqzwsxkO#Ie42&B*b{+6n|DZegBgpQp-PUGW(?G z)E=pMx?4CG4I8Z{qiv4C;(cYgzY?BS9$ErFYO2D`)7F{s%e?G2khUA)P)S7=P*|31 zhu1|E2dB%Y?TFPov2EbD8{m88f)ILA7MP3j8Ar3Tu$>>K#g-}VX@lb`G)@3}6|=Rr zUA;DO@}qfaN0AqkXEojy20FkI`Zhym<*Vfm>^^G%p-@m2o=M$&Qd=6Gpa>XQG+v8P z6hqMVayuv(lSQOX(U@=G9vyt?Oh|}DVWaK5O%wj>KK5WxmtvfFEl!r}X-i}U{R5mg z(-gxq(GX{ohlMx^`M@VHtGWL~l8{x7NldgS9Bap7ScZoMf{;J|d(>x-W9fU;r`H-+ zXN zDvZUA>+Gd53Ga~hq;l#_eZU9NUE>6*<^Atw83#XW#>>q5wace~PcgpX^Ztc+r6u&- z9O{?c&kwG}8kl*e=aS9=Ls)c-@)Fqq zG+SG!*$>Mt_MY})4o37%($5>du1z)3yVZzE({XgZZOhq%%>+!DMds6<66svyeachO z>-ndpZItpj3GL-t!S{l9^Y)=Y(ng|g zU-E_~y*wVXR|Wx@F(N~GvJ{aEPiiE2(*uLEV7ufmhH0_twCmU`2Mz{_kYvz~^b)9= zyenFrEcsftU{kXxH}c|gZA@>iv6pSKm&&a5t~{0b8kcqQJi;?HdN#^rG-gkQQH_Wq zG!clSht86p^9jwKAufgL*BRJOvQO~{JRnz`clfo)ng%T37X#a$P{*n(8GutJPPLOF z`K#Ja5OaOAHNCmjCe$J)RBp)iT#d$Pht4c#73~riWzJ24N<61=R>TKoURzIejXT)* zR#~5{Ctg_P1I8WK>E>)(08-VOrk43-)~{0Q^XtSfs{t+n^Z3#pH!J@P#dT^}Pf4Ci z!&1=#mplV_WRKuQhTrLO2T(98!eU!ekeov4BYgm54*lyxgp0I^3dk_tN zjJ|Z2#Uy(D%%JHr$QX=McYJ@cs_jysHYryvsfp%{(>(R{|I$!8Zud*fvEId9v zR-SmoZxSG$H{XAJQE~HhWUL+7bfZ|_Ho1!A7pd9npJO_O0=Bf0Yhe@-u~NgMk2nTHy5`h3AE z%wnhigKTvz1d@077Lg*?U8A+%e4cnC zj^|fjPITpUS3DE{SvlJcuuprg5L4lh0)K}X+*G9Rsgs8F6e}wS*#wWaXc&p|n!#lA zuGcejfqYO7-wJRM+%S|=Y$@{!n;AjBM5!D*7KQbBU0WRHTTnyOUMpM+i(hX1eMegZ zG-p<&*sKU5-kR#)7dc4Lr&T~45^V#qa*lj=Xq3-BM}mVCPF-{I!H~k~tcvK>1P|vX zUAcp#=z~6?20Q>SgP}4^<1cnP3vFM{D%Ky9h`e6`Ph`qgqVPyu1#-yzE;BKESenlh zuD5+(`NPlk0+(csPD=Usj5a?mc2s`7{Y>0wM(vyt@T^C!E3!SgD#!GzF+2a;qrLX+ z@pJ0|!@W5H@QpBStS}H2V2uyZW~XKSLV{R4&fo2{K7xRyF%at8Q>xUHt4U@C9XF=6 zeGBk1IS%>&cXjxw;Z$GTDF)zmQ=`u3@0qK;`=ays1Y40UdO^(96X8 z&=t_P@QOQx``=`Qw9bXz@HrzMX-ByS(C@#bkx9ZwAV@N&m;!vm`4|*%gHzq~vY@gs zF}8X_bTWsxf)dV5YLTzQM)05rzPs#+af3!HN9@s-NNewqTCFl@_~Zpt3+buV36RDJ z7!2S6gZQ=s!x`@gT?CW=75lHWZ5XNjUuiq_91%kGiAv7N+iE~{#uFBT9x9^sETI#N zMnMBc8&UUT+ymXTGw9)Ij+!~3ImpR+LJ%6*lX_rDm--BGcTtiVpxA}>heI7$)3lP8 zi0g!n&ahpkSd`t;y^5tY70TGK)7iA!kTGMK=3|mr7{2(yCdjB>DyUQLThiJKZ~x+L zFt0}n9wtJ``wJY4Caktf>qGfq2jn;0q`(e|=rlG22eki;mHD)R^W2oC9-StiQOYsA zXvuN%dEwS3=c6zm?!{keON+hV=4NM;(dY5E(VR+_VPBDWb)xmq9~|TDml?#2e;~pf z2||RS;gvf3PQ8OGeQ1l#!~I*^m)iJ|q!;IfSlG>BLgyA5d^<6hGrc*MLC@?3?Pi@2GwbDii+LpSsK8P7XGt%*rA4n*{n#j&c92yc|HHEz?!k z&(}tuk7f7Y5juesefWDtb|Ko7LoXR3h z-)n4w>Pmv$QPt6Koj;z3=VZ#CpBn(6xu+L4Y}ZwP&c97TC7$!i8ppqQUvwWB`4;!3 z%#_iG{q=a?5rUAh?#18j(02@vtRZ&j`tmcfD4`&`9v@mVrw~*xLiBKxw*RRc_-}AJ zUJ*$G@gz=qp&3dYS!=3mSQ47WR1r2r=lresItu<-kSk((k|=v0e`YW!Vi z_f**jVtDus8ao-bl!8oRh7g%&lw--Y`U*0)-GzG$jj1K4jW3>I5s-mWmN7Md4-J&U zgcnU!;~lK_MBKm^zm_3A4KoI)CSc2N;I zkOp3yv&MuOSCYSy=55|>UHNEl5D*^T*lbMlnBXk9&h7&kj`%xk1`&P@?I6hXx@YXK zIt3u@>ZruaK

                    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

                    &GA}c02=+az8e9U~4FZt|Ug~6WL-A;rp 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%0D5~|ZU*FtHP(D!yAJKmH`VAF^h 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 {JT> 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